aboutsummaryrefslogtreecommitdiffstats
path: root/Application
diff options
context:
space:
mode:
Diffstat (limited to 'Application')
-rw-r--r--Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/AbstractSolverLanguageIdeModule.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/PartialSolverLanguageContentAssistParser.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/SolverLanguageParser.java296
-rw-r--r--Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguage.g6573
-rw-r--r--Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguage.tokens144
-rw-r--r--Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageLexer.java2159
-rw-r--r--Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageParser.java23048
-rw-r--r--Application/org.eclipse.viatra.solver.language.tests/src-gen/org/eclipse/viatra/solver/language/tests/SolverLanguageInjectorProvider.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui.tests/META-INF/MANIFEST.MF3
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui.tests/src-gen/org/eclipse/viatra/solver/language/ui/tests/SolverLanguageUiInjectorProvider.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/META-INF/MANIFEST.MF7
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/plugin.xml_gen434
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/AbstractSolverLanguageUiModule.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/SolverLanguageExecutableExtensionFactory.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/contentassist/AbstractSolverLanguageProposalProvider.java352
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/internal/LanguageActivator.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageValidatorConfigurationBlock.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/SolverLanguageUiModule.xtend18
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticHighlightCalculator.xtend (renamed from Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/highlight/SolverSemanticHighlightCalculator.xtend)45
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticTextAttributeProvider.xtend (renamed from Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/highlight/SolverSemanticTextAttributeProvider.xtend)36
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/validation/SolverLanguageValidator.xtend25
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticHighlightCalculator.xtendbinbin0 -> 5334 bytes
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticTextAttributeProvider.xtendbinbin0 -> 4902 bytes
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.gitignore2
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticHighlightCalculator.java83
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticTextAttributeProvider.java63
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.SolverLanguageValidator.xtendbinbin0 -> 1717 bytes
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.gitignore1
-rw-r--r--Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageValidator.java15
-rw-r--r--Application/org.eclipse.viatra.solver.language/META-INF/MANIFEST.MF12
-rw-r--r--Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore302
-rw-r--r--Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel313
-rw-r--r--Application/org.eclipse.viatra.solver.language/plugin.xml_gen10
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbinbin7164 -> 11842 bytes
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguageStandaloneSetupGenerated.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageAntlrTokenFileProvider.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageParser.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g4155
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens146
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java2175
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java11459
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/scoping/AbstractSolverLanguageScopeProvider.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java1310
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java121
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java3980
-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/AllInstances.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllObjects.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-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/Polarity.java)10
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-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/PatternBody.java)22
-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/BasicInterpretation.java84
-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/BooleanFalse.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanObject.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanSymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanTrue.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanValue.java20
-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/CDInterpretation.java19
-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/ClassInterpretation.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/ComplexObject.java20
-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/Constraint.java109
-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/DataObject.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataSymbol.java19
-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/DefaultInterpretation.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java38
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumInterpretation.java61
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EqualsSymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExistSymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-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/Error.java)10
-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/False.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FieldRelationInterpretation.java117
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/GlobalRelationInterpretation.java162
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java93
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntegerSymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IrreflexiveClosure.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java5
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntObject.java)25
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java271
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java140
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java96
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricType.java225
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClosureType.java)10
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MultiplicityDefinition.java94
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ModelSymbol.java)17
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Negative.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealObject.java)16
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Object.java19
-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/Parameter.java71
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PartialitySymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Positive.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java97
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java116
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealSymbol.java19
-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/ReflexiveClosure.java19
-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.java320
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java4046
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-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/StringSymbol.java)10
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java81
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringObject.java)16
-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/Symbol.java20
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/True.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TruthValue.java20
-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/Unknown.java19
-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/UnnamedObject.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java343
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PolarityImpl.java)14
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PatternBodyImpl.java)54
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ParameterImpl.java)130
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BasicInterpretationImpl.java318
-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/BooleanSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanTrueImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanValueImpl.java43
-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/CDInterpretationImpl.java41
-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/ClassInterpretationImpl.java356
-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/ComplexObjectImpl.java43
-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/ConstraintImpl.java393
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllInstancesImpl.java)72
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataObjectImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java270
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java167
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnknownImpl.java)14
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumInterpretationImpl.java244
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EqualsSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ErrorImpl.java40
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ModelSymbolImpl.java)60
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExistSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanObjectImpl.java)72
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-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/NegativeImpl.java)14
-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.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultInterpretationImpl.java)72
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FalseImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldRelationInterpretationImpl.java418
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/GlobalRelationInterpretationImpl.java563
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java342
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllObjectsImpl.java)14
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntegerSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java269
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IrreflexiveClosureImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java6
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntObjectImpl.java)41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanFalseImpl.java)14
-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/MultiplicityDefinitionImpl.java296
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-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/ClosureTypeImpl.java)14
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedObjectImpl.java)27
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealObjectImpl.java)26
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectImpl.java40
-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/PartialitySymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PositiveImpl.java41
-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/PredicateImpl.java357
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealSymbolImpl.java41
-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/ReflexiveClosureImpl.java41
-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.java574
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java1465
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-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/StringSymbolImpl.java)14
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java300
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java (renamed from Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringObjectImpl.java)26
-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/SymbolImpl.java43
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TrueImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TruthValueImpl.java43
-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/impl/UnnamedObjectImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java614
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java856
-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-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageConfigurableIssueCodesProvider.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext368
-rw-r--r--Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/validation/SolverLanguageValidator.xtend2
226 files changed, 58858 insertions, 24776 deletions
diff --git a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/AbstractSolverLanguageIdeModule.java b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/AbstractSolverLanguageIdeModule.java
index 2962a81a..71f91821 100644
--- a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/AbstractSolverLanguageIdeModule.java
+++ b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/AbstractSolverLanguageIdeModule.java
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.ide; 4package org.eclipse.viatra.solver.language.ide;
5 5
diff --git a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/PartialSolverLanguageContentAssistParser.java b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/PartialSolverLanguageContentAssistParser.java
index ee6e19b9..2d8e8dcb 100644
--- a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/PartialSolverLanguageContentAssistParser.java
+++ b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/PartialSolverLanguageContentAssistParser.java
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.ide.contentassist.antlr; 4package org.eclipse.viatra.solver.language.ide.contentassist.antlr;
5 5
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 7f135fb2..fa130139 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
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.ide.contentassist.antlr; 4package org.eclipse.viatra.solver.language.ide.contentassist.antlr;
5 5
@@ -31,120 +31,190 @@ public class SolverLanguageParser extends AbstractContentAssistParser {
31 } 31 }
32 32
33 private static void init(ImmutableMap.Builder<AbstractElement, String> builder, SolverLanguageGrammarAccess grammarAccess) { 33 private static void init(ImmutableMap.Builder<AbstractElement, String> builder, SolverLanguageGrammarAccess grammarAccess) {
34 builder.put(grammarAccess.getStatementAccess().getAlternatives(), "rule__Statement__Alternatives"); 34 builder.put(grammarAccess.getStatementAccess().getAlternatives_0(), "rule__Statement__Alternatives_0");
35 builder.put(grammarAccess.getBooleanValueAccess().getAlternatives(), "rule__BooleanValue__Alternatives"); 35 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1(), "rule__AssertionOrDefinition__Alternatives_1");
36 builder.put(grammarAccess.getTruthValueAccess().getAlternatives(), "rule__TruthValue__Alternatives"); 36 builder.put(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0(), "rule__PredicateDefinition__Alternatives_0");
37 builder.put(grammarAccess.getInterpretationAccess().getAlternatives(), "rule__Interpretation__Alternatives"); 37 builder.put(grammarAccess.getExpressionAccess().getAlternatives(), "rule__Expression__Alternatives");
38 builder.put(grammarAccess.getSymbolAccess().getAlternatives(), "rule__Symbol__Alternatives"); 38 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getAlternatives_1(), "rule__DisjunctiveExpression__Alternatives_1");
39 builder.put(grammarAccess.getPartialitySymbolAccess().getAlternatives(), "rule__PartialitySymbol__Alternatives"); 39 builder.put(grammarAccess.getUnaryExpressionAccess().getAlternatives(), "rule__UnaryExpression__Alternatives");
40 builder.put(grammarAccess.getDataSymbolAccess().getAlternatives(), "rule__DataSymbol__Alternatives"); 40 builder.put(grammarAccess.getAggregationExpressionAccess().getAlternatives(), "rule__AggregationExpression__Alternatives");
41 builder.put(grammarAccess.getComplexObjectAccess().getAlternatives(), "rule__ComplexObject__Alternatives"); 41 builder.put(grammarAccess.getAtomicExpressionAccess().getAlternatives(), "rule__AtomicExpression__Alternatives");
42 builder.put(grammarAccess.getObjectAccess().getAlternatives(), "rule__Object__Alternatives"); 42 builder.put(grammarAccess.getCallAccess().getAlternatives_1(), "rule__Call__Alternatives_1");
43 builder.put(grammarAccess.getDataObjectAccess().getAlternatives(), "rule__DataObject__Alternatives"); 43 builder.put(grammarAccess.getArgumentAccess().getAlternatives(), "rule__Argument__Alternatives");
44 builder.put(grammarAccess.getPredicateAccess().getAlternatives_4(), "rule__Predicate__Alternatives_4");
45 builder.put(grammarAccess.getPatternBodyAccess().getAlternatives_1(), "rule__PatternBody__Alternatives_1");
46 builder.put(grammarAccess.getPolarityAccess().getAlternatives(), "rule__Polarity__Alternatives");
47 builder.put(grammarAccess.getConstraintAccess().getAlternatives(), "rule__Constraint__Alternatives");
48 builder.put(grammarAccess.getClosureTypeAccess().getAlternatives(), "rule__ClosureType__Alternatives");
49 builder.put(grammarAccess.getLiteralAccess().getAlternatives(), "rule__Literal__Alternatives"); 44 builder.put(grammarAccess.getLiteralAccess().getAlternatives(), "rule__Literal__Alternatives");
50 builder.put(grammarAccess.getCDInterpretationAccess().getAlternatives(), "rule__CDInterpretation__Alternatives"); 45 builder.put(grammarAccess.getMultiplicityAccess().getAlternatives(), "rule__Multiplicity__Alternatives");
51 builder.put(grammarAccess.getMultiplicityDefinitionAccess().getAlternatives_2(), "rule__MultiplicityDefinition__Alternatives_2"); 46 builder.put(grammarAccess.getScopeDefinitionAccess().getAlternatives(), "rule__ScopeDefinition__Alternatives");
52 builder.put(grammarAccess.getREALLiteralAccess().getGroup(), "rule__REALLiteral__Group__0"); 47 builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getAlternatives_1(), "rule__BoundedScopeDefinition__Alternatives_1");
53 builder.put(grammarAccess.getINTLiteralAccess().getGroup(), "rule__INTLiteral__Group__0"); 48 builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getAlternatives_1(), "rule__LowerBoundedScopeDefinition__Alternatives_1");
54 builder.put(grammarAccess.getBooleanValueAccess().getGroup_0(), "rule__BooleanValue__Group_0__0"); 49 builder.put(grammarAccess.getUpperMultiplictyAccess().getAlternatives(), "rule__UpperMultiplicty__Alternatives");
55 builder.put(grammarAccess.getBooleanValueAccess().getGroup_1(), "rule__BooleanValue__Group_1__0"); 50 builder.put(grammarAccess.getQualifiedNameAccess().getAlternatives(), "rule__QualifiedName__Alternatives");
56 builder.put(grammarAccess.getTruthValueAccess().getGroup_0(), "rule__TruthValue__Group_0__0"); 51 builder.put(grammarAccess.getMetricTypeAccess().getAlternatives(), "rule__MetricType__Alternatives");
57 builder.put(grammarAccess.getTruthValueAccess().getGroup_1(), "rule__TruthValue__Group_1__0"); 52 builder.put(grammarAccess.getBinaryOperatorAccess().getAlternatives(), "rule__BinaryOperator__Alternatives");
58 builder.put(grammarAccess.getTruthValueAccess().getGroup_2(), "rule__TruthValue__Group_2__0"); 53 builder.put(grammarAccess.getComparisonOperatorAccess().getAlternatives(), "rule__ComparisonOperator__Alternatives");
59 builder.put(grammarAccess.getTruthValueAccess().getGroup_3(), "rule__TruthValue__Group_3__0"); 54 builder.put(grammarAccess.getAdditiveBinaryOperatorAccess().getAlternatives(), "rule__AdditiveBinaryOperator__Alternatives");
60 builder.put(grammarAccess.getBasicInterpretationAccess().getGroup(), "rule__BasicInterpretation__Group__0"); 55 builder.put(grammarAccess.getMultiplicativeBinaryOperatorAccess().getAlternatives(), "rule__MultiplicativeBinaryOperator__Alternatives");
61 builder.put(grammarAccess.getBasicInterpretationAccess().getGroup_1(), "rule__BasicInterpretation__Group_1__0"); 56 builder.put(grammarAccess.getUnaryOpAccess().getAlternatives(), "rule__UnaryOp__Alternatives");
62 builder.put(grammarAccess.getBasicInterpretationAccess().getGroup_1_1(), "rule__BasicInterpretation__Group_1_1__0"); 57 builder.put(grammarAccess.getAggregationOpAccess().getAlternatives(), "rule__AggregationOp__Alternatives");
63 builder.put(grammarAccess.getBasicInterpretationAccess().getGroup_1_1_1(), "rule__BasicInterpretation__Group_1_1_1__0"); 58 builder.put(grammarAccess.getLogicValueAccess().getAlternatives(), "rule__LogicValue__Alternatives");
64 builder.put(grammarAccess.getExistSymbolAccess().getGroup(), "rule__ExistSymbol__Group__0"); 59 builder.put(grammarAccess.getObjectiveKindAccess().getAlternatives(), "rule__ObjectiveKind__Alternatives");
65 builder.put(grammarAccess.getEqualsSymbolAccess().getGroup(), "rule__EqualsSymbol__Group__0"); 60 builder.put(grammarAccess.getStatementAccess().getGroup(), "rule__Statement__Group__0");
66 builder.put(grammarAccess.getBooleanSymbolAccess().getGroup(), "rule__BooleanSymbol__Group__0"); 61 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup(), "rule__AssertionOrDefinition__Group__0");
67 builder.put(grammarAccess.getIntegerSymbolAccess().getGroup(), "rule__IntegerSymbol__Group__0"); 62 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0(), "rule__AssertionOrDefinition__Group_1_0__0");
68 builder.put(grammarAccess.getRealSymbolAccess().getGroup(), "rule__RealSymbol__Group__0"); 63 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0_1(), "rule__AssertionOrDefinition__Group_1_0_1__0");
69 builder.put(grammarAccess.getStringSymbolAccess().getGroup(), "rule__StringSymbol__Group__0"); 64 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_1(), "rule__AssertionOrDefinition__Group_1_1__0");
70 builder.put(grammarAccess.getNamedObjectAccess().getGroup(), "rule__NamedObject__Group__0"); 65 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_2(), "rule__AssertionOrDefinition__Group_1_2__0");
71 builder.put(grammarAccess.getPredicateAccess().getGroup(), "rule__Predicate__Group__0"); 66 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup(), "rule__PredicateDefinition__Group__0");
72 builder.put(grammarAccess.getPredicateAccess().getGroup_2(), "rule__Predicate__Group_2__0"); 67 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0(), "rule__PredicateDefinition__Group_0_0__0");
73 builder.put(grammarAccess.getPredicateAccess().getGroup_2_1(), "rule__Predicate__Group_2_1__0"); 68 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup_0_1(), "rule__PredicateDefinition__Group_0_1__0");
74 builder.put(grammarAccess.getPredicateAccess().getGroup_2_1_1(), "rule__Predicate__Group_2_1_1__0"); 69 builder.put(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getGroup(), "rule__UnnamedErrorPrediateDefinition__Group__0");
75 builder.put(grammarAccess.getPredicateAccess().getGroup_4_1(), "rule__Predicate__Group_4_1__0"); 70 builder.put(grammarAccess.getDefaultDefinitionAccess().getGroup(), "rule__DefaultDefinition__Group__0");
76 builder.put(grammarAccess.getPredicateAccess().getGroup_4_1_1(), "rule__Predicate__Group_4_1_1__0"); 71 builder.put(grammarAccess.getExternPredicateDefinitionAccess().getGroup(), "rule__ExternPredicateDefinition__Group__0");
77 builder.put(grammarAccess.getParameterAccess().getGroup(), "rule__Parameter__Group__0"); 72 builder.put(grammarAccess.getMetricDefinitionAccess().getGroup(), "rule__MetricDefinition__Group__0");
78 builder.put(grammarAccess.getParameterAccess().getGroup_1(), "rule__Parameter__Group_1__0"); 73 builder.put(grammarAccess.getExternMetricDefinitionAccess().getGroup(), "rule__ExternMetricDefinition__Group__0");
79 builder.put(grammarAccess.getPatternBodyAccess().getGroup(), "rule__PatternBody__Group__0"); 74 builder.put(grammarAccess.getIfElseAccess().getGroup(), "rule__IfElse__Group__0");
80 builder.put(grammarAccess.getPolarityAccess().getGroup_0(), "rule__Polarity__Group_0__0"); 75 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup(), "rule__DisjunctiveExpression__Group__0");
81 builder.put(grammarAccess.getPolarityAccess().getGroup_1(), "rule__Polarity__Group_1__0"); 76 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0(), "rule__DisjunctiveExpression__Group_1_0__0");
82 builder.put(grammarAccess.getConstraintAccess().getGroup_0(), "rule__Constraint__Group_0__0"); 77 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1(), "rule__DisjunctiveExpression__Group_1_0_1__0");
83 builder.put(grammarAccess.getConstraintAccess().getGroup_0_2(), "rule__Constraint__Group_0_2__0"); 78 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1(), "rule__DisjunctiveExpression__Group_1_1__0");
84 builder.put(grammarAccess.getConstraintAccess().getGroup_0_2_2(), "rule__Constraint__Group_0_2_2__0"); 79 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1_4(), "rule__DisjunctiveExpression__Group_1_1_4__0");
85 builder.put(grammarAccess.getConstraintAccess().getGroup_1(), "rule__Constraint__Group_1__0"); 80 builder.put(grammarAccess.getCaseAccess().getGroup(), "rule__Case__Group__0");
86 builder.put(grammarAccess.getConstraintAccess().getGroup_1_3(), "rule__Constraint__Group_1_3__0"); 81 builder.put(grammarAccess.getConjunctiveExpressionAccess().getGroup(), "rule__ConjunctiveExpression__Group__0");
87 builder.put(grammarAccess.getClosureTypeAccess().getGroup_0(), "rule__ClosureType__Group_0__0"); 82 builder.put(grammarAccess.getConjunctiveExpressionAccess().getGroup_1(), "rule__ConjunctiveExpression__Group_1__0");
88 builder.put(grammarAccess.getClosureTypeAccess().getGroup_1(), "rule__ClosureType__Group_1__0"); 83 builder.put(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1(), "rule__ConjunctiveExpression__Group_1_1__0");
89 builder.put(grammarAccess.getAllInstancesAccess().getGroup(), "rule__AllInstances__Group__0"); 84 builder.put(grammarAccess.getComparisonExpressionAccess().getGroup(), "rule__ComparisonExpression__Group__0");
90 builder.put(grammarAccess.getAllObjectsAccess().getGroup(), "rule__AllObjects__Group__0"); 85 builder.put(grammarAccess.getComparisonExpressionAccess().getGroup_1(), "rule__ComparisonExpression__Group_1__0");
91 builder.put(grammarAccess.getDefaultInterpretationAccess().getGroup(), "rule__DefaultInterpretation__Group__0"); 86 builder.put(grammarAccess.getAdditiveExpressionAccess().getGroup(), "rule__AdditiveExpression__Group__0");
92 builder.put(grammarAccess.getClassInterpretationAccess().getGroup(), "rule__ClassInterpretation__Group__0"); 87 builder.put(grammarAccess.getAdditiveExpressionAccess().getGroup_1(), "rule__AdditiveExpression__Group_1__0");
93 builder.put(grammarAccess.getClassInterpretationAccess().getGroup_3(), "rule__ClassInterpretation__Group_3__0"); 88 builder.put(grammarAccess.getMultiplicativeExpressionAccess().getGroup(), "rule__MultiplicativeExpression__Group__0");
94 builder.put(grammarAccess.getEnumInterpretationAccess().getGroup(), "rule__EnumInterpretation__Group__0"); 89 builder.put(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1(), "rule__MultiplicativeExpression__Group_1__0");
95 builder.put(grammarAccess.getFieldRelationInterpretationAccess().getGroup(), "rule__FieldRelationInterpretation__Group__0"); 90 builder.put(grammarAccess.getExponentialExpressionAccess().getGroup(), "rule__ExponentialExpression__Group__0");
96 builder.put(grammarAccess.getGlobalRelationInterpretationAccess().getGroup(), "rule__GlobalRelationInterpretation__Group__0"); 91 builder.put(grammarAccess.getExponentialExpressionAccess().getGroup_1(), "rule__ExponentialExpression__Group_1__0");
97 builder.put(grammarAccess.getMultiplicityDefinitionAccess().getGroup(), "rule__MultiplicityDefinition__Group__0"); 92 builder.put(grammarAccess.getUnaryExpressionAccess().getGroup_1(), "rule__UnaryExpression__Group_1__0");
93 builder.put(grammarAccess.getCountAccess().getGroup(), "rule__Count__Group__0");
94 builder.put(grammarAccess.getAggregationAccess().getGroup(), "rule__Aggregation__Group__0");
95 builder.put(grammarAccess.getAtomicExpressionAccess().getGroup_0(), "rule__AtomicExpression__Group_0__0");
96 builder.put(grammarAccess.getAtomicExpressionAccess().getGroup_0_1(), "rule__AtomicExpression__Group_0_1__0");
97 builder.put(grammarAccess.getAtomicExpressionAccess().getGroup_3(), "rule__AtomicExpression__Group_3__0");
98 builder.put(grammarAccess.getCallAccess().getGroup(), "rule__Call__Group__0");
99 builder.put(grammarAccess.getArgumentListAccess().getGroup(), "rule__ArgumentList__Group__0");
100 builder.put(grammarAccess.getArgumentListAccess().getGroup_2(), "rule__ArgumentList__Group_2__0");
101 builder.put(grammarAccess.getArgumentListAccess().getGroup_2_1(), "rule__ArgumentList__Group_2_1__0");
102 builder.put(grammarAccess.getStarArgumentAccess().getGroup(), "rule__StarArgument__Group__0");
103 builder.put(grammarAccess.getTypedArgumentAccess().getGroup(), "rule__TypedArgument__Group__0");
104 builder.put(grammarAccess.getTypedStarArgumentAccess().getGroup(), "rule__TypedStarArgument__Group__0");
105 builder.put(grammarAccess.getIntervalAccess().getGroup(), "rule__Interval__Group__0");
106 builder.put(grammarAccess.getInfinityLiteralAccess().getGroup(), "rule__InfinityLiteral__Group__0");
107 builder.put(grammarAccess.getEmptyIntervalLiteralAccess().getGroup(), "rule__EmptyIntervalLiteral__Group__0");
108 builder.put(grammarAccess.getClassDefinitionAccess().getGroup(), "rule__ClassDefinition__Group__0");
109 builder.put(grammarAccess.getClassDefinitionAccess().getGroup_3(), "rule__ClassDefinition__Group_3__0");
110 builder.put(grammarAccess.getClassDefinitionAccess().getGroup_3_2(), "rule__ClassDefinition__Group_3_2__0");
111 builder.put(grammarAccess.getMemberDefinitionAccess().getGroup(), "rule__MemberDefinition__Group__0");
112 builder.put(grammarAccess.getMemberDefinitionAccess().getGroup_4(), "rule__MemberDefinition__Group_4__0");
113 builder.put(grammarAccess.getManyMultiplicityAccess().getGroup(), "rule__ManyMultiplicity__Group__0");
114 builder.put(grammarAccess.getExactMultiplicityAccess().getGroup(), "rule__ExactMultiplicity__Group__0");
115 builder.put(grammarAccess.getBoundedMultiplicityAccess().getGroup(), "rule__BoundedMultiplicity__Group__0");
116 builder.put(grammarAccess.getExactScopeDefinitionAccess().getGroup(), "rule__ExactScopeDefinition__Group__0");
117 builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getGroup(), "rule__BoundedScopeDefinition__Group__0");
118 builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0(), "rule__BoundedScopeDefinition__Group_1_0__0");
119 builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0_0(), "rule__BoundedScopeDefinition__Group_1_0_0__0");
120 builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1(), "rule__BoundedScopeDefinition__Group_1_1__0");
121 builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1_3(), "rule__BoundedScopeDefinition__Group_1_1_3__0");
122 builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup(), "rule__LowerBoundedScopeDefinition__Group__0");
123 builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_0(), "rule__LowerBoundedScopeDefinition__Group_1_0__0");
124 builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_1(), "rule__LowerBoundedScopeDefinition__Group_1_1__0");
125 builder.put(grammarAccess.getObjectiveDefinitionAccess().getGroup(), "rule__ObjectiveDefinition__Group__0");
126 builder.put(grammarAccess.getRealAccess().getGroup(), "rule__Real__Group__0");
127 builder.put(grammarAccess.getRealAccess().getGroup_1(), "rule__Real__Group_1__0");
128 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");
98 builder.put(grammarAccess.getProblemAccess().getStatementsAssignment(), "rule__Problem__StatementsAssignment"); 130 builder.put(grammarAccess.getProblemAccess().getStatementsAssignment(), "rule__Problem__StatementsAssignment");
99 builder.put(grammarAccess.getBasicInterpretationAccess().getSymbolAssignment_0(), "rule__BasicInterpretation__SymbolAssignment_0"); 131 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_1_1(), "rule__AssertionOrDefinition__RangeAssignment_1_0_1_1");
100 builder.put(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_0(), "rule__BasicInterpretation__ObjectsAssignment_1_1_0"); 132 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_1_2(), "rule__AssertionOrDefinition__BodyAssignment_1_1_2");
101 builder.put(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_1_1(), "rule__BasicInterpretation__ObjectsAssignment_1_1_1_1"); 133 builder.put(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_2_2(), "rule__AssertionOrDefinition__BodyAssignment_1_2_2");
102 builder.put(grammarAccess.getBasicInterpretationAccess().getValueAssignment_3(), "rule__BasicInterpretation__ValueAssignment_3"); 134 builder.put(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_0_0(), "rule__PredicateDefinition__FunctionalAssignment_0_0_0");
103 builder.put(grammarAccess.getModelSymbolAccess().getNameAssignment(), "rule__ModelSymbol__NameAssignment"); 135 builder.put(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_1(), "rule__PredicateDefinition__ErrorAssignment_0_0_1");
104 builder.put(grammarAccess.getNamedObjectAccess().getNameAssignment_1(), "rule__NamedObject__NameAssignment_1"); 136 builder.put(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_1_0(), "rule__PredicateDefinition__ErrorAssignment_0_1_0");
105 builder.put(grammarAccess.getUnnamedObjectAccess().getNameAssignment(), "rule__UnnamedObject__NameAssignment"); 137 builder.put(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_1_1(), "rule__PredicateDefinition__FunctionalAssignment_0_1_1");
106 builder.put(grammarAccess.getBooleanObjectAccess().getValueAssignment(), "rule__BooleanObject__ValueAssignment"); 138 builder.put(grammarAccess.getPredicateDefinitionAccess().getHeadAssignment_1(), "rule__PredicateDefinition__HeadAssignment_1");
107 builder.put(grammarAccess.getIntObjectAccess().getValueAssignment(), "rule__IntObject__ValueAssignment"); 139 builder.put(grammarAccess.getPredicateDefinitionAccess().getBodyAssignment_3(), "rule__PredicateDefinition__BodyAssignment_3");
108 builder.put(grammarAccess.getRealObjectAccess().getValueAssignment(), "rule__RealObject__ValueAssignment"); 140 builder.put(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListAssignment_1(), "rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1");
109 builder.put(grammarAccess.getStringObjectAccess().getValueAssignment(), "rule__StringObject__ValueAssignment"); 141 builder.put(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyAssignment_3(), "rule__UnnamedErrorPrediateDefinition__BodyAssignment_3");
110 builder.put(grammarAccess.getPredicateAccess().getIsErrorAssignment_0(), "rule__Predicate__IsErrorAssignment_0"); 142 builder.put(grammarAccess.getDefaultDefinitionAccess().getHeadAssignment_1(), "rule__DefaultDefinition__HeadAssignment_1");
111 builder.put(grammarAccess.getPredicateAccess().getSymbolAssignment_1(), "rule__Predicate__SymbolAssignment_1"); 143 builder.put(grammarAccess.getDefaultDefinitionAccess().getRangeAssignment_3(), "rule__DefaultDefinition__RangeAssignment_3");
112 builder.put(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_0(), "rule__Predicate__ParametersAssignment_2_1_0"); 144 builder.put(grammarAccess.getExternPredicateDefinitionAccess().getHeadAssignment_1(), "rule__ExternPredicateDefinition__HeadAssignment_1");
113 builder.put(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_1_1(), "rule__Predicate__ParametersAssignment_2_1_1_1"); 145 builder.put(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0(), "rule__MetricDefinition__TypeAssignment_0");
114 builder.put(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_0(), "rule__Predicate__BodiesAssignment_4_1_0"); 146 builder.put(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1(), "rule__MetricDefinition__HeadAssignment_1");
115 builder.put(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_1_1(), "rule__Predicate__BodiesAssignment_4_1_1_1"); 147 builder.put(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3(), "rule__MetricDefinition__BodyAssignment_3");
116 builder.put(grammarAccess.getParameterAccess().getVariableAssignment_0(), "rule__Parameter__VariableAssignment_0"); 148 builder.put(grammarAccess.getExternMetricDefinitionAccess().getTypeAssignment_1(), "rule__ExternMetricDefinition__TypeAssignment_1");
117 builder.put(grammarAccess.getParameterAccess().getTypeAssignment_1_1(), "rule__Parameter__TypeAssignment_1_1"); 149 builder.put(grammarAccess.getExternMetricDefinitionAccess().getHeadAssignment_2(), "rule__ExternMetricDefinition__HeadAssignment_2");
118 builder.put(grammarAccess.getPatternBodyAccess().getConstraintsAssignment_1_1(), "rule__PatternBody__ConstraintsAssignment_1_1"); 150 builder.put(grammarAccess.getIfElseAccess().getConditionAssignment_1(), "rule__IfElse__ConditionAssignment_1");
119 builder.put(grammarAccess.getConstraintAccess().getPolarityAssignment_0_0(), "rule__Constraint__PolarityAssignment_0_0"); 151 builder.put(grammarAccess.getIfElseAccess().getThenAssignment_3(), "rule__IfElse__ThenAssignment_3");
120 builder.put(grammarAccess.getConstraintAccess().getSymbolAssignment_0_1(), "rule__Constraint__SymbolAssignment_0_1"); 152 builder.put(grammarAccess.getIfElseAccess().getElseAssignment_5(), "rule__IfElse__ElseAssignment_5");
121 builder.put(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_1(), "rule__Constraint__ParamsAssignment_0_2_1"); 153 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getChildrenAssignment_1_0_1_1(), "rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1");
122 builder.put(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_2_1(), "rule__Constraint__ParamsAssignment_0_2_2_1"); 154 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getBodyAssignment_1_1_2(), "rule__DisjunctiveExpression__BodyAssignment_1_1_2");
123 builder.put(grammarAccess.getConstraintAccess().getClosureTypeAssignment_1_0(), "rule__Constraint__ClosureTypeAssignment_1_0"); 155 builder.put(grammarAccess.getDisjunctiveExpressionAccess().getCasesAssignment_1_1_4_1(), "rule__DisjunctiveExpression__CasesAssignment_1_1_4_1");
124 builder.put(grammarAccess.getConstraintAccess().getParamsAssignment_1_2(), "rule__Constraint__ParamsAssignment_1_2"); 156 builder.put(grammarAccess.getCaseAccess().getConditionAssignment_0(), "rule__Case__ConditionAssignment_0");
125 builder.put(grammarAccess.getConstraintAccess().getParamsAssignment_1_3_1(), "rule__Constraint__ParamsAssignment_1_3_1"); 157 builder.put(grammarAccess.getCaseAccess().getBodyAssignment_2(), "rule__Case__BodyAssignment_2");
126 builder.put(grammarAccess.getVariableAccess().getNameAssignment(), "rule__Variable__NameAssignment"); 158 builder.put(grammarAccess.getConjunctiveExpressionAccess().getChildrenAssignment_1_1_1(), "rule__ConjunctiveExpression__ChildrenAssignment_1_1_1");
127 builder.put(grammarAccess.getAllInstancesAccess().getSymbolAssignment_1(), "rule__AllInstances__SymbolAssignment_1"); 159 builder.put(grammarAccess.getComparisonExpressionAccess().getOpAssignment_1_1(), "rule__ComparisonExpression__OpAssignment_1_1");
128 builder.put(grammarAccess.getDefaultInterpretationAccess().getInterpretationAssignment_1(), "rule__DefaultInterpretation__InterpretationAssignment_1"); 160 builder.put(grammarAccess.getComparisonExpressionAccess().getRightAssignment_1_2(), "rule__ComparisonExpression__RightAssignment_1_2");
129 builder.put(grammarAccess.getClassInterpretationAccess().getAbstractAssignment_0(), "rule__ClassInterpretation__AbstractAssignment_0"); 161 builder.put(grammarAccess.getAdditiveExpressionAccess().getOpAssignment_1_1(), "rule__AdditiveExpression__OpAssignment_1_1");
130 builder.put(grammarAccess.getClassInterpretationAccess().getSymbolAssignment_2(), "rule__ClassInterpretation__SymbolAssignment_2"); 162 builder.put(grammarAccess.getAdditiveExpressionAccess().getRightAssignment_1_2(), "rule__AdditiveExpression__RightAssignment_1_2");
131 builder.put(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1(), "rule__ClassInterpretation__SupertypesAssignment_3_1"); 163 builder.put(grammarAccess.getMultiplicativeExpressionAccess().getOpAssignment_1_1(), "rule__MultiplicativeExpression__OpAssignment_1_1");
132 builder.put(grammarAccess.getClassInterpretationAccess().getFieltAssignment_5(), "rule__ClassInterpretation__FieltAssignment_5"); 164 builder.put(grammarAccess.getMultiplicativeExpressionAccess().getRightAssignment_1_2(), "rule__MultiplicativeExpression__RightAssignment_1_2");
133 builder.put(grammarAccess.getEnumInterpretationAccess().getSymbolAssignment_1(), "rule__EnumInterpretation__SymbolAssignment_1"); 165 builder.put(grammarAccess.getExponentialExpressionAccess().getOpAssignment_1_1(), "rule__ExponentialExpression__OpAssignment_1_1");
134 builder.put(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3(), "rule__EnumInterpretation__ObjectsAssignment_3"); 166 builder.put(grammarAccess.getExponentialExpressionAccess().getRightAssignment_1_2(), "rule__ExponentialExpression__RightAssignment_1_2");
135 builder.put(grammarAccess.getFieldRelationInterpretationAccess().getContainmentAssignment_0(), "rule__FieldRelationInterpretation__ContainmentAssignment_0"); 167 builder.put(grammarAccess.getUnaryExpressionAccess().getOpAssignment_1_1(), "rule__UnaryExpression__OpAssignment_1_1");
136 builder.put(grammarAccess.getFieldRelationInterpretationAccess().getSymbolAssignment_1(), "rule__FieldRelationInterpretation__SymbolAssignment_1"); 168 builder.put(grammarAccess.getUnaryExpressionAccess().getBodyAssignment_1_2(), "rule__UnaryExpression__BodyAssignment_1_2");
137 builder.put(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityAssignment_3(), "rule__FieldRelationInterpretation__MultiplicityAssignment_3"); 169 builder.put(grammarAccess.getCountAccess().getBodyAssignment_2(), "rule__Count__BodyAssignment_2");
138 builder.put(grammarAccess.getFieldRelationInterpretationAccess().getTargetAssignment_4(), "rule__FieldRelationInterpretation__TargetAssignment_4"); 170 builder.put(grammarAccess.getAggregationAccess().getOpAssignment_0(), "rule__Aggregation__OpAssignment_0");
139 builder.put(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentAssignment_0(), "rule__GlobalRelationInterpretation__ContainmentAssignment_0"); 171 builder.put(grammarAccess.getAggregationAccess().getBodyAssignment_2(), "rule__Aggregation__BodyAssignment_2");
140 builder.put(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolAssignment_2(), "rule__GlobalRelationInterpretation__SymbolAssignment_2"); 172 builder.put(grammarAccess.getAggregationAccess().getConditionAssignment_4(), "rule__Aggregation__ConditionAssignment_4");
141 builder.put(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityAssignment_4(), "rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4"); 173 builder.put(grammarAccess.getAtomicExpressionAccess().getArgumentListAssignment_0_1_1(), "rule__AtomicExpression__ArgumentListAssignment_0_1_1");
142 builder.put(grammarAccess.getGlobalRelationInterpretationAccess().getSourceAssignment_5(), "rule__GlobalRelationInterpretation__SourceAssignment_5"); 174 builder.put(grammarAccess.getCallAccess().getFunctorAssignment_0(), "rule__Call__FunctorAssignment_0");
143 builder.put(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityAssignment_6(), "rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6"); 175 builder.put(grammarAccess.getCallAccess().getTransitiveClosureAssignment_1_0(), "rule__Call__TransitiveClosureAssignment_1_0");
144 builder.put(grammarAccess.getGlobalRelationInterpretationAccess().getTargetAssignment_7(), "rule__GlobalRelationInterpretation__TargetAssignment_7"); 176 builder.put(grammarAccess.getCallAccess().getReflexiveTransitiveClosureAssignment_1_1(), "rule__Call__ReflexiveTransitiveClosureAssignment_1_1");
145 builder.put(grammarAccess.getMultiplicityDefinitionAccess().getLowerAssignment_0(), "rule__MultiplicityDefinition__LowerAssignment_0"); 177 builder.put(grammarAccess.getCallAccess().getArgumentListAssignment_2(), "rule__Call__ArgumentListAssignment_2");
146 builder.put(grammarAccess.getMultiplicityDefinitionAccess().getUpperAssignment_2_0(), "rule__MultiplicityDefinition__UpperAssignment_2_0"); 178 builder.put(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_0(), "rule__ArgumentList__ArgumentsAssignment_2_0");
147 builder.put(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAssignment_2_1(), "rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1"); 179 builder.put(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_1_1(), "rule__ArgumentList__ArgumentsAssignment_2_1_1");
180 builder.put(grammarAccess.getExpressionArgumentAccess().getBodyAssignment(), "rule__ExpressionArgument__BodyAssignment");
181 builder.put(grammarAccess.getTypedArgumentAccess().getTypeAssignment_0(), "rule__TypedArgument__TypeAssignment_0");
182 builder.put(grammarAccess.getTypedArgumentAccess().getVariableAssignment_1(), "rule__TypedArgument__VariableAssignment_1");
183 builder.put(grammarAccess.getTypedStarArgumentAccess().getTypeAssignment_0(), "rule__TypedStarArgument__TypeAssignment_0");
184 builder.put(grammarAccess.getReferenceAccess().getReferredAssignment(), "rule__Reference__ReferredAssignment");
185 builder.put(grammarAccess.getIntervalAccess().getLowerBoundAssignment_1(), "rule__Interval__LowerBoundAssignment_1");
186 builder.put(grammarAccess.getIntervalAccess().getUpperBoundAssignment_3(), "rule__Interval__UpperBoundAssignment_3");
187 builder.put(grammarAccess.getLogicLiteralAccess().getValueAssignment(), "rule__LogicLiteral__ValueAssignment");
188 builder.put(grammarAccess.getNumericLiteralAccess().getValueAssignment(), "rule__NumericLiteral__ValueAssignment");
189 builder.put(grammarAccess.getStringLiteralAccess().getValueAssignment(), "rule__StringLiteral__ValueAssignment");
190 builder.put(grammarAccess.getClassDefinitionAccess().getAbstractAssignment_0(), "rule__ClassDefinition__AbstractAssignment_0");
191 builder.put(grammarAccess.getClassDefinitionAccess().getNameAssignment_2(), "rule__ClassDefinition__NameAssignment_2");
192 builder.put(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_1(), "rule__ClassDefinition__SuperclassesAssignment_3_1");
193 builder.put(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_2_1(), "rule__ClassDefinition__SuperclassesAssignment_3_2_1");
194 builder.put(grammarAccess.getClassDefinitionAccess().getMembersAssignment_5(), "rule__ClassDefinition__MembersAssignment_5");
195 builder.put(grammarAccess.getMemberDefinitionAccess().getContainmentAssignment_0(), "rule__MemberDefinition__ContainmentAssignment_0");
196 builder.put(grammarAccess.getMemberDefinitionAccess().getTypeAssignment_1(), "rule__MemberDefinition__TypeAssignment_1");
197 builder.put(grammarAccess.getMemberDefinitionAccess().getMultiplicityAssignment_2(), "rule__MemberDefinition__MultiplicityAssignment_2");
198 builder.put(grammarAccess.getMemberDefinitionAccess().getNameAssignment_3(), "rule__MemberDefinition__NameAssignment_3");
199 builder.put(grammarAccess.getMemberDefinitionAccess().getOppositeAssignment_4_1(), "rule__MemberDefinition__OppositeAssignment_4_1");
200 builder.put(grammarAccess.getExactMultiplicityAccess().getMultiplicityAssignment_1(), "rule__ExactMultiplicity__MultiplicityAssignment_1");
201 builder.put(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundAssignment_1(), "rule__BoundedMultiplicity__LowerBoundAssignment_1");
202 builder.put(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundAssignment_3(), "rule__BoundedMultiplicity__UpperBoundAssignment_3");
203 builder.put(grammarAccess.getExactScopeDefinitionAccess().getTypeAssignment_1(), "rule__ExactScopeDefinition__TypeAssignment_1");
204 builder.put(grammarAccess.getExactScopeDefinitionAccess().getExactScopeAssignment_3(), "rule__ExactScopeDefinition__ExactScopeAssignment_3");
205 builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0_0(), "rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0");
206 builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_0_1(), "rule__BoundedScopeDefinition__TypeAssignment_1_0_1");
207 builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_0_3(), "rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3");
208 builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_1_0(), "rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0");
209 builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_1_2(), "rule__BoundedScopeDefinition__TypeAssignment_1_1_2");
210 builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_3_1(), "rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1");
211 builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0(), "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0");
212 builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_0_2(), "rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2");
213 builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_1_0(), "rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0");
214 builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_2(), "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2");
215 builder.put(grammarAccess.getObjectiveDefinitionAccess().getKindAssignment_0(), "rule__ObjectiveDefinition__KindAssignment_0");
216 builder.put(grammarAccess.getObjectiveDefinitionAccess().getObjectiveAssignment_1(), "rule__ObjectiveDefinition__ObjectiveAssignment_1");
217 builder.put(grammarAccess.getNamedElementAccess().getNameAssignment(), "rule__NamedElement__NameAssignment");
148 } 218 }
149 } 219 }
150 220
diff --git a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguage.g b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguage.g
index df8f4ea3..2e277376 100644
--- a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguage.g
+++ b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguage.g
@@ -1,10 +1,11 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4grammar InternalSolverLanguage; 4grammar InternalSolverLanguage;
5 5
6options { 6options {
7 superClass=AbstractInternalContentAssistParser; 7 superClass=AbstractInternalContentAssistParser;
8 backtrack=true;
8} 9}
9 10
10@lexer::header { 11@lexer::header {
@@ -90,1616 +91,2255 @@ ruleStatement
90 } 91 }
91 : 92 :
92 ( 93 (
93 { before(grammarAccess.getStatementAccess().getAlternatives()); } 94 { before(grammarAccess.getStatementAccess().getGroup()); }
94 (rule__Statement__Alternatives) 95 (rule__Statement__Group__0)
95 { after(grammarAccess.getStatementAccess().getAlternatives()); } 96 { after(grammarAccess.getStatementAccess().getGroup()); }
96 ) 97 )
97; 98;
98finally { 99finally {
99 restoreStackSize(stackSize); 100 restoreStackSize(stackSize);
100} 101}
101 102
102// Entry rule entryRuleREALLiteral 103// Entry rule entryRuleAssertionOrDefinition
103entryRuleREALLiteral 104entryRuleAssertionOrDefinition
104: 105:
105{ before(grammarAccess.getREALLiteralRule()); } 106{ before(grammarAccess.getAssertionOrDefinitionRule()); }
106 ruleREALLiteral 107 ruleAssertionOrDefinition
107{ after(grammarAccess.getREALLiteralRule()); } 108{ after(grammarAccess.getAssertionOrDefinitionRule()); }
108 EOF 109 EOF
109; 110;
110 111
111// Rule REALLiteral 112// Rule AssertionOrDefinition
112ruleREALLiteral 113ruleAssertionOrDefinition
113 @init { 114 @init {
114 int stackSize = keepStackSize(); 115 int stackSize = keepStackSize();
115 } 116 }
116 : 117 :
117 ( 118 (
118 { before(grammarAccess.getREALLiteralAccess().getGroup()); } 119 { before(grammarAccess.getAssertionOrDefinitionAccess().getGroup()); }
119 (rule__REALLiteral__Group__0) 120 (rule__AssertionOrDefinition__Group__0)
120 { after(grammarAccess.getREALLiteralAccess().getGroup()); } 121 { after(grammarAccess.getAssertionOrDefinitionAccess().getGroup()); }
121 ) 122 )
122; 123;
123finally { 124finally {
124 restoreStackSize(stackSize); 125 restoreStackSize(stackSize);
125} 126}
126 127
127// Entry rule entryRuleINTLiteral 128// Entry rule entryRulePredicateDefinition
128entryRuleINTLiteral 129entryRulePredicateDefinition
129: 130:
130{ before(grammarAccess.getINTLiteralRule()); } 131{ before(grammarAccess.getPredicateDefinitionRule()); }
131 ruleINTLiteral 132 rulePredicateDefinition
132{ after(grammarAccess.getINTLiteralRule()); } 133{ after(grammarAccess.getPredicateDefinitionRule()); }
133 EOF 134 EOF
134; 135;
135 136
136// Rule INTLiteral 137// Rule PredicateDefinition
137ruleINTLiteral 138rulePredicateDefinition
138 @init { 139 @init {
139 int stackSize = keepStackSize(); 140 int stackSize = keepStackSize();
140 } 141 }
141 : 142 :
142 ( 143 (
143 { before(grammarAccess.getINTLiteralAccess().getGroup()); } 144 { before(grammarAccess.getPredicateDefinitionAccess().getGroup()); }
144 (rule__INTLiteral__Group__0) 145 (rule__PredicateDefinition__Group__0)
145 { after(grammarAccess.getINTLiteralAccess().getGroup()); } 146 { after(grammarAccess.getPredicateDefinitionAccess().getGroup()); }
146 ) 147 )
147; 148;
148finally { 149finally {
149 restoreStackSize(stackSize); 150 restoreStackSize(stackSize);
150} 151}
151 152
152// Entry rule entryRuleBooleanValue 153// Entry rule entryRuleUnnamedErrorPrediateDefinition
153entryRuleBooleanValue 154entryRuleUnnamedErrorPrediateDefinition
154: 155:
155{ before(grammarAccess.getBooleanValueRule()); } 156{ before(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); }
156 ruleBooleanValue 157 ruleUnnamedErrorPrediateDefinition
157{ after(grammarAccess.getBooleanValueRule()); } 158{ after(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); }
158 EOF 159 EOF
159; 160;
160 161
161// Rule BooleanValue 162// Rule UnnamedErrorPrediateDefinition
162ruleBooleanValue 163ruleUnnamedErrorPrediateDefinition
163 @init { 164 @init {
164 int stackSize = keepStackSize(); 165 int stackSize = keepStackSize();
165 } 166 }
166 : 167 :
167 ( 168 (
168 { before(grammarAccess.getBooleanValueAccess().getAlternatives()); } 169 { before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getGroup()); }
169 (rule__BooleanValue__Alternatives) 170 (rule__UnnamedErrorPrediateDefinition__Group__0)
170 { after(grammarAccess.getBooleanValueAccess().getAlternatives()); } 171 { after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getGroup()); }
171 ) 172 )
172; 173;
173finally { 174finally {
174 restoreStackSize(stackSize); 175 restoreStackSize(stackSize);
175} 176}
176 177
177// Entry rule entryRuleTruthValue 178// Entry rule entryRuleDefaultDefinition
178entryRuleTruthValue 179entryRuleDefaultDefinition
179: 180:
180{ before(grammarAccess.getTruthValueRule()); } 181{ before(grammarAccess.getDefaultDefinitionRule()); }
181 ruleTruthValue 182 ruleDefaultDefinition
182{ after(grammarAccess.getTruthValueRule()); } 183{ after(grammarAccess.getDefaultDefinitionRule()); }
183 EOF 184 EOF
184; 185;
185 186
186// Rule TruthValue 187// Rule DefaultDefinition
187ruleTruthValue 188ruleDefaultDefinition
188 @init { 189 @init {
189 int stackSize = keepStackSize(); 190 int stackSize = keepStackSize();
190 } 191 }
191 : 192 :
192 ( 193 (
193 { before(grammarAccess.getTruthValueAccess().getAlternatives()); } 194 { before(grammarAccess.getDefaultDefinitionAccess().getGroup()); }
194 (rule__TruthValue__Alternatives) 195 (rule__DefaultDefinition__Group__0)
195 { after(grammarAccess.getTruthValueAccess().getAlternatives()); } 196 { after(grammarAccess.getDefaultDefinitionAccess().getGroup()); }
196 ) 197 )
197; 198;
198finally { 199finally {
199 restoreStackSize(stackSize); 200 restoreStackSize(stackSize);
200} 201}
201 202
202// Entry rule entryRuleInterpretation 203// Entry rule entryRuleExternPredicateDefinition
203entryRuleInterpretation 204entryRuleExternPredicateDefinition
204: 205:
205{ before(grammarAccess.getInterpretationRule()); } 206{ before(grammarAccess.getExternPredicateDefinitionRule()); }
206 ruleInterpretation 207 ruleExternPredicateDefinition
207{ after(grammarAccess.getInterpretationRule()); } 208{ after(grammarAccess.getExternPredicateDefinitionRule()); }
208 EOF 209 EOF
209; 210;
210 211
211// Rule Interpretation 212// Rule ExternPredicateDefinition
212ruleInterpretation 213ruleExternPredicateDefinition
213 @init { 214 @init {
214 int stackSize = keepStackSize(); 215 int stackSize = keepStackSize();
215 } 216 }
216 : 217 :
217 ( 218 (
218 { before(grammarAccess.getInterpretationAccess().getAlternatives()); } 219 { before(grammarAccess.getExternPredicateDefinitionAccess().getGroup()); }
219 (rule__Interpretation__Alternatives) 220 (rule__ExternPredicateDefinition__Group__0)
220 { after(grammarAccess.getInterpretationAccess().getAlternatives()); } 221 { after(grammarAccess.getExternPredicateDefinitionAccess().getGroup()); }
221 ) 222 )
222; 223;
223finally { 224finally {
224 restoreStackSize(stackSize); 225 restoreStackSize(stackSize);
225} 226}
226 227
227// Entry rule entryRuleBasicInterpretation 228// Entry rule entryRuleMetricDefinition
228entryRuleBasicInterpretation 229entryRuleMetricDefinition
229: 230:
230{ before(grammarAccess.getBasicInterpretationRule()); } 231{ before(grammarAccess.getMetricDefinitionRule()); }
231 ruleBasicInterpretation 232 ruleMetricDefinition
232{ after(grammarAccess.getBasicInterpretationRule()); } 233{ after(grammarAccess.getMetricDefinitionRule()); }
233 EOF 234 EOF
234; 235;
235 236
236// Rule BasicInterpretation 237// Rule MetricDefinition
237ruleBasicInterpretation 238ruleMetricDefinition
238 @init { 239 @init {
239 int stackSize = keepStackSize(); 240 int stackSize = keepStackSize();
240 } 241 }
241 : 242 :
242 ( 243 (
243 { before(grammarAccess.getBasicInterpretationAccess().getGroup()); } 244 { before(grammarAccess.getMetricDefinitionAccess().getGroup()); }
244 (rule__BasicInterpretation__Group__0) 245 (rule__MetricDefinition__Group__0)
245 { after(grammarAccess.getBasicInterpretationAccess().getGroup()); } 246 { after(grammarAccess.getMetricDefinitionAccess().getGroup()); }
246 ) 247 )
247; 248;
248finally { 249finally {
249 restoreStackSize(stackSize); 250 restoreStackSize(stackSize);
250} 251}
251 252
252// Entry rule entryRuleSymbol 253// Entry rule entryRuleExternMetricDefinition
253entryRuleSymbol 254entryRuleExternMetricDefinition
254: 255:
255{ before(grammarAccess.getSymbolRule()); } 256{ before(grammarAccess.getExternMetricDefinitionRule()); }
256 ruleSymbol 257 ruleExternMetricDefinition
257{ after(grammarAccess.getSymbolRule()); } 258{ after(grammarAccess.getExternMetricDefinitionRule()); }
258 EOF 259 EOF
259; 260;
260 261
261// Rule Symbol 262// Rule ExternMetricDefinition
262ruleSymbol 263ruleExternMetricDefinition
263 @init { 264 @init {
264 int stackSize = keepStackSize(); 265 int stackSize = keepStackSize();
265 } 266 }
266 : 267 :
267 ( 268 (
268 { before(grammarAccess.getSymbolAccess().getAlternatives()); } 269 { before(grammarAccess.getExternMetricDefinitionAccess().getGroup()); }
269 (rule__Symbol__Alternatives) 270 (rule__ExternMetricDefinition__Group__0)
270 { after(grammarAccess.getSymbolAccess().getAlternatives()); } 271 { after(grammarAccess.getExternMetricDefinitionAccess().getGroup()); }
271 ) 272 )
272; 273;
273finally { 274finally {
274 restoreStackSize(stackSize); 275 restoreStackSize(stackSize);
275} 276}
276 277
277// Entry rule entryRuleModelSymbol 278// Entry rule entryRuleExpression
278entryRuleModelSymbol 279entryRuleExpression
279: 280:
280{ before(grammarAccess.getModelSymbolRule()); } 281{ before(grammarAccess.getExpressionRule()); }
281 ruleModelSymbol 282 ruleExpression
282{ after(grammarAccess.getModelSymbolRule()); } 283{ after(grammarAccess.getExpressionRule()); }
283 EOF 284 EOF
284; 285;
285 286
286// Rule ModelSymbol 287// Rule Expression
287ruleModelSymbol 288ruleExpression
288 @init { 289 @init {
289 int stackSize = keepStackSize(); 290 int stackSize = keepStackSize();
290 } 291 }
291 : 292 :
292 ( 293 (
293 { before(grammarAccess.getModelSymbolAccess().getNameAssignment()); } 294 { before(grammarAccess.getExpressionAccess().getAlternatives()); }
294 (rule__ModelSymbol__NameAssignment) 295 (rule__Expression__Alternatives)
295 { after(grammarAccess.getModelSymbolAccess().getNameAssignment()); } 296 { after(grammarAccess.getExpressionAccess().getAlternatives()); }
296 ) 297 )
297; 298;
298finally { 299finally {
299 restoreStackSize(stackSize); 300 restoreStackSize(stackSize);
300} 301}
301 302
302// Entry rule entryRulePartialitySymbol 303// Entry rule entryRuleIfElse
303entryRulePartialitySymbol 304entryRuleIfElse
304: 305:
305{ before(grammarAccess.getPartialitySymbolRule()); } 306{ before(grammarAccess.getIfElseRule()); }
306 rulePartialitySymbol 307 ruleIfElse
307{ after(grammarAccess.getPartialitySymbolRule()); } 308{ after(grammarAccess.getIfElseRule()); }
308 EOF 309 EOF
309; 310;
310 311
311// Rule PartialitySymbol 312// Rule IfElse
312rulePartialitySymbol 313ruleIfElse
313 @init { 314 @init {
314 int stackSize = keepStackSize(); 315 int stackSize = keepStackSize();
315 } 316 }
316 : 317 :
317 ( 318 (
318 { before(grammarAccess.getPartialitySymbolAccess().getAlternatives()); } 319 { before(grammarAccess.getIfElseAccess().getGroup()); }
319 (rule__PartialitySymbol__Alternatives) 320 (rule__IfElse__Group__0)
320 { after(grammarAccess.getPartialitySymbolAccess().getAlternatives()); } 321 { after(grammarAccess.getIfElseAccess().getGroup()); }
321 ) 322 )
322; 323;
323finally { 324finally {
324 restoreStackSize(stackSize); 325 restoreStackSize(stackSize);
325} 326}
326 327
327// Entry rule entryRuleExistSymbol 328// Entry rule entryRuleDisjunctiveExpression
328entryRuleExistSymbol 329entryRuleDisjunctiveExpression
329: 330:
330{ before(grammarAccess.getExistSymbolRule()); } 331{ before(grammarAccess.getDisjunctiveExpressionRule()); }
331 ruleExistSymbol 332 ruleDisjunctiveExpression
332{ after(grammarAccess.getExistSymbolRule()); } 333{ after(grammarAccess.getDisjunctiveExpressionRule()); }
333 EOF 334 EOF
334; 335;
335 336
336// Rule ExistSymbol 337// Rule DisjunctiveExpression
337ruleExistSymbol 338ruleDisjunctiveExpression
338 @init { 339 @init {
339 int stackSize = keepStackSize(); 340 int stackSize = keepStackSize();
340 } 341 }
341 : 342 :
342 ( 343 (
343 { before(grammarAccess.getExistSymbolAccess().getGroup()); } 344 { before(grammarAccess.getDisjunctiveExpressionAccess().getGroup()); }
344 (rule__ExistSymbol__Group__0) 345 (rule__DisjunctiveExpression__Group__0)
345 { after(grammarAccess.getExistSymbolAccess().getGroup()); } 346 { after(grammarAccess.getDisjunctiveExpressionAccess().getGroup()); }
346 ) 347 )
347; 348;
348finally { 349finally {
349 restoreStackSize(stackSize); 350 restoreStackSize(stackSize);
350} 351}
351 352
352// Entry rule entryRuleEqualsSymbol 353// Entry rule entryRuleCase
353entryRuleEqualsSymbol 354entryRuleCase
354: 355:
355{ before(grammarAccess.getEqualsSymbolRule()); } 356{ before(grammarAccess.getCaseRule()); }
356 ruleEqualsSymbol 357 ruleCase
357{ after(grammarAccess.getEqualsSymbolRule()); } 358{ after(grammarAccess.getCaseRule()); }
358 EOF 359 EOF
359; 360;
360 361
361// Rule EqualsSymbol 362// Rule Case
362ruleEqualsSymbol 363ruleCase
363 @init { 364 @init {
364 int stackSize = keepStackSize(); 365 int stackSize = keepStackSize();
365 } 366 }
366 : 367 :
367 ( 368 (
368 { before(grammarAccess.getEqualsSymbolAccess().getGroup()); } 369 { before(grammarAccess.getCaseAccess().getGroup()); }
369 (rule__EqualsSymbol__Group__0) 370 (rule__Case__Group__0)
370 { after(grammarAccess.getEqualsSymbolAccess().getGroup()); } 371 { after(grammarAccess.getCaseAccess().getGroup()); }
371 ) 372 )
372; 373;
373finally { 374finally {
374 restoreStackSize(stackSize); 375 restoreStackSize(stackSize);
375} 376}
376 377
377// Entry rule entryRuleDataSymbol 378// Entry rule entryRuleConjunctiveExpression
378entryRuleDataSymbol 379entryRuleConjunctiveExpression
379: 380:
380{ before(grammarAccess.getDataSymbolRule()); } 381{ before(grammarAccess.getConjunctiveExpressionRule()); }
381 ruleDataSymbol 382 ruleConjunctiveExpression
382{ after(grammarAccess.getDataSymbolRule()); } 383{ after(grammarAccess.getConjunctiveExpressionRule()); }
383 EOF 384 EOF
384; 385;
385 386
386// Rule DataSymbol 387// Rule ConjunctiveExpression
387ruleDataSymbol 388ruleConjunctiveExpression
388 @init { 389 @init {
389 int stackSize = keepStackSize(); 390 int stackSize = keepStackSize();
390 } 391 }
391 : 392 :
392 ( 393 (
393 { before(grammarAccess.getDataSymbolAccess().getAlternatives()); } 394 { before(grammarAccess.getConjunctiveExpressionAccess().getGroup()); }
394 (rule__DataSymbol__Alternatives) 395 (rule__ConjunctiveExpression__Group__0)
395 { after(grammarAccess.getDataSymbolAccess().getAlternatives()); } 396 { after(grammarAccess.getConjunctiveExpressionAccess().getGroup()); }
396 ) 397 )
397; 398;
398finally { 399finally {
399 restoreStackSize(stackSize); 400 restoreStackSize(stackSize);
400} 401}
401 402
402// Entry rule entryRuleBooleanSymbol 403// Entry rule entryRuleComparisonExpression
403entryRuleBooleanSymbol 404entryRuleComparisonExpression
404: 405:
405{ before(grammarAccess.getBooleanSymbolRule()); } 406{ before(grammarAccess.getComparisonExpressionRule()); }
406 ruleBooleanSymbol 407 ruleComparisonExpression
407{ after(grammarAccess.getBooleanSymbolRule()); } 408{ after(grammarAccess.getComparisonExpressionRule()); }
408 EOF 409 EOF
409; 410;
410 411
411// Rule BooleanSymbol 412// Rule ComparisonExpression
412ruleBooleanSymbol 413ruleComparisonExpression
413 @init { 414 @init {
414 int stackSize = keepStackSize(); 415 int stackSize = keepStackSize();
415 } 416 }
416 : 417 :
417 ( 418 (
418 { before(grammarAccess.getBooleanSymbolAccess().getGroup()); } 419 { before(grammarAccess.getComparisonExpressionAccess().getGroup()); }
419 (rule__BooleanSymbol__Group__0) 420 (rule__ComparisonExpression__Group__0)
420 { after(grammarAccess.getBooleanSymbolAccess().getGroup()); } 421 { after(grammarAccess.getComparisonExpressionAccess().getGroup()); }
421 ) 422 )
422; 423;
423finally { 424finally {
424 restoreStackSize(stackSize); 425 restoreStackSize(stackSize);
425} 426}
426 427
427// Entry rule entryRuleIntegerSymbol 428// Entry rule entryRuleAdditiveExpression
428entryRuleIntegerSymbol 429entryRuleAdditiveExpression
429: 430:
430{ before(grammarAccess.getIntegerSymbolRule()); } 431{ before(grammarAccess.getAdditiveExpressionRule()); }
431 ruleIntegerSymbol 432 ruleAdditiveExpression
432{ after(grammarAccess.getIntegerSymbolRule()); } 433{ after(grammarAccess.getAdditiveExpressionRule()); }
433 EOF 434 EOF
434; 435;
435 436
436// Rule IntegerSymbol 437// Rule AdditiveExpression
437ruleIntegerSymbol 438ruleAdditiveExpression
438 @init { 439 @init {
439 int stackSize = keepStackSize(); 440 int stackSize = keepStackSize();
440 } 441 }
441 : 442 :
442 ( 443 (
443 { before(grammarAccess.getIntegerSymbolAccess().getGroup()); } 444 { before(grammarAccess.getAdditiveExpressionAccess().getGroup()); }
444 (rule__IntegerSymbol__Group__0) 445 (rule__AdditiveExpression__Group__0)
445 { after(grammarAccess.getIntegerSymbolAccess().getGroup()); } 446 { after(grammarAccess.getAdditiveExpressionAccess().getGroup()); }
446 ) 447 )
447; 448;
448finally { 449finally {
449 restoreStackSize(stackSize); 450 restoreStackSize(stackSize);
450} 451}
451 452
452// Entry rule entryRuleRealSymbol 453// Entry rule entryRuleMultiplicativeExpression
453entryRuleRealSymbol 454entryRuleMultiplicativeExpression
454: 455:
455{ before(grammarAccess.getRealSymbolRule()); } 456{ before(grammarAccess.getMultiplicativeExpressionRule()); }
456 ruleRealSymbol 457 ruleMultiplicativeExpression
457{ after(grammarAccess.getRealSymbolRule()); } 458{ after(grammarAccess.getMultiplicativeExpressionRule()); }
458 EOF 459 EOF
459; 460;
460 461
461// Rule RealSymbol 462// Rule MultiplicativeExpression
462ruleRealSymbol 463ruleMultiplicativeExpression
463 @init { 464 @init {
464 int stackSize = keepStackSize(); 465 int stackSize = keepStackSize();
465 } 466 }
466 : 467 :
467 ( 468 (
468 { before(grammarAccess.getRealSymbolAccess().getGroup()); } 469 { before(grammarAccess.getMultiplicativeExpressionAccess().getGroup()); }
469 (rule__RealSymbol__Group__0) 470 (rule__MultiplicativeExpression__Group__0)
470 { after(grammarAccess.getRealSymbolAccess().getGroup()); } 471 { after(grammarAccess.getMultiplicativeExpressionAccess().getGroup()); }
471 ) 472 )
472; 473;
473finally { 474finally {
474 restoreStackSize(stackSize); 475 restoreStackSize(stackSize);
475} 476}
476 477
477// Entry rule entryRuleStringSymbol 478// Entry rule entryRuleExponentialExpression
478entryRuleStringSymbol 479entryRuleExponentialExpression
479: 480:
480{ before(grammarAccess.getStringSymbolRule()); } 481{ before(grammarAccess.getExponentialExpressionRule()); }
481 ruleStringSymbol 482 ruleExponentialExpression
482{ after(grammarAccess.getStringSymbolRule()); } 483{ after(grammarAccess.getExponentialExpressionRule()); }
483 EOF 484 EOF
484; 485;
485 486
486// Rule StringSymbol 487// Rule ExponentialExpression
487ruleStringSymbol 488ruleExponentialExpression
488 @init { 489 @init {
489 int stackSize = keepStackSize(); 490 int stackSize = keepStackSize();
490 } 491 }
491 : 492 :
492 ( 493 (
493 { before(grammarAccess.getStringSymbolAccess().getGroup()); } 494 { before(grammarAccess.getExponentialExpressionAccess().getGroup()); }
494 (rule__StringSymbol__Group__0) 495 (rule__ExponentialExpression__Group__0)
495 { after(grammarAccess.getStringSymbolAccess().getGroup()); } 496 { after(grammarAccess.getExponentialExpressionAccess().getGroup()); }
496 ) 497 )
497; 498;
498finally { 499finally {
499 restoreStackSize(stackSize); 500 restoreStackSize(stackSize);
500} 501}
501 502
502// Entry rule entryRuleComplexObject 503// Entry rule entryRuleUnaryExpression
503entryRuleComplexObject 504entryRuleUnaryExpression
504: 505:
505{ before(grammarAccess.getComplexObjectRule()); } 506{ before(grammarAccess.getUnaryExpressionRule()); }
506 ruleComplexObject 507 ruleUnaryExpression
507{ after(grammarAccess.getComplexObjectRule()); } 508{ after(grammarAccess.getUnaryExpressionRule()); }
508 EOF 509 EOF
509; 510;
510 511
511// Rule ComplexObject 512// Rule UnaryExpression
512ruleComplexObject 513ruleUnaryExpression
513 @init { 514 @init {
514 int stackSize = keepStackSize(); 515 int stackSize = keepStackSize();
515 } 516 }
516 : 517 :
517 ( 518 (
518 { before(grammarAccess.getComplexObjectAccess().getAlternatives()); } 519 { before(grammarAccess.getUnaryExpressionAccess().getAlternatives()); }
519 (rule__ComplexObject__Alternatives) 520 (rule__UnaryExpression__Alternatives)
520 { after(grammarAccess.getComplexObjectAccess().getAlternatives()); } 521 { after(grammarAccess.getUnaryExpressionAccess().getAlternatives()); }
521 ) 522 )
522; 523;
523finally { 524finally {
524 restoreStackSize(stackSize); 525 restoreStackSize(stackSize);
525} 526}
526 527
527// Entry rule entryRuleObject 528// Entry rule entryRuleAggregationExpression
528entryRuleObject 529entryRuleAggregationExpression
529: 530:
530{ before(grammarAccess.getObjectRule()); } 531{ before(grammarAccess.getAggregationExpressionRule()); }
531 ruleObject 532 ruleAggregationExpression
532{ after(grammarAccess.getObjectRule()); } 533{ after(grammarAccess.getAggregationExpressionRule()); }
533 EOF 534 EOF
534; 535;
535 536
536// Rule Object 537// Rule AggregationExpression
537ruleObject 538ruleAggregationExpression
538 @init { 539 @init {
539 int stackSize = keepStackSize(); 540 int stackSize = keepStackSize();
540 } 541 }
541 : 542 :
542 ( 543 (
543 { before(grammarAccess.getObjectAccess().getAlternatives()); } 544 { before(grammarAccess.getAggregationExpressionAccess().getAlternatives()); }
544 (rule__Object__Alternatives) 545 (rule__AggregationExpression__Alternatives)
545 { after(grammarAccess.getObjectAccess().getAlternatives()); } 546 { after(grammarAccess.getAggregationExpressionAccess().getAlternatives()); }
546 ) 547 )
547; 548;
548finally { 549finally {
549 restoreStackSize(stackSize); 550 restoreStackSize(stackSize);
550} 551}
551 552
552// Entry rule entryRuleNamedObject 553// Entry rule entryRuleCount
553entryRuleNamedObject 554entryRuleCount
554: 555:
555{ before(grammarAccess.getNamedObjectRule()); } 556{ before(grammarAccess.getCountRule()); }
556 ruleNamedObject 557 ruleCount
557{ after(grammarAccess.getNamedObjectRule()); } 558{ after(grammarAccess.getCountRule()); }
558 EOF 559 EOF
559; 560;
560 561
561// Rule NamedObject 562// Rule Count
562ruleNamedObject 563ruleCount
563 @init { 564 @init {
564 int stackSize = keepStackSize(); 565 int stackSize = keepStackSize();
565 } 566 }
566 : 567 :
567 ( 568 (
568 { before(grammarAccess.getNamedObjectAccess().getGroup()); } 569 { before(grammarAccess.getCountAccess().getGroup()); }
569 (rule__NamedObject__Group__0) 570 (rule__Count__Group__0)
570 { after(grammarAccess.getNamedObjectAccess().getGroup()); } 571 { after(grammarAccess.getCountAccess().getGroup()); }
571 ) 572 )
572; 573;
573finally { 574finally {
574 restoreStackSize(stackSize); 575 restoreStackSize(stackSize);
575} 576}
576 577
577// Entry rule entryRuleUnnamedObject 578// Entry rule entryRuleAggregation
578entryRuleUnnamedObject 579entryRuleAggregation
579: 580:
580{ before(grammarAccess.getUnnamedObjectRule()); } 581{ before(grammarAccess.getAggregationRule()); }
581 ruleUnnamedObject 582 ruleAggregation
582{ after(grammarAccess.getUnnamedObjectRule()); } 583{ after(grammarAccess.getAggregationRule()); }
583 EOF 584 EOF
584; 585;
585 586
586// Rule UnnamedObject 587// Rule Aggregation
587ruleUnnamedObject 588ruleAggregation
588 @init { 589 @init {
589 int stackSize = keepStackSize(); 590 int stackSize = keepStackSize();
590 } 591 }
591 : 592 :
592 ( 593 (
593 { before(grammarAccess.getUnnamedObjectAccess().getNameAssignment()); } 594 { before(grammarAccess.getAggregationAccess().getGroup()); }
594 (rule__UnnamedObject__NameAssignment) 595 (rule__Aggregation__Group__0)
595 { after(grammarAccess.getUnnamedObjectAccess().getNameAssignment()); } 596 { after(grammarAccess.getAggregationAccess().getGroup()); }
596 ) 597 )
597; 598;
598finally { 599finally {
599 restoreStackSize(stackSize); 600 restoreStackSize(stackSize);
600} 601}
601 602
602// Entry rule entryRuleDataObject 603// Entry rule entryRuleAtomicExpression
603entryRuleDataObject 604entryRuleAtomicExpression
604: 605:
605{ before(grammarAccess.getDataObjectRule()); } 606{ before(grammarAccess.getAtomicExpressionRule()); }
606 ruleDataObject 607 ruleAtomicExpression
607{ after(grammarAccess.getDataObjectRule()); } 608{ after(grammarAccess.getAtomicExpressionRule()); }
608 EOF 609 EOF
609; 610;
610 611
611// Rule DataObject 612// Rule AtomicExpression
612ruleDataObject 613ruleAtomicExpression
613 @init { 614 @init {
614 int stackSize = keepStackSize(); 615 int stackSize = keepStackSize();
615 } 616 }
616 : 617 :
617 ( 618 (
618 { before(grammarAccess.getDataObjectAccess().getAlternatives()); } 619 { before(grammarAccess.getAtomicExpressionAccess().getAlternatives()); }
619 (rule__DataObject__Alternatives) 620 (rule__AtomicExpression__Alternatives)
620 { after(grammarAccess.getDataObjectAccess().getAlternatives()); } 621 { after(grammarAccess.getAtomicExpressionAccess().getAlternatives()); }
621 ) 622 )
622; 623;
623finally { 624finally {
624 restoreStackSize(stackSize); 625 restoreStackSize(stackSize);
625} 626}
626 627
627// Entry rule entryRuleBooleanObject 628// Entry rule entryRuleCall
628entryRuleBooleanObject 629entryRuleCall
629: 630:
630{ before(grammarAccess.getBooleanObjectRule()); } 631{ before(grammarAccess.getCallRule()); }
631 ruleBooleanObject 632 ruleCall
632{ after(grammarAccess.getBooleanObjectRule()); } 633{ after(grammarAccess.getCallRule()); }
633 EOF 634 EOF
634; 635;
635 636
636// Rule BooleanObject 637// Rule Call
637ruleBooleanObject 638ruleCall
638 @init { 639 @init {
639 int stackSize = keepStackSize(); 640 int stackSize = keepStackSize();
640 } 641 }
641 : 642 :
642 ( 643 (
643 { before(grammarAccess.getBooleanObjectAccess().getValueAssignment()); } 644 { before(grammarAccess.getCallAccess().getGroup()); }
644 (rule__BooleanObject__ValueAssignment) 645 (rule__Call__Group__0)
645 { after(grammarAccess.getBooleanObjectAccess().getValueAssignment()); } 646 { after(grammarAccess.getCallAccess().getGroup()); }
646 ) 647 )
647; 648;
648finally { 649finally {
649 restoreStackSize(stackSize); 650 restoreStackSize(stackSize);
650} 651}
651 652
652// Entry rule entryRuleIntObject 653// Entry rule entryRuleArgumentList
653entryRuleIntObject 654entryRuleArgumentList
654: 655:
655{ before(grammarAccess.getIntObjectRule()); } 656{ before(grammarAccess.getArgumentListRule()); }
656 ruleIntObject 657 ruleArgumentList
657{ after(grammarAccess.getIntObjectRule()); } 658{ after(grammarAccess.getArgumentListRule()); }
658 EOF 659 EOF
659; 660;
660 661
661// Rule IntObject 662// Rule ArgumentList
662ruleIntObject 663ruleArgumentList
663 @init { 664 @init {
664 int stackSize = keepStackSize(); 665 int stackSize = keepStackSize();
665 } 666 }
666 : 667 :
667 ( 668 (
668 { before(grammarAccess.getIntObjectAccess().getValueAssignment()); } 669 { before(grammarAccess.getArgumentListAccess().getGroup()); }
669 (rule__IntObject__ValueAssignment) 670 (rule__ArgumentList__Group__0)
670 { after(grammarAccess.getIntObjectAccess().getValueAssignment()); } 671 { after(grammarAccess.getArgumentListAccess().getGroup()); }
671 ) 672 )
672; 673;
673finally { 674finally {
674 restoreStackSize(stackSize); 675 restoreStackSize(stackSize);
675} 676}
676 677
677// Entry rule entryRuleRealObject 678// Entry rule entryRuleArgument
678entryRuleRealObject 679entryRuleArgument
679: 680:
680{ before(grammarAccess.getRealObjectRule()); } 681{ before(grammarAccess.getArgumentRule()); }
681 ruleRealObject 682 ruleArgument
682{ after(grammarAccess.getRealObjectRule()); } 683{ after(grammarAccess.getArgumentRule()); }
683 EOF 684 EOF
684; 685;
685 686
686// Rule RealObject 687// Rule Argument
687ruleRealObject 688ruleArgument
688 @init { 689 @init {
689 int stackSize = keepStackSize(); 690 int stackSize = keepStackSize();
690 } 691 }
691 : 692 :
692 ( 693 (
693 { before(grammarAccess.getRealObjectAccess().getValueAssignment()); } 694 { before(grammarAccess.getArgumentAccess().getAlternatives()); }
694 (rule__RealObject__ValueAssignment) 695 (rule__Argument__Alternatives)
695 { after(grammarAccess.getRealObjectAccess().getValueAssignment()); } 696 { after(grammarAccess.getArgumentAccess().getAlternatives()); }
696 ) 697 )
697; 698;
698finally { 699finally {
699 restoreStackSize(stackSize); 700 restoreStackSize(stackSize);
700} 701}
701 702
702// Entry rule entryRuleStringObject 703// Entry rule entryRuleExpressionArgument
703entryRuleStringObject 704entryRuleExpressionArgument
704: 705:
705{ before(grammarAccess.getStringObjectRule()); } 706{ before(grammarAccess.getExpressionArgumentRule()); }
706 ruleStringObject 707 ruleExpressionArgument
707{ after(grammarAccess.getStringObjectRule()); } 708{ after(grammarAccess.getExpressionArgumentRule()); }
708 EOF 709 EOF
709; 710;
710 711
711// Rule StringObject 712// Rule ExpressionArgument
712ruleStringObject 713ruleExpressionArgument
713 @init { 714 @init {
714 int stackSize = keepStackSize(); 715 int stackSize = keepStackSize();
715 } 716 }
716 : 717 :
717 ( 718 (
718 { before(grammarAccess.getStringObjectAccess().getValueAssignment()); } 719 { before(grammarAccess.getExpressionArgumentAccess().getBodyAssignment()); }
719 (rule__StringObject__ValueAssignment) 720 (rule__ExpressionArgument__BodyAssignment)
720 { after(grammarAccess.getStringObjectAccess().getValueAssignment()); } 721 { after(grammarAccess.getExpressionArgumentAccess().getBodyAssignment()); }
721 ) 722 )
722; 723;
723finally { 724finally {
724 restoreStackSize(stackSize); 725 restoreStackSize(stackSize);
725} 726}
726 727
727// Entry rule entryRulePredicate 728// Entry rule entryRuleStarArgument
728entryRulePredicate 729entryRuleStarArgument
729: 730:
730{ before(grammarAccess.getPredicateRule()); } 731{ before(grammarAccess.getStarArgumentRule()); }
731 rulePredicate 732 ruleStarArgument
732{ after(grammarAccess.getPredicateRule()); } 733{ after(grammarAccess.getStarArgumentRule()); }
733 EOF 734 EOF
734; 735;
735 736
736// Rule Predicate 737// Rule StarArgument
737rulePredicate 738ruleStarArgument
738 @init { 739 @init {
739 int stackSize = keepStackSize(); 740 int stackSize = keepStackSize();
740 } 741 }
741 : 742 :
742 ( 743 (
743 { before(grammarAccess.getPredicateAccess().getGroup()); } 744 { before(grammarAccess.getStarArgumentAccess().getGroup()); }
744 (rule__Predicate__Group__0) 745 (rule__StarArgument__Group__0)
745 { after(grammarAccess.getPredicateAccess().getGroup()); } 746 { after(grammarAccess.getStarArgumentAccess().getGroup()); }
746 ) 747 )
747; 748;
748finally { 749finally {
749 restoreStackSize(stackSize); 750 restoreStackSize(stackSize);
750} 751}
751 752
752// Entry rule entryRuleParameter 753// Entry rule entryRuleTypedArgument
753entryRuleParameter 754entryRuleTypedArgument
754: 755:
755{ before(grammarAccess.getParameterRule()); } 756{ before(grammarAccess.getTypedArgumentRule()); }
756 ruleParameter 757 ruleTypedArgument
757{ after(grammarAccess.getParameterRule()); } 758{ after(grammarAccess.getTypedArgumentRule()); }
758 EOF 759 EOF
759; 760;
760 761
761// Rule Parameter 762// Rule TypedArgument
762ruleParameter 763ruleTypedArgument
763 @init { 764 @init {
764 int stackSize = keepStackSize(); 765 int stackSize = keepStackSize();
765 } 766 }
766 : 767 :
767 ( 768 (
768 { before(grammarAccess.getParameterAccess().getGroup()); } 769 { before(grammarAccess.getTypedArgumentAccess().getGroup()); }
769 (rule__Parameter__Group__0) 770 (rule__TypedArgument__Group__0)
770 { after(grammarAccess.getParameterAccess().getGroup()); } 771 { after(grammarAccess.getTypedArgumentAccess().getGroup()); }
771 ) 772 )
772; 773;
773finally { 774finally {
774 restoreStackSize(stackSize); 775 restoreStackSize(stackSize);
775} 776}
776 777
777// Entry rule entryRulePatternBody 778// Entry rule entryRuleTypedStarArgument
778entryRulePatternBody 779entryRuleTypedStarArgument
779: 780:
780{ before(grammarAccess.getPatternBodyRule()); } 781{ before(grammarAccess.getTypedStarArgumentRule()); }
781 rulePatternBody 782 ruleTypedStarArgument
782{ after(grammarAccess.getPatternBodyRule()); } 783{ after(grammarAccess.getTypedStarArgumentRule()); }
783 EOF 784 EOF
784; 785;
785 786
786// Rule PatternBody 787// Rule TypedStarArgument
787rulePatternBody 788ruleTypedStarArgument
788 @init { 789 @init {
789 int stackSize = keepStackSize(); 790 int stackSize = keepStackSize();
790 } 791 }
791 : 792 :
792 ( 793 (
793 { before(grammarAccess.getPatternBodyAccess().getGroup()); } 794 { before(grammarAccess.getTypedStarArgumentAccess().getGroup()); }
794 (rule__PatternBody__Group__0) 795 (rule__TypedStarArgument__Group__0)
795 { after(grammarAccess.getPatternBodyAccess().getGroup()); } 796 { after(grammarAccess.getTypedStarArgumentAccess().getGroup()); }
796 ) 797 )
797; 798;
798finally { 799finally {
799 restoreStackSize(stackSize); 800 restoreStackSize(stackSize);
800} 801}
801 802
802// Entry rule entryRulePolarity 803// Entry rule entryRuleReference
803entryRulePolarity 804entryRuleReference
804: 805:
805{ before(grammarAccess.getPolarityRule()); } 806{ before(grammarAccess.getReferenceRule()); }
806 rulePolarity 807 ruleReference
807{ after(grammarAccess.getPolarityRule()); } 808{ after(grammarAccess.getReferenceRule()); }
808 EOF 809 EOF
809; 810;
810 811
811// Rule Polarity 812// Rule Reference
812rulePolarity 813ruleReference
813 @init { 814 @init {
814 int stackSize = keepStackSize(); 815 int stackSize = keepStackSize();
815 } 816 }
816 : 817 :
817 ( 818 (
818 { before(grammarAccess.getPolarityAccess().getAlternatives()); } 819 { before(grammarAccess.getReferenceAccess().getReferredAssignment()); }
819 (rule__Polarity__Alternatives) 820 (rule__Reference__ReferredAssignment)
820 { after(grammarAccess.getPolarityAccess().getAlternatives()); } 821 { after(grammarAccess.getReferenceAccess().getReferredAssignment()); }
821 ) 822 )
822; 823;
823finally { 824finally {
824 restoreStackSize(stackSize); 825 restoreStackSize(stackSize);
825} 826}
826 827
827// Entry rule entryRuleConstraint 828// Entry rule entryRuleInterval
828entryRuleConstraint 829entryRuleInterval
829: 830:
830{ before(grammarAccess.getConstraintRule()); } 831{ before(grammarAccess.getIntervalRule()); }
831 ruleConstraint 832 ruleInterval
832{ after(grammarAccess.getConstraintRule()); } 833{ after(grammarAccess.getIntervalRule()); }
833 EOF 834 EOF
834; 835;
835 836
836// Rule Constraint 837// Rule Interval
837ruleConstraint 838ruleInterval
838 @init { 839 @init {
839 int stackSize = keepStackSize(); 840 int stackSize = keepStackSize();
840 } 841 }
841 : 842 :
842 ( 843 (
843 { before(grammarAccess.getConstraintAccess().getAlternatives()); } 844 { before(grammarAccess.getIntervalAccess().getGroup()); }
844 (rule__Constraint__Alternatives) 845 (rule__Interval__Group__0)
845 { after(grammarAccess.getConstraintAccess().getAlternatives()); } 846 { after(grammarAccess.getIntervalAccess().getGroup()); }
846 ) 847 )
847; 848;
848finally { 849finally {
849 restoreStackSize(stackSize); 850 restoreStackSize(stackSize);
850} 851}
851 852
852// Entry rule entryRuleClosureType 853// Entry rule entryRuleLiteral
853entryRuleClosureType 854entryRuleLiteral
854: 855:
855{ before(grammarAccess.getClosureTypeRule()); } 856{ before(grammarAccess.getLiteralRule()); }
856 ruleClosureType 857 ruleLiteral
857{ after(grammarAccess.getClosureTypeRule()); } 858{ after(grammarAccess.getLiteralRule()); }
858 EOF 859 EOF
859; 860;
860 861
861// Rule ClosureType 862// Rule Literal
862ruleClosureType 863ruleLiteral
863 @init { 864 @init {
864 int stackSize = keepStackSize(); 865 int stackSize = keepStackSize();
865 } 866 }
866 : 867 :
867 ( 868 (
868 { before(grammarAccess.getClosureTypeAccess().getAlternatives()); } 869 { before(grammarAccess.getLiteralAccess().getAlternatives()); }
869 (rule__ClosureType__Alternatives) 870 (rule__Literal__Alternatives)
870 { after(grammarAccess.getClosureTypeAccess().getAlternatives()); } 871 { after(grammarAccess.getLiteralAccess().getAlternatives()); }
871 ) 872 )
872; 873;
873finally { 874finally {
874 restoreStackSize(stackSize); 875 restoreStackSize(stackSize);
875} 876}
876 877
877// Entry rule entryRuleLiteral 878// Entry rule entryRuleLogicLiteral
878entryRuleLiteral 879entryRuleLogicLiteral
879: 880:
880{ before(grammarAccess.getLiteralRule()); } 881{ before(grammarAccess.getLogicLiteralRule()); }
881 ruleLiteral 882 ruleLogicLiteral
882{ after(grammarAccess.getLiteralRule()); } 883{ after(grammarAccess.getLogicLiteralRule()); }
883 EOF 884 EOF
884; 885;
885 886
886// Rule Literal 887// Rule LogicLiteral
887ruleLiteral 888ruleLogicLiteral
888 @init { 889 @init {
889 int stackSize = keepStackSize(); 890 int stackSize = keepStackSize();
890 } 891 }
891 : 892 :
892 ( 893 (
893 { before(grammarAccess.getLiteralAccess().getAlternatives()); } 894 { before(grammarAccess.getLogicLiteralAccess().getValueAssignment()); }
894 (rule__Literal__Alternatives) 895 (rule__LogicLiteral__ValueAssignment)
895 { after(grammarAccess.getLiteralAccess().getAlternatives()); } 896 { after(grammarAccess.getLogicLiteralAccess().getValueAssignment()); }
896 ) 897 )
897; 898;
898finally { 899finally {
899 restoreStackSize(stackSize); 900 restoreStackSize(stackSize);
900} 901}
901 902
902// Entry rule entryRuleVariable 903// Entry rule entryRuleNumericLiteral
903entryRuleVariable 904entryRuleNumericLiteral
904: 905:
905{ before(grammarAccess.getVariableRule()); } 906{ before(grammarAccess.getNumericLiteralRule()); }
906 ruleVariable 907 ruleNumericLiteral
907{ after(grammarAccess.getVariableRule()); } 908{ after(grammarAccess.getNumericLiteralRule()); }
908 EOF 909 EOF
909; 910;
910 911
911// Rule Variable 912// Rule NumericLiteral
912ruleVariable 913ruleNumericLiteral
913 @init { 914 @init {
914 int stackSize = keepStackSize(); 915 int stackSize = keepStackSize();
915 } 916 }
916 : 917 :
917 ( 918 (
918 { before(grammarAccess.getVariableAccess().getNameAssignment()); } 919 { before(grammarAccess.getNumericLiteralAccess().getValueAssignment()); }
919 (rule__Variable__NameAssignment) 920 (rule__NumericLiteral__ValueAssignment)
920 { after(grammarAccess.getVariableAccess().getNameAssignment()); } 921 { after(grammarAccess.getNumericLiteralAccess().getValueAssignment()); }
921 ) 922 )
922; 923;
923finally { 924finally {
924 restoreStackSize(stackSize); 925 restoreStackSize(stackSize);
925} 926}
926 927
927// Entry rule entryRuleAllInstances 928// Entry rule entryRuleInfinityLiteral
928entryRuleAllInstances 929entryRuleInfinityLiteral
929: 930:
930{ before(grammarAccess.getAllInstancesRule()); } 931{ before(grammarAccess.getInfinityLiteralRule()); }
931 ruleAllInstances 932 ruleInfinityLiteral
932{ after(grammarAccess.getAllInstancesRule()); } 933{ after(grammarAccess.getInfinityLiteralRule()); }
933 EOF 934 EOF
934; 935;
935 936
936// Rule AllInstances 937// Rule InfinityLiteral
937ruleAllInstances 938ruleInfinityLiteral
938 @init { 939 @init {
939 int stackSize = keepStackSize(); 940 int stackSize = keepStackSize();
940 } 941 }
941 : 942 :
942 ( 943 (
943 { before(grammarAccess.getAllInstancesAccess().getGroup()); } 944 { before(grammarAccess.getInfinityLiteralAccess().getGroup()); }
944 (rule__AllInstances__Group__0) 945 (rule__InfinityLiteral__Group__0)
945 { after(grammarAccess.getAllInstancesAccess().getGroup()); } 946 { after(grammarAccess.getInfinityLiteralAccess().getGroup()); }
946 ) 947 )
947; 948;
948finally { 949finally {
949 restoreStackSize(stackSize); 950 restoreStackSize(stackSize);
950} 951}
951 952
952// Entry rule entryRuleAllObjects 953// Entry rule entryRuleEmptyIntervalLiteral
953entryRuleAllObjects 954entryRuleEmptyIntervalLiteral
954: 955:
955{ before(grammarAccess.getAllObjectsRule()); } 956{ before(grammarAccess.getEmptyIntervalLiteralRule()); }
956 ruleAllObjects 957 ruleEmptyIntervalLiteral
957{ after(grammarAccess.getAllObjectsRule()); } 958{ after(grammarAccess.getEmptyIntervalLiteralRule()); }
958 EOF 959 EOF
959; 960;
960 961
961// Rule AllObjects 962// Rule EmptyIntervalLiteral
962ruleAllObjects 963ruleEmptyIntervalLiteral
963 @init { 964 @init {
964 int stackSize = keepStackSize(); 965 int stackSize = keepStackSize();
965 } 966 }
966 : 967 :
967 ( 968 (
968 { before(grammarAccess.getAllObjectsAccess().getGroup()); } 969 { before(grammarAccess.getEmptyIntervalLiteralAccess().getGroup()); }
969 (rule__AllObjects__Group__0) 970 (rule__EmptyIntervalLiteral__Group__0)
970 { after(grammarAccess.getAllObjectsAccess().getGroup()); } 971 { after(grammarAccess.getEmptyIntervalLiteralAccess().getGroup()); }
971 ) 972 )
972; 973;
973finally { 974finally {
974 restoreStackSize(stackSize); 975 restoreStackSize(stackSize);
975} 976}
976 977
977// Entry rule entryRuleDefaultInterpretation 978// Entry rule entryRuleStringLiteral
978entryRuleDefaultInterpretation 979entryRuleStringLiteral
979: 980:
980{ before(grammarAccess.getDefaultInterpretationRule()); } 981{ before(grammarAccess.getStringLiteralRule()); }
981 ruleDefaultInterpretation 982 ruleStringLiteral
982{ after(grammarAccess.getDefaultInterpretationRule()); } 983{ after(grammarAccess.getStringLiteralRule()); }
983 EOF 984 EOF
984; 985;
985 986
986// Rule DefaultInterpretation 987// Rule StringLiteral
987ruleDefaultInterpretation 988ruleStringLiteral
988 @init { 989 @init {
989 int stackSize = keepStackSize(); 990 int stackSize = keepStackSize();
990 } 991 }
991 : 992 :
992 ( 993 (
993 { before(grammarAccess.getDefaultInterpretationAccess().getGroup()); } 994 { before(grammarAccess.getStringLiteralAccess().getValueAssignment()); }
994 (rule__DefaultInterpretation__Group__0) 995 (rule__StringLiteral__ValueAssignment)
995 { after(grammarAccess.getDefaultInterpretationAccess().getGroup()); } 996 { after(grammarAccess.getStringLiteralAccess().getValueAssignment()); }
996 ) 997 )
997; 998;
998finally { 999finally {
999 restoreStackSize(stackSize); 1000 restoreStackSize(stackSize);
1000} 1001}
1001 1002
1002// Entry rule entryRuleCDInterpretation 1003// Entry rule entryRuleClassDefinition
1003entryRuleCDInterpretation 1004entryRuleClassDefinition
1004: 1005:
1005{ before(grammarAccess.getCDInterpretationRule()); } 1006{ before(grammarAccess.getClassDefinitionRule()); }
1006 ruleCDInterpretation 1007 ruleClassDefinition
1007{ after(grammarAccess.getCDInterpretationRule()); } 1008{ after(grammarAccess.getClassDefinitionRule()); }
1008 EOF 1009 EOF
1009; 1010;
1010 1011
1011// Rule CDInterpretation 1012// Rule ClassDefinition
1012ruleCDInterpretation 1013ruleClassDefinition
1013 @init { 1014 @init {
1014 int stackSize = keepStackSize(); 1015 int stackSize = keepStackSize();
1015 } 1016 }
1016 : 1017 :
1017 ( 1018 (
1018 { before(grammarAccess.getCDInterpretationAccess().getAlternatives()); } 1019 { before(grammarAccess.getClassDefinitionAccess().getGroup()); }
1019 (rule__CDInterpretation__Alternatives) 1020 (rule__ClassDefinition__Group__0)
1020 { after(grammarAccess.getCDInterpretationAccess().getAlternatives()); } 1021 { after(grammarAccess.getClassDefinitionAccess().getGroup()); }
1021 ) 1022 )
1022; 1023;
1023finally { 1024finally {
1024 restoreStackSize(stackSize); 1025 restoreStackSize(stackSize);
1025} 1026}
1026 1027
1027// Entry rule entryRuleClassInterpretation 1028// Entry rule entryRuleMemberDefinition
1028entryRuleClassInterpretation 1029entryRuleMemberDefinition
1029: 1030:
1030{ before(grammarAccess.getClassInterpretationRule()); } 1031{ before(grammarAccess.getMemberDefinitionRule()); }
1031 ruleClassInterpretation 1032 ruleMemberDefinition
1032{ after(grammarAccess.getClassInterpretationRule()); } 1033{ after(grammarAccess.getMemberDefinitionRule()); }
1033 EOF 1034 EOF
1034; 1035;
1035 1036
1036// Rule ClassInterpretation 1037// Rule MemberDefinition
1037ruleClassInterpretation 1038ruleMemberDefinition
1038 @init { 1039 @init {
1039 int stackSize = keepStackSize(); 1040 int stackSize = keepStackSize();
1040 } 1041 }
1041 : 1042 :
1042 ( 1043 (
1043 { before(grammarAccess.getClassInterpretationAccess().getGroup()); } 1044 { before(grammarAccess.getMemberDefinitionAccess().getGroup()); }
1044 (rule__ClassInterpretation__Group__0) 1045 (rule__MemberDefinition__Group__0)
1045 { after(grammarAccess.getClassInterpretationAccess().getGroup()); } 1046 { after(grammarAccess.getMemberDefinitionAccess().getGroup()); }
1046 ) 1047 )
1047; 1048;
1048finally { 1049finally {
1049 restoreStackSize(stackSize); 1050 restoreStackSize(stackSize);
1050} 1051}
1051 1052
1052// Entry rule entryRuleEnumInterpretation 1053// Entry rule entryRuleMultiplicity
1053entryRuleEnumInterpretation 1054entryRuleMultiplicity
1054: 1055:
1055{ before(grammarAccess.getEnumInterpretationRule()); } 1056{ before(grammarAccess.getMultiplicityRule()); }
1056 ruleEnumInterpretation 1057 ruleMultiplicity
1057{ after(grammarAccess.getEnumInterpretationRule()); } 1058{ after(grammarAccess.getMultiplicityRule()); }
1058 EOF 1059 EOF
1059; 1060;
1060 1061
1061// Rule EnumInterpretation 1062// Rule Multiplicity
1062ruleEnumInterpretation 1063ruleMultiplicity
1063 @init { 1064 @init {
1064 int stackSize = keepStackSize(); 1065 int stackSize = keepStackSize();
1065 } 1066 }
1066 : 1067 :
1067 ( 1068 (
1068 { before(grammarAccess.getEnumInterpretationAccess().getGroup()); } 1069 { before(grammarAccess.getMultiplicityAccess().getAlternatives()); }
1069 (rule__EnumInterpretation__Group__0) 1070 (rule__Multiplicity__Alternatives)
1070 { after(grammarAccess.getEnumInterpretationAccess().getGroup()); } 1071 { after(grammarAccess.getMultiplicityAccess().getAlternatives()); }
1071 ) 1072 )
1072; 1073;
1073finally { 1074finally {
1074 restoreStackSize(stackSize); 1075 restoreStackSize(stackSize);
1075} 1076}
1076 1077
1077// Entry rule entryRuleFieldRelationInterpretation 1078// Entry rule entryRuleManyMultiplicity
1078entryRuleFieldRelationInterpretation 1079entryRuleManyMultiplicity
1079: 1080:
1080{ before(grammarAccess.getFieldRelationInterpretationRule()); } 1081{ before(grammarAccess.getManyMultiplicityRule()); }
1081 ruleFieldRelationInterpretation 1082 ruleManyMultiplicity
1082{ after(grammarAccess.getFieldRelationInterpretationRule()); } 1083{ after(grammarAccess.getManyMultiplicityRule()); }
1083 EOF 1084 EOF
1084; 1085;
1085 1086
1086// Rule FieldRelationInterpretation 1087// Rule ManyMultiplicity
1087ruleFieldRelationInterpretation 1088ruleManyMultiplicity
1088 @init { 1089 @init {
1089 int stackSize = keepStackSize(); 1090 int stackSize = keepStackSize();
1090 } 1091 }
1091 : 1092 :
1092 ( 1093 (
1093 { before(grammarAccess.getFieldRelationInterpretationAccess().getGroup()); } 1094 { before(grammarAccess.getManyMultiplicityAccess().getGroup()); }
1094 (rule__FieldRelationInterpretation__Group__0) 1095 (rule__ManyMultiplicity__Group__0)
1095 { after(grammarAccess.getFieldRelationInterpretationAccess().getGroup()); } 1096 { after(grammarAccess.getManyMultiplicityAccess().getGroup()); }
1096 ) 1097 )
1097; 1098;
1098finally { 1099finally {
1099 restoreStackSize(stackSize); 1100 restoreStackSize(stackSize);
1100} 1101}
1101 1102
1102// Entry rule entryRuleGlobalRelationInterpretation 1103// Entry rule entryRuleExactMultiplicity
1103entryRuleGlobalRelationInterpretation 1104entryRuleExactMultiplicity
1104: 1105:
1105{ before(grammarAccess.getGlobalRelationInterpretationRule()); } 1106{ before(grammarAccess.getExactMultiplicityRule()); }
1106 ruleGlobalRelationInterpretation 1107 ruleExactMultiplicity
1107{ after(grammarAccess.getGlobalRelationInterpretationRule()); } 1108{ after(grammarAccess.getExactMultiplicityRule()); }
1108 EOF 1109 EOF
1109; 1110;
1110 1111
1111// Rule GlobalRelationInterpretation 1112// Rule ExactMultiplicity
1112ruleGlobalRelationInterpretation 1113ruleExactMultiplicity
1113 @init { 1114 @init {
1114 int stackSize = keepStackSize(); 1115 int stackSize = keepStackSize();
1115 } 1116 }
1116 : 1117 :
1117 ( 1118 (
1118 { before(grammarAccess.getGlobalRelationInterpretationAccess().getGroup()); } 1119 { before(grammarAccess.getExactMultiplicityAccess().getGroup()); }
1119 (rule__GlobalRelationInterpretation__Group__0) 1120 (rule__ExactMultiplicity__Group__0)
1120 { after(grammarAccess.getGlobalRelationInterpretationAccess().getGroup()); } 1121 { after(grammarAccess.getExactMultiplicityAccess().getGroup()); }
1121 ) 1122 )
1122; 1123;
1123finally { 1124finally {
1124 restoreStackSize(stackSize); 1125 restoreStackSize(stackSize);
1125} 1126}
1126 1127
1127// Entry rule entryRuleMultiplicityDefinition 1128// Entry rule entryRuleBoundedMultiplicity
1128entryRuleMultiplicityDefinition 1129entryRuleBoundedMultiplicity
1129: 1130:
1130{ before(grammarAccess.getMultiplicityDefinitionRule()); } 1131{ before(grammarAccess.getBoundedMultiplicityRule()); }
1131 ruleMultiplicityDefinition 1132 ruleBoundedMultiplicity
1132{ after(grammarAccess.getMultiplicityDefinitionRule()); } 1133{ after(grammarAccess.getBoundedMultiplicityRule()); }
1133 EOF 1134 EOF
1134; 1135;
1135 1136
1136// Rule MultiplicityDefinition 1137// Rule BoundedMultiplicity
1137ruleMultiplicityDefinition 1138ruleBoundedMultiplicity
1138 @init { 1139 @init {
1139 int stackSize = keepStackSize(); 1140 int stackSize = keepStackSize();
1140 } 1141 }
1141 : 1142 :
1142 ( 1143 (
1143 { before(grammarAccess.getMultiplicityDefinitionAccess().getGroup()); } 1144 { before(grammarAccess.getBoundedMultiplicityAccess().getGroup()); }
1144 (rule__MultiplicityDefinition__Group__0) 1145 (rule__BoundedMultiplicity__Group__0)
1145 { after(grammarAccess.getMultiplicityDefinitionAccess().getGroup()); } 1146 { after(grammarAccess.getBoundedMultiplicityAccess().getGroup()); }
1147 )
1148;
1149finally {
1150 restoreStackSize(stackSize);
1151}
1152
1153// Entry rule entryRuleScopeDefinition
1154entryRuleScopeDefinition
1155:
1156{ before(grammarAccess.getScopeDefinitionRule()); }
1157 ruleScopeDefinition
1158{ after(grammarAccess.getScopeDefinitionRule()); }
1159 EOF
1160;
1161
1162// Rule ScopeDefinition
1163ruleScopeDefinition
1164 @init {
1165 int stackSize = keepStackSize();
1166 }
1167 :
1168 (
1169 { before(grammarAccess.getScopeDefinitionAccess().getAlternatives()); }
1170 (rule__ScopeDefinition__Alternatives)
1171 { after(grammarAccess.getScopeDefinitionAccess().getAlternatives()); }
1172 )
1173;
1174finally {
1175 restoreStackSize(stackSize);
1176}
1177
1178// Entry rule entryRuleExactScopeDefinition
1179entryRuleExactScopeDefinition
1180:
1181{ before(grammarAccess.getExactScopeDefinitionRule()); }
1182 ruleExactScopeDefinition
1183{ after(grammarAccess.getExactScopeDefinitionRule()); }
1184 EOF
1185;
1186
1187// Rule ExactScopeDefinition
1188ruleExactScopeDefinition
1189 @init {
1190 int stackSize = keepStackSize();
1191 }
1192 :
1193 (
1194 { before(grammarAccess.getExactScopeDefinitionAccess().getGroup()); }
1195 (rule__ExactScopeDefinition__Group__0)
1196 { after(grammarAccess.getExactScopeDefinitionAccess().getGroup()); }
1197 )
1198;
1199finally {
1200 restoreStackSize(stackSize);
1201}
1202
1203// Entry rule entryRuleBoundedScopeDefinition
1204entryRuleBoundedScopeDefinition
1205:
1206{ before(grammarAccess.getBoundedScopeDefinitionRule()); }
1207 ruleBoundedScopeDefinition
1208{ after(grammarAccess.getBoundedScopeDefinitionRule()); }
1209 EOF
1210;
1211
1212// Rule BoundedScopeDefinition
1213ruleBoundedScopeDefinition
1214 @init {
1215 int stackSize = keepStackSize();
1216 }
1217 :
1218 (
1219 { before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup()); }
1220 (rule__BoundedScopeDefinition__Group__0)
1221 { after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup()); }
1222 )
1223;
1224finally {
1225 restoreStackSize(stackSize);
1226}
1227
1228// Entry rule entryRuleLowerBoundedScopeDefinition
1229entryRuleLowerBoundedScopeDefinition
1230:
1231{ before(grammarAccess.getLowerBoundedScopeDefinitionRule()); }
1232 ruleLowerBoundedScopeDefinition
1233{ after(grammarAccess.getLowerBoundedScopeDefinitionRule()); }
1234 EOF
1235;
1236
1237// Rule LowerBoundedScopeDefinition
1238ruleLowerBoundedScopeDefinition
1239 @init {
1240 int stackSize = keepStackSize();
1241 }
1242 :
1243 (
1244 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup()); }
1245 (rule__LowerBoundedScopeDefinition__Group__0)
1246 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup()); }
1247 )
1248;
1249finally {
1250 restoreStackSize(stackSize);
1251}
1252
1253// Entry rule entryRuleObjectiveDefinition
1254entryRuleObjectiveDefinition
1255:
1256{ before(grammarAccess.getObjectiveDefinitionRule()); }
1257 ruleObjectiveDefinition
1258{ after(grammarAccess.getObjectiveDefinitionRule()); }
1259 EOF
1260;
1261
1262// Rule ObjectiveDefinition
1263ruleObjectiveDefinition
1264 @init {
1265 int stackSize = keepStackSize();
1266 }
1267 :
1268 (
1269 { before(grammarAccess.getObjectiveDefinitionAccess().getGroup()); }
1270 (rule__ObjectiveDefinition__Group__0)
1271 { after(grammarAccess.getObjectiveDefinitionAccess().getGroup()); }
1272 )
1273;
1274finally {
1275 restoreStackSize(stackSize);
1276}
1277
1278// Entry rule entryRuleUpperMultiplicty
1279entryRuleUpperMultiplicty
1280:
1281{ before(grammarAccess.getUpperMultiplictyRule()); }
1282 ruleUpperMultiplicty
1283{ after(grammarAccess.getUpperMultiplictyRule()); }
1284 EOF
1285;
1286
1287// Rule UpperMultiplicty
1288ruleUpperMultiplicty
1289 @init {
1290 int stackSize = keepStackSize();
1291 }
1292 :
1293 (
1294 { before(grammarAccess.getUpperMultiplictyAccess().getAlternatives()); }
1295 (rule__UpperMultiplicty__Alternatives)
1296 { after(grammarAccess.getUpperMultiplictyAccess().getAlternatives()); }
1297 )
1298;
1299finally {
1300 restoreStackSize(stackSize);
1301}
1302
1303// Entry rule entryRuleReal
1304entryRuleReal
1305@init {
1306 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
1307}
1308:
1309{ before(grammarAccess.getRealRule()); }
1310 ruleReal
1311{ after(grammarAccess.getRealRule()); }
1312 EOF
1313;
1314finally {
1315 myHiddenTokenState.restore();
1316}
1317
1318// Rule Real
1319ruleReal
1320 @init {
1321 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
1322 int stackSize = keepStackSize();
1323 }
1324 :
1325 (
1326 { before(grammarAccess.getRealAccess().getGroup()); }
1327 (rule__Real__Group__0)
1328 { after(grammarAccess.getRealAccess().getGroup()); }
1329 )
1330;
1331finally {
1332 restoreStackSize(stackSize);
1333 myHiddenTokenState.restore();
1334}
1335
1336// Entry rule entryRuleQualifiedName
1337entryRuleQualifiedName
1338@init {
1339 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
1340}
1341:
1342{ before(grammarAccess.getQualifiedNameRule()); }
1343 ruleQualifiedName
1344{ after(grammarAccess.getQualifiedNameRule()); }
1345 EOF
1346;
1347finally {
1348 myHiddenTokenState.restore();
1349}
1350
1351// Rule QualifiedName
1352ruleQualifiedName
1353 @init {
1354 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
1355 int stackSize = keepStackSize();
1356 }
1357 :
1358 (
1359 { before(grammarAccess.getQualifiedNameAccess().getAlternatives()); }
1360 (rule__QualifiedName__Alternatives)
1361 { after(grammarAccess.getQualifiedNameAccess().getAlternatives()); }
1362 )
1363;
1364finally {
1365 restoreStackSize(stackSize);
1366 myHiddenTokenState.restore();
1367}
1368
1369// Rule MetricType
1370ruleMetricType
1371 @init {
1372 int stackSize = keepStackSize();
1373 }
1374:
1375 (
1376 { before(grammarAccess.getMetricTypeAccess().getAlternatives()); }
1377 (rule__MetricType__Alternatives)
1378 { after(grammarAccess.getMetricTypeAccess().getAlternatives()); }
1146 ) 1379 )
1147; 1380;
1148finally { 1381finally {
1149 restoreStackSize(stackSize); 1382 restoreStackSize(stackSize);
1150} 1383}
1151 1384
1152rule__Statement__Alternatives 1385// Rule ComparisonOperator
1386ruleComparisonOperator
1153 @init { 1387 @init {
1154 int stackSize = keepStackSize(); 1388 int stackSize = keepStackSize();
1155 } 1389 }
1156: 1390:
1157 ( 1391 (
1158 { before(grammarAccess.getStatementAccess().getInterpretationParserRuleCall_0()); } 1392 { before(grammarAccess.getComparisonOperatorAccess().getAlternatives()); }
1159 ruleInterpretation 1393 (rule__ComparisonOperator__Alternatives)
1160 { after(grammarAccess.getStatementAccess().getInterpretationParserRuleCall_0()); } 1394 { after(grammarAccess.getComparisonOperatorAccess().getAlternatives()); }
1395 )
1396;
1397finally {
1398 restoreStackSize(stackSize);
1399}
1400
1401// Rule AdditiveBinaryOperator
1402ruleAdditiveBinaryOperator
1403 @init {
1404 int stackSize = keepStackSize();
1405 }
1406:
1407 (
1408 { before(grammarAccess.getAdditiveBinaryOperatorAccess().getAlternatives()); }
1409 (rule__AdditiveBinaryOperator__Alternatives)
1410 { after(grammarAccess.getAdditiveBinaryOperatorAccess().getAlternatives()); }
1411 )
1412;
1413finally {
1414 restoreStackSize(stackSize);
1415}
1416
1417// Rule MultiplicativeBinaryOperator
1418ruleMultiplicativeBinaryOperator
1419 @init {
1420 int stackSize = keepStackSize();
1421 }
1422:
1423 (
1424 { before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getAlternatives()); }
1425 (rule__MultiplicativeBinaryOperator__Alternatives)
1426 { after(grammarAccess.getMultiplicativeBinaryOperatorAccess().getAlternatives()); }
1427 )
1428;
1429finally {
1430 restoreStackSize(stackSize);
1431}
1432
1433// Rule ExponentialOp
1434ruleExponentialOp
1435 @init {
1436 int stackSize = keepStackSize();
1437 }
1438:
1439 (
1440 { before(grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration()); }
1441 ('^')
1442 { after(grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration()); }
1443 )
1444;
1445finally {
1446 restoreStackSize(stackSize);
1447}
1448
1449// Rule UnaryOp
1450ruleUnaryOp
1451 @init {
1452 int stackSize = keepStackSize();
1453 }
1454:
1455 (
1456 { before(grammarAccess.getUnaryOpAccess().getAlternatives()); }
1457 (rule__UnaryOp__Alternatives)
1458 { after(grammarAccess.getUnaryOpAccess().getAlternatives()); }
1459 )
1460;
1461finally {
1462 restoreStackSize(stackSize);
1463}
1464
1465// Rule AggregationOp
1466ruleAggregationOp
1467 @init {
1468 int stackSize = keepStackSize();
1469 }
1470:
1471 (
1472 { before(grammarAccess.getAggregationOpAccess().getAlternatives()); }
1473 (rule__AggregationOp__Alternatives)
1474 { after(grammarAccess.getAggregationOpAccess().getAlternatives()); }
1475 )
1476;
1477finally {
1478 restoreStackSize(stackSize);
1479}
1480
1481// Rule LogicValue
1482ruleLogicValue
1483 @init {
1484 int stackSize = keepStackSize();
1485 }
1486:
1487 (
1488 { before(grammarAccess.getLogicValueAccess().getAlternatives()); }
1489 (rule__LogicValue__Alternatives)
1490 { after(grammarAccess.getLogicValueAccess().getAlternatives()); }
1491 )
1492;
1493finally {
1494 restoreStackSize(stackSize);
1495}
1496
1497// Rule ObjectiveKind
1498ruleObjectiveKind
1499 @init {
1500 int stackSize = keepStackSize();
1501 }
1502:
1503 (
1504 { before(grammarAccess.getObjectiveKindAccess().getAlternatives()); }
1505 (rule__ObjectiveKind__Alternatives)
1506 { after(grammarAccess.getObjectiveKindAccess().getAlternatives()); }
1507 )
1508;
1509finally {
1510 restoreStackSize(stackSize);
1511}
1512
1513rule__Statement__Alternatives_0
1514 @init {
1515 int stackSize = keepStackSize();
1516 }
1517:
1518 (
1519 { before(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); }
1520 ruleAssertionOrDefinition
1521 { after(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); }
1522 )
1523 |
1524 (
1525 { before(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1()); }
1526 rulePredicateDefinition
1527 { after(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1()); }
1528 )
1529 |
1530 (
1531 { before(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2()); }
1532 ruleUnnamedErrorPrediateDefinition
1533 { after(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2()); }
1534 )
1535 |
1536 (
1537 { before(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3()); }
1538 ruleDefaultDefinition
1539 { after(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3()); }
1540 )
1541 |
1542 (
1543 { before(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); }
1544 ruleExternPredicateDefinition
1545 { after(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); }
1546 )
1547 |
1548 (
1549 { before(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); }
1550 ruleMetricDefinition
1551 { after(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); }
1552 )
1553 |
1554 (
1555 { before(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6()); }
1556 ruleExternMetricDefinition
1557 { after(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6()); }
1558 )
1559 |
1560 (
1561 { before(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); }
1562 ruleClassDefinition
1563 { after(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); }
1564 )
1565 |
1566 (
1567 { before(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); }
1568 ruleScopeDefinition
1569 { after(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); }
1570 )
1571 |
1572 (
1573 { before(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); }
1574 ruleObjectiveDefinition
1575 { after(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); }
1576 )
1577;
1578finally {
1579 restoreStackSize(stackSize);
1580}
1581
1582rule__AssertionOrDefinition__Alternatives_1
1583 @init {
1584 int stackSize = keepStackSize();
1585 }
1586:
1587 (
1588 { before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0()); }
1589 (rule__AssertionOrDefinition__Group_1_0__0)
1590 { after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0()); }
1591 )
1592 |
1593 (
1594 { before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_1()); }
1595 (rule__AssertionOrDefinition__Group_1_1__0)
1596 { after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_1()); }
1161 ) 1597 )
1162 | 1598 |
1163 ( 1599 (
1164 { before(grammarAccess.getStatementAccess().getPredicateParserRuleCall_1()); } 1600 { before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_2()); }
1165 rulePredicate 1601 (rule__AssertionOrDefinition__Group_1_2__0)
1166 { after(grammarAccess.getStatementAccess().getPredicateParserRuleCall_1()); } 1602 { after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_2()); }
1167 ) 1603 )
1168; 1604;
1169finally { 1605finally {
1170 restoreStackSize(stackSize); 1606 restoreStackSize(stackSize);
1171} 1607}
1172 1608
1173rule__BooleanValue__Alternatives 1609rule__PredicateDefinition__Alternatives_0
1174 @init { 1610 @init {
1175 int stackSize = keepStackSize(); 1611 int stackSize = keepStackSize();
1176 } 1612 }
1177: 1613:
1178 ( 1614 (
1179 { before(grammarAccess.getBooleanValueAccess().getGroup_0()); } 1615 { before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0()); }
1180 (rule__BooleanValue__Group_0__0) 1616 (rule__PredicateDefinition__Group_0_0__0)
1181 { after(grammarAccess.getBooleanValueAccess().getGroup_0()); } 1617 { after(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0()); }
1182 ) 1618 )
1183 | 1619 |
1184 ( 1620 (
1185 { before(grammarAccess.getBooleanValueAccess().getGroup_1()); } 1621 { before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_1()); }
1186 (rule__BooleanValue__Group_1__0) 1622 (rule__PredicateDefinition__Group_0_1__0)
1187 { after(grammarAccess.getBooleanValueAccess().getGroup_1()); } 1623 { after(grammarAccess.getPredicateDefinitionAccess().getGroup_0_1()); }
1188 ) 1624 )
1189; 1625;
1190finally { 1626finally {
1191 restoreStackSize(stackSize); 1627 restoreStackSize(stackSize);
1192} 1628}
1193 1629
1194rule__TruthValue__Alternatives 1630rule__Expression__Alternatives
1195 @init { 1631 @init {
1196 int stackSize = keepStackSize(); 1632 int stackSize = keepStackSize();
1197 } 1633 }
1198: 1634:
1199 ( 1635 (
1200 { before(grammarAccess.getTruthValueAccess().getGroup_0()); } 1636 { before(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); }
1201 (rule__TruthValue__Group_0__0) 1637 ruleIfElse
1202 { after(grammarAccess.getTruthValueAccess().getGroup_0()); } 1638 { after(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); }
1203 ) 1639 )
1204 | 1640 |
1205 ( 1641 (
1206 { before(grammarAccess.getTruthValueAccess().getGroup_1()); } 1642 { before(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); }
1207 (rule__TruthValue__Group_1__0) 1643 ruleDisjunctiveExpression
1208 { after(grammarAccess.getTruthValueAccess().getGroup_1()); } 1644 { after(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); }
1645 )
1646;
1647finally {
1648 restoreStackSize(stackSize);
1649}
1650
1651rule__DisjunctiveExpression__Alternatives_1
1652 @init {
1653 int stackSize = keepStackSize();
1654 }
1655:
1656 (
1657 { before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0()); }
1658 (rule__DisjunctiveExpression__Group_1_0__0)
1659 { after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0()); }
1209 ) 1660 )
1210 | 1661 |
1211 ( 1662 (
1212 { before(grammarAccess.getTruthValueAccess().getGroup_2()); } 1663 { before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1()); }
1213 (rule__TruthValue__Group_2__0) 1664 (rule__DisjunctiveExpression__Group_1_1__0)
1214 { after(grammarAccess.getTruthValueAccess().getGroup_2()); } 1665 { after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1()); }
1666 )
1667;
1668finally {
1669 restoreStackSize(stackSize);
1670}
1671
1672rule__UnaryExpression__Alternatives
1673 @init {
1674 int stackSize = keepStackSize();
1675 }
1676:
1677 (
1678 { before(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); }
1679 ruleAggregationExpression
1680 { after(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); }
1215 ) 1681 )
1216 | 1682 |
1217 ( 1683 (
1218 { before(grammarAccess.getTruthValueAccess().getGroup_3()); } 1684 { before(grammarAccess.getUnaryExpressionAccess().getGroup_1()); }
1219 (rule__TruthValue__Group_3__0) 1685 (rule__UnaryExpression__Group_1__0)
1220 { after(grammarAccess.getTruthValueAccess().getGroup_3()); } 1686 { after(grammarAccess.getUnaryExpressionAccess().getGroup_1()); }
1221 ) 1687 )
1222; 1688;
1223finally { 1689finally {
1224 restoreStackSize(stackSize); 1690 restoreStackSize(stackSize);
1225} 1691}
1226 1692
1227rule__Interpretation__Alternatives 1693rule__AggregationExpression__Alternatives
1228 @init { 1694 @init {
1229 int stackSize = keepStackSize(); 1695 int stackSize = keepStackSize();
1230 } 1696 }
1231: 1697:
1232 ( 1698 (
1233 { before(grammarAccess.getInterpretationAccess().getBasicInterpretationParserRuleCall_0()); } 1699 { before(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); }
1234 ruleBasicInterpretation 1700 ruleAtomicExpression
1235 { after(grammarAccess.getInterpretationAccess().getBasicInterpretationParserRuleCall_0()); } 1701 { after(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); }
1236 ) 1702 )
1237 | 1703 |
1238 ( 1704 (
1239 { before(grammarAccess.getInterpretationAccess().getDefaultInterpretationParserRuleCall_1()); } 1705 { before(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); }
1240 ruleDefaultInterpretation 1706 ruleCount
1241 { after(grammarAccess.getInterpretationAccess().getDefaultInterpretationParserRuleCall_1()); } 1707 { after(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); }
1242 ) 1708 )
1243 | 1709 |
1244 ( 1710 (
1245 { before(grammarAccess.getInterpretationAccess().getCDInterpretationParserRuleCall_2()); } 1711 { before(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); }
1246 ruleCDInterpretation 1712 ruleAggregation
1247 { after(grammarAccess.getInterpretationAccess().getCDInterpretationParserRuleCall_2()); } 1713 { after(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); }
1248 ) 1714 )
1249; 1715;
1250finally { 1716finally {
1251 restoreStackSize(stackSize); 1717 restoreStackSize(stackSize);
1252} 1718}
1253 1719
1254rule__Symbol__Alternatives 1720rule__AtomicExpression__Alternatives
1255 @init { 1721 @init {
1256 int stackSize = keepStackSize(); 1722 int stackSize = keepStackSize();
1257 } 1723 }
1258: 1724:
1259 ( 1725 (
1260 { before(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0()); } 1726 { before(grammarAccess.getAtomicExpressionAccess().getGroup_0()); }
1261 ruleModelSymbol 1727 (rule__AtomicExpression__Group_0__0)
1262 { after(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0()); } 1728 { after(grammarAccess.getAtomicExpressionAccess().getGroup_0()); }
1263 ) 1729 )
1264 | 1730 |
1265 ( 1731 (
1266 { before(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1()); } 1732 { before(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_1()); }
1267 rulePartialitySymbol 1733 ruleInterval
1268 { after(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1()); } 1734 { after(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_1()); }
1269 ) 1735 )
1270 | 1736 |
1271 ( 1737 (
1272 { before(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2()); } 1738 { before(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_2()); }
1273 ruleDataSymbol 1739 ruleLiteral
1274 { after(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2()); } 1740 { after(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_2()); }
1741 )
1742 |
1743 (
1744 { before(grammarAccess.getAtomicExpressionAccess().getGroup_3()); }
1745 (rule__AtomicExpression__Group_3__0)
1746 { after(grammarAccess.getAtomicExpressionAccess().getGroup_3()); }
1275 ) 1747 )
1276; 1748;
1277finally { 1749finally {
1278 restoreStackSize(stackSize); 1750 restoreStackSize(stackSize);
1279} 1751}
1280 1752
1281rule__PartialitySymbol__Alternatives 1753rule__Call__Alternatives_1
1282 @init { 1754 @init {
1283 int stackSize = keepStackSize(); 1755 int stackSize = keepStackSize();
1284 } 1756 }
1285: 1757:
1286 ( 1758 (
1287 { before(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0()); } 1759 { before(grammarAccess.getCallAccess().getTransitiveClosureAssignment_1_0()); }
1288 ruleExistSymbol 1760 (rule__Call__TransitiveClosureAssignment_1_0)
1289 { after(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0()); } 1761 { after(grammarAccess.getCallAccess().getTransitiveClosureAssignment_1_0()); }
1290 ) 1762 )
1291 | 1763 |
1292 ( 1764 (
1293 { before(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1()); } 1765 { before(grammarAccess.getCallAccess().getReflexiveTransitiveClosureAssignment_1_1()); }
1294 ruleEqualsSymbol 1766 (rule__Call__ReflexiveTransitiveClosureAssignment_1_1)
1295 { after(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1()); } 1767 { after(grammarAccess.getCallAccess().getReflexiveTransitiveClosureAssignment_1_1()); }
1296 ) 1768 )
1297; 1769;
1298finally { 1770finally {
1299 restoreStackSize(stackSize); 1771 restoreStackSize(stackSize);
1300} 1772}
1301 1773
1302rule__DataSymbol__Alternatives 1774rule__Argument__Alternatives
1303 @init { 1775 @init {
1304 int stackSize = keepStackSize(); 1776 int stackSize = keepStackSize();
1305 } 1777 }
1306: 1778:
1307 ( 1779 (
1308 { before(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0()); } 1780 { before(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); }
1309 ruleBooleanSymbol 1781 ruleExpressionArgument
1310 { after(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0()); } 1782 { after(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); }
1311 ) 1783 )
1312 | 1784 |
1313 ( 1785 (
1314 { before(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1()); } 1786 { before(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); }
1315 ruleIntegerSymbol 1787 ruleStarArgument
1316 { after(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1()); } 1788 { after(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); }
1317 ) 1789 )
1318 | 1790 |
1319 ( 1791 (
1320 { before(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2()); } 1792 { before(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); }
1321 ruleRealSymbol 1793 ruleTypedArgument
1322 { after(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2()); } 1794 { after(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); }
1323 ) 1795 )
1324 | 1796 |
1325 ( 1797 (
1326 { before(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3()); } 1798 { before(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); }
1327 ruleStringSymbol 1799 ruleTypedStarArgument
1328 { after(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3()); } 1800 { after(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); }
1329 ) 1801 )
1330; 1802;
1331finally { 1803finally {
1332 restoreStackSize(stackSize); 1804 restoreStackSize(stackSize);
1333} 1805}
1334 1806
1335rule__ComplexObject__Alternatives 1807rule__Literal__Alternatives
1336 @init { 1808 @init {
1337 int stackSize = keepStackSize(); 1809 int stackSize = keepStackSize();
1338 } 1810 }
1339: 1811:
1340 ( 1812 (
1341 { before(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0()); } 1813 { before(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); }
1342 ruleObject 1814 ruleLogicLiteral
1343 { after(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0()); } 1815 { after(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); }
1344 ) 1816 )
1345 | 1817 |
1346 ( 1818 (
1347 { before(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1()); } 1819 { before(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); }
1348 ruleAllInstances 1820 ruleNumericLiteral
1349 { after(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1()); } 1821 { after(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); }
1350 ) 1822 )
1351 | 1823 |
1352 ( 1824 (
1353 { before(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2()); } 1825 { before(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); }
1354 ruleAllObjects 1826 ruleInfinityLiteral
1355 { after(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2()); } 1827 { after(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); }
1828 )
1829 |
1830 (
1831 { before(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); }
1832 ruleEmptyIntervalLiteral
1833 { after(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); }
1834 )
1835 |
1836 (
1837 { before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); }
1838 ruleStringLiteral
1839 { after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); }
1356 ) 1840 )
1357; 1841;
1358finally { 1842finally {
1359 restoreStackSize(stackSize); 1843 restoreStackSize(stackSize);
1360} 1844}
1361 1845
1362rule__Object__Alternatives 1846rule__Multiplicity__Alternatives
1363 @init { 1847 @init {
1364 int stackSize = keepStackSize(); 1848 int stackSize = keepStackSize();
1365 } 1849 }
1366: 1850:
1367 ( 1851 (
1368 { before(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0()); } 1852 { before(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); }
1369 ruleNamedObject 1853 ruleManyMultiplicity
1370 { after(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0()); } 1854 { after(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); }
1371 ) 1855 )
1372 | 1856 |
1373 ( 1857 (
1374 { before(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1()); } 1858 { before(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); }
1375 ruleUnnamedObject 1859 ruleExactMultiplicity
1376 { after(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1()); } 1860 { after(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); }
1377 ) 1861 )
1378 | 1862 |
1379 ( 1863 (
1380 { before(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2()); } 1864 { before(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); }
1381 ruleDataObject 1865 ruleBoundedMultiplicity
1382 { after(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2()); } 1866 { after(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); }
1383 ) 1867 )
1384; 1868;
1385finally { 1869finally {
1386 restoreStackSize(stackSize); 1870 restoreStackSize(stackSize);
1387} 1871}
1388 1872
1389rule__DataObject__Alternatives 1873rule__ScopeDefinition__Alternatives
1390 @init { 1874 @init {
1391 int stackSize = keepStackSize(); 1875 int stackSize = keepStackSize();
1392 } 1876 }
1393: 1877:
1394 ( 1878 (
1395 { before(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0()); } 1879 { before(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); }
1396 ruleBooleanObject 1880 ruleExactScopeDefinition
1397 { after(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0()); } 1881 { after(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); }
1398 ) 1882 )
1399 | 1883 |
1400 ( 1884 (
1401 { before(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1()); } 1885 { before(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); }
1402 ruleIntObject 1886 ruleBoundedScopeDefinition
1403 { after(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1()); } 1887 { after(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); }
1404 ) 1888 )
1405 | 1889 |
1406 ( 1890 (
1407 { before(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2()); } 1891 { before(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); }
1408 ruleRealObject 1892 ruleLowerBoundedScopeDefinition
1409 { after(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2()); } 1893 { after(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); }
1894 )
1895;
1896finally {
1897 restoreStackSize(stackSize);
1898}
1899
1900rule__BoundedScopeDefinition__Alternatives_1
1901 @init {
1902 int stackSize = keepStackSize();
1903 }
1904:
1905 (
1906 { before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0()); }
1907 (rule__BoundedScopeDefinition__Group_1_0__0)
1908 { after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0()); }
1410 ) 1909 )
1411 | 1910 |
1412 ( 1911 (
1413 { before(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3()); } 1912 { before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1()); }
1414 ruleStringObject 1913 (rule__BoundedScopeDefinition__Group_1_1__0)
1415 { after(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3()); } 1914 { after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1()); }
1416 ) 1915 )
1417; 1916;
1418finally { 1917finally {
1419 restoreStackSize(stackSize); 1918 restoreStackSize(stackSize);
1420} 1919}
1421 1920
1422rule__Predicate__Alternatives_4 1921rule__LowerBoundedScopeDefinition__Alternatives_1
1423 @init { 1922 @init {
1424 int stackSize = keepStackSize(); 1923 int stackSize = keepStackSize();
1425 } 1924 }
1426: 1925:
1427 ( 1926 (
1428 { before(grammarAccess.getPredicateAccess().getFalseKeyword_4_0()); } 1927 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_0()); }
1429 'false' 1928 (rule__LowerBoundedScopeDefinition__Group_1_0__0)
1430 { after(grammarAccess.getPredicateAccess().getFalseKeyword_4_0()); } 1929 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_0()); }
1431 ) 1930 )
1432 | 1931 |
1433 ( 1932 (
1434 { before(grammarAccess.getPredicateAccess().getGroup_4_1()); } 1933 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_1()); }
1435 (rule__Predicate__Group_4_1__0) 1934 (rule__LowerBoundedScopeDefinition__Group_1_1__0)
1436 { after(grammarAccess.getPredicateAccess().getGroup_4_1()); } 1935 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_1()); }
1437 ) 1936 )
1438; 1937;
1439finally { 1938finally {
1440 restoreStackSize(stackSize); 1939 restoreStackSize(stackSize);
1441} 1940}
1442 1941
1443rule__PatternBody__Alternatives_1 1942rule__UpperMultiplicty__Alternatives
1444 @init { 1943 @init {
1445 int stackSize = keepStackSize(); 1944 int stackSize = keepStackSize();
1446 } 1945 }
1447: 1946:
1448 ( 1947 (
1449 { before(grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); } 1948 { before(grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0()); }
1450 'true' 1949 RULE_INT
1451 { after(grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); } 1950 { after(grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0()); }
1452 ) 1951 )
1453 | 1952 |
1454 ( 1953 (
1455 { before(grammarAccess.getPatternBodyAccess().getConstraintsAssignment_1_1()); } 1954 { before(grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1()); }
1456 (rule__PatternBody__ConstraintsAssignment_1_1)* 1955 '*'
1457 { after(grammarAccess.getPatternBodyAccess().getConstraintsAssignment_1_1()); } 1956 { after(grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1()); }
1458 ) 1957 )
1459; 1958;
1460finally { 1959finally {
1461 restoreStackSize(stackSize); 1960 restoreStackSize(stackSize);
1462} 1961}
1463 1962
1464rule__Polarity__Alternatives 1963rule__QualifiedName__Alternatives
1465 @init { 1964 @init {
1466 int stackSize = keepStackSize(); 1965 int stackSize = keepStackSize();
1467 } 1966 }
1468: 1967:
1469 ( 1968 (
1470 { before(grammarAccess.getPolarityAccess().getGroup_0()); } 1969 { before(grammarAccess.getQualifiedNameAccess().getGroup_0()); }
1471 (rule__Polarity__Group_0__0) 1970 (rule__QualifiedName__Group_0__0)
1472 { after(grammarAccess.getPolarityAccess().getGroup_0()); } 1971 { after(grammarAccess.getQualifiedNameAccess().getGroup_0()); }
1473 ) 1972 )
1474 | 1973 |
1475 ( 1974 (
1476 { before(grammarAccess.getPolarityAccess().getGroup_1()); } 1975 { before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1()); }
1477 (rule__Polarity__Group_1__0) 1976 RULE_QUOTED_ID
1478 { after(grammarAccess.getPolarityAccess().getGroup_1()); } 1977 { after(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1()); }
1479 ) 1978 )
1480; 1979;
1481finally { 1980finally {
1482 restoreStackSize(stackSize); 1981 restoreStackSize(stackSize);
1483} 1982}
1484 1983
1485rule__Constraint__Alternatives 1984rule__MetricType__Alternatives
1486 @init { 1985 @init {
1487 int stackSize = keepStackSize(); 1986 int stackSize = keepStackSize();
1488 } 1987 }
1489: 1988:
1490 ( 1989 (
1491 { before(grammarAccess.getConstraintAccess().getGroup_0()); } 1990 { before(grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); }
1492 (rule__Constraint__Group_0__0) 1991 ('int')
1493 { after(grammarAccess.getConstraintAccess().getGroup_0()); } 1992 { after(grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); }
1494 ) 1993 )
1495 | 1994 |
1496 ( 1995 (
1497 { before(grammarAccess.getConstraintAccess().getGroup_1()); } 1996 { before(grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1()); }
1498 (rule__Constraint__Group_1__0) 1997 ('real')
1499 { after(grammarAccess.getConstraintAccess().getGroup_1()); } 1998 { after(grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1()); }
1500 ) 1999 )
1501; 2000;
1502finally { 2001finally {
1503 restoreStackSize(stackSize); 2002 restoreStackSize(stackSize);
1504} 2003}
1505 2004
1506rule__ClosureType__Alternatives 2005rule__ComparisonOperator__Alternatives
1507 @init { 2006 @init {
1508 int stackSize = keepStackSize(); 2007 int stackSize = keepStackSize();
1509 } 2008 }
1510: 2009:
1511 ( 2010 (
1512 { before(grammarAccess.getClosureTypeAccess().getGroup_0()); } 2011 { before(grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); }
1513 (rule__ClosureType__Group_0__0) 2012 ('==')
1514 { after(grammarAccess.getClosureTypeAccess().getGroup_0()); } 2013 { after(grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); }
2014 )
2015 |
2016 (
2017 { before(grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); }
2018 ('!=')
2019 { after(grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); }
1515 ) 2020 )
1516 | 2021 |
1517 ( 2022 (
1518 { before(grammarAccess.getClosureTypeAccess().getGroup_1()); } 2023 { before(grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2()); }
1519 (rule__ClosureType__Group_1__0) 2024 ('<')
1520 { after(grammarAccess.getClosureTypeAccess().getGroup_1()); } 2025 { after(grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2()); }
2026 )
2027 |
2028 (
2029 { before(grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); }
2030 ('<=')
2031 { after(grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); }
2032 )
2033 |
2034 (
2035 { before(grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4()); }
2036 ('>')
2037 { after(grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4()); }
2038 )
2039 |
2040 (
2041 { before(grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); }
2042 ('>=')
2043 { after(grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); }
2044 )
2045 |
2046 (
2047 { before(grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6()); }
2048 ('in')
2049 { after(grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6()); }
1521 ) 2050 )
1522; 2051;
1523finally { 2052finally {
1524 restoreStackSize(stackSize); 2053 restoreStackSize(stackSize);
1525} 2054}
1526 2055
1527rule__Literal__Alternatives 2056rule__AdditiveBinaryOperator__Alternatives
1528 @init { 2057 @init {
1529 int stackSize = keepStackSize(); 2058 int stackSize = keepStackSize();
1530 } 2059 }
1531: 2060:
1532 ( 2061 (
1533 { before(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0()); } 2062 { before(grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); }
1534 ruleVariable 2063 ('+')
1535 { after(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0()); } 2064 { after(grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); }
1536 ) 2065 )
1537 | 2066 |
1538 ( 2067 (
1539 { before(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1()); } 2068 { before(grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); }
1540 ruleDataObject 2069 ('-')
1541 { after(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1()); } 2070 { after(grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); }
2071 )
2072;
2073finally {
2074 restoreStackSize(stackSize);
2075}
2076
2077rule__MultiplicativeBinaryOperator__Alternatives
2078 @init {
2079 int stackSize = keepStackSize();
2080 }
2081:
2082 (
2083 { before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); }
2084 ('*')
2085 { after(grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); }
1542 ) 2086 )
1543 | 2087 |
1544 ( 2088 (
1545 { before(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2()); } 2089 { before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); }
1546 ruleNamedObject 2090 ('/')
1547 { after(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2()); } 2091 { after(grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); }
1548 ) 2092 )
1549; 2093;
1550finally { 2094finally {
1551 restoreStackSize(stackSize); 2095 restoreStackSize(stackSize);
1552} 2096}
1553 2097
1554rule__CDInterpretation__Alternatives 2098rule__UnaryOp__Alternatives
1555 @init { 2099 @init {
1556 int stackSize = keepStackSize(); 2100 int stackSize = keepStackSize();
1557 } 2101 }
1558: 2102:
1559 ( 2103 (
1560 { before(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0()); } 2104 { before(grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); }
1561 ruleClassInterpretation 2105 ('!')
1562 { after(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0()); } 2106 { after(grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); }
2107 )
2108 |
2109 (
2110 { before(grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); }
2111 ('+')
2112 { after(grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); }
2113 )
2114 |
2115 (
2116 { before(grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); }
2117 ('-')
2118 { after(grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); }
1563 ) 2119 )
1564 | 2120 |
1565 ( 2121 (
1566 { before(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1()); } 2122 { before(grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3()); }
1567 ruleEnumInterpretation 2123 ('may')
1568 { after(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1()); } 2124 { after(grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3()); }
1569 ) 2125 )
1570 | 2126 |
1571 ( 2127 (
1572 { before(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2()); } 2128 { before(grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4()); }
1573 ruleGlobalRelationInterpretation 2129 ('must')
1574 { after(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2()); } 2130 { after(grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4()); }
2131 )
2132 |
2133 (
2134 { before(grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5()); }
2135 ('current')
2136 { after(grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5()); }
1575 ) 2137 )
1576; 2138;
1577finally { 2139finally {
1578 restoreStackSize(stackSize); 2140 restoreStackSize(stackSize);
1579} 2141}
1580 2142
1581rule__MultiplicityDefinition__Alternatives_2 2143rule__AggregationOp__Alternatives
1582 @init { 2144 @init {
1583 int stackSize = keepStackSize(); 2145 int stackSize = keepStackSize();
1584 } 2146 }
1585: 2147:
1586 ( 2148 (
1587 { before(grammarAccess.getMultiplicityDefinitionAccess().getUpperAssignment_2_0()); } 2149 { before(grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); }
1588 (rule__MultiplicityDefinition__UpperAssignment_2_0) 2150 ('only')
1589 { after(grammarAccess.getMultiplicityDefinitionAccess().getUpperAssignment_2_0()); } 2151 { after(grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); }
2152 )
2153 |
2154 (
2155 { before(grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); }
2156 ('sum')
2157 { after(grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); }
1590 ) 2158 )
1591 | 2159 |
1592 ( 2160 (
1593 { before(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAssignment_2_1()); } 2161 { before(grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2()); }
1594 (rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1) 2162 ('prod')
1595 { after(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAssignment_2_1()); } 2163 { after(grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2()); }
2164 )
2165 |
2166 (
2167 { before(grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); }
2168 ('avg')
2169 { after(grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); }
2170 )
2171 |
2172 (
2173 { before(grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); }
2174 ('min')
2175 { after(grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); }
2176 )
2177 |
2178 (
2179 { before(grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); }
2180 ('max')
2181 { after(grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); }
1596 ) 2182 )
1597; 2183;
1598finally { 2184finally {
1599 restoreStackSize(stackSize); 2185 restoreStackSize(stackSize);
1600} 2186}
1601 2187
1602rule__REALLiteral__Group__0 2188rule__LogicValue__Alternatives
1603 @init { 2189 @init {
1604 int stackSize = keepStackSize(); 2190 int stackSize = keepStackSize();
1605 } 2191 }
1606: 2192:
1607 rule__REALLiteral__Group__0__Impl 2193 (
1608 rule__REALLiteral__Group__1 2194 { before(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); }
2195 ('true')
2196 { after(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); }
2197 )
2198 |
2199 (
2200 { before(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); }
2201 ('false')
2202 { after(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); }
2203 )
2204 |
2205 (
2206 { before(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); }
2207 ('unknown')
2208 { after(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); }
2209 )
2210 |
2211 (
2212 { before(grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3()); }
2213 ('error')
2214 { after(grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3()); }
2215 )
1609; 2216;
1610finally { 2217finally {
1611 restoreStackSize(stackSize); 2218 restoreStackSize(stackSize);
1612} 2219}
1613 2220
1614rule__REALLiteral__Group__0__Impl 2221rule__ObjectiveKind__Alternatives
2222 @init {
2223 int stackSize = keepStackSize();
2224 }
2225:
2226 (
2227 { before(grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); }
2228 ('minimize')
2229 { after(grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); }
2230 )
2231 |
2232 (
2233 { before(grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); }
2234 ('maximize')
2235 { after(grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); }
2236 )
2237;
2238finally {
2239 restoreStackSize(stackSize);
2240}
2241
2242rule__Statement__Group__0
2243 @init {
2244 int stackSize = keepStackSize();
2245 }
2246:
2247 rule__Statement__Group__0__Impl
2248 rule__Statement__Group__1
2249;
2250finally {
2251 restoreStackSize(stackSize);
2252}
2253
2254rule__Statement__Group__0__Impl
1615 @init { 2255 @init {
1616 int stackSize = keepStackSize(); 2256 int stackSize = keepStackSize();
1617 } 2257 }
1618: 2258:
1619( 2259(
1620 { before(grammarAccess.getREALLiteralAccess().getHyphenMinusKeyword_0()); } 2260 { before(grammarAccess.getStatementAccess().getAlternatives_0()); }
1621 ('-')? 2261 (rule__Statement__Alternatives_0)
1622 { after(grammarAccess.getREALLiteralAccess().getHyphenMinusKeyword_0()); } 2262 { after(grammarAccess.getStatementAccess().getAlternatives_0()); }
1623) 2263)
1624; 2264;
1625finally { 2265finally {
1626 restoreStackSize(stackSize); 2266 restoreStackSize(stackSize);
1627} 2267}
1628 2268
1629rule__REALLiteral__Group__1 2269rule__Statement__Group__1
1630 @init { 2270 @init {
1631 int stackSize = keepStackSize(); 2271 int stackSize = keepStackSize();
1632 } 2272 }
1633: 2273:
1634 rule__REALLiteral__Group__1__Impl 2274 rule__Statement__Group__1__Impl
1635 rule__REALLiteral__Group__2
1636; 2275;
1637finally { 2276finally {
1638 restoreStackSize(stackSize); 2277 restoreStackSize(stackSize);
1639} 2278}
1640 2279
1641rule__REALLiteral__Group__1__Impl 2280rule__Statement__Group__1__Impl
1642 @init { 2281 @init {
1643 int stackSize = keepStackSize(); 2282 int stackSize = keepStackSize();
1644 } 2283 }
1645: 2284:
1646( 2285(
1647 { before(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_1()); } 2286 { before(grammarAccess.getStatementAccess().getDOTTerminalRuleCall_1()); }
1648 RULE_INT 2287 RULE_DOT
1649 { after(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_1()); } 2288 { after(grammarAccess.getStatementAccess().getDOTTerminalRuleCall_1()); }
1650) 2289)
1651; 2290;
1652finally { 2291finally {
1653 restoreStackSize(stackSize); 2292 restoreStackSize(stackSize);
1654} 2293}
1655 2294
1656rule__REALLiteral__Group__2 2295
2296rule__AssertionOrDefinition__Group__0
1657 @init { 2297 @init {
1658 int stackSize = keepStackSize(); 2298 int stackSize = keepStackSize();
1659 } 2299 }
1660: 2300:
1661 rule__REALLiteral__Group__2__Impl 2301 rule__AssertionOrDefinition__Group__0__Impl
1662 rule__REALLiteral__Group__3 2302 rule__AssertionOrDefinition__Group__1
1663; 2303;
1664finally { 2304finally {
1665 restoreStackSize(stackSize); 2305 restoreStackSize(stackSize);
1666} 2306}
1667 2307
1668rule__REALLiteral__Group__2__Impl 2308rule__AssertionOrDefinition__Group__0__Impl
1669 @init { 2309 @init {
1670 int stackSize = keepStackSize(); 2310 int stackSize = keepStackSize();
1671 } 2311 }
1672: 2312:
1673( 2313(
1674 { before(grammarAccess.getREALLiteralAccess().getFullStopKeyword_2()); } 2314 { before(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); }
1675 '.' 2315 ruleExpression
1676 { after(grammarAccess.getREALLiteralAccess().getFullStopKeyword_2()); } 2316 { after(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); }
1677) 2317)
1678; 2318;
1679finally { 2319finally {
1680 restoreStackSize(stackSize); 2320 restoreStackSize(stackSize);
1681} 2321}
1682 2322
1683rule__REALLiteral__Group__3 2323rule__AssertionOrDefinition__Group__1
1684 @init { 2324 @init {
1685 int stackSize = keepStackSize(); 2325 int stackSize = keepStackSize();
1686 } 2326 }
1687: 2327:
1688 rule__REALLiteral__Group__3__Impl 2328 rule__AssertionOrDefinition__Group__1__Impl
1689; 2329;
1690finally { 2330finally {
1691 restoreStackSize(stackSize); 2331 restoreStackSize(stackSize);
1692} 2332}
1693 2333
1694rule__REALLiteral__Group__3__Impl 2334rule__AssertionOrDefinition__Group__1__Impl
1695 @init { 2335 @init {
1696 int stackSize = keepStackSize(); 2336 int stackSize = keepStackSize();
1697 } 2337 }
1698: 2338:
1699( 2339(
1700 { before(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_3()); } 2340 { before(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1()); }
1701 RULE_INT 2341 (rule__AssertionOrDefinition__Alternatives_1)
1702 { after(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_3()); } 2342 { after(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1()); }
1703) 2343)
1704; 2344;
1705finally { 2345finally {
@@ -1707,53 +2347,53 @@ finally {
1707} 2347}
1708 2348
1709 2349
1710rule__INTLiteral__Group__0 2350rule__AssertionOrDefinition__Group_1_0__0
1711 @init { 2351 @init {
1712 int stackSize = keepStackSize(); 2352 int stackSize = keepStackSize();
1713 } 2353 }
1714: 2354:
1715 rule__INTLiteral__Group__0__Impl 2355 rule__AssertionOrDefinition__Group_1_0__0__Impl
1716 rule__INTLiteral__Group__1 2356 rule__AssertionOrDefinition__Group_1_0__1
1717; 2357;
1718finally { 2358finally {
1719 restoreStackSize(stackSize); 2359 restoreStackSize(stackSize);
1720} 2360}
1721 2361
1722rule__INTLiteral__Group__0__Impl 2362rule__AssertionOrDefinition__Group_1_0__0__Impl
1723 @init { 2363 @init {
1724 int stackSize = keepStackSize(); 2364 int stackSize = keepStackSize();
1725 } 2365 }
1726: 2366:
1727( 2367(
1728 { before(grammarAccess.getINTLiteralAccess().getHyphenMinusKeyword_0()); } 2368 { before(grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0()); }
1729 ('-')? 2369 ()
1730 { after(grammarAccess.getINTLiteralAccess().getHyphenMinusKeyword_0()); } 2370 { after(grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0()); }
1731) 2371)
1732; 2372;
1733finally { 2373finally {
1734 restoreStackSize(stackSize); 2374 restoreStackSize(stackSize);
1735} 2375}
1736 2376
1737rule__INTLiteral__Group__1 2377rule__AssertionOrDefinition__Group_1_0__1
1738 @init { 2378 @init {
1739 int stackSize = keepStackSize(); 2379 int stackSize = keepStackSize();
1740 } 2380 }
1741: 2381:
1742 rule__INTLiteral__Group__1__Impl 2382 rule__AssertionOrDefinition__Group_1_0__1__Impl
1743; 2383;
1744finally { 2384finally {
1745 restoreStackSize(stackSize); 2385 restoreStackSize(stackSize);
1746} 2386}
1747 2387
1748rule__INTLiteral__Group__1__Impl 2388rule__AssertionOrDefinition__Group_1_0__1__Impl
1749 @init { 2389 @init {
1750 int stackSize = keepStackSize(); 2390 int stackSize = keepStackSize();
1751 } 2391 }
1752: 2392:
1753( 2393(
1754 { before(grammarAccess.getINTLiteralAccess().getINTTerminalRuleCall_1()); } 2394 { before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0_1()); }
1755 RULE_INT 2395 (rule__AssertionOrDefinition__Group_1_0_1__0)?
1756 { after(grammarAccess.getINTLiteralAccess().getINTTerminalRuleCall_1()); } 2396 { after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0_1()); }
1757) 2397)
1758; 2398;
1759finally { 2399finally {
@@ -1761,53 +2401,53 @@ finally {
1761} 2401}
1762 2402
1763 2403
1764rule__BooleanValue__Group_0__0 2404rule__AssertionOrDefinition__Group_1_0_1__0
1765 @init { 2405 @init {
1766 int stackSize = keepStackSize(); 2406 int stackSize = keepStackSize();
1767 } 2407 }
1768: 2408:
1769 rule__BooleanValue__Group_0__0__Impl 2409 rule__AssertionOrDefinition__Group_1_0_1__0__Impl
1770 rule__BooleanValue__Group_0__1 2410 rule__AssertionOrDefinition__Group_1_0_1__1
1771; 2411;
1772finally { 2412finally {
1773 restoreStackSize(stackSize); 2413 restoreStackSize(stackSize);
1774} 2414}
1775 2415
1776rule__BooleanValue__Group_0__0__Impl 2416rule__AssertionOrDefinition__Group_1_0_1__0__Impl
1777 @init { 2417 @init {
1778 int stackSize = keepStackSize(); 2418 int stackSize = keepStackSize();
1779 } 2419 }
1780: 2420:
1781( 2421(
1782 { before(grammarAccess.getBooleanValueAccess().getBooleanTrueAction_0_0()); } 2422 { before(grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); }
1783 () 2423 ':'
1784 { after(grammarAccess.getBooleanValueAccess().getBooleanTrueAction_0_0()); } 2424 { after(grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); }
1785) 2425)
1786; 2426;
1787finally { 2427finally {
1788 restoreStackSize(stackSize); 2428 restoreStackSize(stackSize);
1789} 2429}
1790 2430
1791rule__BooleanValue__Group_0__1 2431rule__AssertionOrDefinition__Group_1_0_1__1
1792 @init { 2432 @init {
1793 int stackSize = keepStackSize(); 2433 int stackSize = keepStackSize();
1794 } 2434 }
1795: 2435:
1796 rule__BooleanValue__Group_0__1__Impl 2436 rule__AssertionOrDefinition__Group_1_0_1__1__Impl
1797; 2437;
1798finally { 2438finally {
1799 restoreStackSize(stackSize); 2439 restoreStackSize(stackSize);
1800} 2440}
1801 2441
1802rule__BooleanValue__Group_0__1__Impl 2442rule__AssertionOrDefinition__Group_1_0_1__1__Impl
1803 @init { 2443 @init {
1804 int stackSize = keepStackSize(); 2444 int stackSize = keepStackSize();
1805 } 2445 }
1806: 2446:
1807( 2447(
1808 { before(grammarAccess.getBooleanValueAccess().getTrueKeyword_0_1()); } 2448 { before(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_1_1()); }
1809 'true' 2449 (rule__AssertionOrDefinition__RangeAssignment_1_0_1_1)
1810 { after(grammarAccess.getBooleanValueAccess().getTrueKeyword_0_1()); } 2450 { after(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_1_1()); }
1811) 2451)
1812; 2452;
1813finally { 2453finally {
@@ -1815,53 +2455,80 @@ finally {
1815} 2455}
1816 2456
1817 2457
1818rule__BooleanValue__Group_1__0 2458rule__AssertionOrDefinition__Group_1_1__0
1819 @init { 2459 @init {
1820 int stackSize = keepStackSize(); 2460 int stackSize = keepStackSize();
1821 } 2461 }
1822: 2462:
1823 rule__BooleanValue__Group_1__0__Impl 2463 rule__AssertionOrDefinition__Group_1_1__0__Impl
1824 rule__BooleanValue__Group_1__1 2464 rule__AssertionOrDefinition__Group_1_1__1
1825; 2465;
1826finally { 2466finally {
1827 restoreStackSize(stackSize); 2467 restoreStackSize(stackSize);
1828} 2468}
1829 2469
1830rule__BooleanValue__Group_1__0__Impl 2470rule__AssertionOrDefinition__Group_1_1__0__Impl
1831 @init { 2471 @init {
1832 int stackSize = keepStackSize(); 2472 int stackSize = keepStackSize();
1833 } 2473 }
1834: 2474:
1835( 2475(
1836 { before(grammarAccess.getBooleanValueAccess().getFalseKeyword_1_0()); } 2476 { before(grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0()); }
1837 'false' 2477 ()
1838 { after(grammarAccess.getBooleanValueAccess().getFalseKeyword_1_0()); } 2478 { after(grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0()); }
1839) 2479)
1840; 2480;
1841finally { 2481finally {
1842 restoreStackSize(stackSize); 2482 restoreStackSize(stackSize);
1843} 2483}
1844 2484
1845rule__BooleanValue__Group_1__1 2485rule__AssertionOrDefinition__Group_1_1__1
1846 @init { 2486 @init {
1847 int stackSize = keepStackSize(); 2487 int stackSize = keepStackSize();
1848 } 2488 }
1849: 2489:
1850 rule__BooleanValue__Group_1__1__Impl 2490 rule__AssertionOrDefinition__Group_1_1__1__Impl
2491 rule__AssertionOrDefinition__Group_1_1__2
1851; 2492;
1852finally { 2493finally {
1853 restoreStackSize(stackSize); 2494 restoreStackSize(stackSize);
1854} 2495}
1855 2496
1856rule__BooleanValue__Group_1__1__Impl 2497rule__AssertionOrDefinition__Group_1_1__1__Impl
1857 @init { 2498 @init {
1858 int stackSize = keepStackSize(); 2499 int stackSize = keepStackSize();
1859 } 2500 }
1860: 2501:
1861( 2502(
1862 { before(grammarAccess.getBooleanValueAccess().getBooleanFalseAction_1_1()); } 2503 { before(grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); }
1863 () 2504 ':-'
1864 { after(grammarAccess.getBooleanValueAccess().getBooleanFalseAction_1_1()); } 2505 { after(grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); }
2506)
2507;
2508finally {
2509 restoreStackSize(stackSize);
2510}
2511
2512rule__AssertionOrDefinition__Group_1_1__2
2513 @init {
2514 int stackSize = keepStackSize();
2515 }
2516:
2517 rule__AssertionOrDefinition__Group_1_1__2__Impl
2518;
2519finally {
2520 restoreStackSize(stackSize);
2521}
2522
2523rule__AssertionOrDefinition__Group_1_1__2__Impl
2524 @init {
2525 int stackSize = keepStackSize();
2526 }
2527:
2528(
2529 { before(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_1_2()); }
2530 (rule__AssertionOrDefinition__BodyAssignment_1_1_2)
2531 { after(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_1_2()); }
1865) 2532)
1866; 2533;
1867finally { 2534finally {
@@ -1869,215 +2536,404 @@ finally {
1869} 2536}
1870 2537
1871 2538
1872rule__TruthValue__Group_0__0 2539rule__AssertionOrDefinition__Group_1_2__0
1873 @init { 2540 @init {
1874 int stackSize = keepStackSize(); 2541 int stackSize = keepStackSize();
1875 } 2542 }
1876: 2543:
1877 rule__TruthValue__Group_0__0__Impl 2544 rule__AssertionOrDefinition__Group_1_2__0__Impl
1878 rule__TruthValue__Group_0__1 2545 rule__AssertionOrDefinition__Group_1_2__1
1879; 2546;
1880finally { 2547finally {
1881 restoreStackSize(stackSize); 2548 restoreStackSize(stackSize);
1882} 2549}
1883 2550
1884rule__TruthValue__Group_0__0__Impl 2551rule__AssertionOrDefinition__Group_1_2__0__Impl
1885 @init { 2552 @init {
1886 int stackSize = keepStackSize(); 2553 int stackSize = keepStackSize();
1887 } 2554 }
1888: 2555:
1889( 2556(
1890 { before(grammarAccess.getTruthValueAccess().getTrueAction_0_0()); } 2557 { before(grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0()); }
1891 () 2558 ()
1892 { after(grammarAccess.getTruthValueAccess().getTrueAction_0_0()); } 2559 { after(grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0()); }
1893) 2560)
1894; 2561;
1895finally { 2562finally {
1896 restoreStackSize(stackSize); 2563 restoreStackSize(stackSize);
1897} 2564}
1898 2565
1899rule__TruthValue__Group_0__1 2566rule__AssertionOrDefinition__Group_1_2__1
1900 @init { 2567 @init {
1901 int stackSize = keepStackSize(); 2568 int stackSize = keepStackSize();
1902 } 2569 }
1903: 2570:
1904 rule__TruthValue__Group_0__1__Impl 2571 rule__AssertionOrDefinition__Group_1_2__1__Impl
2572 rule__AssertionOrDefinition__Group_1_2__2
1905; 2573;
1906finally { 2574finally {
1907 restoreStackSize(stackSize); 2575 restoreStackSize(stackSize);
1908} 2576}
1909 2577
1910rule__TruthValue__Group_0__1__Impl 2578rule__AssertionOrDefinition__Group_1_2__1__Impl
1911 @init { 2579 @init {
1912 int stackSize = keepStackSize(); 2580 int stackSize = keepStackSize();
1913 } 2581 }
1914: 2582:
1915( 2583(
1916 { before(grammarAccess.getTruthValueAccess().getTrueKeyword_0_1()); } 2584 { before(grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); }
1917 'true' 2585 '='
1918 { after(grammarAccess.getTruthValueAccess().getTrueKeyword_0_1()); } 2586 { after(grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); }
1919) 2587)
1920; 2588;
1921finally { 2589finally {
1922 restoreStackSize(stackSize); 2590 restoreStackSize(stackSize);
1923} 2591}
1924 2592
2593rule__AssertionOrDefinition__Group_1_2__2
2594 @init {
2595 int stackSize = keepStackSize();
2596 }
2597:
2598 rule__AssertionOrDefinition__Group_1_2__2__Impl
2599;
2600finally {
2601 restoreStackSize(stackSize);
2602}
1925 2603
1926rule__TruthValue__Group_1__0 2604rule__AssertionOrDefinition__Group_1_2__2__Impl
1927 @init { 2605 @init {
1928 int stackSize = keepStackSize(); 2606 int stackSize = keepStackSize();
1929 } 2607 }
1930: 2608:
1931 rule__TruthValue__Group_1__0__Impl 2609(
1932 rule__TruthValue__Group_1__1 2610 { before(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_2_2()); }
2611 (rule__AssertionOrDefinition__BodyAssignment_1_2_2)
2612 { after(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_2_2()); }
2613)
1933; 2614;
1934finally { 2615finally {
1935 restoreStackSize(stackSize); 2616 restoreStackSize(stackSize);
1936} 2617}
1937 2618
1938rule__TruthValue__Group_1__0__Impl 2619
2620rule__PredicateDefinition__Group__0
2621 @init {
2622 int stackSize = keepStackSize();
2623 }
2624:
2625 rule__PredicateDefinition__Group__0__Impl
2626 rule__PredicateDefinition__Group__1
2627;
2628finally {
2629 restoreStackSize(stackSize);
2630}
2631
2632rule__PredicateDefinition__Group__0__Impl
1939 @init { 2633 @init {
1940 int stackSize = keepStackSize(); 2634 int stackSize = keepStackSize();
1941 } 2635 }
1942: 2636:
1943( 2637(
1944 { before(grammarAccess.getTruthValueAccess().getFalseAction_1_0()); } 2638 { before(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0()); }
1945 () 2639 (rule__PredicateDefinition__Alternatives_0)
1946 { after(grammarAccess.getTruthValueAccess().getFalseAction_1_0()); } 2640 { after(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0()); }
1947) 2641)
1948; 2642;
1949finally { 2643finally {
1950 restoreStackSize(stackSize); 2644 restoreStackSize(stackSize);
1951} 2645}
1952 2646
1953rule__TruthValue__Group_1__1 2647rule__PredicateDefinition__Group__1
1954 @init { 2648 @init {
1955 int stackSize = keepStackSize(); 2649 int stackSize = keepStackSize();
1956 } 2650 }
1957: 2651:
1958 rule__TruthValue__Group_1__1__Impl 2652 rule__PredicateDefinition__Group__1__Impl
2653 rule__PredicateDefinition__Group__2
1959; 2654;
1960finally { 2655finally {
1961 restoreStackSize(stackSize); 2656 restoreStackSize(stackSize);
1962} 2657}
1963 2658
1964rule__TruthValue__Group_1__1__Impl 2659rule__PredicateDefinition__Group__1__Impl
1965 @init { 2660 @init {
1966 int stackSize = keepStackSize(); 2661 int stackSize = keepStackSize();
1967 } 2662 }
1968: 2663:
1969( 2664(
1970 { before(grammarAccess.getTruthValueAccess().getFalseKeyword_1_1()); } 2665 { before(grammarAccess.getPredicateDefinitionAccess().getHeadAssignment_1()); }
1971 'false' 2666 (rule__PredicateDefinition__HeadAssignment_1)
1972 { after(grammarAccess.getTruthValueAccess().getFalseKeyword_1_1()); } 2667 { after(grammarAccess.getPredicateDefinitionAccess().getHeadAssignment_1()); }
1973) 2668)
1974; 2669;
1975finally { 2670finally {
1976 restoreStackSize(stackSize); 2671 restoreStackSize(stackSize);
1977} 2672}
1978 2673
2674rule__PredicateDefinition__Group__2
2675 @init {
2676 int stackSize = keepStackSize();
2677 }
2678:
2679 rule__PredicateDefinition__Group__2__Impl
2680 rule__PredicateDefinition__Group__3
2681;
2682finally {
2683 restoreStackSize(stackSize);
2684}
2685
2686rule__PredicateDefinition__Group__2__Impl
2687 @init {
2688 int stackSize = keepStackSize();
2689 }
2690:
2691(
2692 { before(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); }
2693 ':-'
2694 { after(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); }
2695)
2696;
2697finally {
2698 restoreStackSize(stackSize);
2699}
1979 2700
1980rule__TruthValue__Group_2__0 2701rule__PredicateDefinition__Group__3
1981 @init { 2702 @init {
1982 int stackSize = keepStackSize(); 2703 int stackSize = keepStackSize();
1983 } 2704 }
1984: 2705:
1985 rule__TruthValue__Group_2__0__Impl 2706 rule__PredicateDefinition__Group__3__Impl
1986 rule__TruthValue__Group_2__1
1987; 2707;
1988finally { 2708finally {
1989 restoreStackSize(stackSize); 2709 restoreStackSize(stackSize);
1990} 2710}
1991 2711
1992rule__TruthValue__Group_2__0__Impl 2712rule__PredicateDefinition__Group__3__Impl
1993 @init { 2713 @init {
1994 int stackSize = keepStackSize(); 2714 int stackSize = keepStackSize();
1995 } 2715 }
1996: 2716:
1997( 2717(
1998 { before(grammarAccess.getTruthValueAccess().getUnknownAction_2_0()); } 2718 { before(grammarAccess.getPredicateDefinitionAccess().getBodyAssignment_3()); }
1999 () 2719 (rule__PredicateDefinition__BodyAssignment_3)
2000 { after(grammarAccess.getTruthValueAccess().getUnknownAction_2_0()); } 2720 { after(grammarAccess.getPredicateDefinitionAccess().getBodyAssignment_3()); }
2001) 2721)
2002; 2722;
2003finally { 2723finally {
2004 restoreStackSize(stackSize); 2724 restoreStackSize(stackSize);
2005} 2725}
2006 2726
2007rule__TruthValue__Group_2__1 2727
2728rule__PredicateDefinition__Group_0_0__0
2008 @init { 2729 @init {
2009 int stackSize = keepStackSize(); 2730 int stackSize = keepStackSize();
2010 } 2731 }
2011: 2732:
2012 rule__TruthValue__Group_2__1__Impl 2733 rule__PredicateDefinition__Group_0_0__0__Impl
2734 rule__PredicateDefinition__Group_0_0__1
2013; 2735;
2014finally { 2736finally {
2015 restoreStackSize(stackSize); 2737 restoreStackSize(stackSize);
2016} 2738}
2017 2739
2018rule__TruthValue__Group_2__1__Impl 2740rule__PredicateDefinition__Group_0_0__0__Impl
2019 @init { 2741 @init {
2020 int stackSize = keepStackSize(); 2742 int stackSize = keepStackSize();
2021 } 2743 }
2022: 2744:
2023( 2745(
2024 { before(grammarAccess.getTruthValueAccess().getUnknownKeyword_2_1()); } 2746 { before(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_0_0()); }
2025 'unknown' 2747 (rule__PredicateDefinition__FunctionalAssignment_0_0_0)
2026 { after(grammarAccess.getTruthValueAccess().getUnknownKeyword_2_1()); } 2748 { after(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_0_0()); }
2027) 2749)
2028; 2750;
2029finally { 2751finally {
2030 restoreStackSize(stackSize); 2752 restoreStackSize(stackSize);
2031} 2753}
2032 2754
2755rule__PredicateDefinition__Group_0_0__1
2756 @init {
2757 int stackSize = keepStackSize();
2758 }
2759:
2760 rule__PredicateDefinition__Group_0_0__1__Impl
2761;
2762finally {
2763 restoreStackSize(stackSize);
2764}
2033 2765
2034rule__TruthValue__Group_3__0 2766rule__PredicateDefinition__Group_0_0__1__Impl
2035 @init { 2767 @init {
2036 int stackSize = keepStackSize(); 2768 int stackSize = keepStackSize();
2037 } 2769 }
2038: 2770:
2039 rule__TruthValue__Group_3__0__Impl 2771(
2040 rule__TruthValue__Group_3__1 2772 { before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_1()); }
2773 (rule__PredicateDefinition__ErrorAssignment_0_0_1)?
2774 { after(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_1()); }
2775)
2041; 2776;
2042finally { 2777finally {
2043 restoreStackSize(stackSize); 2778 restoreStackSize(stackSize);
2044} 2779}
2045 2780
2046rule__TruthValue__Group_3__0__Impl 2781
2782rule__PredicateDefinition__Group_0_1__0
2783 @init {
2784 int stackSize = keepStackSize();
2785 }
2786:
2787 rule__PredicateDefinition__Group_0_1__0__Impl
2788 rule__PredicateDefinition__Group_0_1__1
2789;
2790finally {
2791 restoreStackSize(stackSize);
2792}
2793
2794rule__PredicateDefinition__Group_0_1__0__Impl
2047 @init { 2795 @init {
2048 int stackSize = keepStackSize(); 2796 int stackSize = keepStackSize();
2049 } 2797 }
2050: 2798:
2051( 2799(
2052 { before(grammarAccess.getTruthValueAccess().getErrorAction_3_0()); } 2800 { before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_1_0()); }
2053 () 2801 (rule__PredicateDefinition__ErrorAssignment_0_1_0)
2054 { after(grammarAccess.getTruthValueAccess().getErrorAction_3_0()); } 2802 { after(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_1_0()); }
2803)
2804;
2805finally {
2806 restoreStackSize(stackSize);
2807}
2808
2809rule__PredicateDefinition__Group_0_1__1
2810 @init {
2811 int stackSize = keepStackSize();
2812 }
2813:
2814 rule__PredicateDefinition__Group_0_1__1__Impl
2815;
2816finally {
2817 restoreStackSize(stackSize);
2818}
2819
2820rule__PredicateDefinition__Group_0_1__1__Impl
2821 @init {
2822 int stackSize = keepStackSize();
2823 }
2824:
2825(
2826 { before(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_1_1()); }
2827 (rule__PredicateDefinition__FunctionalAssignment_0_1_1)?
2828 { after(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_1_1()); }
2055) 2829)
2056; 2830;
2057finally { 2831finally {
2058 restoreStackSize(stackSize); 2832 restoreStackSize(stackSize);
2059} 2833}
2060 2834
2061rule__TruthValue__Group_3__1 2835
2836rule__UnnamedErrorPrediateDefinition__Group__0
2062 @init { 2837 @init {
2063 int stackSize = keepStackSize(); 2838 int stackSize = keepStackSize();
2064 } 2839 }
2065: 2840:
2066 rule__TruthValue__Group_3__1__Impl 2841 rule__UnnamedErrorPrediateDefinition__Group__0__Impl
2842 rule__UnnamedErrorPrediateDefinition__Group__1
2067; 2843;
2068finally { 2844finally {
2069 restoreStackSize(stackSize); 2845 restoreStackSize(stackSize);
2070} 2846}
2071 2847
2072rule__TruthValue__Group_3__1__Impl 2848rule__UnnamedErrorPrediateDefinition__Group__0__Impl
2073 @init { 2849 @init {
2074 int stackSize = keepStackSize(); 2850 int stackSize = keepStackSize();
2075 } 2851 }
2076: 2852:
2077( 2853(
2078 { before(grammarAccess.getTruthValueAccess().getErrorKeyword_3_1()); } 2854 { before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); }
2079 'error' 2855 'error'
2080 { after(grammarAccess.getTruthValueAccess().getErrorKeyword_3_1()); } 2856 { after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); }
2857)
2858;
2859finally {
2860 restoreStackSize(stackSize);
2861}
2862
2863rule__UnnamedErrorPrediateDefinition__Group__1
2864 @init {
2865 int stackSize = keepStackSize();
2866 }
2867:
2868 rule__UnnamedErrorPrediateDefinition__Group__1__Impl
2869 rule__UnnamedErrorPrediateDefinition__Group__2
2870;
2871finally {
2872 restoreStackSize(stackSize);
2873}
2874
2875rule__UnnamedErrorPrediateDefinition__Group__1__Impl
2876 @init {
2877 int stackSize = keepStackSize();
2878 }
2879:
2880(
2881 { before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListAssignment_1()); }
2882 (rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1)
2883 { after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListAssignment_1()); }
2884)
2885;
2886finally {
2887 restoreStackSize(stackSize);
2888}
2889
2890rule__UnnamedErrorPrediateDefinition__Group__2
2891 @init {
2892 int stackSize = keepStackSize();
2893 }
2894:
2895 rule__UnnamedErrorPrediateDefinition__Group__2__Impl
2896 rule__UnnamedErrorPrediateDefinition__Group__3
2897;
2898finally {
2899 restoreStackSize(stackSize);
2900}
2901
2902rule__UnnamedErrorPrediateDefinition__Group__2__Impl
2903 @init {
2904 int stackSize = keepStackSize();
2905 }
2906:
2907(
2908 { before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); }
2909 ':-'
2910 { after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); }
2911)
2912;
2913finally {
2914 restoreStackSize(stackSize);
2915}
2916
2917rule__UnnamedErrorPrediateDefinition__Group__3
2918 @init {
2919 int stackSize = keepStackSize();
2920 }
2921:
2922 rule__UnnamedErrorPrediateDefinition__Group__3__Impl
2923;
2924finally {
2925 restoreStackSize(stackSize);
2926}
2927
2928rule__UnnamedErrorPrediateDefinition__Group__3__Impl
2929 @init {
2930 int stackSize = keepStackSize();
2931 }
2932:
2933(
2934 { before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyAssignment_3()); }
2935 (rule__UnnamedErrorPrediateDefinition__BodyAssignment_3)
2936 { after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyAssignment_3()); }
2081) 2937)
2082; 2938;
2083finally { 2939finally {
@@ -2085,107 +2941,107 @@ finally {
2085} 2941}
2086 2942
2087 2943
2088rule__BasicInterpretation__Group__0 2944rule__DefaultDefinition__Group__0
2089 @init { 2945 @init {
2090 int stackSize = keepStackSize(); 2946 int stackSize = keepStackSize();
2091 } 2947 }
2092: 2948:
2093 rule__BasicInterpretation__Group__0__Impl 2949 rule__DefaultDefinition__Group__0__Impl
2094 rule__BasicInterpretation__Group__1 2950 rule__DefaultDefinition__Group__1
2095; 2951;
2096finally { 2952finally {
2097 restoreStackSize(stackSize); 2953 restoreStackSize(stackSize);
2098} 2954}
2099 2955
2100rule__BasicInterpretation__Group__0__Impl 2956rule__DefaultDefinition__Group__0__Impl
2101 @init { 2957 @init {
2102 int stackSize = keepStackSize(); 2958 int stackSize = keepStackSize();
2103 } 2959 }
2104: 2960:
2105( 2961(
2106 { before(grammarAccess.getBasicInterpretationAccess().getSymbolAssignment_0()); } 2962 { before(grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); }
2107 (rule__BasicInterpretation__SymbolAssignment_0) 2963 'default'
2108 { after(grammarAccess.getBasicInterpretationAccess().getSymbolAssignment_0()); } 2964 { after(grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); }
2109) 2965)
2110; 2966;
2111finally { 2967finally {
2112 restoreStackSize(stackSize); 2968 restoreStackSize(stackSize);
2113} 2969}
2114 2970
2115rule__BasicInterpretation__Group__1 2971rule__DefaultDefinition__Group__1
2116 @init { 2972 @init {
2117 int stackSize = keepStackSize(); 2973 int stackSize = keepStackSize();
2118 } 2974 }
2119: 2975:
2120 rule__BasicInterpretation__Group__1__Impl 2976 rule__DefaultDefinition__Group__1__Impl
2121 rule__BasicInterpretation__Group__2 2977 rule__DefaultDefinition__Group__2
2122; 2978;
2123finally { 2979finally {
2124 restoreStackSize(stackSize); 2980 restoreStackSize(stackSize);
2125} 2981}
2126 2982
2127rule__BasicInterpretation__Group__1__Impl 2983rule__DefaultDefinition__Group__1__Impl
2128 @init { 2984 @init {
2129 int stackSize = keepStackSize(); 2985 int stackSize = keepStackSize();
2130 } 2986 }
2131: 2987:
2132( 2988(
2133 { before(grammarAccess.getBasicInterpretationAccess().getGroup_1()); } 2989 { before(grammarAccess.getDefaultDefinitionAccess().getHeadAssignment_1()); }
2134 (rule__BasicInterpretation__Group_1__0)? 2990 (rule__DefaultDefinition__HeadAssignment_1)
2135 { after(grammarAccess.getBasicInterpretationAccess().getGroup_1()); } 2991 { after(grammarAccess.getDefaultDefinitionAccess().getHeadAssignment_1()); }
2136) 2992)
2137; 2993;
2138finally { 2994finally {
2139 restoreStackSize(stackSize); 2995 restoreStackSize(stackSize);
2140} 2996}
2141 2997
2142rule__BasicInterpretation__Group__2 2998rule__DefaultDefinition__Group__2
2143 @init { 2999 @init {
2144 int stackSize = keepStackSize(); 3000 int stackSize = keepStackSize();
2145 } 3001 }
2146: 3002:
2147 rule__BasicInterpretation__Group__2__Impl 3003 rule__DefaultDefinition__Group__2__Impl
2148 rule__BasicInterpretation__Group__3 3004 rule__DefaultDefinition__Group__3
2149; 3005;
2150finally { 3006finally {
2151 restoreStackSize(stackSize); 3007 restoreStackSize(stackSize);
2152} 3008}
2153 3009
2154rule__BasicInterpretation__Group__2__Impl 3010rule__DefaultDefinition__Group__2__Impl
2155 @init { 3011 @init {
2156 int stackSize = keepStackSize(); 3012 int stackSize = keepStackSize();
2157 } 3013 }
2158: 3014:
2159( 3015(
2160 { before(grammarAccess.getBasicInterpretationAccess().getColonKeyword_2()); } 3016 { before(grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); }
2161 ':' 3017 ':'
2162 { after(grammarAccess.getBasicInterpretationAccess().getColonKeyword_2()); } 3018 { after(grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); }
2163) 3019)
2164; 3020;
2165finally { 3021finally {
2166 restoreStackSize(stackSize); 3022 restoreStackSize(stackSize);
2167} 3023}
2168 3024
2169rule__BasicInterpretation__Group__3 3025rule__DefaultDefinition__Group__3
2170 @init { 3026 @init {
2171 int stackSize = keepStackSize(); 3027 int stackSize = keepStackSize();
2172 } 3028 }
2173: 3029:
2174 rule__BasicInterpretation__Group__3__Impl 3030 rule__DefaultDefinition__Group__3__Impl
2175; 3031;
2176finally { 3032finally {
2177 restoreStackSize(stackSize); 3033 restoreStackSize(stackSize);
2178} 3034}
2179 3035
2180rule__BasicInterpretation__Group__3__Impl 3036rule__DefaultDefinition__Group__3__Impl
2181 @init { 3037 @init {
2182 int stackSize = keepStackSize(); 3038 int stackSize = keepStackSize();
2183 } 3039 }
2184: 3040:
2185( 3041(
2186 { before(grammarAccess.getBasicInterpretationAccess().getValueAssignment_3()); } 3042 { before(grammarAccess.getDefaultDefinitionAccess().getRangeAssignment_3()); }
2187 (rule__BasicInterpretation__ValueAssignment_3) 3043 (rule__DefaultDefinition__RangeAssignment_3)
2188 { after(grammarAccess.getBasicInterpretationAccess().getValueAssignment_3()); } 3044 { after(grammarAccess.getDefaultDefinitionAccess().getRangeAssignment_3()); }
2189) 3045)
2190; 3046;
2191finally { 3047finally {
@@ -2193,80 +3049,80 @@ finally {
2193} 3049}
2194 3050
2195 3051
2196rule__BasicInterpretation__Group_1__0 3052rule__ExternPredicateDefinition__Group__0
2197 @init { 3053 @init {
2198 int stackSize = keepStackSize(); 3054 int stackSize = keepStackSize();
2199 } 3055 }
2200: 3056:
2201 rule__BasicInterpretation__Group_1__0__Impl 3057 rule__ExternPredicateDefinition__Group__0__Impl
2202 rule__BasicInterpretation__Group_1__1 3058 rule__ExternPredicateDefinition__Group__1
2203; 3059;
2204finally { 3060finally {
2205 restoreStackSize(stackSize); 3061 restoreStackSize(stackSize);
2206} 3062}
2207 3063
2208rule__BasicInterpretation__Group_1__0__Impl 3064rule__ExternPredicateDefinition__Group__0__Impl
2209 @init { 3065 @init {
2210 int stackSize = keepStackSize(); 3066 int stackSize = keepStackSize();
2211 } 3067 }
2212: 3068:
2213( 3069(
2214 { before(grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()); } 3070 { before(grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); }
2215 '(' 3071 'extern'
2216 { after(grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()); } 3072 { after(grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); }
2217) 3073)
2218; 3074;
2219finally { 3075finally {
2220 restoreStackSize(stackSize); 3076 restoreStackSize(stackSize);
2221} 3077}
2222 3078
2223rule__BasicInterpretation__Group_1__1 3079rule__ExternPredicateDefinition__Group__1
2224 @init { 3080 @init {
2225 int stackSize = keepStackSize(); 3081 int stackSize = keepStackSize();
2226 } 3082 }
2227: 3083:
2228 rule__BasicInterpretation__Group_1__1__Impl 3084 rule__ExternPredicateDefinition__Group__1__Impl
2229 rule__BasicInterpretation__Group_1__2 3085 rule__ExternPredicateDefinition__Group__2
2230; 3086;
2231finally { 3087finally {
2232 restoreStackSize(stackSize); 3088 restoreStackSize(stackSize);
2233} 3089}
2234 3090
2235rule__BasicInterpretation__Group_1__1__Impl 3091rule__ExternPredicateDefinition__Group__1__Impl
2236 @init { 3092 @init {
2237 int stackSize = keepStackSize(); 3093 int stackSize = keepStackSize();
2238 } 3094 }
2239: 3095:
2240( 3096(
2241 { before(grammarAccess.getBasicInterpretationAccess().getGroup_1_1()); } 3097 { before(grammarAccess.getExternPredicateDefinitionAccess().getHeadAssignment_1()); }
2242 (rule__BasicInterpretation__Group_1_1__0)? 3098 (rule__ExternPredicateDefinition__HeadAssignment_1)
2243 { after(grammarAccess.getBasicInterpretationAccess().getGroup_1_1()); } 3099 { after(grammarAccess.getExternPredicateDefinitionAccess().getHeadAssignment_1()); }
2244) 3100)
2245; 3101;
2246finally { 3102finally {
2247 restoreStackSize(stackSize); 3103 restoreStackSize(stackSize);
2248} 3104}
2249 3105
2250rule__BasicInterpretation__Group_1__2 3106rule__ExternPredicateDefinition__Group__2
2251 @init { 3107 @init {
2252 int stackSize = keepStackSize(); 3108 int stackSize = keepStackSize();
2253 } 3109 }
2254: 3110:
2255 rule__BasicInterpretation__Group_1__2__Impl 3111 rule__ExternPredicateDefinition__Group__2__Impl
2256; 3112;
2257finally { 3113finally {
2258 restoreStackSize(stackSize); 3114 restoreStackSize(stackSize);
2259} 3115}
2260 3116
2261rule__BasicInterpretation__Group_1__2__Impl 3117rule__ExternPredicateDefinition__Group__2__Impl
2262 @init { 3118 @init {
2263 int stackSize = keepStackSize(); 3119 int stackSize = keepStackSize();
2264 } 3120 }
2265: 3121:
2266( 3122(
2267 { before(grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2()); } 3123 { before(grammarAccess.getExternPredicateDefinitionAccess().getFullStopKeyword_2()); }
2268 ')' 3124 '.'
2269 { after(grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2()); } 3125 { after(grammarAccess.getExternPredicateDefinitionAccess().getFullStopKeyword_2()); }
2270) 3126)
2271; 3127;
2272finally { 3128finally {
@@ -2274,107 +3130,188 @@ finally {
2274} 3130}
2275 3131
2276 3132
2277rule__BasicInterpretation__Group_1_1__0 3133rule__MetricDefinition__Group__0
2278 @init { 3134 @init {
2279 int stackSize = keepStackSize(); 3135 int stackSize = keepStackSize();
2280 } 3136 }
2281: 3137:
2282 rule__BasicInterpretation__Group_1_1__0__Impl 3138 rule__MetricDefinition__Group__0__Impl
2283 rule__BasicInterpretation__Group_1_1__1 3139 rule__MetricDefinition__Group__1
2284; 3140;
2285finally { 3141finally {
2286 restoreStackSize(stackSize); 3142 restoreStackSize(stackSize);
2287} 3143}
2288 3144
2289rule__BasicInterpretation__Group_1_1__0__Impl 3145rule__MetricDefinition__Group__0__Impl
2290 @init { 3146 @init {
2291 int stackSize = keepStackSize(); 3147 int stackSize = keepStackSize();
2292 } 3148 }
2293: 3149:
2294( 3150(
2295 { before(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_0()); } 3151 { before(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0()); }
2296 (rule__BasicInterpretation__ObjectsAssignment_1_1_0) 3152 (rule__MetricDefinition__TypeAssignment_0)
2297 { after(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_0()); } 3153 { after(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0()); }
2298) 3154)
2299; 3155;
2300finally { 3156finally {
2301 restoreStackSize(stackSize); 3157 restoreStackSize(stackSize);
2302} 3158}
2303 3159
2304rule__BasicInterpretation__Group_1_1__1 3160rule__MetricDefinition__Group__1
2305 @init { 3161 @init {
2306 int stackSize = keepStackSize(); 3162 int stackSize = keepStackSize();
2307 } 3163 }
2308: 3164:
2309 rule__BasicInterpretation__Group_1_1__1__Impl 3165 rule__MetricDefinition__Group__1__Impl
3166 rule__MetricDefinition__Group__2
2310; 3167;
2311finally { 3168finally {
2312 restoreStackSize(stackSize); 3169 restoreStackSize(stackSize);
2313} 3170}
2314 3171
2315rule__BasicInterpretation__Group_1_1__1__Impl 3172rule__MetricDefinition__Group__1__Impl
2316 @init { 3173 @init {
2317 int stackSize = keepStackSize(); 3174 int stackSize = keepStackSize();
2318 } 3175 }
2319: 3176:
2320( 3177(
2321 { before(grammarAccess.getBasicInterpretationAccess().getGroup_1_1_1()); } 3178 { before(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1()); }
2322 (rule__BasicInterpretation__Group_1_1_1__0)* 3179 (rule__MetricDefinition__HeadAssignment_1)
2323 { after(grammarAccess.getBasicInterpretationAccess().getGroup_1_1_1()); } 3180 { after(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1()); }
2324) 3181)
2325; 3182;
2326finally { 3183finally {
2327 restoreStackSize(stackSize); 3184 restoreStackSize(stackSize);
2328} 3185}
2329 3186
3187rule__MetricDefinition__Group__2
3188 @init {
3189 int stackSize = keepStackSize();
3190 }
3191:
3192 rule__MetricDefinition__Group__2__Impl
3193 rule__MetricDefinition__Group__3
3194;
3195finally {
3196 restoreStackSize(stackSize);
3197}
2330 3198
2331rule__BasicInterpretation__Group_1_1_1__0 3199rule__MetricDefinition__Group__2__Impl
2332 @init { 3200 @init {
2333 int stackSize = keepStackSize(); 3201 int stackSize = keepStackSize();
2334 } 3202 }
2335: 3203:
2336 rule__BasicInterpretation__Group_1_1_1__0__Impl 3204(
2337 rule__BasicInterpretation__Group_1_1_1__1 3205 { before(grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); }
3206 '='
3207 { after(grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); }
3208)
2338; 3209;
2339finally { 3210finally {
2340 restoreStackSize(stackSize); 3211 restoreStackSize(stackSize);
2341} 3212}
2342 3213
2343rule__BasicInterpretation__Group_1_1_1__0__Impl 3214rule__MetricDefinition__Group__3
3215 @init {
3216 int stackSize = keepStackSize();
3217 }
3218:
3219 rule__MetricDefinition__Group__3__Impl
3220;
3221finally {
3222 restoreStackSize(stackSize);
3223}
3224
3225rule__MetricDefinition__Group__3__Impl
2344 @init { 3226 @init {
2345 int stackSize = keepStackSize(); 3227 int stackSize = keepStackSize();
2346 } 3228 }
2347: 3229:
2348( 3230(
2349 { before(grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0()); } 3231 { before(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3()); }
2350 ',' 3232 (rule__MetricDefinition__BodyAssignment_3)
2351 { after(grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0()); } 3233 { after(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3()); }
3234)
3235;
3236finally {
3237 restoreStackSize(stackSize);
3238}
3239
3240
3241rule__ExternMetricDefinition__Group__0
3242 @init {
3243 int stackSize = keepStackSize();
3244 }
3245:
3246 rule__ExternMetricDefinition__Group__0__Impl
3247 rule__ExternMetricDefinition__Group__1
3248;
3249finally {
3250 restoreStackSize(stackSize);
3251}
3252
3253rule__ExternMetricDefinition__Group__0__Impl
3254 @init {
3255 int stackSize = keepStackSize();
3256 }
3257:
3258(
3259 { before(grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); }
3260 'extern'
3261 { after(grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); }
3262)
3263;
3264finally {
3265 restoreStackSize(stackSize);
3266}
3267
3268rule__ExternMetricDefinition__Group__1
3269 @init {
3270 int stackSize = keepStackSize();
3271 }
3272:
3273 rule__ExternMetricDefinition__Group__1__Impl
3274 rule__ExternMetricDefinition__Group__2
3275;
3276finally {
3277 restoreStackSize(stackSize);
3278}
3279
3280rule__ExternMetricDefinition__Group__1__Impl
3281 @init {
3282 int stackSize = keepStackSize();
3283 }
3284:
3285(
3286 { before(grammarAccess.getExternMetricDefinitionAccess().getTypeAssignment_1()); }
3287 (rule__ExternMetricDefinition__TypeAssignment_1)
3288 { after(grammarAccess.getExternMetricDefinitionAccess().getTypeAssignment_1()); }
2352) 3289)
2353; 3290;
2354finally { 3291finally {
2355 restoreStackSize(stackSize); 3292 restoreStackSize(stackSize);
2356} 3293}
2357 3294
2358rule__BasicInterpretation__Group_1_1_1__1 3295rule__ExternMetricDefinition__Group__2
2359 @init { 3296 @init {
2360 int stackSize = keepStackSize(); 3297 int stackSize = keepStackSize();
2361 } 3298 }
2362: 3299:
2363 rule__BasicInterpretation__Group_1_1_1__1__Impl 3300 rule__ExternMetricDefinition__Group__2__Impl
2364; 3301;
2365finally { 3302finally {
2366 restoreStackSize(stackSize); 3303 restoreStackSize(stackSize);
2367} 3304}
2368 3305
2369rule__BasicInterpretation__Group_1_1_1__1__Impl 3306rule__ExternMetricDefinition__Group__2__Impl
2370 @init { 3307 @init {
2371 int stackSize = keepStackSize(); 3308 int stackSize = keepStackSize();
2372 } 3309 }
2373: 3310:
2374( 3311(
2375 { before(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_1_1()); } 3312 { before(grammarAccess.getExternMetricDefinitionAccess().getHeadAssignment_2()); }
2376 (rule__BasicInterpretation__ObjectsAssignment_1_1_1_1) 3313 (rule__ExternMetricDefinition__HeadAssignment_2)
2377 { after(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_1_1()); } 3314 { after(grammarAccess.getExternMetricDefinitionAccess().getHeadAssignment_2()); }
2378) 3315)
2379; 3316;
2380finally { 3317finally {
@@ -2382,269 +3319,465 @@ finally {
2382} 3319}
2383 3320
2384 3321
2385rule__ExistSymbol__Group__0 3322rule__IfElse__Group__0
2386 @init { 3323 @init {
2387 int stackSize = keepStackSize(); 3324 int stackSize = keepStackSize();
2388 } 3325 }
2389: 3326:
2390 rule__ExistSymbol__Group__0__Impl 3327 rule__IfElse__Group__0__Impl
2391 rule__ExistSymbol__Group__1 3328 rule__IfElse__Group__1
2392; 3329;
2393finally { 3330finally {
2394 restoreStackSize(stackSize); 3331 restoreStackSize(stackSize);
2395} 3332}
2396 3333
2397rule__ExistSymbol__Group__0__Impl 3334rule__IfElse__Group__0__Impl
2398 @init { 3335 @init {
2399 int stackSize = keepStackSize(); 3336 int stackSize = keepStackSize();
2400 } 3337 }
2401: 3338:
2402( 3339(
2403 { before(grammarAccess.getExistSymbolAccess().getExistsKeyword_0()); } 3340 { before(grammarAccess.getIfElseAccess().getIfKeyword_0()); }
2404 'exists' 3341 'if'
2405 { after(grammarAccess.getExistSymbolAccess().getExistsKeyword_0()); } 3342 { after(grammarAccess.getIfElseAccess().getIfKeyword_0()); }
2406) 3343)
2407; 3344;
2408finally { 3345finally {
2409 restoreStackSize(stackSize); 3346 restoreStackSize(stackSize);
2410} 3347}
2411 3348
2412rule__ExistSymbol__Group__1 3349rule__IfElse__Group__1
2413 @init { 3350 @init {
2414 int stackSize = keepStackSize(); 3351 int stackSize = keepStackSize();
2415 } 3352 }
2416: 3353:
2417 rule__ExistSymbol__Group__1__Impl 3354 rule__IfElse__Group__1__Impl
3355 rule__IfElse__Group__2
2418; 3356;
2419finally { 3357finally {
2420 restoreStackSize(stackSize); 3358 restoreStackSize(stackSize);
2421} 3359}
2422 3360
2423rule__ExistSymbol__Group__1__Impl 3361rule__IfElse__Group__1__Impl
2424 @init { 3362 @init {
2425 int stackSize = keepStackSize(); 3363 int stackSize = keepStackSize();
2426 } 3364 }
2427: 3365:
2428( 3366(
2429 { before(grammarAccess.getExistSymbolAccess().getExistSymbolAction_1()); } 3367 { before(grammarAccess.getIfElseAccess().getConditionAssignment_1()); }
2430 () 3368 (rule__IfElse__ConditionAssignment_1)
2431 { after(grammarAccess.getExistSymbolAccess().getExistSymbolAction_1()); } 3369 { after(grammarAccess.getIfElseAccess().getConditionAssignment_1()); }
2432) 3370)
2433; 3371;
2434finally { 3372finally {
2435 restoreStackSize(stackSize); 3373 restoreStackSize(stackSize);
2436} 3374}
2437 3375
3376rule__IfElse__Group__2
3377 @init {
3378 int stackSize = keepStackSize();
3379 }
3380:
3381 rule__IfElse__Group__2__Impl
3382 rule__IfElse__Group__3
3383;
3384finally {
3385 restoreStackSize(stackSize);
3386}
2438 3387
2439rule__EqualsSymbol__Group__0 3388rule__IfElse__Group__2__Impl
2440 @init { 3389 @init {
2441 int stackSize = keepStackSize(); 3390 int stackSize = keepStackSize();
2442 } 3391 }
2443: 3392:
2444 rule__EqualsSymbol__Group__0__Impl 3393(
2445 rule__EqualsSymbol__Group__1 3394 { before(grammarAccess.getIfElseAccess().getThenKeyword_2()); }
3395 'then'
3396 { after(grammarAccess.getIfElseAccess().getThenKeyword_2()); }
3397)
2446; 3398;
2447finally { 3399finally {
2448 restoreStackSize(stackSize); 3400 restoreStackSize(stackSize);
2449} 3401}
2450 3402
2451rule__EqualsSymbol__Group__0__Impl 3403rule__IfElse__Group__3
3404 @init {
3405 int stackSize = keepStackSize();
3406 }
3407:
3408 rule__IfElse__Group__3__Impl
3409 rule__IfElse__Group__4
3410;
3411finally {
3412 restoreStackSize(stackSize);
3413}
3414
3415rule__IfElse__Group__3__Impl
2452 @init { 3416 @init {
2453 int stackSize = keepStackSize(); 3417 int stackSize = keepStackSize();
2454 } 3418 }
2455: 3419:
2456( 3420(
2457 { before(grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0()); } 3421 { before(grammarAccess.getIfElseAccess().getThenAssignment_3()); }
2458 'equals' 3422 (rule__IfElse__ThenAssignment_3)
2459 { after(grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0()); } 3423 { after(grammarAccess.getIfElseAccess().getThenAssignment_3()); }
2460) 3424)
2461; 3425;
2462finally { 3426finally {
2463 restoreStackSize(stackSize); 3427 restoreStackSize(stackSize);
2464} 3428}
2465 3429
2466rule__EqualsSymbol__Group__1 3430rule__IfElse__Group__4
2467 @init { 3431 @init {
2468 int stackSize = keepStackSize(); 3432 int stackSize = keepStackSize();
2469 } 3433 }
2470: 3434:
2471 rule__EqualsSymbol__Group__1__Impl 3435 rule__IfElse__Group__4__Impl
3436 rule__IfElse__Group__5
2472; 3437;
2473finally { 3438finally {
2474 restoreStackSize(stackSize); 3439 restoreStackSize(stackSize);
2475} 3440}
2476 3441
2477rule__EqualsSymbol__Group__1__Impl 3442rule__IfElse__Group__4__Impl
2478 @init { 3443 @init {
2479 int stackSize = keepStackSize(); 3444 int stackSize = keepStackSize();
2480 } 3445 }
2481: 3446:
2482( 3447(
2483 { before(grammarAccess.getEqualsSymbolAccess().getEqualsSymbolAction_1()); } 3448 { before(grammarAccess.getIfElseAccess().getElseKeyword_4()); }
2484 () 3449 'else'
2485 { after(grammarAccess.getEqualsSymbolAccess().getEqualsSymbolAction_1()); } 3450 { after(grammarAccess.getIfElseAccess().getElseKeyword_4()); }
2486) 3451)
2487; 3452;
2488finally { 3453finally {
2489 restoreStackSize(stackSize); 3454 restoreStackSize(stackSize);
2490} 3455}
2491 3456
3457rule__IfElse__Group__5
3458 @init {
3459 int stackSize = keepStackSize();
3460 }
3461:
3462 rule__IfElse__Group__5__Impl
3463;
3464finally {
3465 restoreStackSize(stackSize);
3466}
2492 3467
2493rule__BooleanSymbol__Group__0 3468rule__IfElse__Group__5__Impl
2494 @init { 3469 @init {
2495 int stackSize = keepStackSize(); 3470 int stackSize = keepStackSize();
2496 } 3471 }
2497: 3472:
2498 rule__BooleanSymbol__Group__0__Impl 3473(
2499 rule__BooleanSymbol__Group__1 3474 { before(grammarAccess.getIfElseAccess().getElseAssignment_5()); }
3475 (rule__IfElse__ElseAssignment_5)
3476 { after(grammarAccess.getIfElseAccess().getElseAssignment_5()); }
3477)
2500; 3478;
2501finally { 3479finally {
2502 restoreStackSize(stackSize); 3480 restoreStackSize(stackSize);
2503} 3481}
2504 3482
2505rule__BooleanSymbol__Group__0__Impl 3483
3484rule__DisjunctiveExpression__Group__0
3485 @init {
3486 int stackSize = keepStackSize();
3487 }
3488:
3489 rule__DisjunctiveExpression__Group__0__Impl
3490 rule__DisjunctiveExpression__Group__1
3491;
3492finally {
3493 restoreStackSize(stackSize);
3494}
3495
3496rule__DisjunctiveExpression__Group__0__Impl
2506 @init { 3497 @init {
2507 int stackSize = keepStackSize(); 3498 int stackSize = keepStackSize();
2508 } 3499 }
2509: 3500:
2510( 3501(
2511 { before(grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0()); } 3502 { before(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); }
2512 'bool' 3503 ruleConjunctiveExpression
2513 { after(grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0()); } 3504 { after(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); }
2514) 3505)
2515; 3506;
2516finally { 3507finally {
2517 restoreStackSize(stackSize); 3508 restoreStackSize(stackSize);
2518} 3509}
2519 3510
2520rule__BooleanSymbol__Group__1 3511rule__DisjunctiveExpression__Group__1
2521 @init { 3512 @init {
2522 int stackSize = keepStackSize(); 3513 int stackSize = keepStackSize();
2523 } 3514 }
2524: 3515:
2525 rule__BooleanSymbol__Group__1__Impl 3516 rule__DisjunctiveExpression__Group__1__Impl
2526; 3517;
2527finally { 3518finally {
2528 restoreStackSize(stackSize); 3519 restoreStackSize(stackSize);
2529} 3520}
2530 3521
2531rule__BooleanSymbol__Group__1__Impl 3522rule__DisjunctiveExpression__Group__1__Impl
2532 @init { 3523 @init {
2533 int stackSize = keepStackSize(); 3524 int stackSize = keepStackSize();
2534 } 3525 }
2535: 3526:
2536( 3527(
2537 { before(grammarAccess.getBooleanSymbolAccess().getBooleanSymbolAction_1()); } 3528 { before(grammarAccess.getDisjunctiveExpressionAccess().getAlternatives_1()); }
3529 (rule__DisjunctiveExpression__Alternatives_1)?
3530 { after(grammarAccess.getDisjunctiveExpressionAccess().getAlternatives_1()); }
3531)
3532;
3533finally {
3534 restoreStackSize(stackSize);
3535}
3536
3537
3538rule__DisjunctiveExpression__Group_1_0__0
3539 @init {
3540 int stackSize = keepStackSize();
3541 }
3542:
3543 rule__DisjunctiveExpression__Group_1_0__0__Impl
3544 rule__DisjunctiveExpression__Group_1_0__1
3545;
3546finally {
3547 restoreStackSize(stackSize);
3548}
3549
3550rule__DisjunctiveExpression__Group_1_0__0__Impl
3551 @init {
3552 int stackSize = keepStackSize();
3553 }
3554:
3555(
3556 { before(grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0()); }
2538 () 3557 ()
2539 { after(grammarAccess.getBooleanSymbolAccess().getBooleanSymbolAction_1()); } 3558 { after(grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0()); }
2540) 3559)
2541; 3560;
2542finally { 3561finally {
2543 restoreStackSize(stackSize); 3562 restoreStackSize(stackSize);
2544} 3563}
2545 3564
3565rule__DisjunctiveExpression__Group_1_0__1
3566 @init {
3567 int stackSize = keepStackSize();
3568 }
3569:
3570 rule__DisjunctiveExpression__Group_1_0__1__Impl
3571;
3572finally {
3573 restoreStackSize(stackSize);
3574}
3575
3576rule__DisjunctiveExpression__Group_1_0__1__Impl
3577 @init {
3578 int stackSize = keepStackSize();
3579 }
3580:
3581(
3582 (
3583 { before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1()); }
3584 (rule__DisjunctiveExpression__Group_1_0_1__0)
3585 { after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1()); }
3586 )
3587 (
3588 { before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1()); }
3589 (rule__DisjunctiveExpression__Group_1_0_1__0)*
3590 { after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1()); }
3591 )
3592)
3593;
3594finally {
3595 restoreStackSize(stackSize);
3596}
3597
3598
3599rule__DisjunctiveExpression__Group_1_0_1__0
3600 @init {
3601 int stackSize = keepStackSize();
3602 }
3603:
3604 rule__DisjunctiveExpression__Group_1_0_1__0__Impl
3605 rule__DisjunctiveExpression__Group_1_0_1__1
3606;
3607finally {
3608 restoreStackSize(stackSize);
3609}
3610
3611rule__DisjunctiveExpression__Group_1_0_1__0__Impl
3612 @init {
3613 int stackSize = keepStackSize();
3614 }
3615:
3616(
3617 { before(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); }
3618 ';'
3619 { after(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); }
3620)
3621;
3622finally {
3623 restoreStackSize(stackSize);
3624}
2546 3625
2547rule__IntegerSymbol__Group__0 3626rule__DisjunctiveExpression__Group_1_0_1__1
2548 @init { 3627 @init {
2549 int stackSize = keepStackSize(); 3628 int stackSize = keepStackSize();
2550 } 3629 }
2551: 3630:
2552 rule__IntegerSymbol__Group__0__Impl 3631 rule__DisjunctiveExpression__Group_1_0_1__1__Impl
2553 rule__IntegerSymbol__Group__1
2554; 3632;
2555finally { 3633finally {
2556 restoreStackSize(stackSize); 3634 restoreStackSize(stackSize);
2557} 3635}
2558 3636
2559rule__IntegerSymbol__Group__0__Impl 3637rule__DisjunctiveExpression__Group_1_0_1__1__Impl
2560 @init { 3638 @init {
2561 int stackSize = keepStackSize(); 3639 int stackSize = keepStackSize();
2562 } 3640 }
2563: 3641:
2564( 3642(
2565 { before(grammarAccess.getIntegerSymbolAccess().getIntKeyword_0()); } 3643 { before(grammarAccess.getDisjunctiveExpressionAccess().getChildrenAssignment_1_0_1_1()); }
2566 'int' 3644 (rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1)
2567 { after(grammarAccess.getIntegerSymbolAccess().getIntKeyword_0()); } 3645 { after(grammarAccess.getDisjunctiveExpressionAccess().getChildrenAssignment_1_0_1_1()); }
2568) 3646)
2569; 3647;
2570finally { 3648finally {
2571 restoreStackSize(stackSize); 3649 restoreStackSize(stackSize);
2572} 3650}
2573 3651
2574rule__IntegerSymbol__Group__1 3652
3653rule__DisjunctiveExpression__Group_1_1__0
2575 @init { 3654 @init {
2576 int stackSize = keepStackSize(); 3655 int stackSize = keepStackSize();
2577 } 3656 }
2578: 3657:
2579 rule__IntegerSymbol__Group__1__Impl 3658 rule__DisjunctiveExpression__Group_1_1__0__Impl
3659 rule__DisjunctiveExpression__Group_1_1__1
2580; 3660;
2581finally { 3661finally {
2582 restoreStackSize(stackSize); 3662 restoreStackSize(stackSize);
2583} 3663}
2584 3664
2585rule__IntegerSymbol__Group__1__Impl 3665rule__DisjunctiveExpression__Group_1_1__0__Impl
2586 @init { 3666 @init {
2587 int stackSize = keepStackSize(); 3667 int stackSize = keepStackSize();
2588 } 3668 }
2589: 3669:
2590( 3670(
2591 { before(grammarAccess.getIntegerSymbolAccess().getIntegerSymbolAction_1()); } 3671 { before(grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0()); }
2592 () 3672 ()
2593 { after(grammarAccess.getIntegerSymbolAccess().getIntegerSymbolAction_1()); } 3673 { after(grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0()); }
2594) 3674)
2595; 3675;
2596finally { 3676finally {
2597 restoreStackSize(stackSize); 3677 restoreStackSize(stackSize);
2598} 3678}
2599 3679
3680rule__DisjunctiveExpression__Group_1_1__1
3681 @init {
3682 int stackSize = keepStackSize();
3683 }
3684:
3685 rule__DisjunctiveExpression__Group_1_1__1__Impl
3686 rule__DisjunctiveExpression__Group_1_1__2
3687;
3688finally {
3689 restoreStackSize(stackSize);
3690}
2600 3691
2601rule__RealSymbol__Group__0 3692rule__DisjunctiveExpression__Group_1_1__1__Impl
2602 @init { 3693 @init {
2603 int stackSize = keepStackSize(); 3694 int stackSize = keepStackSize();
2604 } 3695 }
2605: 3696:
2606 rule__RealSymbol__Group__0__Impl 3697(
2607 rule__RealSymbol__Group__1 3698 { before(grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); }
3699 '->'
3700 { after(grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); }
3701)
2608; 3702;
2609finally { 3703finally {
2610 restoreStackSize(stackSize); 3704 restoreStackSize(stackSize);
2611} 3705}
2612 3706
2613rule__RealSymbol__Group__0__Impl 3707rule__DisjunctiveExpression__Group_1_1__2
3708 @init {
3709 int stackSize = keepStackSize();
3710 }
3711:
3712 rule__DisjunctiveExpression__Group_1_1__2__Impl
3713 rule__DisjunctiveExpression__Group_1_1__3
3714;
3715finally {
3716 restoreStackSize(stackSize);
3717}
3718
3719rule__DisjunctiveExpression__Group_1_1__2__Impl
2614 @init { 3720 @init {
2615 int stackSize = keepStackSize(); 3721 int stackSize = keepStackSize();
2616 } 3722 }
2617: 3723:
2618( 3724(
2619 { before(grammarAccess.getRealSymbolAccess().getRealKeyword_0()); } 3725 { before(grammarAccess.getDisjunctiveExpressionAccess().getBodyAssignment_1_1_2()); }
2620 'real' 3726 (rule__DisjunctiveExpression__BodyAssignment_1_1_2)
2621 { after(grammarAccess.getRealSymbolAccess().getRealKeyword_0()); } 3727 { after(grammarAccess.getDisjunctiveExpressionAccess().getBodyAssignment_1_1_2()); }
2622) 3728)
2623; 3729;
2624finally { 3730finally {
2625 restoreStackSize(stackSize); 3731 restoreStackSize(stackSize);
2626} 3732}
2627 3733
2628rule__RealSymbol__Group__1 3734rule__DisjunctiveExpression__Group_1_1__3
2629 @init { 3735 @init {
2630 int stackSize = keepStackSize(); 3736 int stackSize = keepStackSize();
2631 } 3737 }
2632: 3738:
2633 rule__RealSymbol__Group__1__Impl 3739 rule__DisjunctiveExpression__Group_1_1__3__Impl
3740 rule__DisjunctiveExpression__Group_1_1__4
2634; 3741;
2635finally { 3742finally {
2636 restoreStackSize(stackSize); 3743 restoreStackSize(stackSize);
2637} 3744}
2638 3745
2639rule__RealSymbol__Group__1__Impl 3746rule__DisjunctiveExpression__Group_1_1__3__Impl
2640 @init { 3747 @init {
2641 int stackSize = keepStackSize(); 3748 int stackSize = keepStackSize();
2642 } 3749 }
2643: 3750:
2644( 3751(
2645 { before(grammarAccess.getRealSymbolAccess().getRealSymbolAction_1()); } 3752 { before(grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3()); }
2646 () 3753 ()
2647 { after(grammarAccess.getRealSymbolAccess().getRealSymbolAction_1()); } 3754 { after(grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3()); }
3755)
3756;
3757finally {
3758 restoreStackSize(stackSize);
3759}
3760
3761rule__DisjunctiveExpression__Group_1_1__4
3762 @init {
3763 int stackSize = keepStackSize();
3764 }
3765:
3766 rule__DisjunctiveExpression__Group_1_1__4__Impl
3767;
3768finally {
3769 restoreStackSize(stackSize);
3770}
3771
3772rule__DisjunctiveExpression__Group_1_1__4__Impl
3773 @init {
3774 int stackSize = keepStackSize();
3775 }
3776:
3777(
3778 { before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1_4()); }
3779 (rule__DisjunctiveExpression__Group_1_1_4__0)*
3780 { after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1_4()); }
2648) 3781)
2649; 3782;
2650finally { 3783finally {
@@ -2652,53 +3785,53 @@ finally {
2652} 3785}
2653 3786
2654 3787
2655rule__StringSymbol__Group__0 3788rule__DisjunctiveExpression__Group_1_1_4__0
2656 @init { 3789 @init {
2657 int stackSize = keepStackSize(); 3790 int stackSize = keepStackSize();
2658 } 3791 }
2659: 3792:
2660 rule__StringSymbol__Group__0__Impl 3793 rule__DisjunctiveExpression__Group_1_1_4__0__Impl
2661 rule__StringSymbol__Group__1 3794 rule__DisjunctiveExpression__Group_1_1_4__1
2662; 3795;
2663finally { 3796finally {
2664 restoreStackSize(stackSize); 3797 restoreStackSize(stackSize);
2665} 3798}
2666 3799
2667rule__StringSymbol__Group__0__Impl 3800rule__DisjunctiveExpression__Group_1_1_4__0__Impl
2668 @init { 3801 @init {
2669 int stackSize = keepStackSize(); 3802 int stackSize = keepStackSize();
2670 } 3803 }
2671: 3804:
2672( 3805(
2673 { before(grammarAccess.getStringSymbolAccess().getStringKeyword_0()); } 3806 { before(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); }
2674 'string' 3807 ';'
2675 { after(grammarAccess.getStringSymbolAccess().getStringKeyword_0()); } 3808 { after(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); }
2676) 3809)
2677; 3810;
2678finally { 3811finally {
2679 restoreStackSize(stackSize); 3812 restoreStackSize(stackSize);
2680} 3813}
2681 3814
2682rule__StringSymbol__Group__1 3815rule__DisjunctiveExpression__Group_1_1_4__1
2683 @init { 3816 @init {
2684 int stackSize = keepStackSize(); 3817 int stackSize = keepStackSize();
2685 } 3818 }
2686: 3819:
2687 rule__StringSymbol__Group__1__Impl 3820 rule__DisjunctiveExpression__Group_1_1_4__1__Impl
2688; 3821;
2689finally { 3822finally {
2690 restoreStackSize(stackSize); 3823 restoreStackSize(stackSize);
2691} 3824}
2692 3825
2693rule__StringSymbol__Group__1__Impl 3826rule__DisjunctiveExpression__Group_1_1_4__1__Impl
2694 @init { 3827 @init {
2695 int stackSize = keepStackSize(); 3828 int stackSize = keepStackSize();
2696 } 3829 }
2697: 3830:
2698( 3831(
2699 { before(grammarAccess.getStringSymbolAccess().getStringSymbolAction_1()); } 3832 { before(grammarAccess.getDisjunctiveExpressionAccess().getCasesAssignment_1_1_4_1()); }
2700 () 3833 (rule__DisjunctiveExpression__CasesAssignment_1_1_4_1)
2701 { after(grammarAccess.getStringSymbolAccess().getStringSymbolAction_1()); } 3834 { after(grammarAccess.getDisjunctiveExpressionAccess().getCasesAssignment_1_1_4_1()); }
2702) 3835)
2703; 3836;
2704finally { 3837finally {
@@ -2706,80 +3839,80 @@ finally {
2706} 3839}
2707 3840
2708 3841
2709rule__NamedObject__Group__0 3842rule__Case__Group__0
2710 @init { 3843 @init {
2711 int stackSize = keepStackSize(); 3844 int stackSize = keepStackSize();
2712 } 3845 }
2713: 3846:
2714 rule__NamedObject__Group__0__Impl 3847 rule__Case__Group__0__Impl
2715 rule__NamedObject__Group__1 3848 rule__Case__Group__1
2716; 3849;
2717finally { 3850finally {
2718 restoreStackSize(stackSize); 3851 restoreStackSize(stackSize);
2719} 3852}
2720 3853
2721rule__NamedObject__Group__0__Impl 3854rule__Case__Group__0__Impl
2722 @init { 3855 @init {
2723 int stackSize = keepStackSize(); 3856 int stackSize = keepStackSize();
2724 } 3857 }
2725: 3858:
2726( 3859(
2727 { before(grammarAccess.getNamedObjectAccess().getApostropheKeyword_0()); } 3860 { before(grammarAccess.getCaseAccess().getConditionAssignment_0()); }
2728 '\'' 3861 (rule__Case__ConditionAssignment_0)
2729 { after(grammarAccess.getNamedObjectAccess().getApostropheKeyword_0()); } 3862 { after(grammarAccess.getCaseAccess().getConditionAssignment_0()); }
2730) 3863)
2731; 3864;
2732finally { 3865finally {
2733 restoreStackSize(stackSize); 3866 restoreStackSize(stackSize);
2734} 3867}
2735 3868
2736rule__NamedObject__Group__1 3869rule__Case__Group__1
2737 @init { 3870 @init {
2738 int stackSize = keepStackSize(); 3871 int stackSize = keepStackSize();
2739 } 3872 }
2740: 3873:
2741 rule__NamedObject__Group__1__Impl 3874 rule__Case__Group__1__Impl
2742 rule__NamedObject__Group__2 3875 rule__Case__Group__2
2743; 3876;
2744finally { 3877finally {
2745 restoreStackSize(stackSize); 3878 restoreStackSize(stackSize);
2746} 3879}
2747 3880
2748rule__NamedObject__Group__1__Impl 3881rule__Case__Group__1__Impl
2749 @init { 3882 @init {
2750 int stackSize = keepStackSize(); 3883 int stackSize = keepStackSize();
2751 } 3884 }
2752: 3885:
2753( 3886(
2754 { before(grammarAccess.getNamedObjectAccess().getNameAssignment_1()); } 3887 { before(grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); }
2755 (rule__NamedObject__NameAssignment_1) 3888 '->'
2756 { after(grammarAccess.getNamedObjectAccess().getNameAssignment_1()); } 3889 { after(grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); }
2757) 3890)
2758; 3891;
2759finally { 3892finally {
2760 restoreStackSize(stackSize); 3893 restoreStackSize(stackSize);
2761} 3894}
2762 3895
2763rule__NamedObject__Group__2 3896rule__Case__Group__2
2764 @init { 3897 @init {
2765 int stackSize = keepStackSize(); 3898 int stackSize = keepStackSize();
2766 } 3899 }
2767: 3900:
2768 rule__NamedObject__Group__2__Impl 3901 rule__Case__Group__2__Impl
2769; 3902;
2770finally { 3903finally {
2771 restoreStackSize(stackSize); 3904 restoreStackSize(stackSize);
2772} 3905}
2773 3906
2774rule__NamedObject__Group__2__Impl 3907rule__Case__Group__2__Impl
2775 @init { 3908 @init {
2776 int stackSize = keepStackSize(); 3909 int stackSize = keepStackSize();
2777 } 3910 }
2778: 3911:
2779( 3912(
2780 { before(grammarAccess.getNamedObjectAccess().getApostropheKeyword_2()); } 3913 { before(grammarAccess.getCaseAccess().getBodyAssignment_2()); }
2781 '\'' 3914 (rule__Case__BodyAssignment_2)
2782 { after(grammarAccess.getNamedObjectAccess().getApostropheKeyword_2()); } 3915 { after(grammarAccess.getCaseAccess().getBodyAssignment_2()); }
2783) 3916)
2784; 3917;
2785finally { 3918finally {
@@ -2787,161 +3920,168 @@ finally {
2787} 3920}
2788 3921
2789 3922
2790rule__Predicate__Group__0 3923rule__ConjunctiveExpression__Group__0
2791 @init { 3924 @init {
2792 int stackSize = keepStackSize(); 3925 int stackSize = keepStackSize();
2793 } 3926 }
2794: 3927:
2795 rule__Predicate__Group__0__Impl 3928 rule__ConjunctiveExpression__Group__0__Impl
2796 rule__Predicate__Group__1 3929 rule__ConjunctiveExpression__Group__1
2797; 3930;
2798finally { 3931finally {
2799 restoreStackSize(stackSize); 3932 restoreStackSize(stackSize);
2800} 3933}
2801 3934
2802rule__Predicate__Group__0__Impl 3935rule__ConjunctiveExpression__Group__0__Impl
2803 @init { 3936 @init {
2804 int stackSize = keepStackSize(); 3937 int stackSize = keepStackSize();
2805 } 3938 }
2806: 3939:
2807( 3940(
2808 { before(grammarAccess.getPredicateAccess().getIsErrorAssignment_0()); } 3941 { before(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); }
2809 (rule__Predicate__IsErrorAssignment_0)? 3942 ruleComparisonExpression
2810 { after(grammarAccess.getPredicateAccess().getIsErrorAssignment_0()); } 3943 { after(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); }
2811) 3944)
2812; 3945;
2813finally { 3946finally {
2814 restoreStackSize(stackSize); 3947 restoreStackSize(stackSize);
2815} 3948}
2816 3949
2817rule__Predicate__Group__1 3950rule__ConjunctiveExpression__Group__1
2818 @init { 3951 @init {
2819 int stackSize = keepStackSize(); 3952 int stackSize = keepStackSize();
2820 } 3953 }
2821: 3954:
2822 rule__Predicate__Group__1__Impl 3955 rule__ConjunctiveExpression__Group__1__Impl
2823 rule__Predicate__Group__2
2824; 3956;
2825finally { 3957finally {
2826 restoreStackSize(stackSize); 3958 restoreStackSize(stackSize);
2827} 3959}
2828 3960
2829rule__Predicate__Group__1__Impl 3961rule__ConjunctiveExpression__Group__1__Impl
2830 @init { 3962 @init {
2831 int stackSize = keepStackSize(); 3963 int stackSize = keepStackSize();
2832 } 3964 }
2833: 3965:
2834( 3966(
2835 { before(grammarAccess.getPredicateAccess().getSymbolAssignment_1()); } 3967 { before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1()); }
2836 (rule__Predicate__SymbolAssignment_1) 3968 (rule__ConjunctiveExpression__Group_1__0)?
2837 { after(grammarAccess.getPredicateAccess().getSymbolAssignment_1()); } 3969 { after(grammarAccess.getConjunctiveExpressionAccess().getGroup_1()); }
2838) 3970)
2839; 3971;
2840finally { 3972finally {
2841 restoreStackSize(stackSize); 3973 restoreStackSize(stackSize);
2842} 3974}
2843 3975
2844rule__Predicate__Group__2 3976
3977rule__ConjunctiveExpression__Group_1__0
2845 @init { 3978 @init {
2846 int stackSize = keepStackSize(); 3979 int stackSize = keepStackSize();
2847 } 3980 }
2848: 3981:
2849 rule__Predicate__Group__2__Impl 3982 rule__ConjunctiveExpression__Group_1__0__Impl
2850 rule__Predicate__Group__3 3983 rule__ConjunctiveExpression__Group_1__1
2851; 3984;
2852finally { 3985finally {
2853 restoreStackSize(stackSize); 3986 restoreStackSize(stackSize);
2854} 3987}
2855 3988
2856rule__Predicate__Group__2__Impl 3989rule__ConjunctiveExpression__Group_1__0__Impl
2857 @init { 3990 @init {
2858 int stackSize = keepStackSize(); 3991 int stackSize = keepStackSize();
2859 } 3992 }
2860: 3993:
2861( 3994(
2862 { before(grammarAccess.getPredicateAccess().getGroup_2()); } 3995 { before(grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0()); }
2863 (rule__Predicate__Group_2__0)? 3996 ()
2864 { after(grammarAccess.getPredicateAccess().getGroup_2()); } 3997 { after(grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0()); }
2865) 3998)
2866; 3999;
2867finally { 4000finally {
2868 restoreStackSize(stackSize); 4001 restoreStackSize(stackSize);
2869} 4002}
2870 4003
2871rule__Predicate__Group__3 4004rule__ConjunctiveExpression__Group_1__1
2872 @init { 4005 @init {
2873 int stackSize = keepStackSize(); 4006 int stackSize = keepStackSize();
2874 } 4007 }
2875: 4008:
2876 rule__Predicate__Group__3__Impl 4009 rule__ConjunctiveExpression__Group_1__1__Impl
2877 rule__Predicate__Group__4
2878; 4010;
2879finally { 4011finally {
2880 restoreStackSize(stackSize); 4012 restoreStackSize(stackSize);
2881} 4013}
2882 4014
2883rule__Predicate__Group__3__Impl 4015rule__ConjunctiveExpression__Group_1__1__Impl
2884 @init { 4016 @init {
2885 int stackSize = keepStackSize(); 4017 int stackSize = keepStackSize();
2886 } 4018 }
2887: 4019:
2888( 4020(
2889 { before(grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3()); } 4021 (
2890 ':-' 4022 { before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1()); }
2891 { after(grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3()); } 4023 (rule__ConjunctiveExpression__Group_1_1__0)
4024 { after(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1()); }
4025 )
4026 (
4027 { before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1()); }
4028 (rule__ConjunctiveExpression__Group_1_1__0)*
4029 { after(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1()); }
4030 )
2892) 4031)
2893; 4032;
2894finally { 4033finally {
2895 restoreStackSize(stackSize); 4034 restoreStackSize(stackSize);
2896} 4035}
2897 4036
2898rule__Predicate__Group__4 4037
4038rule__ConjunctiveExpression__Group_1_1__0
2899 @init { 4039 @init {
2900 int stackSize = keepStackSize(); 4040 int stackSize = keepStackSize();
2901 } 4041 }
2902: 4042:
2903 rule__Predicate__Group__4__Impl 4043 rule__ConjunctiveExpression__Group_1_1__0__Impl
2904 rule__Predicate__Group__5 4044 rule__ConjunctiveExpression__Group_1_1__1
2905; 4045;
2906finally { 4046finally {
2907 restoreStackSize(stackSize); 4047 restoreStackSize(stackSize);
2908} 4048}
2909 4049
2910rule__Predicate__Group__4__Impl 4050rule__ConjunctiveExpression__Group_1_1__0__Impl
2911 @init { 4051 @init {
2912 int stackSize = keepStackSize(); 4052 int stackSize = keepStackSize();
2913 } 4053 }
2914: 4054:
2915( 4055(
2916 { before(grammarAccess.getPredicateAccess().getAlternatives_4()); } 4056 { before(grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); }
2917 (rule__Predicate__Alternatives_4) 4057 ','
2918 { after(grammarAccess.getPredicateAccess().getAlternatives_4()); } 4058 { after(grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); }
2919) 4059)
2920; 4060;
2921finally { 4061finally {
2922 restoreStackSize(stackSize); 4062 restoreStackSize(stackSize);
2923} 4063}
2924 4064
2925rule__Predicate__Group__5 4065rule__ConjunctiveExpression__Group_1_1__1
2926 @init { 4066 @init {
2927 int stackSize = keepStackSize(); 4067 int stackSize = keepStackSize();
2928 } 4068 }
2929: 4069:
2930 rule__Predicate__Group__5__Impl 4070 rule__ConjunctiveExpression__Group_1_1__1__Impl
2931; 4071;
2932finally { 4072finally {
2933 restoreStackSize(stackSize); 4073 restoreStackSize(stackSize);
2934} 4074}
2935 4075
2936rule__Predicate__Group__5__Impl 4076rule__ConjunctiveExpression__Group_1_1__1__Impl
2937 @init { 4077 @init {
2938 int stackSize = keepStackSize(); 4078 int stackSize = keepStackSize();
2939 } 4079 }
2940: 4080:
2941( 4081(
2942 { before(grammarAccess.getPredicateAccess().getFullStopKeyword_5()); } 4082 { before(grammarAccess.getConjunctiveExpressionAccess().getChildrenAssignment_1_1_1()); }
2943 '.' 4083 (rule__ConjunctiveExpression__ChildrenAssignment_1_1_1)
2944 { after(grammarAccess.getPredicateAccess().getFullStopKeyword_5()); } 4084 { after(grammarAccess.getConjunctiveExpressionAccess().getChildrenAssignment_1_1_1()); }
2945) 4085)
2946; 4086;
2947finally { 4087finally {
@@ -2949,134 +4089,134 @@ finally {
2949} 4089}
2950 4090
2951 4091
2952rule__Predicate__Group_2__0 4092rule__ComparisonExpression__Group__0
2953 @init { 4093 @init {
2954 int stackSize = keepStackSize(); 4094 int stackSize = keepStackSize();
2955 } 4095 }
2956: 4096:
2957 rule__Predicate__Group_2__0__Impl 4097 rule__ComparisonExpression__Group__0__Impl
2958 rule__Predicate__Group_2__1 4098 rule__ComparisonExpression__Group__1
2959; 4099;
2960finally { 4100finally {
2961 restoreStackSize(stackSize); 4101 restoreStackSize(stackSize);
2962} 4102}
2963 4103
2964rule__Predicate__Group_2__0__Impl 4104rule__ComparisonExpression__Group__0__Impl
2965 @init { 4105 @init {
2966 int stackSize = keepStackSize(); 4106 int stackSize = keepStackSize();
2967 } 4107 }
2968: 4108:
2969( 4109(
2970 { before(grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()); } 4110 { before(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); }
2971 '(' 4111 ruleAdditiveExpression
2972 { after(grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()); } 4112 { after(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); }
2973) 4113)
2974; 4114;
2975finally { 4115finally {
2976 restoreStackSize(stackSize); 4116 restoreStackSize(stackSize);
2977} 4117}
2978 4118
2979rule__Predicate__Group_2__1 4119rule__ComparisonExpression__Group__1
2980 @init { 4120 @init {
2981 int stackSize = keepStackSize(); 4121 int stackSize = keepStackSize();
2982 } 4122 }
2983: 4123:
2984 rule__Predicate__Group_2__1__Impl 4124 rule__ComparisonExpression__Group__1__Impl
2985 rule__Predicate__Group_2__2
2986; 4125;
2987finally { 4126finally {
2988 restoreStackSize(stackSize); 4127 restoreStackSize(stackSize);
2989} 4128}
2990 4129
2991rule__Predicate__Group_2__1__Impl 4130rule__ComparisonExpression__Group__1__Impl
2992 @init { 4131 @init {
2993 int stackSize = keepStackSize(); 4132 int stackSize = keepStackSize();
2994 } 4133 }
2995: 4134:
2996( 4135(
2997 { before(grammarAccess.getPredicateAccess().getGroup_2_1()); } 4136 { before(grammarAccess.getComparisonExpressionAccess().getGroup_1()); }
2998 (rule__Predicate__Group_2_1__0)? 4137 (rule__ComparisonExpression__Group_1__0)?
2999 { after(grammarAccess.getPredicateAccess().getGroup_2_1()); } 4138 { after(grammarAccess.getComparisonExpressionAccess().getGroup_1()); }
3000) 4139)
3001; 4140;
3002finally { 4141finally {
3003 restoreStackSize(stackSize); 4142 restoreStackSize(stackSize);
3004} 4143}
3005 4144
3006rule__Predicate__Group_2__2 4145
4146rule__ComparisonExpression__Group_1__0
3007 @init { 4147 @init {
3008 int stackSize = keepStackSize(); 4148 int stackSize = keepStackSize();
3009 } 4149 }
3010: 4150:
3011 rule__Predicate__Group_2__2__Impl 4151 rule__ComparisonExpression__Group_1__0__Impl
4152 rule__ComparisonExpression__Group_1__1
3012; 4153;
3013finally { 4154finally {
3014 restoreStackSize(stackSize); 4155 restoreStackSize(stackSize);
3015} 4156}
3016 4157
3017rule__Predicate__Group_2__2__Impl 4158rule__ComparisonExpression__Group_1__0__Impl
3018 @init { 4159 @init {
3019 int stackSize = keepStackSize(); 4160 int stackSize = keepStackSize();
3020 } 4161 }
3021: 4162:
3022( 4163(
3023 { before(grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2()); } 4164 { before(grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0()); }
3024 ')' 4165 ()
3025 { after(grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2()); } 4166 { after(grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0()); }
3026) 4167)
3027; 4168;
3028finally { 4169finally {
3029 restoreStackSize(stackSize); 4170 restoreStackSize(stackSize);
3030} 4171}
3031 4172
3032 4173rule__ComparisonExpression__Group_1__1
3033rule__Predicate__Group_2_1__0
3034 @init { 4174 @init {
3035 int stackSize = keepStackSize(); 4175 int stackSize = keepStackSize();
3036 } 4176 }
3037: 4177:
3038 rule__Predicate__Group_2_1__0__Impl 4178 rule__ComparisonExpression__Group_1__1__Impl
3039 rule__Predicate__Group_2_1__1 4179 rule__ComparisonExpression__Group_1__2
3040; 4180;
3041finally { 4181finally {
3042 restoreStackSize(stackSize); 4182 restoreStackSize(stackSize);
3043} 4183}
3044 4184
3045rule__Predicate__Group_2_1__0__Impl 4185rule__ComparisonExpression__Group_1__1__Impl
3046 @init { 4186 @init {
3047 int stackSize = keepStackSize(); 4187 int stackSize = keepStackSize();
3048 } 4188 }
3049: 4189:
3050( 4190(
3051 { before(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_0()); } 4191 { before(grammarAccess.getComparisonExpressionAccess().getOpAssignment_1_1()); }
3052 (rule__Predicate__ParametersAssignment_2_1_0) 4192 (rule__ComparisonExpression__OpAssignment_1_1)
3053 { after(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_0()); } 4193 { after(grammarAccess.getComparisonExpressionAccess().getOpAssignment_1_1()); }
3054) 4194)
3055; 4195;
3056finally { 4196finally {
3057 restoreStackSize(stackSize); 4197 restoreStackSize(stackSize);
3058} 4198}
3059 4199
3060rule__Predicate__Group_2_1__1 4200rule__ComparisonExpression__Group_1__2
3061 @init { 4201 @init {
3062 int stackSize = keepStackSize(); 4202 int stackSize = keepStackSize();
3063 } 4203 }
3064: 4204:
3065 rule__Predicate__Group_2_1__1__Impl 4205 rule__ComparisonExpression__Group_1__2__Impl
3066; 4206;
3067finally { 4207finally {
3068 restoreStackSize(stackSize); 4208 restoreStackSize(stackSize);
3069} 4209}
3070 4210
3071rule__Predicate__Group_2_1__1__Impl 4211rule__ComparisonExpression__Group_1__2__Impl
3072 @init { 4212 @init {
3073 int stackSize = keepStackSize(); 4213 int stackSize = keepStackSize();
3074 } 4214 }
3075: 4215:
3076( 4216(
3077 { before(grammarAccess.getPredicateAccess().getGroup_2_1_1()); } 4217 { before(grammarAccess.getComparisonExpressionAccess().getRightAssignment_1_2()); }
3078 (rule__Predicate__Group_2_1_1__0)* 4218 (rule__ComparisonExpression__RightAssignment_1_2)
3079 { after(grammarAccess.getPredicateAccess().getGroup_2_1_1()); } 4219 { after(grammarAccess.getComparisonExpressionAccess().getRightAssignment_1_2()); }
3080) 4220)
3081; 4221;
3082finally { 4222finally {
@@ -3084,53 +4224,53 @@ finally {
3084} 4224}
3085 4225
3086 4226
3087rule__Predicate__Group_2_1_1__0 4227rule__AdditiveExpression__Group__0
3088 @init { 4228 @init {
3089 int stackSize = keepStackSize(); 4229 int stackSize = keepStackSize();
3090 } 4230 }
3091: 4231:
3092 rule__Predicate__Group_2_1_1__0__Impl 4232 rule__AdditiveExpression__Group__0__Impl
3093 rule__Predicate__Group_2_1_1__1 4233 rule__AdditiveExpression__Group__1
3094; 4234;
3095finally { 4235finally {
3096 restoreStackSize(stackSize); 4236 restoreStackSize(stackSize);
3097} 4237}
3098 4238
3099rule__Predicate__Group_2_1_1__0__Impl 4239rule__AdditiveExpression__Group__0__Impl
3100 @init { 4240 @init {
3101 int stackSize = keepStackSize(); 4241 int stackSize = keepStackSize();
3102 } 4242 }
3103: 4243:
3104( 4244(
3105 { before(grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0()); } 4245 { before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); }
3106 ',' 4246 ruleMultiplicativeExpression
3107 { after(grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0()); } 4247 { after(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); }
3108) 4248)
3109; 4249;
3110finally { 4250finally {
3111 restoreStackSize(stackSize); 4251 restoreStackSize(stackSize);
3112} 4252}
3113 4253
3114rule__Predicate__Group_2_1_1__1 4254rule__AdditiveExpression__Group__1
3115 @init { 4255 @init {
3116 int stackSize = keepStackSize(); 4256 int stackSize = keepStackSize();
3117 } 4257 }
3118: 4258:
3119 rule__Predicate__Group_2_1_1__1__Impl 4259 rule__AdditiveExpression__Group__1__Impl
3120; 4260;
3121finally { 4261finally {
3122 restoreStackSize(stackSize); 4262 restoreStackSize(stackSize);
3123} 4263}
3124 4264
3125rule__Predicate__Group_2_1_1__1__Impl 4265rule__AdditiveExpression__Group__1__Impl
3126 @init { 4266 @init {
3127 int stackSize = keepStackSize(); 4267 int stackSize = keepStackSize();
3128 } 4268 }
3129: 4269:
3130( 4270(
3131 { before(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_1_1()); } 4271 { before(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); }
3132 (rule__Predicate__ParametersAssignment_2_1_1_1) 4272 (rule__AdditiveExpression__Group_1__0)*
3133 { after(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_1_1()); } 4273 { after(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); }
3134) 4274)
3135; 4275;
3136finally { 4276finally {
@@ -3138,53 +4278,80 @@ finally {
3138} 4278}
3139 4279
3140 4280
3141rule__Predicate__Group_4_1__0 4281rule__AdditiveExpression__Group_1__0
3142 @init { 4282 @init {
3143 int stackSize = keepStackSize(); 4283 int stackSize = keepStackSize();
3144 } 4284 }
3145: 4285:
3146 rule__Predicate__Group_4_1__0__Impl 4286 rule__AdditiveExpression__Group_1__0__Impl
3147 rule__Predicate__Group_4_1__1 4287 rule__AdditiveExpression__Group_1__1
3148; 4288;
3149finally { 4289finally {
3150 restoreStackSize(stackSize); 4290 restoreStackSize(stackSize);
3151} 4291}
3152 4292
3153rule__Predicate__Group_4_1__0__Impl 4293rule__AdditiveExpression__Group_1__0__Impl
3154 @init { 4294 @init {
3155 int stackSize = keepStackSize(); 4295 int stackSize = keepStackSize();
3156 } 4296 }
3157: 4297:
3158( 4298(
3159 { before(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_0()); } 4299 { before(grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0()); }
3160 (rule__Predicate__BodiesAssignment_4_1_0) 4300 ()
3161 { after(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_0()); } 4301 { after(grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0()); }
3162) 4302)
3163; 4303;
3164finally { 4304finally {
3165 restoreStackSize(stackSize); 4305 restoreStackSize(stackSize);
3166} 4306}
3167 4307
3168rule__Predicate__Group_4_1__1 4308rule__AdditiveExpression__Group_1__1
3169 @init { 4309 @init {
3170 int stackSize = keepStackSize(); 4310 int stackSize = keepStackSize();
3171 } 4311 }
3172: 4312:
3173 rule__Predicate__Group_4_1__1__Impl 4313 rule__AdditiveExpression__Group_1__1__Impl
4314 rule__AdditiveExpression__Group_1__2
3174; 4315;
3175finally { 4316finally {
3176 restoreStackSize(stackSize); 4317 restoreStackSize(stackSize);
3177} 4318}
3178 4319
3179rule__Predicate__Group_4_1__1__Impl 4320rule__AdditiveExpression__Group_1__1__Impl
3180 @init { 4321 @init {
3181 int stackSize = keepStackSize(); 4322 int stackSize = keepStackSize();
3182 } 4323 }
3183: 4324:
3184( 4325(
3185 { before(grammarAccess.getPredicateAccess().getGroup_4_1_1()); } 4326 { before(grammarAccess.getAdditiveExpressionAccess().getOpAssignment_1_1()); }
3186 (rule__Predicate__Group_4_1_1__0)* 4327 (rule__AdditiveExpression__OpAssignment_1_1)
3187 { after(grammarAccess.getPredicateAccess().getGroup_4_1_1()); } 4328 { after(grammarAccess.getAdditiveExpressionAccess().getOpAssignment_1_1()); }
4329)
4330;
4331finally {
4332 restoreStackSize(stackSize);
4333}
4334
4335rule__AdditiveExpression__Group_1__2
4336 @init {
4337 int stackSize = keepStackSize();
4338 }
4339:
4340 rule__AdditiveExpression__Group_1__2__Impl
4341;
4342finally {
4343 restoreStackSize(stackSize);
4344}
4345
4346rule__AdditiveExpression__Group_1__2__Impl
4347 @init {
4348 int stackSize = keepStackSize();
4349 }
4350:
4351(
4352 { before(grammarAccess.getAdditiveExpressionAccess().getRightAssignment_1_2()); }
4353 (rule__AdditiveExpression__RightAssignment_1_2)
4354 { after(grammarAccess.getAdditiveExpressionAccess().getRightAssignment_1_2()); }
3188) 4355)
3189; 4356;
3190finally { 4357finally {
@@ -3192,53 +4359,53 @@ finally {
3192} 4359}
3193 4360
3194 4361
3195rule__Predicate__Group_4_1_1__0 4362rule__MultiplicativeExpression__Group__0
3196 @init { 4363 @init {
3197 int stackSize = keepStackSize(); 4364 int stackSize = keepStackSize();
3198 } 4365 }
3199: 4366:
3200 rule__Predicate__Group_4_1_1__0__Impl 4367 rule__MultiplicativeExpression__Group__0__Impl
3201 rule__Predicate__Group_4_1_1__1 4368 rule__MultiplicativeExpression__Group__1
3202; 4369;
3203finally { 4370finally {
3204 restoreStackSize(stackSize); 4371 restoreStackSize(stackSize);
3205} 4372}
3206 4373
3207rule__Predicate__Group_4_1_1__0__Impl 4374rule__MultiplicativeExpression__Group__0__Impl
3208 @init { 4375 @init {
3209 int stackSize = keepStackSize(); 4376 int stackSize = keepStackSize();
3210 } 4377 }
3211: 4378:
3212( 4379(
3213 { before(grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0()); } 4380 { before(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); }
3214 '|' 4381 ruleExponentialExpression
3215 { after(grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0()); } 4382 { after(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); }
3216) 4383)
3217; 4384;
3218finally { 4385finally {
3219 restoreStackSize(stackSize); 4386 restoreStackSize(stackSize);
3220} 4387}
3221 4388
3222rule__Predicate__Group_4_1_1__1 4389rule__MultiplicativeExpression__Group__1
3223 @init { 4390 @init {
3224 int stackSize = keepStackSize(); 4391 int stackSize = keepStackSize();
3225 } 4392 }
3226: 4393:
3227 rule__Predicate__Group_4_1_1__1__Impl 4394 rule__MultiplicativeExpression__Group__1__Impl
3228; 4395;
3229finally { 4396finally {
3230 restoreStackSize(stackSize); 4397 restoreStackSize(stackSize);
3231} 4398}
3232 4399
3233rule__Predicate__Group_4_1_1__1__Impl 4400rule__MultiplicativeExpression__Group__1__Impl
3234 @init { 4401 @init {
3235 int stackSize = keepStackSize(); 4402 int stackSize = keepStackSize();
3236 } 4403 }
3237: 4404:
3238( 4405(
3239 { before(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_1_1()); } 4406 { before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); }
3240 (rule__Predicate__BodiesAssignment_4_1_1_1) 4407 (rule__MultiplicativeExpression__Group_1__0)*
3241 { after(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_1_1()); } 4408 { after(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); }
3242) 4409)
3243; 4410;
3244finally { 4411finally {
@@ -3246,107 +4413,134 @@ finally {
3246} 4413}
3247 4414
3248 4415
3249rule__Parameter__Group__0 4416rule__MultiplicativeExpression__Group_1__0
3250 @init { 4417 @init {
3251 int stackSize = keepStackSize(); 4418 int stackSize = keepStackSize();
3252 } 4419 }
3253: 4420:
3254 rule__Parameter__Group__0__Impl 4421 rule__MultiplicativeExpression__Group_1__0__Impl
3255 rule__Parameter__Group__1 4422 rule__MultiplicativeExpression__Group_1__1
3256; 4423;
3257finally { 4424finally {
3258 restoreStackSize(stackSize); 4425 restoreStackSize(stackSize);
3259} 4426}
3260 4427
3261rule__Parameter__Group__0__Impl 4428rule__MultiplicativeExpression__Group_1__0__Impl
3262 @init { 4429 @init {
3263 int stackSize = keepStackSize(); 4430 int stackSize = keepStackSize();
3264 } 4431 }
3265: 4432:
3266( 4433(
3267 { before(grammarAccess.getParameterAccess().getVariableAssignment_0()); } 4434 { before(grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0()); }
3268 (rule__Parameter__VariableAssignment_0) 4435 ()
3269 { after(grammarAccess.getParameterAccess().getVariableAssignment_0()); } 4436 { after(grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0()); }
3270) 4437)
3271; 4438;
3272finally { 4439finally {
3273 restoreStackSize(stackSize); 4440 restoreStackSize(stackSize);
3274} 4441}
3275 4442
3276rule__Parameter__Group__1 4443rule__MultiplicativeExpression__Group_1__1
3277 @init { 4444 @init {
3278 int stackSize = keepStackSize(); 4445 int stackSize = keepStackSize();
3279 } 4446 }
3280: 4447:
3281 rule__Parameter__Group__1__Impl 4448 rule__MultiplicativeExpression__Group_1__1__Impl
4449 rule__MultiplicativeExpression__Group_1__2
3282; 4450;
3283finally { 4451finally {
3284 restoreStackSize(stackSize); 4452 restoreStackSize(stackSize);
3285} 4453}
3286 4454
3287rule__Parameter__Group__1__Impl 4455rule__MultiplicativeExpression__Group_1__1__Impl
3288 @init { 4456 @init {
3289 int stackSize = keepStackSize(); 4457 int stackSize = keepStackSize();
3290 } 4458 }
3291: 4459:
3292( 4460(
3293 { before(grammarAccess.getParameterAccess().getGroup_1()); } 4461 { before(grammarAccess.getMultiplicativeExpressionAccess().getOpAssignment_1_1()); }
3294 (rule__Parameter__Group_1__0)? 4462 (rule__MultiplicativeExpression__OpAssignment_1_1)
3295 { after(grammarAccess.getParameterAccess().getGroup_1()); } 4463 { after(grammarAccess.getMultiplicativeExpressionAccess().getOpAssignment_1_1()); }
3296) 4464)
3297; 4465;
3298finally { 4466finally {
3299 restoreStackSize(stackSize); 4467 restoreStackSize(stackSize);
3300} 4468}
3301 4469
4470rule__MultiplicativeExpression__Group_1__2
4471 @init {
4472 int stackSize = keepStackSize();
4473 }
4474:
4475 rule__MultiplicativeExpression__Group_1__2__Impl
4476;
4477finally {
4478 restoreStackSize(stackSize);
4479}
3302 4480
3303rule__Parameter__Group_1__0 4481rule__MultiplicativeExpression__Group_1__2__Impl
3304 @init { 4482 @init {
3305 int stackSize = keepStackSize(); 4483 int stackSize = keepStackSize();
3306 } 4484 }
3307: 4485:
3308 rule__Parameter__Group_1__0__Impl 4486(
3309 rule__Parameter__Group_1__1 4487 { before(grammarAccess.getMultiplicativeExpressionAccess().getRightAssignment_1_2()); }
4488 (rule__MultiplicativeExpression__RightAssignment_1_2)
4489 { after(grammarAccess.getMultiplicativeExpressionAccess().getRightAssignment_1_2()); }
4490)
3310; 4491;
3311finally { 4492finally {
3312 restoreStackSize(stackSize); 4493 restoreStackSize(stackSize);
3313} 4494}
3314 4495
3315rule__Parameter__Group_1__0__Impl 4496
4497rule__ExponentialExpression__Group__0
4498 @init {
4499 int stackSize = keepStackSize();
4500 }
4501:
4502 rule__ExponentialExpression__Group__0__Impl
4503 rule__ExponentialExpression__Group__1
4504;
4505finally {
4506 restoreStackSize(stackSize);
4507}
4508
4509rule__ExponentialExpression__Group__0__Impl
3316 @init { 4510 @init {
3317 int stackSize = keepStackSize(); 4511 int stackSize = keepStackSize();
3318 } 4512 }
3319: 4513:
3320( 4514(
3321 { before(grammarAccess.getParameterAccess().getColonKeyword_1_0()); } 4515 { before(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); }
3322 ':' 4516 ruleUnaryExpression
3323 { after(grammarAccess.getParameterAccess().getColonKeyword_1_0()); } 4517 { after(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); }
3324) 4518)
3325; 4519;
3326finally { 4520finally {
3327 restoreStackSize(stackSize); 4521 restoreStackSize(stackSize);
3328} 4522}
3329 4523
3330rule__Parameter__Group_1__1 4524rule__ExponentialExpression__Group__1
3331 @init { 4525 @init {
3332 int stackSize = keepStackSize(); 4526 int stackSize = keepStackSize();
3333 } 4527 }
3334: 4528:
3335 rule__Parameter__Group_1__1__Impl 4529 rule__ExponentialExpression__Group__1__Impl
3336; 4530;
3337finally { 4531finally {
3338 restoreStackSize(stackSize); 4532 restoreStackSize(stackSize);
3339} 4533}
3340 4534
3341rule__Parameter__Group_1__1__Impl 4535rule__ExponentialExpression__Group__1__Impl
3342 @init { 4536 @init {
3343 int stackSize = keepStackSize(); 4537 int stackSize = keepStackSize();
3344 } 4538 }
3345: 4539:
3346( 4540(
3347 { before(grammarAccess.getParameterAccess().getTypeAssignment_1_1()); } 4541 { before(grammarAccess.getExponentialExpressionAccess().getGroup_1()); }
3348 (rule__Parameter__TypeAssignment_1_1) 4542 (rule__ExponentialExpression__Group_1__0)?
3349 { after(grammarAccess.getParameterAccess().getTypeAssignment_1_1()); } 4543 { after(grammarAccess.getExponentialExpressionAccess().getGroup_1()); }
3350) 4544)
3351; 4545;
3352finally { 4546finally {
@@ -3354,107 +4548,161 @@ finally {
3354} 4548}
3355 4549
3356 4550
3357rule__PatternBody__Group__0 4551rule__ExponentialExpression__Group_1__0
3358 @init { 4552 @init {
3359 int stackSize = keepStackSize(); 4553 int stackSize = keepStackSize();
3360 } 4554 }
3361: 4555:
3362 rule__PatternBody__Group__0__Impl 4556 rule__ExponentialExpression__Group_1__0__Impl
3363 rule__PatternBody__Group__1 4557 rule__ExponentialExpression__Group_1__1
3364; 4558;
3365finally { 4559finally {
3366 restoreStackSize(stackSize); 4560 restoreStackSize(stackSize);
3367} 4561}
3368 4562
3369rule__PatternBody__Group__0__Impl 4563rule__ExponentialExpression__Group_1__0__Impl
3370 @init { 4564 @init {
3371 int stackSize = keepStackSize(); 4565 int stackSize = keepStackSize();
3372 } 4566 }
3373: 4567:
3374( 4568(
3375 { before(grammarAccess.getPatternBodyAccess().getPatternBodyAction_0()); } 4569 { before(grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0()); }
3376 () 4570 ()
3377 { after(grammarAccess.getPatternBodyAccess().getPatternBodyAction_0()); } 4571 { after(grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0()); }
3378) 4572)
3379; 4573;
3380finally { 4574finally {
3381 restoreStackSize(stackSize); 4575 restoreStackSize(stackSize);
3382} 4576}
3383 4577
3384rule__PatternBody__Group__1 4578rule__ExponentialExpression__Group_1__1
3385 @init { 4579 @init {
3386 int stackSize = keepStackSize(); 4580 int stackSize = keepStackSize();
3387 } 4581 }
3388: 4582:
3389 rule__PatternBody__Group__1__Impl 4583 rule__ExponentialExpression__Group_1__1__Impl
4584 rule__ExponentialExpression__Group_1__2
3390; 4585;
3391finally { 4586finally {
3392 restoreStackSize(stackSize); 4587 restoreStackSize(stackSize);
3393} 4588}
3394 4589
3395rule__PatternBody__Group__1__Impl 4590rule__ExponentialExpression__Group_1__1__Impl
3396 @init { 4591 @init {
3397 int stackSize = keepStackSize(); 4592 int stackSize = keepStackSize();
3398 } 4593 }
3399: 4594:
3400( 4595(
3401 { before(grammarAccess.getPatternBodyAccess().getAlternatives_1()); } 4596 { before(grammarAccess.getExponentialExpressionAccess().getOpAssignment_1_1()); }
3402 (rule__PatternBody__Alternatives_1) 4597 (rule__ExponentialExpression__OpAssignment_1_1)
3403 { after(grammarAccess.getPatternBodyAccess().getAlternatives_1()); } 4598 { after(grammarAccess.getExponentialExpressionAccess().getOpAssignment_1_1()); }
3404) 4599)
3405; 4600;
3406finally { 4601finally {
3407 restoreStackSize(stackSize); 4602 restoreStackSize(stackSize);
3408} 4603}
3409 4604
4605rule__ExponentialExpression__Group_1__2
4606 @init {
4607 int stackSize = keepStackSize();
4608 }
4609:
4610 rule__ExponentialExpression__Group_1__2__Impl
4611;
4612finally {
4613 restoreStackSize(stackSize);
4614}
4615
4616rule__ExponentialExpression__Group_1__2__Impl
4617 @init {
4618 int stackSize = keepStackSize();
4619 }
4620:
4621(
4622 { before(grammarAccess.getExponentialExpressionAccess().getRightAssignment_1_2()); }
4623 (rule__ExponentialExpression__RightAssignment_1_2)
4624 { after(grammarAccess.getExponentialExpressionAccess().getRightAssignment_1_2()); }
4625)
4626;
4627finally {
4628 restoreStackSize(stackSize);
4629}
3410 4630
3411rule__Polarity__Group_0__0 4631
4632rule__UnaryExpression__Group_1__0
3412 @init { 4633 @init {
3413 int stackSize = keepStackSize(); 4634 int stackSize = keepStackSize();
3414 } 4635 }
3415: 4636:
3416 rule__Polarity__Group_0__0__Impl 4637 rule__UnaryExpression__Group_1__0__Impl
3417 rule__Polarity__Group_0__1 4638 rule__UnaryExpression__Group_1__1
3418; 4639;
3419finally { 4640finally {
3420 restoreStackSize(stackSize); 4641 restoreStackSize(stackSize);
3421} 4642}
3422 4643
3423rule__Polarity__Group_0__0__Impl 4644rule__UnaryExpression__Group_1__0__Impl
3424 @init { 4645 @init {
3425 int stackSize = keepStackSize(); 4646 int stackSize = keepStackSize();
3426 } 4647 }
3427: 4648:
3428( 4649(
3429 { before(grammarAccess.getPolarityAccess().getPositiveAction_0_0()); } 4650 { before(grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0()); }
3430 () 4651 ()
3431 { after(grammarAccess.getPolarityAccess().getPositiveAction_0_0()); } 4652 { after(grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0()); }
4653)
4654;
4655finally {
4656 restoreStackSize(stackSize);
4657}
4658
4659rule__UnaryExpression__Group_1__1
4660 @init {
4661 int stackSize = keepStackSize();
4662 }
4663:
4664 rule__UnaryExpression__Group_1__1__Impl
4665 rule__UnaryExpression__Group_1__2
4666;
4667finally {
4668 restoreStackSize(stackSize);
4669}
4670
4671rule__UnaryExpression__Group_1__1__Impl
4672 @init {
4673 int stackSize = keepStackSize();
4674 }
4675:
4676(
4677 { before(grammarAccess.getUnaryExpressionAccess().getOpAssignment_1_1()); }
4678 (rule__UnaryExpression__OpAssignment_1_1)
4679 { after(grammarAccess.getUnaryExpressionAccess().getOpAssignment_1_1()); }
3432) 4680)
3433; 4681;
3434finally { 4682finally {
3435 restoreStackSize(stackSize); 4683 restoreStackSize(stackSize);
3436} 4684}
3437 4685
3438rule__Polarity__Group_0__1 4686rule__UnaryExpression__Group_1__2
3439 @init { 4687 @init {
3440 int stackSize = keepStackSize(); 4688 int stackSize = keepStackSize();
3441 } 4689 }
3442: 4690:
3443 rule__Polarity__Group_0__1__Impl 4691 rule__UnaryExpression__Group_1__2__Impl
3444; 4692;
3445finally { 4693finally {
3446 restoreStackSize(stackSize); 4694 restoreStackSize(stackSize);
3447} 4695}
3448 4696
3449rule__Polarity__Group_0__1__Impl 4697rule__UnaryExpression__Group_1__2__Impl
3450 @init { 4698 @init {
3451 int stackSize = keepStackSize(); 4699 int stackSize = keepStackSize();
3452 } 4700 }
3453: 4701:
3454( 4702(
3455 { before(grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1()); } 4703 { before(grammarAccess.getUnaryExpressionAccess().getBodyAssignment_1_2()); }
3456 '+' 4704 (rule__UnaryExpression__BodyAssignment_1_2)
3457 { after(grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1()); } 4705 { after(grammarAccess.getUnaryExpressionAccess().getBodyAssignment_1_2()); }
3458) 4706)
3459; 4707;
3460finally { 4708finally {
@@ -3462,242 +4710,458 @@ finally {
3462} 4710}
3463 4711
3464 4712
3465rule__Polarity__Group_1__0 4713rule__Count__Group__0
3466 @init { 4714 @init {
3467 int stackSize = keepStackSize(); 4715 int stackSize = keepStackSize();
3468 } 4716 }
3469: 4717:
3470 rule__Polarity__Group_1__0__Impl 4718 rule__Count__Group__0__Impl
3471 rule__Polarity__Group_1__1 4719 rule__Count__Group__1
3472; 4720;
3473finally { 4721finally {
3474 restoreStackSize(stackSize); 4722 restoreStackSize(stackSize);
3475} 4723}
3476 4724
3477rule__Polarity__Group_1__0__Impl 4725rule__Count__Group__0__Impl
3478 @init { 4726 @init {
3479 int stackSize = keepStackSize(); 4727 int stackSize = keepStackSize();
3480 } 4728 }
3481: 4729:
3482( 4730(
3483 { before(grammarAccess.getPolarityAccess().getNegativeAction_1_0()); } 4731 { before(grammarAccess.getCountAccess().getCountKeyword_0()); }
3484 () 4732 'count'
3485 { after(grammarAccess.getPolarityAccess().getNegativeAction_1_0()); } 4733 { after(grammarAccess.getCountAccess().getCountKeyword_0()); }
3486) 4734)
3487; 4735;
3488finally { 4736finally {
3489 restoreStackSize(stackSize); 4737 restoreStackSize(stackSize);
3490} 4738}
3491 4739
3492rule__Polarity__Group_1__1 4740rule__Count__Group__1
3493 @init { 4741 @init {
3494 int stackSize = keepStackSize(); 4742 int stackSize = keepStackSize();
3495 } 4743 }
3496: 4744:
3497 rule__Polarity__Group_1__1__Impl 4745 rule__Count__Group__1__Impl
4746 rule__Count__Group__2
3498; 4747;
3499finally { 4748finally {
3500 restoreStackSize(stackSize); 4749 restoreStackSize(stackSize);
3501} 4750}
3502 4751
3503rule__Polarity__Group_1__1__Impl 4752rule__Count__Group__1__Impl
3504 @init { 4753 @init {
3505 int stackSize = keepStackSize(); 4754 int stackSize = keepStackSize();
3506 } 4755 }
3507: 4756:
3508( 4757(
3509 { before(grammarAccess.getPolarityAccess().getHyphenMinusKeyword_1_1()); } 4758 { before(grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); }
3510 '-' 4759 '{'
3511 { after(grammarAccess.getPolarityAccess().getHyphenMinusKeyword_1_1()); } 4760 { after(grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); }
3512) 4761)
3513; 4762;
3514finally { 4763finally {
3515 restoreStackSize(stackSize); 4764 restoreStackSize(stackSize);
3516} 4765}
3517 4766
4767rule__Count__Group__2
4768 @init {
4769 int stackSize = keepStackSize();
4770 }
4771:
4772 rule__Count__Group__2__Impl
4773 rule__Count__Group__3
4774;
4775finally {
4776 restoreStackSize(stackSize);
4777}
3518 4778
3519rule__Constraint__Group_0__0 4779rule__Count__Group__2__Impl
3520 @init { 4780 @init {
3521 int stackSize = keepStackSize(); 4781 int stackSize = keepStackSize();
3522 } 4782 }
3523: 4783:
3524 rule__Constraint__Group_0__0__Impl 4784(
3525 rule__Constraint__Group_0__1 4785 { before(grammarAccess.getCountAccess().getBodyAssignment_2()); }
4786 (rule__Count__BodyAssignment_2)
4787 { after(grammarAccess.getCountAccess().getBodyAssignment_2()); }
4788)
3526; 4789;
3527finally { 4790finally {
3528 restoreStackSize(stackSize); 4791 restoreStackSize(stackSize);
3529} 4792}
3530 4793
3531rule__Constraint__Group_0__0__Impl 4794rule__Count__Group__3
4795 @init {
4796 int stackSize = keepStackSize();
4797 }
4798:
4799 rule__Count__Group__3__Impl
4800;
4801finally {
4802 restoreStackSize(stackSize);
4803}
4804
4805rule__Count__Group__3__Impl
3532 @init { 4806 @init {
3533 int stackSize = keepStackSize(); 4807 int stackSize = keepStackSize();
3534 } 4808 }
3535: 4809:
3536( 4810(
3537 { before(grammarAccess.getConstraintAccess().getPolarityAssignment_0_0()); } 4811 { before(grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); }
3538 (rule__Constraint__PolarityAssignment_0_0)? 4812 '}'
3539 { after(grammarAccess.getConstraintAccess().getPolarityAssignment_0_0()); } 4813 { after(grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); }
3540) 4814)
3541; 4815;
3542finally { 4816finally {
3543 restoreStackSize(stackSize); 4817 restoreStackSize(stackSize);
3544} 4818}
3545 4819
3546rule__Constraint__Group_0__1 4820
4821rule__Aggregation__Group__0
3547 @init { 4822 @init {
3548 int stackSize = keepStackSize(); 4823 int stackSize = keepStackSize();
3549 } 4824 }
3550: 4825:
3551 rule__Constraint__Group_0__1__Impl 4826 rule__Aggregation__Group__0__Impl
3552 rule__Constraint__Group_0__2 4827 rule__Aggregation__Group__1
3553; 4828;
3554finally { 4829finally {
3555 restoreStackSize(stackSize); 4830 restoreStackSize(stackSize);
3556} 4831}
3557 4832
3558rule__Constraint__Group_0__1__Impl 4833rule__Aggregation__Group__0__Impl
3559 @init { 4834 @init {
3560 int stackSize = keepStackSize(); 4835 int stackSize = keepStackSize();
3561 } 4836 }
3562: 4837:
3563( 4838(
3564 { before(grammarAccess.getConstraintAccess().getSymbolAssignment_0_1()); } 4839 { before(grammarAccess.getAggregationAccess().getOpAssignment_0()); }
3565 (rule__Constraint__SymbolAssignment_0_1) 4840 (rule__Aggregation__OpAssignment_0)
3566 { after(grammarAccess.getConstraintAccess().getSymbolAssignment_0_1()); } 4841 { after(grammarAccess.getAggregationAccess().getOpAssignment_0()); }
3567) 4842)
3568; 4843;
3569finally { 4844finally {
3570 restoreStackSize(stackSize); 4845 restoreStackSize(stackSize);
3571} 4846}
3572 4847
3573rule__Constraint__Group_0__2 4848rule__Aggregation__Group__1
3574 @init { 4849 @init {
3575 int stackSize = keepStackSize(); 4850 int stackSize = keepStackSize();
3576 } 4851 }
3577: 4852:
3578 rule__Constraint__Group_0__2__Impl 4853 rule__Aggregation__Group__1__Impl
4854 rule__Aggregation__Group__2
3579; 4855;
3580finally { 4856finally {
3581 restoreStackSize(stackSize); 4857 restoreStackSize(stackSize);
3582} 4858}
3583 4859
3584rule__Constraint__Group_0__2__Impl 4860rule__Aggregation__Group__1__Impl
3585 @init { 4861 @init {
3586 int stackSize = keepStackSize(); 4862 int stackSize = keepStackSize();
3587 } 4863 }
3588: 4864:
3589( 4865(
3590 { before(grammarAccess.getConstraintAccess().getGroup_0_2()); } 4866 { before(grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); }
3591 (rule__Constraint__Group_0_2__0)? 4867 '{'
3592 { after(grammarAccess.getConstraintAccess().getGroup_0_2()); } 4868 { after(grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); }
3593) 4869)
3594; 4870;
3595finally { 4871finally {
3596 restoreStackSize(stackSize); 4872 restoreStackSize(stackSize);
3597} 4873}
3598 4874
4875rule__Aggregation__Group__2
4876 @init {
4877 int stackSize = keepStackSize();
4878 }
4879:
4880 rule__Aggregation__Group__2__Impl
4881 rule__Aggregation__Group__3
4882;
4883finally {
4884 restoreStackSize(stackSize);
4885}
3599 4886
3600rule__Constraint__Group_0_2__0 4887rule__Aggregation__Group__2__Impl
3601 @init { 4888 @init {
3602 int stackSize = keepStackSize(); 4889 int stackSize = keepStackSize();
3603 } 4890 }
3604: 4891:
3605 rule__Constraint__Group_0_2__0__Impl 4892(
3606 rule__Constraint__Group_0_2__1 4893 { before(grammarAccess.getAggregationAccess().getBodyAssignment_2()); }
4894 (rule__Aggregation__BodyAssignment_2)
4895 { after(grammarAccess.getAggregationAccess().getBodyAssignment_2()); }
4896)
3607; 4897;
3608finally { 4898finally {
3609 restoreStackSize(stackSize); 4899 restoreStackSize(stackSize);
3610} 4900}
3611 4901
3612rule__Constraint__Group_0_2__0__Impl 4902rule__Aggregation__Group__3
4903 @init {
4904 int stackSize = keepStackSize();
4905 }
4906:
4907 rule__Aggregation__Group__3__Impl
4908 rule__Aggregation__Group__4
4909;
4910finally {
4911 restoreStackSize(stackSize);
4912}
4913
4914rule__Aggregation__Group__3__Impl
3613 @init { 4915 @init {
3614 int stackSize = keepStackSize(); 4916 int stackSize = keepStackSize();
3615 } 4917 }
3616: 4918:
3617( 4919(
3618 { before(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()); } 4920 { before(grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); }
3619 '(' 4921 '|'
3620 { after(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()); } 4922 { after(grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); }
4923)
4924;
4925finally {
4926 restoreStackSize(stackSize);
4927}
4928
4929rule__Aggregation__Group__4
4930 @init {
4931 int stackSize = keepStackSize();
4932 }
4933:
4934 rule__Aggregation__Group__4__Impl
4935 rule__Aggregation__Group__5
4936;
4937finally {
4938 restoreStackSize(stackSize);
4939}
4940
4941rule__Aggregation__Group__4__Impl
4942 @init {
4943 int stackSize = keepStackSize();
4944 }
4945:
4946(
4947 { before(grammarAccess.getAggregationAccess().getConditionAssignment_4()); }
4948 (rule__Aggregation__ConditionAssignment_4)
4949 { after(grammarAccess.getAggregationAccess().getConditionAssignment_4()); }
3621) 4950)
3622; 4951;
3623finally { 4952finally {
3624 restoreStackSize(stackSize); 4953 restoreStackSize(stackSize);
3625} 4954}
3626 4955
3627rule__Constraint__Group_0_2__1 4956rule__Aggregation__Group__5
3628 @init { 4957 @init {
3629 int stackSize = keepStackSize(); 4958 int stackSize = keepStackSize();
3630 } 4959 }
3631: 4960:
3632 rule__Constraint__Group_0_2__1__Impl 4961 rule__Aggregation__Group__5__Impl
3633 rule__Constraint__Group_0_2__2
3634; 4962;
3635finally { 4963finally {
3636 restoreStackSize(stackSize); 4964 restoreStackSize(stackSize);
3637} 4965}
3638 4966
3639rule__Constraint__Group_0_2__1__Impl 4967rule__Aggregation__Group__5__Impl
3640 @init { 4968 @init {
3641 int stackSize = keepStackSize(); 4969 int stackSize = keepStackSize();
3642 } 4970 }
3643: 4971:
3644( 4972(
3645 { before(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_1()); } 4973 { before(grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); }
3646 (rule__Constraint__ParamsAssignment_0_2_1)? 4974 '}'
3647 { after(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_1()); } 4975 { after(grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); }
3648) 4976)
3649; 4977;
3650finally { 4978finally {
3651 restoreStackSize(stackSize); 4979 restoreStackSize(stackSize);
3652} 4980}
3653 4981
3654rule__Constraint__Group_0_2__2 4982
4983rule__AtomicExpression__Group_0__0
3655 @init { 4984 @init {
3656 int stackSize = keepStackSize(); 4985 int stackSize = keepStackSize();
3657 } 4986 }
3658: 4987:
3659 rule__Constraint__Group_0_2__2__Impl 4988 rule__AtomicExpression__Group_0__0__Impl
3660 rule__Constraint__Group_0_2__3 4989 rule__AtomicExpression__Group_0__1
3661; 4990;
3662finally { 4991finally {
3663 restoreStackSize(stackSize); 4992 restoreStackSize(stackSize);
3664} 4993}
3665 4994
3666rule__Constraint__Group_0_2__2__Impl 4995rule__AtomicExpression__Group_0__0__Impl
3667 @init { 4996 @init {
3668 int stackSize = keepStackSize(); 4997 int stackSize = keepStackSize();
3669 } 4998 }
3670: 4999:
3671( 5000(
3672 { before(grammarAccess.getConstraintAccess().getGroup_0_2_2()); } 5001 { before(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0_0()); }
3673 (rule__Constraint__Group_0_2_2__0)* 5002 ruleReference
3674 { after(grammarAccess.getConstraintAccess().getGroup_0_2_2()); } 5003 { after(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0_0()); }
3675) 5004)
3676; 5005;
3677finally { 5006finally {
3678 restoreStackSize(stackSize); 5007 restoreStackSize(stackSize);
3679} 5008}
3680 5009
3681rule__Constraint__Group_0_2__3 5010rule__AtomicExpression__Group_0__1
3682 @init { 5011 @init {
3683 int stackSize = keepStackSize(); 5012 int stackSize = keepStackSize();
3684 } 5013 }
3685: 5014:
3686 rule__Constraint__Group_0_2__3__Impl 5015 rule__AtomicExpression__Group_0__1__Impl
3687; 5016;
3688finally { 5017finally {
3689 restoreStackSize(stackSize); 5018 restoreStackSize(stackSize);
3690} 5019}
3691 5020
3692rule__Constraint__Group_0_2__3__Impl 5021rule__AtomicExpression__Group_0__1__Impl
3693 @init { 5022 @init {
3694 int stackSize = keepStackSize(); 5023 int stackSize = keepStackSize();
3695 } 5024 }
3696: 5025:
3697( 5026(
3698 { before(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3()); } 5027 { before(grammarAccess.getAtomicExpressionAccess().getGroup_0_1()); }
5028 (rule__AtomicExpression__Group_0_1__0)?
5029 { after(grammarAccess.getAtomicExpressionAccess().getGroup_0_1()); }
5030)
5031;
5032finally {
5033 restoreStackSize(stackSize);
5034}
5035
5036
5037rule__AtomicExpression__Group_0_1__0
5038 @init {
5039 int stackSize = keepStackSize();
5040 }
5041:
5042 rule__AtomicExpression__Group_0_1__0__Impl
5043 rule__AtomicExpression__Group_0_1__1
5044;
5045finally {
5046 restoreStackSize(stackSize);
5047}
5048
5049rule__AtomicExpression__Group_0_1__0__Impl
5050 @init {
5051 int stackSize = keepStackSize();
5052 }
5053:
5054(
5055 { before(grammarAccess.getAtomicExpressionAccess().getCallFunctorAction_0_1_0()); }
5056 ()
5057 { after(grammarAccess.getAtomicExpressionAccess().getCallFunctorAction_0_1_0()); }
5058)
5059;
5060finally {
5061 restoreStackSize(stackSize);
5062}
5063
5064rule__AtomicExpression__Group_0_1__1
5065 @init {
5066 int stackSize = keepStackSize();
5067 }
5068:
5069 rule__AtomicExpression__Group_0_1__1__Impl
5070;
5071finally {
5072 restoreStackSize(stackSize);
5073}
5074
5075rule__AtomicExpression__Group_0_1__1__Impl
5076 @init {
5077 int stackSize = keepStackSize();
5078 }
5079:
5080(
5081 { before(grammarAccess.getAtomicExpressionAccess().getArgumentListAssignment_0_1_1()); }
5082 (rule__AtomicExpression__ArgumentListAssignment_0_1_1)
5083 { after(grammarAccess.getAtomicExpressionAccess().getArgumentListAssignment_0_1_1()); }
5084)
5085;
5086finally {
5087 restoreStackSize(stackSize);
5088}
5089
5090
5091rule__AtomicExpression__Group_3__0
5092 @init {
5093 int stackSize = keepStackSize();
5094 }
5095:
5096 rule__AtomicExpression__Group_3__0__Impl
5097 rule__AtomicExpression__Group_3__1
5098;
5099finally {
5100 restoreStackSize(stackSize);
5101}
5102
5103rule__AtomicExpression__Group_3__0__Impl
5104 @init {
5105 int stackSize = keepStackSize();
5106 }
5107:
5108(
5109 { before(grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0()); }
5110 '('
5111 { after(grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0()); }
5112)
5113;
5114finally {
5115 restoreStackSize(stackSize);
5116}
5117
5118rule__AtomicExpression__Group_3__1
5119 @init {
5120 int stackSize = keepStackSize();
5121 }
5122:
5123 rule__AtomicExpression__Group_3__1__Impl
5124 rule__AtomicExpression__Group_3__2
5125;
5126finally {
5127 restoreStackSize(stackSize);
5128}
5129
5130rule__AtomicExpression__Group_3__1__Impl
5131 @init {
5132 int stackSize = keepStackSize();
5133 }
5134:
5135(
5136 { before(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_3_1()); }
5137 ruleExpression
5138 { after(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_3_1()); }
5139)
5140;
5141finally {
5142 restoreStackSize(stackSize);
5143}
5144
5145rule__AtomicExpression__Group_3__2
5146 @init {
5147 int stackSize = keepStackSize();
5148 }
5149:
5150 rule__AtomicExpression__Group_3__2__Impl
5151;
5152finally {
5153 restoreStackSize(stackSize);
5154}
5155
5156rule__AtomicExpression__Group_3__2__Impl
5157 @init {
5158 int stackSize = keepStackSize();
5159 }
5160:
5161(
5162 { before(grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_3_2()); }
3699 ')' 5163 ')'
3700 { after(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3()); } 5164 { after(grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_3_2()); }
3701) 5165)
3702; 5166;
3703finally { 5167finally {
@@ -3705,188 +5169,242 @@ finally {
3705} 5169}
3706 5170
3707 5171
3708rule__Constraint__Group_0_2_2__0 5172rule__Call__Group__0
3709 @init { 5173 @init {
3710 int stackSize = keepStackSize(); 5174 int stackSize = keepStackSize();
3711 } 5175 }
3712: 5176:
3713 rule__Constraint__Group_0_2_2__0__Impl 5177 rule__Call__Group__0__Impl
3714 rule__Constraint__Group_0_2_2__1 5178 rule__Call__Group__1
3715; 5179;
3716finally { 5180finally {
3717 restoreStackSize(stackSize); 5181 restoreStackSize(stackSize);
3718} 5182}
3719 5183
3720rule__Constraint__Group_0_2_2__0__Impl 5184rule__Call__Group__0__Impl
3721 @init { 5185 @init {
3722 int stackSize = keepStackSize(); 5186 int stackSize = keepStackSize();
3723 } 5187 }
3724: 5188:
3725( 5189(
3726 { before(grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0()); } 5190 { before(grammarAccess.getCallAccess().getFunctorAssignment_0()); }
3727 ',' 5191 (rule__Call__FunctorAssignment_0)
3728 { after(grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0()); } 5192 { after(grammarAccess.getCallAccess().getFunctorAssignment_0()); }
3729) 5193)
3730; 5194;
3731finally { 5195finally {
3732 restoreStackSize(stackSize); 5196 restoreStackSize(stackSize);
3733} 5197}
3734 5198
3735rule__Constraint__Group_0_2_2__1 5199rule__Call__Group__1
3736 @init { 5200 @init {
3737 int stackSize = keepStackSize(); 5201 int stackSize = keepStackSize();
3738 } 5202 }
3739: 5203:
3740 rule__Constraint__Group_0_2_2__1__Impl 5204 rule__Call__Group__1__Impl
5205 rule__Call__Group__2
3741; 5206;
3742finally { 5207finally {
3743 restoreStackSize(stackSize); 5208 restoreStackSize(stackSize);
3744} 5209}
3745 5210
3746rule__Constraint__Group_0_2_2__1__Impl 5211rule__Call__Group__1__Impl
3747 @init { 5212 @init {
3748 int stackSize = keepStackSize(); 5213 int stackSize = keepStackSize();
3749 } 5214 }
3750: 5215:
3751( 5216(
3752 { before(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_2_1()); } 5217 { before(grammarAccess.getCallAccess().getAlternatives_1()); }
3753 (rule__Constraint__ParamsAssignment_0_2_2_1) 5218 (rule__Call__Alternatives_1)?
3754 { after(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_2_1()); } 5219 { after(grammarAccess.getCallAccess().getAlternatives_1()); }
3755) 5220)
3756; 5221;
3757finally { 5222finally {
3758 restoreStackSize(stackSize); 5223 restoreStackSize(stackSize);
3759} 5224}
3760 5225
5226rule__Call__Group__2
5227 @init {
5228 int stackSize = keepStackSize();
5229 }
5230:
5231 rule__Call__Group__2__Impl
5232;
5233finally {
5234 restoreStackSize(stackSize);
5235}
3761 5236
3762rule__Constraint__Group_1__0 5237rule__Call__Group__2__Impl
3763 @init { 5238 @init {
3764 int stackSize = keepStackSize(); 5239 int stackSize = keepStackSize();
3765 } 5240 }
3766: 5241:
3767 rule__Constraint__Group_1__0__Impl 5242(
3768 rule__Constraint__Group_1__1 5243 { before(grammarAccess.getCallAccess().getArgumentListAssignment_2()); }
5244 (rule__Call__ArgumentListAssignment_2)
5245 { after(grammarAccess.getCallAccess().getArgumentListAssignment_2()); }
5246)
3769; 5247;
3770finally { 5248finally {
3771 restoreStackSize(stackSize); 5249 restoreStackSize(stackSize);
3772} 5250}
3773 5251
3774rule__Constraint__Group_1__0__Impl 5252
5253rule__ArgumentList__Group__0
5254 @init {
5255 int stackSize = keepStackSize();
5256 }
5257:
5258 rule__ArgumentList__Group__0__Impl
5259 rule__ArgumentList__Group__1
5260;
5261finally {
5262 restoreStackSize(stackSize);
5263}
5264
5265rule__ArgumentList__Group__0__Impl
3775 @init { 5266 @init {
3776 int stackSize = keepStackSize(); 5267 int stackSize = keepStackSize();
3777 } 5268 }
3778: 5269:
3779( 5270(
3780 { before(grammarAccess.getConstraintAccess().getClosureTypeAssignment_1_0()); } 5271 { before(grammarAccess.getArgumentListAccess().getArgumentListAction_0()); }
3781 (rule__Constraint__ClosureTypeAssignment_1_0) 5272 ()
3782 { after(grammarAccess.getConstraintAccess().getClosureTypeAssignment_1_0()); } 5273 { after(grammarAccess.getArgumentListAccess().getArgumentListAction_0()); }
3783) 5274)
3784; 5275;
3785finally { 5276finally {
3786 restoreStackSize(stackSize); 5277 restoreStackSize(stackSize);
3787} 5278}
3788 5279
3789rule__Constraint__Group_1__1 5280rule__ArgumentList__Group__1
3790 @init { 5281 @init {
3791 int stackSize = keepStackSize(); 5282 int stackSize = keepStackSize();
3792 } 5283 }
3793: 5284:
3794 rule__Constraint__Group_1__1__Impl 5285 rule__ArgumentList__Group__1__Impl
3795 rule__Constraint__Group_1__2 5286 rule__ArgumentList__Group__2
3796; 5287;
3797finally { 5288finally {
3798 restoreStackSize(stackSize); 5289 restoreStackSize(stackSize);
3799} 5290}
3800 5291
3801rule__Constraint__Group_1__1__Impl 5292rule__ArgumentList__Group__1__Impl
3802 @init { 5293 @init {
3803 int stackSize = keepStackSize(); 5294 int stackSize = keepStackSize();
3804 } 5295 }
3805: 5296:
3806( 5297(
3807 { before(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1()); } 5298 { before(grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); }
3808 '(' 5299 '('
3809 { after(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1()); } 5300 { after(grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); }
3810) 5301)
3811; 5302;
3812finally { 5303finally {
3813 restoreStackSize(stackSize); 5304 restoreStackSize(stackSize);
3814} 5305}
3815 5306
3816rule__Constraint__Group_1__2 5307rule__ArgumentList__Group__2
3817 @init { 5308 @init {
3818 int stackSize = keepStackSize(); 5309 int stackSize = keepStackSize();
3819 } 5310 }
3820: 5311:
3821 rule__Constraint__Group_1__2__Impl 5312 rule__ArgumentList__Group__2__Impl
3822 rule__Constraint__Group_1__3 5313 rule__ArgumentList__Group__3
3823; 5314;
3824finally { 5315finally {
3825 restoreStackSize(stackSize); 5316 restoreStackSize(stackSize);
3826} 5317}
3827 5318
3828rule__Constraint__Group_1__2__Impl 5319rule__ArgumentList__Group__2__Impl
3829 @init { 5320 @init {
3830 int stackSize = keepStackSize(); 5321 int stackSize = keepStackSize();
3831 } 5322 }
3832: 5323:
3833( 5324(
3834 { before(grammarAccess.getConstraintAccess().getParamsAssignment_1_2()); } 5325 { before(grammarAccess.getArgumentListAccess().getGroup_2()); }
3835 (rule__Constraint__ParamsAssignment_1_2)? 5326 (rule__ArgumentList__Group_2__0)?
3836 { after(grammarAccess.getConstraintAccess().getParamsAssignment_1_2()); } 5327 { after(grammarAccess.getArgumentListAccess().getGroup_2()); }
3837) 5328)
3838; 5329;
3839finally { 5330finally {
3840 restoreStackSize(stackSize); 5331 restoreStackSize(stackSize);
3841} 5332}
3842 5333
3843rule__Constraint__Group_1__3 5334rule__ArgumentList__Group__3
3844 @init { 5335 @init {
3845 int stackSize = keepStackSize(); 5336 int stackSize = keepStackSize();
3846 } 5337 }
3847: 5338:
3848 rule__Constraint__Group_1__3__Impl 5339 rule__ArgumentList__Group__3__Impl
3849 rule__Constraint__Group_1__4
3850; 5340;
3851finally { 5341finally {
3852 restoreStackSize(stackSize); 5342 restoreStackSize(stackSize);
3853} 5343}
3854 5344
3855rule__Constraint__Group_1__3__Impl 5345rule__ArgumentList__Group__3__Impl
3856 @init { 5346 @init {
3857 int stackSize = keepStackSize(); 5347 int stackSize = keepStackSize();
3858 } 5348 }
3859: 5349:
3860( 5350(
3861 { before(grammarAccess.getConstraintAccess().getGroup_1_3()); } 5351 { before(grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3()); }
3862 (rule__Constraint__Group_1_3__0)* 5352 ')'
3863 { after(grammarAccess.getConstraintAccess().getGroup_1_3()); } 5353 { after(grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3()); }
3864) 5354)
3865; 5355;
3866finally { 5356finally {
3867 restoreStackSize(stackSize); 5357 restoreStackSize(stackSize);
3868} 5358}
3869 5359
3870rule__Constraint__Group_1__4 5360
5361rule__ArgumentList__Group_2__0
3871 @init { 5362 @init {
3872 int stackSize = keepStackSize(); 5363 int stackSize = keepStackSize();
3873 } 5364 }
3874: 5365:
3875 rule__Constraint__Group_1__4__Impl 5366 rule__ArgumentList__Group_2__0__Impl
5367 rule__ArgumentList__Group_2__1
3876; 5368;
3877finally { 5369finally {
3878 restoreStackSize(stackSize); 5370 restoreStackSize(stackSize);
3879} 5371}
3880 5372
3881rule__Constraint__Group_1__4__Impl 5373rule__ArgumentList__Group_2__0__Impl
3882 @init { 5374 @init {
3883 int stackSize = keepStackSize(); 5375 int stackSize = keepStackSize();
3884 } 5376 }
3885: 5377:
3886( 5378(
3887 { before(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4()); } 5379 { before(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_0()); }
3888 ')' 5380 (rule__ArgumentList__ArgumentsAssignment_2_0)
3889 { after(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4()); } 5381 { after(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_0()); }
5382)
5383;
5384finally {
5385 restoreStackSize(stackSize);
5386}
5387
5388rule__ArgumentList__Group_2__1
5389 @init {
5390 int stackSize = keepStackSize();
5391 }
5392:
5393 rule__ArgumentList__Group_2__1__Impl
5394;
5395finally {
5396 restoreStackSize(stackSize);
5397}
5398
5399rule__ArgumentList__Group_2__1__Impl
5400 @init {
5401 int stackSize = keepStackSize();
5402 }
5403:
5404(
5405 { before(grammarAccess.getArgumentListAccess().getGroup_2_1()); }
5406 (rule__ArgumentList__Group_2_1__0)*
5407 { after(grammarAccess.getArgumentListAccess().getGroup_2_1()); }
3890) 5408)
3891; 5409;
3892finally { 5410finally {
@@ -3894,53 +5412,53 @@ finally {
3894} 5412}
3895 5413
3896 5414
3897rule__Constraint__Group_1_3__0 5415rule__ArgumentList__Group_2_1__0
3898 @init { 5416 @init {
3899 int stackSize = keepStackSize(); 5417 int stackSize = keepStackSize();
3900 } 5418 }
3901: 5419:
3902 rule__Constraint__Group_1_3__0__Impl 5420 rule__ArgumentList__Group_2_1__0__Impl
3903 rule__Constraint__Group_1_3__1 5421 rule__ArgumentList__Group_2_1__1
3904; 5422;
3905finally { 5423finally {
3906 restoreStackSize(stackSize); 5424 restoreStackSize(stackSize);
3907} 5425}
3908 5426
3909rule__Constraint__Group_1_3__0__Impl 5427rule__ArgumentList__Group_2_1__0__Impl
3910 @init { 5428 @init {
3911 int stackSize = keepStackSize(); 5429 int stackSize = keepStackSize();
3912 } 5430 }
3913: 5431:
3914( 5432(
3915 { before(grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0()); } 5433 { before(grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); }
3916 ',' 5434 ','
3917 { after(grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0()); } 5435 { after(grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); }
3918) 5436)
3919; 5437;
3920finally { 5438finally {
3921 restoreStackSize(stackSize); 5439 restoreStackSize(stackSize);
3922} 5440}
3923 5441
3924rule__Constraint__Group_1_3__1 5442rule__ArgumentList__Group_2_1__1
3925 @init { 5443 @init {
3926 int stackSize = keepStackSize(); 5444 int stackSize = keepStackSize();
3927 } 5445 }
3928: 5446:
3929 rule__Constraint__Group_1_3__1__Impl 5447 rule__ArgumentList__Group_2_1__1__Impl
3930; 5448;
3931finally { 5449finally {
3932 restoreStackSize(stackSize); 5450 restoreStackSize(stackSize);
3933} 5451}
3934 5452
3935rule__Constraint__Group_1_3__1__Impl 5453rule__ArgumentList__Group_2_1__1__Impl
3936 @init { 5454 @init {
3937 int stackSize = keepStackSize(); 5455 int stackSize = keepStackSize();
3938 } 5456 }
3939: 5457:
3940( 5458(
3941 { before(grammarAccess.getConstraintAccess().getParamsAssignment_1_3_1()); } 5459 { before(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_1_1()); }
3942 (rule__Constraint__ParamsAssignment_1_3_1) 5460 (rule__ArgumentList__ArgumentsAssignment_2_1_1)
3943 { after(grammarAccess.getConstraintAccess().getParamsAssignment_1_3_1()); } 5461 { after(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_1_1()); }
3944) 5462)
3945; 5463;
3946finally { 5464finally {
@@ -3948,53 +5466,53 @@ finally {
3948} 5466}
3949 5467
3950 5468
3951rule__ClosureType__Group_0__0 5469rule__StarArgument__Group__0
3952 @init { 5470 @init {
3953 int stackSize = keepStackSize(); 5471 int stackSize = keepStackSize();
3954 } 5472 }
3955: 5473:
3956 rule__ClosureType__Group_0__0__Impl 5474 rule__StarArgument__Group__0__Impl
3957 rule__ClosureType__Group_0__1 5475 rule__StarArgument__Group__1
3958; 5476;
3959finally { 5477finally {
3960 restoreStackSize(stackSize); 5478 restoreStackSize(stackSize);
3961} 5479}
3962 5480
3963rule__ClosureType__Group_0__0__Impl 5481rule__StarArgument__Group__0__Impl
3964 @init { 5482 @init {
3965 int stackSize = keepStackSize(); 5483 int stackSize = keepStackSize();
3966 } 5484 }
3967: 5485:
3968( 5486(
3969 { before(grammarAccess.getClosureTypeAccess().getReflexiveClosureAction_0_0()); } 5487 { before(grammarAccess.getStarArgumentAccess().getStarArgumentAction_0()); }
3970 () 5488 ()
3971 { after(grammarAccess.getClosureTypeAccess().getReflexiveClosureAction_0_0()); } 5489 { after(grammarAccess.getStarArgumentAccess().getStarArgumentAction_0()); }
3972) 5490)
3973; 5491;
3974finally { 5492finally {
3975 restoreStackSize(stackSize); 5493 restoreStackSize(stackSize);
3976} 5494}
3977 5495
3978rule__ClosureType__Group_0__1 5496rule__StarArgument__Group__1
3979 @init { 5497 @init {
3980 int stackSize = keepStackSize(); 5498 int stackSize = keepStackSize();
3981 } 5499 }
3982: 5500:
3983 rule__ClosureType__Group_0__1__Impl 5501 rule__StarArgument__Group__1__Impl
3984; 5502;
3985finally { 5503finally {
3986 restoreStackSize(stackSize); 5504 restoreStackSize(stackSize);
3987} 5505}
3988 5506
3989rule__ClosureType__Group_0__1__Impl 5507rule__StarArgument__Group__1__Impl
3990 @init { 5508 @init {
3991 int stackSize = keepStackSize(); 5509 int stackSize = keepStackSize();
3992 } 5510 }
3993: 5511:
3994( 5512(
3995 { before(grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1()); } 5513 { before(grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1()); }
3996 '*' 5514 '*'
3997 { after(grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1()); } 5515 { after(grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1()); }
3998) 5516)
3999; 5517;
4000finally { 5518finally {
@@ -4002,53 +5520,53 @@ finally {
4002} 5520}
4003 5521
4004 5522
4005rule__ClosureType__Group_1__0 5523rule__TypedArgument__Group__0
4006 @init { 5524 @init {
4007 int stackSize = keepStackSize(); 5525 int stackSize = keepStackSize();
4008 } 5526 }
4009: 5527:
4010 rule__ClosureType__Group_1__0__Impl 5528 rule__TypedArgument__Group__0__Impl
4011 rule__ClosureType__Group_1__1 5529 rule__TypedArgument__Group__1
4012; 5530;
4013finally { 5531finally {
4014 restoreStackSize(stackSize); 5532 restoreStackSize(stackSize);
4015} 5533}
4016 5534
4017rule__ClosureType__Group_1__0__Impl 5535rule__TypedArgument__Group__0__Impl
4018 @init { 5536 @init {
4019 int stackSize = keepStackSize(); 5537 int stackSize = keepStackSize();
4020 } 5538 }
4021: 5539:
4022( 5540(
4023 { before(grammarAccess.getClosureTypeAccess().getIrreflexiveClosureAction_1_0()); } 5541 { before(grammarAccess.getTypedArgumentAccess().getTypeAssignment_0()); }
4024 () 5542 (rule__TypedArgument__TypeAssignment_0)
4025 { after(grammarAccess.getClosureTypeAccess().getIrreflexiveClosureAction_1_0()); } 5543 { after(grammarAccess.getTypedArgumentAccess().getTypeAssignment_0()); }
4026) 5544)
4027; 5545;
4028finally { 5546finally {
4029 restoreStackSize(stackSize); 5547 restoreStackSize(stackSize);
4030} 5548}
4031 5549
4032rule__ClosureType__Group_1__1 5550rule__TypedArgument__Group__1
4033 @init { 5551 @init {
4034 int stackSize = keepStackSize(); 5552 int stackSize = keepStackSize();
4035 } 5553 }
4036: 5554:
4037 rule__ClosureType__Group_1__1__Impl 5555 rule__TypedArgument__Group__1__Impl
4038; 5556;
4039finally { 5557finally {
4040 restoreStackSize(stackSize); 5558 restoreStackSize(stackSize);
4041} 5559}
4042 5560
4043rule__ClosureType__Group_1__1__Impl 5561rule__TypedArgument__Group__1__Impl
4044 @init { 5562 @init {
4045 int stackSize = keepStackSize(); 5563 int stackSize = keepStackSize();
4046 } 5564 }
4047: 5565:
4048( 5566(
4049 { before(grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1()); } 5567 { before(grammarAccess.getTypedArgumentAccess().getVariableAssignment_1()); }
4050 '+' 5568 (rule__TypedArgument__VariableAssignment_1)
4051 { after(grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1()); } 5569 { after(grammarAccess.getTypedArgumentAccess().getVariableAssignment_1()); }
4052) 5570)
4053; 5571;
4054finally { 5572finally {
@@ -4056,53 +5574,188 @@ finally {
4056} 5574}
4057 5575
4058 5576
4059rule__AllInstances__Group__0 5577rule__TypedStarArgument__Group__0
4060 @init { 5578 @init {
4061 int stackSize = keepStackSize(); 5579 int stackSize = keepStackSize();
4062 } 5580 }
4063: 5581:
4064 rule__AllInstances__Group__0__Impl 5582 rule__TypedStarArgument__Group__0__Impl
4065 rule__AllInstances__Group__1 5583 rule__TypedStarArgument__Group__1
4066; 5584;
4067finally { 5585finally {
4068 restoreStackSize(stackSize); 5586 restoreStackSize(stackSize);
4069} 5587}
4070 5588
4071rule__AllInstances__Group__0__Impl 5589rule__TypedStarArgument__Group__0__Impl
4072 @init { 5590 @init {
4073 int stackSize = keepStackSize(); 5591 int stackSize = keepStackSize();
4074 } 5592 }
4075: 5593:
4076( 5594(
4077 { before(grammarAccess.getAllInstancesAccess().getColonKeyword_0()); } 5595 { before(grammarAccess.getTypedStarArgumentAccess().getTypeAssignment_0()); }
4078 ':' 5596 (rule__TypedStarArgument__TypeAssignment_0)
4079 { after(grammarAccess.getAllInstancesAccess().getColonKeyword_0()); } 5597 { after(grammarAccess.getTypedStarArgumentAccess().getTypeAssignment_0()); }
5598)
5599;
5600finally {
5601 restoreStackSize(stackSize);
5602}
5603
5604rule__TypedStarArgument__Group__1
5605 @init {
5606 int stackSize = keepStackSize();
5607 }
5608:
5609 rule__TypedStarArgument__Group__1__Impl
5610;
5611finally {
5612 restoreStackSize(stackSize);
5613}
5614
5615rule__TypedStarArgument__Group__1__Impl
5616 @init {
5617 int stackSize = keepStackSize();
5618 }
5619:
5620(
5621 { before(grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1()); }
5622 '*'
5623 { after(grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1()); }
5624)
5625;
5626finally {
5627 restoreStackSize(stackSize);
5628}
5629
5630
5631rule__Interval__Group__0
5632 @init {
5633 int stackSize = keepStackSize();
5634 }
5635:
5636 rule__Interval__Group__0__Impl
5637 rule__Interval__Group__1
5638;
5639finally {
5640 restoreStackSize(stackSize);
5641}
5642
5643rule__Interval__Group__0__Impl
5644 @init {
5645 int stackSize = keepStackSize();
5646 }
5647:
5648(
5649 { before(grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); }
5650 '['
5651 { after(grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); }
5652)
5653;
5654finally {
5655 restoreStackSize(stackSize);
5656}
5657
5658rule__Interval__Group__1
5659 @init {
5660 int stackSize = keepStackSize();
5661 }
5662:
5663 rule__Interval__Group__1__Impl
5664 rule__Interval__Group__2
5665;
5666finally {
5667 restoreStackSize(stackSize);
5668}
5669
5670rule__Interval__Group__1__Impl
5671 @init {
5672 int stackSize = keepStackSize();
5673 }
5674:
5675(
5676 { before(grammarAccess.getIntervalAccess().getLowerBoundAssignment_1()); }
5677 (rule__Interval__LowerBoundAssignment_1)
5678 { after(grammarAccess.getIntervalAccess().getLowerBoundAssignment_1()); }
5679)
5680;
5681finally {
5682 restoreStackSize(stackSize);
5683}
5684
5685rule__Interval__Group__2
5686 @init {
5687 int stackSize = keepStackSize();
5688 }
5689:
5690 rule__Interval__Group__2__Impl
5691 rule__Interval__Group__3
5692;
5693finally {
5694 restoreStackSize(stackSize);
5695}
5696
5697rule__Interval__Group__2__Impl
5698 @init {
5699 int stackSize = keepStackSize();
5700 }
5701:
5702(
5703 { before(grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); }
5704 '..'
5705 { after(grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); }
5706)
5707;
5708finally {
5709 restoreStackSize(stackSize);
5710}
5711
5712rule__Interval__Group__3
5713 @init {
5714 int stackSize = keepStackSize();
5715 }
5716:
5717 rule__Interval__Group__3__Impl
5718 rule__Interval__Group__4
5719;
5720finally {
5721 restoreStackSize(stackSize);
5722}
5723
5724rule__Interval__Group__3__Impl
5725 @init {
5726 int stackSize = keepStackSize();
5727 }
5728:
5729(
5730 { before(grammarAccess.getIntervalAccess().getUpperBoundAssignment_3()); }
5731 (rule__Interval__UpperBoundAssignment_3)
5732 { after(grammarAccess.getIntervalAccess().getUpperBoundAssignment_3()); }
4080) 5733)
4081; 5734;
4082finally { 5735finally {
4083 restoreStackSize(stackSize); 5736 restoreStackSize(stackSize);
4084} 5737}
4085 5738
4086rule__AllInstances__Group__1 5739rule__Interval__Group__4
4087 @init { 5740 @init {
4088 int stackSize = keepStackSize(); 5741 int stackSize = keepStackSize();
4089 } 5742 }
4090: 5743:
4091 rule__AllInstances__Group__1__Impl 5744 rule__Interval__Group__4__Impl
4092; 5745;
4093finally { 5746finally {
4094 restoreStackSize(stackSize); 5747 restoreStackSize(stackSize);
4095} 5748}
4096 5749
4097rule__AllInstances__Group__1__Impl 5750rule__Interval__Group__4__Impl
4098 @init { 5751 @init {
4099 int stackSize = keepStackSize(); 5752 int stackSize = keepStackSize();
4100 } 5753 }
4101: 5754:
4102( 5755(
4103 { before(grammarAccess.getAllInstancesAccess().getSymbolAssignment_1()); } 5756 { before(grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4()); }
4104 (rule__AllInstances__SymbolAssignment_1) 5757 ']'
4105 { after(grammarAccess.getAllInstancesAccess().getSymbolAssignment_1()); } 5758 { after(grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4()); }
4106) 5759)
4107; 5760;
4108finally { 5761finally {
@@ -4110,53 +5763,53 @@ finally {
4110} 5763}
4111 5764
4112 5765
4113rule__AllObjects__Group__0 5766rule__InfinityLiteral__Group__0
4114 @init { 5767 @init {
4115 int stackSize = keepStackSize(); 5768 int stackSize = keepStackSize();
4116 } 5769 }
4117: 5770:
4118 rule__AllObjects__Group__0__Impl 5771 rule__InfinityLiteral__Group__0__Impl
4119 rule__AllObjects__Group__1 5772 rule__InfinityLiteral__Group__1
4120; 5773;
4121finally { 5774finally {
4122 restoreStackSize(stackSize); 5775 restoreStackSize(stackSize);
4123} 5776}
4124 5777
4125rule__AllObjects__Group__0__Impl 5778rule__InfinityLiteral__Group__0__Impl
4126 @init { 5779 @init {
4127 int stackSize = keepStackSize(); 5780 int stackSize = keepStackSize();
4128 } 5781 }
4129: 5782:
4130( 5783(
4131 { before(grammarAccess.getAllObjectsAccess().getAllObjectsAction_0()); } 5784 { before(grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0()); }
4132 () 5785 ()
4133 { after(grammarAccess.getAllObjectsAccess().getAllObjectsAction_0()); } 5786 { after(grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0()); }
4134) 5787)
4135; 5788;
4136finally { 5789finally {
4137 restoreStackSize(stackSize); 5790 restoreStackSize(stackSize);
4138} 5791}
4139 5792
4140rule__AllObjects__Group__1 5793rule__InfinityLiteral__Group__1
4141 @init { 5794 @init {
4142 int stackSize = keepStackSize(); 5795 int stackSize = keepStackSize();
4143 } 5796 }
4144: 5797:
4145 rule__AllObjects__Group__1__Impl 5798 rule__InfinityLiteral__Group__1__Impl
4146; 5799;
4147finally { 5800finally {
4148 restoreStackSize(stackSize); 5801 restoreStackSize(stackSize);
4149} 5802}
4150 5803
4151rule__AllObjects__Group__1__Impl 5804rule__InfinityLiteral__Group__1__Impl
4152 @init { 5805 @init {
4153 int stackSize = keepStackSize(); 5806 int stackSize = keepStackSize();
4154 } 5807 }
4155: 5808:
4156( 5809(
4157 { before(grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1()); } 5810 { before(grammarAccess.getInfinityLiteralAccess().getInfKeyword_1()); }
4158 '*' 5811 'inf'
4159 { after(grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1()); } 5812 { after(grammarAccess.getInfinityLiteralAccess().getInfKeyword_1()); }
4160) 5813)
4161; 5814;
4162finally { 5815finally {
@@ -4164,53 +5817,53 @@ finally {
4164} 5817}
4165 5818
4166 5819
4167rule__DefaultInterpretation__Group__0 5820rule__EmptyIntervalLiteral__Group__0
4168 @init { 5821 @init {
4169 int stackSize = keepStackSize(); 5822 int stackSize = keepStackSize();
4170 } 5823 }
4171: 5824:
4172 rule__DefaultInterpretation__Group__0__Impl 5825 rule__EmptyIntervalLiteral__Group__0__Impl
4173 rule__DefaultInterpretation__Group__1 5826 rule__EmptyIntervalLiteral__Group__1
4174; 5827;
4175finally { 5828finally {
4176 restoreStackSize(stackSize); 5829 restoreStackSize(stackSize);
4177} 5830}
4178 5831
4179rule__DefaultInterpretation__Group__0__Impl 5832rule__EmptyIntervalLiteral__Group__0__Impl
4180 @init { 5833 @init {
4181 int stackSize = keepStackSize(); 5834 int stackSize = keepStackSize();
4182 } 5835 }
4183: 5836:
4184( 5837(
4185 { before(grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0()); } 5838 { before(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0()); }
4186 'default' 5839 ()
4187 { after(grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0()); } 5840 { after(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0()); }
4188) 5841)
4189; 5842;
4190finally { 5843finally {
4191 restoreStackSize(stackSize); 5844 restoreStackSize(stackSize);
4192} 5845}
4193 5846
4194rule__DefaultInterpretation__Group__1 5847rule__EmptyIntervalLiteral__Group__1
4195 @init { 5848 @init {
4196 int stackSize = keepStackSize(); 5849 int stackSize = keepStackSize();
4197 } 5850 }
4198: 5851:
4199 rule__DefaultInterpretation__Group__1__Impl 5852 rule__EmptyIntervalLiteral__Group__1__Impl
4200; 5853;
4201finally { 5854finally {
4202 restoreStackSize(stackSize); 5855 restoreStackSize(stackSize);
4203} 5856}
4204 5857
4205rule__DefaultInterpretation__Group__1__Impl 5858rule__EmptyIntervalLiteral__Group__1__Impl
4206 @init { 5859 @init {
4207 int stackSize = keepStackSize(); 5860 int stackSize = keepStackSize();
4208 } 5861 }
4209: 5862:
4210( 5863(
4211 { before(grammarAccess.getDefaultInterpretationAccess().getInterpretationAssignment_1()); } 5864 { before(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); }
4212 (rule__DefaultInterpretation__InterpretationAssignment_1) 5865 'empty'
4213 { after(grammarAccess.getDefaultInterpretationAccess().getInterpretationAssignment_1()); } 5866 { after(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); }
4214) 5867)
4215; 5868;
4216finally { 5869finally {
@@ -4218,188 +5871,188 @@ finally {
4218} 5871}
4219 5872
4220 5873
4221rule__ClassInterpretation__Group__0 5874rule__ClassDefinition__Group__0
4222 @init { 5875 @init {
4223 int stackSize = keepStackSize(); 5876 int stackSize = keepStackSize();
4224 } 5877 }
4225: 5878:
4226 rule__ClassInterpretation__Group__0__Impl 5879 rule__ClassDefinition__Group__0__Impl
4227 rule__ClassInterpretation__Group__1 5880 rule__ClassDefinition__Group__1
4228; 5881;
4229finally { 5882finally {
4230 restoreStackSize(stackSize); 5883 restoreStackSize(stackSize);
4231} 5884}
4232 5885
4233rule__ClassInterpretation__Group__0__Impl 5886rule__ClassDefinition__Group__0__Impl
4234 @init { 5887 @init {
4235 int stackSize = keepStackSize(); 5888 int stackSize = keepStackSize();
4236 } 5889 }
4237: 5890:
4238( 5891(
4239 { before(grammarAccess.getClassInterpretationAccess().getAbstractAssignment_0()); } 5892 { before(grammarAccess.getClassDefinitionAccess().getAbstractAssignment_0()); }
4240 (rule__ClassInterpretation__AbstractAssignment_0)? 5893 (rule__ClassDefinition__AbstractAssignment_0)?
4241 { after(grammarAccess.getClassInterpretationAccess().getAbstractAssignment_0()); } 5894 { after(grammarAccess.getClassDefinitionAccess().getAbstractAssignment_0()); }
4242) 5895)
4243; 5896;
4244finally { 5897finally {
4245 restoreStackSize(stackSize); 5898 restoreStackSize(stackSize);
4246} 5899}
4247 5900
4248rule__ClassInterpretation__Group__1 5901rule__ClassDefinition__Group__1
4249 @init { 5902 @init {
4250 int stackSize = keepStackSize(); 5903 int stackSize = keepStackSize();
4251 } 5904 }
4252: 5905:
4253 rule__ClassInterpretation__Group__1__Impl 5906 rule__ClassDefinition__Group__1__Impl
4254 rule__ClassInterpretation__Group__2 5907 rule__ClassDefinition__Group__2
4255; 5908;
4256finally { 5909finally {
4257 restoreStackSize(stackSize); 5910 restoreStackSize(stackSize);
4258} 5911}
4259 5912
4260rule__ClassInterpretation__Group__1__Impl 5913rule__ClassDefinition__Group__1__Impl
4261 @init { 5914 @init {
4262 int stackSize = keepStackSize(); 5915 int stackSize = keepStackSize();
4263 } 5916 }
4264: 5917:
4265( 5918(
4266 { before(grammarAccess.getClassInterpretationAccess().getClassKeyword_1()); } 5919 { before(grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); }
4267 'class' 5920 'class'
4268 { after(grammarAccess.getClassInterpretationAccess().getClassKeyword_1()); } 5921 { after(grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); }
4269) 5922)
4270; 5923;
4271finally { 5924finally {
4272 restoreStackSize(stackSize); 5925 restoreStackSize(stackSize);
4273} 5926}
4274 5927
4275rule__ClassInterpretation__Group__2 5928rule__ClassDefinition__Group__2
4276 @init { 5929 @init {
4277 int stackSize = keepStackSize(); 5930 int stackSize = keepStackSize();
4278 } 5931 }
4279: 5932:
4280 rule__ClassInterpretation__Group__2__Impl 5933 rule__ClassDefinition__Group__2__Impl
4281 rule__ClassInterpretation__Group__3 5934 rule__ClassDefinition__Group__3
4282; 5935;
4283finally { 5936finally {
4284 restoreStackSize(stackSize); 5937 restoreStackSize(stackSize);
4285} 5938}
4286 5939
4287rule__ClassInterpretation__Group__2__Impl 5940rule__ClassDefinition__Group__2__Impl
4288 @init { 5941 @init {
4289 int stackSize = keepStackSize(); 5942 int stackSize = keepStackSize();
4290 } 5943 }
4291: 5944:
4292( 5945(
4293 { before(grammarAccess.getClassInterpretationAccess().getSymbolAssignment_2()); } 5946 { before(grammarAccess.getClassDefinitionAccess().getNameAssignment_2()); }
4294 (rule__ClassInterpretation__SymbolAssignment_2) 5947 (rule__ClassDefinition__NameAssignment_2)
4295 { after(grammarAccess.getClassInterpretationAccess().getSymbolAssignment_2()); } 5948 { after(grammarAccess.getClassDefinitionAccess().getNameAssignment_2()); }
4296) 5949)
4297; 5950;
4298finally { 5951finally {
4299 restoreStackSize(stackSize); 5952 restoreStackSize(stackSize);
4300} 5953}
4301 5954
4302rule__ClassInterpretation__Group__3 5955rule__ClassDefinition__Group__3
4303 @init { 5956 @init {
4304 int stackSize = keepStackSize(); 5957 int stackSize = keepStackSize();
4305 } 5958 }
4306: 5959:
4307 rule__ClassInterpretation__Group__3__Impl 5960 rule__ClassDefinition__Group__3__Impl
4308 rule__ClassInterpretation__Group__4 5961 rule__ClassDefinition__Group__4
4309; 5962;
4310finally { 5963finally {
4311 restoreStackSize(stackSize); 5964 restoreStackSize(stackSize);
4312} 5965}
4313 5966
4314rule__ClassInterpretation__Group__3__Impl 5967rule__ClassDefinition__Group__3__Impl
4315 @init { 5968 @init {
4316 int stackSize = keepStackSize(); 5969 int stackSize = keepStackSize();
4317 } 5970 }
4318: 5971:
4319( 5972(
4320 { before(grammarAccess.getClassInterpretationAccess().getGroup_3()); } 5973 { before(grammarAccess.getClassDefinitionAccess().getGroup_3()); }
4321 (rule__ClassInterpretation__Group_3__0)? 5974 (rule__ClassDefinition__Group_3__0)?
4322 { after(grammarAccess.getClassInterpretationAccess().getGroup_3()); } 5975 { after(grammarAccess.getClassDefinitionAccess().getGroup_3()); }
4323) 5976)
4324; 5977;
4325finally { 5978finally {
4326 restoreStackSize(stackSize); 5979 restoreStackSize(stackSize);
4327} 5980}
4328 5981
4329rule__ClassInterpretation__Group__4 5982rule__ClassDefinition__Group__4
4330 @init { 5983 @init {
4331 int stackSize = keepStackSize(); 5984 int stackSize = keepStackSize();
4332 } 5985 }
4333: 5986:
4334 rule__ClassInterpretation__Group__4__Impl 5987 rule__ClassDefinition__Group__4__Impl
4335 rule__ClassInterpretation__Group__5 5988 rule__ClassDefinition__Group__5
4336; 5989;
4337finally { 5990finally {
4338 restoreStackSize(stackSize); 5991 restoreStackSize(stackSize);
4339} 5992}
4340 5993
4341rule__ClassInterpretation__Group__4__Impl 5994rule__ClassDefinition__Group__4__Impl
4342 @init { 5995 @init {
4343 int stackSize = keepStackSize(); 5996 int stackSize = keepStackSize();
4344 } 5997 }
4345: 5998:
4346( 5999(
4347 { before(grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4()); } 6000 { before(grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); }
4348 '{' 6001 '{'
4349 { after(grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4()); } 6002 { after(grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); }
4350) 6003)
4351; 6004;
4352finally { 6005finally {
4353 restoreStackSize(stackSize); 6006 restoreStackSize(stackSize);
4354} 6007}
4355 6008
4356rule__ClassInterpretation__Group__5 6009rule__ClassDefinition__Group__5
4357 @init { 6010 @init {
4358 int stackSize = keepStackSize(); 6011 int stackSize = keepStackSize();
4359 } 6012 }
4360: 6013:
4361 rule__ClassInterpretation__Group__5__Impl 6014 rule__ClassDefinition__Group__5__Impl
4362 rule__ClassInterpretation__Group__6 6015 rule__ClassDefinition__Group__6
4363; 6016;
4364finally { 6017finally {
4365 restoreStackSize(stackSize); 6018 restoreStackSize(stackSize);
4366} 6019}
4367 6020
4368rule__ClassInterpretation__Group__5__Impl 6021rule__ClassDefinition__Group__5__Impl
4369 @init { 6022 @init {
4370 int stackSize = keepStackSize(); 6023 int stackSize = keepStackSize();
4371 } 6024 }
4372: 6025:
4373( 6026(
4374 { before(grammarAccess.getClassInterpretationAccess().getFieltAssignment_5()); } 6027 { before(grammarAccess.getClassDefinitionAccess().getMembersAssignment_5()); }
4375 (rule__ClassInterpretation__FieltAssignment_5)* 6028 (rule__ClassDefinition__MembersAssignment_5)*
4376 { after(grammarAccess.getClassInterpretationAccess().getFieltAssignment_5()); } 6029 { after(grammarAccess.getClassDefinitionAccess().getMembersAssignment_5()); }
4377) 6030)
4378; 6031;
4379finally { 6032finally {
4380 restoreStackSize(stackSize); 6033 restoreStackSize(stackSize);
4381} 6034}
4382 6035
4383rule__ClassInterpretation__Group__6 6036rule__ClassDefinition__Group__6
4384 @init { 6037 @init {
4385 int stackSize = keepStackSize(); 6038 int stackSize = keepStackSize();
4386 } 6039 }
4387: 6040:
4388 rule__ClassInterpretation__Group__6__Impl 6041 rule__ClassDefinition__Group__6__Impl
4389; 6042;
4390finally { 6043finally {
4391 restoreStackSize(stackSize); 6044 restoreStackSize(stackSize);
4392} 6045}
4393 6046
4394rule__ClassInterpretation__Group__6__Impl 6047rule__ClassDefinition__Group__6__Impl
4395 @init { 6048 @init {
4396 int stackSize = keepStackSize(); 6049 int stackSize = keepStackSize();
4397 } 6050 }
4398: 6051:
4399( 6052(
4400 { before(grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6()); } 6053 { before(grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6()); }
4401 '}' 6054 '}'
4402 { after(grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6()); } 6055 { after(grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6()); }
4403) 6056)
4404; 6057;
4405finally { 6058finally {
@@ -4407,634 +6060,1673 @@ finally {
4407} 6060}
4408 6061
4409 6062
4410rule__ClassInterpretation__Group_3__0 6063rule__ClassDefinition__Group_3__0
4411 @init { 6064 @init {
4412 int stackSize = keepStackSize(); 6065 int stackSize = keepStackSize();
4413 } 6066 }
4414: 6067:
4415 rule__ClassInterpretation__Group_3__0__Impl 6068 rule__ClassDefinition__Group_3__0__Impl
4416 rule__ClassInterpretation__Group_3__1 6069 rule__ClassDefinition__Group_3__1
4417; 6070;
4418finally { 6071finally {
4419 restoreStackSize(stackSize); 6072 restoreStackSize(stackSize);
4420} 6073}
4421 6074
4422rule__ClassInterpretation__Group_3__0__Impl 6075rule__ClassDefinition__Group_3__0__Impl
4423 @init { 6076 @init {
4424 int stackSize = keepStackSize(); 6077 int stackSize = keepStackSize();
4425 } 6078 }
4426: 6079:
4427( 6080(
4428 { before(grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0()); } 6081 { before(grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); }
4429 'extends' 6082 'extends'
4430 { after(grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0()); } 6083 { after(grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); }
4431) 6084)
4432; 6085;
4433finally { 6086finally {
4434 restoreStackSize(stackSize); 6087 restoreStackSize(stackSize);
4435} 6088}
4436 6089
4437rule__ClassInterpretation__Group_3__1 6090rule__ClassDefinition__Group_3__1
4438 @init { 6091 @init {
4439 int stackSize = keepStackSize(); 6092 int stackSize = keepStackSize();
4440 } 6093 }
4441: 6094:
4442 rule__ClassInterpretation__Group_3__1__Impl 6095 rule__ClassDefinition__Group_3__1__Impl
6096 rule__ClassDefinition__Group_3__2
4443; 6097;
4444finally { 6098finally {
4445 restoreStackSize(stackSize); 6099 restoreStackSize(stackSize);
4446} 6100}
4447 6101
4448rule__ClassInterpretation__Group_3__1__Impl 6102rule__ClassDefinition__Group_3__1__Impl
4449 @init { 6103 @init {
4450 int stackSize = keepStackSize(); 6104 int stackSize = keepStackSize();
4451 } 6105 }
4452: 6106:
4453( 6107(
4454 ( 6108 { before(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_1()); }
4455 { before(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); } 6109 (rule__ClassDefinition__SuperclassesAssignment_3_1)
4456 (rule__ClassInterpretation__SupertypesAssignment_3_1) 6110 { after(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_1()); }
4457 { after(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); }
4458 )
4459 (
4460 { before(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); }
4461 (rule__ClassInterpretation__SupertypesAssignment_3_1)*
4462 { after(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); }
4463 )
4464) 6111)
4465; 6112;
4466finally { 6113finally {
4467 restoreStackSize(stackSize); 6114 restoreStackSize(stackSize);
4468} 6115}
4469 6116
6117rule__ClassDefinition__Group_3__2
6118 @init {
6119 int stackSize = keepStackSize();
6120 }
6121:
6122 rule__ClassDefinition__Group_3__2__Impl
6123;
6124finally {
6125 restoreStackSize(stackSize);
6126}
4470 6127
4471rule__EnumInterpretation__Group__0 6128rule__ClassDefinition__Group_3__2__Impl
4472 @init { 6129 @init {
4473 int stackSize = keepStackSize(); 6130 int stackSize = keepStackSize();
4474 } 6131 }
4475: 6132:
4476 rule__EnumInterpretation__Group__0__Impl 6133(
4477 rule__EnumInterpretation__Group__1 6134 { before(grammarAccess.getClassDefinitionAccess().getGroup_3_2()); }
6135 (rule__ClassDefinition__Group_3_2__0)*
6136 { after(grammarAccess.getClassDefinitionAccess().getGroup_3_2()); }
6137)
4478; 6138;
4479finally { 6139finally {
4480 restoreStackSize(stackSize); 6140 restoreStackSize(stackSize);
4481} 6141}
4482 6142
4483rule__EnumInterpretation__Group__0__Impl 6143
6144rule__ClassDefinition__Group_3_2__0
6145 @init {
6146 int stackSize = keepStackSize();
6147 }
6148:
6149 rule__ClassDefinition__Group_3_2__0__Impl
6150 rule__ClassDefinition__Group_3_2__1
6151;
6152finally {
6153 restoreStackSize(stackSize);
6154}
6155
6156rule__ClassDefinition__Group_3_2__0__Impl
4484 @init { 6157 @init {
4485 int stackSize = keepStackSize(); 6158 int stackSize = keepStackSize();
4486 } 6159 }
4487: 6160:
4488( 6161(
4489 { before(grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0()); } 6162 { before(grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); }
4490 'enum' 6163 ','
4491 { after(grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0()); } 6164 { after(grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); }
4492) 6165)
4493; 6166;
4494finally { 6167finally {
4495 restoreStackSize(stackSize); 6168 restoreStackSize(stackSize);
4496} 6169}
4497 6170
4498rule__EnumInterpretation__Group__1 6171rule__ClassDefinition__Group_3_2__1
4499 @init { 6172 @init {
4500 int stackSize = keepStackSize(); 6173 int stackSize = keepStackSize();
4501 } 6174 }
4502: 6175:
4503 rule__EnumInterpretation__Group__1__Impl 6176 rule__ClassDefinition__Group_3_2__1__Impl
4504 rule__EnumInterpretation__Group__2
4505; 6177;
4506finally { 6178finally {
4507 restoreStackSize(stackSize); 6179 restoreStackSize(stackSize);
4508} 6180}
4509 6181
4510rule__EnumInterpretation__Group__1__Impl 6182rule__ClassDefinition__Group_3_2__1__Impl
4511 @init { 6183 @init {
4512 int stackSize = keepStackSize(); 6184 int stackSize = keepStackSize();
4513 } 6185 }
4514: 6186:
4515( 6187(
4516 { before(grammarAccess.getEnumInterpretationAccess().getSymbolAssignment_1()); } 6188 { before(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_2_1()); }
4517 (rule__EnumInterpretation__SymbolAssignment_1) 6189 (rule__ClassDefinition__SuperclassesAssignment_3_2_1)
4518 { after(grammarAccess.getEnumInterpretationAccess().getSymbolAssignment_1()); } 6190 { after(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_2_1()); }
4519) 6191)
4520; 6192;
4521finally { 6193finally {
4522 restoreStackSize(stackSize); 6194 restoreStackSize(stackSize);
4523} 6195}
4524 6196
4525rule__EnumInterpretation__Group__2 6197
6198rule__MemberDefinition__Group__0
4526 @init { 6199 @init {
4527 int stackSize = keepStackSize(); 6200 int stackSize = keepStackSize();
4528 } 6201 }
4529: 6202:
4530 rule__EnumInterpretation__Group__2__Impl 6203 rule__MemberDefinition__Group__0__Impl
4531 rule__EnumInterpretation__Group__3 6204 rule__MemberDefinition__Group__1
4532; 6205;
4533finally { 6206finally {
4534 restoreStackSize(stackSize); 6207 restoreStackSize(stackSize);
4535} 6208}
4536 6209
4537rule__EnumInterpretation__Group__2__Impl 6210rule__MemberDefinition__Group__0__Impl
4538 @init { 6211 @init {
4539 int stackSize = keepStackSize(); 6212 int stackSize = keepStackSize();
4540 } 6213 }
4541: 6214:
4542( 6215(
4543 { before(grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2()); } 6216 { before(grammarAccess.getMemberDefinitionAccess().getContainmentAssignment_0()); }
4544 '{' 6217 (rule__MemberDefinition__ContainmentAssignment_0)?
4545 { after(grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2()); } 6218 { after(grammarAccess.getMemberDefinitionAccess().getContainmentAssignment_0()); }
4546) 6219)
4547; 6220;
4548finally { 6221finally {
4549 restoreStackSize(stackSize); 6222 restoreStackSize(stackSize);
4550} 6223}
4551 6224
4552rule__EnumInterpretation__Group__3 6225rule__MemberDefinition__Group__1
4553 @init { 6226 @init {
4554 int stackSize = keepStackSize(); 6227 int stackSize = keepStackSize();
4555 } 6228 }
4556: 6229:
4557 rule__EnumInterpretation__Group__3__Impl 6230 rule__MemberDefinition__Group__1__Impl
4558 rule__EnumInterpretation__Group__4 6231 rule__MemberDefinition__Group__2
4559; 6232;
4560finally { 6233finally {
4561 restoreStackSize(stackSize); 6234 restoreStackSize(stackSize);
4562} 6235}
4563 6236
4564rule__EnumInterpretation__Group__3__Impl 6237rule__MemberDefinition__Group__1__Impl
4565 @init { 6238 @init {
4566 int stackSize = keepStackSize(); 6239 int stackSize = keepStackSize();
4567 } 6240 }
4568: 6241:
4569( 6242(
4570 ( 6243 { before(grammarAccess.getMemberDefinitionAccess().getTypeAssignment_1()); }
4571 { before(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); } 6244 (rule__MemberDefinition__TypeAssignment_1)
4572 (rule__EnumInterpretation__ObjectsAssignment_3) 6245 { after(grammarAccess.getMemberDefinitionAccess().getTypeAssignment_1()); }
4573 { after(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); }
4574 )
4575 (
4576 { before(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); }
4577 (rule__EnumInterpretation__ObjectsAssignment_3)*
4578 { after(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); }
4579 )
4580) 6246)
4581; 6247;
4582finally { 6248finally {
4583 restoreStackSize(stackSize); 6249 restoreStackSize(stackSize);
4584} 6250}
4585 6251
4586rule__EnumInterpretation__Group__4 6252rule__MemberDefinition__Group__2
4587 @init { 6253 @init {
4588 int stackSize = keepStackSize(); 6254 int stackSize = keepStackSize();
4589 } 6255 }
4590: 6256:
4591 rule__EnumInterpretation__Group__4__Impl 6257 rule__MemberDefinition__Group__2__Impl
6258 rule__MemberDefinition__Group__3
4592; 6259;
4593finally { 6260finally {
4594 restoreStackSize(stackSize); 6261 restoreStackSize(stackSize);
4595} 6262}
4596 6263
4597rule__EnumInterpretation__Group__4__Impl 6264rule__MemberDefinition__Group__2__Impl
4598 @init { 6265 @init {
4599 int stackSize = keepStackSize(); 6266 int stackSize = keepStackSize();
4600 } 6267 }
4601: 6268:
4602( 6269(
4603 { before(grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4()); } 6270 { before(grammarAccess.getMemberDefinitionAccess().getMultiplicityAssignment_2()); }
4604 '}' 6271 (rule__MemberDefinition__MultiplicityAssignment_2)?
4605 { after(grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4()); } 6272 { after(grammarAccess.getMemberDefinitionAccess().getMultiplicityAssignment_2()); }
4606) 6273)
4607; 6274;
4608finally { 6275finally {
4609 restoreStackSize(stackSize); 6276 restoreStackSize(stackSize);
4610} 6277}
4611 6278
6279rule__MemberDefinition__Group__3
6280 @init {
6281 int stackSize = keepStackSize();
6282 }
6283:
6284 rule__MemberDefinition__Group__3__Impl
6285 rule__MemberDefinition__Group__4
6286;
6287finally {
6288 restoreStackSize(stackSize);
6289}
6290
6291rule__MemberDefinition__Group__3__Impl
6292 @init {
6293 int stackSize = keepStackSize();
6294 }
6295:
6296(
6297 { before(grammarAccess.getMemberDefinitionAccess().getNameAssignment_3()); }
6298 (rule__MemberDefinition__NameAssignment_3)
6299 { after(grammarAccess.getMemberDefinitionAccess().getNameAssignment_3()); }
6300)
6301;
6302finally {
6303 restoreStackSize(stackSize);
6304}
4612 6305
4613rule__FieldRelationInterpretation__Group__0 6306rule__MemberDefinition__Group__4
4614 @init { 6307 @init {
4615 int stackSize = keepStackSize(); 6308 int stackSize = keepStackSize();
4616 } 6309 }
4617: 6310:
4618 rule__FieldRelationInterpretation__Group__0__Impl 6311 rule__MemberDefinition__Group__4__Impl
4619 rule__FieldRelationInterpretation__Group__1 6312 rule__MemberDefinition__Group__5
4620; 6313;
4621finally { 6314finally {
4622 restoreStackSize(stackSize); 6315 restoreStackSize(stackSize);
4623} 6316}
4624 6317
4625rule__FieldRelationInterpretation__Group__0__Impl 6318rule__MemberDefinition__Group__4__Impl
4626 @init { 6319 @init {
4627 int stackSize = keepStackSize(); 6320 int stackSize = keepStackSize();
4628 } 6321 }
4629: 6322:
4630( 6323(
4631 { before(grammarAccess.getFieldRelationInterpretationAccess().getContainmentAssignment_0()); } 6324 { before(grammarAccess.getMemberDefinitionAccess().getGroup_4()); }
4632 (rule__FieldRelationInterpretation__ContainmentAssignment_0)? 6325 (rule__MemberDefinition__Group_4__0)?
4633 { after(grammarAccess.getFieldRelationInterpretationAccess().getContainmentAssignment_0()); } 6326 { after(grammarAccess.getMemberDefinitionAccess().getGroup_4()); }
4634) 6327)
4635; 6328;
4636finally { 6329finally {
4637 restoreStackSize(stackSize); 6330 restoreStackSize(stackSize);
4638} 6331}
4639 6332
4640rule__FieldRelationInterpretation__Group__1 6333rule__MemberDefinition__Group__5
4641 @init { 6334 @init {
4642 int stackSize = keepStackSize(); 6335 int stackSize = keepStackSize();
4643 } 6336 }
4644: 6337:
4645 rule__FieldRelationInterpretation__Group__1__Impl 6338 rule__MemberDefinition__Group__5__Impl
4646 rule__FieldRelationInterpretation__Group__2
4647; 6339;
4648finally { 6340finally {
4649 restoreStackSize(stackSize); 6341 restoreStackSize(stackSize);
4650} 6342}
4651 6343
4652rule__FieldRelationInterpretation__Group__1__Impl 6344rule__MemberDefinition__Group__5__Impl
4653 @init { 6345 @init {
4654 int stackSize = keepStackSize(); 6346 int stackSize = keepStackSize();
4655 } 6347 }
4656: 6348:
4657( 6349(
4658 { before(grammarAccess.getFieldRelationInterpretationAccess().getSymbolAssignment_1()); } 6350 { before(grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); }
4659 (rule__FieldRelationInterpretation__SymbolAssignment_1) 6351 (';')?
4660 { after(grammarAccess.getFieldRelationInterpretationAccess().getSymbolAssignment_1()); } 6352 { after(grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); }
4661) 6353)
4662; 6354;
4663finally { 6355finally {
4664 restoreStackSize(stackSize); 6356 restoreStackSize(stackSize);
4665} 6357}
4666 6358
4667rule__FieldRelationInterpretation__Group__2 6359
6360rule__MemberDefinition__Group_4__0
4668 @init { 6361 @init {
4669 int stackSize = keepStackSize(); 6362 int stackSize = keepStackSize();
4670 } 6363 }
4671: 6364:
4672 rule__FieldRelationInterpretation__Group__2__Impl 6365 rule__MemberDefinition__Group_4__0__Impl
4673 rule__FieldRelationInterpretation__Group__3 6366 rule__MemberDefinition__Group_4__1
4674; 6367;
4675finally { 6368finally {
4676 restoreStackSize(stackSize); 6369 restoreStackSize(stackSize);
4677} 6370}
4678 6371
4679rule__FieldRelationInterpretation__Group__2__Impl 6372rule__MemberDefinition__Group_4__0__Impl
4680 @init { 6373 @init {
4681 int stackSize = keepStackSize(); 6374 int stackSize = keepStackSize();
4682 } 6375 }
4683: 6376:
4684( 6377(
4685 { before(grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2()); } 6378 { before(grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); }
4686 ':' 6379 'opposite'
4687 { after(grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2()); } 6380 { after(grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); }
4688) 6381)
4689; 6382;
4690finally { 6383finally {
4691 restoreStackSize(stackSize); 6384 restoreStackSize(stackSize);
4692} 6385}
4693 6386
4694rule__FieldRelationInterpretation__Group__3 6387rule__MemberDefinition__Group_4__1
4695 @init { 6388 @init {
4696 int stackSize = keepStackSize(); 6389 int stackSize = keepStackSize();
4697 } 6390 }
4698: 6391:
4699 rule__FieldRelationInterpretation__Group__3__Impl 6392 rule__MemberDefinition__Group_4__1__Impl
4700 rule__FieldRelationInterpretation__Group__4
4701; 6393;
4702finally { 6394finally {
4703 restoreStackSize(stackSize); 6395 restoreStackSize(stackSize);
4704} 6396}
4705 6397
4706rule__FieldRelationInterpretation__Group__3__Impl 6398rule__MemberDefinition__Group_4__1__Impl
4707 @init { 6399 @init {
4708 int stackSize = keepStackSize(); 6400 int stackSize = keepStackSize();
4709 } 6401 }
4710: 6402:
4711( 6403(
4712 { before(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityAssignment_3()); } 6404 { before(grammarAccess.getMemberDefinitionAccess().getOppositeAssignment_4_1()); }
4713 (rule__FieldRelationInterpretation__MultiplicityAssignment_3)? 6405 (rule__MemberDefinition__OppositeAssignment_4_1)
4714 { after(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityAssignment_3()); } 6406 { after(grammarAccess.getMemberDefinitionAccess().getOppositeAssignment_4_1()); }
4715) 6407)
4716; 6408;
4717finally { 6409finally {
4718 restoreStackSize(stackSize); 6410 restoreStackSize(stackSize);
4719} 6411}
4720 6412
4721rule__FieldRelationInterpretation__Group__4 6413
6414rule__ManyMultiplicity__Group__0
4722 @init { 6415 @init {
4723 int stackSize = keepStackSize(); 6416 int stackSize = keepStackSize();
4724 } 6417 }
4725: 6418:
4726 rule__FieldRelationInterpretation__Group__4__Impl 6419 rule__ManyMultiplicity__Group__0__Impl
6420 rule__ManyMultiplicity__Group__1
4727; 6421;
4728finally { 6422finally {
4729 restoreStackSize(stackSize); 6423 restoreStackSize(stackSize);
4730} 6424}
4731 6425
4732rule__FieldRelationInterpretation__Group__4__Impl 6426rule__ManyMultiplicity__Group__0__Impl
4733 @init { 6427 @init {
4734 int stackSize = keepStackSize(); 6428 int stackSize = keepStackSize();
4735 } 6429 }
4736: 6430:
4737( 6431(
4738 { before(grammarAccess.getFieldRelationInterpretationAccess().getTargetAssignment_4()); } 6432 { before(grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0()); }
4739 (rule__FieldRelationInterpretation__TargetAssignment_4) 6433 ()
4740 { after(grammarAccess.getFieldRelationInterpretationAccess().getTargetAssignment_4()); } 6434 { after(grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0()); }
4741) 6435)
4742; 6436;
4743finally { 6437finally {
4744 restoreStackSize(stackSize); 6438 restoreStackSize(stackSize);
4745} 6439}
4746 6440
6441rule__ManyMultiplicity__Group__1
6442 @init {
6443 int stackSize = keepStackSize();
6444 }
6445:
6446 rule__ManyMultiplicity__Group__1__Impl
6447 rule__ManyMultiplicity__Group__2
6448;
6449finally {
6450 restoreStackSize(stackSize);
6451}
4747 6452
4748rule__GlobalRelationInterpretation__Group__0 6453rule__ManyMultiplicity__Group__1__Impl
4749 @init { 6454 @init {
4750 int stackSize = keepStackSize(); 6455 int stackSize = keepStackSize();
4751 } 6456 }
4752: 6457:
4753 rule__GlobalRelationInterpretation__Group__0__Impl 6458(
4754 rule__GlobalRelationInterpretation__Group__1 6459 { before(grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); }
6460 '['
6461 { after(grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); }
6462)
4755; 6463;
4756finally { 6464finally {
4757 restoreStackSize(stackSize); 6465 restoreStackSize(stackSize);
4758} 6466}
4759 6467
4760rule__GlobalRelationInterpretation__Group__0__Impl 6468rule__ManyMultiplicity__Group__2
6469 @init {
6470 int stackSize = keepStackSize();
6471 }
6472:
6473 rule__ManyMultiplicity__Group__2__Impl
6474;
6475finally {
6476 restoreStackSize(stackSize);
6477}
6478
6479rule__ManyMultiplicity__Group__2__Impl
4761 @init { 6480 @init {
4762 int stackSize = keepStackSize(); 6481 int stackSize = keepStackSize();
4763 } 6482 }
4764: 6483:
4765( 6484(
4766 { before(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentAssignment_0()); } 6485 { before(grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); }
4767 (rule__GlobalRelationInterpretation__ContainmentAssignment_0)? 6486 ']'
4768 { after(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentAssignment_0()); } 6487 { after(grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); }
4769) 6488)
4770; 6489;
4771finally { 6490finally {
4772 restoreStackSize(stackSize); 6491 restoreStackSize(stackSize);
4773} 6492}
4774 6493
4775rule__GlobalRelationInterpretation__Group__1 6494
6495rule__ExactMultiplicity__Group__0
4776 @init { 6496 @init {
4777 int stackSize = keepStackSize(); 6497 int stackSize = keepStackSize();
4778 } 6498 }
4779: 6499:
4780 rule__GlobalRelationInterpretation__Group__1__Impl 6500 rule__ExactMultiplicity__Group__0__Impl
4781 rule__GlobalRelationInterpretation__Group__2 6501 rule__ExactMultiplicity__Group__1
4782; 6502;
4783finally { 6503finally {
4784 restoreStackSize(stackSize); 6504 restoreStackSize(stackSize);
4785} 6505}
4786 6506
4787rule__GlobalRelationInterpretation__Group__1__Impl 6507rule__ExactMultiplicity__Group__0__Impl
4788 @init { 6508 @init {
4789 int stackSize = keepStackSize(); 6509 int stackSize = keepStackSize();
4790 } 6510 }
4791: 6511:
4792( 6512(
4793 { before(grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); } 6513 { before(grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); }
4794 'relation' 6514 '['
4795 { after(grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); } 6515 { after(grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); }
4796) 6516)
4797; 6517;
4798finally { 6518finally {
4799 restoreStackSize(stackSize); 6519 restoreStackSize(stackSize);
4800} 6520}
4801 6521
4802rule__GlobalRelationInterpretation__Group__2 6522rule__ExactMultiplicity__Group__1
4803 @init { 6523 @init {
4804 int stackSize = keepStackSize(); 6524 int stackSize = keepStackSize();
4805 } 6525 }
4806: 6526:
4807 rule__GlobalRelationInterpretation__Group__2__Impl 6527 rule__ExactMultiplicity__Group__1__Impl
4808 rule__GlobalRelationInterpretation__Group__3 6528 rule__ExactMultiplicity__Group__2
4809; 6529;
4810finally { 6530finally {
4811 restoreStackSize(stackSize); 6531 restoreStackSize(stackSize);
4812} 6532}
4813 6533
4814rule__GlobalRelationInterpretation__Group__2__Impl 6534rule__ExactMultiplicity__Group__1__Impl
4815 @init { 6535 @init {
4816 int stackSize = keepStackSize(); 6536 int stackSize = keepStackSize();
4817 } 6537 }
4818: 6538:
4819( 6539(
4820 { before(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolAssignment_2()); } 6540 { before(grammarAccess.getExactMultiplicityAccess().getMultiplicityAssignment_1()); }
4821 (rule__GlobalRelationInterpretation__SymbolAssignment_2) 6541 (rule__ExactMultiplicity__MultiplicityAssignment_1)
4822 { after(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolAssignment_2()); } 6542 { after(grammarAccess.getExactMultiplicityAccess().getMultiplicityAssignment_1()); }
4823) 6543)
4824; 6544;
4825finally { 6545finally {
4826 restoreStackSize(stackSize); 6546 restoreStackSize(stackSize);
4827} 6547}
4828 6548
4829rule__GlobalRelationInterpretation__Group__3 6549rule__ExactMultiplicity__Group__2
4830 @init { 6550 @init {
4831 int stackSize = keepStackSize(); 6551 int stackSize = keepStackSize();
4832 } 6552 }
4833: 6553:
4834 rule__GlobalRelationInterpretation__Group__3__Impl 6554 rule__ExactMultiplicity__Group__2__Impl
4835 rule__GlobalRelationInterpretation__Group__4
4836; 6555;
4837finally { 6556finally {
4838 restoreStackSize(stackSize); 6557 restoreStackSize(stackSize);
4839} 6558}
4840 6559
4841rule__GlobalRelationInterpretation__Group__3__Impl 6560rule__ExactMultiplicity__Group__2__Impl
4842 @init { 6561 @init {
4843 int stackSize = keepStackSize(); 6562 int stackSize = keepStackSize();
4844 } 6563 }
4845: 6564:
4846( 6565(
4847 { before(grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3()); } 6566 { before(grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2()); }
4848 ':' 6567 ']'
4849 { after(grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3()); } 6568 { after(grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2()); }
4850) 6569)
4851; 6570;
4852finally { 6571finally {
4853 restoreStackSize(stackSize); 6572 restoreStackSize(stackSize);
4854} 6573}
4855 6574
4856rule__GlobalRelationInterpretation__Group__4 6575
6576rule__BoundedMultiplicity__Group__0
4857 @init { 6577 @init {
4858 int stackSize = keepStackSize(); 6578 int stackSize = keepStackSize();
4859 } 6579 }
4860: 6580:
4861 rule__GlobalRelationInterpretation__Group__4__Impl 6581 rule__BoundedMultiplicity__Group__0__Impl
4862 rule__GlobalRelationInterpretation__Group__5 6582 rule__BoundedMultiplicity__Group__1
4863; 6583;
4864finally { 6584finally {
4865 restoreStackSize(stackSize); 6585 restoreStackSize(stackSize);
4866} 6586}
4867 6587
4868rule__GlobalRelationInterpretation__Group__4__Impl 6588rule__BoundedMultiplicity__Group__0__Impl
4869 @init { 6589 @init {
4870 int stackSize = keepStackSize(); 6590 int stackSize = keepStackSize();
4871 } 6591 }
4872: 6592:
4873( 6593(
4874 { before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityAssignment_4()); } 6594 { before(grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); }
4875 (rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4)? 6595 '['
4876 { after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityAssignment_4()); } 6596 { after(grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); }
4877) 6597)
4878; 6598;
4879finally { 6599finally {
4880 restoreStackSize(stackSize); 6600 restoreStackSize(stackSize);
4881} 6601}
4882 6602
4883rule__GlobalRelationInterpretation__Group__5 6603rule__BoundedMultiplicity__Group__1
4884 @init { 6604 @init {
4885 int stackSize = keepStackSize(); 6605 int stackSize = keepStackSize();
4886 } 6606 }
4887: 6607:
4888 rule__GlobalRelationInterpretation__Group__5__Impl 6608 rule__BoundedMultiplicity__Group__1__Impl
4889 rule__GlobalRelationInterpretation__Group__6 6609 rule__BoundedMultiplicity__Group__2
4890; 6610;
4891finally { 6611finally {
4892 restoreStackSize(stackSize); 6612 restoreStackSize(stackSize);
4893} 6613}
4894 6614
4895rule__GlobalRelationInterpretation__Group__5__Impl 6615rule__BoundedMultiplicity__Group__1__Impl
4896 @init { 6616 @init {
4897 int stackSize = keepStackSize(); 6617 int stackSize = keepStackSize();
4898 } 6618 }
4899: 6619:
4900( 6620(
4901 { before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceAssignment_5()); } 6621 { before(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundAssignment_1()); }
4902 (rule__GlobalRelationInterpretation__SourceAssignment_5) 6622 (rule__BoundedMultiplicity__LowerBoundAssignment_1)
4903 { after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceAssignment_5()); } 6623 { after(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundAssignment_1()); }
4904) 6624)
4905; 6625;
4906finally { 6626finally {
4907 restoreStackSize(stackSize); 6627 restoreStackSize(stackSize);
4908} 6628}
4909 6629
4910rule__GlobalRelationInterpretation__Group__6 6630rule__BoundedMultiplicity__Group__2
4911 @init { 6631 @init {
4912 int stackSize = keepStackSize(); 6632 int stackSize = keepStackSize();
4913 } 6633 }
4914: 6634:
4915 rule__GlobalRelationInterpretation__Group__6__Impl 6635 rule__BoundedMultiplicity__Group__2__Impl
4916 rule__GlobalRelationInterpretation__Group__7 6636 rule__BoundedMultiplicity__Group__3
4917; 6637;
4918finally { 6638finally {
4919 restoreStackSize(stackSize); 6639 restoreStackSize(stackSize);
4920} 6640}
4921 6641
4922rule__GlobalRelationInterpretation__Group__6__Impl 6642rule__BoundedMultiplicity__Group__2__Impl
4923 @init { 6643 @init {
4924 int stackSize = keepStackSize(); 6644 int stackSize = keepStackSize();
4925 } 6645 }
4926: 6646:
4927( 6647(
4928 { before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityAssignment_6()); } 6648 { before(grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); }
4929 (rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6)? 6649 '..'
4930 { after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityAssignment_6()); } 6650 { after(grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); }
4931) 6651)
4932; 6652;
4933finally { 6653finally {
4934 restoreStackSize(stackSize); 6654 restoreStackSize(stackSize);
4935} 6655}
4936 6656
4937rule__GlobalRelationInterpretation__Group__7 6657rule__BoundedMultiplicity__Group__3
4938 @init { 6658 @init {
4939 int stackSize = keepStackSize(); 6659 int stackSize = keepStackSize();
4940 } 6660 }
4941: 6661:
4942 rule__GlobalRelationInterpretation__Group__7__Impl 6662 rule__BoundedMultiplicity__Group__3__Impl
6663 rule__BoundedMultiplicity__Group__4
4943; 6664;
4944finally { 6665finally {
4945 restoreStackSize(stackSize); 6666 restoreStackSize(stackSize);
4946} 6667}
4947 6668
4948rule__GlobalRelationInterpretation__Group__7__Impl 6669rule__BoundedMultiplicity__Group__3__Impl
4949 @init { 6670 @init {
4950 int stackSize = keepStackSize(); 6671 int stackSize = keepStackSize();
4951 } 6672 }
4952: 6673:
4953( 6674(
4954 { before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetAssignment_7()); } 6675 { before(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundAssignment_3()); }
4955 (rule__GlobalRelationInterpretation__TargetAssignment_7) 6676 (rule__BoundedMultiplicity__UpperBoundAssignment_3)
4956 { after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetAssignment_7()); } 6677 { after(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundAssignment_3()); }
4957) 6678)
4958; 6679;
4959finally { 6680finally {
4960 restoreStackSize(stackSize); 6681 restoreStackSize(stackSize);
4961} 6682}
4962 6683
6684rule__BoundedMultiplicity__Group__4
6685 @init {
6686 int stackSize = keepStackSize();
6687 }
6688:
6689 rule__BoundedMultiplicity__Group__4__Impl
6690;
6691finally {
6692 restoreStackSize(stackSize);
6693}
4963 6694
4964rule__MultiplicityDefinition__Group__0 6695rule__BoundedMultiplicity__Group__4__Impl
4965 @init { 6696 @init {
4966 int stackSize = keepStackSize(); 6697 int stackSize = keepStackSize();
4967 } 6698 }
4968: 6699:
4969 rule__MultiplicityDefinition__Group__0__Impl 6700(
4970 rule__MultiplicityDefinition__Group__1 6701 { before(grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4()); }
6702 ']'
6703 { after(grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4()); }
6704)
4971; 6705;
4972finally { 6706finally {
4973 restoreStackSize(stackSize); 6707 restoreStackSize(stackSize);
4974} 6708}
4975 6709
4976rule__MultiplicityDefinition__Group__0__Impl 6710
6711rule__ExactScopeDefinition__Group__0
6712 @init {
6713 int stackSize = keepStackSize();
6714 }
6715:
6716 rule__ExactScopeDefinition__Group__0__Impl
6717 rule__ExactScopeDefinition__Group__1
6718;
6719finally {
6720 restoreStackSize(stackSize);
6721}
6722
6723rule__ExactScopeDefinition__Group__0__Impl
4977 @init { 6724 @init {
4978 int stackSize = keepStackSize(); 6725 int stackSize = keepStackSize();
4979 } 6726 }
4980: 6727:
4981( 6728(
4982 { before(grammarAccess.getMultiplicityDefinitionAccess().getLowerAssignment_0()); } 6729 { before(grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); }
4983 (rule__MultiplicityDefinition__LowerAssignment_0) 6730 'scope'
4984 { after(grammarAccess.getMultiplicityDefinitionAccess().getLowerAssignment_0()); } 6731 { after(grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); }
4985) 6732)
4986; 6733;
4987finally { 6734finally {
4988 restoreStackSize(stackSize); 6735 restoreStackSize(stackSize);
4989} 6736}
4990 6737
4991rule__MultiplicityDefinition__Group__1 6738rule__ExactScopeDefinition__Group__1
4992 @init { 6739 @init {
4993 int stackSize = keepStackSize(); 6740 int stackSize = keepStackSize();
4994 } 6741 }
4995: 6742:
4996 rule__MultiplicityDefinition__Group__1__Impl 6743 rule__ExactScopeDefinition__Group__1__Impl
4997 rule__MultiplicityDefinition__Group__2 6744 rule__ExactScopeDefinition__Group__2
4998; 6745;
4999finally { 6746finally {
5000 restoreStackSize(stackSize); 6747 restoreStackSize(stackSize);
5001} 6748}
5002 6749
5003rule__MultiplicityDefinition__Group__1__Impl 6750rule__ExactScopeDefinition__Group__1__Impl
5004 @init { 6751 @init {
5005 int stackSize = keepStackSize(); 6752 int stackSize = keepStackSize();
5006 } 6753 }
5007: 6754:
5008( 6755(
5009 { before(grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1()); } 6756 { before(grammarAccess.getExactScopeDefinitionAccess().getTypeAssignment_1()); }
5010 '..' 6757 (rule__ExactScopeDefinition__TypeAssignment_1)
5011 { after(grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1()); } 6758 { after(grammarAccess.getExactScopeDefinitionAccess().getTypeAssignment_1()); }
6759)
6760;
6761finally {
6762 restoreStackSize(stackSize);
6763}
6764
6765rule__ExactScopeDefinition__Group__2
6766 @init {
6767 int stackSize = keepStackSize();
6768 }
6769:
6770 rule__ExactScopeDefinition__Group__2__Impl
6771 rule__ExactScopeDefinition__Group__3
6772;
6773finally {
6774 restoreStackSize(stackSize);
6775}
6776
6777rule__ExactScopeDefinition__Group__2__Impl
6778 @init {
6779 int stackSize = keepStackSize();
6780 }
6781:
6782(
6783 { before(grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); }
6784 '=='
6785 { after(grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); }
6786)
6787;
6788finally {
6789 restoreStackSize(stackSize);
6790}
6791
6792rule__ExactScopeDefinition__Group__3
6793 @init {
6794 int stackSize = keepStackSize();
6795 }
6796:
6797 rule__ExactScopeDefinition__Group__3__Impl
6798;
6799finally {
6800 restoreStackSize(stackSize);
6801}
6802
6803rule__ExactScopeDefinition__Group__3__Impl
6804 @init {
6805 int stackSize = keepStackSize();
6806 }
6807:
6808(
6809 { before(grammarAccess.getExactScopeDefinitionAccess().getExactScopeAssignment_3()); }
6810 (rule__ExactScopeDefinition__ExactScopeAssignment_3)
6811 { after(grammarAccess.getExactScopeDefinitionAccess().getExactScopeAssignment_3()); }
6812)
6813;
6814finally {
6815 restoreStackSize(stackSize);
6816}
6817
6818
6819rule__BoundedScopeDefinition__Group__0
6820 @init {
6821 int stackSize = keepStackSize();
6822 }
6823:
6824 rule__BoundedScopeDefinition__Group__0__Impl
6825 rule__BoundedScopeDefinition__Group__1
6826;
6827finally {
6828 restoreStackSize(stackSize);
6829}
6830
6831rule__BoundedScopeDefinition__Group__0__Impl
6832 @init {
6833 int stackSize = keepStackSize();
6834 }
6835:
6836(
6837 { before(grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); }
6838 'scope'
6839 { after(grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); }
6840)
6841;
6842finally {
6843 restoreStackSize(stackSize);
6844}
6845
6846rule__BoundedScopeDefinition__Group__1
6847 @init {
6848 int stackSize = keepStackSize();
6849 }
6850:
6851 rule__BoundedScopeDefinition__Group__1__Impl
6852 rule__BoundedScopeDefinition__Group__2
6853;
6854finally {
6855 restoreStackSize(stackSize);
6856}
6857
6858rule__BoundedScopeDefinition__Group__1__Impl
6859 @init {
6860 int stackSize = keepStackSize();
6861 }
6862:
6863(
6864 { before(grammarAccess.getBoundedScopeDefinitionAccess().getAlternatives_1()); }
6865 (rule__BoundedScopeDefinition__Alternatives_1)
6866 { after(grammarAccess.getBoundedScopeDefinitionAccess().getAlternatives_1()); }
6867)
6868;
6869finally {
6870 restoreStackSize(stackSize);
6871}
6872
6873rule__BoundedScopeDefinition__Group__2
6874 @init {
6875 int stackSize = keepStackSize();
6876 }
6877:
6878 rule__BoundedScopeDefinition__Group__2__Impl
6879;
6880finally {
6881 restoreStackSize(stackSize);
6882}
6883
6884rule__BoundedScopeDefinition__Group__2__Impl
6885 @init {
6886 int stackSize = keepStackSize();
6887 }
6888:
6889(
6890 { before(grammarAccess.getBoundedScopeDefinitionAccess().getFullStopKeyword_2()); }
6891 '.'
6892 { after(grammarAccess.getBoundedScopeDefinitionAccess().getFullStopKeyword_2()); }
6893)
6894;
6895finally {
6896 restoreStackSize(stackSize);
6897}
6898
6899
6900rule__BoundedScopeDefinition__Group_1_0__0
6901 @init {
6902 int stackSize = keepStackSize();
6903 }
6904:
6905 rule__BoundedScopeDefinition__Group_1_0__0__Impl
6906 rule__BoundedScopeDefinition__Group_1_0__1
6907;
6908finally {
6909 restoreStackSize(stackSize);
6910}
6911
6912rule__BoundedScopeDefinition__Group_1_0__0__Impl
6913 @init {
6914 int stackSize = keepStackSize();
6915 }
6916:
6917(
6918 { before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0_0()); }
6919 (rule__BoundedScopeDefinition__Group_1_0_0__0)?
6920 { after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0_0()); }
6921)
6922;
6923finally {
6924 restoreStackSize(stackSize);
6925}
6926
6927rule__BoundedScopeDefinition__Group_1_0__1
6928 @init {
6929 int stackSize = keepStackSize();
6930 }
6931:
6932 rule__BoundedScopeDefinition__Group_1_0__1__Impl
6933 rule__BoundedScopeDefinition__Group_1_0__2
6934;
6935finally {
6936 restoreStackSize(stackSize);
6937}
6938
6939rule__BoundedScopeDefinition__Group_1_0__1__Impl
6940 @init {
6941 int stackSize = keepStackSize();
6942 }
6943:
6944(
6945 { before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_0_1()); }
6946 (rule__BoundedScopeDefinition__TypeAssignment_1_0_1)
6947 { after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_0_1()); }
6948)
6949;
6950finally {
6951 restoreStackSize(stackSize);
6952}
6953
6954rule__BoundedScopeDefinition__Group_1_0__2
6955 @init {
6956 int stackSize = keepStackSize();
6957 }
6958:
6959 rule__BoundedScopeDefinition__Group_1_0__2__Impl
6960 rule__BoundedScopeDefinition__Group_1_0__3
6961;
6962finally {
6963 restoreStackSize(stackSize);
6964}
6965
6966rule__BoundedScopeDefinition__Group_1_0__2__Impl
6967 @init {
6968 int stackSize = keepStackSize();
6969 }
6970:
6971(
6972 { before(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); }
6973 '<='
6974 { after(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); }
6975)
6976;
6977finally {
6978 restoreStackSize(stackSize);
6979}
6980
6981rule__BoundedScopeDefinition__Group_1_0__3
6982 @init {
6983 int stackSize = keepStackSize();
6984 }
6985:
6986 rule__BoundedScopeDefinition__Group_1_0__3__Impl
6987;
6988finally {
6989 restoreStackSize(stackSize);
6990}
6991
6992rule__BoundedScopeDefinition__Group_1_0__3__Impl
6993 @init {
6994 int stackSize = keepStackSize();
6995 }
6996:
6997(
6998 { before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_0_3()); }
6999 (rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3)
7000 { after(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_0_3()); }
7001)
7002;
7003finally {
7004 restoreStackSize(stackSize);
7005}
7006
7007
7008rule__BoundedScopeDefinition__Group_1_0_0__0
7009 @init {
7010 int stackSize = keepStackSize();
7011 }
7012:
7013 rule__BoundedScopeDefinition__Group_1_0_0__0__Impl
7014 rule__BoundedScopeDefinition__Group_1_0_0__1
7015;
7016finally {
7017 restoreStackSize(stackSize);
7018}
7019
7020rule__BoundedScopeDefinition__Group_1_0_0__0__Impl
7021 @init {
7022 int stackSize = keepStackSize();
7023 }
7024:
7025(
7026 { before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0_0()); }
7027 (rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0)
7028 { after(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0_0()); }
7029)
7030;
7031finally {
7032 restoreStackSize(stackSize);
7033}
7034
7035rule__BoundedScopeDefinition__Group_1_0_0__1
7036 @init {
7037 int stackSize = keepStackSize();
7038 }
7039:
7040 rule__BoundedScopeDefinition__Group_1_0_0__1__Impl
7041;
7042finally {
7043 restoreStackSize(stackSize);
7044}
7045
7046rule__BoundedScopeDefinition__Group_1_0_0__1__Impl
7047 @init {
7048 int stackSize = keepStackSize();
7049 }
7050:
7051(
7052 { before(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); }
7053 '<='
7054 { after(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); }
7055)
7056;
7057finally {
7058 restoreStackSize(stackSize);
7059}
7060
7061
7062rule__BoundedScopeDefinition__Group_1_1__0
7063 @init {
7064 int stackSize = keepStackSize();
7065 }
7066:
7067 rule__BoundedScopeDefinition__Group_1_1__0__Impl
7068 rule__BoundedScopeDefinition__Group_1_1__1
7069;
7070finally {
7071 restoreStackSize(stackSize);
7072}
7073
7074rule__BoundedScopeDefinition__Group_1_1__0__Impl
7075 @init {
7076 int stackSize = keepStackSize();
7077 }
7078:
7079(
7080 { before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_1_0()); }
7081 (rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0)
7082 { after(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_1_0()); }
7083)
7084;
7085finally {
7086 restoreStackSize(stackSize);
7087}
7088
7089rule__BoundedScopeDefinition__Group_1_1__1
7090 @init {
7091 int stackSize = keepStackSize();
7092 }
7093:
7094 rule__BoundedScopeDefinition__Group_1_1__1__Impl
7095 rule__BoundedScopeDefinition__Group_1_1__2
7096;
7097finally {
7098 restoreStackSize(stackSize);
7099}
7100
7101rule__BoundedScopeDefinition__Group_1_1__1__Impl
7102 @init {
7103 int stackSize = keepStackSize();
7104 }
7105:
7106(
7107 { before(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); }
7108 '>='
7109 { after(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); }
7110)
7111;
7112finally {
7113 restoreStackSize(stackSize);
7114}
7115
7116rule__BoundedScopeDefinition__Group_1_1__2
7117 @init {
7118 int stackSize = keepStackSize();
7119 }
7120:
7121 rule__BoundedScopeDefinition__Group_1_1__2__Impl
7122 rule__BoundedScopeDefinition__Group_1_1__3
7123;
7124finally {
7125 restoreStackSize(stackSize);
7126}
7127
7128rule__BoundedScopeDefinition__Group_1_1__2__Impl
7129 @init {
7130 int stackSize = keepStackSize();
7131 }
7132:
7133(
7134 { before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_1_2()); }
7135 (rule__BoundedScopeDefinition__TypeAssignment_1_1_2)
7136 { after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_1_2()); }
7137)
7138;
7139finally {
7140 restoreStackSize(stackSize);
7141}
7142
7143rule__BoundedScopeDefinition__Group_1_1__3
7144 @init {
7145 int stackSize = keepStackSize();
7146 }
7147:
7148 rule__BoundedScopeDefinition__Group_1_1__3__Impl
7149;
7150finally {
7151 restoreStackSize(stackSize);
7152}
7153
7154rule__BoundedScopeDefinition__Group_1_1__3__Impl
7155 @init {
7156 int stackSize = keepStackSize();
7157 }
7158:
7159(
7160 { before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1_3()); }
7161 (rule__BoundedScopeDefinition__Group_1_1_3__0)?
7162 { after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1_3()); }
7163)
7164;
7165finally {
7166 restoreStackSize(stackSize);
7167}
7168
7169
7170rule__BoundedScopeDefinition__Group_1_1_3__0
7171 @init {
7172 int stackSize = keepStackSize();
7173 }
7174:
7175 rule__BoundedScopeDefinition__Group_1_1_3__0__Impl
7176 rule__BoundedScopeDefinition__Group_1_1_3__1
7177;
7178finally {
7179 restoreStackSize(stackSize);
7180}
7181
7182rule__BoundedScopeDefinition__Group_1_1_3__0__Impl
7183 @init {
7184 int stackSize = keepStackSize();
7185 }
7186:
7187(
7188 { before(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); }
7189 '>='
7190 { after(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); }
7191)
7192;
7193finally {
7194 restoreStackSize(stackSize);
7195}
7196
7197rule__BoundedScopeDefinition__Group_1_1_3__1
7198 @init {
7199 int stackSize = keepStackSize();
7200 }
7201:
7202 rule__BoundedScopeDefinition__Group_1_1_3__1__Impl
7203;
7204finally {
7205 restoreStackSize(stackSize);
7206}
7207
7208rule__BoundedScopeDefinition__Group_1_1_3__1__Impl
7209 @init {
7210 int stackSize = keepStackSize();
7211 }
7212:
7213(
7214 { before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_3_1()); }
7215 (rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1)
7216 { after(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_3_1()); }
7217)
7218;
7219finally {
7220 restoreStackSize(stackSize);
7221}
7222
7223
7224rule__LowerBoundedScopeDefinition__Group__0
7225 @init {
7226 int stackSize = keepStackSize();
7227 }
7228:
7229 rule__LowerBoundedScopeDefinition__Group__0__Impl
7230 rule__LowerBoundedScopeDefinition__Group__1
7231;
7232finally {
7233 restoreStackSize(stackSize);
7234}
7235
7236rule__LowerBoundedScopeDefinition__Group__0__Impl
7237 @init {
7238 int stackSize = keepStackSize();
7239 }
7240:
7241(
7242 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); }
7243 'scope'
7244 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); }
7245)
7246;
7247finally {
7248 restoreStackSize(stackSize);
7249}
7250
7251rule__LowerBoundedScopeDefinition__Group__1
7252 @init {
7253 int stackSize = keepStackSize();
7254 }
7255:
7256 rule__LowerBoundedScopeDefinition__Group__1__Impl
7257 rule__LowerBoundedScopeDefinition__Group__2
7258;
7259finally {
7260 restoreStackSize(stackSize);
7261}
7262
7263rule__LowerBoundedScopeDefinition__Group__1__Impl
7264 @init {
7265 int stackSize = keepStackSize();
7266 }
7267:
7268(
7269 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getAlternatives_1()); }
7270 (rule__LowerBoundedScopeDefinition__Alternatives_1)
7271 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getAlternatives_1()); }
7272)
7273;
7274finally {
7275 restoreStackSize(stackSize);
7276}
7277
7278rule__LowerBoundedScopeDefinition__Group__2
7279 @init {
7280 int stackSize = keepStackSize();
7281 }
7282:
7283 rule__LowerBoundedScopeDefinition__Group__2__Impl
7284;
7285finally {
7286 restoreStackSize(stackSize);
7287}
7288
7289rule__LowerBoundedScopeDefinition__Group__2__Impl
7290 @init {
7291 int stackSize = keepStackSize();
7292 }
7293:
7294(
7295 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getFullStopKeyword_2()); }
7296 '.'
7297 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getFullStopKeyword_2()); }
7298)
7299;
7300finally {
7301 restoreStackSize(stackSize);
7302}
7303
7304
7305rule__LowerBoundedScopeDefinition__Group_1_0__0
7306 @init {
7307 int stackSize = keepStackSize();
7308 }
7309:
7310 rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl
7311 rule__LowerBoundedScopeDefinition__Group_1_0__1
7312;
7313finally {
7314 restoreStackSize(stackSize);
7315}
7316
7317rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl
7318 @init {
7319 int stackSize = keepStackSize();
7320 }
7321:
7322(
7323 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0()); }
7324 (rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0)
7325 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0()); }
7326)
7327;
7328finally {
7329 restoreStackSize(stackSize);
7330}
7331
7332rule__LowerBoundedScopeDefinition__Group_1_0__1
7333 @init {
7334 int stackSize = keepStackSize();
7335 }
7336:
7337 rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl
7338 rule__LowerBoundedScopeDefinition__Group_1_0__2
7339;
7340finally {
7341 restoreStackSize(stackSize);
7342}
7343
7344rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl
7345 @init {
7346 int stackSize = keepStackSize();
7347 }
7348:
7349(
7350 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); }
7351 '<='
7352 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); }
7353)
7354;
7355finally {
7356 restoreStackSize(stackSize);
7357}
7358
7359rule__LowerBoundedScopeDefinition__Group_1_0__2
7360 @init {
7361 int stackSize = keepStackSize();
7362 }
7363:
7364 rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl
7365;
7366finally {
7367 restoreStackSize(stackSize);
7368}
7369
7370rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl
7371 @init {
7372 int stackSize = keepStackSize();
7373 }
7374:
7375(
7376 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_0_2()); }
7377 (rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2)
7378 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_0_2()); }
7379)
7380;
7381finally {
7382 restoreStackSize(stackSize);
7383}
7384
7385
7386rule__LowerBoundedScopeDefinition__Group_1_1__0
7387 @init {
7388 int stackSize = keepStackSize();
7389 }
7390:
7391 rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl
7392 rule__LowerBoundedScopeDefinition__Group_1_1__1
7393;
7394finally {
7395 restoreStackSize(stackSize);
7396}
7397
7398rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl
7399 @init {
7400 int stackSize = keepStackSize();
7401 }
7402:
7403(
7404 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_1_0()); }
7405 (rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0)
7406 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_1_0()); }
7407)
7408;
7409finally {
7410 restoreStackSize(stackSize);
7411}
7412
7413rule__LowerBoundedScopeDefinition__Group_1_1__1
7414 @init {
7415 int stackSize = keepStackSize();
7416 }
7417:
7418 rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl
7419 rule__LowerBoundedScopeDefinition__Group_1_1__2
7420;
7421finally {
7422 restoreStackSize(stackSize);
7423}
7424
7425rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl
7426 @init {
7427 int stackSize = keepStackSize();
7428 }
7429:
7430(
7431 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); }
7432 '>='
7433 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); }
7434)
7435;
7436finally {
7437 restoreStackSize(stackSize);
7438}
7439
7440rule__LowerBoundedScopeDefinition__Group_1_1__2
7441 @init {
7442 int stackSize = keepStackSize();
7443 }
7444:
7445 rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl
7446;
7447finally {
7448 restoreStackSize(stackSize);
7449}
7450
7451rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl
7452 @init {
7453 int stackSize = keepStackSize();
7454 }
7455:
7456(
7457 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_2()); }
7458 (rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2)
7459 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_2()); }
7460)
7461;
7462finally {
7463 restoreStackSize(stackSize);
7464}
7465
7466
7467rule__ObjectiveDefinition__Group__0
7468 @init {
7469 int stackSize = keepStackSize();
7470 }
7471:
7472 rule__ObjectiveDefinition__Group__0__Impl
7473 rule__ObjectiveDefinition__Group__1
7474;
7475finally {
7476 restoreStackSize(stackSize);
7477}
7478
7479rule__ObjectiveDefinition__Group__0__Impl
7480 @init {
7481 int stackSize = keepStackSize();
7482 }
7483:
7484(
7485 { before(grammarAccess.getObjectiveDefinitionAccess().getKindAssignment_0()); }
7486 (rule__ObjectiveDefinition__KindAssignment_0)
7487 { after(grammarAccess.getObjectiveDefinitionAccess().getKindAssignment_0()); }
7488)
7489;
7490finally {
7491 restoreStackSize(stackSize);
7492}
7493
7494rule__ObjectiveDefinition__Group__1
7495 @init {
7496 int stackSize = keepStackSize();
7497 }
7498:
7499 rule__ObjectiveDefinition__Group__1__Impl
7500;
7501finally {
7502 restoreStackSize(stackSize);
7503}
7504
7505rule__ObjectiveDefinition__Group__1__Impl
7506 @init {
7507 int stackSize = keepStackSize();
7508 }
7509:
7510(
7511 { before(grammarAccess.getObjectiveDefinitionAccess().getObjectiveAssignment_1()); }
7512 (rule__ObjectiveDefinition__ObjectiveAssignment_1)
7513 { after(grammarAccess.getObjectiveDefinitionAccess().getObjectiveAssignment_1()); }
7514)
7515;
7516finally {
7517 restoreStackSize(stackSize);
7518}
7519
7520
7521rule__Real__Group__0
7522 @init {
7523 int stackSize = keepStackSize();
7524 }
7525:
7526 rule__Real__Group__0__Impl
7527 rule__Real__Group__1
7528;
7529finally {
7530 restoreStackSize(stackSize);
7531}
7532
7533rule__Real__Group__0__Impl
7534 @init {
7535 int stackSize = keepStackSize();
7536 }
7537:
7538(
7539 { before(grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); }
7540 RULE_INT
7541 { after(grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); }
7542)
7543;
7544finally {
7545 restoreStackSize(stackSize);
7546}
7547
7548rule__Real__Group__1
7549 @init {
7550 int stackSize = keepStackSize();
7551 }
7552:
7553 rule__Real__Group__1__Impl
7554;
7555finally {
7556 restoreStackSize(stackSize);
7557}
7558
7559rule__Real__Group__1__Impl
7560 @init {
7561 int stackSize = keepStackSize();
7562 }
7563:
7564(
7565 { before(grammarAccess.getRealAccess().getGroup_1()); }
7566 (rule__Real__Group_1__0)?
7567 { after(grammarAccess.getRealAccess().getGroup_1()); }
7568)
7569;
7570finally {
7571 restoreStackSize(stackSize);
7572}
7573
7574
7575rule__Real__Group_1__0
7576 @init {
7577 int stackSize = keepStackSize();
7578 }
7579:
7580 rule__Real__Group_1__0__Impl
7581 rule__Real__Group_1__1
7582;
7583finally {
7584 restoreStackSize(stackSize);
7585}
7586
7587rule__Real__Group_1__0__Impl
7588 @init {
7589 int stackSize = keepStackSize();
7590 }
7591:
7592(
7593 { before(grammarAccess.getRealAccess().getFullStopKeyword_1_0()); }
7594 '.'
7595 { after(grammarAccess.getRealAccess().getFullStopKeyword_1_0()); }
7596)
7597;
7598finally {
7599 restoreStackSize(stackSize);
7600}
7601
7602rule__Real__Group_1__1
7603 @init {
7604 int stackSize = keepStackSize();
7605 }
7606:
7607 rule__Real__Group_1__1__Impl
7608;
7609finally {
7610 restoreStackSize(stackSize);
7611}
7612
7613rule__Real__Group_1__1__Impl
7614 @init {
7615 int stackSize = keepStackSize();
7616 }
7617:
7618(
7619 { before(grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); }
7620 RULE_INT
7621 { after(grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); }
7622)
7623;
7624finally {
7625 restoreStackSize(stackSize);
7626}
7627
7628
7629rule__QualifiedName__Group_0__0
7630 @init {
7631 int stackSize = keepStackSize();
7632 }
7633:
7634 rule__QualifiedName__Group_0__0__Impl
7635 rule__QualifiedName__Group_0__1
7636;
7637finally {
7638 restoreStackSize(stackSize);
7639}
7640
7641rule__QualifiedName__Group_0__0__Impl
7642 @init {
7643 int stackSize = keepStackSize();
7644 }
7645:
7646(
7647 { before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); }
7648 RULE_ID
7649 { after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); }
7650)
7651;
7652finally {
7653 restoreStackSize(stackSize);
7654}
7655
7656rule__QualifiedName__Group_0__1
7657 @init {
7658 int stackSize = keepStackSize();
7659 }
7660:
7661 rule__QualifiedName__Group_0__1__Impl
7662;
7663finally {
7664 restoreStackSize(stackSize);
7665}
7666
7667rule__QualifiedName__Group_0__1__Impl
7668 @init {
7669 int stackSize = keepStackSize();
7670 }
7671:
7672(
7673 { before(grammarAccess.getQualifiedNameAccess().getGroup_0_1()); }
7674 (rule__QualifiedName__Group_0_1__0)*
7675 { after(grammarAccess.getQualifiedNameAccess().getGroup_0_1()); }
7676)
7677;
7678finally {
7679 restoreStackSize(stackSize);
7680}
7681
7682
7683rule__QualifiedName__Group_0_1__0
7684 @init {
7685 int stackSize = keepStackSize();
7686 }
7687:
7688 rule__QualifiedName__Group_0_1__0__Impl
7689 rule__QualifiedName__Group_0_1__1
7690;
7691finally {
7692 restoreStackSize(stackSize);
7693}
7694
7695rule__QualifiedName__Group_0_1__0__Impl
7696 @init {
7697 int stackSize = keepStackSize();
7698 }
7699:
7700(
7701 { before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); }
7702 '.'
7703 { after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); }
5012) 7704)
5013; 7705;
5014finally { 7706finally {
5015 restoreStackSize(stackSize); 7707 restoreStackSize(stackSize);
5016} 7708}
5017 7709
5018rule__MultiplicityDefinition__Group__2 7710rule__QualifiedName__Group_0_1__1
5019 @init { 7711 @init {
5020 int stackSize = keepStackSize(); 7712 int stackSize = keepStackSize();
5021 } 7713 }
5022: 7714:
5023 rule__MultiplicityDefinition__Group__2__Impl 7715 rule__QualifiedName__Group_0_1__1__Impl
5024; 7716;
5025finally { 7717finally {
5026 restoreStackSize(stackSize); 7718 restoreStackSize(stackSize);
5027} 7719}
5028 7720
5029rule__MultiplicityDefinition__Group__2__Impl 7721rule__QualifiedName__Group_0_1__1__Impl
5030 @init { 7722 @init {
5031 int stackSize = keepStackSize(); 7723 int stackSize = keepStackSize();
5032 } 7724 }
5033: 7725:
5034( 7726(
5035 { before(grammarAccess.getMultiplicityDefinitionAccess().getAlternatives_2()); } 7727 { before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1()); }
5036 (rule__MultiplicityDefinition__Alternatives_2) 7728 RULE_ID
5037 { after(grammarAccess.getMultiplicityDefinitionAccess().getAlternatives_2()); } 7729 { after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1()); }
5038) 7730)
5039; 7731;
5040finally { 7732finally {
@@ -5057,755 +7749,1366 @@ finally {
5057 restoreStackSize(stackSize); 7749 restoreStackSize(stackSize);
5058} 7750}
5059 7751
5060rule__BasicInterpretation__SymbolAssignment_0 7752rule__AssertionOrDefinition__RangeAssignment_1_0_1_1
5061 @init { 7753 @init {
5062 int stackSize = keepStackSize(); 7754 int stackSize = keepStackSize();
5063 } 7755 }
5064: 7756:
5065 ( 7757 (
5066 { before(grammarAccess.getBasicInterpretationAccess().getSymbolSymbolParserRuleCall_0_0()); } 7758 { before(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); }
5067 ruleSymbol 7759 ruleExpression
5068 { after(grammarAccess.getBasicInterpretationAccess().getSymbolSymbolParserRuleCall_0_0()); } 7760 { after(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); }
5069 ) 7761 )
5070; 7762;
5071finally { 7763finally {
5072 restoreStackSize(stackSize); 7764 restoreStackSize(stackSize);
5073} 7765}
5074 7766
5075rule__BasicInterpretation__ObjectsAssignment_1_1_0 7767rule__AssertionOrDefinition__BodyAssignment_1_1_2
5076 @init { 7768 @init {
5077 int stackSize = keepStackSize(); 7769 int stackSize = keepStackSize();
5078 } 7770 }
5079: 7771:
5080 ( 7772 (
5081 { before(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0()); } 7773 { before(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); }
5082 ruleComplexObject 7774 ruleExpression
5083 { after(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0()); } 7775 { after(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); }
5084 ) 7776 )
5085; 7777;
5086finally { 7778finally {
5087 restoreStackSize(stackSize); 7779 restoreStackSize(stackSize);
5088} 7780}
5089 7781
5090rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 7782rule__AssertionOrDefinition__BodyAssignment_1_2_2
5091 @init { 7783 @init {
5092 int stackSize = keepStackSize(); 7784 int stackSize = keepStackSize();
5093 } 7785 }
5094: 7786:
5095 ( 7787 (
5096 { before(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0()); } 7788 { before(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); }
5097 ruleComplexObject 7789 ruleExpression
5098 { after(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0()); } 7790 { after(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); }
5099 ) 7791 )
5100; 7792;
5101finally { 7793finally {
5102 restoreStackSize(stackSize); 7794 restoreStackSize(stackSize);
5103} 7795}
5104 7796
5105rule__BasicInterpretation__ValueAssignment_3 7797rule__PredicateDefinition__FunctionalAssignment_0_0_0
5106 @init { 7798 @init {
5107 int stackSize = keepStackSize(); 7799 int stackSize = keepStackSize();
5108 } 7800 }
5109: 7801:
5110 ( 7802 (
5111 { before(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0()); } 7803 { before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); }
5112 ruleTruthValue 7804 (
5113 { after(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0()); } 7805 { before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); }
7806 'functional'
7807 { after(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); }
7808 )
7809 { after(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); }
5114 ) 7810 )
5115; 7811;
5116finally { 7812finally {
5117 restoreStackSize(stackSize); 7813 restoreStackSize(stackSize);
5118} 7814}
5119 7815
5120rule__ModelSymbol__NameAssignment 7816rule__PredicateDefinition__ErrorAssignment_0_0_1
5121 @init { 7817 @init {
5122 int stackSize = keepStackSize(); 7818 int stackSize = keepStackSize();
5123 } 7819 }
5124: 7820:
5125 ( 7821 (
5126 { before(grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0()); } 7822 { before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); }
5127 RULE_ID 7823 (
5128 { after(grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0()); } 7824 { before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); }
7825 'error'
7826 { after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); }
7827 )
7828 { after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); }
5129 ) 7829 )
5130; 7830;
5131finally { 7831finally {
5132 restoreStackSize(stackSize); 7832 restoreStackSize(stackSize);
5133} 7833}
5134 7834
5135rule__NamedObject__NameAssignment_1 7835rule__PredicateDefinition__ErrorAssignment_0_1_0
5136 @init { 7836 @init {
5137 int stackSize = keepStackSize(); 7837 int stackSize = keepStackSize();
5138 } 7838 }
5139: 7839:
5140 ( 7840 (
5141 { before(grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0()); } 7841 { before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); }
5142 RULE_ID 7842 (
5143 { after(grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0()); } 7843 { before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); }
7844 'error'
7845 { after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); }
7846 )
7847 { after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); }
5144 ) 7848 )
5145; 7849;
5146finally { 7850finally {
5147 restoreStackSize(stackSize); 7851 restoreStackSize(stackSize);
5148} 7852}
5149 7853
5150rule__UnnamedObject__NameAssignment 7854rule__PredicateDefinition__FunctionalAssignment_0_1_1
5151 @init { 7855 @init {
5152 int stackSize = keepStackSize(); 7856 int stackSize = keepStackSize();
5153 } 7857 }
5154: 7858:
5155 ( 7859 (
5156 { before(grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0()); } 7860 { before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); }
5157 RULE_ID 7861 (
5158 { after(grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0()); } 7862 { before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); }
7863 'functional'
7864 { after(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); }
7865 )
7866 { after(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); }
5159 ) 7867 )
5160; 7868;
5161finally { 7869finally {
5162 restoreStackSize(stackSize); 7870 restoreStackSize(stackSize);
5163} 7871}
5164 7872
5165rule__BooleanObject__ValueAssignment 7873rule__PredicateDefinition__HeadAssignment_1
5166 @init { 7874 @init {
5167 int stackSize = keepStackSize(); 7875 int stackSize = keepStackSize();
5168 } 7876 }
5169: 7877:
5170 ( 7878 (
5171 { before(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0()); } 7879 { before(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); }
5172 ruleBooleanValue 7880 ruleCall
5173 { after(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0()); } 7881 { after(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); }
5174 ) 7882 )
5175; 7883;
5176finally { 7884finally {
5177 restoreStackSize(stackSize); 7885 restoreStackSize(stackSize);
5178} 7886}
5179 7887
5180rule__IntObject__ValueAssignment 7888rule__PredicateDefinition__BodyAssignment_3
5181 @init { 7889 @init {
5182 int stackSize = keepStackSize(); 7890 int stackSize = keepStackSize();
5183 } 7891 }
5184: 7892:
5185 ( 7893 (
5186 { before(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0()); } 7894 { before(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); }
5187 ruleINTLiteral 7895 ruleExpression
5188 { after(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0()); } 7896 { after(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); }
5189 ) 7897 )
5190; 7898;
5191finally { 7899finally {
5192 restoreStackSize(stackSize); 7900 restoreStackSize(stackSize);
5193} 7901}
5194 7902
5195rule__RealObject__ValueAssignment 7903rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1
5196 @init { 7904 @init {
5197 int stackSize = keepStackSize(); 7905 int stackSize = keepStackSize();
5198 } 7906 }
5199: 7907:
5200 ( 7908 (
5201 { before(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0()); } 7909 { before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); }
5202 ruleREALLiteral 7910 ruleArgumentList
5203 { after(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0()); } 7911 { after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); }
5204 ) 7912 )
5205; 7913;
5206finally { 7914finally {
5207 restoreStackSize(stackSize); 7915 restoreStackSize(stackSize);
5208} 7916}
5209 7917
5210rule__StringObject__ValueAssignment 7918rule__UnnamedErrorPrediateDefinition__BodyAssignment_3
5211 @init { 7919 @init {
5212 int stackSize = keepStackSize(); 7920 int stackSize = keepStackSize();
5213 } 7921 }
5214: 7922:
5215 ( 7923 (
5216 { before(grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0()); } 7924 { before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); }
5217 RULE_STRING 7925 ruleExpression
5218 { after(grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0()); } 7926 { after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); }
5219 ) 7927 )
5220; 7928;
5221finally { 7929finally {
5222 restoreStackSize(stackSize); 7930 restoreStackSize(stackSize);
5223} 7931}
5224 7932
5225rule__Predicate__IsErrorAssignment_0 7933rule__DefaultDefinition__HeadAssignment_1
5226 @init { 7934 @init {
5227 int stackSize = keepStackSize(); 7935 int stackSize = keepStackSize();
5228 } 7936 }
5229: 7937:
5230 ( 7938 (
5231 { before(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); } 7939 { before(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); }
5232 ( 7940 ruleCall
5233 { before(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); } 7941 { after(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); }
5234 'error'
5235 { after(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); }
5236 )
5237 { after(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); }
5238 ) 7942 )
5239; 7943;
5240finally { 7944finally {
5241 restoreStackSize(stackSize); 7945 restoreStackSize(stackSize);
5242} 7946}
5243 7947
5244rule__Predicate__SymbolAssignment_1 7948rule__DefaultDefinition__RangeAssignment_3
5245 @init { 7949 @init {
5246 int stackSize = keepStackSize(); 7950 int stackSize = keepStackSize();
5247 } 7951 }
5248: 7952:
5249 ( 7953 (
5250 { before(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0()); } 7954 { before(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); }
5251 ruleModelSymbol 7955 ruleExpression
5252 { after(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0()); } 7956 { after(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); }
5253 ) 7957 )
5254; 7958;
5255finally { 7959finally {
5256 restoreStackSize(stackSize); 7960 restoreStackSize(stackSize);
5257} 7961}
5258 7962
5259rule__Predicate__ParametersAssignment_2_1_0 7963rule__ExternPredicateDefinition__HeadAssignment_1
5260 @init { 7964 @init {
5261 int stackSize = keepStackSize(); 7965 int stackSize = keepStackSize();
5262 } 7966 }
5263: 7967:
5264 ( 7968 (
5265 { before(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0()); } 7969 { before(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); }
5266 ruleParameter 7970 ruleCall
5267 { after(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0()); } 7971 { after(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); }
5268 ) 7972 )
5269; 7973;
5270finally { 7974finally {
5271 restoreStackSize(stackSize); 7975 restoreStackSize(stackSize);
5272} 7976}
5273 7977
5274rule__Predicate__ParametersAssignment_2_1_1_1 7978rule__MetricDefinition__TypeAssignment_0
5275 @init { 7979 @init {
5276 int stackSize = keepStackSize(); 7980 int stackSize = keepStackSize();
5277 } 7981 }
5278: 7982:
5279 ( 7983 (
5280 { before(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0()); } 7984 { before(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); }
5281 ruleParameter 7985 ruleMetricType
5282 { after(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0()); } 7986 { after(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); }
5283 ) 7987 )
5284; 7988;
5285finally { 7989finally {
5286 restoreStackSize(stackSize); 7990 restoreStackSize(stackSize);
5287} 7991}
5288 7992
5289rule__Predicate__BodiesAssignment_4_1_0 7993rule__MetricDefinition__HeadAssignment_1
5290 @init { 7994 @init {
5291 int stackSize = keepStackSize(); 7995 int stackSize = keepStackSize();
5292 } 7996 }
5293: 7997:
5294 ( 7998 (
5295 { before(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0()); } 7999 { before(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); }
5296 rulePatternBody 8000 ruleExpression
5297 { after(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0()); } 8001 { after(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); }
5298 ) 8002 )
5299; 8003;
5300finally { 8004finally {
5301 restoreStackSize(stackSize); 8005 restoreStackSize(stackSize);
5302} 8006}
5303 8007
5304rule__Predicate__BodiesAssignment_4_1_1_1 8008rule__MetricDefinition__BodyAssignment_3
5305 @init { 8009 @init {
5306 int stackSize = keepStackSize(); 8010 int stackSize = keepStackSize();
5307 } 8011 }
5308: 8012:
5309 ( 8013 (
5310 { before(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0()); } 8014 { before(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); }
5311 rulePatternBody 8015 ruleExpression
5312 { after(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0()); } 8016 { after(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); }
5313 ) 8017 )
5314; 8018;
5315finally { 8019finally {
5316 restoreStackSize(stackSize); 8020 restoreStackSize(stackSize);
5317} 8021}
5318 8022
5319rule__Parameter__VariableAssignment_0 8023rule__ExternMetricDefinition__TypeAssignment_1
5320 @init { 8024 @init {
5321 int stackSize = keepStackSize(); 8025 int stackSize = keepStackSize();
5322 } 8026 }
5323: 8027:
5324 ( 8028 (
5325 { before(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0()); } 8029 { before(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); }
5326 ruleVariable 8030 ruleMetricType
5327 { after(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0()); } 8031 { after(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); }
5328 ) 8032 )
5329; 8033;
5330finally { 8034finally {
5331 restoreStackSize(stackSize); 8035 restoreStackSize(stackSize);
5332} 8036}
5333 8037
5334rule__Parameter__TypeAssignment_1_1 8038rule__ExternMetricDefinition__HeadAssignment_2
5335 @init { 8039 @init {
5336 int stackSize = keepStackSize(); 8040 int stackSize = keepStackSize();
5337 } 8041 }
5338: 8042:
5339 ( 8043 (
5340 { before(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0()); } 8044 { before(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); }
5341 ruleSymbol 8045 ruleCall
5342 { after(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0()); } 8046 { after(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); }
5343 ) 8047 )
5344; 8048;
5345finally { 8049finally {
5346 restoreStackSize(stackSize); 8050 restoreStackSize(stackSize);
5347} 8051}
5348 8052
5349rule__PatternBody__ConstraintsAssignment_1_1 8053rule__IfElse__ConditionAssignment_1
5350 @init { 8054 @init {
5351 int stackSize = keepStackSize(); 8055 int stackSize = keepStackSize();
5352 } 8056 }
5353: 8057:
5354 ( 8058 (
5355 { before(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0()); } 8059 { before(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); }
5356 ruleConstraint 8060 ruleExpression
5357 { after(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0()); } 8061 { after(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); }
5358 ) 8062 )
5359; 8063;
5360finally { 8064finally {
5361 restoreStackSize(stackSize); 8065 restoreStackSize(stackSize);
5362} 8066}
5363 8067
5364rule__Constraint__PolarityAssignment_0_0 8068rule__IfElse__ThenAssignment_3
5365 @init { 8069 @init {
5366 int stackSize = keepStackSize(); 8070 int stackSize = keepStackSize();
5367 } 8071 }
5368: 8072:
5369 ( 8073 (
5370 { before(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0()); } 8074 { before(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); }
5371 rulePolarity 8075 ruleExpression
5372 { after(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0()); } 8076 { after(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); }
5373 ) 8077 )
5374; 8078;
5375finally { 8079finally {
5376 restoreStackSize(stackSize); 8080 restoreStackSize(stackSize);
5377} 8081}
5378 8082
5379rule__Constraint__SymbolAssignment_0_1 8083rule__IfElse__ElseAssignment_5
5380 @init { 8084 @init {
5381 int stackSize = keepStackSize(); 8085 int stackSize = keepStackSize();
5382 } 8086 }
5383: 8087:
5384 ( 8088 (
5385 { before(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0()); } 8089 { before(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); }
5386 ruleModelSymbol 8090 ruleExpression
5387 { after(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0()); } 8091 { after(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); }
5388 ) 8092 )
5389; 8093;
5390finally { 8094finally {
5391 restoreStackSize(stackSize); 8095 restoreStackSize(stackSize);
5392} 8096}
5393 8097
5394rule__Constraint__ParamsAssignment_0_2_1 8098rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1
5395 @init { 8099 @init {
5396 int stackSize = keepStackSize(); 8100 int stackSize = keepStackSize();
5397 } 8101 }
5398: 8102:
5399 ( 8103 (
5400 { before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0()); } 8104 { before(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); }
5401 ruleLiteral 8105 ruleConjunctiveExpression
5402 { after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0()); } 8106 { after(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); }
5403 ) 8107 )
5404; 8108;
5405finally { 8109finally {
5406 restoreStackSize(stackSize); 8110 restoreStackSize(stackSize);
5407} 8111}
5408 8112
5409rule__Constraint__ParamsAssignment_0_2_2_1 8113rule__DisjunctiveExpression__BodyAssignment_1_1_2
5410 @init { 8114 @init {
5411 int stackSize = keepStackSize(); 8115 int stackSize = keepStackSize();
5412 } 8116 }
5413: 8117:
5414 ( 8118 (
5415 { before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0()); } 8119 { before(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); }
5416 ruleLiteral 8120 ruleConjunctiveExpression
5417 { after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0()); } 8121 { after(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); }
5418 ) 8122 )
5419; 8123;
5420finally { 8124finally {
5421 restoreStackSize(stackSize); 8125 restoreStackSize(stackSize);
5422} 8126}
5423 8127
5424rule__Constraint__ClosureTypeAssignment_1_0 8128rule__DisjunctiveExpression__CasesAssignment_1_1_4_1
5425 @init { 8129 @init {
5426 int stackSize = keepStackSize(); 8130 int stackSize = keepStackSize();
5427 } 8131 }
5428: 8132:
5429 ( 8133 (
5430 { before(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0()); } 8134 { before(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); }
5431 ruleClosureType 8135 ruleCase
5432 { after(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0()); } 8136 { after(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); }
5433 ) 8137 )
5434; 8138;
5435finally { 8139finally {
5436 restoreStackSize(stackSize); 8140 restoreStackSize(stackSize);
5437} 8141}
5438 8142
5439rule__Constraint__ParamsAssignment_1_2 8143rule__Case__ConditionAssignment_0
5440 @init { 8144 @init {
5441 int stackSize = keepStackSize(); 8145 int stackSize = keepStackSize();
5442 } 8146 }
5443: 8147:
5444 ( 8148 (
5445 { before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0()); } 8149 { before(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); }
5446 ruleLiteral 8150 ruleConjunctiveExpression
5447 { after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0()); } 8151 { after(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); }
5448 ) 8152 )
5449; 8153;
5450finally { 8154finally {
5451 restoreStackSize(stackSize); 8155 restoreStackSize(stackSize);
5452} 8156}
5453 8157
5454rule__Constraint__ParamsAssignment_1_3_1 8158rule__Case__BodyAssignment_2
5455 @init { 8159 @init {
5456 int stackSize = keepStackSize(); 8160 int stackSize = keepStackSize();
5457 } 8161 }
5458: 8162:
5459 ( 8163 (
5460 { before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0()); } 8164 { before(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); }
5461 ruleLiteral 8165 ruleConjunctiveExpression
5462 { after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0()); } 8166 { after(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); }
5463 ) 8167 )
5464; 8168;
5465finally { 8169finally {
5466 restoreStackSize(stackSize); 8170 restoreStackSize(stackSize);
5467} 8171}
5468 8172
5469rule__Variable__NameAssignment 8173rule__ConjunctiveExpression__ChildrenAssignment_1_1_1
5470 @init { 8174 @init {
5471 int stackSize = keepStackSize(); 8175 int stackSize = keepStackSize();
5472 } 8176 }
5473: 8177:
5474 ( 8178 (
5475 { before(grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0()); } 8179 { before(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); }
5476 RULE_ID 8180 ruleComparisonExpression
5477 { after(grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0()); } 8181 { after(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); }
8182 )
8183;
8184finally {
8185 restoreStackSize(stackSize);
8186}
8187
8188rule__ComparisonExpression__OpAssignment_1_1
8189 @init {
8190 int stackSize = keepStackSize();
8191 }
8192:
8193 (
8194 { before(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); }
8195 ruleComparisonOperator
8196 { after(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); }
5478 ) 8197 )
5479; 8198;
5480finally { 8199finally {
5481 restoreStackSize(stackSize); 8200 restoreStackSize(stackSize);
5482} 8201}
5483 8202
5484rule__AllInstances__SymbolAssignment_1 8203rule__ComparisonExpression__RightAssignment_1_2
5485 @init { 8204 @init {
5486 int stackSize = keepStackSize(); 8205 int stackSize = keepStackSize();
5487 } 8206 }
5488: 8207:
5489 ( 8208 (
5490 { before(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0()); } 8209 { before(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); }
5491 ruleSymbol 8210 ruleAdditiveExpression
5492 { after(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0()); } 8211 { after(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); }
5493 ) 8212 )
5494; 8213;
5495finally { 8214finally {
5496 restoreStackSize(stackSize); 8215 restoreStackSize(stackSize);
5497} 8216}
5498 8217
5499rule__DefaultInterpretation__InterpretationAssignment_1 8218rule__AdditiveExpression__OpAssignment_1_1
5500 @init { 8219 @init {
5501 int stackSize = keepStackSize(); 8220 int stackSize = keepStackSize();
5502 } 8221 }
5503: 8222:
5504 ( 8223 (
5505 { before(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0()); } 8224 { before(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); }
5506 ruleBasicInterpretation 8225 ruleAdditiveBinaryOperator
5507 { after(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0()); } 8226 { after(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); }
5508 ) 8227 )
5509; 8228;
5510finally { 8229finally {
5511 restoreStackSize(stackSize); 8230 restoreStackSize(stackSize);
5512} 8231}
5513 8232
5514rule__ClassInterpretation__AbstractAssignment_0 8233rule__AdditiveExpression__RightAssignment_1_2
5515 @init { 8234 @init {
5516 int stackSize = keepStackSize(); 8235 int stackSize = keepStackSize();
5517 } 8236 }
5518: 8237:
5519 ( 8238 (
5520 { before(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); } 8239 { before(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); }
8240 ruleMultiplicativeExpression
8241 { after(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); }
8242 )
8243;
8244finally {
8245 restoreStackSize(stackSize);
8246}
8247
8248rule__MultiplicativeExpression__OpAssignment_1_1
8249 @init {
8250 int stackSize = keepStackSize();
8251 }
8252:
8253 (
8254 { before(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); }
8255 ruleMultiplicativeBinaryOperator
8256 { after(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); }
8257 )
8258;
8259finally {
8260 restoreStackSize(stackSize);
8261}
8262
8263rule__MultiplicativeExpression__RightAssignment_1_2
8264 @init {
8265 int stackSize = keepStackSize();
8266 }
8267:
8268 (
8269 { before(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); }
8270 ruleExponentialExpression
8271 { after(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); }
8272 )
8273;
8274finally {
8275 restoreStackSize(stackSize);
8276}
8277
8278rule__ExponentialExpression__OpAssignment_1_1
8279 @init {
8280 int stackSize = keepStackSize();
8281 }
8282:
8283 (
8284 { before(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); }
8285 ruleExponentialOp
8286 { after(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); }
8287 )
8288;
8289finally {
8290 restoreStackSize(stackSize);
8291}
8292
8293rule__ExponentialExpression__RightAssignment_1_2
8294 @init {
8295 int stackSize = keepStackSize();
8296 }
8297:
8298 (
8299 { before(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); }
8300 ruleExponentialExpression
8301 { after(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); }
8302 )
8303;
8304finally {
8305 restoreStackSize(stackSize);
8306}
8307
8308rule__UnaryExpression__OpAssignment_1_1
8309 @init {
8310 int stackSize = keepStackSize();
8311 }
8312:
8313 (
8314 { before(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); }
8315 ruleUnaryOp
8316 { after(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); }
8317 )
8318;
8319finally {
8320 restoreStackSize(stackSize);
8321}
8322
8323rule__UnaryExpression__BodyAssignment_1_2
8324 @init {
8325 int stackSize = keepStackSize();
8326 }
8327:
8328 (
8329 { before(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); }
8330 ruleAggregationExpression
8331 { after(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); }
8332 )
8333;
8334finally {
8335 restoreStackSize(stackSize);
8336}
8337
8338rule__Count__BodyAssignment_2
8339 @init {
8340 int stackSize = keepStackSize();
8341 }
8342:
8343 (
8344 { before(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); }
8345 ruleExpression
8346 { after(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); }
8347 )
8348;
8349finally {
8350 restoreStackSize(stackSize);
8351}
8352
8353rule__Aggregation__OpAssignment_0
8354 @init {
8355 int stackSize = keepStackSize();
8356 }
8357:
8358 (
8359 { before(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); }
8360 ruleAggregationOp
8361 { after(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); }
8362 )
8363;
8364finally {
8365 restoreStackSize(stackSize);
8366}
8367
8368rule__Aggregation__BodyAssignment_2
8369 @init {
8370 int stackSize = keepStackSize();
8371 }
8372:
8373 (
8374 { before(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); }
8375 ruleExpression
8376 { after(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); }
8377 )
8378;
8379finally {
8380 restoreStackSize(stackSize);
8381}
8382
8383rule__Aggregation__ConditionAssignment_4
8384 @init {
8385 int stackSize = keepStackSize();
8386 }
8387:
8388 (
8389 { before(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); }
8390 ruleExpression
8391 { after(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); }
8392 )
8393;
8394finally {
8395 restoreStackSize(stackSize);
8396}
8397
8398rule__AtomicExpression__ArgumentListAssignment_0_1_1
8399 @init {
8400 int stackSize = keepStackSize();
8401 }
8402:
8403 (
8404 { before(grammarAccess.getAtomicExpressionAccess().getArgumentListArgumentListParserRuleCall_0_1_1_0()); }
8405 ruleArgumentList
8406 { after(grammarAccess.getAtomicExpressionAccess().getArgumentListArgumentListParserRuleCall_0_1_1_0()); }
8407 )
8408;
8409finally {
8410 restoreStackSize(stackSize);
8411}
8412
8413rule__Call__FunctorAssignment_0
8414 @init {
8415 int stackSize = keepStackSize();
8416 }
8417:
8418 (
8419 { before(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); }
8420 ruleReference
8421 { after(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); }
8422 )
8423;
8424finally {
8425 restoreStackSize(stackSize);
8426}
8427
8428rule__Call__TransitiveClosureAssignment_1_0
8429 @init {
8430 int stackSize = keepStackSize();
8431 }
8432:
8433 (
8434 { before(grammarAccess.getCallAccess().getTransitiveClosureSTARTerminalRuleCall_1_0_0()); }
8435 RULE_STAR
8436 { after(grammarAccess.getCallAccess().getTransitiveClosureSTARTerminalRuleCall_1_0_0()); }
8437 )
8438;
8439finally {
8440 restoreStackSize(stackSize);
8441}
8442
8443rule__Call__ReflexiveTransitiveClosureAssignment_1_1
8444 @init {
8445 int stackSize = keepStackSize();
8446 }
8447:
8448 (
8449 { before(grammarAccess.getCallAccess().getReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0()); }
8450 RULE_PLUS
8451 { after(grammarAccess.getCallAccess().getReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0()); }
8452 )
8453;
8454finally {
8455 restoreStackSize(stackSize);
8456}
8457
8458rule__Call__ArgumentListAssignment_2
8459 @init {
8460 int stackSize = keepStackSize();
8461 }
8462:
8463 (
8464 { before(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); }
8465 ruleArgumentList
8466 { after(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); }
8467 )
8468;
8469finally {
8470 restoreStackSize(stackSize);
8471}
8472
8473rule__ArgumentList__ArgumentsAssignment_2_0
8474 @init {
8475 int stackSize = keepStackSize();
8476 }
8477:
8478 (
8479 { before(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); }
8480 ruleArgument
8481 { after(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); }
8482 )
8483;
8484finally {
8485 restoreStackSize(stackSize);
8486}
8487
8488rule__ArgumentList__ArgumentsAssignment_2_1_1
8489 @init {
8490 int stackSize = keepStackSize();
8491 }
8492:
8493 (
8494 { before(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); }
8495 ruleArgument
8496 { after(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); }
8497 )
8498;
8499finally {
8500 restoreStackSize(stackSize);
8501}
8502
8503rule__ExpressionArgument__BodyAssignment
8504 @init {
8505 int stackSize = keepStackSize();
8506 }
8507:
8508 (
8509 { before(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); }
8510 ruleComparisonExpression
8511 { after(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); }
8512 )
8513;
8514finally {
8515 restoreStackSize(stackSize);
8516}
8517
8518rule__TypedArgument__TypeAssignment_0
8519 @init {
8520 int stackSize = keepStackSize();
8521 }
8522:
8523 (
8524 { before(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0()); }
8525 (
8526 { before(grammarAccess.getTypedArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); }
8527 ruleQualifiedName
8528 { after(grammarAccess.getTypedArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); }
8529 )
8530 { after(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0()); }
8531 )
8532;
8533finally {
8534 restoreStackSize(stackSize);
8535}
8536
8537rule__TypedArgument__VariableAssignment_1
8538 @init {
8539 int stackSize = keepStackSize();
8540 }
8541:
8542 (
8543 { before(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0()); }
8544 (
8545 { before(grammarAccess.getTypedArgumentAccess().getVariableNamedElementQualifiedNameParserRuleCall_1_0_1()); }
8546 ruleQualifiedName
8547 { after(grammarAccess.getTypedArgumentAccess().getVariableNamedElementQualifiedNameParserRuleCall_1_0_1()); }
8548 )
8549 { after(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0()); }
8550 )
8551;
8552finally {
8553 restoreStackSize(stackSize);
8554}
8555
8556rule__TypedStarArgument__TypeAssignment_0
8557 @init {
8558 int stackSize = keepStackSize();
8559 }
8560:
8561 (
8562 { before(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); }
8563 (
8564 { before(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); }
8565 ruleQualifiedName
8566 { after(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); }
8567 )
8568 { after(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); }
8569 )
8570;
8571finally {
8572 restoreStackSize(stackSize);
8573}
8574
8575rule__Reference__ReferredAssignment
8576 @init {
8577 int stackSize = keepStackSize();
8578 }
8579:
8580 (
8581 { before(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); }
5521 ( 8582 (
5522 { before(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); } 8583 { before(grammarAccess.getReferenceAccess().getReferredNamedElementQualifiedNameParserRuleCall_0_1()); }
8584 ruleQualifiedName
8585 { after(grammarAccess.getReferenceAccess().getReferredNamedElementQualifiedNameParserRuleCall_0_1()); }
8586 )
8587 { after(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); }
8588 )
8589;
8590finally {
8591 restoreStackSize(stackSize);
8592}
8593
8594rule__Interval__LowerBoundAssignment_1
8595 @init {
8596 int stackSize = keepStackSize();
8597 }
8598:
8599 (
8600 { before(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); }
8601 ruleExpression
8602 { after(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); }
8603 )
8604;
8605finally {
8606 restoreStackSize(stackSize);
8607}
8608
8609rule__Interval__UpperBoundAssignment_3
8610 @init {
8611 int stackSize = keepStackSize();
8612 }
8613:
8614 (
8615 { before(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); }
8616 ruleExpression
8617 { after(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); }
8618 )
8619;
8620finally {
8621 restoreStackSize(stackSize);
8622}
8623
8624rule__LogicLiteral__ValueAssignment
8625 @init {
8626 int stackSize = keepStackSize();
8627 }
8628:
8629 (
8630 { before(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); }
8631 ruleLogicValue
8632 { after(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); }
8633 )
8634;
8635finally {
8636 restoreStackSize(stackSize);
8637}
8638
8639rule__NumericLiteral__ValueAssignment
8640 @init {
8641 int stackSize = keepStackSize();
8642 }
8643:
8644 (
8645 { before(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); }
8646 ruleReal
8647 { after(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); }
8648 )
8649;
8650finally {
8651 restoreStackSize(stackSize);
8652}
8653
8654rule__StringLiteral__ValueAssignment
8655 @init {
8656 int stackSize = keepStackSize();
8657 }
8658:
8659 (
8660 { before(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0()); }
8661 RULE_STRING
8662 { after(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0()); }
8663 )
8664;
8665finally {
8666 restoreStackSize(stackSize);
8667}
8668
8669rule__ClassDefinition__AbstractAssignment_0
8670 @init {
8671 int stackSize = keepStackSize();
8672 }
8673:
8674 (
8675 { before(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); }
8676 (
8677 { before(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); }
5523 'abstract' 8678 'abstract'
5524 { after(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); } 8679 { after(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); }
8680 )
8681 { after(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); }
8682 )
8683;
8684finally {
8685 restoreStackSize(stackSize);
8686}
8687
8688rule__ClassDefinition__NameAssignment_2
8689 @init {
8690 int stackSize = keepStackSize();
8691 }
8692:
8693 (
8694 { before(grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); }
8695 RULE_ID
8696 { after(grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); }
8697 )
8698;
8699finally {
8700 restoreStackSize(stackSize);
8701}
8702
8703rule__ClassDefinition__SuperclassesAssignment_3_1
8704 @init {
8705 int stackSize = keepStackSize();
8706 }
8707:
8708 (
8709 { before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); }
8710 (
8711 { before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1()); }
8712 ruleQualifiedName
8713 { after(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1()); }
8714 )
8715 { after(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); }
8716 )
8717;
8718finally {
8719 restoreStackSize(stackSize);
8720}
8721
8722rule__ClassDefinition__SuperclassesAssignment_3_2_1
8723 @init {
8724 int stackSize = keepStackSize();
8725 }
8726:
8727 (
8728 { before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); }
8729 (
8730 { before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1()); }
8731 ruleQualifiedName
8732 { after(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1()); }
5525 ) 8733 )
5526 { after(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); } 8734 { after(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); }
5527 ) 8735 )
5528; 8736;
5529finally { 8737finally {
5530 restoreStackSize(stackSize); 8738 restoreStackSize(stackSize);
5531} 8739}
5532 8740
5533rule__ClassInterpretation__SymbolAssignment_2 8741rule__ClassDefinition__MembersAssignment_5
5534 @init { 8742 @init {
5535 int stackSize = keepStackSize(); 8743 int stackSize = keepStackSize();
5536 } 8744 }
5537: 8745:
5538 ( 8746 (
5539 { before(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); } 8747 { before(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); }
5540 ruleModelSymbol 8748 ruleMemberDefinition
5541 { after(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); } 8749 { after(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); }
5542 ) 8750 )
5543; 8751;
5544finally { 8752finally {
5545 restoreStackSize(stackSize); 8753 restoreStackSize(stackSize);
5546} 8754}
5547 8755
5548rule__ClassInterpretation__SupertypesAssignment_3_1 8756rule__MemberDefinition__ContainmentAssignment_0
5549 @init { 8757 @init {
5550 int stackSize = keepStackSize(); 8758 int stackSize = keepStackSize();
5551 } 8759 }
5552: 8760:
5553 ( 8761 (
5554 { before(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0()); } 8762 { before(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); }
5555 ruleModelSymbol 8763 (
5556 { after(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0()); } 8764 { before(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); }
8765 'contains'
8766 { after(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); }
8767 )
8768 { after(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); }
5557 ) 8769 )
5558; 8770;
5559finally { 8771finally {
5560 restoreStackSize(stackSize); 8772 restoreStackSize(stackSize);
5561} 8773}
5562 8774
5563rule__ClassInterpretation__FieltAssignment_5 8775rule__MemberDefinition__TypeAssignment_1
5564 @init { 8776 @init {
5565 int stackSize = keepStackSize(); 8777 int stackSize = keepStackSize();
5566 } 8778 }
5567: 8779:
5568 ( 8780 (
5569 { before(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0()); } 8781 { before(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); }
5570 ruleFieldRelationInterpretation 8782 (
5571 { after(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0()); } 8783 { before(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); }
8784 ruleQualifiedName
8785 { after(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); }
8786 )
8787 { after(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); }
5572 ) 8788 )
5573; 8789;
5574finally { 8790finally {
5575 restoreStackSize(stackSize); 8791 restoreStackSize(stackSize);
5576} 8792}
5577 8793
5578rule__EnumInterpretation__SymbolAssignment_1 8794rule__MemberDefinition__MultiplicityAssignment_2
5579 @init { 8795 @init {
5580 int stackSize = keepStackSize(); 8796 int stackSize = keepStackSize();
5581 } 8797 }
5582: 8798:
5583 ( 8799 (
5584 { before(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); } 8800 { before(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); }
5585 ruleModelSymbol 8801 ruleMultiplicity
5586 { after(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); } 8802 { after(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); }
5587 ) 8803 )
5588; 8804;
5589finally { 8805finally {
5590 restoreStackSize(stackSize); 8806 restoreStackSize(stackSize);
5591} 8807}
5592 8808
5593rule__EnumInterpretation__ObjectsAssignment_3 8809rule__MemberDefinition__NameAssignment_3
5594 @init { 8810 @init {
5595 int stackSize = keepStackSize(); 8811 int stackSize = keepStackSize();
5596 } 8812 }
5597: 8813:
5598 ( 8814 (
5599 { before(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0()); } 8815 { before(grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); }
5600 ruleNamedObject 8816 RULE_ID
5601 { after(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0()); } 8817 { after(grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); }
5602 ) 8818 )
5603; 8819;
5604finally { 8820finally {
5605 restoreStackSize(stackSize); 8821 restoreStackSize(stackSize);
5606} 8822}
5607 8823
5608rule__FieldRelationInterpretation__ContainmentAssignment_0 8824rule__MemberDefinition__OppositeAssignment_4_1
5609 @init { 8825 @init {
5610 int stackSize = keepStackSize(); 8826 int stackSize = keepStackSize();
5611 } 8827 }
5612: 8828:
5613 ( 8829 (
5614 { before(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } 8830 { before(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); }
5615 ( 8831 (
5616 { before(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } 8832 { before(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1()); }
5617 'containment' 8833 ruleQualifiedName
5618 { after(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } 8834 { after(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1()); }
5619 ) 8835 )
5620 { after(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } 8836 { after(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); }
5621 ) 8837 )
5622; 8838;
5623finally { 8839finally {
5624 restoreStackSize(stackSize); 8840 restoreStackSize(stackSize);
5625} 8841}
5626 8842
5627rule__FieldRelationInterpretation__SymbolAssignment_1 8843rule__ExactMultiplicity__MultiplicityAssignment_1
5628 @init { 8844 @init {
5629 int stackSize = keepStackSize(); 8845 int stackSize = keepStackSize();
5630 } 8846 }
5631: 8847:
5632 ( 8848 (
5633 { before(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); } 8849 { before(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); }
5634 ruleModelSymbol 8850 ruleUpperMultiplicty
5635 { after(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); } 8851 { after(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); }
5636 ) 8852 )
5637; 8853;
5638finally { 8854finally {
5639 restoreStackSize(stackSize); 8855 restoreStackSize(stackSize);
5640} 8856}
5641 8857
5642rule__FieldRelationInterpretation__MultiplicityAssignment_3 8858rule__BoundedMultiplicity__LowerBoundAssignment_1
5643 @init { 8859 @init {
5644 int stackSize = keepStackSize(); 8860 int stackSize = keepStackSize();
5645 } 8861 }
5646: 8862:
5647 ( 8863 (
5648 { before(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0()); } 8864 { before(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); }
5649 ruleMultiplicityDefinition 8865 RULE_INT
5650 { after(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0()); } 8866 { after(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); }
5651 ) 8867 )
5652; 8868;
5653finally { 8869finally {
5654 restoreStackSize(stackSize); 8870 restoreStackSize(stackSize);
5655} 8871}
5656 8872
5657rule__FieldRelationInterpretation__TargetAssignment_4 8873rule__BoundedMultiplicity__UpperBoundAssignment_3
5658 @init { 8874 @init {
5659 int stackSize = keepStackSize(); 8875 int stackSize = keepStackSize();
5660 } 8876 }
5661: 8877:
5662 ( 8878 (
5663 { before(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0()); } 8879 { before(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); }
5664 ruleSymbol 8880 ruleUpperMultiplicty
5665 { after(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0()); } 8881 { after(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); }
5666 ) 8882 )
5667; 8883;
5668finally { 8884finally {
5669 restoreStackSize(stackSize); 8885 restoreStackSize(stackSize);
5670} 8886}
5671 8887
5672rule__GlobalRelationInterpretation__ContainmentAssignment_0 8888rule__ExactScopeDefinition__TypeAssignment_1
5673 @init { 8889 @init {
5674 int stackSize = keepStackSize(); 8890 int stackSize = keepStackSize();
5675 } 8891 }
5676: 8892:
5677 ( 8893 (
5678 { before(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } 8894 { before(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); }
5679 ( 8895 (
5680 { before(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } 8896 { before(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); }
5681 'containment' 8897 ruleQualifiedName
5682 { after(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } 8898 { after(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); }
5683 ) 8899 )
5684 { after(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } 8900 { after(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); }
5685 ) 8901 )
5686; 8902;
5687finally { 8903finally {
5688 restoreStackSize(stackSize); 8904 restoreStackSize(stackSize);
5689} 8905}
5690 8906
5691rule__GlobalRelationInterpretation__SymbolAssignment_2 8907rule__ExactScopeDefinition__ExactScopeAssignment_3
5692 @init { 8908 @init {
5693 int stackSize = keepStackSize(); 8909 int stackSize = keepStackSize();
5694 } 8910 }
5695: 8911:
5696 ( 8912 (
5697 { before(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); } 8913 { before(grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); }
5698 ruleModelSymbol 8914 RULE_INT
5699 { after(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); } 8915 { after(grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); }
5700 ) 8916 )
5701; 8917;
5702finally { 8918finally {
5703 restoreStackSize(stackSize); 8919 restoreStackSize(stackSize);
5704} 8920}
5705 8921
5706rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 8922rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0
5707 @init { 8923 @init {
5708 int stackSize = keepStackSize(); 8924 int stackSize = keepStackSize();
5709 } 8925 }
5710: 8926:
5711 ( 8927 (
5712 { before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0()); } 8928 { before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); }
5713 ruleMultiplicityDefinition 8929 RULE_INT
5714 { after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0()); } 8930 { after(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); }
5715 ) 8931 )
5716; 8932;
5717finally { 8933finally {
5718 restoreStackSize(stackSize); 8934 restoreStackSize(stackSize);
5719} 8935}
5720 8936
5721rule__GlobalRelationInterpretation__SourceAssignment_5 8937rule__BoundedScopeDefinition__TypeAssignment_1_0_1
5722 @init { 8938 @init {
5723 int stackSize = keepStackSize(); 8939 int stackSize = keepStackSize();
5724 } 8940 }
5725: 8941:
5726 ( 8942 (
5727 { before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0()); } 8943 { before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); }
5728 ruleSymbol 8944 (
5729 { after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0()); } 8945 { before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1()); }
8946 ruleQualifiedName
8947 { after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1()); }
8948 )
8949 { after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); }
5730 ) 8950 )
5731; 8951;
5732finally { 8952finally {
5733 restoreStackSize(stackSize); 8953 restoreStackSize(stackSize);
5734} 8954}
5735 8955
5736rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 8956rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3
5737 @init { 8957 @init {
5738 int stackSize = keepStackSize(); 8958 int stackSize = keepStackSize();
5739 } 8959 }
5740: 8960:
5741 ( 8961 (
5742 { before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0()); } 8962 { before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); }
5743 ruleMultiplicityDefinition 8963 RULE_INT
5744 { after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0()); } 8964 { after(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); }
5745 ) 8965 )
5746; 8966;
5747finally { 8967finally {
5748 restoreStackSize(stackSize); 8968 restoreStackSize(stackSize);
5749} 8969}
5750 8970
5751rule__GlobalRelationInterpretation__TargetAssignment_7 8971rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0
5752 @init { 8972 @init {
5753 int stackSize = keepStackSize(); 8973 int stackSize = keepStackSize();
5754 } 8974 }
5755: 8975:
5756 ( 8976 (
5757 { before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0()); } 8977 { before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); }
5758 ruleSymbol 8978 RULE_INT
5759 { after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0()); } 8979 { after(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); }
5760 ) 8980 )
5761; 8981;
5762finally { 8982finally {
5763 restoreStackSize(stackSize); 8983 restoreStackSize(stackSize);
5764} 8984}
5765 8985
5766rule__MultiplicityDefinition__LowerAssignment_0 8986rule__BoundedScopeDefinition__TypeAssignment_1_1_2
5767 @init { 8987 @init {
5768 int stackSize = keepStackSize(); 8988 int stackSize = keepStackSize();
5769 } 8989 }
5770: 8990:
5771 ( 8991 (
5772 { before(grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0()); } 8992 { before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); }
8993 (
8994 { before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1()); }
8995 ruleQualifiedName
8996 { after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1()); }
8997 )
8998 { after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); }
8999 )
9000;
9001finally {
9002 restoreStackSize(stackSize);
9003}
9004
9005rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1
9006 @init {
9007 int stackSize = keepStackSize();
9008 }
9009:
9010 (
9011 { before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); }
5773 RULE_INT 9012 RULE_INT
5774 { after(grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0()); } 9013 { after(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); }
5775 ) 9014 )
5776; 9015;
5777finally { 9016finally {
5778 restoreStackSize(stackSize); 9017 restoreStackSize(stackSize);
5779} 9018}
5780 9019
5781rule__MultiplicityDefinition__UpperAssignment_2_0 9020rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0
5782 @init { 9021 @init {
5783 int stackSize = keepStackSize(); 9022 int stackSize = keepStackSize();
5784 } 9023 }
5785: 9024:
5786 ( 9025 (
5787 { before(grammarAccess.getMultiplicityDefinitionAccess().getUpperINTTerminalRuleCall_2_0_0()); } 9026 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); }
5788 RULE_INT 9027 RULE_INT
5789 { after(grammarAccess.getMultiplicityDefinitionAccess().getUpperINTTerminalRuleCall_2_0_0()); } 9028 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); }
9029 )
9030;
9031finally {
9032 restoreStackSize(stackSize);
9033}
9034
9035rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2
9036 @init {
9037 int stackSize = keepStackSize();
9038 }
9039:
9040 (
9041 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); }
9042 (
9043 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1()); }
9044 ruleQualifiedName
9045 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1()); }
9046 )
9047 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); }
5790 ) 9048 )
5791; 9049;
5792finally { 9050finally {
5793 restoreStackSize(stackSize); 9051 restoreStackSize(stackSize);
5794} 9052}
5795 9053
5796rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 9054rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0
5797 @init { 9055 @init {
5798 int stackSize = keepStackSize(); 9056 int stackSize = keepStackSize();
5799 } 9057 }
5800: 9058:
5801 ( 9059 (
5802 { before(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); } 9060 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); }
5803 ( 9061 (
5804 { before(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); } 9062 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1()); }
5805 '*' 9063 ruleQualifiedName
5806 { after(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); } 9064 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1()); }
5807 ) 9065 )
5808 { after(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); } 9066 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); }
9067 )
9068;
9069finally {
9070 restoreStackSize(stackSize);
9071}
9072
9073rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2
9074 @init {
9075 int stackSize = keepStackSize();
9076 }
9077:
9078 (
9079 { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); }
9080 RULE_INT
9081 { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); }
9082 )
9083;
9084finally {
9085 restoreStackSize(stackSize);
9086}
9087
9088rule__ObjectiveDefinition__KindAssignment_0
9089 @init {
9090 int stackSize = keepStackSize();
9091 }
9092:
9093 (
9094 { before(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); }
9095 ruleObjectiveKind
9096 { after(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); }
9097 )
9098;
9099finally {
9100 restoreStackSize(stackSize);
9101}
9102
9103rule__ObjectiveDefinition__ObjectiveAssignment_1
9104 @init {
9105 int stackSize = keepStackSize();
9106 }
9107:
9108 (
9109 { before(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); }
9110 ruleExpression
9111 { after(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); }
5809 ) 9112 )
5810; 9113;
5811finally { 9114finally {
@@ -5814,6 +9117,14 @@ finally {
5814 9117
5815RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"'; 9118RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"';
5816 9119
9120RULE_QUOTED_ID : '\'' ('\\' .|~(('\\'|'\'')))* '\'';
9121
9122RULE_PLUS : 'synthetic::plus';
9123
9124RULE_STAR : 'synthetic::star';
9125
9126RULE_DOT : 'synthetic::dot';
9127
5817RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; 9128RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
5818 9129
5819RULE_INT : ('0'..'9')+; 9130RULE_INT : ('0'..'9')+;
diff --git a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguage.tokens b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguage.tokens
index 938a5322..f5b014ff 100644
--- a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguage.tokens
+++ b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguage.tokens
@@ -1,45 +1,74 @@
1'('=18 1'!'=29
2')'=19 2'!='=20
3'*'=31 3'('=61
4'+'=30 4')'=62
5','=20 5'*'=16
6'-'=13 6'+'=26
7'.'=14 7','=56
8'..'=39 8'-'=27
9':'=17 9'->'=55
10':-'=28 10'.'=50
11'\''=27 11'..'=64
12'abstract'=40 12'/'=28
13'bool'=23 13':'=45
14'class'=33 14':-'=46
15'containment'=41 15';'=54
16'default'=32 16'<'=21
17'enum'=37 17'<='=22
18'equals'=22 18'='=47
19'error'=16 19'=='=19
20'exists'=21 20'>'=23
21'extends'=36 21'>='=24
22'false'=11 22'['=63
23'int'=24 23']'=65
24'real'=25 24'^'=15
25'relation'=38 25'abstract'=73
26'string'=26 26'avg'=36
27'true'=12 27'class'=68
28'unknown'=15 28'contains'=74
29'{'=34 29'count'=57
30'|'=29 30'current'=32
31'}'=35 31'default'=48
32RULE_ANY_OTHER=10 32'else'=53
33RULE_ID=5 33'empty'=67
34'error'=42
35'extends'=69
36'extern'=49
37'false'=40
38'functional'=72
39'if'=51
40'in'=25
41'inf'=66
42'int'=17
43'max'=38
44'maximize'=44
45'may'=30
46'min'=37
47'minimize'=43
48'must'=31
49'only'=33
50'opposite'=70
51'prod'=35
52'real'=18
53'scope'=71
54'sum'=34
55'then'=52
56'true'=39
57'unknown'=41
58'{'=58
59'|'=60
60'}'=59
61RULE_ANY_OTHER=14
62RULE_DOT=6
63RULE_ID=7
34RULE_INT=4 64RULE_INT=4
35RULE_ML_COMMENT=7 65RULE_ML_COMMENT=11
36RULE_SL_COMMENT=8 66RULE_PLUS=9
37RULE_STRING=6 67RULE_QUOTED_ID=5
38RULE_WS=9 68RULE_SL_COMMENT=12
39T__11=11 69RULE_STAR=8
40T__12=12 70RULE_STRING=10
41T__13=13 71RULE_WS=13
42T__14=14
43T__15=15 72T__15=15
44T__16=16 73T__16=16
45T__17=17 74T__17=17
@@ -67,3 +96,36 @@ T__38=38
67T__39=39 96T__39=39
68T__40=40 97T__40=40
69T__41=41 98T__41=41
99T__42=42
100T__43=43
101T__44=44
102T__45=45
103T__46=46
104T__47=47
105T__48=48
106T__49=49
107T__50=50
108T__51=51
109T__52=52
110T__53=53
111T__54=54
112T__55=55
113T__56=56
114T__57=57
115T__58=58
116T__59=59
117T__60=60
118T__61=61
119T__62=62
120T__63=63
121T__64=64
122T__65=65
123T__66=66
124T__67=67
125T__68=68
126T__69=69
127T__70=70
128T__71=71
129T__72=72
130T__73=73
131T__74=74
diff --git a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageLexer.java b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageLexer.java
index c95bdd1e..1c226c96 100644
--- a/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageLexer.java
+++ b/Application/org.eclipse.viatra.solver.language.ide/src-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalSolverLanguageLexer.java
@@ -12,45 +12,78 @@ 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 RULE_STRING=6; 15 public static final int T__50=50;
16 public static final int RULE_SL_COMMENT=8;
17 public static final int T__19=19; 16 public static final int T__19=19;
18 public static final int T__15=15; 17 public static final int T__15=15;
19 public static final int T__37=37; 18 public static final int T__59=59;
20 public static final int T__16=16; 19 public static final int T__16=16;
21 public static final int T__38=38;
22 public static final int T__17=17; 20 public static final int T__17=17;
23 public static final int T__39=39;
24 public static final int T__18=18; 21 public static final int T__18=18;
25 public static final int T__11=11; 22 public static final int T__55=55;
26 public static final int T__33=33; 23 public static final int T__56=56;
27 public static final int T__12=12; 24 public static final int T__57=57;
28 public static final int T__34=34; 25 public static final int T__58=58;
29 public static final int T__13=13; 26 public static final int T__51=51;
30 public static final int T__35=35; 27 public static final int RULE_STAR=8;
31 public static final int T__14=14; 28 public static final int T__52=52;
32 public static final int T__36=36; 29 public static final int T__53=53;
33 public static final int EOF=-1; 30 public static final int T__54=54;
34 public static final int T__30=30; 31 public static final int T__60=60;
35 public static final int T__31=31; 32 public static final int T__61=61;
36 public static final int T__32=32; 33 public static final int RULE_ID=7;
37 public static final int RULE_ID=5; 34 public static final int RULE_QUOTED_ID=5;
38 public static final int RULE_WS=9;
39 public static final int RULE_ANY_OTHER=10;
40 public static final int T__26=26; 35 public static final int T__26=26;
41 public static final int T__27=27; 36 public static final int T__27=27;
42 public static final int T__28=28; 37 public static final int T__28=28;
43 public static final int RULE_INT=4; 38 public static final int RULE_INT=4;
44 public static final int T__29=29; 39 public static final int T__29=29;
45 public static final int T__22=22; 40 public static final int T__22=22;
46 public static final int RULE_ML_COMMENT=7; 41 public static final int T__66=66;
42 public static final int RULE_ML_COMMENT=11;
47 public static final int T__23=23; 43 public static final int T__23=23;
44 public static final int T__67=67;
48 public static final int T__24=24; 45 public static final int T__24=24;
46 public static final int T__68=68;
49 public static final int T__25=25; 47 public static final int T__25=25;
50 public static final int T__40=40; 48 public static final int T__69=69;
51 public static final int T__41=41; 49 public static final int T__62=62;
50 public static final int T__63=63;
52 public static final int T__20=20; 51 public static final int T__20=20;
52 public static final int T__64=64;
53 public static final int T__21=21; 53 public static final int T__21=21;
54 public static final int T__65=65;
55 public static final int T__70=70;
56 public static final int T__71=71;
57 public static final int T__72=72;
58 public static final int RULE_STRING=10;
59 public static final int RULE_SL_COMMENT=12;
60 public static final int T__37=37;
61 public static final int T__38=38;
62 public static final int T__39=39;
63 public static final int T__33=33;
64 public static final int T__34=34;
65 public static final int T__35=35;
66 public static final int RULE_PLUS=9;
67 public static final int T__36=36;
68 public static final int T__73=73;
69 public static final int RULE_DOT=6;
70 public static final int EOF=-1;
71 public static final int T__30=30;
72 public static final int T__74=74;
73 public static final int T__31=31;
74 public static final int T__32=32;
75 public static final int RULE_WS=13;
76 public static final int RULE_ANY_OTHER=14;
77 public static final int T__48=48;
78 public static final int T__49=49;
79 public static final int T__44=44;
80 public static final int T__45=45;
81 public static final int T__46=46;
82 public static final int T__47=47;
83 public static final int T__40=40;
84 public static final int T__41=41;
85 public static final int T__42=42;
86 public static final int T__43=43;
54 87
55 // delegates 88 // delegates
56 // delegators 89 // delegators
@@ -65,98 +98,15 @@ public class InternalSolverLanguageLexer extends Lexer {
65 } 98 }
66 public String getGrammarFileName() { return "InternalSolverLanguage.g"; } 99 public String getGrammarFileName() { return "InternalSolverLanguage.g"; }
67 100
68 // $ANTLR start "T__11"
69 public final void mT__11() throws RecognitionException {
70 try {
71 int _type = T__11;
72 int _channel = DEFAULT_TOKEN_CHANNEL;
73 // InternalSolverLanguage.g:11:7: ( 'false' )
74 // InternalSolverLanguage.g:11:9: 'false'
75 {
76 match("false");
77
78
79 }
80
81 state.type = _type;
82 state.channel = _channel;
83 }
84 finally {
85 }
86 }
87 // $ANTLR end "T__11"
88
89 // $ANTLR start "T__12"
90 public final void mT__12() throws RecognitionException {
91 try {
92 int _type = T__12;
93 int _channel = DEFAULT_TOKEN_CHANNEL;
94 // InternalSolverLanguage.g:12:7: ( 'true' )
95 // InternalSolverLanguage.g:12:9: 'true'
96 {
97 match("true");
98
99
100 }
101
102 state.type = _type;
103 state.channel = _channel;
104 }
105 finally {
106 }
107 }
108 // $ANTLR end "T__12"
109
110 // $ANTLR start "T__13"
111 public final void mT__13() throws RecognitionException {
112 try {
113 int _type = T__13;
114 int _channel = DEFAULT_TOKEN_CHANNEL;
115 // InternalSolverLanguage.g:13:7: ( '-' )
116 // InternalSolverLanguage.g:13:9: '-'
117 {
118 match('-');
119
120 }
121
122 state.type = _type;
123 state.channel = _channel;
124 }
125 finally {
126 }
127 }
128 // $ANTLR end "T__13"
129
130 // $ANTLR start "T__14"
131 public final void mT__14() throws RecognitionException {
132 try {
133 int _type = T__14;
134 int _channel = DEFAULT_TOKEN_CHANNEL;
135 // InternalSolverLanguage.g:14:7: ( '.' )
136 // InternalSolverLanguage.g:14:9: '.'
137 {
138 match('.');
139
140 }
141
142 state.type = _type;
143 state.channel = _channel;
144 }
145 finally {
146 }
147 }
148 // $ANTLR end "T__14"
149
150 // $ANTLR start "T__15" 101 // $ANTLR start "T__15"
151 public final void mT__15() throws RecognitionException { 102 public final void mT__15() throws RecognitionException {
152 try { 103 try {
153 int _type = T__15; 104 int _type = T__15;
154 int _channel = DEFAULT_TOKEN_CHANNEL; 105 int _channel = DEFAULT_TOKEN_CHANNEL;
155 // InternalSolverLanguage.g:15:7: ( 'unknown' ) 106 // InternalSolverLanguage.g:11:7: ( '^' )
156 // InternalSolverLanguage.g:15:9: 'unknown' 107 // InternalSolverLanguage.g:11:9: '^'
157 { 108 {
158 match("unknown"); 109 match('^');
159
160 110
161 } 111 }
162 112
@@ -173,11 +123,10 @@ public class InternalSolverLanguageLexer extends Lexer {
173 try { 123 try {
174 int _type = T__16; 124 int _type = T__16;
175 int _channel = DEFAULT_TOKEN_CHANNEL; 125 int _channel = DEFAULT_TOKEN_CHANNEL;
176 // InternalSolverLanguage.g:16:7: ( 'error' ) 126 // InternalSolverLanguage.g:12:7: ( '*' )
177 // InternalSolverLanguage.g:16:9: 'error' 127 // InternalSolverLanguage.g:12:9: '*'
178 { 128 {
179 match("error"); 129 match('*');
180
181 130
182 } 131 }
183 132
@@ -194,10 +143,11 @@ public class InternalSolverLanguageLexer extends Lexer {
194 try { 143 try {
195 int _type = T__17; 144 int _type = T__17;
196 int _channel = DEFAULT_TOKEN_CHANNEL; 145 int _channel = DEFAULT_TOKEN_CHANNEL;
197 // InternalSolverLanguage.g:17:7: ( ':' ) 146 // InternalSolverLanguage.g:13:7: ( 'int' )
198 // InternalSolverLanguage.g:17:9: ':' 147 // InternalSolverLanguage.g:13:9: 'int'
199 { 148 {
200 match(':'); 149 match("int");
150
201 151
202 } 152 }
203 153
@@ -214,10 +164,11 @@ public class InternalSolverLanguageLexer extends Lexer {
214 try { 164 try {
215 int _type = T__18; 165 int _type = T__18;
216 int _channel = DEFAULT_TOKEN_CHANNEL; 166 int _channel = DEFAULT_TOKEN_CHANNEL;
217 // InternalSolverLanguage.g:18:7: ( '(' ) 167 // InternalSolverLanguage.g:14:7: ( 'real' )
218 // InternalSolverLanguage.g:18:9: '(' 168 // InternalSolverLanguage.g:14:9: 'real'
219 { 169 {
220 match('('); 170 match("real");
171
221 172
222 } 173 }
223 174
@@ -234,10 +185,11 @@ public class InternalSolverLanguageLexer extends Lexer {
234 try { 185 try {
235 int _type = T__19; 186 int _type = T__19;
236 int _channel = DEFAULT_TOKEN_CHANNEL; 187 int _channel = DEFAULT_TOKEN_CHANNEL;
237 // InternalSolverLanguage.g:19:7: ( ')' ) 188 // InternalSolverLanguage.g:15:7: ( '==' )
238 // InternalSolverLanguage.g:19:9: ')' 189 // InternalSolverLanguage.g:15:9: '=='
239 { 190 {
240 match(')'); 191 match("==");
192
241 193
242 } 194 }
243 195
@@ -254,10 +206,11 @@ public class InternalSolverLanguageLexer extends Lexer {
254 try { 206 try {
255 int _type = T__20; 207 int _type = T__20;
256 int _channel = DEFAULT_TOKEN_CHANNEL; 208 int _channel = DEFAULT_TOKEN_CHANNEL;
257 // InternalSolverLanguage.g:20:7: ( ',' ) 209 // InternalSolverLanguage.g:16:7: ( '!=' )
258 // InternalSolverLanguage.g:20:9: ',' 210 // InternalSolverLanguage.g:16:9: '!='
259 { 211 {
260 match(','); 212 match("!=");
213
261 214
262 } 215 }
263 216
@@ -274,11 +227,10 @@ public class InternalSolverLanguageLexer extends Lexer {
274 try { 227 try {
275 int _type = T__21; 228 int _type = T__21;
276 int _channel = DEFAULT_TOKEN_CHANNEL; 229 int _channel = DEFAULT_TOKEN_CHANNEL;
277 // InternalSolverLanguage.g:21:7: ( 'exists' ) 230 // InternalSolverLanguage.g:17:7: ( '<' )
278 // InternalSolverLanguage.g:21:9: 'exists' 231 // InternalSolverLanguage.g:17:9: '<'
279 { 232 {
280 match("exists"); 233 match('<');
281
282 234
283 } 235 }
284 236
@@ -295,10 +247,10 @@ public class InternalSolverLanguageLexer extends Lexer {
295 try { 247 try {
296 int _type = T__22; 248 int _type = T__22;
297 int _channel = DEFAULT_TOKEN_CHANNEL; 249 int _channel = DEFAULT_TOKEN_CHANNEL;
298 // InternalSolverLanguage.g:22:7: ( 'equals' ) 250 // InternalSolverLanguage.g:18:7: ( '<=' )
299 // InternalSolverLanguage.g:22:9: 'equals' 251 // InternalSolverLanguage.g:18:9: '<='
300 { 252 {
301 match("equals"); 253 match("<=");
302 254
303 255
304 } 256 }
@@ -316,11 +268,10 @@ public class InternalSolverLanguageLexer extends Lexer {
316 try { 268 try {
317 int _type = T__23; 269 int _type = T__23;
318 int _channel = DEFAULT_TOKEN_CHANNEL; 270 int _channel = DEFAULT_TOKEN_CHANNEL;
319 // InternalSolverLanguage.g:23:7: ( 'bool' ) 271 // InternalSolverLanguage.g:19:7: ( '>' )
320 // InternalSolverLanguage.g:23:9: 'bool' 272 // InternalSolverLanguage.g:19:9: '>'
321 { 273 {
322 match("bool"); 274 match('>');
323
324 275
325 } 276 }
326 277
@@ -337,10 +288,10 @@ public class InternalSolverLanguageLexer extends Lexer {
337 try { 288 try {
338 int _type = T__24; 289 int _type = T__24;
339 int _channel = DEFAULT_TOKEN_CHANNEL; 290 int _channel = DEFAULT_TOKEN_CHANNEL;
340 // InternalSolverLanguage.g:24:7: ( 'int' ) 291 // InternalSolverLanguage.g:20:7: ( '>=' )
341 // InternalSolverLanguage.g:24:9: 'int' 292 // InternalSolverLanguage.g:20:9: '>='
342 { 293 {
343 match("int"); 294 match(">=");
344 295
345 296
346 } 297 }
@@ -358,10 +309,10 @@ public class InternalSolverLanguageLexer extends Lexer {
358 try { 309 try {
359 int _type = T__25; 310 int _type = T__25;
360 int _channel = DEFAULT_TOKEN_CHANNEL; 311 int _channel = DEFAULT_TOKEN_CHANNEL;
361 // InternalSolverLanguage.g:25:7: ( 'real' ) 312 // InternalSolverLanguage.g:21:7: ( 'in' )
362 // InternalSolverLanguage.g:25:9: 'real' 313 // InternalSolverLanguage.g:21:9: 'in'
363 { 314 {
364 match("real"); 315 match("in");
365 316
366 317
367 } 318 }
@@ -379,11 +330,10 @@ public class InternalSolverLanguageLexer extends Lexer {
379 try { 330 try {
380 int _type = T__26; 331 int _type = T__26;
381 int _channel = DEFAULT_TOKEN_CHANNEL; 332 int _channel = DEFAULT_TOKEN_CHANNEL;
382 // InternalSolverLanguage.g:26:7: ( 'string' ) 333 // InternalSolverLanguage.g:22:7: ( '+' )
383 // InternalSolverLanguage.g:26:9: 'string' 334 // InternalSolverLanguage.g:22:9: '+'
384 { 335 {
385 match("string"); 336 match('+');
386
387 337
388 } 338 }
389 339
@@ -400,10 +350,10 @@ public class InternalSolverLanguageLexer extends Lexer {
400 try { 350 try {
401 int _type = T__27; 351 int _type = T__27;
402 int _channel = DEFAULT_TOKEN_CHANNEL; 352 int _channel = DEFAULT_TOKEN_CHANNEL;
403 // InternalSolverLanguage.g:27:7: ( '\\'' ) 353 // InternalSolverLanguage.g:23:7: ( '-' )
404 // InternalSolverLanguage.g:27:9: '\\'' 354 // InternalSolverLanguage.g:23:9: '-'
405 { 355 {
406 match('\''); 356 match('-');
407 357
408 } 358 }
409 359
@@ -420,11 +370,10 @@ public class InternalSolverLanguageLexer extends Lexer {
420 try { 370 try {
421 int _type = T__28; 371 int _type = T__28;
422 int _channel = DEFAULT_TOKEN_CHANNEL; 372 int _channel = DEFAULT_TOKEN_CHANNEL;
423 // InternalSolverLanguage.g:28:7: ( ':-' ) 373 // InternalSolverLanguage.g:24:7: ( '/' )
424 // InternalSolverLanguage.g:28:9: ':-' 374 // InternalSolverLanguage.g:24:9: '/'
425 { 375 {
426 match(":-"); 376 match('/');
427
428 377
429 } 378 }
430 379
@@ -441,10 +390,10 @@ public class InternalSolverLanguageLexer extends Lexer {
441 try { 390 try {
442 int _type = T__29; 391 int _type = T__29;
443 int _channel = DEFAULT_TOKEN_CHANNEL; 392 int _channel = DEFAULT_TOKEN_CHANNEL;
444 // InternalSolverLanguage.g:29:7: ( '|' ) 393 // InternalSolverLanguage.g:25:7: ( '!' )
445 // InternalSolverLanguage.g:29:9: '|' 394 // InternalSolverLanguage.g:25:9: '!'
446 { 395 {
447 match('|'); 396 match('!');
448 397
449 } 398 }
450 399
@@ -461,10 +410,11 @@ public class InternalSolverLanguageLexer extends Lexer {
461 try { 410 try {
462 int _type = T__30; 411 int _type = T__30;
463 int _channel = DEFAULT_TOKEN_CHANNEL; 412 int _channel = DEFAULT_TOKEN_CHANNEL;
464 // InternalSolverLanguage.g:30:7: ( '+' ) 413 // InternalSolverLanguage.g:26:7: ( 'may' )
465 // InternalSolverLanguage.g:30:9: '+' 414 // InternalSolverLanguage.g:26:9: 'may'
466 { 415 {
467 match('+'); 416 match("may");
417
468 418
469 } 419 }
470 420
@@ -481,10 +431,11 @@ public class InternalSolverLanguageLexer extends Lexer {
481 try { 431 try {
482 int _type = T__31; 432 int _type = T__31;
483 int _channel = DEFAULT_TOKEN_CHANNEL; 433 int _channel = DEFAULT_TOKEN_CHANNEL;
484 // InternalSolverLanguage.g:31:7: ( '*' ) 434 // InternalSolverLanguage.g:27:7: ( 'must' )
485 // InternalSolverLanguage.g:31:9: '*' 435 // InternalSolverLanguage.g:27:9: 'must'
486 { 436 {
487 match('*'); 437 match("must");
438
488 439
489 } 440 }
490 441
@@ -501,10 +452,10 @@ public class InternalSolverLanguageLexer extends Lexer {
501 try { 452 try {
502 int _type = T__32; 453 int _type = T__32;
503 int _channel = DEFAULT_TOKEN_CHANNEL; 454 int _channel = DEFAULT_TOKEN_CHANNEL;
504 // InternalSolverLanguage.g:32:7: ( 'default' ) 455 // InternalSolverLanguage.g:28:7: ( 'current' )
505 // InternalSolverLanguage.g:32:9: 'default' 456 // InternalSolverLanguage.g:28:9: 'current'
506 { 457 {
507 match("default"); 458 match("current");
508 459
509 460
510 } 461 }
@@ -522,10 +473,10 @@ public class InternalSolverLanguageLexer extends Lexer {
522 try { 473 try {
523 int _type = T__33; 474 int _type = T__33;
524 int _channel = DEFAULT_TOKEN_CHANNEL; 475 int _channel = DEFAULT_TOKEN_CHANNEL;
525 // InternalSolverLanguage.g:33:7: ( 'class' ) 476 // InternalSolverLanguage.g:29:7: ( 'only' )
526 // InternalSolverLanguage.g:33:9: 'class' 477 // InternalSolverLanguage.g:29:9: 'only'
527 { 478 {
528 match("class"); 479 match("only");
529 480
530 481
531 } 482 }
@@ -543,10 +494,11 @@ public class InternalSolverLanguageLexer extends Lexer {
543 try { 494 try {
544 int _type = T__34; 495 int _type = T__34;
545 int _channel = DEFAULT_TOKEN_CHANNEL; 496 int _channel = DEFAULT_TOKEN_CHANNEL;
546 // InternalSolverLanguage.g:34:7: ( '{' ) 497 // InternalSolverLanguage.g:30:7: ( 'sum' )
547 // InternalSolverLanguage.g:34:9: '{' 498 // InternalSolverLanguage.g:30:9: 'sum'
548 { 499 {
549 match('{'); 500 match("sum");
501
550 502
551 } 503 }
552 504
@@ -563,10 +515,11 @@ public class InternalSolverLanguageLexer extends Lexer {
563 try { 515 try {
564 int _type = T__35; 516 int _type = T__35;
565 int _channel = DEFAULT_TOKEN_CHANNEL; 517 int _channel = DEFAULT_TOKEN_CHANNEL;
566 // InternalSolverLanguage.g:35:7: ( '}' ) 518 // InternalSolverLanguage.g:31:7: ( 'prod' )
567 // InternalSolverLanguage.g:35:9: '}' 519 // InternalSolverLanguage.g:31:9: 'prod'
568 { 520 {
569 match('}'); 521 match("prod");
522
570 523
571 } 524 }
572 525
@@ -583,10 +536,10 @@ public class InternalSolverLanguageLexer extends Lexer {
583 try { 536 try {
584 int _type = T__36; 537 int _type = T__36;
585 int _channel = DEFAULT_TOKEN_CHANNEL; 538 int _channel = DEFAULT_TOKEN_CHANNEL;
586 // InternalSolverLanguage.g:36:7: ( 'extends' ) 539 // InternalSolverLanguage.g:32:7: ( 'avg' )
587 // InternalSolverLanguage.g:36:9: 'extends' 540 // InternalSolverLanguage.g:32:9: 'avg'
588 { 541 {
589 match("extends"); 542 match("avg");
590 543
591 544
592 } 545 }
@@ -604,10 +557,10 @@ public class InternalSolverLanguageLexer extends Lexer {
604 try { 557 try {
605 int _type = T__37; 558 int _type = T__37;
606 int _channel = DEFAULT_TOKEN_CHANNEL; 559 int _channel = DEFAULT_TOKEN_CHANNEL;
607 // InternalSolverLanguage.g:37:7: ( 'enum' ) 560 // InternalSolverLanguage.g:33:7: ( 'min' )
608 // InternalSolverLanguage.g:37:9: 'enum' 561 // InternalSolverLanguage.g:33:9: 'min'
609 { 562 {
610 match("enum"); 563 match("min");
611 564
612 565
613 } 566 }
@@ -625,10 +578,10 @@ public class InternalSolverLanguageLexer extends Lexer {
625 try { 578 try {
626 int _type = T__38; 579 int _type = T__38;
627 int _channel = DEFAULT_TOKEN_CHANNEL; 580 int _channel = DEFAULT_TOKEN_CHANNEL;
628 // InternalSolverLanguage.g:38:7: ( 'relation' ) 581 // InternalSolverLanguage.g:34:7: ( 'max' )
629 // InternalSolverLanguage.g:38:9: 'relation' 582 // InternalSolverLanguage.g:34:9: 'max'
630 { 583 {
631 match("relation"); 584 match("max");
632 585
633 586
634 } 587 }
@@ -646,10 +599,10 @@ public class InternalSolverLanguageLexer extends Lexer {
646 try { 599 try {
647 int _type = T__39; 600 int _type = T__39;
648 int _channel = DEFAULT_TOKEN_CHANNEL; 601 int _channel = DEFAULT_TOKEN_CHANNEL;
649 // InternalSolverLanguage.g:39:7: ( '..' ) 602 // InternalSolverLanguage.g:35:7: ( 'true' )
650 // InternalSolverLanguage.g:39:9: '..' 603 // InternalSolverLanguage.g:35:9: 'true'
651 { 604 {
652 match(".."); 605 match("true");
653 606
654 607
655 } 608 }
@@ -667,10 +620,10 @@ public class InternalSolverLanguageLexer extends Lexer {
667 try { 620 try {
668 int _type = T__40; 621 int _type = T__40;
669 int _channel = DEFAULT_TOKEN_CHANNEL; 622 int _channel = DEFAULT_TOKEN_CHANNEL;
670 // InternalSolverLanguage.g:40:7: ( 'abstract' ) 623 // InternalSolverLanguage.g:36:7: ( 'false' )
671 // InternalSolverLanguage.g:40:9: 'abstract' 624 // InternalSolverLanguage.g:36:9: 'false'
672 { 625 {
673 match("abstract"); 626 match("false");
674 627
675 628
676 } 629 }
@@ -688,10 +641,10 @@ public class InternalSolverLanguageLexer extends Lexer {
688 try { 641 try {
689 int _type = T__41; 642 int _type = T__41;
690 int _channel = DEFAULT_TOKEN_CHANNEL; 643 int _channel = DEFAULT_TOKEN_CHANNEL;
691 // InternalSolverLanguage.g:41:7: ( 'containment' ) 644 // InternalSolverLanguage.g:37:7: ( 'unknown' )
692 // InternalSolverLanguage.g:41:9: 'containment' 645 // InternalSolverLanguage.g:37:9: 'unknown'
693 { 646 {
694 match("containment"); 647 match("unknown");
695 648
696 649
697 } 650 }
@@ -704,16 +657,697 @@ public class InternalSolverLanguageLexer extends Lexer {
704 } 657 }
705 // $ANTLR end "T__41" 658 // $ANTLR end "T__41"
706 659
660 // $ANTLR start "T__42"
661 public final void mT__42() throws RecognitionException {
662 try {
663 int _type = T__42;
664 int _channel = DEFAULT_TOKEN_CHANNEL;
665 // InternalSolverLanguage.g:38:7: ( 'error' )
666 // InternalSolverLanguage.g:38:9: 'error'
667 {
668 match("error");
669
670
671 }
672
673 state.type = _type;
674 state.channel = _channel;
675 }
676 finally {
677 }
678 }
679 // $ANTLR end "T__42"
680
681 // $ANTLR start "T__43"
682 public final void mT__43() throws RecognitionException {
683 try {
684 int _type = T__43;
685 int _channel = DEFAULT_TOKEN_CHANNEL;
686 // InternalSolverLanguage.g:39:7: ( 'minimize' )
687 // InternalSolverLanguage.g:39:9: 'minimize'
688 {
689 match("minimize");
690
691
692 }
693
694 state.type = _type;
695 state.channel = _channel;
696 }
697 finally {
698 }
699 }
700 // $ANTLR end "T__43"
701
702 // $ANTLR start "T__44"
703 public final void mT__44() throws RecognitionException {
704 try {
705 int _type = T__44;
706 int _channel = DEFAULT_TOKEN_CHANNEL;
707 // InternalSolverLanguage.g:40:7: ( 'maximize' )
708 // InternalSolverLanguage.g:40:9: 'maximize'
709 {
710 match("maximize");
711
712
713 }
714
715 state.type = _type;
716 state.channel = _channel;
717 }
718 finally {
719 }
720 }
721 // $ANTLR end "T__44"
722
723 // $ANTLR start "T__45"
724 public final void mT__45() throws RecognitionException {
725 try {
726 int _type = T__45;
727 int _channel = DEFAULT_TOKEN_CHANNEL;
728 // InternalSolverLanguage.g:41:7: ( ':' )
729 // InternalSolverLanguage.g:41:9: ':'
730 {
731 match(':');
732
733 }
734
735 state.type = _type;
736 state.channel = _channel;
737 }
738 finally {
739 }
740 }
741 // $ANTLR end "T__45"
742
743 // $ANTLR start "T__46"
744 public final void mT__46() throws RecognitionException {
745 try {
746 int _type = T__46;
747 int _channel = DEFAULT_TOKEN_CHANNEL;
748 // InternalSolverLanguage.g:42:7: ( ':-' )
749 // InternalSolverLanguage.g:42:9: ':-'
750 {
751 match(":-");
752
753
754 }
755
756 state.type = _type;
757 state.channel = _channel;
758 }
759 finally {
760 }
761 }
762 // $ANTLR end "T__46"
763
764 // $ANTLR start "T__47"
765 public final void mT__47() throws RecognitionException {
766 try {
767 int _type = T__47;
768 int _channel = DEFAULT_TOKEN_CHANNEL;
769 // InternalSolverLanguage.g:43:7: ( '=' )
770 // InternalSolverLanguage.g:43:9: '='
771 {
772 match('=');
773
774 }
775
776 state.type = _type;
777 state.channel = _channel;
778 }
779 finally {
780 }
781 }
782 // $ANTLR end "T__47"
783
784 // $ANTLR start "T__48"
785 public final void mT__48() throws RecognitionException {
786 try {
787 int _type = T__48;
788 int _channel = DEFAULT_TOKEN_CHANNEL;
789 // InternalSolverLanguage.g:44:7: ( 'default' )
790 // InternalSolverLanguage.g:44:9: 'default'
791 {
792 match("default");
793
794
795 }
796
797 state.type = _type;
798 state.channel = _channel;
799 }
800 finally {
801 }
802 }
803 // $ANTLR end "T__48"
804
805 // $ANTLR start "T__49"
806 public final void mT__49() throws RecognitionException {
807 try {
808 int _type = T__49;
809 int _channel = DEFAULT_TOKEN_CHANNEL;
810 // InternalSolverLanguage.g:45:7: ( 'extern' )
811 // InternalSolverLanguage.g:45:9: 'extern'
812 {
813 match("extern");
814
815
816 }
817
818 state.type = _type;
819 state.channel = _channel;
820 }
821 finally {
822 }
823 }
824 // $ANTLR end "T__49"
825
826 // $ANTLR start "T__50"
827 public final void mT__50() throws RecognitionException {
828 try {
829 int _type = T__50;
830 int _channel = DEFAULT_TOKEN_CHANNEL;
831 // InternalSolverLanguage.g:46:7: ( '.' )
832 // InternalSolverLanguage.g:46:9: '.'
833 {
834 match('.');
835
836 }
837
838 state.type = _type;
839 state.channel = _channel;
840 }
841 finally {
842 }
843 }
844 // $ANTLR end "T__50"
845
846 // $ANTLR start "T__51"
847 public final void mT__51() throws RecognitionException {
848 try {
849 int _type = T__51;
850 int _channel = DEFAULT_TOKEN_CHANNEL;
851 // InternalSolverLanguage.g:47:7: ( 'if' )
852 // InternalSolverLanguage.g:47:9: 'if'
853 {
854 match("if");
855
856
857 }
858
859 state.type = _type;
860 state.channel = _channel;
861 }
862 finally {
863 }
864 }
865 // $ANTLR end "T__51"
866
867 // $ANTLR start "T__52"
868 public final void mT__52() throws RecognitionException {
869 try {
870 int _type = T__52;
871 int _channel = DEFAULT_TOKEN_CHANNEL;
872 // InternalSolverLanguage.g:48:7: ( 'then' )
873 // InternalSolverLanguage.g:48:9: 'then'
874 {
875 match("then");
876
877
878 }
879
880 state.type = _type;
881 state.channel = _channel;
882 }
883 finally {
884 }
885 }
886 // $ANTLR end "T__52"
887
888 // $ANTLR start "T__53"
889 public final void mT__53() throws RecognitionException {
890 try {
891 int _type = T__53;
892 int _channel = DEFAULT_TOKEN_CHANNEL;
893 // InternalSolverLanguage.g:49:7: ( 'else' )
894 // InternalSolverLanguage.g:49:9: 'else'
895 {
896 match("else");
897
898
899 }
900
901 state.type = _type;
902 state.channel = _channel;
903 }
904 finally {
905 }
906 }
907 // $ANTLR end "T__53"
908
909 // $ANTLR start "T__54"
910 public final void mT__54() throws RecognitionException {
911 try {
912 int _type = T__54;
913 int _channel = DEFAULT_TOKEN_CHANNEL;
914 // InternalSolverLanguage.g:50:7: ( ';' )
915 // InternalSolverLanguage.g:50:9: ';'
916 {
917 match(';');
918
919 }
920
921 state.type = _type;
922 state.channel = _channel;
923 }
924 finally {
925 }
926 }
927 // $ANTLR end "T__54"
928
929 // $ANTLR start "T__55"
930 public final void mT__55() throws RecognitionException {
931 try {
932 int _type = T__55;
933 int _channel = DEFAULT_TOKEN_CHANNEL;
934 // InternalSolverLanguage.g:51:7: ( '->' )
935 // InternalSolverLanguage.g:51:9: '->'
936 {
937 match("->");
938
939
940 }
941
942 state.type = _type;
943 state.channel = _channel;
944 }
945 finally {
946 }
947 }
948 // $ANTLR end "T__55"
949
950 // $ANTLR start "T__56"
951 public final void mT__56() throws RecognitionException {
952 try {
953 int _type = T__56;
954 int _channel = DEFAULT_TOKEN_CHANNEL;
955 // InternalSolverLanguage.g:52:7: ( ',' )
956 // InternalSolverLanguage.g:52:9: ','
957 {
958 match(',');
959
960 }
961
962 state.type = _type;
963 state.channel = _channel;
964 }
965 finally {
966 }
967 }
968 // $ANTLR end "T__56"
969
970 // $ANTLR start "T__57"
971 public final void mT__57() throws RecognitionException {
972 try {
973 int _type = T__57;
974 int _channel = DEFAULT_TOKEN_CHANNEL;
975 // InternalSolverLanguage.g:53:7: ( 'count' )
976 // InternalSolverLanguage.g:53:9: 'count'
977 {
978 match("count");
979
980
981 }
982
983 state.type = _type;
984 state.channel = _channel;
985 }
986 finally {
987 }
988 }
989 // $ANTLR end "T__57"
990
991 // $ANTLR start "T__58"
992 public final void mT__58() throws RecognitionException {
993 try {
994 int _type = T__58;
995 int _channel = DEFAULT_TOKEN_CHANNEL;
996 // InternalSolverLanguage.g:54:7: ( '{' )
997 // InternalSolverLanguage.g:54:9: '{'
998 {
999 match('{');
1000
1001 }
1002
1003 state.type = _type;
1004 state.channel = _channel;
1005 }
1006 finally {
1007 }
1008 }
1009 // $ANTLR end "T__58"
1010
1011 // $ANTLR start "T__59"
1012 public final void mT__59() throws RecognitionException {
1013 try {
1014 int _type = T__59;
1015 int _channel = DEFAULT_TOKEN_CHANNEL;
1016 // InternalSolverLanguage.g:55:7: ( '}' )
1017 // InternalSolverLanguage.g:55:9: '}'
1018 {
1019 match('}');
1020
1021 }
1022
1023 state.type = _type;
1024 state.channel = _channel;
1025 }
1026 finally {
1027 }
1028 }
1029 // $ANTLR end "T__59"
1030
1031 // $ANTLR start "T__60"
1032 public final void mT__60() throws RecognitionException {
1033 try {
1034 int _type = T__60;
1035 int _channel = DEFAULT_TOKEN_CHANNEL;
1036 // InternalSolverLanguage.g:56:7: ( '|' )
1037 // InternalSolverLanguage.g:56:9: '|'
1038 {
1039 match('|');
1040
1041 }
1042
1043 state.type = _type;
1044 state.channel = _channel;
1045 }
1046 finally {
1047 }
1048 }
1049 // $ANTLR end "T__60"
1050
1051 // $ANTLR start "T__61"
1052 public final void mT__61() throws RecognitionException {
1053 try {
1054 int _type = T__61;
1055 int _channel = DEFAULT_TOKEN_CHANNEL;
1056 // InternalSolverLanguage.g:57:7: ( '(' )
1057 // InternalSolverLanguage.g:57:9: '('
1058 {
1059 match('(');
1060
1061 }
1062
1063 state.type = _type;
1064 state.channel = _channel;
1065 }
1066 finally {
1067 }
1068 }
1069 // $ANTLR end "T__61"
1070
1071 // $ANTLR start "T__62"
1072 public final void mT__62() throws RecognitionException {
1073 try {
1074 int _type = T__62;
1075 int _channel = DEFAULT_TOKEN_CHANNEL;
1076 // InternalSolverLanguage.g:58:7: ( ')' )
1077 // InternalSolverLanguage.g:58:9: ')'
1078 {
1079 match(')');
1080
1081 }
1082
1083 state.type = _type;
1084 state.channel = _channel;
1085 }
1086 finally {
1087 }
1088 }
1089 // $ANTLR end "T__62"
1090
1091 // $ANTLR start "T__63"
1092 public final void mT__63() throws RecognitionException {
1093 try {
1094 int _type = T__63;
1095 int _channel = DEFAULT_TOKEN_CHANNEL;
1096 // InternalSolverLanguage.g:59:7: ( '[' )
1097 // InternalSolverLanguage.g:59:9: '['
1098 {
1099 match('[');
1100
1101 }
1102
1103 state.type = _type;
1104 state.channel = _channel;
1105 }
1106 finally {
1107 }
1108 }
1109 // $ANTLR end "T__63"
1110
1111 // $ANTLR start "T__64"
1112 public final void mT__64() throws RecognitionException {
1113 try {
1114 int _type = T__64;
1115 int _channel = DEFAULT_TOKEN_CHANNEL;
1116 // InternalSolverLanguage.g:60:7: ( '..' )
1117 // InternalSolverLanguage.g:60:9: '..'
1118 {
1119 match("..");
1120
1121
1122 }
1123
1124 state.type = _type;
1125 state.channel = _channel;
1126 }
1127 finally {
1128 }
1129 }
1130 // $ANTLR end "T__64"
1131
1132 // $ANTLR start "T__65"
1133 public final void mT__65() throws RecognitionException {
1134 try {
1135 int _type = T__65;
1136 int _channel = DEFAULT_TOKEN_CHANNEL;
1137 // InternalSolverLanguage.g:61:7: ( ']' )
1138 // InternalSolverLanguage.g:61:9: ']'
1139 {
1140 match(']');
1141
1142 }
1143
1144 state.type = _type;
1145 state.channel = _channel;
1146 }
1147 finally {
1148 }
1149 }
1150 // $ANTLR end "T__65"
1151
1152 // $ANTLR start "T__66"
1153 public final void mT__66() throws RecognitionException {
1154 try {
1155 int _type = T__66;
1156 int _channel = DEFAULT_TOKEN_CHANNEL;
1157 // InternalSolverLanguage.g:62:7: ( 'inf' )
1158 // InternalSolverLanguage.g:62:9: 'inf'
1159 {
1160 match("inf");
1161
1162
1163 }
1164
1165 state.type = _type;
1166 state.channel = _channel;
1167 }
1168 finally {
1169 }
1170 }
1171 // $ANTLR end "T__66"
1172
1173 // $ANTLR start "T__67"
1174 public final void mT__67() throws RecognitionException {
1175 try {
1176 int _type = T__67;
1177 int _channel = DEFAULT_TOKEN_CHANNEL;
1178 // InternalSolverLanguage.g:63:7: ( 'empty' )
1179 // InternalSolverLanguage.g:63:9: 'empty'
1180 {
1181 match("empty");
1182
1183
1184 }
1185
1186 state.type = _type;
1187 state.channel = _channel;
1188 }
1189 finally {
1190 }
1191 }
1192 // $ANTLR end "T__67"
1193
1194 // $ANTLR start "T__68"
1195 public final void mT__68() throws RecognitionException {
1196 try {
1197 int _type = T__68;
1198 int _channel = DEFAULT_TOKEN_CHANNEL;
1199 // InternalSolverLanguage.g:64:7: ( 'class' )
1200 // InternalSolverLanguage.g:64:9: 'class'
1201 {
1202 match("class");
1203
1204
1205 }
1206
1207 state.type = _type;
1208 state.channel = _channel;
1209 }
1210 finally {
1211 }
1212 }
1213 // $ANTLR end "T__68"
1214
1215 // $ANTLR start "T__69"
1216 public final void mT__69() throws RecognitionException {
1217 try {
1218 int _type = T__69;
1219 int _channel = DEFAULT_TOKEN_CHANNEL;
1220 // InternalSolverLanguage.g:65:7: ( 'extends' )
1221 // InternalSolverLanguage.g:65:9: 'extends'
1222 {
1223 match("extends");
1224
1225
1226 }
1227
1228 state.type = _type;
1229 state.channel = _channel;
1230 }
1231 finally {
1232 }
1233 }
1234 // $ANTLR end "T__69"
1235
1236 // $ANTLR start "T__70"
1237 public final void mT__70() throws RecognitionException {
1238 try {
1239 int _type = T__70;
1240 int _channel = DEFAULT_TOKEN_CHANNEL;
1241 // InternalSolverLanguage.g:66:7: ( 'opposite' )
1242 // InternalSolverLanguage.g:66:9: 'opposite'
1243 {
1244 match("opposite");
1245
1246
1247 }
1248
1249 state.type = _type;
1250 state.channel = _channel;
1251 }
1252 finally {
1253 }
1254 }
1255 // $ANTLR end "T__70"
1256
1257 // $ANTLR start "T__71"
1258 public final void mT__71() throws RecognitionException {
1259 try {
1260 int _type = T__71;
1261 int _channel = DEFAULT_TOKEN_CHANNEL;
1262 // InternalSolverLanguage.g:67:7: ( 'scope' )
1263 // InternalSolverLanguage.g:67:9: 'scope'
1264 {
1265 match("scope");
1266
1267
1268 }
1269
1270 state.type = _type;
1271 state.channel = _channel;
1272 }
1273 finally {
1274 }
1275 }
1276 // $ANTLR end "T__71"
1277
1278 // $ANTLR start "T__72"
1279 public final void mT__72() throws RecognitionException {
1280 try {
1281 int _type = T__72;
1282 int _channel = DEFAULT_TOKEN_CHANNEL;
1283 // InternalSolverLanguage.g:68:7: ( 'functional' )
1284 // InternalSolverLanguage.g:68:9: 'functional'
1285 {
1286 match("functional");
1287
1288
1289 }
1290
1291 state.type = _type;
1292 state.channel = _channel;
1293 }
1294 finally {
1295 }
1296 }
1297 // $ANTLR end "T__72"
1298
1299 // $ANTLR start "T__73"
1300 public final void mT__73() throws RecognitionException {
1301 try {
1302 int _type = T__73;
1303 int _channel = DEFAULT_TOKEN_CHANNEL;
1304 // InternalSolverLanguage.g:69:7: ( 'abstract' )
1305 // InternalSolverLanguage.g:69:9: 'abstract'
1306 {
1307 match("abstract");
1308
1309
1310 }
1311
1312 state.type = _type;
1313 state.channel = _channel;
1314 }
1315 finally {
1316 }
1317 }
1318 // $ANTLR end "T__73"
1319
1320 // $ANTLR start "T__74"
1321 public final void mT__74() throws RecognitionException {
1322 try {
1323 int _type = T__74;
1324 int _channel = DEFAULT_TOKEN_CHANNEL;
1325 // InternalSolverLanguage.g:70:7: ( 'contains' )
1326 // InternalSolverLanguage.g:70:9: 'contains'
1327 {
1328 match("contains");
1329
1330
1331 }
1332
1333 state.type = _type;
1334 state.channel = _channel;
1335 }
1336 finally {
1337 }
1338 }
1339 // $ANTLR end "T__74"
1340
707 // $ANTLR start "RULE_STRING" 1341 // $ANTLR start "RULE_STRING"
708 public final void mRULE_STRING() throws RecognitionException { 1342 public final void mRULE_STRING() throws RecognitionException {
709 try { 1343 try {
710 int _type = RULE_STRING; 1344 int _type = RULE_STRING;
711 int _channel = DEFAULT_TOKEN_CHANNEL; 1345 int _channel = DEFAULT_TOKEN_CHANNEL;
712 // InternalSolverLanguage.g:5815:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) 1346 // InternalSolverLanguage.g:9118:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
713 // InternalSolverLanguage.g:5815:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' 1347 // InternalSolverLanguage.g:9118:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
714 { 1348 {
715 match('\"'); 1349 match('\"');
716 // InternalSolverLanguage.g:5815:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* 1350 // InternalSolverLanguage.g:9118:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
717 loop1: 1351 loop1:
718 do { 1352 do {
719 int alt1=3; 1353 int alt1=3;
@@ -729,7 +1363,7 @@ public class InternalSolverLanguageLexer extends Lexer {
729 1363
730 switch (alt1) { 1364 switch (alt1) {
731 case 1 : 1365 case 1 :
732 // InternalSolverLanguage.g:5815:20: '\\\\' . 1366 // InternalSolverLanguage.g:9118:20: '\\\\' .
733 { 1367 {
734 match('\\'); 1368 match('\\');
735 matchAny(); 1369 matchAny();
@@ -737,7 +1371,7 @@ public class InternalSolverLanguageLexer extends Lexer {
737 } 1371 }
738 break; 1372 break;
739 case 2 : 1373 case 2 :
740 // InternalSolverLanguage.g:5815:27: ~ ( ( '\\\\' | '\"' ) ) 1374 // InternalSolverLanguage.g:9118:27: ~ ( ( '\\\\' | '\"' ) )
741 { 1375 {
742 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { 1376 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
743 input.consume(); 1377 input.consume();
@@ -769,24 +1403,152 @@ public class InternalSolverLanguageLexer extends Lexer {
769 } 1403 }
770 // $ANTLR end "RULE_STRING" 1404 // $ANTLR end "RULE_STRING"
771 1405
1406 // $ANTLR start "RULE_QUOTED_ID"
1407 public final void mRULE_QUOTED_ID() throws RecognitionException {
1408 try {
1409 int _type = RULE_QUOTED_ID;
1410 int _channel = DEFAULT_TOKEN_CHANNEL;
1411 // InternalSolverLanguage.g:9120:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
1412 // InternalSolverLanguage.g:9120:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
1413 {
1414 match('\'');
1415 // InternalSolverLanguage.g:9120:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
1416 loop2:
1417 do {
1418 int alt2=3;
1419 int LA2_0 = input.LA(1);
1420
1421 if ( (LA2_0=='\\') ) {
1422 alt2=1;
1423 }
1424 else if ( ((LA2_0>='\u0000' && LA2_0<='&')||(LA2_0>='(' && LA2_0<='[')||(LA2_0>=']' && LA2_0<='\uFFFF')) ) {
1425 alt2=2;
1426 }
1427
1428
1429 switch (alt2) {
1430 case 1 :
1431 // InternalSolverLanguage.g:9120:24: '\\\\' .
1432 {
1433 match('\\');
1434 matchAny();
1435
1436 }
1437 break;
1438 case 2 :
1439 // InternalSolverLanguage.g:9120:31: ~ ( ( '\\\\' | '\\'' ) )
1440 {
1441 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1442 input.consume();
1443
1444 }
1445 else {
1446 MismatchedSetException mse = new MismatchedSetException(null,input);
1447 recover(mse);
1448 throw mse;}
1449
1450
1451 }
1452 break;
1453
1454 default :
1455 break loop2;
1456 }
1457 } while (true);
1458
1459 match('\'');
1460
1461 }
1462
1463 state.type = _type;
1464 state.channel = _channel;
1465 }
1466 finally {
1467 }
1468 }
1469 // $ANTLR end "RULE_QUOTED_ID"
1470
1471 // $ANTLR start "RULE_PLUS"
1472 public final void mRULE_PLUS() throws RecognitionException {
1473 try {
1474 int _type = RULE_PLUS;
1475 int _channel = DEFAULT_TOKEN_CHANNEL;
1476 // InternalSolverLanguage.g:9122:11: ( 'synthetic::plus' )
1477 // InternalSolverLanguage.g:9122:13: 'synthetic::plus'
1478 {
1479 match("synthetic::plus");
1480
1481
1482 }
1483
1484 state.type = _type;
1485 state.channel = _channel;
1486 }
1487 finally {
1488 }
1489 }
1490 // $ANTLR end "RULE_PLUS"
1491
1492 // $ANTLR start "RULE_STAR"
1493 public final void mRULE_STAR() throws RecognitionException {
1494 try {
1495 int _type = RULE_STAR;
1496 int _channel = DEFAULT_TOKEN_CHANNEL;
1497 // InternalSolverLanguage.g:9124:11: ( 'synthetic::star' )
1498 // InternalSolverLanguage.g:9124:13: 'synthetic::star'
1499 {
1500 match("synthetic::star");
1501
1502
1503 }
1504
1505 state.type = _type;
1506 state.channel = _channel;
1507 }
1508 finally {
1509 }
1510 }
1511 // $ANTLR end "RULE_STAR"
1512
1513 // $ANTLR start "RULE_DOT"
1514 public final void mRULE_DOT() throws RecognitionException {
1515 try {
1516 int _type = RULE_DOT;
1517 int _channel = DEFAULT_TOKEN_CHANNEL;
1518 // InternalSolverLanguage.g:9126:10: ( 'synthetic::dot' )
1519 // InternalSolverLanguage.g:9126:12: 'synthetic::dot'
1520 {
1521 match("synthetic::dot");
1522
1523
1524 }
1525
1526 state.type = _type;
1527 state.channel = _channel;
1528 }
1529 finally {
1530 }
1531 }
1532 // $ANTLR end "RULE_DOT"
1533
772 // $ANTLR start "RULE_ID" 1534 // $ANTLR start "RULE_ID"
773 public final void mRULE_ID() throws RecognitionException { 1535 public final void mRULE_ID() throws RecognitionException {
774 try { 1536 try {
775 int _type = RULE_ID; 1537 int _type = RULE_ID;
776 int _channel = DEFAULT_TOKEN_CHANNEL; 1538 int _channel = DEFAULT_TOKEN_CHANNEL;
777 // InternalSolverLanguage.g:5817:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) 1539 // InternalSolverLanguage.g:9128:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
778 // InternalSolverLanguage.g:5817:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 1540 // InternalSolverLanguage.g:9128:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
779 { 1541 {
780 // InternalSolverLanguage.g:5817:11: ( '^' )? 1542 // InternalSolverLanguage.g:9128:11: ( '^' )?
781 int alt2=2; 1543 int alt3=2;
782 int LA2_0 = input.LA(1); 1544 int LA3_0 = input.LA(1);
783 1545
784 if ( (LA2_0=='^') ) { 1546 if ( (LA3_0=='^') ) {
785 alt2=1; 1547 alt3=1;
786 } 1548 }
787 switch (alt2) { 1549 switch (alt3) {
788 case 1 : 1550 case 1 :
789 // InternalSolverLanguage.g:5817:11: '^' 1551 // InternalSolverLanguage.g:9128:11: '^'
790 { 1552 {
791 match('^'); 1553 match('^');
792 1554
@@ -804,18 +1566,18 @@ public class InternalSolverLanguageLexer extends Lexer {
804 recover(mse); 1566 recover(mse);
805 throw mse;} 1567 throw mse;}
806 1568
807 // InternalSolverLanguage.g:5817:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 1569 // InternalSolverLanguage.g:9128:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
808 loop3: 1570 loop4:
809 do { 1571 do {
810 int alt3=2; 1572 int alt4=2;
811 int LA3_0 = input.LA(1); 1573 int LA4_0 = input.LA(1);
812 1574
813 if ( ((LA3_0>='0' && LA3_0<='9')||(LA3_0>='A' && LA3_0<='Z')||LA3_0=='_'||(LA3_0>='a' && LA3_0<='z')) ) { 1575 if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
814 alt3=1; 1576 alt4=1;
815 } 1577 }
816 1578
817 1579
818 switch (alt3) { 1580 switch (alt4) {
819 case 1 : 1581 case 1 :
820 // InternalSolverLanguage.g: 1582 // InternalSolverLanguage.g:
821 { 1583 {
@@ -833,7 +1595,7 @@ public class InternalSolverLanguageLexer extends Lexer {
833 break; 1595 break;
834 1596
835 default : 1597 default :
836 break loop3; 1598 break loop4;
837 } 1599 }
838 } while (true); 1600 } while (true);
839 1601
@@ -853,24 +1615,24 @@ public class InternalSolverLanguageLexer extends Lexer {
853 try { 1615 try {
854 int _type = RULE_INT; 1616 int _type = RULE_INT;
855 int _channel = DEFAULT_TOKEN_CHANNEL; 1617 int _channel = DEFAULT_TOKEN_CHANNEL;
856 // InternalSolverLanguage.g:5819:10: ( ( '0' .. '9' )+ ) 1618 // InternalSolverLanguage.g:9130:10: ( ( '0' .. '9' )+ )
857 // InternalSolverLanguage.g:5819:12: ( '0' .. '9' )+ 1619 // InternalSolverLanguage.g:9130:12: ( '0' .. '9' )+
858 { 1620 {
859 // InternalSolverLanguage.g:5819:12: ( '0' .. '9' )+ 1621 // InternalSolverLanguage.g:9130:12: ( '0' .. '9' )+
860 int cnt4=0; 1622 int cnt5=0;
861 loop4: 1623 loop5:
862 do { 1624 do {
863 int alt4=2; 1625 int alt5=2;
864 int LA4_0 = input.LA(1); 1626 int LA5_0 = input.LA(1);
865 1627
866 if ( ((LA4_0>='0' && LA4_0<='9')) ) { 1628 if ( ((LA5_0>='0' && LA5_0<='9')) ) {
867 alt4=1; 1629 alt5=1;
868 } 1630 }
869 1631
870 1632
871 switch (alt4) { 1633 switch (alt5) {
872 case 1 : 1634 case 1 :
873 // InternalSolverLanguage.g:5819:13: '0' .. '9' 1635 // InternalSolverLanguage.g:9130:13: '0' .. '9'
874 { 1636 {
875 matchRange('0','9'); 1637 matchRange('0','9');
876 1638
@@ -878,12 +1640,12 @@ public class InternalSolverLanguageLexer extends Lexer {
878 break; 1640 break;
879 1641
880 default : 1642 default :
881 if ( cnt4 >= 1 ) break loop4; 1643 if ( cnt5 >= 1 ) break loop5;
882 EarlyExitException eee = 1644 EarlyExitException eee =
883 new EarlyExitException(4, input); 1645 new EarlyExitException(5, input);
884 throw eee; 1646 throw eee;
885 } 1647 }
886 cnt4++; 1648 cnt5++;
887 } while (true); 1649 } while (true);
888 1650
889 1651
@@ -902,37 +1664,37 @@ public class InternalSolverLanguageLexer extends Lexer {
902 try { 1664 try {
903 int _type = RULE_ML_COMMENT; 1665 int _type = RULE_ML_COMMENT;
904 int _channel = DEFAULT_TOKEN_CHANNEL; 1666 int _channel = DEFAULT_TOKEN_CHANNEL;
905 // InternalSolverLanguage.g:5821:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) 1667 // InternalSolverLanguage.g:9132:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
906 // InternalSolverLanguage.g:5821:19: '/*' ( options {greedy=false; } : . )* '*/' 1668 // InternalSolverLanguage.g:9132:19: '/*' ( options {greedy=false; } : . )* '*/'
907 { 1669 {
908 match("/*"); 1670 match("/*");
909 1671
910 // InternalSolverLanguage.g:5821:24: ( options {greedy=false; } : . )* 1672 // InternalSolverLanguage.g:9132:24: ( options {greedy=false; } : . )*
911 loop5: 1673 loop6:
912 do { 1674 do {
913 int alt5=2; 1675 int alt6=2;
914 int LA5_0 = input.LA(1); 1676 int LA6_0 = input.LA(1);
915 1677
916 if ( (LA5_0=='*') ) { 1678 if ( (LA6_0=='*') ) {
917 int LA5_1 = input.LA(2); 1679 int LA6_1 = input.LA(2);
918 1680
919 if ( (LA5_1=='/') ) { 1681 if ( (LA6_1=='/') ) {
920 alt5=2; 1682 alt6=2;
921 } 1683 }
922 else if ( ((LA5_1>='\u0000' && LA5_1<='.')||(LA5_1>='0' && LA5_1<='\uFFFF')) ) { 1684 else if ( ((LA6_1>='\u0000' && LA6_1<='.')||(LA6_1>='0' && LA6_1<='\uFFFF')) ) {
923 alt5=1; 1685 alt6=1;
924 } 1686 }
925 1687
926 1688
927 } 1689 }
928 else if ( ((LA5_0>='\u0000' && LA5_0<=')')||(LA5_0>='+' && LA5_0<='\uFFFF')) ) { 1690 else if ( ((LA6_0>='\u0000' && LA6_0<=')')||(LA6_0>='+' && LA6_0<='\uFFFF')) ) {
929 alt5=1; 1691 alt6=1;
930 } 1692 }
931 1693
932 1694
933 switch (alt5) { 1695 switch (alt6) {
934 case 1 : 1696 case 1 :
935 // InternalSolverLanguage.g:5821:52: . 1697 // InternalSolverLanguage.g:9132:52: .
936 { 1698 {
937 matchAny(); 1699 matchAny();
938 1700
@@ -940,7 +1702,7 @@ public class InternalSolverLanguageLexer extends Lexer {
940 break; 1702 break;
941 1703
942 default : 1704 default :
943 break loop5; 1705 break loop6;
944 } 1706 }
945 } while (true); 1707 } while (true);
946 1708
@@ -962,25 +1724,25 @@ public class InternalSolverLanguageLexer extends Lexer {
962 try { 1724 try {
963 int _type = RULE_SL_COMMENT; 1725 int _type = RULE_SL_COMMENT;
964 int _channel = DEFAULT_TOKEN_CHANNEL; 1726 int _channel = DEFAULT_TOKEN_CHANNEL;
965 // InternalSolverLanguage.g:5823:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) 1727 // InternalSolverLanguage.g:9134:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
966 // InternalSolverLanguage.g:5823:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? 1728 // InternalSolverLanguage.g:9134:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
967 { 1729 {
968 match("//"); 1730 match("//");
969 1731
970 // InternalSolverLanguage.g:5823:24: (~ ( ( '\\n' | '\\r' ) ) )* 1732 // InternalSolverLanguage.g:9134:24: (~ ( ( '\\n' | '\\r' ) ) )*
971 loop6: 1733 loop7:
972 do { 1734 do {
973 int alt6=2; 1735 int alt7=2;
974 int LA6_0 = input.LA(1); 1736 int LA7_0 = input.LA(1);
975 1737
976 if ( ((LA6_0>='\u0000' && LA6_0<='\t')||(LA6_0>='\u000B' && LA6_0<='\f')||(LA6_0>='\u000E' && LA6_0<='\uFFFF')) ) { 1738 if ( ((LA7_0>='\u0000' && LA7_0<='\t')||(LA7_0>='\u000B' && LA7_0<='\f')||(LA7_0>='\u000E' && LA7_0<='\uFFFF')) ) {
977 alt6=1; 1739 alt7=1;
978 } 1740 }
979 1741
980 1742
981 switch (alt6) { 1743 switch (alt7) {
982 case 1 : 1744 case 1 :
983 // InternalSolverLanguage.g:5823:24: ~ ( ( '\\n' | '\\r' ) ) 1745 // InternalSolverLanguage.g:9134:24: ~ ( ( '\\n' | '\\r' ) )
984 { 1746 {
985 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') ) { 1747 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') ) {
986 input.consume(); 1748 input.consume();
@@ -996,31 +1758,31 @@ public class InternalSolverLanguageLexer extends Lexer {
996 break; 1758 break;
997 1759
998 default : 1760 default :
999 break loop6; 1761 break loop7;
1000 } 1762 }
1001 } while (true); 1763 } while (true);
1002 1764
1003 // InternalSolverLanguage.g:5823:40: ( ( '\\r' )? '\\n' )? 1765 // InternalSolverLanguage.g:9134:40: ( ( '\\r' )? '\\n' )?
1004 int alt8=2; 1766 int alt9=2;
1005 int LA8_0 = input.LA(1); 1767 int LA9_0 = input.LA(1);
1006 1768
1007 if ( (LA8_0=='\n'||LA8_0=='\r') ) { 1769 if ( (LA9_0=='\n'||LA9_0=='\r') ) {
1008 alt8=1; 1770 alt9=1;
1009 } 1771 }
1010 switch (alt8) { 1772 switch (alt9) {
1011 case 1 : 1773 case 1 :
1012 // InternalSolverLanguage.g:5823:41: ( '\\r' )? '\\n' 1774 // InternalSolverLanguage.g:9134:41: ( '\\r' )? '\\n'
1013 { 1775 {
1014 // InternalSolverLanguage.g:5823:41: ( '\\r' )? 1776 // InternalSolverLanguage.g:9134:41: ( '\\r' )?
1015 int alt7=2; 1777 int alt8=2;
1016 int LA7_0 = input.LA(1); 1778 int LA8_0 = input.LA(1);
1017 1779
1018 if ( (LA7_0=='\r') ) { 1780 if ( (LA8_0=='\r') ) {
1019 alt7=1; 1781 alt8=1;
1020 } 1782 }
1021 switch (alt7) { 1783 switch (alt8) {
1022 case 1 : 1784 case 1 :
1023 // InternalSolverLanguage.g:5823:41: '\\r' 1785 // InternalSolverLanguage.g:9134:41: '\\r'
1024 { 1786 {
1025 match('\r'); 1787 match('\r');
1026 1788
@@ -1052,22 +1814,22 @@ public class InternalSolverLanguageLexer extends Lexer {
1052 try { 1814 try {
1053 int _type = RULE_WS; 1815 int _type = RULE_WS;
1054 int _channel = DEFAULT_TOKEN_CHANNEL; 1816 int _channel = DEFAULT_TOKEN_CHANNEL;
1055 // InternalSolverLanguage.g:5825:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) 1817 // InternalSolverLanguage.g:9136:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
1056 // InternalSolverLanguage.g:5825:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1818 // InternalSolverLanguage.g:9136:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1057 { 1819 {
1058 // InternalSolverLanguage.g:5825:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1820 // InternalSolverLanguage.g:9136:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1059 int cnt9=0; 1821 int cnt10=0;
1060 loop9: 1822 loop10:
1061 do { 1823 do {
1062 int alt9=2; 1824 int alt10=2;
1063 int LA9_0 = input.LA(1); 1825 int LA10_0 = input.LA(1);
1064 1826
1065 if ( ((LA9_0>='\t' && LA9_0<='\n')||LA9_0=='\r'||LA9_0==' ') ) { 1827 if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) {
1066 alt9=1; 1828 alt10=1;
1067 } 1829 }
1068 1830
1069 1831
1070 switch (alt9) { 1832 switch (alt10) {
1071 case 1 : 1833 case 1 :
1072 // InternalSolverLanguage.g: 1834 // InternalSolverLanguage.g:
1073 { 1835 {
@@ -1085,12 +1847,12 @@ public class InternalSolverLanguageLexer extends Lexer {
1085 break; 1847 break;
1086 1848
1087 default : 1849 default :
1088 if ( cnt9 >= 1 ) break loop9; 1850 if ( cnt10 >= 1 ) break loop10;
1089 EarlyExitException eee = 1851 EarlyExitException eee =
1090 new EarlyExitException(9, input); 1852 new EarlyExitException(10, input);
1091 throw eee; 1853 throw eee;
1092 } 1854 }
1093 cnt9++; 1855 cnt10++;
1094 } while (true); 1856 } while (true);
1095 1857
1096 1858
@@ -1109,8 +1871,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1109 try { 1871 try {
1110 int _type = RULE_ANY_OTHER; 1872 int _type = RULE_ANY_OTHER;
1111 int _channel = DEFAULT_TOKEN_CHANNEL; 1873 int _channel = DEFAULT_TOKEN_CHANNEL;
1112 // InternalSolverLanguage.g:5827:16: ( . ) 1874 // InternalSolverLanguage.g:9138:16: ( . )
1113 // InternalSolverLanguage.g:5827:18: . 1875 // InternalSolverLanguage.g:9138:18: .
1114 { 1876 {
1115 matchAny(); 1877 matchAny();
1116 1878
@@ -1125,271 +1887,502 @@ public class InternalSolverLanguageLexer extends Lexer {
1125 // $ANTLR end "RULE_ANY_OTHER" 1887 // $ANTLR end "RULE_ANY_OTHER"
1126 1888
1127 public void mTokens() throws RecognitionException { 1889 public void mTokens() throws RecognitionException {
1128 // InternalSolverLanguage.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | RULE_STRING | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) 1890 // InternalSolverLanguage.g:1:8: ( T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | RULE_STRING | RULE_QUOTED_ID | RULE_PLUS | RULE_STAR | RULE_DOT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
1129 int alt10=38; 1891 int alt11=71;
1130 alt10 = dfa10.predict(input); 1892 alt11 = dfa11.predict(input);
1131 switch (alt10) { 1893 switch (alt11) {
1132 case 1 : 1894 case 1 :
1133 // InternalSolverLanguage.g:1:10: T__11 1895 // InternalSolverLanguage.g:1:10: T__15
1134 { 1896 {
1135 mT__11(); 1897 mT__15();
1136 1898
1137 } 1899 }
1138 break; 1900 break;
1139 case 2 : 1901 case 2 :
1140 // InternalSolverLanguage.g:1:16: T__12 1902 // InternalSolverLanguage.g:1:16: T__16
1141 { 1903 {
1142 mT__12(); 1904 mT__16();
1143 1905
1144 } 1906 }
1145 break; 1907 break;
1146 case 3 : 1908 case 3 :
1147 // InternalSolverLanguage.g:1:22: T__13 1909 // InternalSolverLanguage.g:1:22: T__17
1148 { 1910 {
1149 mT__13(); 1911 mT__17();
1150 1912
1151 } 1913 }
1152 break; 1914 break;
1153 case 4 : 1915 case 4 :
1154 // InternalSolverLanguage.g:1:28: T__14 1916 // InternalSolverLanguage.g:1:28: T__18
1155 { 1917 {
1156 mT__14(); 1918 mT__18();
1157 1919
1158 } 1920 }
1159 break; 1921 break;
1160 case 5 : 1922 case 5 :
1161 // InternalSolverLanguage.g:1:34: T__15 1923 // InternalSolverLanguage.g:1:34: T__19
1162 { 1924 {
1163 mT__15(); 1925 mT__19();
1164 1926
1165 } 1927 }
1166 break; 1928 break;
1167 case 6 : 1929 case 6 :
1168 // InternalSolverLanguage.g:1:40: T__16 1930 // InternalSolverLanguage.g:1:40: T__20
1169 { 1931 {
1170 mT__16(); 1932 mT__20();
1171 1933
1172 } 1934 }
1173 break; 1935 break;
1174 case 7 : 1936 case 7 :
1175 // InternalSolverLanguage.g:1:46: T__17 1937 // InternalSolverLanguage.g:1:46: T__21
1176 { 1938 {
1177 mT__17(); 1939 mT__21();
1178 1940
1179 } 1941 }
1180 break; 1942 break;
1181 case 8 : 1943 case 8 :
1182 // InternalSolverLanguage.g:1:52: T__18 1944 // InternalSolverLanguage.g:1:52: T__22
1183 { 1945 {
1184 mT__18(); 1946 mT__22();
1185 1947
1186 } 1948 }
1187 break; 1949 break;
1188 case 9 : 1950 case 9 :
1189 // InternalSolverLanguage.g:1:58: T__19 1951 // InternalSolverLanguage.g:1:58: T__23
1190 { 1952 {
1191 mT__19(); 1953 mT__23();
1192 1954
1193 } 1955 }
1194 break; 1956 break;
1195 case 10 : 1957 case 10 :
1196 // InternalSolverLanguage.g:1:64: T__20 1958 // InternalSolverLanguage.g:1:64: T__24
1197 { 1959 {
1198 mT__20(); 1960 mT__24();
1199 1961
1200 } 1962 }
1201 break; 1963 break;
1202 case 11 : 1964 case 11 :
1203 // InternalSolverLanguage.g:1:70: T__21 1965 // InternalSolverLanguage.g:1:70: T__25
1204 { 1966 {
1205 mT__21(); 1967 mT__25();
1206 1968
1207 } 1969 }
1208 break; 1970 break;
1209 case 12 : 1971 case 12 :
1210 // InternalSolverLanguage.g:1:76: T__22 1972 // InternalSolverLanguage.g:1:76: T__26
1211 { 1973 {
1212 mT__22(); 1974 mT__26();
1213 1975
1214 } 1976 }
1215 break; 1977 break;
1216 case 13 : 1978 case 13 :
1217 // InternalSolverLanguage.g:1:82: T__23 1979 // InternalSolverLanguage.g:1:82: T__27
1218 { 1980 {
1219 mT__23(); 1981 mT__27();
1220 1982
1221 } 1983 }
1222 break; 1984 break;
1223 case 14 : 1985 case 14 :
1224 // InternalSolverLanguage.g:1:88: T__24 1986 // InternalSolverLanguage.g:1:88: T__28
1225 { 1987 {
1226 mT__24(); 1988 mT__28();
1227 1989
1228 } 1990 }
1229 break; 1991 break;
1230 case 15 : 1992 case 15 :
1231 // InternalSolverLanguage.g:1:94: T__25 1993 // InternalSolverLanguage.g:1:94: T__29
1232 { 1994 {
1233 mT__25(); 1995 mT__29();
1234 1996
1235 } 1997 }
1236 break; 1998 break;
1237 case 16 : 1999 case 16 :
1238 // InternalSolverLanguage.g:1:100: T__26 2000 // InternalSolverLanguage.g:1:100: T__30
1239 { 2001 {
1240 mT__26(); 2002 mT__30();
1241 2003
1242 } 2004 }
1243 break; 2005 break;
1244 case 17 : 2006 case 17 :
1245 // InternalSolverLanguage.g:1:106: T__27 2007 // InternalSolverLanguage.g:1:106: T__31
1246 { 2008 {
1247 mT__27(); 2009 mT__31();
1248 2010
1249 } 2011 }
1250 break; 2012 break;
1251 case 18 : 2013 case 18 :
1252 // InternalSolverLanguage.g:1:112: T__28 2014 // InternalSolverLanguage.g:1:112: T__32
1253 { 2015 {
1254 mT__28(); 2016 mT__32();
1255 2017
1256 } 2018 }
1257 break; 2019 break;
1258 case 19 : 2020 case 19 :
1259 // InternalSolverLanguage.g:1:118: T__29 2021 // InternalSolverLanguage.g:1:118: T__33
1260 { 2022 {
1261 mT__29(); 2023 mT__33();
1262 2024
1263 } 2025 }
1264 break; 2026 break;
1265 case 20 : 2027 case 20 :
1266 // InternalSolverLanguage.g:1:124: T__30 2028 // InternalSolverLanguage.g:1:124: T__34
1267 { 2029 {
1268 mT__30(); 2030 mT__34();
1269 2031
1270 } 2032 }
1271 break; 2033 break;
1272 case 21 : 2034 case 21 :
1273 // InternalSolverLanguage.g:1:130: T__31 2035 // InternalSolverLanguage.g:1:130: T__35
1274 { 2036 {
1275 mT__31(); 2037 mT__35();
1276 2038
1277 } 2039 }
1278 break; 2040 break;
1279 case 22 : 2041 case 22 :
1280 // InternalSolverLanguage.g:1:136: T__32 2042 // InternalSolverLanguage.g:1:136: T__36
1281 { 2043 {
1282 mT__32(); 2044 mT__36();
1283 2045
1284 } 2046 }
1285 break; 2047 break;
1286 case 23 : 2048 case 23 :
1287 // InternalSolverLanguage.g:1:142: T__33 2049 // InternalSolverLanguage.g:1:142: T__37
1288 { 2050 {
1289 mT__33(); 2051 mT__37();
1290 2052
1291 } 2053 }
1292 break; 2054 break;
1293 case 24 : 2055 case 24 :
1294 // InternalSolverLanguage.g:1:148: T__34 2056 // InternalSolverLanguage.g:1:148: T__38
1295 { 2057 {
1296 mT__34(); 2058 mT__38();
1297 2059
1298 } 2060 }
1299 break; 2061 break;
1300 case 25 : 2062 case 25 :
1301 // InternalSolverLanguage.g:1:154: T__35 2063 // InternalSolverLanguage.g:1:154: T__39
1302 { 2064 {
1303 mT__35(); 2065 mT__39();
1304 2066
1305 } 2067 }
1306 break; 2068 break;
1307 case 26 : 2069 case 26 :
1308 // InternalSolverLanguage.g:1:160: T__36 2070 // InternalSolverLanguage.g:1:160: T__40
1309 { 2071 {
1310 mT__36(); 2072 mT__40();
1311 2073
1312 } 2074 }
1313 break; 2075 break;
1314 case 27 : 2076 case 27 :
1315 // InternalSolverLanguage.g:1:166: T__37 2077 // InternalSolverLanguage.g:1:166: T__41
1316 { 2078 {
1317 mT__37(); 2079 mT__41();
1318 2080
1319 } 2081 }
1320 break; 2082 break;
1321 case 28 : 2083 case 28 :
1322 // InternalSolverLanguage.g:1:172: T__38 2084 // InternalSolverLanguage.g:1:172: T__42
1323 { 2085 {
1324 mT__38(); 2086 mT__42();
1325 2087
1326 } 2088 }
1327 break; 2089 break;
1328 case 29 : 2090 case 29 :
1329 // InternalSolverLanguage.g:1:178: T__39 2091 // InternalSolverLanguage.g:1:178: T__43
1330 { 2092 {
1331 mT__39(); 2093 mT__43();
1332 2094
1333 } 2095 }
1334 break; 2096 break;
1335 case 30 : 2097 case 30 :
1336 // InternalSolverLanguage.g:1:184: T__40 2098 // InternalSolverLanguage.g:1:184: T__44
1337 { 2099 {
1338 mT__40(); 2100 mT__44();
1339 2101
1340 } 2102 }
1341 break; 2103 break;
1342 case 31 : 2104 case 31 :
1343 // InternalSolverLanguage.g:1:190: T__41 2105 // InternalSolverLanguage.g:1:190: T__45
1344 { 2106 {
1345 mT__41(); 2107 mT__45();
1346 2108
1347 } 2109 }
1348 break; 2110 break;
1349 case 32 : 2111 case 32 :
1350 // InternalSolverLanguage.g:1:196: RULE_STRING 2112 // InternalSolverLanguage.g:1:196: T__46
1351 { 2113 {
1352 mRULE_STRING(); 2114 mT__46();
1353 2115
1354 } 2116 }
1355 break; 2117 break;
1356 case 33 : 2118 case 33 :
1357 // InternalSolverLanguage.g:1:208: RULE_ID 2119 // InternalSolverLanguage.g:1:202: T__47
1358 { 2120 {
1359 mRULE_ID(); 2121 mT__47();
1360 2122
1361 } 2123 }
1362 break; 2124 break;
1363 case 34 : 2125 case 34 :
1364 // InternalSolverLanguage.g:1:216: RULE_INT 2126 // InternalSolverLanguage.g:1:208: T__48
1365 { 2127 {
1366 mRULE_INT(); 2128 mT__48();
1367 2129
1368 } 2130 }
1369 break; 2131 break;
1370 case 35 : 2132 case 35 :
1371 // InternalSolverLanguage.g:1:225: RULE_ML_COMMENT 2133 // InternalSolverLanguage.g:1:214: T__49
1372 { 2134 {
1373 mRULE_ML_COMMENT(); 2135 mT__49();
1374 2136
1375 } 2137 }
1376 break; 2138 break;
1377 case 36 : 2139 case 36 :
1378 // InternalSolverLanguage.g:1:241: RULE_SL_COMMENT 2140 // InternalSolverLanguage.g:1:220: T__50
1379 { 2141 {
1380 mRULE_SL_COMMENT(); 2142 mT__50();
1381 2143
1382 } 2144 }
1383 break; 2145 break;
1384 case 37 : 2146 case 37 :
1385 // InternalSolverLanguage.g:1:257: RULE_WS 2147 // InternalSolverLanguage.g:1:226: T__51
1386 { 2148 {
1387 mRULE_WS(); 2149 mT__51();
1388 2150
1389 } 2151 }
1390 break; 2152 break;
1391 case 38 : 2153 case 38 :
1392 // InternalSolverLanguage.g:1:265: RULE_ANY_OTHER 2154 // InternalSolverLanguage.g:1:232: T__52
2155 {
2156 mT__52();
2157
2158 }
2159 break;
2160 case 39 :
2161 // InternalSolverLanguage.g:1:238: T__53
2162 {
2163 mT__53();
2164
2165 }
2166 break;
2167 case 40 :
2168 // InternalSolverLanguage.g:1:244: T__54
2169 {
2170 mT__54();
2171
2172 }
2173 break;
2174 case 41 :
2175 // InternalSolverLanguage.g:1:250: T__55
2176 {
2177 mT__55();
2178
2179 }
2180 break;
2181 case 42 :
2182 // InternalSolverLanguage.g:1:256: T__56
2183 {
2184 mT__56();
2185
2186 }
2187 break;
2188 case 43 :
2189 // InternalSolverLanguage.g:1:262: T__57
2190 {
2191 mT__57();
2192
2193 }
2194 break;
2195 case 44 :
2196 // InternalSolverLanguage.g:1:268: T__58
2197 {
2198 mT__58();
2199
2200 }
2201 break;
2202 case 45 :
2203 // InternalSolverLanguage.g:1:274: T__59
2204 {
2205 mT__59();
2206
2207 }
2208 break;
2209 case 46 :
2210 // InternalSolverLanguage.g:1:280: T__60
2211 {
2212 mT__60();
2213
2214 }
2215 break;
2216 case 47 :
2217 // InternalSolverLanguage.g:1:286: T__61
2218 {
2219 mT__61();
2220
2221 }
2222 break;
2223 case 48 :
2224 // InternalSolverLanguage.g:1:292: T__62
2225 {
2226 mT__62();
2227
2228 }
2229 break;
2230 case 49 :
2231 // InternalSolverLanguage.g:1:298: T__63
2232 {
2233 mT__63();
2234
2235 }
2236 break;
2237 case 50 :
2238 // InternalSolverLanguage.g:1:304: T__64
2239 {
2240 mT__64();
2241
2242 }
2243 break;
2244 case 51 :
2245 // InternalSolverLanguage.g:1:310: T__65
2246 {
2247 mT__65();
2248
2249 }
2250 break;
2251 case 52 :
2252 // InternalSolverLanguage.g:1:316: T__66
2253 {
2254 mT__66();
2255
2256 }
2257 break;
2258 case 53 :
2259 // InternalSolverLanguage.g:1:322: T__67
2260 {
2261 mT__67();
2262
2263 }
2264 break;
2265 case 54 :
2266 // InternalSolverLanguage.g:1:328: T__68
2267 {
2268 mT__68();
2269
2270 }
2271 break;
2272 case 55 :
2273 // InternalSolverLanguage.g:1:334: T__69
2274 {
2275 mT__69();
2276
2277 }
2278 break;
2279 case 56 :
2280 // InternalSolverLanguage.g:1:340: T__70
2281 {
2282 mT__70();
2283
2284 }
2285 break;
2286 case 57 :
2287 // InternalSolverLanguage.g:1:346: T__71
2288 {
2289 mT__71();
2290
2291 }
2292 break;
2293 case 58 :
2294 // InternalSolverLanguage.g:1:352: T__72
2295 {
2296 mT__72();
2297
2298 }
2299 break;
2300 case 59 :
2301 // InternalSolverLanguage.g:1:358: T__73
2302 {
2303 mT__73();
2304
2305 }
2306 break;
2307 case 60 :
2308 // InternalSolverLanguage.g:1:364: T__74
2309 {
2310 mT__74();
2311
2312 }
2313 break;
2314 case 61 :
2315 // InternalSolverLanguage.g:1:370: RULE_STRING
2316 {
2317 mRULE_STRING();
2318
2319 }
2320 break;
2321 case 62 :
2322 // InternalSolverLanguage.g:1:382: RULE_QUOTED_ID
2323 {
2324 mRULE_QUOTED_ID();
2325
2326 }
2327 break;
2328 case 63 :
2329 // InternalSolverLanguage.g:1:397: RULE_PLUS
2330 {
2331 mRULE_PLUS();
2332
2333 }
2334 break;
2335 case 64 :
2336 // InternalSolverLanguage.g:1:407: RULE_STAR
2337 {
2338 mRULE_STAR();
2339
2340 }
2341 break;
2342 case 65 :
2343 // InternalSolverLanguage.g:1:417: RULE_DOT
2344 {
2345 mRULE_DOT();
2346
2347 }
2348 break;
2349 case 66 :
2350 // InternalSolverLanguage.g:1:426: RULE_ID
2351 {
2352 mRULE_ID();
2353
2354 }
2355 break;
2356 case 67 :
2357 // InternalSolverLanguage.g:1:434: RULE_INT
2358 {
2359 mRULE_INT();
2360
2361 }
2362 break;
2363 case 68 :
2364 // InternalSolverLanguage.g:1:443: RULE_ML_COMMENT
2365 {
2366 mRULE_ML_COMMENT();
2367
2368 }
2369 break;
2370 case 69 :
2371 // InternalSolverLanguage.g:1:459: RULE_SL_COMMENT
2372 {
2373 mRULE_SL_COMMENT();
2374
2375 }
2376 break;
2377 case 70 :
2378 // InternalSolverLanguage.g:1:475: RULE_WS
2379 {
2380 mRULE_WS();
2381
2382 }
2383 break;
2384 case 71 :
2385 // InternalSolverLanguage.g:1:483: RULE_ANY_OTHER
1393 { 2386 {
1394 mRULE_ANY_OTHER(); 2387 mRULE_ANY_OTHER();
1395 2388
@@ -1401,286 +2394,408 @@ public class InternalSolverLanguageLexer extends Lexer {
1401 } 2394 }
1402 2395
1403 2396
1404 protected DFA10 dfa10 = new DFA10(this); 2397 protected DFA11 dfa11 = new DFA11(this);
1405 static final String DFA10_eotS = 2398 static final String DFA11_eotS =
1406 "\1\uffff\2\40\1\uffff\1\44\2\40\1\53\3\uffff\4\40\4\uffff\2\40\2\uffff\1\40\2\36\2\uffff\1\36\2\uffff\1\40\1\uffff\1\40\3\uffff\5\40\5\uffff\4\40\4\uffff\3\40\2\uffff\1\40\5\uffff\11\40\1\134\10\40\1\145\5\40\1\153\1\154\1\uffff\1\155\6\40\1\164\1\uffff\1\40\1\166\3\40\3\uffff\3\40\1\175\2\40\1\uffff\1\40\1\uffff\1\u0081\1\40\1\u0083\1\40\1\u0085\1\40\1\uffff\2\40\1\u0089\1\uffff\1\u008a\1\uffff\1\40\1\uffff\1\u008c\2\40\2\uffff\1\u008f\1\uffff\1\40\1\u0091\1\uffff\1\40\1\uffff\1\40\1\u0094\1\uffff"; 2399 "\1\uffff\1\50\1\uffff\2\51\1\57\1\61\1\63\1\65\1\uffff\1\70\1\73\12\51\1\124\1\51\1\127\11\uffff\2\47\7\uffff\1\147\1\150\1\51\16\uffff\27\51\2\uffff\1\51\17\uffff\1\u0084\1\u0085\2\uffff\1\51\1\u0087\1\u0089\1\51\1\u008c\6\51\1\u0093\3\51\1\u0097\13\51\2\uffff\1\u00a3\1\uffff\1\51\1\uffff\1\u00a5\1\51\1\uffff\4\51\1\u00ab\1\51\1\uffff\2\51\1\u00af\1\uffff\1\51\1\u00b1\1\u00b2\5\51\1\u00b9\2\51\1\uffff\1\51\1\uffff\2\51\1\u00bf\1\51\1\u00c1\1\uffff\1\51\1\u00c3\1\51\1\uffff\1\51\2\uffff\1\u00c6\2\51\1\u00c9\2\51\1\uffff\1\u00cc\4\51\1\uffff\1\51\1\uffff\1\51\1\uffff\2\51\1\uffff\2\51\1\uffff\1\u00d7\1\51\1\uffff\3\51\1\u00dc\5\51\1\u00e2\1\uffff\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\uffff\1\u00e7\1\u00e8\1\51\1\u00ea\1\51\7\uffff\1\51\1\uffff\1\51\1\uffff\1\u00ef\5\uffff";
1407 static final String DFA10_eofS = 2400 static final String DFA11_eofS =
1408 "\u0095\uffff"; 2401 "\u00f3\uffff";
1409 static final String DFA10_minS = 2402 static final String DFA11_minS =
1410 "\1\0\1\141\1\162\1\uffff\1\56\2\156\1\55\3\uffff\1\157\1\156\1\145\1\164\4\uffff\1\145\1\154\2\uffff\1\142\1\0\1\101\2\uffff\1\52\2\uffff\1\154\1\uffff\1\165\3\uffff\1\153\1\162\1\151\2\165\5\uffff\1\157\1\164\1\141\1\162\4\uffff\1\146\1\141\1\156\2\uffff\1\163\5\uffff\1\163\1\145\1\156\1\157\1\163\1\145\1\141\1\155\1\154\1\60\1\154\1\141\1\151\1\141\1\163\2\164\1\145\1\60\1\157\1\162\1\164\1\156\1\154\2\60\1\uffff\1\60\1\164\1\156\1\165\1\163\1\141\1\162\1\60\1\uffff\1\167\1\60\1\163\1\144\1\163\3\uffff\1\151\1\147\1\154\1\60\1\151\1\141\1\uffff\1\156\1\uffff\1\60\1\163\1\60\1\157\1\60\1\164\1\uffff\1\156\1\143\1\60\1\uffff\1\60\1\uffff\1\156\1\uffff\1\60\1\155\1\164\2\uffff\1\60\1\uffff\1\145\1\60\1\uffff\1\156\1\uffff\1\164\1\60\1\uffff"; 2403 "\1\0\1\101\1\uffff\1\146\1\145\4\75\1\uffff\1\76\1\52\1\141\1\154\1\156\1\143\1\162\1\142\1\150\1\141\1\156\1\154\1\55\1\145\1\56\11\uffff\2\0\7\uffff\2\60\1\141\16\uffff\1\170\1\163\1\156\1\162\1\156\1\141\1\154\1\160\1\155\1\157\1\156\1\157\1\147\1\163\1\165\1\145\1\154\1\156\1\153\1\162\1\164\1\163\1\160\2\uffff\1\146\17\uffff\2\60\2\uffff\1\154\2\60\1\164\1\60\1\162\1\156\1\164\1\163\1\171\1\157\1\60\1\160\1\164\1\144\1\60\1\164\1\145\1\156\1\163\1\143\1\156\1\157\2\145\1\164\1\141\2\uffff\1\60\1\uffff\1\155\1\uffff\1\60\1\155\1\uffff\1\145\1\164\1\141\1\163\1\60\1\163\1\uffff\1\145\1\150\1\60\1\uffff\1\162\2\60\1\145\1\164\1\157\1\162\1\156\1\60\1\171\1\165\1\uffff\1\151\1\uffff\1\151\1\156\1\60\1\151\1\60\1\uffff\1\151\1\60\1\145\1\uffff\1\141\2\uffff\1\60\1\151\1\167\1\60\1\156\1\144\1\uffff\1\60\1\154\2\172\1\164\1\uffff\1\156\1\uffff\1\164\1\uffff\1\164\1\143\1\uffff\1\157\1\156\1\uffff\1\60\1\163\1\uffff\1\164\2\145\1\60\1\163\1\145\1\151\1\164\1\156\1\60\1\uffff\4\60\1\uffff\2\60\1\143\1\60\1\141\7\uffff\1\72\1\uffff\1\154\1\72\1\60\1\144\4\uffff";
1411 static final String DFA10_maxS = 2404 static final String DFA11_maxS =
1412 "\1\uffff\1\141\1\162\1\uffff\1\56\1\156\1\170\1\55\3\uffff\1\157\1\156\1\145\1\164\4\uffff\1\145\1\157\2\uffff\1\142\1\uffff\1\172\2\uffff\1\57\2\uffff\1\154\1\uffff\1\165\3\uffff\1\153\1\162\1\164\2\165\5\uffff\1\157\1\164\1\154\1\162\4\uffff\1\146\1\141\1\156\2\uffff\1\163\5\uffff\1\163\1\145\1\156\1\157\1\163\1\145\1\141\1\155\1\154\1\172\1\154\1\141\1\151\1\141\1\163\2\164\1\145\1\172\1\157\1\162\1\164\1\156\1\154\2\172\1\uffff\1\172\1\164\1\156\1\165\1\163\1\141\1\162\1\172\1\uffff\1\167\1\172\1\163\1\144\1\163\3\uffff\1\151\1\147\1\154\1\172\1\151\1\141\1\uffff\1\156\1\uffff\1\172\1\163\1\172\1\157\1\172\1\164\1\uffff\1\156\1\143\1\172\1\uffff\1\172\1\uffff\1\156\1\uffff\1\172\1\155\1\164\2\uffff\1\172\1\uffff\1\145\1\172\1\uffff\1\156\1\uffff\1\164\1\172\1\uffff"; 2405 "\1\uffff\1\172\1\uffff\1\156\1\145\4\75\1\uffff\1\76\1\57\2\165\1\160\1\171\1\162\1\166\1\162\1\165\1\156\1\170\1\55\1\145\1\56\11\uffff\2\uffff\7\uffff\2\172\1\141\16\uffff\1\171\1\163\1\156\1\162\1\165\1\141\1\154\1\160\1\155\1\157\1\156\1\157\1\147\1\163\1\165\1\145\1\154\1\156\1\153\1\162\1\164\1\163\1\160\2\uffff\1\146\17\uffff\2\172\2\uffff\1\154\2\172\1\164\1\172\1\162\1\156\1\164\1\163\1\171\1\157\1\172\1\160\1\164\1\144\1\172\1\164\1\145\1\156\1\163\1\143\1\156\1\157\2\145\1\164\1\141\2\uffff\1\172\1\uffff\1\155\1\uffff\1\172\1\155\1\uffff\1\145\1\164\1\141\1\163\1\172\1\163\1\uffff\1\145\1\150\1\172\1\uffff\1\162\2\172\1\145\1\164\1\157\2\162\1\172\1\171\1\165\1\uffff\1\151\1\uffff\1\151\1\156\1\172\1\151\1\172\1\uffff\1\151\1\172\1\145\1\uffff\1\141\2\uffff\1\172\1\151\1\167\1\172\1\156\1\144\1\uffff\1\172\1\154\2\172\1\164\1\uffff\1\156\1\uffff\1\164\1\uffff\1\164\1\143\1\uffff\1\157\1\156\1\uffff\1\172\1\163\1\uffff\1\164\2\145\1\172\1\163\1\145\1\151\1\164\1\156\1\172\1\uffff\4\172\1\uffff\2\172\1\143\1\172\1\141\7\uffff\1\72\1\uffff\1\154\1\72\1\172\1\163\4\uffff";
1413 static final String DFA10_acceptS = 2406 static final String DFA11_acceptS =
1414 "\3\uffff\1\3\4\uffff\1\10\1\11\1\12\4\uffff\1\21\1\23\1\24\1\25\2\uffff\1\30\1\31\3\uffff\1\41\1\42\1\uffff\1\45\1\46\1\uffff\1\41\1\uffff\1\3\1\35\1\4\5\uffff\1\22\1\7\1\10\1\11\1\12\4\uffff\1\21\1\23\1\24\1\25\3\uffff\1\30\1\31\1\uffff\1\40\1\42\1\43\1\44\1\45\32\uffff\1\16\10\uffff\1\2\5\uffff\1\33\1\15\1\17\6\uffff\1\1\1\uffff\1\6\6\uffff\1\27\3\uffff\1\13\1\uffff\1\14\1\uffff\1\20\3\uffff\1\5\1\32\1\uffff\1\26\2\uffff\1\34\1\uffff\1\36\2\uffff\1\37"; 2407 "\2\uffff\1\2\6\uffff\1\14\17\uffff\1\50\1\52\1\54\1\55\1\56\1\57\1\60\1\61\1\63\2\uffff\1\102\1\103\1\106\1\107\1\1\1\102\1\2\3\uffff\1\5\1\41\1\6\1\17\1\10\1\7\1\12\1\11\1\14\1\51\1\15\1\104\1\105\1\16\27\uffff\1\40\1\37\1\uffff\1\62\1\44\1\50\1\52\1\54\1\55\1\56\1\57\1\60\1\61\1\63\1\75\1\76\1\103\1\106\2\uffff\1\13\1\45\33\uffff\1\3\1\64\1\uffff\1\20\1\uffff\1\30\2\uffff\1\27\6\uffff\1\24\3\uffff\1\26\13\uffff\1\4\1\uffff\1\21\5\uffff\1\23\3\uffff\1\25\1\uffff\1\31\1\46\6\uffff\1\47\5\uffff\1\53\1\uffff\1\66\1\uffff\1\71\2\uffff\1\32\2\uffff\1\34\2\uffff\1\65\12\uffff\1\43\4\uffff\1\22\5\uffff\1\33\1\67\1\42\1\36\1\35\1\74\1\70\1\uffff\1\73\4\uffff\1\72\1\77\1\100\1\101";
1415 static final String DFA10_specialS = 2408 static final String DFA11_specialS =
1416 "\1\1\27\uffff\1\0\174\uffff}>"; 2409 "\1\1\41\uffff\1\2\1\0\u00cf\uffff}>";
1417 static final String[] DFA10_transitionS = { 2410 static final String[] DFA11_transitionS = {
1418 "\11\36\2\35\2\36\1\35\22\36\1\35\1\36\1\30\4\36\1\17\1\10\1\11\1\22\1\21\1\12\1\3\1\4\1\34\12\33\1\7\6\36\32\32\3\36\1\31\1\32\1\36\1\27\1\13\1\24\1\23\1\6\1\1\2\32\1\14\10\32\1\15\1\16\1\2\1\5\5\32\1\25\1\20\1\26\uff82\36", 2411 "\11\47\2\46\2\47\1\46\22\47\1\46\1\6\1\42\4\47\1\43\1\36\1\37\1\2\1\11\1\32\1\12\1\30\1\13\12\45\1\26\1\31\1\7\1\5\1\10\2\47\32\44\1\40\1\47\1\41\1\1\1\44\1\47\1\21\1\44\1\15\1\27\1\25\1\23\2\44\1\3\3\44\1\14\1\44\1\16\1\20\1\44\1\4\1\17\1\22\1\24\5\44\1\33\1\35\1\34\uff82\47",
1419 "\1\37", 2412 "\32\51\4\uffff\1\51\1\uffff\32\51",
1420 "\1\41",
1421 "", 2413 "",
1422 "\1\43", 2414 "\1\54\7\uffff\1\53",
1423 "\1\45", 2415 "\1\55",
1424 "\1\51\2\uffff\1\50\1\46\5\uffff\1\47", 2416 "\1\56",
1425 "\1\52",
1426 "",
1427 "",
1428 "",
1429 "\1\57",
1430 "\1\60", 2417 "\1\60",
1431 "\1\61",
1432 "\1\62", 2418 "\1\62",
2419 "\1\64",
1433 "", 2420 "",
2421 "\1\67",
2422 "\1\71\4\uffff\1\72",
2423 "\1\74\7\uffff\1\76\13\uffff\1\75",
2424 "\1\101\2\uffff\1\100\5\uffff\1\77",
2425 "\1\102\1\uffff\1\103",
2426 "\1\105\21\uffff\1\104\3\uffff\1\106",
2427 "\1\107",
2428 "\1\111\23\uffff\1\110",
2429 "\1\113\11\uffff\1\112",
2430 "\1\114\23\uffff\1\115",
2431 "\1\116",
2432 "\1\121\1\122\4\uffff\1\117\5\uffff\1\120",
2433 "\1\123",
2434 "\1\125",
2435 "\1\126",
1434 "", 2436 "",
1435 "", 2437 "",
1436 "", 2438 "",
1437 "\1\67",
1438 "\1\70\2\uffff\1\71",
1439 "", 2439 "",
1440 "", 2440 "",
1441 "\1\74",
1442 "\0\75",
1443 "\32\40\4\uffff\1\40\1\uffff\32\40",
1444 "", 2441 "",
1445 "", 2442 "",
1446 "\1\77\4\uffff\1\100",
1447 "", 2443 "",
1448 "", 2444 "",
1449 "\1\102", 2445 "\0\141",
2446 "\0\142",
1450 "", 2447 "",
1451 "\1\103",
1452 "", 2448 "",
1453 "", 2449 "",
1454 "", 2450 "",
1455 "\1\104",
1456 "\1\105",
1457 "\1\106\12\uffff\1\107",
1458 "\1\110",
1459 "\1\111",
1460 "", 2451 "",
1461 "", 2452 "",
1462 "", 2453 "",
2454 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\5\51\1\146\15\51\1\145\6\51",
2455 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2456 "\1\151",
1463 "", 2457 "",
1464 "", 2458 "",
1465 "\1\112",
1466 "\1\113",
1467 "\1\114\12\uffff\1\115",
1468 "\1\116",
1469 "", 2459 "",
1470 "", 2460 "",
1471 "", 2461 "",
1472 "", 2462 "",
1473 "\1\117",
1474 "\1\120",
1475 "\1\121",
1476 "", 2463 "",
1477 "", 2464 "",
1478 "\1\122",
1479 "", 2465 "",
1480 "", 2466 "",
1481 "", 2467 "",
1482 "", 2468 "",
1483 "", 2469 "",
1484 "\1\123",
1485 "\1\124",
1486 "\1\125",
1487 "\1\126",
1488 "\1\127",
1489 "\1\130",
1490 "\1\131",
1491 "\1\132",
1492 "\1\133",
1493 "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
1494 "\1\135",
1495 "\1\136",
1496 "\1\137",
1497 "\1\140",
1498 "\1\141",
1499 "\1\142",
1500 "\1\143",
1501 "\1\144",
1502 "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
1503 "\1\146",
1504 "\1\147",
1505 "\1\150",
1506 "\1\151",
1507 "\1\152",
1508 "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
1509 "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
1510 "", 2470 "",
1511 "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", 2471 "\1\153\1\152",
2472 "\1\154",
2473 "\1\155",
1512 "\1\156", 2474 "\1\156",
1513 "\1\157", 2475 "\1\160\6\uffff\1\157",
1514 "\1\160",
1515 "\1\161", 2476 "\1\161",
1516 "\1\162", 2477 "\1\162",
1517 "\1\163", 2478 "\1\163",
1518 "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", 2479 "\1\164",
1519 "",
1520 "\1\165", 2480 "\1\165",
1521 "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", 2481 "\1\166",
1522 "\1\167", 2482 "\1\167",
1523 "\1\170", 2483 "\1\170",
1524 "\1\171", 2484 "\1\171",
1525 "",
1526 "",
1527 "",
1528 "\1\172", 2485 "\1\172",
1529 "\1\173", 2486 "\1\173",
1530 "\1\174", 2487 "\1\174",
1531 "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", 2488 "\1\175",
1532 "\1\176", 2489 "\1\176",
1533 "\1\177", 2490 "\1\177",
1534 "",
1535 "\1\u0080", 2491 "\1\u0080",
1536 "", 2492 "\1\u0081",
1537 "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
1538 "\1\u0082", 2493 "\1\u0082",
1539 "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
1540 "\1\u0084",
1541 "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
1542 "\1\u0086",
1543 "", 2494 "",
1544 "\1\u0087",
1545 "\1\u0088",
1546 "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
1547 "", 2495 "",
1548 "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", 2496 "\1\u0083",
2497 "",
1549 "", 2498 "",
1550 "\1\u008b",
1551 "", 2499 "",
1552 "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", 2500 "",
2501 "",
2502 "",
2503 "",
2504 "",
2505 "",
2506 "",
2507 "",
2508 "",
2509 "",
2510 "",
2511 "",
2512 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2513 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2514 "",
2515 "",
2516 "\1\u0086",
2517 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2518 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\10\51\1\u0088\21\51",
2519 "\1\u008a",
2520 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\10\51\1\u008b\21\51",
1553 "\1\u008d", 2521 "\1\u008d",
1554 "\1\u008e", 2522 "\1\u008e",
2523 "\1\u008f",
2524 "\1\u0090",
2525 "\1\u0091",
2526 "\1\u0092",
2527 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2528 "\1\u0094",
2529 "\1\u0095",
2530 "\1\u0096",
2531 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2532 "\1\u0098",
2533 "\1\u0099",
2534 "\1\u009a",
2535 "\1\u009b",
2536 "\1\u009c",
2537 "\1\u009d",
2538 "\1\u009e",
2539 "\1\u009f",
2540 "\1\u00a0",
2541 "\1\u00a1",
2542 "\1\u00a2",
1555 "", 2543 "",
1556 "", 2544 "",
1557 "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", 2545 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2546 "",
2547 "\1\u00a4",
2548 "",
2549 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2550 "\1\u00a6",
2551 "",
2552 "\1\u00a7",
2553 "\1\u00a8",
2554 "\1\u00a9",
2555 "\1\u00aa",
2556 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2557 "\1\u00ac",
2558 "",
2559 "\1\u00ad",
2560 "\1\u00ae",
2561 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2562 "",
2563 "\1\u00b0",
2564 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2565 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2566 "\1\u00b3",
2567 "\1\u00b4",
2568 "\1\u00b5",
2569 "\1\u00b6",
2570 "\1\u00b8\3\uffff\1\u00b7",
2571 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2572 "\1\u00ba",
2573 "\1\u00bb",
2574 "",
2575 "\1\u00bc",
2576 "",
2577 "\1\u00bd",
2578 "\1\u00be",
2579 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2580 "\1\u00c0",
2581 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2582 "",
2583 "\1\u00c2",
2584 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2585 "\1\u00c4",
2586 "",
2587 "\1\u00c5",
2588 "",
2589 "",
2590 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2591 "\1\u00c7",
2592 "\1\u00c8",
2593 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2594 "\1\u00ca",
2595 "\1\u00cb",
2596 "",
2597 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2598 "\1\u00cd",
2599 "\1\u00ce",
2600 "\1\u00cf",
2601 "\1\u00d0",
2602 "",
2603 "\1\u00d1",
2604 "",
2605 "\1\u00d2",
2606 "",
2607 "\1\u00d3",
2608 "\1\u00d4",
2609 "",
2610 "\1\u00d5",
2611 "\1\u00d6",
2612 "",
2613 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2614 "\1\u00d8",
2615 "",
2616 "\1\u00d9",
2617 "\1\u00da",
2618 "\1\u00db",
2619 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2620 "\1\u00dd",
2621 "\1\u00de",
2622 "\1\u00df",
2623 "\1\u00e0",
2624 "\1\u00e1",
2625 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2626 "",
2627 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2628 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2629 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2630 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2631 "",
2632 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2633 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2634 "\1\u00e9",
2635 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2636 "\1\u00eb",
2637 "",
2638 "",
2639 "",
2640 "",
2641 "",
2642 "",
2643 "",
2644 "\1\u00ec",
2645 "",
2646 "\1\u00ed",
2647 "\1\u00ee",
2648 "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
2649 "\1\u00f2\13\uffff\1\u00f0\2\uffff\1\u00f1",
1558 "", 2650 "",
1559 "\1\u0090",
1560 "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
1561 "", 2651 "",
1562 "\1\u0092",
1563 "", 2652 "",
1564 "\1\u0093",
1565 "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
1566 "" 2653 ""
1567 }; 2654 };
1568 2655
1569 static final short[] DFA10_eot = DFA.unpackEncodedString(DFA10_eotS); 2656 static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
1570 static final short[] DFA10_eof = DFA.unpackEncodedString(DFA10_eofS); 2657 static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
1571 static final char[] DFA10_min = DFA.unpackEncodedStringToUnsignedChars(DFA10_minS); 2658 static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
1572 static final char[] DFA10_max = DFA.unpackEncodedStringToUnsignedChars(DFA10_maxS); 2659 static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
1573 static final short[] DFA10_accept = DFA.unpackEncodedString(DFA10_acceptS); 2660 static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
1574 static final short[] DFA10_special = DFA.unpackEncodedString(DFA10_specialS); 2661 static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
1575 static final short[][] DFA10_transition; 2662 static final short[][] DFA11_transition;
1576 2663
1577 static { 2664 static {
1578 int numStates = DFA10_transitionS.length; 2665 int numStates = DFA11_transitionS.length;
1579 DFA10_transition = new short[numStates][]; 2666 DFA11_transition = new short[numStates][];
1580 for (int i=0; i<numStates; i++) { 2667 for (int i=0; i<numStates; i++) {
1581 DFA10_transition[i] = DFA.unpackEncodedString(DFA10_transitionS[i]); 2668 DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
1582 } 2669 }
1583 } 2670 }
1584 2671
1585 class DFA10 extends DFA { 2672 class DFA11 extends DFA {
1586 2673
1587 public DFA10(BaseRecognizer recognizer) { 2674 public DFA11(BaseRecognizer recognizer) {
1588 this.recognizer = recognizer; 2675 this.recognizer = recognizer;
1589 this.decisionNumber = 10; 2676 this.decisionNumber = 11;
1590 this.eot = DFA10_eot; 2677 this.eot = DFA11_eot;
1591 this.eof = DFA10_eof; 2678 this.eof = DFA11_eof;
1592 this.min = DFA10_min; 2679 this.min = DFA11_min;
1593 this.max = DFA10_max; 2680 this.max = DFA11_max;
1594 this.accept = DFA10_accept; 2681 this.accept = DFA11_accept;
1595 this.special = DFA10_special; 2682 this.special = DFA11_special;
1596 this.transition = DFA10_transition; 2683 this.transition = DFA11_transition;
1597 } 2684 }
1598 public String getDescription() { 2685 public String getDescription() {
1599 return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | RULE_STRING | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; 2686 return "1:1: Tokens : ( T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | RULE_STRING | RULE_QUOTED_ID | RULE_PLUS | RULE_STAR | RULE_DOT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
1600 } 2687 }
1601 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { 2688 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
1602 IntStream input = _input; 2689 IntStream input = _input;
1603 int _s = s; 2690 int _s = s;
1604 switch ( s ) { 2691 switch ( s ) {
1605 case 0 : 2692 case 0 :
1606 int LA10_24 = input.LA(1); 2693 int LA11_35 = input.LA(1);
1607 2694
1608 s = -1; 2695 s = -1;
1609 if ( ((LA10_24>='\u0000' && LA10_24<='\uFFFF')) ) {s = 61;} 2696 if ( ((LA11_35>='\u0000' && LA11_35<='\uFFFF')) ) {s = 98;}
1610 2697
1611 else s = 30; 2698 else s = 39;
1612 2699
1613 if ( s>=0 ) return s; 2700 if ( s>=0 ) return s;
1614 break; 2701 break;
1615 case 1 : 2702 case 1 :
1616 int LA10_0 = input.LA(1); 2703 int LA11_0 = input.LA(1);
1617 2704
1618 s = -1; 2705 s = -1;
1619 if ( (LA10_0=='f') ) {s = 1;} 2706 if ( (LA11_0=='^') ) {s = 1;}
1620 2707
1621 else if ( (LA10_0=='t') ) {s = 2;} 2708 else if ( (LA11_0=='*') ) {s = 2;}
1622 2709
1623 else if ( (LA10_0=='-') ) {s = 3;} 2710 else if ( (LA11_0=='i') ) {s = 3;}
1624 2711
1625 else if ( (LA10_0=='.') ) {s = 4;} 2712 else if ( (LA11_0=='r') ) {s = 4;}
1626 2713
1627 else if ( (LA10_0=='u') ) {s = 5;} 2714 else if ( (LA11_0=='=') ) {s = 5;}
1628 2715
1629 else if ( (LA10_0=='e') ) {s = 6;} 2716 else if ( (LA11_0=='!') ) {s = 6;}
1630 2717
1631 else if ( (LA10_0==':') ) {s = 7;} 2718 else if ( (LA11_0=='<') ) {s = 7;}
1632 2719
1633 else if ( (LA10_0=='(') ) {s = 8;} 2720 else if ( (LA11_0=='>') ) {s = 8;}
1634 2721
1635 else if ( (LA10_0==')') ) {s = 9;} 2722 else if ( (LA11_0=='+') ) {s = 9;}
1636 2723
1637 else if ( (LA10_0==',') ) {s = 10;} 2724 else if ( (LA11_0=='-') ) {s = 10;}
1638 2725
1639 else if ( (LA10_0=='b') ) {s = 11;} 2726 else if ( (LA11_0=='/') ) {s = 11;}
1640 2727
1641 else if ( (LA10_0=='i') ) {s = 12;} 2728 else if ( (LA11_0=='m') ) {s = 12;}
1642 2729
1643 else if ( (LA10_0=='r') ) {s = 13;} 2730 else if ( (LA11_0=='c') ) {s = 13;}
1644 2731
1645 else if ( (LA10_0=='s') ) {s = 14;} 2732 else if ( (LA11_0=='o') ) {s = 14;}
1646 2733
1647 else if ( (LA10_0=='\'') ) {s = 15;} 2734 else if ( (LA11_0=='s') ) {s = 15;}
1648 2735
1649 else if ( (LA10_0=='|') ) {s = 16;} 2736 else if ( (LA11_0=='p') ) {s = 16;}
1650 2737
1651 else if ( (LA10_0=='+') ) {s = 17;} 2738 else if ( (LA11_0=='a') ) {s = 17;}
1652 2739
1653 else if ( (LA10_0=='*') ) {s = 18;} 2740 else if ( (LA11_0=='t') ) {s = 18;}
1654 2741
1655 else if ( (LA10_0=='d') ) {s = 19;} 2742 else if ( (LA11_0=='f') ) {s = 19;}
1656 2743
1657 else if ( (LA10_0=='c') ) {s = 20;} 2744 else if ( (LA11_0=='u') ) {s = 20;}
1658 2745
1659 else if ( (LA10_0=='{') ) {s = 21;} 2746 else if ( (LA11_0=='e') ) {s = 21;}
1660 2747
1661 else if ( (LA10_0=='}') ) {s = 22;} 2748 else if ( (LA11_0==':') ) {s = 22;}
1662 2749
1663 else if ( (LA10_0=='a') ) {s = 23;} 2750 else if ( (LA11_0=='d') ) {s = 23;}
1664 2751
1665 else if ( (LA10_0=='\"') ) {s = 24;} 2752 else if ( (LA11_0=='.') ) {s = 24;}
1666 2753
1667 else if ( (LA10_0=='^') ) {s = 25;} 2754 else if ( (LA11_0==';') ) {s = 25;}
1668 2755
1669 else if ( ((LA10_0>='A' && LA10_0<='Z')||LA10_0=='_'||(LA10_0>='g' && LA10_0<='h')||(LA10_0>='j' && LA10_0<='q')||(LA10_0>='v' && LA10_0<='z')) ) {s = 26;} 2756 else if ( (LA11_0==',') ) {s = 26;}
1670 2757
1671 else if ( ((LA10_0>='0' && LA10_0<='9')) ) {s = 27;} 2758 else if ( (LA11_0=='{') ) {s = 27;}
1672 2759
1673 else if ( (LA10_0=='/') ) {s = 28;} 2760 else if ( (LA11_0=='}') ) {s = 28;}
1674 2761
1675 else if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) {s = 29;} 2762 else if ( (LA11_0=='|') ) {s = 29;}
2763
2764 else if ( (LA11_0=='(') ) {s = 30;}
2765
2766 else if ( (LA11_0==')') ) {s = 31;}
2767
2768 else if ( (LA11_0=='[') ) {s = 32;}
2769
2770 else if ( (LA11_0==']') ) {s = 33;}
2771
2772 else if ( (LA11_0=='\"') ) {s = 34;}
2773
2774 else if ( (LA11_0=='\'') ) {s = 35;}
2775
2776 else if ( ((LA11_0>='A' && LA11_0<='Z')||LA11_0=='_'||LA11_0=='b'||(LA11_0>='g' && LA11_0<='h')||(LA11_0>='j' && LA11_0<='l')||LA11_0=='n'||LA11_0=='q'||(LA11_0>='v' && LA11_0<='z')) ) {s = 36;}
2777
2778 else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 37;}
2779
2780 else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 38;}
2781
2782 else if ( ((LA11_0>='\u0000' && LA11_0<='\b')||(LA11_0>='\u000B' && LA11_0<='\f')||(LA11_0>='\u000E' && LA11_0<='\u001F')||(LA11_0>='#' && LA11_0<='&')||(LA11_0>='?' && LA11_0<='@')||LA11_0=='\\'||LA11_0=='`'||(LA11_0>='~' && LA11_0<='\uFFFF')) ) {s = 39;}
2783
2784 if ( s>=0 ) return s;
2785 break;
2786 case 2 :
2787 int LA11_34 = input.LA(1);
2788
2789 s = -1;
2790 if ( ((LA11_34>='\u0000' && LA11_34<='\uFFFF')) ) {s = 97;}
1676 2791
1677 else if ( ((LA10_0>='\u0000' && LA10_0<='\b')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\u001F')||LA10_0=='!'||(LA10_0>='#' && LA10_0<='&')||(LA10_0>=';' && LA10_0<='@')||(LA10_0>='[' && LA10_0<=']')||LA10_0=='`'||(LA10_0>='~' && LA10_0<='\uFFFF')) ) {s = 30;} 2792 else s = 39;
1678 2793
1679 if ( s>=0 ) return s; 2794 if ( s>=0 ) return s;
1680 break; 2795 break;
1681 } 2796 }
1682 NoViableAltException nvae = 2797 NoViableAltException nvae =
1683 new NoViableAltException(getDescription(), 10, _s, input); 2798 new NoViableAltException(getDescription(), 11, _s, input);
1684 error(nvae); 2799 error(nvae);
1685 throw nvae; 2800 throw nvae;
1686 } 2801 }
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 ed956895..2da6b7d6 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
@@ -18,51 +18,85 @@ import org.antlr.runtime.*;
18import java.util.Stack; 18import java.util.Stack;
19import java.util.List; 19import java.util.List;
20import java.util.ArrayList; 20import java.util.ArrayList;
21 21import java.util.Map;
22import java.util.HashMap;
22@SuppressWarnings("all") 23@SuppressWarnings("all")
23public class InternalSolverLanguageParser extends AbstractInternalContentAssistParser { 24public class InternalSolverLanguageParser extends AbstractInternalContentAssistParser {
24 public static final String[] tokenNames = new String[] { 25 public static final String[] tokenNames = new String[] {
25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'false'", "'true'", "'-'", "'.'", "'unknown'", "'error'", "':'", "'('", "')'", "','", "'exists'", "'equals'", "'bool'", "'int'", "'real'", "'string'", "'\\''", "':-'", "'|'", "'+'", "'*'", "'default'", "'class'", "'{'", "'}'", "'extends'", "'enum'", "'relation'", "'..'", "'abstract'", "'containment'" 26 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_QUOTED_ID", "RULE_DOT", "RULE_ID", "RULE_STAR", "RULE_PLUS", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'^'", "'*'", "'int'", "'real'", "'=='", "'!='", "'<'", "'<='", "'>'", "'>='", "'in'", "'+'", "'-'", "'/'", "'!'", "'may'", "'must'", "'current'", "'only'", "'sum'", "'prod'", "'avg'", "'min'", "'max'", "'true'", "'false'", "'unknown'", "'error'", "'minimize'", "'maximize'", "':'", "':-'", "'='", "'default'", "'extern'", "'.'", "'if'", "'then'", "'else'", "';'", "'->'", "','", "'count'", "'{'", "'}'", "'|'", "'('", "')'", "'['", "'..'", "']'", "'inf'", "'empty'", "'class'", "'extends'", "'opposite'", "'scope'", "'functional'", "'abstract'", "'contains'"
26 }; 27 };
27 public static final int RULE_STRING=6; 28 public static final int T__50=50;
28 public static final int RULE_SL_COMMENT=8;
29 public static final int T__19=19; 29 public static final int T__19=19;
30 public static final int T__15=15; 30 public static final int T__15=15;
31 public static final int T__37=37; 31 public static final int T__59=59;
32 public static final int T__16=16; 32 public static final int T__16=16;
33 public static final int T__38=38;
34 public static final int T__17=17; 33 public static final int T__17=17;
35 public static final int T__39=39;
36 public static final int T__18=18; 34 public static final int T__18=18;
37 public static final int T__11=11; 35 public static final int T__55=55;
38 public static final int T__33=33; 36 public static final int T__56=56;
39 public static final int T__12=12; 37 public static final int T__57=57;
40 public static final int T__34=34; 38 public static final int T__58=58;
41 public static final int T__13=13; 39 public static final int T__51=51;
42 public static final int T__35=35; 40 public static final int RULE_STAR=8;
43 public static final int T__14=14; 41 public static final int T__52=52;
44 public static final int T__36=36; 42 public static final int T__53=53;
45 public static final int EOF=-1; 43 public static final int T__54=54;
46 public static final int T__30=30; 44 public static final int T__60=60;
47 public static final int T__31=31; 45 public static final int T__61=61;
48 public static final int T__32=32; 46 public static final int RULE_ID=7;
49 public static final int RULE_ID=5; 47 public static final int RULE_QUOTED_ID=5;
50 public static final int RULE_WS=9;
51 public static final int RULE_ANY_OTHER=10;
52 public static final int T__26=26; 48 public static final int T__26=26;
53 public static final int T__27=27; 49 public static final int T__27=27;
54 public static final int T__28=28; 50 public static final int T__28=28;
55 public static final int RULE_INT=4; 51 public static final int RULE_INT=4;
56 public static final int T__29=29; 52 public static final int T__29=29;
57 public static final int T__22=22; 53 public static final int T__22=22;
58 public static final int RULE_ML_COMMENT=7; 54 public static final int T__66=66;
55 public static final int RULE_ML_COMMENT=11;
59 public static final int T__23=23; 56 public static final int T__23=23;
57 public static final int T__67=67;
60 public static final int T__24=24; 58 public static final int T__24=24;
59 public static final int T__68=68;
61 public static final int T__25=25; 60 public static final int T__25=25;
62 public static final int T__40=40; 61 public static final int T__69=69;
63 public static final int T__41=41; 62 public static final int T__62=62;
63 public static final int T__63=63;
64 public static final int T__20=20; 64 public static final int T__20=20;
65 public static final int T__64=64;
65 public static final int T__21=21; 66 public static final int T__21=21;
67 public static final int T__65=65;
68 public static final int T__70=70;
69 public static final int T__71=71;
70 public static final int T__72=72;
71 public static final int RULE_STRING=10;
72 public static final int RULE_SL_COMMENT=12;
73 public static final int T__37=37;
74 public static final int T__38=38;
75 public static final int T__39=39;
76 public static final int T__33=33;
77 public static final int T__34=34;
78 public static final int T__35=35;
79 public static final int RULE_PLUS=9;
80 public static final int T__36=36;
81 public static final int T__73=73;
82 public static final int RULE_DOT=6;
83 public static final int EOF=-1;
84 public static final int T__30=30;
85 public static final int T__74=74;
86 public static final int T__31=31;
87 public static final int T__32=32;
88 public static final int RULE_WS=13;
89 public static final int RULE_ANY_OTHER=14;
90 public static final int T__48=48;
91 public static final int T__49=49;
92 public static final int T__44=44;
93 public static final int T__45=45;
94 public static final int T__46=46;
95 public static final int T__47=47;
96 public static final int T__40=40;
97 public static final int T__41=41;
98 public static final int T__42=42;
99 public static final int T__43=43;
66 100
67 // delegates 101 // delegates
68 // delegators 102 // delegators
@@ -100,20 +134,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
100 134
101 135
102 // $ANTLR start "entryRuleProblem" 136 // $ANTLR start "entryRuleProblem"
103 // InternalSolverLanguage.g:53:1: entryRuleProblem : ruleProblem EOF ; 137 // InternalSolverLanguage.g:54:1: entryRuleProblem : ruleProblem EOF ;
104 public final void entryRuleProblem() throws RecognitionException { 138 public final void entryRuleProblem() throws RecognitionException {
105 try { 139 try {
106 // InternalSolverLanguage.g:54:1: ( ruleProblem EOF ) 140 // InternalSolverLanguage.g:55:1: ( ruleProblem EOF )
107 // InternalSolverLanguage.g:55:1: ruleProblem EOF 141 // InternalSolverLanguage.g:56:1: ruleProblem EOF
108 { 142 {
109 before(grammarAccess.getProblemRule()); 143 if ( state.backtracking==0 ) {
144 before(grammarAccess.getProblemRule());
145 }
110 pushFollow(FOLLOW_1); 146 pushFollow(FOLLOW_1);
111 ruleProblem(); 147 ruleProblem();
112 148
113 state._fsp--; 149 state._fsp--;
114 150 if (state.failed) return ;
115 after(grammarAccess.getProblemRule()); 151 if ( state.backtracking==0 ) {
116 match(input,EOF,FOLLOW_2); 152 after(grammarAccess.getProblemRule());
153 }
154 match(input,EOF,FOLLOW_2); if (state.failed) return ;
117 155
118 } 156 }
119 157
@@ -130,39 +168,41 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
130 168
131 169
132 // $ANTLR start "ruleProblem" 170 // $ANTLR start "ruleProblem"
133 // InternalSolverLanguage.g:62:1: ruleProblem : ( ( rule__Problem__StatementsAssignment )* ) ; 171 // InternalSolverLanguage.g:63:1: ruleProblem : ( ( rule__Problem__StatementsAssignment )* ) ;
134 public final void ruleProblem() throws RecognitionException { 172 public final void ruleProblem() throws RecognitionException {
135 173
136 int stackSize = keepStackSize(); 174 int stackSize = keepStackSize();
137 175
138 try { 176 try {
139 // InternalSolverLanguage.g:66:2: ( ( ( rule__Problem__StatementsAssignment )* ) ) 177 // InternalSolverLanguage.g:67:2: ( ( ( rule__Problem__StatementsAssignment )* ) )
140 // InternalSolverLanguage.g:67:2: ( ( rule__Problem__StatementsAssignment )* ) 178 // InternalSolverLanguage.g:68:2: ( ( rule__Problem__StatementsAssignment )* )
141 { 179 {
142 // InternalSolverLanguage.g:67:2: ( ( rule__Problem__StatementsAssignment )* ) 180 // InternalSolverLanguage.g:68:2: ( ( rule__Problem__StatementsAssignment )* )
143 // InternalSolverLanguage.g:68:3: ( rule__Problem__StatementsAssignment )*
144 {
145 before(grammarAccess.getProblemAccess().getStatementsAssignment());
146 // InternalSolverLanguage.g:69:3: ( rule__Problem__StatementsAssignment )* 181 // InternalSolverLanguage.g:69:3: ( rule__Problem__StatementsAssignment )*
182 {
183 if ( state.backtracking==0 ) {
184 before(grammarAccess.getProblemAccess().getStatementsAssignment());
185 }
186 // InternalSolverLanguage.g:70:3: ( rule__Problem__StatementsAssignment )*
147 loop1: 187 loop1:
148 do { 188 do {
149 int alt1=2; 189 int alt1=2;
150 int LA1_0 = input.LA(1); 190 int LA1_0 = input.LA(1);
151 191
152 if ( (LA1_0==RULE_ID||LA1_0==16||(LA1_0>=21 && LA1_0<=26)||(LA1_0>=32 && LA1_0<=33)||(LA1_0>=37 && LA1_0<=38)||(LA1_0>=40 && LA1_0<=41)) ) { 192 if ( ((LA1_0>=RULE_INT && LA1_0<=RULE_QUOTED_ID)||LA1_0==RULE_ID||LA1_0==RULE_STRING||(LA1_0>=17 && LA1_0<=18)||(LA1_0>=26 && LA1_0<=27)||(LA1_0>=29 && LA1_0<=44)||(LA1_0>=48 && LA1_0<=49)||LA1_0==51||LA1_0==57||LA1_0==61||LA1_0==63||(LA1_0>=66 && LA1_0<=68)||(LA1_0>=71 && LA1_0<=73)) ) {
153 alt1=1; 193 alt1=1;
154 } 194 }
155 195
156 196
157 switch (alt1) { 197 switch (alt1) {
158 case 1 : 198 case 1 :
159 // InternalSolverLanguage.g:69:4: rule__Problem__StatementsAssignment 199 // InternalSolverLanguage.g:70:4: rule__Problem__StatementsAssignment
160 { 200 {
161 pushFollow(FOLLOW_3); 201 pushFollow(FOLLOW_3);
162 rule__Problem__StatementsAssignment(); 202 rule__Problem__StatementsAssignment();
163 203
164 state._fsp--; 204 state._fsp--;
165 205 if (state.failed) return ;
166 206
167 } 207 }
168 break; 208 break;
@@ -172,7 +212,9 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
172 } 212 }
173 } while (true); 213 } while (true);
174 214
175 after(grammarAccess.getProblemAccess().getStatementsAssignment()); 215 if ( state.backtracking==0 ) {
216 after(grammarAccess.getProblemAccess().getStatementsAssignment());
217 }
176 218
177 } 219 }
178 220
@@ -195,20 +237,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
195 237
196 238
197 // $ANTLR start "entryRuleStatement" 239 // $ANTLR start "entryRuleStatement"
198 // InternalSolverLanguage.g:78:1: entryRuleStatement : ruleStatement EOF ; 240 // InternalSolverLanguage.g:79:1: entryRuleStatement : ruleStatement EOF ;
199 public final void entryRuleStatement() throws RecognitionException { 241 public final void entryRuleStatement() throws RecognitionException {
200 try { 242 try {
201 // InternalSolverLanguage.g:79:1: ( ruleStatement EOF ) 243 // InternalSolverLanguage.g:80:1: ( ruleStatement EOF )
202 // InternalSolverLanguage.g:80:1: ruleStatement EOF 244 // InternalSolverLanguage.g:81:1: ruleStatement EOF
203 { 245 {
204 before(grammarAccess.getStatementRule()); 246 if ( state.backtracking==0 ) {
247 before(grammarAccess.getStatementRule());
248 }
205 pushFollow(FOLLOW_1); 249 pushFollow(FOLLOW_1);
206 ruleStatement(); 250 ruleStatement();
207 251
208 state._fsp--; 252 state._fsp--;
209 253 if (state.failed) return ;
210 after(grammarAccess.getStatementRule()); 254 if ( state.backtracking==0 ) {
211 match(input,EOF,FOLLOW_2); 255 after(grammarAccess.getStatementRule());
256 }
257 match(input,EOF,FOLLOW_2); if (state.failed) return ;
212 258
213 } 259 }
214 260
@@ -225,31 +271,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
225 271
226 272
227 // $ANTLR start "ruleStatement" 273 // $ANTLR start "ruleStatement"
228 // InternalSolverLanguage.g:87:1: ruleStatement : ( ( rule__Statement__Alternatives ) ) ; 274 // InternalSolverLanguage.g:88:1: ruleStatement : ( ( rule__Statement__Group__0 ) ) ;
229 public final void ruleStatement() throws RecognitionException { 275 public final void ruleStatement() throws RecognitionException {
230 276
231 int stackSize = keepStackSize(); 277 int stackSize = keepStackSize();
232 278
233 try { 279 try {
234 // InternalSolverLanguage.g:91:2: ( ( ( rule__Statement__Alternatives ) ) ) 280 // InternalSolverLanguage.g:92:2: ( ( ( rule__Statement__Group__0 ) ) )
235 // InternalSolverLanguage.g:92:2: ( ( rule__Statement__Alternatives ) ) 281 // InternalSolverLanguage.g:93:2: ( ( rule__Statement__Group__0 ) )
236 { 282 {
237 // InternalSolverLanguage.g:92:2: ( ( rule__Statement__Alternatives ) ) 283 // InternalSolverLanguage.g:93:2: ( ( rule__Statement__Group__0 ) )
238 // InternalSolverLanguage.g:93:3: ( rule__Statement__Alternatives ) 284 // InternalSolverLanguage.g:94:3: ( rule__Statement__Group__0 )
239 { 285 {
240 before(grammarAccess.getStatementAccess().getAlternatives()); 286 if ( state.backtracking==0 ) {
241 // InternalSolverLanguage.g:94:3: ( rule__Statement__Alternatives ) 287 before(grammarAccess.getStatementAccess().getGroup());
242 // InternalSolverLanguage.g:94:4: rule__Statement__Alternatives 288 }
289 // InternalSolverLanguage.g:95:3: ( rule__Statement__Group__0 )
290 // InternalSolverLanguage.g:95:4: rule__Statement__Group__0
243 { 291 {
244 pushFollow(FOLLOW_2); 292 pushFollow(FOLLOW_2);
245 rule__Statement__Alternatives(); 293 rule__Statement__Group__0();
246 294
247 state._fsp--; 295 state._fsp--;
248 296 if (state.failed) return ;
249 297
250 } 298 }
251 299
252 after(grammarAccess.getStatementAccess().getAlternatives()); 300 if ( state.backtracking==0 ) {
301 after(grammarAccess.getStatementAccess().getGroup());
302 }
253 303
254 } 304 }
255 305
@@ -271,21 +321,25 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
271 // $ANTLR end "ruleStatement" 321 // $ANTLR end "ruleStatement"
272 322
273 323
274 // $ANTLR start "entryRuleREALLiteral" 324 // $ANTLR start "entryRuleAssertionOrDefinition"
275 // InternalSolverLanguage.g:103:1: entryRuleREALLiteral : ruleREALLiteral EOF ; 325 // InternalSolverLanguage.g:104:1: entryRuleAssertionOrDefinition : ruleAssertionOrDefinition EOF ;
276 public final void entryRuleREALLiteral() throws RecognitionException { 326 public final void entryRuleAssertionOrDefinition() throws RecognitionException {
277 try { 327 try {
278 // InternalSolverLanguage.g:104:1: ( ruleREALLiteral EOF ) 328 // InternalSolverLanguage.g:105:1: ( ruleAssertionOrDefinition EOF )
279 // InternalSolverLanguage.g:105:1: ruleREALLiteral EOF 329 // InternalSolverLanguage.g:106:1: ruleAssertionOrDefinition EOF
280 { 330 {
281 before(grammarAccess.getREALLiteralRule()); 331 if ( state.backtracking==0 ) {
332 before(grammarAccess.getAssertionOrDefinitionRule());
333 }
282 pushFollow(FOLLOW_1); 334 pushFollow(FOLLOW_1);
283 ruleREALLiteral(); 335 ruleAssertionOrDefinition();
284 336
285 state._fsp--; 337 state._fsp--;
286 338 if (state.failed) return ;
287 after(grammarAccess.getREALLiteralRule()); 339 if ( state.backtracking==0 ) {
288 match(input,EOF,FOLLOW_2); 340 after(grammarAccess.getAssertionOrDefinitionRule());
341 }
342 match(input,EOF,FOLLOW_2); if (state.failed) return ;
289 343
290 } 344 }
291 345
@@ -298,35 +352,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
298 } 352 }
299 return ; 353 return ;
300 } 354 }
301 // $ANTLR end "entryRuleREALLiteral" 355 // $ANTLR end "entryRuleAssertionOrDefinition"
302 356
303 357
304 // $ANTLR start "ruleREALLiteral" 358 // $ANTLR start "ruleAssertionOrDefinition"
305 // InternalSolverLanguage.g:112:1: ruleREALLiteral : ( ( rule__REALLiteral__Group__0 ) ) ; 359 // InternalSolverLanguage.g:113:1: ruleAssertionOrDefinition : ( ( rule__AssertionOrDefinition__Group__0 ) ) ;
306 public final void ruleREALLiteral() throws RecognitionException { 360 public final void ruleAssertionOrDefinition() throws RecognitionException {
307 361
308 int stackSize = keepStackSize(); 362 int stackSize = keepStackSize();
309 363
310 try { 364 try {
311 // InternalSolverLanguage.g:116:2: ( ( ( rule__REALLiteral__Group__0 ) ) ) 365 // InternalSolverLanguage.g:117:2: ( ( ( rule__AssertionOrDefinition__Group__0 ) ) )
312 // InternalSolverLanguage.g:117:2: ( ( rule__REALLiteral__Group__0 ) ) 366 // InternalSolverLanguage.g:118:2: ( ( rule__AssertionOrDefinition__Group__0 ) )
313 { 367 {
314 // InternalSolverLanguage.g:117:2: ( ( rule__REALLiteral__Group__0 ) ) 368 // InternalSolverLanguage.g:118:2: ( ( rule__AssertionOrDefinition__Group__0 ) )
315 // InternalSolverLanguage.g:118:3: ( rule__REALLiteral__Group__0 ) 369 // InternalSolverLanguage.g:119:3: ( rule__AssertionOrDefinition__Group__0 )
316 { 370 {
317 before(grammarAccess.getREALLiteralAccess().getGroup()); 371 if ( state.backtracking==0 ) {
318 // InternalSolverLanguage.g:119:3: ( rule__REALLiteral__Group__0 ) 372 before(grammarAccess.getAssertionOrDefinitionAccess().getGroup());
319 // InternalSolverLanguage.g:119:4: rule__REALLiteral__Group__0 373 }
374 // InternalSolverLanguage.g:120:3: ( rule__AssertionOrDefinition__Group__0 )
375 // InternalSolverLanguage.g:120:4: rule__AssertionOrDefinition__Group__0
320 { 376 {
321 pushFollow(FOLLOW_2); 377 pushFollow(FOLLOW_2);
322 rule__REALLiteral__Group__0(); 378 rule__AssertionOrDefinition__Group__0();
323 379
324 state._fsp--; 380 state._fsp--;
325 381 if (state.failed) return ;
326 382
327 } 383 }
328 384
329 after(grammarAccess.getREALLiteralAccess().getGroup()); 385 if ( state.backtracking==0 ) {
386 after(grammarAccess.getAssertionOrDefinitionAccess().getGroup());
387 }
330 388
331 } 389 }
332 390
@@ -345,24 +403,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
345 } 403 }
346 return ; 404 return ;
347 } 405 }
348 // $ANTLR end "ruleREALLiteral" 406 // $ANTLR end "ruleAssertionOrDefinition"
349 407
350 408
351 // $ANTLR start "entryRuleINTLiteral" 409 // $ANTLR start "entryRulePredicateDefinition"
352 // InternalSolverLanguage.g:128:1: entryRuleINTLiteral : ruleINTLiteral EOF ; 410 // InternalSolverLanguage.g:129:1: entryRulePredicateDefinition : rulePredicateDefinition EOF ;
353 public final void entryRuleINTLiteral() throws RecognitionException { 411 public final void entryRulePredicateDefinition() throws RecognitionException {
354 try { 412 try {
355 // InternalSolverLanguage.g:129:1: ( ruleINTLiteral EOF ) 413 // InternalSolverLanguage.g:130:1: ( rulePredicateDefinition EOF )
356 // InternalSolverLanguage.g:130:1: ruleINTLiteral EOF 414 // InternalSolverLanguage.g:131:1: rulePredicateDefinition EOF
357 { 415 {
358 before(grammarAccess.getINTLiteralRule()); 416 if ( state.backtracking==0 ) {
417 before(grammarAccess.getPredicateDefinitionRule());
418 }
359 pushFollow(FOLLOW_1); 419 pushFollow(FOLLOW_1);
360 ruleINTLiteral(); 420 rulePredicateDefinition();
361 421
362 state._fsp--; 422 state._fsp--;
363 423 if (state.failed) return ;
364 after(grammarAccess.getINTLiteralRule()); 424 if ( state.backtracking==0 ) {
365 match(input,EOF,FOLLOW_2); 425 after(grammarAccess.getPredicateDefinitionRule());
426 }
427 match(input,EOF,FOLLOW_2); if (state.failed) return ;
366 428
367 } 429 }
368 430
@@ -375,35 +437,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
375 } 437 }
376 return ; 438 return ;
377 } 439 }
378 // $ANTLR end "entryRuleINTLiteral" 440 // $ANTLR end "entryRulePredicateDefinition"
379 441
380 442
381 // $ANTLR start "ruleINTLiteral" 443 // $ANTLR start "rulePredicateDefinition"
382 // InternalSolverLanguage.g:137:1: ruleINTLiteral : ( ( rule__INTLiteral__Group__0 ) ) ; 444 // InternalSolverLanguage.g:138:1: rulePredicateDefinition : ( ( rule__PredicateDefinition__Group__0 ) ) ;
383 public final void ruleINTLiteral() throws RecognitionException { 445 public final void rulePredicateDefinition() throws RecognitionException {
384 446
385 int stackSize = keepStackSize(); 447 int stackSize = keepStackSize();
386 448
387 try { 449 try {
388 // InternalSolverLanguage.g:141:2: ( ( ( rule__INTLiteral__Group__0 ) ) ) 450 // InternalSolverLanguage.g:142:2: ( ( ( rule__PredicateDefinition__Group__0 ) ) )
389 // InternalSolverLanguage.g:142:2: ( ( rule__INTLiteral__Group__0 ) ) 451 // InternalSolverLanguage.g:143:2: ( ( rule__PredicateDefinition__Group__0 ) )
390 { 452 {
391 // InternalSolverLanguage.g:142:2: ( ( rule__INTLiteral__Group__0 ) ) 453 // InternalSolverLanguage.g:143:2: ( ( rule__PredicateDefinition__Group__0 ) )
392 // InternalSolverLanguage.g:143:3: ( rule__INTLiteral__Group__0 ) 454 // InternalSolverLanguage.g:144:3: ( rule__PredicateDefinition__Group__0 )
393 { 455 {
394 before(grammarAccess.getINTLiteralAccess().getGroup()); 456 if ( state.backtracking==0 ) {
395 // InternalSolverLanguage.g:144:3: ( rule__INTLiteral__Group__0 ) 457 before(grammarAccess.getPredicateDefinitionAccess().getGroup());
396 // InternalSolverLanguage.g:144:4: rule__INTLiteral__Group__0 458 }
459 // InternalSolverLanguage.g:145:3: ( rule__PredicateDefinition__Group__0 )
460 // InternalSolverLanguage.g:145:4: rule__PredicateDefinition__Group__0
397 { 461 {
398 pushFollow(FOLLOW_2); 462 pushFollow(FOLLOW_2);
399 rule__INTLiteral__Group__0(); 463 rule__PredicateDefinition__Group__0();
400 464
401 state._fsp--; 465 state._fsp--;
402 466 if (state.failed) return ;
403 467
404 } 468 }
405 469
406 after(grammarAccess.getINTLiteralAccess().getGroup()); 470 if ( state.backtracking==0 ) {
471 after(grammarAccess.getPredicateDefinitionAccess().getGroup());
472 }
407 473
408 } 474 }
409 475
@@ -422,24 +488,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
422 } 488 }
423 return ; 489 return ;
424 } 490 }
425 // $ANTLR end "ruleINTLiteral" 491 // $ANTLR end "rulePredicateDefinition"
426 492
427 493
428 // $ANTLR start "entryRuleBooleanValue" 494 // $ANTLR start "entryRuleUnnamedErrorPrediateDefinition"
429 // InternalSolverLanguage.g:153:1: entryRuleBooleanValue : ruleBooleanValue EOF ; 495 // InternalSolverLanguage.g:154:1: entryRuleUnnamedErrorPrediateDefinition : ruleUnnamedErrorPrediateDefinition EOF ;
430 public final void entryRuleBooleanValue() throws RecognitionException { 496 public final void entryRuleUnnamedErrorPrediateDefinition() throws RecognitionException {
431 try { 497 try {
432 // InternalSolverLanguage.g:154:1: ( ruleBooleanValue EOF ) 498 // InternalSolverLanguage.g:155:1: ( ruleUnnamedErrorPrediateDefinition EOF )
433 // InternalSolverLanguage.g:155:1: ruleBooleanValue EOF 499 // InternalSolverLanguage.g:156:1: ruleUnnamedErrorPrediateDefinition EOF
434 { 500 {
435 before(grammarAccess.getBooleanValueRule()); 501 if ( state.backtracking==0 ) {
502 before(grammarAccess.getUnnamedErrorPrediateDefinitionRule());
503 }
436 pushFollow(FOLLOW_1); 504 pushFollow(FOLLOW_1);
437 ruleBooleanValue(); 505 ruleUnnamedErrorPrediateDefinition();
438 506
439 state._fsp--; 507 state._fsp--;
440 508 if (state.failed) return ;
441 after(grammarAccess.getBooleanValueRule()); 509 if ( state.backtracking==0 ) {
442 match(input,EOF,FOLLOW_2); 510 after(grammarAccess.getUnnamedErrorPrediateDefinitionRule());
511 }
512 match(input,EOF,FOLLOW_2); if (state.failed) return ;
443 513
444 } 514 }
445 515
@@ -452,35 +522,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
452 } 522 }
453 return ; 523 return ;
454 } 524 }
455 // $ANTLR end "entryRuleBooleanValue" 525 // $ANTLR end "entryRuleUnnamedErrorPrediateDefinition"
456 526
457 527
458 // $ANTLR start "ruleBooleanValue" 528 // $ANTLR start "ruleUnnamedErrorPrediateDefinition"
459 // InternalSolverLanguage.g:162:1: ruleBooleanValue : ( ( rule__BooleanValue__Alternatives ) ) ; 529 // InternalSolverLanguage.g:163:1: ruleUnnamedErrorPrediateDefinition : ( ( rule__UnnamedErrorPrediateDefinition__Group__0 ) ) ;
460 public final void ruleBooleanValue() throws RecognitionException { 530 public final void ruleUnnamedErrorPrediateDefinition() throws RecognitionException {
461 531
462 int stackSize = keepStackSize(); 532 int stackSize = keepStackSize();
463 533
464 try { 534 try {
465 // InternalSolverLanguage.g:166:2: ( ( ( rule__BooleanValue__Alternatives ) ) ) 535 // InternalSolverLanguage.g:167:2: ( ( ( rule__UnnamedErrorPrediateDefinition__Group__0 ) ) )
466 // InternalSolverLanguage.g:167:2: ( ( rule__BooleanValue__Alternatives ) ) 536 // InternalSolverLanguage.g:168:2: ( ( rule__UnnamedErrorPrediateDefinition__Group__0 ) )
467 { 537 {
468 // InternalSolverLanguage.g:167:2: ( ( rule__BooleanValue__Alternatives ) ) 538 // InternalSolverLanguage.g:168:2: ( ( rule__UnnamedErrorPrediateDefinition__Group__0 ) )
469 // InternalSolverLanguage.g:168:3: ( rule__BooleanValue__Alternatives ) 539 // InternalSolverLanguage.g:169:3: ( rule__UnnamedErrorPrediateDefinition__Group__0 )
470 { 540 {
471 before(grammarAccess.getBooleanValueAccess().getAlternatives()); 541 if ( state.backtracking==0 ) {
472 // InternalSolverLanguage.g:169:3: ( rule__BooleanValue__Alternatives ) 542 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getGroup());
473 // InternalSolverLanguage.g:169:4: rule__BooleanValue__Alternatives 543 }
544 // InternalSolverLanguage.g:170:3: ( rule__UnnamedErrorPrediateDefinition__Group__0 )
545 // InternalSolverLanguage.g:170:4: rule__UnnamedErrorPrediateDefinition__Group__0
474 { 546 {
475 pushFollow(FOLLOW_2); 547 pushFollow(FOLLOW_2);
476 rule__BooleanValue__Alternatives(); 548 rule__UnnamedErrorPrediateDefinition__Group__0();
477 549
478 state._fsp--; 550 state._fsp--;
479 551 if (state.failed) return ;
480 552
481 } 553 }
482 554
483 after(grammarAccess.getBooleanValueAccess().getAlternatives()); 555 if ( state.backtracking==0 ) {
556 after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getGroup());
557 }
484 558
485 } 559 }
486 560
@@ -499,24 +573,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
499 } 573 }
500 return ; 574 return ;
501 } 575 }
502 // $ANTLR end "ruleBooleanValue" 576 // $ANTLR end "ruleUnnamedErrorPrediateDefinition"
503 577
504 578
505 // $ANTLR start "entryRuleTruthValue" 579 // $ANTLR start "entryRuleDefaultDefinition"
506 // InternalSolverLanguage.g:178:1: entryRuleTruthValue : ruleTruthValue EOF ; 580 // InternalSolverLanguage.g:179:1: entryRuleDefaultDefinition : ruleDefaultDefinition EOF ;
507 public final void entryRuleTruthValue() throws RecognitionException { 581 public final void entryRuleDefaultDefinition() throws RecognitionException {
508 try { 582 try {
509 // InternalSolverLanguage.g:179:1: ( ruleTruthValue EOF ) 583 // InternalSolverLanguage.g:180:1: ( ruleDefaultDefinition EOF )
510 // InternalSolverLanguage.g:180:1: ruleTruthValue EOF 584 // InternalSolverLanguage.g:181:1: ruleDefaultDefinition EOF
511 { 585 {
512 before(grammarAccess.getTruthValueRule()); 586 if ( state.backtracking==0 ) {
587 before(grammarAccess.getDefaultDefinitionRule());
588 }
513 pushFollow(FOLLOW_1); 589 pushFollow(FOLLOW_1);
514 ruleTruthValue(); 590 ruleDefaultDefinition();
515 591
516 state._fsp--; 592 state._fsp--;
517 593 if (state.failed) return ;
518 after(grammarAccess.getTruthValueRule()); 594 if ( state.backtracking==0 ) {
519 match(input,EOF,FOLLOW_2); 595 after(grammarAccess.getDefaultDefinitionRule());
596 }
597 match(input,EOF,FOLLOW_2); if (state.failed) return ;
520 598
521 } 599 }
522 600
@@ -529,35 +607,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
529 } 607 }
530 return ; 608 return ;
531 } 609 }
532 // $ANTLR end "entryRuleTruthValue" 610 // $ANTLR end "entryRuleDefaultDefinition"
533 611
534 612
535 // $ANTLR start "ruleTruthValue" 613 // $ANTLR start "ruleDefaultDefinition"
536 // InternalSolverLanguage.g:187:1: ruleTruthValue : ( ( rule__TruthValue__Alternatives ) ) ; 614 // InternalSolverLanguage.g:188:1: ruleDefaultDefinition : ( ( rule__DefaultDefinition__Group__0 ) ) ;
537 public final void ruleTruthValue() throws RecognitionException { 615 public final void ruleDefaultDefinition() throws RecognitionException {
538 616
539 int stackSize = keepStackSize(); 617 int stackSize = keepStackSize();
540 618
541 try { 619 try {
542 // InternalSolverLanguage.g:191:2: ( ( ( rule__TruthValue__Alternatives ) ) ) 620 // InternalSolverLanguage.g:192:2: ( ( ( rule__DefaultDefinition__Group__0 ) ) )
543 // InternalSolverLanguage.g:192:2: ( ( rule__TruthValue__Alternatives ) ) 621 // InternalSolverLanguage.g:193:2: ( ( rule__DefaultDefinition__Group__0 ) )
544 { 622 {
545 // InternalSolverLanguage.g:192:2: ( ( rule__TruthValue__Alternatives ) ) 623 // InternalSolverLanguage.g:193:2: ( ( rule__DefaultDefinition__Group__0 ) )
546 // InternalSolverLanguage.g:193:3: ( rule__TruthValue__Alternatives ) 624 // InternalSolverLanguage.g:194:3: ( rule__DefaultDefinition__Group__0 )
547 { 625 {
548 before(grammarAccess.getTruthValueAccess().getAlternatives()); 626 if ( state.backtracking==0 ) {
549 // InternalSolverLanguage.g:194:3: ( rule__TruthValue__Alternatives ) 627 before(grammarAccess.getDefaultDefinitionAccess().getGroup());
550 // InternalSolverLanguage.g:194:4: rule__TruthValue__Alternatives 628 }
629 // InternalSolverLanguage.g:195:3: ( rule__DefaultDefinition__Group__0 )
630 // InternalSolverLanguage.g:195:4: rule__DefaultDefinition__Group__0
551 { 631 {
552 pushFollow(FOLLOW_2); 632 pushFollow(FOLLOW_2);
553 rule__TruthValue__Alternatives(); 633 rule__DefaultDefinition__Group__0();
554 634
555 state._fsp--; 635 state._fsp--;
556 636 if (state.failed) return ;
557 637
558 } 638 }
559 639
560 after(grammarAccess.getTruthValueAccess().getAlternatives()); 640 if ( state.backtracking==0 ) {
641 after(grammarAccess.getDefaultDefinitionAccess().getGroup());
642 }
561 643
562 } 644 }
563 645
@@ -576,24 +658,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
576 } 658 }
577 return ; 659 return ;
578 } 660 }
579 // $ANTLR end "ruleTruthValue" 661 // $ANTLR end "ruleDefaultDefinition"
580 662
581 663
582 // $ANTLR start "entryRuleInterpretation" 664 // $ANTLR start "entryRuleExternPredicateDefinition"
583 // InternalSolverLanguage.g:203:1: entryRuleInterpretation : ruleInterpretation EOF ; 665 // InternalSolverLanguage.g:204:1: entryRuleExternPredicateDefinition : ruleExternPredicateDefinition EOF ;
584 public final void entryRuleInterpretation() throws RecognitionException { 666 public final void entryRuleExternPredicateDefinition() throws RecognitionException {
585 try { 667 try {
586 // InternalSolverLanguage.g:204:1: ( ruleInterpretation EOF ) 668 // InternalSolverLanguage.g:205:1: ( ruleExternPredicateDefinition EOF )
587 // InternalSolverLanguage.g:205:1: ruleInterpretation EOF 669 // InternalSolverLanguage.g:206:1: ruleExternPredicateDefinition EOF
588 { 670 {
589 before(grammarAccess.getInterpretationRule()); 671 if ( state.backtracking==0 ) {
672 before(grammarAccess.getExternPredicateDefinitionRule());
673 }
590 pushFollow(FOLLOW_1); 674 pushFollow(FOLLOW_1);
591 ruleInterpretation(); 675 ruleExternPredicateDefinition();
592 676
593 state._fsp--; 677 state._fsp--;
594 678 if (state.failed) return ;
595 after(grammarAccess.getInterpretationRule()); 679 if ( state.backtracking==0 ) {
596 match(input,EOF,FOLLOW_2); 680 after(grammarAccess.getExternPredicateDefinitionRule());
681 }
682 match(input,EOF,FOLLOW_2); if (state.failed) return ;
597 683
598 } 684 }
599 685
@@ -606,35 +692,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
606 } 692 }
607 return ; 693 return ;
608 } 694 }
609 // $ANTLR end "entryRuleInterpretation" 695 // $ANTLR end "entryRuleExternPredicateDefinition"
610 696
611 697
612 // $ANTLR start "ruleInterpretation" 698 // $ANTLR start "ruleExternPredicateDefinition"
613 // InternalSolverLanguage.g:212:1: ruleInterpretation : ( ( rule__Interpretation__Alternatives ) ) ; 699 // InternalSolverLanguage.g:213:1: ruleExternPredicateDefinition : ( ( rule__ExternPredicateDefinition__Group__0 ) ) ;
614 public final void ruleInterpretation() throws RecognitionException { 700 public final void ruleExternPredicateDefinition() throws RecognitionException {
615 701
616 int stackSize = keepStackSize(); 702 int stackSize = keepStackSize();
617 703
618 try { 704 try {
619 // InternalSolverLanguage.g:216:2: ( ( ( rule__Interpretation__Alternatives ) ) ) 705 // InternalSolverLanguage.g:217:2: ( ( ( rule__ExternPredicateDefinition__Group__0 ) ) )
620 // InternalSolverLanguage.g:217:2: ( ( rule__Interpretation__Alternatives ) ) 706 // InternalSolverLanguage.g:218:2: ( ( rule__ExternPredicateDefinition__Group__0 ) )
621 { 707 {
622 // InternalSolverLanguage.g:217:2: ( ( rule__Interpretation__Alternatives ) ) 708 // InternalSolverLanguage.g:218:2: ( ( rule__ExternPredicateDefinition__Group__0 ) )
623 // InternalSolverLanguage.g:218:3: ( rule__Interpretation__Alternatives ) 709 // InternalSolverLanguage.g:219:3: ( rule__ExternPredicateDefinition__Group__0 )
624 { 710 {
625 before(grammarAccess.getInterpretationAccess().getAlternatives()); 711 if ( state.backtracking==0 ) {
626 // InternalSolverLanguage.g:219:3: ( rule__Interpretation__Alternatives ) 712 before(grammarAccess.getExternPredicateDefinitionAccess().getGroup());
627 // InternalSolverLanguage.g:219:4: rule__Interpretation__Alternatives 713 }
714 // InternalSolverLanguage.g:220:3: ( rule__ExternPredicateDefinition__Group__0 )
715 // InternalSolverLanguage.g:220:4: rule__ExternPredicateDefinition__Group__0
628 { 716 {
629 pushFollow(FOLLOW_2); 717 pushFollow(FOLLOW_2);
630 rule__Interpretation__Alternatives(); 718 rule__ExternPredicateDefinition__Group__0();
631 719
632 state._fsp--; 720 state._fsp--;
633 721 if (state.failed) return ;
634 722
635 } 723 }
636 724
637 after(grammarAccess.getInterpretationAccess().getAlternatives()); 725 if ( state.backtracking==0 ) {
726 after(grammarAccess.getExternPredicateDefinitionAccess().getGroup());
727 }
638 728
639 } 729 }
640 730
@@ -653,24 +743,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
653 } 743 }
654 return ; 744 return ;
655 } 745 }
656 // $ANTLR end "ruleInterpretation" 746 // $ANTLR end "ruleExternPredicateDefinition"
657 747
658 748
659 // $ANTLR start "entryRuleBasicInterpretation" 749 // $ANTLR start "entryRuleMetricDefinition"
660 // InternalSolverLanguage.g:228:1: entryRuleBasicInterpretation : ruleBasicInterpretation EOF ; 750 // InternalSolverLanguage.g:229:1: entryRuleMetricDefinition : ruleMetricDefinition EOF ;
661 public final void entryRuleBasicInterpretation() throws RecognitionException { 751 public final void entryRuleMetricDefinition() throws RecognitionException {
662 try { 752 try {
663 // InternalSolverLanguage.g:229:1: ( ruleBasicInterpretation EOF ) 753 // InternalSolverLanguage.g:230:1: ( ruleMetricDefinition EOF )
664 // InternalSolverLanguage.g:230:1: ruleBasicInterpretation EOF 754 // InternalSolverLanguage.g:231:1: ruleMetricDefinition EOF
665 { 755 {
666 before(grammarAccess.getBasicInterpretationRule()); 756 if ( state.backtracking==0 ) {
757 before(grammarAccess.getMetricDefinitionRule());
758 }
667 pushFollow(FOLLOW_1); 759 pushFollow(FOLLOW_1);
668 ruleBasicInterpretation(); 760 ruleMetricDefinition();
669 761
670 state._fsp--; 762 state._fsp--;
671 763 if (state.failed) return ;
672 after(grammarAccess.getBasicInterpretationRule()); 764 if ( state.backtracking==0 ) {
673 match(input,EOF,FOLLOW_2); 765 after(grammarAccess.getMetricDefinitionRule());
766 }
767 match(input,EOF,FOLLOW_2); if (state.failed) return ;
674 768
675 } 769 }
676 770
@@ -683,35 +777,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
683 } 777 }
684 return ; 778 return ;
685 } 779 }
686 // $ANTLR end "entryRuleBasicInterpretation" 780 // $ANTLR end "entryRuleMetricDefinition"
687 781
688 782
689 // $ANTLR start "ruleBasicInterpretation" 783 // $ANTLR start "ruleMetricDefinition"
690 // InternalSolverLanguage.g:237:1: ruleBasicInterpretation : ( ( rule__BasicInterpretation__Group__0 ) ) ; 784 // InternalSolverLanguage.g:238:1: ruleMetricDefinition : ( ( rule__MetricDefinition__Group__0 ) ) ;
691 public final void ruleBasicInterpretation() throws RecognitionException { 785 public final void ruleMetricDefinition() throws RecognitionException {
692 786
693 int stackSize = keepStackSize(); 787 int stackSize = keepStackSize();
694 788
695 try { 789 try {
696 // InternalSolverLanguage.g:241:2: ( ( ( rule__BasicInterpretation__Group__0 ) ) ) 790 // InternalSolverLanguage.g:242:2: ( ( ( rule__MetricDefinition__Group__0 ) ) )
697 // InternalSolverLanguage.g:242:2: ( ( rule__BasicInterpretation__Group__0 ) ) 791 // InternalSolverLanguage.g:243:2: ( ( rule__MetricDefinition__Group__0 ) )
698 { 792 {
699 // InternalSolverLanguage.g:242:2: ( ( rule__BasicInterpretation__Group__0 ) ) 793 // InternalSolverLanguage.g:243:2: ( ( rule__MetricDefinition__Group__0 ) )
700 // InternalSolverLanguage.g:243:3: ( rule__BasicInterpretation__Group__0 ) 794 // InternalSolverLanguage.g:244:3: ( rule__MetricDefinition__Group__0 )
701 { 795 {
702 before(grammarAccess.getBasicInterpretationAccess().getGroup()); 796 if ( state.backtracking==0 ) {
703 // InternalSolverLanguage.g:244:3: ( rule__BasicInterpretation__Group__0 ) 797 before(grammarAccess.getMetricDefinitionAccess().getGroup());
704 // InternalSolverLanguage.g:244:4: rule__BasicInterpretation__Group__0 798 }
799 // InternalSolverLanguage.g:245:3: ( rule__MetricDefinition__Group__0 )
800 // InternalSolverLanguage.g:245:4: rule__MetricDefinition__Group__0
705 { 801 {
706 pushFollow(FOLLOW_2); 802 pushFollow(FOLLOW_2);
707 rule__BasicInterpretation__Group__0(); 803 rule__MetricDefinition__Group__0();
708 804
709 state._fsp--; 805 state._fsp--;
710 806 if (state.failed) return ;
711 807
712 } 808 }
713 809
714 after(grammarAccess.getBasicInterpretationAccess().getGroup()); 810 if ( state.backtracking==0 ) {
811 after(grammarAccess.getMetricDefinitionAccess().getGroup());
812 }
715 813
716 } 814 }
717 815
@@ -730,24 +828,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
730 } 828 }
731 return ; 829 return ;
732 } 830 }
733 // $ANTLR end "ruleBasicInterpretation" 831 // $ANTLR end "ruleMetricDefinition"
734 832
735 833
736 // $ANTLR start "entryRuleSymbol" 834 // $ANTLR start "entryRuleExternMetricDefinition"
737 // InternalSolverLanguage.g:253:1: entryRuleSymbol : ruleSymbol EOF ; 835 // InternalSolverLanguage.g:254:1: entryRuleExternMetricDefinition : ruleExternMetricDefinition EOF ;
738 public final void entryRuleSymbol() throws RecognitionException { 836 public final void entryRuleExternMetricDefinition() throws RecognitionException {
739 try { 837 try {
740 // InternalSolverLanguage.g:254:1: ( ruleSymbol EOF ) 838 // InternalSolverLanguage.g:255:1: ( ruleExternMetricDefinition EOF )
741 // InternalSolverLanguage.g:255:1: ruleSymbol EOF 839 // InternalSolverLanguage.g:256:1: ruleExternMetricDefinition EOF
742 { 840 {
743 before(grammarAccess.getSymbolRule()); 841 if ( state.backtracking==0 ) {
842 before(grammarAccess.getExternMetricDefinitionRule());
843 }
744 pushFollow(FOLLOW_1); 844 pushFollow(FOLLOW_1);
745 ruleSymbol(); 845 ruleExternMetricDefinition();
746 846
747 state._fsp--; 847 state._fsp--;
748 848 if (state.failed) return ;
749 after(grammarAccess.getSymbolRule()); 849 if ( state.backtracking==0 ) {
750 match(input,EOF,FOLLOW_2); 850 after(grammarAccess.getExternMetricDefinitionRule());
851 }
852 match(input,EOF,FOLLOW_2); if (state.failed) return ;
751 853
752 } 854 }
753 855
@@ -760,35 +862,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
760 } 862 }
761 return ; 863 return ;
762 } 864 }
763 // $ANTLR end "entryRuleSymbol" 865 // $ANTLR end "entryRuleExternMetricDefinition"
764 866
765 867
766 // $ANTLR start "ruleSymbol" 868 // $ANTLR start "ruleExternMetricDefinition"
767 // InternalSolverLanguage.g:262:1: ruleSymbol : ( ( rule__Symbol__Alternatives ) ) ; 869 // InternalSolverLanguage.g:263:1: ruleExternMetricDefinition : ( ( rule__ExternMetricDefinition__Group__0 ) ) ;
768 public final void ruleSymbol() throws RecognitionException { 870 public final void ruleExternMetricDefinition() throws RecognitionException {
769 871
770 int stackSize = keepStackSize(); 872 int stackSize = keepStackSize();
771 873
772 try { 874 try {
773 // InternalSolverLanguage.g:266:2: ( ( ( rule__Symbol__Alternatives ) ) ) 875 // InternalSolverLanguage.g:267:2: ( ( ( rule__ExternMetricDefinition__Group__0 ) ) )
774 // InternalSolverLanguage.g:267:2: ( ( rule__Symbol__Alternatives ) ) 876 // InternalSolverLanguage.g:268:2: ( ( rule__ExternMetricDefinition__Group__0 ) )
775 { 877 {
776 // InternalSolverLanguage.g:267:2: ( ( rule__Symbol__Alternatives ) ) 878 // InternalSolverLanguage.g:268:2: ( ( rule__ExternMetricDefinition__Group__0 ) )
777 // InternalSolverLanguage.g:268:3: ( rule__Symbol__Alternatives ) 879 // InternalSolverLanguage.g:269:3: ( rule__ExternMetricDefinition__Group__0 )
778 { 880 {
779 before(grammarAccess.getSymbolAccess().getAlternatives()); 881 if ( state.backtracking==0 ) {
780 // InternalSolverLanguage.g:269:3: ( rule__Symbol__Alternatives ) 882 before(grammarAccess.getExternMetricDefinitionAccess().getGroup());
781 // InternalSolverLanguage.g:269:4: rule__Symbol__Alternatives 883 }
884 // InternalSolverLanguage.g:270:3: ( rule__ExternMetricDefinition__Group__0 )
885 // InternalSolverLanguage.g:270:4: rule__ExternMetricDefinition__Group__0
782 { 886 {
783 pushFollow(FOLLOW_2); 887 pushFollow(FOLLOW_2);
784 rule__Symbol__Alternatives(); 888 rule__ExternMetricDefinition__Group__0();
785 889
786 state._fsp--; 890 state._fsp--;
787 891 if (state.failed) return ;
788 892
789 } 893 }
790 894
791 after(grammarAccess.getSymbolAccess().getAlternatives()); 895 if ( state.backtracking==0 ) {
896 after(grammarAccess.getExternMetricDefinitionAccess().getGroup());
897 }
792 898
793 } 899 }
794 900
@@ -807,24 +913,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
807 } 913 }
808 return ; 914 return ;
809 } 915 }
810 // $ANTLR end "ruleSymbol" 916 // $ANTLR end "ruleExternMetricDefinition"
811 917
812 918
813 // $ANTLR start "entryRuleModelSymbol" 919 // $ANTLR start "entryRuleExpression"
814 // InternalSolverLanguage.g:278:1: entryRuleModelSymbol : ruleModelSymbol EOF ; 920 // InternalSolverLanguage.g:279:1: entryRuleExpression : ruleExpression EOF ;
815 public final void entryRuleModelSymbol() throws RecognitionException { 921 public final void entryRuleExpression() throws RecognitionException {
816 try { 922 try {
817 // InternalSolverLanguage.g:279:1: ( ruleModelSymbol EOF ) 923 // InternalSolverLanguage.g:280:1: ( ruleExpression EOF )
818 // InternalSolverLanguage.g:280:1: ruleModelSymbol EOF 924 // InternalSolverLanguage.g:281:1: ruleExpression EOF
819 { 925 {
820 before(grammarAccess.getModelSymbolRule()); 926 if ( state.backtracking==0 ) {
927 before(grammarAccess.getExpressionRule());
928 }
821 pushFollow(FOLLOW_1); 929 pushFollow(FOLLOW_1);
822 ruleModelSymbol(); 930 ruleExpression();
823 931
824 state._fsp--; 932 state._fsp--;
825 933 if (state.failed) return ;
826 after(grammarAccess.getModelSymbolRule()); 934 if ( state.backtracking==0 ) {
827 match(input,EOF,FOLLOW_2); 935 after(grammarAccess.getExpressionRule());
936 }
937 match(input,EOF,FOLLOW_2); if (state.failed) return ;
828 938
829 } 939 }
830 940
@@ -837,35 +947,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
837 } 947 }
838 return ; 948 return ;
839 } 949 }
840 // $ANTLR end "entryRuleModelSymbol" 950 // $ANTLR end "entryRuleExpression"
841 951
842 952
843 // $ANTLR start "ruleModelSymbol" 953 // $ANTLR start "ruleExpression"
844 // InternalSolverLanguage.g:287:1: ruleModelSymbol : ( ( rule__ModelSymbol__NameAssignment ) ) ; 954 // InternalSolverLanguage.g:288:1: ruleExpression : ( ( rule__Expression__Alternatives ) ) ;
845 public final void ruleModelSymbol() throws RecognitionException { 955 public final void ruleExpression() throws RecognitionException {
846 956
847 int stackSize = keepStackSize(); 957 int stackSize = keepStackSize();
848 958
849 try { 959 try {
850 // InternalSolverLanguage.g:291:2: ( ( ( rule__ModelSymbol__NameAssignment ) ) ) 960 // InternalSolverLanguage.g:292:2: ( ( ( rule__Expression__Alternatives ) ) )
851 // InternalSolverLanguage.g:292:2: ( ( rule__ModelSymbol__NameAssignment ) ) 961 // InternalSolverLanguage.g:293:2: ( ( rule__Expression__Alternatives ) )
852 { 962 {
853 // InternalSolverLanguage.g:292:2: ( ( rule__ModelSymbol__NameAssignment ) ) 963 // InternalSolverLanguage.g:293:2: ( ( rule__Expression__Alternatives ) )
854 // InternalSolverLanguage.g:293:3: ( rule__ModelSymbol__NameAssignment ) 964 // InternalSolverLanguage.g:294:3: ( rule__Expression__Alternatives )
855 { 965 {
856 before(grammarAccess.getModelSymbolAccess().getNameAssignment()); 966 if ( state.backtracking==0 ) {
857 // InternalSolverLanguage.g:294:3: ( rule__ModelSymbol__NameAssignment ) 967 before(grammarAccess.getExpressionAccess().getAlternatives());
858 // InternalSolverLanguage.g:294:4: rule__ModelSymbol__NameAssignment 968 }
969 // InternalSolverLanguage.g:295:3: ( rule__Expression__Alternatives )
970 // InternalSolverLanguage.g:295:4: rule__Expression__Alternatives
859 { 971 {
860 pushFollow(FOLLOW_2); 972 pushFollow(FOLLOW_2);
861 rule__ModelSymbol__NameAssignment(); 973 rule__Expression__Alternatives();
862 974
863 state._fsp--; 975 state._fsp--;
864 976 if (state.failed) return ;
865 977
866 } 978 }
867 979
868 after(grammarAccess.getModelSymbolAccess().getNameAssignment()); 980 if ( state.backtracking==0 ) {
981 after(grammarAccess.getExpressionAccess().getAlternatives());
982 }
869 983
870 } 984 }
871 985
@@ -884,24 +998,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
884 } 998 }
885 return ; 999 return ;
886 } 1000 }
887 // $ANTLR end "ruleModelSymbol" 1001 // $ANTLR end "ruleExpression"
888 1002
889 1003
890 // $ANTLR start "entryRulePartialitySymbol" 1004 // $ANTLR start "entryRuleIfElse"
891 // InternalSolverLanguage.g:303:1: entryRulePartialitySymbol : rulePartialitySymbol EOF ; 1005 // InternalSolverLanguage.g:304:1: entryRuleIfElse : ruleIfElse EOF ;
892 public final void entryRulePartialitySymbol() throws RecognitionException { 1006 public final void entryRuleIfElse() throws RecognitionException {
893 try { 1007 try {
894 // InternalSolverLanguage.g:304:1: ( rulePartialitySymbol EOF ) 1008 // InternalSolverLanguage.g:305:1: ( ruleIfElse EOF )
895 // InternalSolverLanguage.g:305:1: rulePartialitySymbol EOF 1009 // InternalSolverLanguage.g:306:1: ruleIfElse EOF
896 { 1010 {
897 before(grammarAccess.getPartialitySymbolRule()); 1011 if ( state.backtracking==0 ) {
1012 before(grammarAccess.getIfElseRule());
1013 }
898 pushFollow(FOLLOW_1); 1014 pushFollow(FOLLOW_1);
899 rulePartialitySymbol(); 1015 ruleIfElse();
900 1016
901 state._fsp--; 1017 state._fsp--;
902 1018 if (state.failed) return ;
903 after(grammarAccess.getPartialitySymbolRule()); 1019 if ( state.backtracking==0 ) {
904 match(input,EOF,FOLLOW_2); 1020 after(grammarAccess.getIfElseRule());
1021 }
1022 match(input,EOF,FOLLOW_2); if (state.failed) return ;
905 1023
906 } 1024 }
907 1025
@@ -914,35 +1032,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
914 } 1032 }
915 return ; 1033 return ;
916 } 1034 }
917 // $ANTLR end "entryRulePartialitySymbol" 1035 // $ANTLR end "entryRuleIfElse"
918 1036
919 1037
920 // $ANTLR start "rulePartialitySymbol" 1038 // $ANTLR start "ruleIfElse"
921 // InternalSolverLanguage.g:312:1: rulePartialitySymbol : ( ( rule__PartialitySymbol__Alternatives ) ) ; 1039 // InternalSolverLanguage.g:313:1: ruleIfElse : ( ( rule__IfElse__Group__0 ) ) ;
922 public final void rulePartialitySymbol() throws RecognitionException { 1040 public final void ruleIfElse() throws RecognitionException {
923 1041
924 int stackSize = keepStackSize(); 1042 int stackSize = keepStackSize();
925 1043
926 try { 1044 try {
927 // InternalSolverLanguage.g:316:2: ( ( ( rule__PartialitySymbol__Alternatives ) ) ) 1045 // InternalSolverLanguage.g:317:2: ( ( ( rule__IfElse__Group__0 ) ) )
928 // InternalSolverLanguage.g:317:2: ( ( rule__PartialitySymbol__Alternatives ) ) 1046 // InternalSolverLanguage.g:318:2: ( ( rule__IfElse__Group__0 ) )
929 { 1047 {
930 // InternalSolverLanguage.g:317:2: ( ( rule__PartialitySymbol__Alternatives ) ) 1048 // InternalSolverLanguage.g:318:2: ( ( rule__IfElse__Group__0 ) )
931 // InternalSolverLanguage.g:318:3: ( rule__PartialitySymbol__Alternatives ) 1049 // InternalSolverLanguage.g:319:3: ( rule__IfElse__Group__0 )
932 { 1050 {
933 before(grammarAccess.getPartialitySymbolAccess().getAlternatives()); 1051 if ( state.backtracking==0 ) {
934 // InternalSolverLanguage.g:319:3: ( rule__PartialitySymbol__Alternatives ) 1052 before(grammarAccess.getIfElseAccess().getGroup());
935 // InternalSolverLanguage.g:319:4: rule__PartialitySymbol__Alternatives 1053 }
1054 // InternalSolverLanguage.g:320:3: ( rule__IfElse__Group__0 )
1055 // InternalSolverLanguage.g:320:4: rule__IfElse__Group__0
936 { 1056 {
937 pushFollow(FOLLOW_2); 1057 pushFollow(FOLLOW_2);
938 rule__PartialitySymbol__Alternatives(); 1058 rule__IfElse__Group__0();
939 1059
940 state._fsp--; 1060 state._fsp--;
941 1061 if (state.failed) return ;
942 1062
943 } 1063 }
944 1064
945 after(grammarAccess.getPartialitySymbolAccess().getAlternatives()); 1065 if ( state.backtracking==0 ) {
1066 after(grammarAccess.getIfElseAccess().getGroup());
1067 }
946 1068
947 } 1069 }
948 1070
@@ -961,24 +1083,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
961 } 1083 }
962 return ; 1084 return ;
963 } 1085 }
964 // $ANTLR end "rulePartialitySymbol" 1086 // $ANTLR end "ruleIfElse"
965 1087
966 1088
967 // $ANTLR start "entryRuleExistSymbol" 1089 // $ANTLR start "entryRuleDisjunctiveExpression"
968 // InternalSolverLanguage.g:328:1: entryRuleExistSymbol : ruleExistSymbol EOF ; 1090 // InternalSolverLanguage.g:329:1: entryRuleDisjunctiveExpression : ruleDisjunctiveExpression EOF ;
969 public final void entryRuleExistSymbol() throws RecognitionException { 1091 public final void entryRuleDisjunctiveExpression() throws RecognitionException {
970 try { 1092 try {
971 // InternalSolverLanguage.g:329:1: ( ruleExistSymbol EOF ) 1093 // InternalSolverLanguage.g:330:1: ( ruleDisjunctiveExpression EOF )
972 // InternalSolverLanguage.g:330:1: ruleExistSymbol EOF 1094 // InternalSolverLanguage.g:331:1: ruleDisjunctiveExpression EOF
973 { 1095 {
974 before(grammarAccess.getExistSymbolRule()); 1096 if ( state.backtracking==0 ) {
1097 before(grammarAccess.getDisjunctiveExpressionRule());
1098 }
975 pushFollow(FOLLOW_1); 1099 pushFollow(FOLLOW_1);
976 ruleExistSymbol(); 1100 ruleDisjunctiveExpression();
977 1101
978 state._fsp--; 1102 state._fsp--;
979 1103 if (state.failed) return ;
980 after(grammarAccess.getExistSymbolRule()); 1104 if ( state.backtracking==0 ) {
981 match(input,EOF,FOLLOW_2); 1105 after(grammarAccess.getDisjunctiveExpressionRule());
1106 }
1107 match(input,EOF,FOLLOW_2); if (state.failed) return ;
982 1108
983 } 1109 }
984 1110
@@ -991,35 +1117,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
991 } 1117 }
992 return ; 1118 return ;
993 } 1119 }
994 // $ANTLR end "entryRuleExistSymbol" 1120 // $ANTLR end "entryRuleDisjunctiveExpression"
995 1121
996 1122
997 // $ANTLR start "ruleExistSymbol" 1123 // $ANTLR start "ruleDisjunctiveExpression"
998 // InternalSolverLanguage.g:337:1: ruleExistSymbol : ( ( rule__ExistSymbol__Group__0 ) ) ; 1124 // InternalSolverLanguage.g:338:1: ruleDisjunctiveExpression : ( ( rule__DisjunctiveExpression__Group__0 ) ) ;
999 public final void ruleExistSymbol() throws RecognitionException { 1125 public final void ruleDisjunctiveExpression() throws RecognitionException {
1000 1126
1001 int stackSize = keepStackSize(); 1127 int stackSize = keepStackSize();
1002 1128
1003 try { 1129 try {
1004 // InternalSolverLanguage.g:341:2: ( ( ( rule__ExistSymbol__Group__0 ) ) ) 1130 // InternalSolverLanguage.g:342:2: ( ( ( rule__DisjunctiveExpression__Group__0 ) ) )
1005 // InternalSolverLanguage.g:342:2: ( ( rule__ExistSymbol__Group__0 ) ) 1131 // InternalSolverLanguage.g:343:2: ( ( rule__DisjunctiveExpression__Group__0 ) )
1006 { 1132 {
1007 // InternalSolverLanguage.g:342:2: ( ( rule__ExistSymbol__Group__0 ) ) 1133 // InternalSolverLanguage.g:343:2: ( ( rule__DisjunctiveExpression__Group__0 ) )
1008 // InternalSolverLanguage.g:343:3: ( rule__ExistSymbol__Group__0 ) 1134 // InternalSolverLanguage.g:344:3: ( rule__DisjunctiveExpression__Group__0 )
1009 { 1135 {
1010 before(grammarAccess.getExistSymbolAccess().getGroup()); 1136 if ( state.backtracking==0 ) {
1011 // InternalSolverLanguage.g:344:3: ( rule__ExistSymbol__Group__0 ) 1137 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup());
1012 // InternalSolverLanguage.g:344:4: rule__ExistSymbol__Group__0 1138 }
1139 // InternalSolverLanguage.g:345:3: ( rule__DisjunctiveExpression__Group__0 )
1140 // InternalSolverLanguage.g:345:4: rule__DisjunctiveExpression__Group__0
1013 { 1141 {
1014 pushFollow(FOLLOW_2); 1142 pushFollow(FOLLOW_2);
1015 rule__ExistSymbol__Group__0(); 1143 rule__DisjunctiveExpression__Group__0();
1016 1144
1017 state._fsp--; 1145 state._fsp--;
1018 1146 if (state.failed) return ;
1019 1147
1020 } 1148 }
1021 1149
1022 after(grammarAccess.getExistSymbolAccess().getGroup()); 1150 if ( state.backtracking==0 ) {
1151 after(grammarAccess.getDisjunctiveExpressionAccess().getGroup());
1152 }
1023 1153
1024 } 1154 }
1025 1155
@@ -1038,24 +1168,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1038 } 1168 }
1039 return ; 1169 return ;
1040 } 1170 }
1041 // $ANTLR end "ruleExistSymbol" 1171 // $ANTLR end "ruleDisjunctiveExpression"
1042 1172
1043 1173
1044 // $ANTLR start "entryRuleEqualsSymbol" 1174 // $ANTLR start "entryRuleCase"
1045 // InternalSolverLanguage.g:353:1: entryRuleEqualsSymbol : ruleEqualsSymbol EOF ; 1175 // InternalSolverLanguage.g:354:1: entryRuleCase : ruleCase EOF ;
1046 public final void entryRuleEqualsSymbol() throws RecognitionException { 1176 public final void entryRuleCase() throws RecognitionException {
1047 try { 1177 try {
1048 // InternalSolverLanguage.g:354:1: ( ruleEqualsSymbol EOF ) 1178 // InternalSolverLanguage.g:355:1: ( ruleCase EOF )
1049 // InternalSolverLanguage.g:355:1: ruleEqualsSymbol EOF 1179 // InternalSolverLanguage.g:356:1: ruleCase EOF
1050 { 1180 {
1051 before(grammarAccess.getEqualsSymbolRule()); 1181 if ( state.backtracking==0 ) {
1182 before(grammarAccess.getCaseRule());
1183 }
1052 pushFollow(FOLLOW_1); 1184 pushFollow(FOLLOW_1);
1053 ruleEqualsSymbol(); 1185 ruleCase();
1054 1186
1055 state._fsp--; 1187 state._fsp--;
1056 1188 if (state.failed) return ;
1057 after(grammarAccess.getEqualsSymbolRule()); 1189 if ( state.backtracking==0 ) {
1058 match(input,EOF,FOLLOW_2); 1190 after(grammarAccess.getCaseRule());
1191 }
1192 match(input,EOF,FOLLOW_2); if (state.failed) return ;
1059 1193
1060 } 1194 }
1061 1195
@@ -1068,35 +1202,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1068 } 1202 }
1069 return ; 1203 return ;
1070 } 1204 }
1071 // $ANTLR end "entryRuleEqualsSymbol" 1205 // $ANTLR end "entryRuleCase"
1072 1206
1073 1207
1074 // $ANTLR start "ruleEqualsSymbol" 1208 // $ANTLR start "ruleCase"
1075 // InternalSolverLanguage.g:362:1: ruleEqualsSymbol : ( ( rule__EqualsSymbol__Group__0 ) ) ; 1209 // InternalSolverLanguage.g:363:1: ruleCase : ( ( rule__Case__Group__0 ) ) ;
1076 public final void ruleEqualsSymbol() throws RecognitionException { 1210 public final void ruleCase() throws RecognitionException {
1077 1211
1078 int stackSize = keepStackSize(); 1212 int stackSize = keepStackSize();
1079 1213
1080 try { 1214 try {
1081 // InternalSolverLanguage.g:366:2: ( ( ( rule__EqualsSymbol__Group__0 ) ) ) 1215 // InternalSolverLanguage.g:367:2: ( ( ( rule__Case__Group__0 ) ) )
1082 // InternalSolverLanguage.g:367:2: ( ( rule__EqualsSymbol__Group__0 ) ) 1216 // InternalSolverLanguage.g:368:2: ( ( rule__Case__Group__0 ) )
1083 { 1217 {
1084 // InternalSolverLanguage.g:367:2: ( ( rule__EqualsSymbol__Group__0 ) ) 1218 // InternalSolverLanguage.g:368:2: ( ( rule__Case__Group__0 ) )
1085 // InternalSolverLanguage.g:368:3: ( rule__EqualsSymbol__Group__0 ) 1219 // InternalSolverLanguage.g:369:3: ( rule__Case__Group__0 )
1086 { 1220 {
1087 before(grammarAccess.getEqualsSymbolAccess().getGroup()); 1221 if ( state.backtracking==0 ) {
1088 // InternalSolverLanguage.g:369:3: ( rule__EqualsSymbol__Group__0 ) 1222 before(grammarAccess.getCaseAccess().getGroup());
1089 // InternalSolverLanguage.g:369:4: rule__EqualsSymbol__Group__0 1223 }
1224 // InternalSolverLanguage.g:370:3: ( rule__Case__Group__0 )
1225 // InternalSolverLanguage.g:370:4: rule__Case__Group__0
1090 { 1226 {
1091 pushFollow(FOLLOW_2); 1227 pushFollow(FOLLOW_2);
1092 rule__EqualsSymbol__Group__0(); 1228 rule__Case__Group__0();
1093 1229
1094 state._fsp--; 1230 state._fsp--;
1095 1231 if (state.failed) return ;
1096 1232
1097 } 1233 }
1098 1234
1099 after(grammarAccess.getEqualsSymbolAccess().getGroup()); 1235 if ( state.backtracking==0 ) {
1236 after(grammarAccess.getCaseAccess().getGroup());
1237 }
1100 1238
1101 } 1239 }
1102 1240
@@ -1115,24 +1253,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1115 } 1253 }
1116 return ; 1254 return ;
1117 } 1255 }
1118 // $ANTLR end "ruleEqualsSymbol" 1256 // $ANTLR end "ruleCase"
1119 1257
1120 1258
1121 // $ANTLR start "entryRuleDataSymbol" 1259 // $ANTLR start "entryRuleConjunctiveExpression"
1122 // InternalSolverLanguage.g:378:1: entryRuleDataSymbol : ruleDataSymbol EOF ; 1260 // InternalSolverLanguage.g:379:1: entryRuleConjunctiveExpression : ruleConjunctiveExpression EOF ;
1123 public final void entryRuleDataSymbol() throws RecognitionException { 1261 public final void entryRuleConjunctiveExpression() throws RecognitionException {
1124 try { 1262 try {
1125 // InternalSolverLanguage.g:379:1: ( ruleDataSymbol EOF ) 1263 // InternalSolverLanguage.g:380:1: ( ruleConjunctiveExpression EOF )
1126 // InternalSolverLanguage.g:380:1: ruleDataSymbol EOF 1264 // InternalSolverLanguage.g:381:1: ruleConjunctiveExpression EOF
1127 { 1265 {
1128 before(grammarAccess.getDataSymbolRule()); 1266 if ( state.backtracking==0 ) {
1267 before(grammarAccess.getConjunctiveExpressionRule());
1268 }
1129 pushFollow(FOLLOW_1); 1269 pushFollow(FOLLOW_1);
1130 ruleDataSymbol(); 1270 ruleConjunctiveExpression();
1131 1271
1132 state._fsp--; 1272 state._fsp--;
1133 1273 if (state.failed) return ;
1134 after(grammarAccess.getDataSymbolRule()); 1274 if ( state.backtracking==0 ) {
1135 match(input,EOF,FOLLOW_2); 1275 after(grammarAccess.getConjunctiveExpressionRule());
1276 }
1277 match(input,EOF,FOLLOW_2); if (state.failed) return ;
1136 1278
1137 } 1279 }
1138 1280
@@ -1145,35 +1287,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1145 } 1287 }
1146 return ; 1288 return ;
1147 } 1289 }
1148 // $ANTLR end "entryRuleDataSymbol" 1290 // $ANTLR end "entryRuleConjunctiveExpression"
1149 1291
1150 1292
1151 // $ANTLR start "ruleDataSymbol" 1293 // $ANTLR start "ruleConjunctiveExpression"
1152 // InternalSolverLanguage.g:387:1: ruleDataSymbol : ( ( rule__DataSymbol__Alternatives ) ) ; 1294 // InternalSolverLanguage.g:388:1: ruleConjunctiveExpression : ( ( rule__ConjunctiveExpression__Group__0 ) ) ;
1153 public final void ruleDataSymbol() throws RecognitionException { 1295 public final void ruleConjunctiveExpression() throws RecognitionException {
1154 1296
1155 int stackSize = keepStackSize(); 1297 int stackSize = keepStackSize();
1156 1298
1157 try { 1299 try {
1158 // InternalSolverLanguage.g:391:2: ( ( ( rule__DataSymbol__Alternatives ) ) ) 1300 // InternalSolverLanguage.g:392:2: ( ( ( rule__ConjunctiveExpression__Group__0 ) ) )
1159 // InternalSolverLanguage.g:392:2: ( ( rule__DataSymbol__Alternatives ) ) 1301 // InternalSolverLanguage.g:393:2: ( ( rule__ConjunctiveExpression__Group__0 ) )
1160 { 1302 {
1161 // InternalSolverLanguage.g:392:2: ( ( rule__DataSymbol__Alternatives ) ) 1303 // InternalSolverLanguage.g:393:2: ( ( rule__ConjunctiveExpression__Group__0 ) )
1162 // InternalSolverLanguage.g:393:3: ( rule__DataSymbol__Alternatives ) 1304 // InternalSolverLanguage.g:394:3: ( rule__ConjunctiveExpression__Group__0 )
1163 { 1305 {
1164 before(grammarAccess.getDataSymbolAccess().getAlternatives()); 1306 if ( state.backtracking==0 ) {
1165 // InternalSolverLanguage.g:394:3: ( rule__DataSymbol__Alternatives ) 1307 before(grammarAccess.getConjunctiveExpressionAccess().getGroup());
1166 // InternalSolverLanguage.g:394:4: rule__DataSymbol__Alternatives 1308 }
1309 // InternalSolverLanguage.g:395:3: ( rule__ConjunctiveExpression__Group__0 )
1310 // InternalSolverLanguage.g:395:4: rule__ConjunctiveExpression__Group__0
1167 { 1311 {
1168 pushFollow(FOLLOW_2); 1312 pushFollow(FOLLOW_2);
1169 rule__DataSymbol__Alternatives(); 1313 rule__ConjunctiveExpression__Group__0();
1170 1314
1171 state._fsp--; 1315 state._fsp--;
1172 1316 if (state.failed) return ;
1173 1317
1174 } 1318 }
1175 1319
1176 after(grammarAccess.getDataSymbolAccess().getAlternatives()); 1320 if ( state.backtracking==0 ) {
1321 after(grammarAccess.getConjunctiveExpressionAccess().getGroup());
1322 }
1177 1323
1178 } 1324 }
1179 1325
@@ -1192,24 +1338,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1192 } 1338 }
1193 return ; 1339 return ;
1194 } 1340 }
1195 // $ANTLR end "ruleDataSymbol" 1341 // $ANTLR end "ruleConjunctiveExpression"
1196 1342
1197 1343
1198 // $ANTLR start "entryRuleBooleanSymbol" 1344 // $ANTLR start "entryRuleComparisonExpression"
1199 // InternalSolverLanguage.g:403:1: entryRuleBooleanSymbol : ruleBooleanSymbol EOF ; 1345 // InternalSolverLanguage.g:404:1: entryRuleComparisonExpression : ruleComparisonExpression EOF ;
1200 public final void entryRuleBooleanSymbol() throws RecognitionException { 1346 public final void entryRuleComparisonExpression() throws RecognitionException {
1201 try { 1347 try {
1202 // InternalSolverLanguage.g:404:1: ( ruleBooleanSymbol EOF ) 1348 // InternalSolverLanguage.g:405:1: ( ruleComparisonExpression EOF )
1203 // InternalSolverLanguage.g:405:1: ruleBooleanSymbol EOF 1349 // InternalSolverLanguage.g:406:1: ruleComparisonExpression EOF
1204 { 1350 {
1205 before(grammarAccess.getBooleanSymbolRule()); 1351 if ( state.backtracking==0 ) {
1352 before(grammarAccess.getComparisonExpressionRule());
1353 }
1206 pushFollow(FOLLOW_1); 1354 pushFollow(FOLLOW_1);
1207 ruleBooleanSymbol(); 1355 ruleComparisonExpression();
1208 1356
1209 state._fsp--; 1357 state._fsp--;
1210 1358 if (state.failed) return ;
1211 after(grammarAccess.getBooleanSymbolRule()); 1359 if ( state.backtracking==0 ) {
1212 match(input,EOF,FOLLOW_2); 1360 after(grammarAccess.getComparisonExpressionRule());
1361 }
1362 match(input,EOF,FOLLOW_2); if (state.failed) return ;
1213 1363
1214 } 1364 }
1215 1365
@@ -1222,35 +1372,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1222 } 1372 }
1223 return ; 1373 return ;
1224 } 1374 }
1225 // $ANTLR end "entryRuleBooleanSymbol" 1375 // $ANTLR end "entryRuleComparisonExpression"
1226 1376
1227 1377
1228 // $ANTLR start "ruleBooleanSymbol" 1378 // $ANTLR start "ruleComparisonExpression"
1229 // InternalSolverLanguage.g:412:1: ruleBooleanSymbol : ( ( rule__BooleanSymbol__Group__0 ) ) ; 1379 // InternalSolverLanguage.g:413:1: ruleComparisonExpression : ( ( rule__ComparisonExpression__Group__0 ) ) ;
1230 public final void ruleBooleanSymbol() throws RecognitionException { 1380 public final void ruleComparisonExpression() throws RecognitionException {
1231 1381
1232 int stackSize = keepStackSize(); 1382 int stackSize = keepStackSize();
1233 1383
1234 try { 1384 try {
1235 // InternalSolverLanguage.g:416:2: ( ( ( rule__BooleanSymbol__Group__0 ) ) ) 1385 // InternalSolverLanguage.g:417:2: ( ( ( rule__ComparisonExpression__Group__0 ) ) )
1236 // InternalSolverLanguage.g:417:2: ( ( rule__BooleanSymbol__Group__0 ) ) 1386 // InternalSolverLanguage.g:418:2: ( ( rule__ComparisonExpression__Group__0 ) )
1237 { 1387 {
1238 // InternalSolverLanguage.g:417:2: ( ( rule__BooleanSymbol__Group__0 ) ) 1388 // InternalSolverLanguage.g:418:2: ( ( rule__ComparisonExpression__Group__0 ) )
1239 // InternalSolverLanguage.g:418:3: ( rule__BooleanSymbol__Group__0 ) 1389 // InternalSolverLanguage.g:419:3: ( rule__ComparisonExpression__Group__0 )
1240 { 1390 {
1241 before(grammarAccess.getBooleanSymbolAccess().getGroup()); 1391 if ( state.backtracking==0 ) {
1242 // InternalSolverLanguage.g:419:3: ( rule__BooleanSymbol__Group__0 ) 1392 before(grammarAccess.getComparisonExpressionAccess().getGroup());
1243 // InternalSolverLanguage.g:419:4: rule__BooleanSymbol__Group__0 1393 }
1394 // InternalSolverLanguage.g:420:3: ( rule__ComparisonExpression__Group__0 )
1395 // InternalSolverLanguage.g:420:4: rule__ComparisonExpression__Group__0
1244 { 1396 {
1245 pushFollow(FOLLOW_2); 1397 pushFollow(FOLLOW_2);
1246 rule__BooleanSymbol__Group__0(); 1398 rule__ComparisonExpression__Group__0();
1247 1399
1248 state._fsp--; 1400 state._fsp--;
1249 1401 if (state.failed) return ;
1250 1402
1251 } 1403 }
1252 1404
1253 after(grammarAccess.getBooleanSymbolAccess().getGroup()); 1405 if ( state.backtracking==0 ) {
1406 after(grammarAccess.getComparisonExpressionAccess().getGroup());
1407 }
1254 1408
1255 } 1409 }
1256 1410
@@ -1269,24 +1423,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1269 } 1423 }
1270 return ; 1424 return ;
1271 } 1425 }
1272 // $ANTLR end "ruleBooleanSymbol" 1426 // $ANTLR end "ruleComparisonExpression"
1273 1427
1274 1428
1275 // $ANTLR start "entryRuleIntegerSymbol" 1429 // $ANTLR start "entryRuleAdditiveExpression"
1276 // InternalSolverLanguage.g:428:1: entryRuleIntegerSymbol : ruleIntegerSymbol EOF ; 1430 // InternalSolverLanguage.g:429:1: entryRuleAdditiveExpression : ruleAdditiveExpression EOF ;
1277 public final void entryRuleIntegerSymbol() throws RecognitionException { 1431 public final void entryRuleAdditiveExpression() throws RecognitionException {
1278 try { 1432 try {
1279 // InternalSolverLanguage.g:429:1: ( ruleIntegerSymbol EOF ) 1433 // InternalSolverLanguage.g:430:1: ( ruleAdditiveExpression EOF )
1280 // InternalSolverLanguage.g:430:1: ruleIntegerSymbol EOF 1434 // InternalSolverLanguage.g:431:1: ruleAdditiveExpression EOF
1281 { 1435 {
1282 before(grammarAccess.getIntegerSymbolRule()); 1436 if ( state.backtracking==0 ) {
1437 before(grammarAccess.getAdditiveExpressionRule());
1438 }
1283 pushFollow(FOLLOW_1); 1439 pushFollow(FOLLOW_1);
1284 ruleIntegerSymbol(); 1440 ruleAdditiveExpression();
1285 1441
1286 state._fsp--; 1442 state._fsp--;
1287 1443 if (state.failed) return ;
1288 after(grammarAccess.getIntegerSymbolRule()); 1444 if ( state.backtracking==0 ) {
1289 match(input,EOF,FOLLOW_2); 1445 after(grammarAccess.getAdditiveExpressionRule());
1446 }
1447 match(input,EOF,FOLLOW_2); if (state.failed) return ;
1290 1448
1291 } 1449 }
1292 1450
@@ -1299,35 +1457,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1299 } 1457 }
1300 return ; 1458 return ;
1301 } 1459 }
1302 // $ANTLR end "entryRuleIntegerSymbol" 1460 // $ANTLR end "entryRuleAdditiveExpression"
1303 1461
1304 1462
1305 // $ANTLR start "ruleIntegerSymbol" 1463 // $ANTLR start "ruleAdditiveExpression"
1306 // InternalSolverLanguage.g:437:1: ruleIntegerSymbol : ( ( rule__IntegerSymbol__Group__0 ) ) ; 1464 // InternalSolverLanguage.g:438:1: ruleAdditiveExpression : ( ( rule__AdditiveExpression__Group__0 ) ) ;
1307 public final void ruleIntegerSymbol() throws RecognitionException { 1465 public final void ruleAdditiveExpression() throws RecognitionException {
1308 1466
1309 int stackSize = keepStackSize(); 1467 int stackSize = keepStackSize();
1310 1468
1311 try { 1469 try {
1312 // InternalSolverLanguage.g:441:2: ( ( ( rule__IntegerSymbol__Group__0 ) ) ) 1470 // InternalSolverLanguage.g:442:2: ( ( ( rule__AdditiveExpression__Group__0 ) ) )
1313 // InternalSolverLanguage.g:442:2: ( ( rule__IntegerSymbol__Group__0 ) ) 1471 // InternalSolverLanguage.g:443:2: ( ( rule__AdditiveExpression__Group__0 ) )
1314 { 1472 {
1315 // InternalSolverLanguage.g:442:2: ( ( rule__IntegerSymbol__Group__0 ) ) 1473 // InternalSolverLanguage.g:443:2: ( ( rule__AdditiveExpression__Group__0 ) )
1316 // InternalSolverLanguage.g:443:3: ( rule__IntegerSymbol__Group__0 ) 1474 // InternalSolverLanguage.g:444:3: ( rule__AdditiveExpression__Group__0 )
1317 { 1475 {
1318 before(grammarAccess.getIntegerSymbolAccess().getGroup()); 1476 if ( state.backtracking==0 ) {
1319 // InternalSolverLanguage.g:444:3: ( rule__IntegerSymbol__Group__0 ) 1477 before(grammarAccess.getAdditiveExpressionAccess().getGroup());
1320 // InternalSolverLanguage.g:444:4: rule__IntegerSymbol__Group__0 1478 }
1479 // InternalSolverLanguage.g:445:3: ( rule__AdditiveExpression__Group__0 )
1480 // InternalSolverLanguage.g:445:4: rule__AdditiveExpression__Group__0
1321 { 1481 {
1322 pushFollow(FOLLOW_2); 1482 pushFollow(FOLLOW_2);
1323 rule__IntegerSymbol__Group__0(); 1483 rule__AdditiveExpression__Group__0();
1324 1484
1325 state._fsp--; 1485 state._fsp--;
1326 1486 if (state.failed) return ;
1327 1487
1328 } 1488 }
1329 1489
1330 after(grammarAccess.getIntegerSymbolAccess().getGroup()); 1490 if ( state.backtracking==0 ) {
1491 after(grammarAccess.getAdditiveExpressionAccess().getGroup());
1492 }
1331 1493
1332 } 1494 }
1333 1495
@@ -1346,24 +1508,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1346 } 1508 }
1347 return ; 1509 return ;
1348 } 1510 }
1349 // $ANTLR end "ruleIntegerSymbol" 1511 // $ANTLR end "ruleAdditiveExpression"
1350 1512
1351 1513
1352 // $ANTLR start "entryRuleRealSymbol" 1514 // $ANTLR start "entryRuleMultiplicativeExpression"
1353 // InternalSolverLanguage.g:453:1: entryRuleRealSymbol : ruleRealSymbol EOF ; 1515 // InternalSolverLanguage.g:454:1: entryRuleMultiplicativeExpression : ruleMultiplicativeExpression EOF ;
1354 public final void entryRuleRealSymbol() throws RecognitionException { 1516 public final void entryRuleMultiplicativeExpression() throws RecognitionException {
1355 try { 1517 try {
1356 // InternalSolverLanguage.g:454:1: ( ruleRealSymbol EOF ) 1518 // InternalSolverLanguage.g:455:1: ( ruleMultiplicativeExpression EOF )
1357 // InternalSolverLanguage.g:455:1: ruleRealSymbol EOF 1519 // InternalSolverLanguage.g:456:1: ruleMultiplicativeExpression EOF
1358 { 1520 {
1359 before(grammarAccess.getRealSymbolRule()); 1521 if ( state.backtracking==0 ) {
1522 before(grammarAccess.getMultiplicativeExpressionRule());
1523 }
1360 pushFollow(FOLLOW_1); 1524 pushFollow(FOLLOW_1);
1361 ruleRealSymbol(); 1525 ruleMultiplicativeExpression();
1362 1526
1363 state._fsp--; 1527 state._fsp--;
1364 1528 if (state.failed) return ;
1365 after(grammarAccess.getRealSymbolRule()); 1529 if ( state.backtracking==0 ) {
1366 match(input,EOF,FOLLOW_2); 1530 after(grammarAccess.getMultiplicativeExpressionRule());
1531 }
1532 match(input,EOF,FOLLOW_2); if (state.failed) return ;
1367 1533
1368 } 1534 }
1369 1535
@@ -1376,35 +1542,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1376 } 1542 }
1377 return ; 1543 return ;
1378 } 1544 }
1379 // $ANTLR end "entryRuleRealSymbol" 1545 // $ANTLR end "entryRuleMultiplicativeExpression"
1380 1546
1381 1547
1382 // $ANTLR start "ruleRealSymbol" 1548 // $ANTLR start "ruleMultiplicativeExpression"
1383 // InternalSolverLanguage.g:462:1: ruleRealSymbol : ( ( rule__RealSymbol__Group__0 ) ) ; 1549 // InternalSolverLanguage.g:463:1: ruleMultiplicativeExpression : ( ( rule__MultiplicativeExpression__Group__0 ) ) ;
1384 public final void ruleRealSymbol() throws RecognitionException { 1550 public final void ruleMultiplicativeExpression() throws RecognitionException {
1385 1551
1386 int stackSize = keepStackSize(); 1552 int stackSize = keepStackSize();
1387 1553
1388 try { 1554 try {
1389 // InternalSolverLanguage.g:466:2: ( ( ( rule__RealSymbol__Group__0 ) ) ) 1555 // InternalSolverLanguage.g:467:2: ( ( ( rule__MultiplicativeExpression__Group__0 ) ) )
1390 // InternalSolverLanguage.g:467:2: ( ( rule__RealSymbol__Group__0 ) ) 1556 // InternalSolverLanguage.g:468:2: ( ( rule__MultiplicativeExpression__Group__0 ) )
1391 { 1557 {
1392 // InternalSolverLanguage.g:467:2: ( ( rule__RealSymbol__Group__0 ) ) 1558 // InternalSolverLanguage.g:468:2: ( ( rule__MultiplicativeExpression__Group__0 ) )
1393 // InternalSolverLanguage.g:468:3: ( rule__RealSymbol__Group__0 ) 1559 // InternalSolverLanguage.g:469:3: ( rule__MultiplicativeExpression__Group__0 )
1394 { 1560 {
1395 before(grammarAccess.getRealSymbolAccess().getGroup()); 1561 if ( state.backtracking==0 ) {
1396 // InternalSolverLanguage.g:469:3: ( rule__RealSymbol__Group__0 ) 1562 before(grammarAccess.getMultiplicativeExpressionAccess().getGroup());
1397 // InternalSolverLanguage.g:469:4: rule__RealSymbol__Group__0 1563 }
1564 // InternalSolverLanguage.g:470:3: ( rule__MultiplicativeExpression__Group__0 )
1565 // InternalSolverLanguage.g:470:4: rule__MultiplicativeExpression__Group__0
1398 { 1566 {
1399 pushFollow(FOLLOW_2); 1567 pushFollow(FOLLOW_2);
1400 rule__RealSymbol__Group__0(); 1568 rule__MultiplicativeExpression__Group__0();
1401 1569
1402 state._fsp--; 1570 state._fsp--;
1403 1571 if (state.failed) return ;
1404 1572
1405 } 1573 }
1406 1574
1407 after(grammarAccess.getRealSymbolAccess().getGroup()); 1575 if ( state.backtracking==0 ) {
1576 after(grammarAccess.getMultiplicativeExpressionAccess().getGroup());
1577 }
1408 1578
1409 } 1579 }
1410 1580
@@ -1423,24 +1593,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1423 } 1593 }
1424 return ; 1594 return ;
1425 } 1595 }
1426 // $ANTLR end "ruleRealSymbol" 1596 // $ANTLR end "ruleMultiplicativeExpression"
1427 1597
1428 1598
1429 // $ANTLR start "entryRuleStringSymbol" 1599 // $ANTLR start "entryRuleExponentialExpression"
1430 // InternalSolverLanguage.g:478:1: entryRuleStringSymbol : ruleStringSymbol EOF ; 1600 // InternalSolverLanguage.g:479:1: entryRuleExponentialExpression : ruleExponentialExpression EOF ;
1431 public final void entryRuleStringSymbol() throws RecognitionException { 1601 public final void entryRuleExponentialExpression() throws RecognitionException {
1432 try { 1602 try {
1433 // InternalSolverLanguage.g:479:1: ( ruleStringSymbol EOF ) 1603 // InternalSolverLanguage.g:480:1: ( ruleExponentialExpression EOF )
1434 // InternalSolverLanguage.g:480:1: ruleStringSymbol EOF 1604 // InternalSolverLanguage.g:481:1: ruleExponentialExpression EOF
1435 { 1605 {
1436 before(grammarAccess.getStringSymbolRule()); 1606 if ( state.backtracking==0 ) {
1607 before(grammarAccess.getExponentialExpressionRule());
1608 }
1437 pushFollow(FOLLOW_1); 1609 pushFollow(FOLLOW_1);
1438 ruleStringSymbol(); 1610 ruleExponentialExpression();
1439 1611
1440 state._fsp--; 1612 state._fsp--;
1441 1613 if (state.failed) return ;
1442 after(grammarAccess.getStringSymbolRule()); 1614 if ( state.backtracking==0 ) {
1443 match(input,EOF,FOLLOW_2); 1615 after(grammarAccess.getExponentialExpressionRule());
1616 }
1617 match(input,EOF,FOLLOW_2); if (state.failed) return ;
1444 1618
1445 } 1619 }
1446 1620
@@ -1453,35 +1627,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1453 } 1627 }
1454 return ; 1628 return ;
1455 } 1629 }
1456 // $ANTLR end "entryRuleStringSymbol" 1630 // $ANTLR end "entryRuleExponentialExpression"
1457 1631
1458 1632
1459 // $ANTLR start "ruleStringSymbol" 1633 // $ANTLR start "ruleExponentialExpression"
1460 // InternalSolverLanguage.g:487:1: ruleStringSymbol : ( ( rule__StringSymbol__Group__0 ) ) ; 1634 // InternalSolverLanguage.g:488:1: ruleExponentialExpression : ( ( rule__ExponentialExpression__Group__0 ) ) ;
1461 public final void ruleStringSymbol() throws RecognitionException { 1635 public final void ruleExponentialExpression() throws RecognitionException {
1462 1636
1463 int stackSize = keepStackSize(); 1637 int stackSize = keepStackSize();
1464 1638
1465 try { 1639 try {
1466 // InternalSolverLanguage.g:491:2: ( ( ( rule__StringSymbol__Group__0 ) ) ) 1640 // InternalSolverLanguage.g:492:2: ( ( ( rule__ExponentialExpression__Group__0 ) ) )
1467 // InternalSolverLanguage.g:492:2: ( ( rule__StringSymbol__Group__0 ) ) 1641 // InternalSolverLanguage.g:493:2: ( ( rule__ExponentialExpression__Group__0 ) )
1468 { 1642 {
1469 // InternalSolverLanguage.g:492:2: ( ( rule__StringSymbol__Group__0 ) ) 1643 // InternalSolverLanguage.g:493:2: ( ( rule__ExponentialExpression__Group__0 ) )
1470 // InternalSolverLanguage.g:493:3: ( rule__StringSymbol__Group__0 ) 1644 // InternalSolverLanguage.g:494:3: ( rule__ExponentialExpression__Group__0 )
1471 { 1645 {
1472 before(grammarAccess.getStringSymbolAccess().getGroup()); 1646 if ( state.backtracking==0 ) {
1473 // InternalSolverLanguage.g:494:3: ( rule__StringSymbol__Group__0 ) 1647 before(grammarAccess.getExponentialExpressionAccess().getGroup());
1474 // InternalSolverLanguage.g:494:4: rule__StringSymbol__Group__0 1648 }
1649 // InternalSolverLanguage.g:495:3: ( rule__ExponentialExpression__Group__0 )
1650 // InternalSolverLanguage.g:495:4: rule__ExponentialExpression__Group__0
1475 { 1651 {
1476 pushFollow(FOLLOW_2); 1652 pushFollow(FOLLOW_2);
1477 rule__StringSymbol__Group__0(); 1653 rule__ExponentialExpression__Group__0();
1478 1654
1479 state._fsp--; 1655 state._fsp--;
1480 1656 if (state.failed) return ;
1481 1657
1482 } 1658 }
1483 1659
1484 after(grammarAccess.getStringSymbolAccess().getGroup()); 1660 if ( state.backtracking==0 ) {
1661 after(grammarAccess.getExponentialExpressionAccess().getGroup());
1662 }
1485 1663
1486 } 1664 }
1487 1665
@@ -1500,24 +1678,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1500 } 1678 }
1501 return ; 1679 return ;
1502 } 1680 }
1503 // $ANTLR end "ruleStringSymbol" 1681 // $ANTLR end "ruleExponentialExpression"
1504 1682
1505 1683
1506 // $ANTLR start "entryRuleComplexObject" 1684 // $ANTLR start "entryRuleUnaryExpression"
1507 // InternalSolverLanguage.g:503:1: entryRuleComplexObject : ruleComplexObject EOF ; 1685 // InternalSolverLanguage.g:504:1: entryRuleUnaryExpression : ruleUnaryExpression EOF ;
1508 public final void entryRuleComplexObject() throws RecognitionException { 1686 public final void entryRuleUnaryExpression() throws RecognitionException {
1509 try { 1687 try {
1510 // InternalSolverLanguage.g:504:1: ( ruleComplexObject EOF ) 1688 // InternalSolverLanguage.g:505:1: ( ruleUnaryExpression EOF )
1511 // InternalSolverLanguage.g:505:1: ruleComplexObject EOF 1689 // InternalSolverLanguage.g:506:1: ruleUnaryExpression EOF
1512 { 1690 {
1513 before(grammarAccess.getComplexObjectRule()); 1691 if ( state.backtracking==0 ) {
1692 before(grammarAccess.getUnaryExpressionRule());
1693 }
1514 pushFollow(FOLLOW_1); 1694 pushFollow(FOLLOW_1);
1515 ruleComplexObject(); 1695 ruleUnaryExpression();
1516 1696
1517 state._fsp--; 1697 state._fsp--;
1518 1698 if (state.failed) return ;
1519 after(grammarAccess.getComplexObjectRule()); 1699 if ( state.backtracking==0 ) {
1520 match(input,EOF,FOLLOW_2); 1700 after(grammarAccess.getUnaryExpressionRule());
1701 }
1702 match(input,EOF,FOLLOW_2); if (state.failed) return ;
1521 1703
1522 } 1704 }
1523 1705
@@ -1530,35 +1712,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1530 } 1712 }
1531 return ; 1713 return ;
1532 } 1714 }
1533 // $ANTLR end "entryRuleComplexObject" 1715 // $ANTLR end "entryRuleUnaryExpression"
1534 1716
1535 1717
1536 // $ANTLR start "ruleComplexObject" 1718 // $ANTLR start "ruleUnaryExpression"
1537 // InternalSolverLanguage.g:512:1: ruleComplexObject : ( ( rule__ComplexObject__Alternatives ) ) ; 1719 // InternalSolverLanguage.g:513:1: ruleUnaryExpression : ( ( rule__UnaryExpression__Alternatives ) ) ;
1538 public final void ruleComplexObject() throws RecognitionException { 1720 public final void ruleUnaryExpression() throws RecognitionException {
1539 1721
1540 int stackSize = keepStackSize(); 1722 int stackSize = keepStackSize();
1541 1723
1542 try { 1724 try {
1543 // InternalSolverLanguage.g:516:2: ( ( ( rule__ComplexObject__Alternatives ) ) ) 1725 // InternalSolverLanguage.g:517:2: ( ( ( rule__UnaryExpression__Alternatives ) ) )
1544 // InternalSolverLanguage.g:517:2: ( ( rule__ComplexObject__Alternatives ) ) 1726 // InternalSolverLanguage.g:518:2: ( ( rule__UnaryExpression__Alternatives ) )
1545 { 1727 {
1546 // InternalSolverLanguage.g:517:2: ( ( rule__ComplexObject__Alternatives ) ) 1728 // InternalSolverLanguage.g:518:2: ( ( rule__UnaryExpression__Alternatives ) )
1547 // InternalSolverLanguage.g:518:3: ( rule__ComplexObject__Alternatives ) 1729 // InternalSolverLanguage.g:519:3: ( rule__UnaryExpression__Alternatives )
1548 { 1730 {
1549 before(grammarAccess.getComplexObjectAccess().getAlternatives()); 1731 if ( state.backtracking==0 ) {
1550 // InternalSolverLanguage.g:519:3: ( rule__ComplexObject__Alternatives ) 1732 before(grammarAccess.getUnaryExpressionAccess().getAlternatives());
1551 // InternalSolverLanguage.g:519:4: rule__ComplexObject__Alternatives 1733 }
1734 // InternalSolverLanguage.g:520:3: ( rule__UnaryExpression__Alternatives )
1735 // InternalSolverLanguage.g:520:4: rule__UnaryExpression__Alternatives
1552 { 1736 {
1553 pushFollow(FOLLOW_2); 1737 pushFollow(FOLLOW_2);
1554 rule__ComplexObject__Alternatives(); 1738 rule__UnaryExpression__Alternatives();
1555 1739
1556 state._fsp--; 1740 state._fsp--;
1557 1741 if (state.failed) return ;
1558 1742
1559 } 1743 }
1560 1744
1561 after(grammarAccess.getComplexObjectAccess().getAlternatives()); 1745 if ( state.backtracking==0 ) {
1746 after(grammarAccess.getUnaryExpressionAccess().getAlternatives());
1747 }
1562 1748
1563 } 1749 }
1564 1750
@@ -1577,24 +1763,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1577 } 1763 }
1578 return ; 1764 return ;
1579 } 1765 }
1580 // $ANTLR end "ruleComplexObject" 1766 // $ANTLR end "ruleUnaryExpression"
1581 1767
1582 1768
1583 // $ANTLR start "entryRuleObject" 1769 // $ANTLR start "entryRuleAggregationExpression"
1584 // InternalSolverLanguage.g:528:1: entryRuleObject : ruleObject EOF ; 1770 // InternalSolverLanguage.g:529:1: entryRuleAggregationExpression : ruleAggregationExpression EOF ;
1585 public final void entryRuleObject() throws RecognitionException { 1771 public final void entryRuleAggregationExpression() throws RecognitionException {
1586 try { 1772 try {
1587 // InternalSolverLanguage.g:529:1: ( ruleObject EOF ) 1773 // InternalSolverLanguage.g:530:1: ( ruleAggregationExpression EOF )
1588 // InternalSolverLanguage.g:530:1: ruleObject EOF 1774 // InternalSolverLanguage.g:531:1: ruleAggregationExpression EOF
1589 { 1775 {
1590 before(grammarAccess.getObjectRule()); 1776 if ( state.backtracking==0 ) {
1777 before(grammarAccess.getAggregationExpressionRule());
1778 }
1591 pushFollow(FOLLOW_1); 1779 pushFollow(FOLLOW_1);
1592 ruleObject(); 1780 ruleAggregationExpression();
1593 1781
1594 state._fsp--; 1782 state._fsp--;
1595 1783 if (state.failed) return ;
1596 after(grammarAccess.getObjectRule()); 1784 if ( state.backtracking==0 ) {
1597 match(input,EOF,FOLLOW_2); 1785 after(grammarAccess.getAggregationExpressionRule());
1786 }
1787 match(input,EOF,FOLLOW_2); if (state.failed) return ;
1598 1788
1599 } 1789 }
1600 1790
@@ -1607,35 +1797,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1607 } 1797 }
1608 return ; 1798 return ;
1609 } 1799 }
1610 // $ANTLR end "entryRuleObject" 1800 // $ANTLR end "entryRuleAggregationExpression"
1611 1801
1612 1802
1613 // $ANTLR start "ruleObject" 1803 // $ANTLR start "ruleAggregationExpression"
1614 // InternalSolverLanguage.g:537:1: ruleObject : ( ( rule__Object__Alternatives ) ) ; 1804 // InternalSolverLanguage.g:538:1: ruleAggregationExpression : ( ( rule__AggregationExpression__Alternatives ) ) ;
1615 public final void ruleObject() throws RecognitionException { 1805 public final void ruleAggregationExpression() throws RecognitionException {
1616 1806
1617 int stackSize = keepStackSize(); 1807 int stackSize = keepStackSize();
1618 1808
1619 try { 1809 try {
1620 // InternalSolverLanguage.g:541:2: ( ( ( rule__Object__Alternatives ) ) ) 1810 // InternalSolverLanguage.g:542:2: ( ( ( rule__AggregationExpression__Alternatives ) ) )
1621 // InternalSolverLanguage.g:542:2: ( ( rule__Object__Alternatives ) ) 1811 // InternalSolverLanguage.g:543:2: ( ( rule__AggregationExpression__Alternatives ) )
1622 { 1812 {
1623 // InternalSolverLanguage.g:542:2: ( ( rule__Object__Alternatives ) ) 1813 // InternalSolverLanguage.g:543:2: ( ( rule__AggregationExpression__Alternatives ) )
1624 // InternalSolverLanguage.g:543:3: ( rule__Object__Alternatives ) 1814 // InternalSolverLanguage.g:544:3: ( rule__AggregationExpression__Alternatives )
1625 { 1815 {
1626 before(grammarAccess.getObjectAccess().getAlternatives()); 1816 if ( state.backtracking==0 ) {
1627 // InternalSolverLanguage.g:544:3: ( rule__Object__Alternatives ) 1817 before(grammarAccess.getAggregationExpressionAccess().getAlternatives());
1628 // InternalSolverLanguage.g:544:4: rule__Object__Alternatives 1818 }
1819 // InternalSolverLanguage.g:545:3: ( rule__AggregationExpression__Alternatives )
1820 // InternalSolverLanguage.g:545:4: rule__AggregationExpression__Alternatives
1629 { 1821 {
1630 pushFollow(FOLLOW_2); 1822 pushFollow(FOLLOW_2);
1631 rule__Object__Alternatives(); 1823 rule__AggregationExpression__Alternatives();
1632 1824
1633 state._fsp--; 1825 state._fsp--;
1634 1826 if (state.failed) return ;
1635 1827
1636 } 1828 }
1637 1829
1638 after(grammarAccess.getObjectAccess().getAlternatives()); 1830 if ( state.backtracking==0 ) {
1831 after(grammarAccess.getAggregationExpressionAccess().getAlternatives());
1832 }
1639 1833
1640 } 1834 }
1641 1835
@@ -1654,24 +1848,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1654 } 1848 }
1655 return ; 1849 return ;
1656 } 1850 }
1657 // $ANTLR end "ruleObject" 1851 // $ANTLR end "ruleAggregationExpression"
1658 1852
1659 1853
1660 // $ANTLR start "entryRuleNamedObject" 1854 // $ANTLR start "entryRuleCount"
1661 // InternalSolverLanguage.g:553:1: entryRuleNamedObject : ruleNamedObject EOF ; 1855 // InternalSolverLanguage.g:554:1: entryRuleCount : ruleCount EOF ;
1662 public final void entryRuleNamedObject() throws RecognitionException { 1856 public final void entryRuleCount() throws RecognitionException {
1663 try { 1857 try {
1664 // InternalSolverLanguage.g:554:1: ( ruleNamedObject EOF ) 1858 // InternalSolverLanguage.g:555:1: ( ruleCount EOF )
1665 // InternalSolverLanguage.g:555:1: ruleNamedObject EOF 1859 // InternalSolverLanguage.g:556:1: ruleCount EOF
1666 { 1860 {
1667 before(grammarAccess.getNamedObjectRule()); 1861 if ( state.backtracking==0 ) {
1862 before(grammarAccess.getCountRule());
1863 }
1668 pushFollow(FOLLOW_1); 1864 pushFollow(FOLLOW_1);
1669 ruleNamedObject(); 1865 ruleCount();
1670 1866
1671 state._fsp--; 1867 state._fsp--;
1672 1868 if (state.failed) return ;
1673 after(grammarAccess.getNamedObjectRule()); 1869 if ( state.backtracking==0 ) {
1674 match(input,EOF,FOLLOW_2); 1870 after(grammarAccess.getCountRule());
1871 }
1872 match(input,EOF,FOLLOW_2); if (state.failed) return ;
1675 1873
1676 } 1874 }
1677 1875
@@ -1684,35 +1882,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1684 } 1882 }
1685 return ; 1883 return ;
1686 } 1884 }
1687 // $ANTLR end "entryRuleNamedObject" 1885 // $ANTLR end "entryRuleCount"
1688 1886
1689 1887
1690 // $ANTLR start "ruleNamedObject" 1888 // $ANTLR start "ruleCount"
1691 // InternalSolverLanguage.g:562:1: ruleNamedObject : ( ( rule__NamedObject__Group__0 ) ) ; 1889 // InternalSolverLanguage.g:563:1: ruleCount : ( ( rule__Count__Group__0 ) ) ;
1692 public final void ruleNamedObject() throws RecognitionException { 1890 public final void ruleCount() throws RecognitionException {
1693 1891
1694 int stackSize = keepStackSize(); 1892 int stackSize = keepStackSize();
1695 1893
1696 try { 1894 try {
1697 // InternalSolverLanguage.g:566:2: ( ( ( rule__NamedObject__Group__0 ) ) ) 1895 // InternalSolverLanguage.g:567:2: ( ( ( rule__Count__Group__0 ) ) )
1698 // InternalSolverLanguage.g:567:2: ( ( rule__NamedObject__Group__0 ) ) 1896 // InternalSolverLanguage.g:568:2: ( ( rule__Count__Group__0 ) )
1699 { 1897 {
1700 // InternalSolverLanguage.g:567:2: ( ( rule__NamedObject__Group__0 ) ) 1898 // InternalSolverLanguage.g:568:2: ( ( rule__Count__Group__0 ) )
1701 // InternalSolverLanguage.g:568:3: ( rule__NamedObject__Group__0 ) 1899 // InternalSolverLanguage.g:569:3: ( rule__Count__Group__0 )
1702 { 1900 {
1703 before(grammarAccess.getNamedObjectAccess().getGroup()); 1901 if ( state.backtracking==0 ) {
1704 // InternalSolverLanguage.g:569:3: ( rule__NamedObject__Group__0 ) 1902 before(grammarAccess.getCountAccess().getGroup());
1705 // InternalSolverLanguage.g:569:4: rule__NamedObject__Group__0 1903 }
1904 // InternalSolverLanguage.g:570:3: ( rule__Count__Group__0 )
1905 // InternalSolverLanguage.g:570:4: rule__Count__Group__0
1706 { 1906 {
1707 pushFollow(FOLLOW_2); 1907 pushFollow(FOLLOW_2);
1708 rule__NamedObject__Group__0(); 1908 rule__Count__Group__0();
1709 1909
1710 state._fsp--; 1910 state._fsp--;
1711 1911 if (state.failed) return ;
1712 1912
1713 } 1913 }
1714 1914
1715 after(grammarAccess.getNamedObjectAccess().getGroup()); 1915 if ( state.backtracking==0 ) {
1916 after(grammarAccess.getCountAccess().getGroup());
1917 }
1716 1918
1717 } 1919 }
1718 1920
@@ -1731,24 +1933,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1731 } 1933 }
1732 return ; 1934 return ;
1733 } 1935 }
1734 // $ANTLR end "ruleNamedObject" 1936 // $ANTLR end "ruleCount"
1735 1937
1736 1938
1737 // $ANTLR start "entryRuleUnnamedObject" 1939 // $ANTLR start "entryRuleAggregation"
1738 // InternalSolverLanguage.g:578:1: entryRuleUnnamedObject : ruleUnnamedObject EOF ; 1940 // InternalSolverLanguage.g:579:1: entryRuleAggregation : ruleAggregation EOF ;
1739 public final void entryRuleUnnamedObject() throws RecognitionException { 1941 public final void entryRuleAggregation() throws RecognitionException {
1740 try { 1942 try {
1741 // InternalSolverLanguage.g:579:1: ( ruleUnnamedObject EOF ) 1943 // InternalSolverLanguage.g:580:1: ( ruleAggregation EOF )
1742 // InternalSolverLanguage.g:580:1: ruleUnnamedObject EOF 1944 // InternalSolverLanguage.g:581:1: ruleAggregation EOF
1743 { 1945 {
1744 before(grammarAccess.getUnnamedObjectRule()); 1946 if ( state.backtracking==0 ) {
1947 before(grammarAccess.getAggregationRule());
1948 }
1745 pushFollow(FOLLOW_1); 1949 pushFollow(FOLLOW_1);
1746 ruleUnnamedObject(); 1950 ruleAggregation();
1747 1951
1748 state._fsp--; 1952 state._fsp--;
1749 1953 if (state.failed) return ;
1750 after(grammarAccess.getUnnamedObjectRule()); 1954 if ( state.backtracking==0 ) {
1751 match(input,EOF,FOLLOW_2); 1955 after(grammarAccess.getAggregationRule());
1956 }
1957 match(input,EOF,FOLLOW_2); if (state.failed) return ;
1752 1958
1753 } 1959 }
1754 1960
@@ -1761,35 +1967,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1761 } 1967 }
1762 return ; 1968 return ;
1763 } 1969 }
1764 // $ANTLR end "entryRuleUnnamedObject" 1970 // $ANTLR end "entryRuleAggregation"
1765 1971
1766 1972
1767 // $ANTLR start "ruleUnnamedObject" 1973 // $ANTLR start "ruleAggregation"
1768 // InternalSolverLanguage.g:587:1: ruleUnnamedObject : ( ( rule__UnnamedObject__NameAssignment ) ) ; 1974 // InternalSolverLanguage.g:588:1: ruleAggregation : ( ( rule__Aggregation__Group__0 ) ) ;
1769 public final void ruleUnnamedObject() throws RecognitionException { 1975 public final void ruleAggregation() throws RecognitionException {
1770 1976
1771 int stackSize = keepStackSize(); 1977 int stackSize = keepStackSize();
1772 1978
1773 try { 1979 try {
1774 // InternalSolverLanguage.g:591:2: ( ( ( rule__UnnamedObject__NameAssignment ) ) ) 1980 // InternalSolverLanguage.g:592:2: ( ( ( rule__Aggregation__Group__0 ) ) )
1775 // InternalSolverLanguage.g:592:2: ( ( rule__UnnamedObject__NameAssignment ) ) 1981 // InternalSolverLanguage.g:593:2: ( ( rule__Aggregation__Group__0 ) )
1776 { 1982 {
1777 // InternalSolverLanguage.g:592:2: ( ( rule__UnnamedObject__NameAssignment ) ) 1983 // InternalSolverLanguage.g:593:2: ( ( rule__Aggregation__Group__0 ) )
1778 // InternalSolverLanguage.g:593:3: ( rule__UnnamedObject__NameAssignment ) 1984 // InternalSolverLanguage.g:594:3: ( rule__Aggregation__Group__0 )
1779 { 1985 {
1780 before(grammarAccess.getUnnamedObjectAccess().getNameAssignment()); 1986 if ( state.backtracking==0 ) {
1781 // InternalSolverLanguage.g:594:3: ( rule__UnnamedObject__NameAssignment ) 1987 before(grammarAccess.getAggregationAccess().getGroup());
1782 // InternalSolverLanguage.g:594:4: rule__UnnamedObject__NameAssignment 1988 }
1989 // InternalSolverLanguage.g:595:3: ( rule__Aggregation__Group__0 )
1990 // InternalSolverLanguage.g:595:4: rule__Aggregation__Group__0
1783 { 1991 {
1784 pushFollow(FOLLOW_2); 1992 pushFollow(FOLLOW_2);
1785 rule__UnnamedObject__NameAssignment(); 1993 rule__Aggregation__Group__0();
1786 1994
1787 state._fsp--; 1995 state._fsp--;
1788 1996 if (state.failed) return ;
1789 1997
1790 } 1998 }
1791 1999
1792 after(grammarAccess.getUnnamedObjectAccess().getNameAssignment()); 2000 if ( state.backtracking==0 ) {
2001 after(grammarAccess.getAggregationAccess().getGroup());
2002 }
1793 2003
1794 } 2004 }
1795 2005
@@ -1808,24 +2018,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1808 } 2018 }
1809 return ; 2019 return ;
1810 } 2020 }
1811 // $ANTLR end "ruleUnnamedObject" 2021 // $ANTLR end "ruleAggregation"
1812 2022
1813 2023
1814 // $ANTLR start "entryRuleDataObject" 2024 // $ANTLR start "entryRuleAtomicExpression"
1815 // InternalSolverLanguage.g:603:1: entryRuleDataObject : ruleDataObject EOF ; 2025 // InternalSolverLanguage.g:604:1: entryRuleAtomicExpression : ruleAtomicExpression EOF ;
1816 public final void entryRuleDataObject() throws RecognitionException { 2026 public final void entryRuleAtomicExpression() throws RecognitionException {
1817 try { 2027 try {
1818 // InternalSolverLanguage.g:604:1: ( ruleDataObject EOF ) 2028 // InternalSolverLanguage.g:605:1: ( ruleAtomicExpression EOF )
1819 // InternalSolverLanguage.g:605:1: ruleDataObject EOF 2029 // InternalSolverLanguage.g:606:1: ruleAtomicExpression EOF
1820 { 2030 {
1821 before(grammarAccess.getDataObjectRule()); 2031 if ( state.backtracking==0 ) {
2032 before(grammarAccess.getAtomicExpressionRule());
2033 }
1822 pushFollow(FOLLOW_1); 2034 pushFollow(FOLLOW_1);
1823 ruleDataObject(); 2035 ruleAtomicExpression();
1824 2036
1825 state._fsp--; 2037 state._fsp--;
1826 2038 if (state.failed) return ;
1827 after(grammarAccess.getDataObjectRule()); 2039 if ( state.backtracking==0 ) {
1828 match(input,EOF,FOLLOW_2); 2040 after(grammarAccess.getAtomicExpressionRule());
2041 }
2042 match(input,EOF,FOLLOW_2); if (state.failed) return ;
1829 2043
1830 } 2044 }
1831 2045
@@ -1838,35 +2052,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1838 } 2052 }
1839 return ; 2053 return ;
1840 } 2054 }
1841 // $ANTLR end "entryRuleDataObject" 2055 // $ANTLR end "entryRuleAtomicExpression"
1842 2056
1843 2057
1844 // $ANTLR start "ruleDataObject" 2058 // $ANTLR start "ruleAtomicExpression"
1845 // InternalSolverLanguage.g:612:1: ruleDataObject : ( ( rule__DataObject__Alternatives ) ) ; 2059 // InternalSolverLanguage.g:613:1: ruleAtomicExpression : ( ( rule__AtomicExpression__Alternatives ) ) ;
1846 public final void ruleDataObject() throws RecognitionException { 2060 public final void ruleAtomicExpression() throws RecognitionException {
1847 2061
1848 int stackSize = keepStackSize(); 2062 int stackSize = keepStackSize();
1849 2063
1850 try { 2064 try {
1851 // InternalSolverLanguage.g:616:2: ( ( ( rule__DataObject__Alternatives ) ) ) 2065 // InternalSolverLanguage.g:617:2: ( ( ( rule__AtomicExpression__Alternatives ) ) )
1852 // InternalSolverLanguage.g:617:2: ( ( rule__DataObject__Alternatives ) ) 2066 // InternalSolverLanguage.g:618:2: ( ( rule__AtomicExpression__Alternatives ) )
1853 { 2067 {
1854 // InternalSolverLanguage.g:617:2: ( ( rule__DataObject__Alternatives ) ) 2068 // InternalSolverLanguage.g:618:2: ( ( rule__AtomicExpression__Alternatives ) )
1855 // InternalSolverLanguage.g:618:3: ( rule__DataObject__Alternatives ) 2069 // InternalSolverLanguage.g:619:3: ( rule__AtomicExpression__Alternatives )
1856 { 2070 {
1857 before(grammarAccess.getDataObjectAccess().getAlternatives()); 2071 if ( state.backtracking==0 ) {
1858 // InternalSolverLanguage.g:619:3: ( rule__DataObject__Alternatives ) 2072 before(grammarAccess.getAtomicExpressionAccess().getAlternatives());
1859 // InternalSolverLanguage.g:619:4: rule__DataObject__Alternatives 2073 }
2074 // InternalSolverLanguage.g:620:3: ( rule__AtomicExpression__Alternatives )
2075 // InternalSolverLanguage.g:620:4: rule__AtomicExpression__Alternatives
1860 { 2076 {
1861 pushFollow(FOLLOW_2); 2077 pushFollow(FOLLOW_2);
1862 rule__DataObject__Alternatives(); 2078 rule__AtomicExpression__Alternatives();
1863 2079
1864 state._fsp--; 2080 state._fsp--;
1865 2081 if (state.failed) return ;
1866 2082
1867 } 2083 }
1868 2084
1869 after(grammarAccess.getDataObjectAccess().getAlternatives()); 2085 if ( state.backtracking==0 ) {
2086 after(grammarAccess.getAtomicExpressionAccess().getAlternatives());
2087 }
1870 2088
1871 } 2089 }
1872 2090
@@ -1885,24 +2103,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1885 } 2103 }
1886 return ; 2104 return ;
1887 } 2105 }
1888 // $ANTLR end "ruleDataObject" 2106 // $ANTLR end "ruleAtomicExpression"
1889 2107
1890 2108
1891 // $ANTLR start "entryRuleBooleanObject" 2109 // $ANTLR start "entryRuleCall"
1892 // InternalSolverLanguage.g:628:1: entryRuleBooleanObject : ruleBooleanObject EOF ; 2110 // InternalSolverLanguage.g:629:1: entryRuleCall : ruleCall EOF ;
1893 public final void entryRuleBooleanObject() throws RecognitionException { 2111 public final void entryRuleCall() throws RecognitionException {
1894 try { 2112 try {
1895 // InternalSolverLanguage.g:629:1: ( ruleBooleanObject EOF ) 2113 // InternalSolverLanguage.g:630:1: ( ruleCall EOF )
1896 // InternalSolverLanguage.g:630:1: ruleBooleanObject EOF 2114 // InternalSolverLanguage.g:631:1: ruleCall EOF
1897 { 2115 {
1898 before(grammarAccess.getBooleanObjectRule()); 2116 if ( state.backtracking==0 ) {
2117 before(grammarAccess.getCallRule());
2118 }
1899 pushFollow(FOLLOW_1); 2119 pushFollow(FOLLOW_1);
1900 ruleBooleanObject(); 2120 ruleCall();
1901 2121
1902 state._fsp--; 2122 state._fsp--;
1903 2123 if (state.failed) return ;
1904 after(grammarAccess.getBooleanObjectRule()); 2124 if ( state.backtracking==0 ) {
1905 match(input,EOF,FOLLOW_2); 2125 after(grammarAccess.getCallRule());
2126 }
2127 match(input,EOF,FOLLOW_2); if (state.failed) return ;
1906 2128
1907 } 2129 }
1908 2130
@@ -1915,35 +2137,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1915 } 2137 }
1916 return ; 2138 return ;
1917 } 2139 }
1918 // $ANTLR end "entryRuleBooleanObject" 2140 // $ANTLR end "entryRuleCall"
1919 2141
1920 2142
1921 // $ANTLR start "ruleBooleanObject" 2143 // $ANTLR start "ruleCall"
1922 // InternalSolverLanguage.g:637:1: ruleBooleanObject : ( ( rule__BooleanObject__ValueAssignment ) ) ; 2144 // InternalSolverLanguage.g:638:1: ruleCall : ( ( rule__Call__Group__0 ) ) ;
1923 public final void ruleBooleanObject() throws RecognitionException { 2145 public final void ruleCall() throws RecognitionException {
1924 2146
1925 int stackSize = keepStackSize(); 2147 int stackSize = keepStackSize();
1926 2148
1927 try { 2149 try {
1928 // InternalSolverLanguage.g:641:2: ( ( ( rule__BooleanObject__ValueAssignment ) ) ) 2150 // InternalSolverLanguage.g:642:2: ( ( ( rule__Call__Group__0 ) ) )
1929 // InternalSolverLanguage.g:642:2: ( ( rule__BooleanObject__ValueAssignment ) ) 2151 // InternalSolverLanguage.g:643:2: ( ( rule__Call__Group__0 ) )
1930 { 2152 {
1931 // InternalSolverLanguage.g:642:2: ( ( rule__BooleanObject__ValueAssignment ) ) 2153 // InternalSolverLanguage.g:643:2: ( ( rule__Call__Group__0 ) )
1932 // InternalSolverLanguage.g:643:3: ( rule__BooleanObject__ValueAssignment ) 2154 // InternalSolverLanguage.g:644:3: ( rule__Call__Group__0 )
1933 { 2155 {
1934 before(grammarAccess.getBooleanObjectAccess().getValueAssignment()); 2156 if ( state.backtracking==0 ) {
1935 // InternalSolverLanguage.g:644:3: ( rule__BooleanObject__ValueAssignment ) 2157 before(grammarAccess.getCallAccess().getGroup());
1936 // InternalSolverLanguage.g:644:4: rule__BooleanObject__ValueAssignment 2158 }
2159 // InternalSolverLanguage.g:645:3: ( rule__Call__Group__0 )
2160 // InternalSolverLanguage.g:645:4: rule__Call__Group__0
1937 { 2161 {
1938 pushFollow(FOLLOW_2); 2162 pushFollow(FOLLOW_2);
1939 rule__BooleanObject__ValueAssignment(); 2163 rule__Call__Group__0();
1940 2164
1941 state._fsp--; 2165 state._fsp--;
1942 2166 if (state.failed) return ;
1943 2167
1944 } 2168 }
1945 2169
1946 after(grammarAccess.getBooleanObjectAccess().getValueAssignment()); 2170 if ( state.backtracking==0 ) {
2171 after(grammarAccess.getCallAccess().getGroup());
2172 }
1947 2173
1948 } 2174 }
1949 2175
@@ -1962,24 +2188,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1962 } 2188 }
1963 return ; 2189 return ;
1964 } 2190 }
1965 // $ANTLR end "ruleBooleanObject" 2191 // $ANTLR end "ruleCall"
1966 2192
1967 2193
1968 // $ANTLR start "entryRuleIntObject" 2194 // $ANTLR start "entryRuleArgumentList"
1969 // InternalSolverLanguage.g:653:1: entryRuleIntObject : ruleIntObject EOF ; 2195 // InternalSolverLanguage.g:654:1: entryRuleArgumentList : ruleArgumentList EOF ;
1970 public final void entryRuleIntObject() throws RecognitionException { 2196 public final void entryRuleArgumentList() throws RecognitionException {
1971 try { 2197 try {
1972 // InternalSolverLanguage.g:654:1: ( ruleIntObject EOF ) 2198 // InternalSolverLanguage.g:655:1: ( ruleArgumentList EOF )
1973 // InternalSolverLanguage.g:655:1: ruleIntObject EOF 2199 // InternalSolverLanguage.g:656:1: ruleArgumentList EOF
1974 { 2200 {
1975 before(grammarAccess.getIntObjectRule()); 2201 if ( state.backtracking==0 ) {
2202 before(grammarAccess.getArgumentListRule());
2203 }
1976 pushFollow(FOLLOW_1); 2204 pushFollow(FOLLOW_1);
1977 ruleIntObject(); 2205 ruleArgumentList();
1978 2206
1979 state._fsp--; 2207 state._fsp--;
1980 2208 if (state.failed) return ;
1981 after(grammarAccess.getIntObjectRule()); 2209 if ( state.backtracking==0 ) {
1982 match(input,EOF,FOLLOW_2); 2210 after(grammarAccess.getArgumentListRule());
2211 }
2212 match(input,EOF,FOLLOW_2); if (state.failed) return ;
1983 2213
1984 } 2214 }
1985 2215
@@ -1992,35 +2222,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
1992 } 2222 }
1993 return ; 2223 return ;
1994 } 2224 }
1995 // $ANTLR end "entryRuleIntObject" 2225 // $ANTLR end "entryRuleArgumentList"
1996 2226
1997 2227
1998 // $ANTLR start "ruleIntObject" 2228 // $ANTLR start "ruleArgumentList"
1999 // InternalSolverLanguage.g:662:1: ruleIntObject : ( ( rule__IntObject__ValueAssignment ) ) ; 2229 // InternalSolverLanguage.g:663:1: ruleArgumentList : ( ( rule__ArgumentList__Group__0 ) ) ;
2000 public final void ruleIntObject() throws RecognitionException { 2230 public final void ruleArgumentList() throws RecognitionException {
2001 2231
2002 int stackSize = keepStackSize(); 2232 int stackSize = keepStackSize();
2003 2233
2004 try { 2234 try {
2005 // InternalSolverLanguage.g:666:2: ( ( ( rule__IntObject__ValueAssignment ) ) ) 2235 // InternalSolverLanguage.g:667:2: ( ( ( rule__ArgumentList__Group__0 ) ) )
2006 // InternalSolverLanguage.g:667:2: ( ( rule__IntObject__ValueAssignment ) ) 2236 // InternalSolverLanguage.g:668:2: ( ( rule__ArgumentList__Group__0 ) )
2007 { 2237 {
2008 // InternalSolverLanguage.g:667:2: ( ( rule__IntObject__ValueAssignment ) ) 2238 // InternalSolverLanguage.g:668:2: ( ( rule__ArgumentList__Group__0 ) )
2009 // InternalSolverLanguage.g:668:3: ( rule__IntObject__ValueAssignment ) 2239 // InternalSolverLanguage.g:669:3: ( rule__ArgumentList__Group__0 )
2010 { 2240 {
2011 before(grammarAccess.getIntObjectAccess().getValueAssignment()); 2241 if ( state.backtracking==0 ) {
2012 // InternalSolverLanguage.g:669:3: ( rule__IntObject__ValueAssignment ) 2242 before(grammarAccess.getArgumentListAccess().getGroup());
2013 // InternalSolverLanguage.g:669:4: rule__IntObject__ValueAssignment 2243 }
2244 // InternalSolverLanguage.g:670:3: ( rule__ArgumentList__Group__0 )
2245 // InternalSolverLanguage.g:670:4: rule__ArgumentList__Group__0
2014 { 2246 {
2015 pushFollow(FOLLOW_2); 2247 pushFollow(FOLLOW_2);
2016 rule__IntObject__ValueAssignment(); 2248 rule__ArgumentList__Group__0();
2017 2249
2018 state._fsp--; 2250 state._fsp--;
2019 2251 if (state.failed) return ;
2020 2252
2021 } 2253 }
2022 2254
2023 after(grammarAccess.getIntObjectAccess().getValueAssignment()); 2255 if ( state.backtracking==0 ) {
2256 after(grammarAccess.getArgumentListAccess().getGroup());
2257 }
2024 2258
2025 } 2259 }
2026 2260
@@ -2039,24 +2273,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2039 } 2273 }
2040 return ; 2274 return ;
2041 } 2275 }
2042 // $ANTLR end "ruleIntObject" 2276 // $ANTLR end "ruleArgumentList"
2043 2277
2044 2278
2045 // $ANTLR start "entryRuleRealObject" 2279 // $ANTLR start "entryRuleArgument"
2046 // InternalSolverLanguage.g:678:1: entryRuleRealObject : ruleRealObject EOF ; 2280 // InternalSolverLanguage.g:679:1: entryRuleArgument : ruleArgument EOF ;
2047 public final void entryRuleRealObject() throws RecognitionException { 2281 public final void entryRuleArgument() throws RecognitionException {
2048 try { 2282 try {
2049 // InternalSolverLanguage.g:679:1: ( ruleRealObject EOF ) 2283 // InternalSolverLanguage.g:680:1: ( ruleArgument EOF )
2050 // InternalSolverLanguage.g:680:1: ruleRealObject EOF 2284 // InternalSolverLanguage.g:681:1: ruleArgument EOF
2051 { 2285 {
2052 before(grammarAccess.getRealObjectRule()); 2286 if ( state.backtracking==0 ) {
2287 before(grammarAccess.getArgumentRule());
2288 }
2053 pushFollow(FOLLOW_1); 2289 pushFollow(FOLLOW_1);
2054 ruleRealObject(); 2290 ruleArgument();
2055 2291
2056 state._fsp--; 2292 state._fsp--;
2057 2293 if (state.failed) return ;
2058 after(grammarAccess.getRealObjectRule()); 2294 if ( state.backtracking==0 ) {
2059 match(input,EOF,FOLLOW_2); 2295 after(grammarAccess.getArgumentRule());
2296 }
2297 match(input,EOF,FOLLOW_2); if (state.failed) return ;
2060 2298
2061 } 2299 }
2062 2300
@@ -2069,35 +2307,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2069 } 2307 }
2070 return ; 2308 return ;
2071 } 2309 }
2072 // $ANTLR end "entryRuleRealObject" 2310 // $ANTLR end "entryRuleArgument"
2073 2311
2074 2312
2075 // $ANTLR start "ruleRealObject" 2313 // $ANTLR start "ruleArgument"
2076 // InternalSolverLanguage.g:687:1: ruleRealObject : ( ( rule__RealObject__ValueAssignment ) ) ; 2314 // InternalSolverLanguage.g:688:1: ruleArgument : ( ( rule__Argument__Alternatives ) ) ;
2077 public final void ruleRealObject() throws RecognitionException { 2315 public final void ruleArgument() throws RecognitionException {
2078 2316
2079 int stackSize = keepStackSize(); 2317 int stackSize = keepStackSize();
2080 2318
2081 try { 2319 try {
2082 // InternalSolverLanguage.g:691:2: ( ( ( rule__RealObject__ValueAssignment ) ) ) 2320 // InternalSolverLanguage.g:692:2: ( ( ( rule__Argument__Alternatives ) ) )
2083 // InternalSolverLanguage.g:692:2: ( ( rule__RealObject__ValueAssignment ) ) 2321 // InternalSolverLanguage.g:693:2: ( ( rule__Argument__Alternatives ) )
2084 { 2322 {
2085 // InternalSolverLanguage.g:692:2: ( ( rule__RealObject__ValueAssignment ) ) 2323 // InternalSolverLanguage.g:693:2: ( ( rule__Argument__Alternatives ) )
2086 // InternalSolverLanguage.g:693:3: ( rule__RealObject__ValueAssignment ) 2324 // InternalSolverLanguage.g:694:3: ( rule__Argument__Alternatives )
2087 { 2325 {
2088 before(grammarAccess.getRealObjectAccess().getValueAssignment()); 2326 if ( state.backtracking==0 ) {
2089 // InternalSolverLanguage.g:694:3: ( rule__RealObject__ValueAssignment ) 2327 before(grammarAccess.getArgumentAccess().getAlternatives());
2090 // InternalSolverLanguage.g:694:4: rule__RealObject__ValueAssignment 2328 }
2329 // InternalSolverLanguage.g:695:3: ( rule__Argument__Alternatives )
2330 // InternalSolverLanguage.g:695:4: rule__Argument__Alternatives
2091 { 2331 {
2092 pushFollow(FOLLOW_2); 2332 pushFollow(FOLLOW_2);
2093 rule__RealObject__ValueAssignment(); 2333 rule__Argument__Alternatives();
2094 2334
2095 state._fsp--; 2335 state._fsp--;
2096 2336 if (state.failed) return ;
2097 2337
2098 } 2338 }
2099 2339
2100 after(grammarAccess.getRealObjectAccess().getValueAssignment()); 2340 if ( state.backtracking==0 ) {
2341 after(grammarAccess.getArgumentAccess().getAlternatives());
2342 }
2101 2343
2102 } 2344 }
2103 2345
@@ -2116,24 +2358,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2116 } 2358 }
2117 return ; 2359 return ;
2118 } 2360 }
2119 // $ANTLR end "ruleRealObject" 2361 // $ANTLR end "ruleArgument"
2120 2362
2121 2363
2122 // $ANTLR start "entryRuleStringObject" 2364 // $ANTLR start "entryRuleExpressionArgument"
2123 // InternalSolverLanguage.g:703:1: entryRuleStringObject : ruleStringObject EOF ; 2365 // InternalSolverLanguage.g:704:1: entryRuleExpressionArgument : ruleExpressionArgument EOF ;
2124 public final void entryRuleStringObject() throws RecognitionException { 2366 public final void entryRuleExpressionArgument() throws RecognitionException {
2125 try { 2367 try {
2126 // InternalSolverLanguage.g:704:1: ( ruleStringObject EOF ) 2368 // InternalSolverLanguage.g:705:1: ( ruleExpressionArgument EOF )
2127 // InternalSolverLanguage.g:705:1: ruleStringObject EOF 2369 // InternalSolverLanguage.g:706:1: ruleExpressionArgument EOF
2128 { 2370 {
2129 before(grammarAccess.getStringObjectRule()); 2371 if ( state.backtracking==0 ) {
2372 before(grammarAccess.getExpressionArgumentRule());
2373 }
2130 pushFollow(FOLLOW_1); 2374 pushFollow(FOLLOW_1);
2131 ruleStringObject(); 2375 ruleExpressionArgument();
2132 2376
2133 state._fsp--; 2377 state._fsp--;
2134 2378 if (state.failed) return ;
2135 after(grammarAccess.getStringObjectRule()); 2379 if ( state.backtracking==0 ) {
2136 match(input,EOF,FOLLOW_2); 2380 after(grammarAccess.getExpressionArgumentRule());
2381 }
2382 match(input,EOF,FOLLOW_2); if (state.failed) return ;
2137 2383
2138 } 2384 }
2139 2385
@@ -2146,35 +2392,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2146 } 2392 }
2147 return ; 2393 return ;
2148 } 2394 }
2149 // $ANTLR end "entryRuleStringObject" 2395 // $ANTLR end "entryRuleExpressionArgument"
2150 2396
2151 2397
2152 // $ANTLR start "ruleStringObject" 2398 // $ANTLR start "ruleExpressionArgument"
2153 // InternalSolverLanguage.g:712:1: ruleStringObject : ( ( rule__StringObject__ValueAssignment ) ) ; 2399 // InternalSolverLanguage.g:713:1: ruleExpressionArgument : ( ( rule__ExpressionArgument__BodyAssignment ) ) ;
2154 public final void ruleStringObject() throws RecognitionException { 2400 public final void ruleExpressionArgument() throws RecognitionException {
2155 2401
2156 int stackSize = keepStackSize(); 2402 int stackSize = keepStackSize();
2157 2403
2158 try { 2404 try {
2159 // InternalSolverLanguage.g:716:2: ( ( ( rule__StringObject__ValueAssignment ) ) ) 2405 // InternalSolverLanguage.g:717:2: ( ( ( rule__ExpressionArgument__BodyAssignment ) ) )
2160 // InternalSolverLanguage.g:717:2: ( ( rule__StringObject__ValueAssignment ) ) 2406 // InternalSolverLanguage.g:718:2: ( ( rule__ExpressionArgument__BodyAssignment ) )
2161 { 2407 {
2162 // InternalSolverLanguage.g:717:2: ( ( rule__StringObject__ValueAssignment ) ) 2408 // InternalSolverLanguage.g:718:2: ( ( rule__ExpressionArgument__BodyAssignment ) )
2163 // InternalSolverLanguage.g:718:3: ( rule__StringObject__ValueAssignment ) 2409 // InternalSolverLanguage.g:719:3: ( rule__ExpressionArgument__BodyAssignment )
2164 { 2410 {
2165 before(grammarAccess.getStringObjectAccess().getValueAssignment()); 2411 if ( state.backtracking==0 ) {
2166 // InternalSolverLanguage.g:719:3: ( rule__StringObject__ValueAssignment ) 2412 before(grammarAccess.getExpressionArgumentAccess().getBodyAssignment());
2167 // InternalSolverLanguage.g:719:4: rule__StringObject__ValueAssignment 2413 }
2414 // InternalSolverLanguage.g:720:3: ( rule__ExpressionArgument__BodyAssignment )
2415 // InternalSolverLanguage.g:720:4: rule__ExpressionArgument__BodyAssignment
2168 { 2416 {
2169 pushFollow(FOLLOW_2); 2417 pushFollow(FOLLOW_2);
2170 rule__StringObject__ValueAssignment(); 2418 rule__ExpressionArgument__BodyAssignment();
2171 2419
2172 state._fsp--; 2420 state._fsp--;
2173 2421 if (state.failed) return ;
2174 2422
2175 } 2423 }
2176 2424
2177 after(grammarAccess.getStringObjectAccess().getValueAssignment()); 2425 if ( state.backtracking==0 ) {
2426 after(grammarAccess.getExpressionArgumentAccess().getBodyAssignment());
2427 }
2178 2428
2179 } 2429 }
2180 2430
@@ -2193,24 +2443,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2193 } 2443 }
2194 return ; 2444 return ;
2195 } 2445 }
2196 // $ANTLR end "ruleStringObject" 2446 // $ANTLR end "ruleExpressionArgument"
2197 2447
2198 2448
2199 // $ANTLR start "entryRulePredicate" 2449 // $ANTLR start "entryRuleStarArgument"
2200 // InternalSolverLanguage.g:728:1: entryRulePredicate : rulePredicate EOF ; 2450 // InternalSolverLanguage.g:729:1: entryRuleStarArgument : ruleStarArgument EOF ;
2201 public final void entryRulePredicate() throws RecognitionException { 2451 public final void entryRuleStarArgument() throws RecognitionException {
2202 try { 2452 try {
2203 // InternalSolverLanguage.g:729:1: ( rulePredicate EOF ) 2453 // InternalSolverLanguage.g:730:1: ( ruleStarArgument EOF )
2204 // InternalSolverLanguage.g:730:1: rulePredicate EOF 2454 // InternalSolverLanguage.g:731:1: ruleStarArgument EOF
2205 { 2455 {
2206 before(grammarAccess.getPredicateRule()); 2456 if ( state.backtracking==0 ) {
2457 before(grammarAccess.getStarArgumentRule());
2458 }
2207 pushFollow(FOLLOW_1); 2459 pushFollow(FOLLOW_1);
2208 rulePredicate(); 2460 ruleStarArgument();
2209 2461
2210 state._fsp--; 2462 state._fsp--;
2211 2463 if (state.failed) return ;
2212 after(grammarAccess.getPredicateRule()); 2464 if ( state.backtracking==0 ) {
2213 match(input,EOF,FOLLOW_2); 2465 after(grammarAccess.getStarArgumentRule());
2466 }
2467 match(input,EOF,FOLLOW_2); if (state.failed) return ;
2214 2468
2215 } 2469 }
2216 2470
@@ -2223,35 +2477,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2223 } 2477 }
2224 return ; 2478 return ;
2225 } 2479 }
2226 // $ANTLR end "entryRulePredicate" 2480 // $ANTLR end "entryRuleStarArgument"
2227 2481
2228 2482
2229 // $ANTLR start "rulePredicate" 2483 // $ANTLR start "ruleStarArgument"
2230 // InternalSolverLanguage.g:737:1: rulePredicate : ( ( rule__Predicate__Group__0 ) ) ; 2484 // InternalSolverLanguage.g:738:1: ruleStarArgument : ( ( rule__StarArgument__Group__0 ) ) ;
2231 public final void rulePredicate() throws RecognitionException { 2485 public final void ruleStarArgument() throws RecognitionException {
2232 2486
2233 int stackSize = keepStackSize(); 2487 int stackSize = keepStackSize();
2234 2488
2235 try { 2489 try {
2236 // InternalSolverLanguage.g:741:2: ( ( ( rule__Predicate__Group__0 ) ) ) 2490 // InternalSolverLanguage.g:742:2: ( ( ( rule__StarArgument__Group__0 ) ) )
2237 // InternalSolverLanguage.g:742:2: ( ( rule__Predicate__Group__0 ) ) 2491 // InternalSolverLanguage.g:743:2: ( ( rule__StarArgument__Group__0 ) )
2238 { 2492 {
2239 // InternalSolverLanguage.g:742:2: ( ( rule__Predicate__Group__0 ) ) 2493 // InternalSolverLanguage.g:743:2: ( ( rule__StarArgument__Group__0 ) )
2240 // InternalSolverLanguage.g:743:3: ( rule__Predicate__Group__0 ) 2494 // InternalSolverLanguage.g:744:3: ( rule__StarArgument__Group__0 )
2241 { 2495 {
2242 before(grammarAccess.getPredicateAccess().getGroup()); 2496 if ( state.backtracking==0 ) {
2243 // InternalSolverLanguage.g:744:3: ( rule__Predicate__Group__0 ) 2497 before(grammarAccess.getStarArgumentAccess().getGroup());
2244 // InternalSolverLanguage.g:744:4: rule__Predicate__Group__0 2498 }
2499 // InternalSolverLanguage.g:745:3: ( rule__StarArgument__Group__0 )
2500 // InternalSolverLanguage.g:745:4: rule__StarArgument__Group__0
2245 { 2501 {
2246 pushFollow(FOLLOW_2); 2502 pushFollow(FOLLOW_2);
2247 rule__Predicate__Group__0(); 2503 rule__StarArgument__Group__0();
2248 2504
2249 state._fsp--; 2505 state._fsp--;
2250 2506 if (state.failed) return ;
2251 2507
2252 } 2508 }
2253 2509
2254 after(grammarAccess.getPredicateAccess().getGroup()); 2510 if ( state.backtracking==0 ) {
2511 after(grammarAccess.getStarArgumentAccess().getGroup());
2512 }
2255 2513
2256 } 2514 }
2257 2515
@@ -2270,24 +2528,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2270 } 2528 }
2271 return ; 2529 return ;
2272 } 2530 }
2273 // $ANTLR end "rulePredicate" 2531 // $ANTLR end "ruleStarArgument"
2274 2532
2275 2533
2276 // $ANTLR start "entryRuleParameter" 2534 // $ANTLR start "entryRuleTypedArgument"
2277 // InternalSolverLanguage.g:753:1: entryRuleParameter : ruleParameter EOF ; 2535 // InternalSolverLanguage.g:754:1: entryRuleTypedArgument : ruleTypedArgument EOF ;
2278 public final void entryRuleParameter() throws RecognitionException { 2536 public final void entryRuleTypedArgument() throws RecognitionException {
2279 try { 2537 try {
2280 // InternalSolverLanguage.g:754:1: ( ruleParameter EOF ) 2538 // InternalSolverLanguage.g:755:1: ( ruleTypedArgument EOF )
2281 // InternalSolverLanguage.g:755:1: ruleParameter EOF 2539 // InternalSolverLanguage.g:756:1: ruleTypedArgument EOF
2282 { 2540 {
2283 before(grammarAccess.getParameterRule()); 2541 if ( state.backtracking==0 ) {
2542 before(grammarAccess.getTypedArgumentRule());
2543 }
2284 pushFollow(FOLLOW_1); 2544 pushFollow(FOLLOW_1);
2285 ruleParameter(); 2545 ruleTypedArgument();
2286 2546
2287 state._fsp--; 2547 state._fsp--;
2288 2548 if (state.failed) return ;
2289 after(grammarAccess.getParameterRule()); 2549 if ( state.backtracking==0 ) {
2290 match(input,EOF,FOLLOW_2); 2550 after(grammarAccess.getTypedArgumentRule());
2551 }
2552 match(input,EOF,FOLLOW_2); if (state.failed) return ;
2291 2553
2292 } 2554 }
2293 2555
@@ -2300,35 +2562,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2300 } 2562 }
2301 return ; 2563 return ;
2302 } 2564 }
2303 // $ANTLR end "entryRuleParameter" 2565 // $ANTLR end "entryRuleTypedArgument"
2304 2566
2305 2567
2306 // $ANTLR start "ruleParameter" 2568 // $ANTLR start "ruleTypedArgument"
2307 // InternalSolverLanguage.g:762:1: ruleParameter : ( ( rule__Parameter__Group__0 ) ) ; 2569 // InternalSolverLanguage.g:763:1: ruleTypedArgument : ( ( rule__TypedArgument__Group__0 ) ) ;
2308 public final void ruleParameter() throws RecognitionException { 2570 public final void ruleTypedArgument() throws RecognitionException {
2309 2571
2310 int stackSize = keepStackSize(); 2572 int stackSize = keepStackSize();
2311 2573
2312 try { 2574 try {
2313 // InternalSolverLanguage.g:766:2: ( ( ( rule__Parameter__Group__0 ) ) ) 2575 // InternalSolverLanguage.g:767:2: ( ( ( rule__TypedArgument__Group__0 ) ) )
2314 // InternalSolverLanguage.g:767:2: ( ( rule__Parameter__Group__0 ) ) 2576 // InternalSolverLanguage.g:768:2: ( ( rule__TypedArgument__Group__0 ) )
2315 { 2577 {
2316 // InternalSolverLanguage.g:767:2: ( ( rule__Parameter__Group__0 ) ) 2578 // InternalSolverLanguage.g:768:2: ( ( rule__TypedArgument__Group__0 ) )
2317 // InternalSolverLanguage.g:768:3: ( rule__Parameter__Group__0 ) 2579 // InternalSolverLanguage.g:769:3: ( rule__TypedArgument__Group__0 )
2318 { 2580 {
2319 before(grammarAccess.getParameterAccess().getGroup()); 2581 if ( state.backtracking==0 ) {
2320 // InternalSolverLanguage.g:769:3: ( rule__Parameter__Group__0 ) 2582 before(grammarAccess.getTypedArgumentAccess().getGroup());
2321 // InternalSolverLanguage.g:769:4: rule__Parameter__Group__0 2583 }
2584 // InternalSolverLanguage.g:770:3: ( rule__TypedArgument__Group__0 )
2585 // InternalSolverLanguage.g:770:4: rule__TypedArgument__Group__0
2322 { 2586 {
2323 pushFollow(FOLLOW_2); 2587 pushFollow(FOLLOW_2);
2324 rule__Parameter__Group__0(); 2588 rule__TypedArgument__Group__0();
2325 2589
2326 state._fsp--; 2590 state._fsp--;
2327 2591 if (state.failed) return ;
2328 2592
2329 } 2593 }
2330 2594
2331 after(grammarAccess.getParameterAccess().getGroup()); 2595 if ( state.backtracking==0 ) {
2596 after(grammarAccess.getTypedArgumentAccess().getGroup());
2597 }
2332 2598
2333 } 2599 }
2334 2600
@@ -2347,24 +2613,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2347 } 2613 }
2348 return ; 2614 return ;
2349 } 2615 }
2350 // $ANTLR end "ruleParameter" 2616 // $ANTLR end "ruleTypedArgument"
2351 2617
2352 2618
2353 // $ANTLR start "entryRulePatternBody" 2619 // $ANTLR start "entryRuleTypedStarArgument"
2354 // InternalSolverLanguage.g:778:1: entryRulePatternBody : rulePatternBody EOF ; 2620 // InternalSolverLanguage.g:779:1: entryRuleTypedStarArgument : ruleTypedStarArgument EOF ;
2355 public final void entryRulePatternBody() throws RecognitionException { 2621 public final void entryRuleTypedStarArgument() throws RecognitionException {
2356 try { 2622 try {
2357 // InternalSolverLanguage.g:779:1: ( rulePatternBody EOF ) 2623 // InternalSolverLanguage.g:780:1: ( ruleTypedStarArgument EOF )
2358 // InternalSolverLanguage.g:780:1: rulePatternBody EOF 2624 // InternalSolverLanguage.g:781:1: ruleTypedStarArgument EOF
2359 { 2625 {
2360 before(grammarAccess.getPatternBodyRule()); 2626 if ( state.backtracking==0 ) {
2627 before(grammarAccess.getTypedStarArgumentRule());
2628 }
2361 pushFollow(FOLLOW_1); 2629 pushFollow(FOLLOW_1);
2362 rulePatternBody(); 2630 ruleTypedStarArgument();
2363 2631
2364 state._fsp--; 2632 state._fsp--;
2365 2633 if (state.failed) return ;
2366 after(grammarAccess.getPatternBodyRule()); 2634 if ( state.backtracking==0 ) {
2367 match(input,EOF,FOLLOW_2); 2635 after(grammarAccess.getTypedStarArgumentRule());
2636 }
2637 match(input,EOF,FOLLOW_2); if (state.failed) return ;
2368 2638
2369 } 2639 }
2370 2640
@@ -2377,35 +2647,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2377 } 2647 }
2378 return ; 2648 return ;
2379 } 2649 }
2380 // $ANTLR end "entryRulePatternBody" 2650 // $ANTLR end "entryRuleTypedStarArgument"
2381 2651
2382 2652
2383 // $ANTLR start "rulePatternBody" 2653 // $ANTLR start "ruleTypedStarArgument"
2384 // InternalSolverLanguage.g:787:1: rulePatternBody : ( ( rule__PatternBody__Group__0 ) ) ; 2654 // InternalSolverLanguage.g:788:1: ruleTypedStarArgument : ( ( rule__TypedStarArgument__Group__0 ) ) ;
2385 public final void rulePatternBody() throws RecognitionException { 2655 public final void ruleTypedStarArgument() throws RecognitionException {
2386 2656
2387 int stackSize = keepStackSize(); 2657 int stackSize = keepStackSize();
2388 2658
2389 try { 2659 try {
2390 // InternalSolverLanguage.g:791:2: ( ( ( rule__PatternBody__Group__0 ) ) ) 2660 // InternalSolverLanguage.g:792:2: ( ( ( rule__TypedStarArgument__Group__0 ) ) )
2391 // InternalSolverLanguage.g:792:2: ( ( rule__PatternBody__Group__0 ) ) 2661 // InternalSolverLanguage.g:793:2: ( ( rule__TypedStarArgument__Group__0 ) )
2392 { 2662 {
2393 // InternalSolverLanguage.g:792:2: ( ( rule__PatternBody__Group__0 ) ) 2663 // InternalSolverLanguage.g:793:2: ( ( rule__TypedStarArgument__Group__0 ) )
2394 // InternalSolverLanguage.g:793:3: ( rule__PatternBody__Group__0 ) 2664 // InternalSolverLanguage.g:794:3: ( rule__TypedStarArgument__Group__0 )
2395 { 2665 {
2396 before(grammarAccess.getPatternBodyAccess().getGroup()); 2666 if ( state.backtracking==0 ) {
2397 // InternalSolverLanguage.g:794:3: ( rule__PatternBody__Group__0 ) 2667 before(grammarAccess.getTypedStarArgumentAccess().getGroup());
2398 // InternalSolverLanguage.g:794:4: rule__PatternBody__Group__0 2668 }
2669 // InternalSolverLanguage.g:795:3: ( rule__TypedStarArgument__Group__0 )
2670 // InternalSolverLanguage.g:795:4: rule__TypedStarArgument__Group__0
2399 { 2671 {
2400 pushFollow(FOLLOW_2); 2672 pushFollow(FOLLOW_2);
2401 rule__PatternBody__Group__0(); 2673 rule__TypedStarArgument__Group__0();
2402 2674
2403 state._fsp--; 2675 state._fsp--;
2404 2676 if (state.failed) return ;
2405 2677
2406 } 2678 }
2407 2679
2408 after(grammarAccess.getPatternBodyAccess().getGroup()); 2680 if ( state.backtracking==0 ) {
2681 after(grammarAccess.getTypedStarArgumentAccess().getGroup());
2682 }
2409 2683
2410 } 2684 }
2411 2685
@@ -2424,24 +2698,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2424 } 2698 }
2425 return ; 2699 return ;
2426 } 2700 }
2427 // $ANTLR end "rulePatternBody" 2701 // $ANTLR end "ruleTypedStarArgument"
2428 2702
2429 2703
2430 // $ANTLR start "entryRulePolarity" 2704 // $ANTLR start "entryRuleReference"
2431 // InternalSolverLanguage.g:803:1: entryRulePolarity : rulePolarity EOF ; 2705 // InternalSolverLanguage.g:804:1: entryRuleReference : ruleReference EOF ;
2432 public final void entryRulePolarity() throws RecognitionException { 2706 public final void entryRuleReference() throws RecognitionException {
2433 try { 2707 try {
2434 // InternalSolverLanguage.g:804:1: ( rulePolarity EOF ) 2708 // InternalSolverLanguage.g:805:1: ( ruleReference EOF )
2435 // InternalSolverLanguage.g:805:1: rulePolarity EOF 2709 // InternalSolverLanguage.g:806:1: ruleReference EOF
2436 { 2710 {
2437 before(grammarAccess.getPolarityRule()); 2711 if ( state.backtracking==0 ) {
2712 before(grammarAccess.getReferenceRule());
2713 }
2438 pushFollow(FOLLOW_1); 2714 pushFollow(FOLLOW_1);
2439 rulePolarity(); 2715 ruleReference();
2440 2716
2441 state._fsp--; 2717 state._fsp--;
2442 2718 if (state.failed) return ;
2443 after(grammarAccess.getPolarityRule()); 2719 if ( state.backtracking==0 ) {
2444 match(input,EOF,FOLLOW_2); 2720 after(grammarAccess.getReferenceRule());
2721 }
2722 match(input,EOF,FOLLOW_2); if (state.failed) return ;
2445 2723
2446 } 2724 }
2447 2725
@@ -2454,35 +2732,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2454 } 2732 }
2455 return ; 2733 return ;
2456 } 2734 }
2457 // $ANTLR end "entryRulePolarity" 2735 // $ANTLR end "entryRuleReference"
2458 2736
2459 2737
2460 // $ANTLR start "rulePolarity" 2738 // $ANTLR start "ruleReference"
2461 // InternalSolverLanguage.g:812:1: rulePolarity : ( ( rule__Polarity__Alternatives ) ) ; 2739 // InternalSolverLanguage.g:813:1: ruleReference : ( ( rule__Reference__ReferredAssignment ) ) ;
2462 public final void rulePolarity() throws RecognitionException { 2740 public final void ruleReference() throws RecognitionException {
2463 2741
2464 int stackSize = keepStackSize(); 2742 int stackSize = keepStackSize();
2465 2743
2466 try { 2744 try {
2467 // InternalSolverLanguage.g:816:2: ( ( ( rule__Polarity__Alternatives ) ) ) 2745 // InternalSolverLanguage.g:817:2: ( ( ( rule__Reference__ReferredAssignment ) ) )
2468 // InternalSolverLanguage.g:817:2: ( ( rule__Polarity__Alternatives ) ) 2746 // InternalSolverLanguage.g:818:2: ( ( rule__Reference__ReferredAssignment ) )
2469 { 2747 {
2470 // InternalSolverLanguage.g:817:2: ( ( rule__Polarity__Alternatives ) ) 2748 // InternalSolverLanguage.g:818:2: ( ( rule__Reference__ReferredAssignment ) )
2471 // InternalSolverLanguage.g:818:3: ( rule__Polarity__Alternatives ) 2749 // InternalSolverLanguage.g:819:3: ( rule__Reference__ReferredAssignment )
2472 { 2750 {
2473 before(grammarAccess.getPolarityAccess().getAlternatives()); 2751 if ( state.backtracking==0 ) {
2474 // InternalSolverLanguage.g:819:3: ( rule__Polarity__Alternatives ) 2752 before(grammarAccess.getReferenceAccess().getReferredAssignment());
2475 // InternalSolverLanguage.g:819:4: rule__Polarity__Alternatives 2753 }
2754 // InternalSolverLanguage.g:820:3: ( rule__Reference__ReferredAssignment )
2755 // InternalSolverLanguage.g:820:4: rule__Reference__ReferredAssignment
2476 { 2756 {
2477 pushFollow(FOLLOW_2); 2757 pushFollow(FOLLOW_2);
2478 rule__Polarity__Alternatives(); 2758 rule__Reference__ReferredAssignment();
2479 2759
2480 state._fsp--; 2760 state._fsp--;
2481 2761 if (state.failed) return ;
2482 2762
2483 } 2763 }
2484 2764
2485 after(grammarAccess.getPolarityAccess().getAlternatives()); 2765 if ( state.backtracking==0 ) {
2766 after(grammarAccess.getReferenceAccess().getReferredAssignment());
2767 }
2486 2768
2487 } 2769 }
2488 2770
@@ -2501,24 +2783,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2501 } 2783 }
2502 return ; 2784 return ;
2503 } 2785 }
2504 // $ANTLR end "rulePolarity" 2786 // $ANTLR end "ruleReference"
2505 2787
2506 2788
2507 // $ANTLR start "entryRuleConstraint" 2789 // $ANTLR start "entryRuleInterval"
2508 // InternalSolverLanguage.g:828:1: entryRuleConstraint : ruleConstraint EOF ; 2790 // InternalSolverLanguage.g:829:1: entryRuleInterval : ruleInterval EOF ;
2509 public final void entryRuleConstraint() throws RecognitionException { 2791 public final void entryRuleInterval() throws RecognitionException {
2510 try { 2792 try {
2511 // InternalSolverLanguage.g:829:1: ( ruleConstraint EOF ) 2793 // InternalSolverLanguage.g:830:1: ( ruleInterval EOF )
2512 // InternalSolverLanguage.g:830:1: ruleConstraint EOF 2794 // InternalSolverLanguage.g:831:1: ruleInterval EOF
2513 { 2795 {
2514 before(grammarAccess.getConstraintRule()); 2796 if ( state.backtracking==0 ) {
2797 before(grammarAccess.getIntervalRule());
2798 }
2515 pushFollow(FOLLOW_1); 2799 pushFollow(FOLLOW_1);
2516 ruleConstraint(); 2800 ruleInterval();
2517 2801
2518 state._fsp--; 2802 state._fsp--;
2519 2803 if (state.failed) return ;
2520 after(grammarAccess.getConstraintRule()); 2804 if ( state.backtracking==0 ) {
2521 match(input,EOF,FOLLOW_2); 2805 after(grammarAccess.getIntervalRule());
2806 }
2807 match(input,EOF,FOLLOW_2); if (state.failed) return ;
2522 2808
2523 } 2809 }
2524 2810
@@ -2531,35 +2817,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2531 } 2817 }
2532 return ; 2818 return ;
2533 } 2819 }
2534 // $ANTLR end "entryRuleConstraint" 2820 // $ANTLR end "entryRuleInterval"
2535 2821
2536 2822
2537 // $ANTLR start "ruleConstraint" 2823 // $ANTLR start "ruleInterval"
2538 // InternalSolverLanguage.g:837:1: ruleConstraint : ( ( rule__Constraint__Alternatives ) ) ; 2824 // InternalSolverLanguage.g:838:1: ruleInterval : ( ( rule__Interval__Group__0 ) ) ;
2539 public final void ruleConstraint() throws RecognitionException { 2825 public final void ruleInterval() throws RecognitionException {
2540 2826
2541 int stackSize = keepStackSize(); 2827 int stackSize = keepStackSize();
2542 2828
2543 try { 2829 try {
2544 // InternalSolverLanguage.g:841:2: ( ( ( rule__Constraint__Alternatives ) ) ) 2830 // InternalSolverLanguage.g:842:2: ( ( ( rule__Interval__Group__0 ) ) )
2545 // InternalSolverLanguage.g:842:2: ( ( rule__Constraint__Alternatives ) ) 2831 // InternalSolverLanguage.g:843:2: ( ( rule__Interval__Group__0 ) )
2546 { 2832 {
2547 // InternalSolverLanguage.g:842:2: ( ( rule__Constraint__Alternatives ) ) 2833 // InternalSolverLanguage.g:843:2: ( ( rule__Interval__Group__0 ) )
2548 // InternalSolverLanguage.g:843:3: ( rule__Constraint__Alternatives ) 2834 // InternalSolverLanguage.g:844:3: ( rule__Interval__Group__0 )
2549 { 2835 {
2550 before(grammarAccess.getConstraintAccess().getAlternatives()); 2836 if ( state.backtracking==0 ) {
2551 // InternalSolverLanguage.g:844:3: ( rule__Constraint__Alternatives ) 2837 before(grammarAccess.getIntervalAccess().getGroup());
2552 // InternalSolverLanguage.g:844:4: rule__Constraint__Alternatives 2838 }
2839 // InternalSolverLanguage.g:845:3: ( rule__Interval__Group__0 )
2840 // InternalSolverLanguage.g:845:4: rule__Interval__Group__0
2553 { 2841 {
2554 pushFollow(FOLLOW_2); 2842 pushFollow(FOLLOW_2);
2555 rule__Constraint__Alternatives(); 2843 rule__Interval__Group__0();
2556 2844
2557 state._fsp--; 2845 state._fsp--;
2558 2846 if (state.failed) return ;
2559 2847
2560 } 2848 }
2561 2849
2562 after(grammarAccess.getConstraintAccess().getAlternatives()); 2850 if ( state.backtracking==0 ) {
2851 after(grammarAccess.getIntervalAccess().getGroup());
2852 }
2563 2853
2564 } 2854 }
2565 2855
@@ -2578,24 +2868,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2578 } 2868 }
2579 return ; 2869 return ;
2580 } 2870 }
2581 // $ANTLR end "ruleConstraint" 2871 // $ANTLR end "ruleInterval"
2582 2872
2583 2873
2584 // $ANTLR start "entryRuleClosureType" 2874 // $ANTLR start "entryRuleLiteral"
2585 // InternalSolverLanguage.g:853:1: entryRuleClosureType : ruleClosureType EOF ; 2875 // InternalSolverLanguage.g:854:1: entryRuleLiteral : ruleLiteral EOF ;
2586 public final void entryRuleClosureType() throws RecognitionException { 2876 public final void entryRuleLiteral() throws RecognitionException {
2587 try { 2877 try {
2588 // InternalSolverLanguage.g:854:1: ( ruleClosureType EOF ) 2878 // InternalSolverLanguage.g:855:1: ( ruleLiteral EOF )
2589 // InternalSolverLanguage.g:855:1: ruleClosureType EOF 2879 // InternalSolverLanguage.g:856:1: ruleLiteral EOF
2590 { 2880 {
2591 before(grammarAccess.getClosureTypeRule()); 2881 if ( state.backtracking==0 ) {
2882 before(grammarAccess.getLiteralRule());
2883 }
2592 pushFollow(FOLLOW_1); 2884 pushFollow(FOLLOW_1);
2593 ruleClosureType(); 2885 ruleLiteral();
2594 2886
2595 state._fsp--; 2887 state._fsp--;
2596 2888 if (state.failed) return ;
2597 after(grammarAccess.getClosureTypeRule()); 2889 if ( state.backtracking==0 ) {
2598 match(input,EOF,FOLLOW_2); 2890 after(grammarAccess.getLiteralRule());
2891 }
2892 match(input,EOF,FOLLOW_2); if (state.failed) return ;
2599 2893
2600 } 2894 }
2601 2895
@@ -2608,35 +2902,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2608 } 2902 }
2609 return ; 2903 return ;
2610 } 2904 }
2611 // $ANTLR end "entryRuleClosureType" 2905 // $ANTLR end "entryRuleLiteral"
2612 2906
2613 2907
2614 // $ANTLR start "ruleClosureType" 2908 // $ANTLR start "ruleLiteral"
2615 // InternalSolverLanguage.g:862:1: ruleClosureType : ( ( rule__ClosureType__Alternatives ) ) ; 2909 // InternalSolverLanguage.g:863:1: ruleLiteral : ( ( rule__Literal__Alternatives ) ) ;
2616 public final void ruleClosureType() throws RecognitionException { 2910 public final void ruleLiteral() throws RecognitionException {
2617 2911
2618 int stackSize = keepStackSize(); 2912 int stackSize = keepStackSize();
2619 2913
2620 try { 2914 try {
2621 // InternalSolverLanguage.g:866:2: ( ( ( rule__ClosureType__Alternatives ) ) ) 2915 // InternalSolverLanguage.g:867:2: ( ( ( rule__Literal__Alternatives ) ) )
2622 // InternalSolverLanguage.g:867:2: ( ( rule__ClosureType__Alternatives ) ) 2916 // InternalSolverLanguage.g:868:2: ( ( rule__Literal__Alternatives ) )
2623 { 2917 {
2624 // InternalSolverLanguage.g:867:2: ( ( rule__ClosureType__Alternatives ) ) 2918 // InternalSolverLanguage.g:868:2: ( ( rule__Literal__Alternatives ) )
2625 // InternalSolverLanguage.g:868:3: ( rule__ClosureType__Alternatives ) 2919 // InternalSolverLanguage.g:869:3: ( rule__Literal__Alternatives )
2626 { 2920 {
2627 before(grammarAccess.getClosureTypeAccess().getAlternatives()); 2921 if ( state.backtracking==0 ) {
2628 // InternalSolverLanguage.g:869:3: ( rule__ClosureType__Alternatives ) 2922 before(grammarAccess.getLiteralAccess().getAlternatives());
2629 // InternalSolverLanguage.g:869:4: rule__ClosureType__Alternatives 2923 }
2924 // InternalSolverLanguage.g:870:3: ( rule__Literal__Alternatives )
2925 // InternalSolverLanguage.g:870:4: rule__Literal__Alternatives
2630 { 2926 {
2631 pushFollow(FOLLOW_2); 2927 pushFollow(FOLLOW_2);
2632 rule__ClosureType__Alternatives(); 2928 rule__Literal__Alternatives();
2633 2929
2634 state._fsp--; 2930 state._fsp--;
2635 2931 if (state.failed) return ;
2636 2932
2637 } 2933 }
2638 2934
2639 after(grammarAccess.getClosureTypeAccess().getAlternatives()); 2935 if ( state.backtracking==0 ) {
2936 after(grammarAccess.getLiteralAccess().getAlternatives());
2937 }
2640 2938
2641 } 2939 }
2642 2940
@@ -2655,24 +2953,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2655 } 2953 }
2656 return ; 2954 return ;
2657 } 2955 }
2658 // $ANTLR end "ruleClosureType" 2956 // $ANTLR end "ruleLiteral"
2659 2957
2660 2958
2661 // $ANTLR start "entryRuleLiteral" 2959 // $ANTLR start "entryRuleLogicLiteral"
2662 // InternalSolverLanguage.g:878:1: entryRuleLiteral : ruleLiteral EOF ; 2960 // InternalSolverLanguage.g:879:1: entryRuleLogicLiteral : ruleLogicLiteral EOF ;
2663 public final void entryRuleLiteral() throws RecognitionException { 2961 public final void entryRuleLogicLiteral() throws RecognitionException {
2664 try { 2962 try {
2665 // InternalSolverLanguage.g:879:1: ( ruleLiteral EOF ) 2963 // InternalSolverLanguage.g:880:1: ( ruleLogicLiteral EOF )
2666 // InternalSolverLanguage.g:880:1: ruleLiteral EOF 2964 // InternalSolverLanguage.g:881:1: ruleLogicLiteral EOF
2667 { 2965 {
2668 before(grammarAccess.getLiteralRule()); 2966 if ( state.backtracking==0 ) {
2967 before(grammarAccess.getLogicLiteralRule());
2968 }
2669 pushFollow(FOLLOW_1); 2969 pushFollow(FOLLOW_1);
2670 ruleLiteral(); 2970 ruleLogicLiteral();
2671 2971
2672 state._fsp--; 2972 state._fsp--;
2673 2973 if (state.failed) return ;
2674 after(grammarAccess.getLiteralRule()); 2974 if ( state.backtracking==0 ) {
2675 match(input,EOF,FOLLOW_2); 2975 after(grammarAccess.getLogicLiteralRule());
2976 }
2977 match(input,EOF,FOLLOW_2); if (state.failed) return ;
2676 2978
2677 } 2979 }
2678 2980
@@ -2685,35 +2987,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2685 } 2987 }
2686 return ; 2988 return ;
2687 } 2989 }
2688 // $ANTLR end "entryRuleLiteral" 2990 // $ANTLR end "entryRuleLogicLiteral"
2689 2991
2690 2992
2691 // $ANTLR start "ruleLiteral" 2993 // $ANTLR start "ruleLogicLiteral"
2692 // InternalSolverLanguage.g:887:1: ruleLiteral : ( ( rule__Literal__Alternatives ) ) ; 2994 // InternalSolverLanguage.g:888:1: ruleLogicLiteral : ( ( rule__LogicLiteral__ValueAssignment ) ) ;
2693 public final void ruleLiteral() throws RecognitionException { 2995 public final void ruleLogicLiteral() throws RecognitionException {
2694 2996
2695 int stackSize = keepStackSize(); 2997 int stackSize = keepStackSize();
2696 2998
2697 try { 2999 try {
2698 // InternalSolverLanguage.g:891:2: ( ( ( rule__Literal__Alternatives ) ) ) 3000 // InternalSolverLanguage.g:892:2: ( ( ( rule__LogicLiteral__ValueAssignment ) ) )
2699 // InternalSolverLanguage.g:892:2: ( ( rule__Literal__Alternatives ) ) 3001 // InternalSolverLanguage.g:893:2: ( ( rule__LogicLiteral__ValueAssignment ) )
2700 { 3002 {
2701 // InternalSolverLanguage.g:892:2: ( ( rule__Literal__Alternatives ) ) 3003 // InternalSolverLanguage.g:893:2: ( ( rule__LogicLiteral__ValueAssignment ) )
2702 // InternalSolverLanguage.g:893:3: ( rule__Literal__Alternatives ) 3004 // InternalSolverLanguage.g:894:3: ( rule__LogicLiteral__ValueAssignment )
2703 { 3005 {
2704 before(grammarAccess.getLiteralAccess().getAlternatives()); 3006 if ( state.backtracking==0 ) {
2705 // InternalSolverLanguage.g:894:3: ( rule__Literal__Alternatives ) 3007 before(grammarAccess.getLogicLiteralAccess().getValueAssignment());
2706 // InternalSolverLanguage.g:894:4: rule__Literal__Alternatives 3008 }
3009 // InternalSolverLanguage.g:895:3: ( rule__LogicLiteral__ValueAssignment )
3010 // InternalSolverLanguage.g:895:4: rule__LogicLiteral__ValueAssignment
2707 { 3011 {
2708 pushFollow(FOLLOW_2); 3012 pushFollow(FOLLOW_2);
2709 rule__Literal__Alternatives(); 3013 rule__LogicLiteral__ValueAssignment();
2710 3014
2711 state._fsp--; 3015 state._fsp--;
2712 3016 if (state.failed) return ;
2713 3017
2714 } 3018 }
2715 3019
2716 after(grammarAccess.getLiteralAccess().getAlternatives()); 3020 if ( state.backtracking==0 ) {
3021 after(grammarAccess.getLogicLiteralAccess().getValueAssignment());
3022 }
2717 3023
2718 } 3024 }
2719 3025
@@ -2732,24 +3038,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2732 } 3038 }
2733 return ; 3039 return ;
2734 } 3040 }
2735 // $ANTLR end "ruleLiteral" 3041 // $ANTLR end "ruleLogicLiteral"
2736 3042
2737 3043
2738 // $ANTLR start "entryRuleVariable" 3044 // $ANTLR start "entryRuleNumericLiteral"
2739 // InternalSolverLanguage.g:903:1: entryRuleVariable : ruleVariable EOF ; 3045 // InternalSolverLanguage.g:904:1: entryRuleNumericLiteral : ruleNumericLiteral EOF ;
2740 public final void entryRuleVariable() throws RecognitionException { 3046 public final void entryRuleNumericLiteral() throws RecognitionException {
2741 try { 3047 try {
2742 // InternalSolverLanguage.g:904:1: ( ruleVariable EOF ) 3048 // InternalSolverLanguage.g:905:1: ( ruleNumericLiteral EOF )
2743 // InternalSolverLanguage.g:905:1: ruleVariable EOF 3049 // InternalSolverLanguage.g:906:1: ruleNumericLiteral EOF
2744 { 3050 {
2745 before(grammarAccess.getVariableRule()); 3051 if ( state.backtracking==0 ) {
3052 before(grammarAccess.getNumericLiteralRule());
3053 }
2746 pushFollow(FOLLOW_1); 3054 pushFollow(FOLLOW_1);
2747 ruleVariable(); 3055 ruleNumericLiteral();
2748 3056
2749 state._fsp--; 3057 state._fsp--;
2750 3058 if (state.failed) return ;
2751 after(grammarAccess.getVariableRule()); 3059 if ( state.backtracking==0 ) {
2752 match(input,EOF,FOLLOW_2); 3060 after(grammarAccess.getNumericLiteralRule());
3061 }
3062 match(input,EOF,FOLLOW_2); if (state.failed) return ;
2753 3063
2754 } 3064 }
2755 3065
@@ -2762,35 +3072,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2762 } 3072 }
2763 return ; 3073 return ;
2764 } 3074 }
2765 // $ANTLR end "entryRuleVariable" 3075 // $ANTLR end "entryRuleNumericLiteral"
2766 3076
2767 3077
2768 // $ANTLR start "ruleVariable" 3078 // $ANTLR start "ruleNumericLiteral"
2769 // InternalSolverLanguage.g:912:1: ruleVariable : ( ( rule__Variable__NameAssignment ) ) ; 3079 // InternalSolverLanguage.g:913:1: ruleNumericLiteral : ( ( rule__NumericLiteral__ValueAssignment ) ) ;
2770 public final void ruleVariable() throws RecognitionException { 3080 public final void ruleNumericLiteral() throws RecognitionException {
2771 3081
2772 int stackSize = keepStackSize(); 3082 int stackSize = keepStackSize();
2773 3083
2774 try { 3084 try {
2775 // InternalSolverLanguage.g:916:2: ( ( ( rule__Variable__NameAssignment ) ) ) 3085 // InternalSolverLanguage.g:917:2: ( ( ( rule__NumericLiteral__ValueAssignment ) ) )
2776 // InternalSolverLanguage.g:917:2: ( ( rule__Variable__NameAssignment ) ) 3086 // InternalSolverLanguage.g:918:2: ( ( rule__NumericLiteral__ValueAssignment ) )
2777 { 3087 {
2778 // InternalSolverLanguage.g:917:2: ( ( rule__Variable__NameAssignment ) ) 3088 // InternalSolverLanguage.g:918:2: ( ( rule__NumericLiteral__ValueAssignment ) )
2779 // InternalSolverLanguage.g:918:3: ( rule__Variable__NameAssignment ) 3089 // InternalSolverLanguage.g:919:3: ( rule__NumericLiteral__ValueAssignment )
2780 { 3090 {
2781 before(grammarAccess.getVariableAccess().getNameAssignment()); 3091 if ( state.backtracking==0 ) {
2782 // InternalSolverLanguage.g:919:3: ( rule__Variable__NameAssignment ) 3092 before(grammarAccess.getNumericLiteralAccess().getValueAssignment());
2783 // InternalSolverLanguage.g:919:4: rule__Variable__NameAssignment 3093 }
3094 // InternalSolverLanguage.g:920:3: ( rule__NumericLiteral__ValueAssignment )
3095 // InternalSolverLanguage.g:920:4: rule__NumericLiteral__ValueAssignment
2784 { 3096 {
2785 pushFollow(FOLLOW_2); 3097 pushFollow(FOLLOW_2);
2786 rule__Variable__NameAssignment(); 3098 rule__NumericLiteral__ValueAssignment();
2787 3099
2788 state._fsp--; 3100 state._fsp--;
2789 3101 if (state.failed) return ;
2790 3102
2791 } 3103 }
2792 3104
2793 after(grammarAccess.getVariableAccess().getNameAssignment()); 3105 if ( state.backtracking==0 ) {
3106 after(grammarAccess.getNumericLiteralAccess().getValueAssignment());
3107 }
2794 3108
2795 } 3109 }
2796 3110
@@ -2809,24 +3123,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2809 } 3123 }
2810 return ; 3124 return ;
2811 } 3125 }
2812 // $ANTLR end "ruleVariable" 3126 // $ANTLR end "ruleNumericLiteral"
2813 3127
2814 3128
2815 // $ANTLR start "entryRuleAllInstances" 3129 // $ANTLR start "entryRuleInfinityLiteral"
2816 // InternalSolverLanguage.g:928:1: entryRuleAllInstances : ruleAllInstances EOF ; 3130 // InternalSolverLanguage.g:929:1: entryRuleInfinityLiteral : ruleInfinityLiteral EOF ;
2817 public final void entryRuleAllInstances() throws RecognitionException { 3131 public final void entryRuleInfinityLiteral() throws RecognitionException {
2818 try { 3132 try {
2819 // InternalSolverLanguage.g:929:1: ( ruleAllInstances EOF ) 3133 // InternalSolverLanguage.g:930:1: ( ruleInfinityLiteral EOF )
2820 // InternalSolverLanguage.g:930:1: ruleAllInstances EOF 3134 // InternalSolverLanguage.g:931:1: ruleInfinityLiteral EOF
2821 { 3135 {
2822 before(grammarAccess.getAllInstancesRule()); 3136 if ( state.backtracking==0 ) {
3137 before(grammarAccess.getInfinityLiteralRule());
3138 }
2823 pushFollow(FOLLOW_1); 3139 pushFollow(FOLLOW_1);
2824 ruleAllInstances(); 3140 ruleInfinityLiteral();
2825 3141
2826 state._fsp--; 3142 state._fsp--;
2827 3143 if (state.failed) return ;
2828 after(grammarAccess.getAllInstancesRule()); 3144 if ( state.backtracking==0 ) {
2829 match(input,EOF,FOLLOW_2); 3145 after(grammarAccess.getInfinityLiteralRule());
3146 }
3147 match(input,EOF,FOLLOW_2); if (state.failed) return ;
2830 3148
2831 } 3149 }
2832 3150
@@ -2839,35 +3157,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2839 } 3157 }
2840 return ; 3158 return ;
2841 } 3159 }
2842 // $ANTLR end "entryRuleAllInstances" 3160 // $ANTLR end "entryRuleInfinityLiteral"
2843 3161
2844 3162
2845 // $ANTLR start "ruleAllInstances" 3163 // $ANTLR start "ruleInfinityLiteral"
2846 // InternalSolverLanguage.g:937:1: ruleAllInstances : ( ( rule__AllInstances__Group__0 ) ) ; 3164 // InternalSolverLanguage.g:938:1: ruleInfinityLiteral : ( ( rule__InfinityLiteral__Group__0 ) ) ;
2847 public final void ruleAllInstances() throws RecognitionException { 3165 public final void ruleInfinityLiteral() throws RecognitionException {
2848 3166
2849 int stackSize = keepStackSize(); 3167 int stackSize = keepStackSize();
2850 3168
2851 try { 3169 try {
2852 // InternalSolverLanguage.g:941:2: ( ( ( rule__AllInstances__Group__0 ) ) ) 3170 // InternalSolverLanguage.g:942:2: ( ( ( rule__InfinityLiteral__Group__0 ) ) )
2853 // InternalSolverLanguage.g:942:2: ( ( rule__AllInstances__Group__0 ) ) 3171 // InternalSolverLanguage.g:943:2: ( ( rule__InfinityLiteral__Group__0 ) )
2854 { 3172 {
2855 // InternalSolverLanguage.g:942:2: ( ( rule__AllInstances__Group__0 ) ) 3173 // InternalSolverLanguage.g:943:2: ( ( rule__InfinityLiteral__Group__0 ) )
2856 // InternalSolverLanguage.g:943:3: ( rule__AllInstances__Group__0 ) 3174 // InternalSolverLanguage.g:944:3: ( rule__InfinityLiteral__Group__0 )
2857 { 3175 {
2858 before(grammarAccess.getAllInstancesAccess().getGroup()); 3176 if ( state.backtracking==0 ) {
2859 // InternalSolverLanguage.g:944:3: ( rule__AllInstances__Group__0 ) 3177 before(grammarAccess.getInfinityLiteralAccess().getGroup());
2860 // InternalSolverLanguage.g:944:4: rule__AllInstances__Group__0 3178 }
3179 // InternalSolverLanguage.g:945:3: ( rule__InfinityLiteral__Group__0 )
3180 // InternalSolverLanguage.g:945:4: rule__InfinityLiteral__Group__0
2861 { 3181 {
2862 pushFollow(FOLLOW_2); 3182 pushFollow(FOLLOW_2);
2863 rule__AllInstances__Group__0(); 3183 rule__InfinityLiteral__Group__0();
2864 3184
2865 state._fsp--; 3185 state._fsp--;
2866 3186 if (state.failed) return ;
2867 3187
2868 } 3188 }
2869 3189
2870 after(grammarAccess.getAllInstancesAccess().getGroup()); 3190 if ( state.backtracking==0 ) {
3191 after(grammarAccess.getInfinityLiteralAccess().getGroup());
3192 }
2871 3193
2872 } 3194 }
2873 3195
@@ -2886,24 +3208,76 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2886 } 3208 }
2887 return ; 3209 return ;
2888 } 3210 }
2889 // $ANTLR end "ruleAllInstances" 3211 // $ANTLR end "ruleInfinityLiteral"
2890 3212
2891 3213
2892 // $ANTLR start "entryRuleAllObjects" 3214 // $ANTLR start "entryRuleEmptyIntervalLiteral"
2893 // InternalSolverLanguage.g:953:1: entryRuleAllObjects : ruleAllObjects EOF ; 3215 // InternalSolverLanguage.g:954:1: entryRuleEmptyIntervalLiteral : ruleEmptyIntervalLiteral EOF ;
2894 public final void entryRuleAllObjects() throws RecognitionException { 3216 public final void entryRuleEmptyIntervalLiteral() throws RecognitionException {
2895 try { 3217 try {
2896 // InternalSolverLanguage.g:954:1: ( ruleAllObjects EOF ) 3218 // InternalSolverLanguage.g:955:1: ( ruleEmptyIntervalLiteral EOF )
2897 // InternalSolverLanguage.g:955:1: ruleAllObjects EOF 3219 // InternalSolverLanguage.g:956:1: ruleEmptyIntervalLiteral EOF
2898 { 3220 {
2899 before(grammarAccess.getAllObjectsRule()); 3221 if ( state.backtracking==0 ) {
3222 before(grammarAccess.getEmptyIntervalLiteralRule());
3223 }
2900 pushFollow(FOLLOW_1); 3224 pushFollow(FOLLOW_1);
2901 ruleAllObjects(); 3225 ruleEmptyIntervalLiteral();
3226
3227 state._fsp--;
3228 if (state.failed) return ;
3229 if ( state.backtracking==0 ) {
3230 after(grammarAccess.getEmptyIntervalLiteralRule());
3231 }
3232 match(input,EOF,FOLLOW_2); if (state.failed) return ;
3233
3234 }
3235
3236 }
3237 catch (RecognitionException re) {
3238 reportError(re);
3239 recover(input,re);
3240 }
3241 finally {
3242 }
3243 return ;
3244 }
3245 // $ANTLR end "entryRuleEmptyIntervalLiteral"
3246
3247
3248 // $ANTLR start "ruleEmptyIntervalLiteral"
3249 // InternalSolverLanguage.g:963:1: ruleEmptyIntervalLiteral : ( ( rule__EmptyIntervalLiteral__Group__0 ) ) ;
3250 public final void ruleEmptyIntervalLiteral() throws RecognitionException {
3251
3252 int stackSize = keepStackSize();
3253
3254 try {
3255 // InternalSolverLanguage.g:967:2: ( ( ( rule__EmptyIntervalLiteral__Group__0 ) ) )
3256 // InternalSolverLanguage.g:968:2: ( ( rule__EmptyIntervalLiteral__Group__0 ) )
3257 {
3258 // InternalSolverLanguage.g:968:2: ( ( rule__EmptyIntervalLiteral__Group__0 ) )
3259 // InternalSolverLanguage.g:969:3: ( rule__EmptyIntervalLiteral__Group__0 )
3260 {
3261 if ( state.backtracking==0 ) {
3262 before(grammarAccess.getEmptyIntervalLiteralAccess().getGroup());
3263 }
3264 // InternalSolverLanguage.g:970:3: ( rule__EmptyIntervalLiteral__Group__0 )
3265 // InternalSolverLanguage.g:970:4: rule__EmptyIntervalLiteral__Group__0
3266 {
3267 pushFollow(FOLLOW_2);
3268 rule__EmptyIntervalLiteral__Group__0();
2902 3269
2903 state._fsp--; 3270 state._fsp--;
3271 if (state.failed) return ;
3272
3273 }
3274
3275 if ( state.backtracking==0 ) {
3276 after(grammarAccess.getEmptyIntervalLiteralAccess().getGroup());
3277 }
3278
3279 }
2904 3280
2905 after(grammarAccess.getAllObjectsRule());
2906 match(input,EOF,FOLLOW_2);
2907 3281
2908 } 3282 }
2909 3283
@@ -2913,38 +3287,164 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2913 recover(input,re); 3287 recover(input,re);
2914 } 3288 }
2915 finally { 3289 finally {
3290
3291 restoreStackSize(stackSize);
3292
2916 } 3293 }
2917 return ; 3294 return ;
2918 } 3295 }
2919 // $ANTLR end "entryRuleAllObjects" 3296 // $ANTLR end "ruleEmptyIntervalLiteral"
3297
3298
3299 // $ANTLR start "entryRuleStringLiteral"
3300 // InternalSolverLanguage.g:979:1: entryRuleStringLiteral : ruleStringLiteral EOF ;
3301 public final void entryRuleStringLiteral() throws RecognitionException {
3302 try {
3303 // InternalSolverLanguage.g:980:1: ( ruleStringLiteral EOF )
3304 // InternalSolverLanguage.g:981:1: ruleStringLiteral EOF
3305 {
3306 if ( state.backtracking==0 ) {
3307 before(grammarAccess.getStringLiteralRule());
3308 }
3309 pushFollow(FOLLOW_1);
3310 ruleStringLiteral();
3311
3312 state._fsp--;
3313 if (state.failed) return ;
3314 if ( state.backtracking==0 ) {
3315 after(grammarAccess.getStringLiteralRule());
3316 }
3317 match(input,EOF,FOLLOW_2); if (state.failed) return ;
3318
3319 }
2920 3320
3321 }
3322 catch (RecognitionException re) {
3323 reportError(re);
3324 recover(input,re);
3325 }
3326 finally {
3327 }
3328 return ;
3329 }
3330 // $ANTLR end "entryRuleStringLiteral"
2921 3331
2922 // $ANTLR start "ruleAllObjects" 3332
2923 // InternalSolverLanguage.g:962:1: ruleAllObjects : ( ( rule__AllObjects__Group__0 ) ) ; 3333 // $ANTLR start "ruleStringLiteral"
2924 public final void ruleAllObjects() throws RecognitionException { 3334 // InternalSolverLanguage.g:988:1: ruleStringLiteral : ( ( rule__StringLiteral__ValueAssignment ) ) ;
3335 public final void ruleStringLiteral() throws RecognitionException {
2925 3336
2926 int stackSize = keepStackSize(); 3337 int stackSize = keepStackSize();
2927 3338
2928 try { 3339 try {
2929 // InternalSolverLanguage.g:966:2: ( ( ( rule__AllObjects__Group__0 ) ) ) 3340 // InternalSolverLanguage.g:992:2: ( ( ( rule__StringLiteral__ValueAssignment ) ) )
2930 // InternalSolverLanguage.g:967:2: ( ( rule__AllObjects__Group__0 ) ) 3341 // InternalSolverLanguage.g:993:2: ( ( rule__StringLiteral__ValueAssignment ) )
2931 { 3342 {
2932 // InternalSolverLanguage.g:967:2: ( ( rule__AllObjects__Group__0 ) ) 3343 // InternalSolverLanguage.g:993:2: ( ( rule__StringLiteral__ValueAssignment ) )
2933 // InternalSolverLanguage.g:968:3: ( rule__AllObjects__Group__0 ) 3344 // InternalSolverLanguage.g:994:3: ( rule__StringLiteral__ValueAssignment )
2934 { 3345 {
2935 before(grammarAccess.getAllObjectsAccess().getGroup()); 3346 if ( state.backtracking==0 ) {
2936 // InternalSolverLanguage.g:969:3: ( rule__AllObjects__Group__0 ) 3347 before(grammarAccess.getStringLiteralAccess().getValueAssignment());
2937 // InternalSolverLanguage.g:969:4: rule__AllObjects__Group__0 3348 }
3349 // InternalSolverLanguage.g:995:3: ( rule__StringLiteral__ValueAssignment )
3350 // InternalSolverLanguage.g:995:4: rule__StringLiteral__ValueAssignment
2938 { 3351 {
2939 pushFollow(FOLLOW_2); 3352 pushFollow(FOLLOW_2);
2940 rule__AllObjects__Group__0(); 3353 rule__StringLiteral__ValueAssignment();
2941 3354
2942 state._fsp--; 3355 state._fsp--;
3356 if (state.failed) return ;
2943 3357
3358 }
3359
3360 if ( state.backtracking==0 ) {
3361 after(grammarAccess.getStringLiteralAccess().getValueAssignment());
3362 }
2944 3363
2945 } 3364 }
2946 3365
2947 after(grammarAccess.getAllObjectsAccess().getGroup()); 3366
3367 }
3368
3369 }
3370 catch (RecognitionException re) {
3371 reportError(re);
3372 recover(input,re);
3373 }
3374 finally {
3375
3376 restoreStackSize(stackSize);
3377
3378 }
3379 return ;
3380 }
3381 // $ANTLR end "ruleStringLiteral"
3382
3383
3384 // $ANTLR start "entryRuleClassDefinition"
3385 // InternalSolverLanguage.g:1004:1: entryRuleClassDefinition : ruleClassDefinition EOF ;
3386 public final void entryRuleClassDefinition() throws RecognitionException {
3387 try {
3388 // InternalSolverLanguage.g:1005:1: ( ruleClassDefinition EOF )
3389 // InternalSolverLanguage.g:1006:1: ruleClassDefinition EOF
3390 {
3391 if ( state.backtracking==0 ) {
3392 before(grammarAccess.getClassDefinitionRule());
3393 }
3394 pushFollow(FOLLOW_1);
3395 ruleClassDefinition();
3396
3397 state._fsp--;
3398 if (state.failed) return ;
3399 if ( state.backtracking==0 ) {
3400 after(grammarAccess.getClassDefinitionRule());
3401 }
3402 match(input,EOF,FOLLOW_2); if (state.failed) return ;
3403
3404 }
3405
3406 }
3407 catch (RecognitionException re) {
3408 reportError(re);
3409 recover(input,re);
3410 }
3411 finally {
3412 }
3413 return ;
3414 }
3415 // $ANTLR end "entryRuleClassDefinition"
3416
3417
3418 // $ANTLR start "ruleClassDefinition"
3419 // InternalSolverLanguage.g:1013:1: ruleClassDefinition : ( ( rule__ClassDefinition__Group__0 ) ) ;
3420 public final void ruleClassDefinition() throws RecognitionException {
3421
3422 int stackSize = keepStackSize();
3423
3424 try {
3425 // InternalSolverLanguage.g:1017:2: ( ( ( rule__ClassDefinition__Group__0 ) ) )
3426 // InternalSolverLanguage.g:1018:2: ( ( rule__ClassDefinition__Group__0 ) )
3427 {
3428 // InternalSolverLanguage.g:1018:2: ( ( rule__ClassDefinition__Group__0 ) )
3429 // InternalSolverLanguage.g:1019:3: ( rule__ClassDefinition__Group__0 )
3430 {
3431 if ( state.backtracking==0 ) {
3432 before(grammarAccess.getClassDefinitionAccess().getGroup());
3433 }
3434 // InternalSolverLanguage.g:1020:3: ( rule__ClassDefinition__Group__0 )
3435 // InternalSolverLanguage.g:1020:4: rule__ClassDefinition__Group__0
3436 {
3437 pushFollow(FOLLOW_2);
3438 rule__ClassDefinition__Group__0();
3439
3440 state._fsp--;
3441 if (state.failed) return ;
3442
3443 }
3444
3445 if ( state.backtracking==0 ) {
3446 after(grammarAccess.getClassDefinitionAccess().getGroup());
3447 }
2948 3448
2949 } 3449 }
2950 3450
@@ -2963,24 +3463,76 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2963 } 3463 }
2964 return ; 3464 return ;
2965 } 3465 }
2966 // $ANTLR end "ruleAllObjects" 3466 // $ANTLR end "ruleClassDefinition"
2967 3467
2968 3468
2969 // $ANTLR start "entryRuleDefaultInterpretation" 3469 // $ANTLR start "entryRuleMemberDefinition"
2970 // InternalSolverLanguage.g:978:1: entryRuleDefaultInterpretation : ruleDefaultInterpretation EOF ; 3470 // InternalSolverLanguage.g:1029:1: entryRuleMemberDefinition : ruleMemberDefinition EOF ;
2971 public final void entryRuleDefaultInterpretation() throws RecognitionException { 3471 public final void entryRuleMemberDefinition() throws RecognitionException {
2972 try { 3472 try {
2973 // InternalSolverLanguage.g:979:1: ( ruleDefaultInterpretation EOF ) 3473 // InternalSolverLanguage.g:1030:1: ( ruleMemberDefinition EOF )
2974 // InternalSolverLanguage.g:980:1: ruleDefaultInterpretation EOF 3474 // InternalSolverLanguage.g:1031:1: ruleMemberDefinition EOF
2975 { 3475 {
2976 before(grammarAccess.getDefaultInterpretationRule()); 3476 if ( state.backtracking==0 ) {
3477 before(grammarAccess.getMemberDefinitionRule());
3478 }
2977 pushFollow(FOLLOW_1); 3479 pushFollow(FOLLOW_1);
2978 ruleDefaultInterpretation(); 3480 ruleMemberDefinition();
3481
3482 state._fsp--;
3483 if (state.failed) return ;
3484 if ( state.backtracking==0 ) {
3485 after(grammarAccess.getMemberDefinitionRule());
3486 }
3487 match(input,EOF,FOLLOW_2); if (state.failed) return ;
3488
3489 }
3490
3491 }
3492 catch (RecognitionException re) {
3493 reportError(re);
3494 recover(input,re);
3495 }
3496 finally {
3497 }
3498 return ;
3499 }
3500 // $ANTLR end "entryRuleMemberDefinition"
3501
3502
3503 // $ANTLR start "ruleMemberDefinition"
3504 // InternalSolverLanguage.g:1038:1: ruleMemberDefinition : ( ( rule__MemberDefinition__Group__0 ) ) ;
3505 public final void ruleMemberDefinition() throws RecognitionException {
3506
3507 int stackSize = keepStackSize();
3508
3509 try {
3510 // InternalSolverLanguage.g:1042:2: ( ( ( rule__MemberDefinition__Group__0 ) ) )
3511 // InternalSolverLanguage.g:1043:2: ( ( rule__MemberDefinition__Group__0 ) )
3512 {
3513 // InternalSolverLanguage.g:1043:2: ( ( rule__MemberDefinition__Group__0 ) )
3514 // InternalSolverLanguage.g:1044:3: ( rule__MemberDefinition__Group__0 )
3515 {
3516 if ( state.backtracking==0 ) {
3517 before(grammarAccess.getMemberDefinitionAccess().getGroup());
3518 }
3519 // InternalSolverLanguage.g:1045:3: ( rule__MemberDefinition__Group__0 )
3520 // InternalSolverLanguage.g:1045:4: rule__MemberDefinition__Group__0
3521 {
3522 pushFollow(FOLLOW_2);
3523 rule__MemberDefinition__Group__0();
2979 3524
2980 state._fsp--; 3525 state._fsp--;
3526 if (state.failed) return ;
3527
3528 }
3529
3530 if ( state.backtracking==0 ) {
3531 after(grammarAccess.getMemberDefinitionAccess().getGroup());
3532 }
3533
3534 }
2981 3535
2982 after(grammarAccess.getDefaultInterpretationRule());
2983 match(input,EOF,FOLLOW_2);
2984 3536
2985 } 3537 }
2986 3538
@@ -2990,38 +3542,164 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
2990 recover(input,re); 3542 recover(input,re);
2991 } 3543 }
2992 finally { 3544 finally {
3545
3546 restoreStackSize(stackSize);
3547
2993 } 3548 }
2994 return ; 3549 return ;
2995 } 3550 }
2996 // $ANTLR end "entryRuleDefaultInterpretation" 3551 // $ANTLR end "ruleMemberDefinition"
2997 3552
2998 3553
2999 // $ANTLR start "ruleDefaultInterpretation" 3554 // $ANTLR start "entryRuleMultiplicity"
3000 // InternalSolverLanguage.g:987:1: ruleDefaultInterpretation : ( ( rule__DefaultInterpretation__Group__0 ) ) ; 3555 // InternalSolverLanguage.g:1054:1: entryRuleMultiplicity : ruleMultiplicity EOF ;
3001 public final void ruleDefaultInterpretation() throws RecognitionException { 3556 public final void entryRuleMultiplicity() throws RecognitionException {
3557 try {
3558 // InternalSolverLanguage.g:1055:1: ( ruleMultiplicity EOF )
3559 // InternalSolverLanguage.g:1056:1: ruleMultiplicity EOF
3560 {
3561 if ( state.backtracking==0 ) {
3562 before(grammarAccess.getMultiplicityRule());
3563 }
3564 pushFollow(FOLLOW_1);
3565 ruleMultiplicity();
3566
3567 state._fsp--;
3568 if (state.failed) return ;
3569 if ( state.backtracking==0 ) {
3570 after(grammarAccess.getMultiplicityRule());
3571 }
3572 match(input,EOF,FOLLOW_2); if (state.failed) return ;
3573
3574 }
3575
3576 }
3577 catch (RecognitionException re) {
3578 reportError(re);
3579 recover(input,re);
3580 }
3581 finally {
3582 }
3583 return ;
3584 }
3585 // $ANTLR end "entryRuleMultiplicity"
3586
3587
3588 // $ANTLR start "ruleMultiplicity"
3589 // InternalSolverLanguage.g:1063:1: ruleMultiplicity : ( ( rule__Multiplicity__Alternatives ) ) ;
3590 public final void ruleMultiplicity() throws RecognitionException {
3002 3591
3003 int stackSize = keepStackSize(); 3592 int stackSize = keepStackSize();
3004 3593
3005 try { 3594 try {
3006 // InternalSolverLanguage.g:991:2: ( ( ( rule__DefaultInterpretation__Group__0 ) ) ) 3595 // InternalSolverLanguage.g:1067:2: ( ( ( rule__Multiplicity__Alternatives ) ) )
3007 // InternalSolverLanguage.g:992:2: ( ( rule__DefaultInterpretation__Group__0 ) ) 3596 // InternalSolverLanguage.g:1068:2: ( ( rule__Multiplicity__Alternatives ) )
3008 { 3597 {
3009 // InternalSolverLanguage.g:992:2: ( ( rule__DefaultInterpretation__Group__0 ) ) 3598 // InternalSolverLanguage.g:1068:2: ( ( rule__Multiplicity__Alternatives ) )
3010 // InternalSolverLanguage.g:993:3: ( rule__DefaultInterpretation__Group__0 ) 3599 // InternalSolverLanguage.g:1069:3: ( rule__Multiplicity__Alternatives )
3011 { 3600 {
3012 before(grammarAccess.getDefaultInterpretationAccess().getGroup()); 3601 if ( state.backtracking==0 ) {
3013 // InternalSolverLanguage.g:994:3: ( rule__DefaultInterpretation__Group__0 ) 3602 before(grammarAccess.getMultiplicityAccess().getAlternatives());
3014 // InternalSolverLanguage.g:994:4: rule__DefaultInterpretation__Group__0 3603 }
3604 // InternalSolverLanguage.g:1070:3: ( rule__Multiplicity__Alternatives )
3605 // InternalSolverLanguage.g:1070:4: rule__Multiplicity__Alternatives
3015 { 3606 {
3016 pushFollow(FOLLOW_2); 3607 pushFollow(FOLLOW_2);
3017 rule__DefaultInterpretation__Group__0(); 3608 rule__Multiplicity__Alternatives();
3609
3610 state._fsp--;
3611 if (state.failed) return ;
3612
3613 }
3614
3615 if ( state.backtracking==0 ) {
3616 after(grammarAccess.getMultiplicityAccess().getAlternatives());
3617 }
3618
3619 }
3620
3621
3622 }
3623
3624 }
3625 catch (RecognitionException re) {
3626 reportError(re);
3627 recover(input,re);
3628 }
3629 finally {
3630
3631 restoreStackSize(stackSize);
3632
3633 }
3634 return ;
3635 }
3636 // $ANTLR end "ruleMultiplicity"
3637
3638
3639 // $ANTLR start "entryRuleManyMultiplicity"
3640 // InternalSolverLanguage.g:1079:1: entryRuleManyMultiplicity : ruleManyMultiplicity EOF ;
3641 public final void entryRuleManyMultiplicity() throws RecognitionException {
3642 try {
3643 // InternalSolverLanguage.g:1080:1: ( ruleManyMultiplicity EOF )
3644 // InternalSolverLanguage.g:1081:1: ruleManyMultiplicity EOF
3645 {
3646 if ( state.backtracking==0 ) {
3647 before(grammarAccess.getManyMultiplicityRule());
3648 }
3649 pushFollow(FOLLOW_1);
3650 ruleManyMultiplicity();
3018 3651
3019 state._fsp--; 3652 state._fsp--;
3653 if (state.failed) return ;
3654 if ( state.backtracking==0 ) {
3655 after(grammarAccess.getManyMultiplicityRule());
3656 }
3657 match(input,EOF,FOLLOW_2); if (state.failed) return ;
3658
3659 }
3020 3660
3661 }
3662 catch (RecognitionException re) {
3663 reportError(re);
3664 recover(input,re);
3665 }
3666 finally {
3667 }
3668 return ;
3669 }
3670 // $ANTLR end "entryRuleManyMultiplicity"
3021 3671
3672
3673 // $ANTLR start "ruleManyMultiplicity"
3674 // InternalSolverLanguage.g:1088:1: ruleManyMultiplicity : ( ( rule__ManyMultiplicity__Group__0 ) ) ;
3675 public final void ruleManyMultiplicity() throws RecognitionException {
3676
3677 int stackSize = keepStackSize();
3678
3679 try {
3680 // InternalSolverLanguage.g:1092:2: ( ( ( rule__ManyMultiplicity__Group__0 ) ) )
3681 // InternalSolverLanguage.g:1093:2: ( ( rule__ManyMultiplicity__Group__0 ) )
3682 {
3683 // InternalSolverLanguage.g:1093:2: ( ( rule__ManyMultiplicity__Group__0 ) )
3684 // InternalSolverLanguage.g:1094:3: ( rule__ManyMultiplicity__Group__0 )
3685 {
3686 if ( state.backtracking==0 ) {
3687 before(grammarAccess.getManyMultiplicityAccess().getGroup());
3022 } 3688 }
3689 // InternalSolverLanguage.g:1095:3: ( rule__ManyMultiplicity__Group__0 )
3690 // InternalSolverLanguage.g:1095:4: rule__ManyMultiplicity__Group__0
3691 {
3692 pushFollow(FOLLOW_2);
3693 rule__ManyMultiplicity__Group__0();
3023 3694
3024 after(grammarAccess.getDefaultInterpretationAccess().getGroup()); 3695 state._fsp--;
3696 if (state.failed) return ;
3697
3698 }
3699
3700 if ( state.backtracking==0 ) {
3701 after(grammarAccess.getManyMultiplicityAccess().getGroup());
3702 }
3025 3703
3026 } 3704 }
3027 3705
@@ -3040,24 +3718,113 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3040 } 3718 }
3041 return ; 3719 return ;
3042 } 3720 }
3043 // $ANTLR end "ruleDefaultInterpretation" 3721 // $ANTLR end "ruleManyMultiplicity"
3044 3722
3045 3723
3046 // $ANTLR start "entryRuleCDInterpretation" 3724 // $ANTLR start "entryRuleExactMultiplicity"
3047 // InternalSolverLanguage.g:1003:1: entryRuleCDInterpretation : ruleCDInterpretation EOF ; 3725 // InternalSolverLanguage.g:1104:1: entryRuleExactMultiplicity : ruleExactMultiplicity EOF ;
3048 public final void entryRuleCDInterpretation() throws RecognitionException { 3726 public final void entryRuleExactMultiplicity() throws RecognitionException {
3049 try { 3727 try {
3050 // InternalSolverLanguage.g:1004:1: ( ruleCDInterpretation EOF ) 3728 // InternalSolverLanguage.g:1105:1: ( ruleExactMultiplicity EOF )
3051 // InternalSolverLanguage.g:1005:1: ruleCDInterpretation EOF 3729 // InternalSolverLanguage.g:1106:1: ruleExactMultiplicity EOF
3052 { 3730 {
3053 before(grammarAccess.getCDInterpretationRule()); 3731 if ( state.backtracking==0 ) {
3732 before(grammarAccess.getExactMultiplicityRule());
3733 }
3054 pushFollow(FOLLOW_1); 3734 pushFollow(FOLLOW_1);
3055 ruleCDInterpretation(); 3735 ruleExactMultiplicity();
3736
3737 state._fsp--;
3738 if (state.failed) return ;
3739 if ( state.backtracking==0 ) {
3740 after(grammarAccess.getExactMultiplicityRule());
3741 }
3742 match(input,EOF,FOLLOW_2); if (state.failed) return ;
3743
3744 }
3745
3746 }
3747 catch (RecognitionException re) {
3748 reportError(re);
3749 recover(input,re);
3750 }
3751 finally {
3752 }
3753 return ;
3754 }
3755 // $ANTLR end "entryRuleExactMultiplicity"
3756
3757
3758 // $ANTLR start "ruleExactMultiplicity"
3759 // InternalSolverLanguage.g:1113:1: ruleExactMultiplicity : ( ( rule__ExactMultiplicity__Group__0 ) ) ;
3760 public final void ruleExactMultiplicity() throws RecognitionException {
3761
3762 int stackSize = keepStackSize();
3763
3764 try {
3765 // InternalSolverLanguage.g:1117:2: ( ( ( rule__ExactMultiplicity__Group__0 ) ) )
3766 // InternalSolverLanguage.g:1118:2: ( ( rule__ExactMultiplicity__Group__0 ) )
3767 {
3768 // InternalSolverLanguage.g:1118:2: ( ( rule__ExactMultiplicity__Group__0 ) )
3769 // InternalSolverLanguage.g:1119:3: ( rule__ExactMultiplicity__Group__0 )
3770 {
3771 if ( state.backtracking==0 ) {
3772 before(grammarAccess.getExactMultiplicityAccess().getGroup());
3773 }
3774 // InternalSolverLanguage.g:1120:3: ( rule__ExactMultiplicity__Group__0 )
3775 // InternalSolverLanguage.g:1120:4: rule__ExactMultiplicity__Group__0
3776 {
3777 pushFollow(FOLLOW_2);
3778 rule__ExactMultiplicity__Group__0();
3056 3779
3057 state._fsp--; 3780 state._fsp--;
3781 if (state.failed) return ;
3782
3783 }
3784
3785 if ( state.backtracking==0 ) {
3786 after(grammarAccess.getExactMultiplicityAccess().getGroup());
3787 }
3788
3789 }
3790
3791
3792 }
3793
3794 }
3795 catch (RecognitionException re) {
3796 reportError(re);
3797 recover(input,re);
3798 }
3799 finally {
3800
3801 restoreStackSize(stackSize);
3802
3803 }
3804 return ;
3805 }
3806 // $ANTLR end "ruleExactMultiplicity"
3058 3807
3059 after(grammarAccess.getCDInterpretationRule()); 3808
3060 match(input,EOF,FOLLOW_2); 3809 // $ANTLR start "entryRuleBoundedMultiplicity"
3810 // InternalSolverLanguage.g:1129:1: entryRuleBoundedMultiplicity : ruleBoundedMultiplicity EOF ;
3811 public final void entryRuleBoundedMultiplicity() throws RecognitionException {
3812 try {
3813 // InternalSolverLanguage.g:1130:1: ( ruleBoundedMultiplicity EOF )
3814 // InternalSolverLanguage.g:1131:1: ruleBoundedMultiplicity EOF
3815 {
3816 if ( state.backtracking==0 ) {
3817 before(grammarAccess.getBoundedMultiplicityRule());
3818 }
3819 pushFollow(FOLLOW_1);
3820 ruleBoundedMultiplicity();
3821
3822 state._fsp--;
3823 if (state.failed) return ;
3824 if ( state.backtracking==0 ) {
3825 after(grammarAccess.getBoundedMultiplicityRule());
3826 }
3827 match(input,EOF,FOLLOW_2); if (state.failed) return ;
3061 3828
3062 } 3829 }
3063 3830
@@ -3070,35 +3837,124 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3070 } 3837 }
3071 return ; 3838 return ;
3072 } 3839 }
3073 // $ANTLR end "entryRuleCDInterpretation" 3840 // $ANTLR end "entryRuleBoundedMultiplicity"
3074 3841
3075 3842
3076 // $ANTLR start "ruleCDInterpretation" 3843 // $ANTLR start "ruleBoundedMultiplicity"
3077 // InternalSolverLanguage.g:1012:1: ruleCDInterpretation : ( ( rule__CDInterpretation__Alternatives ) ) ; 3844 // InternalSolverLanguage.g:1138:1: ruleBoundedMultiplicity : ( ( rule__BoundedMultiplicity__Group__0 ) ) ;
3078 public final void ruleCDInterpretation() throws RecognitionException { 3845 public final void ruleBoundedMultiplicity() throws RecognitionException {
3079 3846
3080 int stackSize = keepStackSize(); 3847 int stackSize = keepStackSize();
3081 3848
3082 try { 3849 try {
3083 // InternalSolverLanguage.g:1016:2: ( ( ( rule__CDInterpretation__Alternatives ) ) ) 3850 // InternalSolverLanguage.g:1142:2: ( ( ( rule__BoundedMultiplicity__Group__0 ) ) )
3084 // InternalSolverLanguage.g:1017:2: ( ( rule__CDInterpretation__Alternatives ) ) 3851 // InternalSolverLanguage.g:1143:2: ( ( rule__BoundedMultiplicity__Group__0 ) )
3085 { 3852 {
3086 // InternalSolverLanguage.g:1017:2: ( ( rule__CDInterpretation__Alternatives ) ) 3853 // InternalSolverLanguage.g:1143:2: ( ( rule__BoundedMultiplicity__Group__0 ) )
3087 // InternalSolverLanguage.g:1018:3: ( rule__CDInterpretation__Alternatives ) 3854 // InternalSolverLanguage.g:1144:3: ( rule__BoundedMultiplicity__Group__0 )
3088 { 3855 {
3089 before(grammarAccess.getCDInterpretationAccess().getAlternatives()); 3856 if ( state.backtracking==0 ) {
3090 // InternalSolverLanguage.g:1019:3: ( rule__CDInterpretation__Alternatives ) 3857 before(grammarAccess.getBoundedMultiplicityAccess().getGroup());
3091 // InternalSolverLanguage.g:1019:4: rule__CDInterpretation__Alternatives 3858 }
3859 // InternalSolverLanguage.g:1145:3: ( rule__BoundedMultiplicity__Group__0 )
3860 // InternalSolverLanguage.g:1145:4: rule__BoundedMultiplicity__Group__0
3092 { 3861 {
3093 pushFollow(FOLLOW_2); 3862 pushFollow(FOLLOW_2);
3094 rule__CDInterpretation__Alternatives(); 3863 rule__BoundedMultiplicity__Group__0();
3864
3865 state._fsp--;
3866 if (state.failed) return ;
3867
3868 }
3869
3870 if ( state.backtracking==0 ) {
3871 after(grammarAccess.getBoundedMultiplicityAccess().getGroup());
3872 }
3873
3874 }
3875
3876
3877 }
3878
3879 }
3880 catch (RecognitionException re) {
3881 reportError(re);
3882 recover(input,re);
3883 }
3884 finally {
3885
3886 restoreStackSize(stackSize);
3887
3888 }
3889 return ;
3890 }
3891 // $ANTLR end "ruleBoundedMultiplicity"
3892
3893
3894 // $ANTLR start "entryRuleScopeDefinition"
3895 // InternalSolverLanguage.g:1154:1: entryRuleScopeDefinition : ruleScopeDefinition EOF ;
3896 public final void entryRuleScopeDefinition() throws RecognitionException {
3897 try {
3898 // InternalSolverLanguage.g:1155:1: ( ruleScopeDefinition EOF )
3899 // InternalSolverLanguage.g:1156:1: ruleScopeDefinition EOF
3900 {
3901 if ( state.backtracking==0 ) {
3902 before(grammarAccess.getScopeDefinitionRule());
3903 }
3904 pushFollow(FOLLOW_1);
3905 ruleScopeDefinition();
3095 3906
3096 state._fsp--; 3907 state._fsp--;
3908 if (state.failed) return ;
3909 if ( state.backtracking==0 ) {
3910 after(grammarAccess.getScopeDefinitionRule());
3911 }
3912 match(input,EOF,FOLLOW_2); if (state.failed) return ;
3913
3914 }
3097 3915
3916 }
3917 catch (RecognitionException re) {
3918 reportError(re);
3919 recover(input,re);
3920 }
3921 finally {
3922 }
3923 return ;
3924 }
3925 // $ANTLR end "entryRuleScopeDefinition"
3098 3926
3927
3928 // $ANTLR start "ruleScopeDefinition"
3929 // InternalSolverLanguage.g:1163:1: ruleScopeDefinition : ( ( rule__ScopeDefinition__Alternatives ) ) ;
3930 public final void ruleScopeDefinition() throws RecognitionException {
3931
3932 int stackSize = keepStackSize();
3933
3934 try {
3935 // InternalSolverLanguage.g:1167:2: ( ( ( rule__ScopeDefinition__Alternatives ) ) )
3936 // InternalSolverLanguage.g:1168:2: ( ( rule__ScopeDefinition__Alternatives ) )
3937 {
3938 // InternalSolverLanguage.g:1168:2: ( ( rule__ScopeDefinition__Alternatives ) )
3939 // InternalSolverLanguage.g:1169:3: ( rule__ScopeDefinition__Alternatives )
3940 {
3941 if ( state.backtracking==0 ) {
3942 before(grammarAccess.getScopeDefinitionAccess().getAlternatives());
3099 } 3943 }
3944 // InternalSolverLanguage.g:1170:3: ( rule__ScopeDefinition__Alternatives )
3945 // InternalSolverLanguage.g:1170:4: rule__ScopeDefinition__Alternatives
3946 {
3947 pushFollow(FOLLOW_2);
3948 rule__ScopeDefinition__Alternatives();
3100 3949
3101 after(grammarAccess.getCDInterpretationAccess().getAlternatives()); 3950 state._fsp--;
3951 if (state.failed) return ;
3952
3953 }
3954
3955 if ( state.backtracking==0 ) {
3956 after(grammarAccess.getScopeDefinitionAccess().getAlternatives());
3957 }
3102 3958
3103 } 3959 }
3104 3960
@@ -3117,24 +3973,76 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3117 } 3973 }
3118 return ; 3974 return ;
3119 } 3975 }
3120 // $ANTLR end "ruleCDInterpretation" 3976 // $ANTLR end "ruleScopeDefinition"
3121 3977
3122 3978
3123 // $ANTLR start "entryRuleClassInterpretation" 3979 // $ANTLR start "entryRuleExactScopeDefinition"
3124 // InternalSolverLanguage.g:1028:1: entryRuleClassInterpretation : ruleClassInterpretation EOF ; 3980 // InternalSolverLanguage.g:1179:1: entryRuleExactScopeDefinition : ruleExactScopeDefinition EOF ;
3125 public final void entryRuleClassInterpretation() throws RecognitionException { 3981 public final void entryRuleExactScopeDefinition() throws RecognitionException {
3126 try { 3982 try {
3127 // InternalSolverLanguage.g:1029:1: ( ruleClassInterpretation EOF ) 3983 // InternalSolverLanguage.g:1180:1: ( ruleExactScopeDefinition EOF )
3128 // InternalSolverLanguage.g:1030:1: ruleClassInterpretation EOF 3984 // InternalSolverLanguage.g:1181:1: ruleExactScopeDefinition EOF
3129 { 3985 {
3130 before(grammarAccess.getClassInterpretationRule()); 3986 if ( state.backtracking==0 ) {
3987 before(grammarAccess.getExactScopeDefinitionRule());
3988 }
3131 pushFollow(FOLLOW_1); 3989 pushFollow(FOLLOW_1);
3132 ruleClassInterpretation(); 3990 ruleExactScopeDefinition();
3133 3991
3134 state._fsp--; 3992 state._fsp--;
3993 if (state.failed) return ;
3994 if ( state.backtracking==0 ) {
3995 after(grammarAccess.getExactScopeDefinitionRule());
3996 }
3997 match(input,EOF,FOLLOW_2); if (state.failed) return ;
3998
3999 }
4000
4001 }
4002 catch (RecognitionException re) {
4003 reportError(re);
4004 recover(input,re);
4005 }
4006 finally {
4007 }
4008 return ;
4009 }
4010 // $ANTLR end "entryRuleExactScopeDefinition"
4011
4012
4013 // $ANTLR start "ruleExactScopeDefinition"
4014 // InternalSolverLanguage.g:1188:1: ruleExactScopeDefinition : ( ( rule__ExactScopeDefinition__Group__0 ) ) ;
4015 public final void ruleExactScopeDefinition() throws RecognitionException {
4016
4017 int stackSize = keepStackSize();
4018
4019 try {
4020 // InternalSolverLanguage.g:1192:2: ( ( ( rule__ExactScopeDefinition__Group__0 ) ) )
4021 // InternalSolverLanguage.g:1193:2: ( ( rule__ExactScopeDefinition__Group__0 ) )
4022 {
4023 // InternalSolverLanguage.g:1193:2: ( ( rule__ExactScopeDefinition__Group__0 ) )
4024 // InternalSolverLanguage.g:1194:3: ( rule__ExactScopeDefinition__Group__0 )
4025 {
4026 if ( state.backtracking==0 ) {
4027 before(grammarAccess.getExactScopeDefinitionAccess().getGroup());
4028 }
4029 // InternalSolverLanguage.g:1195:3: ( rule__ExactScopeDefinition__Group__0 )
4030 // InternalSolverLanguage.g:1195:4: rule__ExactScopeDefinition__Group__0
4031 {
4032 pushFollow(FOLLOW_2);
4033 rule__ExactScopeDefinition__Group__0();
4034
4035 state._fsp--;
4036 if (state.failed) return ;
4037
4038 }
4039
4040 if ( state.backtracking==0 ) {
4041 after(grammarAccess.getExactScopeDefinitionAccess().getGroup());
4042 }
4043
4044 }
3135 4045
3136 after(grammarAccess.getClassInterpretationRule());
3137 match(input,EOF,FOLLOW_2);
3138 4046
3139 } 4047 }
3140 4048
@@ -3144,38 +4052,164 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3144 recover(input,re); 4052 recover(input,re);
3145 } 4053 }
3146 finally { 4054 finally {
4055
4056 restoreStackSize(stackSize);
4057
3147 } 4058 }
3148 return ; 4059 return ;
3149 } 4060 }
3150 // $ANTLR end "entryRuleClassInterpretation" 4061 // $ANTLR end "ruleExactScopeDefinition"
4062
4063
4064 // $ANTLR start "entryRuleBoundedScopeDefinition"
4065 // InternalSolverLanguage.g:1204:1: entryRuleBoundedScopeDefinition : ruleBoundedScopeDefinition EOF ;
4066 public final void entryRuleBoundedScopeDefinition() throws RecognitionException {
4067 try {
4068 // InternalSolverLanguage.g:1205:1: ( ruleBoundedScopeDefinition EOF )
4069 // InternalSolverLanguage.g:1206:1: ruleBoundedScopeDefinition EOF
4070 {
4071 if ( state.backtracking==0 ) {
4072 before(grammarAccess.getBoundedScopeDefinitionRule());
4073 }
4074 pushFollow(FOLLOW_1);
4075 ruleBoundedScopeDefinition();
3151 4076
4077 state._fsp--;
4078 if (state.failed) return ;
4079 if ( state.backtracking==0 ) {
4080 after(grammarAccess.getBoundedScopeDefinitionRule());
4081 }
4082 match(input,EOF,FOLLOW_2); if (state.failed) return ;
3152 4083
3153 // $ANTLR start "ruleClassInterpretation" 4084 }
3154 // InternalSolverLanguage.g:1037:1: ruleClassInterpretation : ( ( rule__ClassInterpretation__Group__0 ) ) ; 4085
3155 public final void ruleClassInterpretation() throws RecognitionException { 4086 }
4087 catch (RecognitionException re) {
4088 reportError(re);
4089 recover(input,re);
4090 }
4091 finally {
4092 }
4093 return ;
4094 }
4095 // $ANTLR end "entryRuleBoundedScopeDefinition"
4096
4097
4098 // $ANTLR start "ruleBoundedScopeDefinition"
4099 // InternalSolverLanguage.g:1213:1: ruleBoundedScopeDefinition : ( ( rule__BoundedScopeDefinition__Group__0 ) ) ;
4100 public final void ruleBoundedScopeDefinition() throws RecognitionException {
3156 4101
3157 int stackSize = keepStackSize(); 4102 int stackSize = keepStackSize();
3158 4103
3159 try { 4104 try {
3160 // InternalSolverLanguage.g:1041:2: ( ( ( rule__ClassInterpretation__Group__0 ) ) ) 4105 // InternalSolverLanguage.g:1217:2: ( ( ( rule__BoundedScopeDefinition__Group__0 ) ) )
3161 // InternalSolverLanguage.g:1042:2: ( ( rule__ClassInterpretation__Group__0 ) ) 4106 // InternalSolverLanguage.g:1218:2: ( ( rule__BoundedScopeDefinition__Group__0 ) )
3162 { 4107 {
3163 // InternalSolverLanguage.g:1042:2: ( ( rule__ClassInterpretation__Group__0 ) ) 4108 // InternalSolverLanguage.g:1218:2: ( ( rule__BoundedScopeDefinition__Group__0 ) )
3164 // InternalSolverLanguage.g:1043:3: ( rule__ClassInterpretation__Group__0 ) 4109 // InternalSolverLanguage.g:1219:3: ( rule__BoundedScopeDefinition__Group__0 )
3165 { 4110 {
3166 before(grammarAccess.getClassInterpretationAccess().getGroup()); 4111 if ( state.backtracking==0 ) {
3167 // InternalSolverLanguage.g:1044:3: ( rule__ClassInterpretation__Group__0 ) 4112 before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup());
3168 // InternalSolverLanguage.g:1044:4: rule__ClassInterpretation__Group__0 4113 }
4114 // InternalSolverLanguage.g:1220:3: ( rule__BoundedScopeDefinition__Group__0 )
4115 // InternalSolverLanguage.g:1220:4: rule__BoundedScopeDefinition__Group__0
3169 { 4116 {
3170 pushFollow(FOLLOW_2); 4117 pushFollow(FOLLOW_2);
3171 rule__ClassInterpretation__Group__0(); 4118 rule__BoundedScopeDefinition__Group__0();
3172 4119
3173 state._fsp--; 4120 state._fsp--;
4121 if (state.failed) return ;
4122
4123 }
4124
4125 if ( state.backtracking==0 ) {
4126 after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup());
4127 }
4128
4129 }
3174 4130
3175 4131
3176 } 4132 }
3177 4133
3178 after(grammarAccess.getClassInterpretationAccess().getGroup()); 4134 }
4135 catch (RecognitionException re) {
4136 reportError(re);
4137 recover(input,re);
4138 }
4139 finally {
4140
4141 restoreStackSize(stackSize);
4142
4143 }
4144 return ;
4145 }
4146 // $ANTLR end "ruleBoundedScopeDefinition"
4147
4148
4149 // $ANTLR start "entryRuleLowerBoundedScopeDefinition"
4150 // InternalSolverLanguage.g:1229:1: entryRuleLowerBoundedScopeDefinition : ruleLowerBoundedScopeDefinition EOF ;
4151 public final void entryRuleLowerBoundedScopeDefinition() throws RecognitionException {
4152 try {
4153 // InternalSolverLanguage.g:1230:1: ( ruleLowerBoundedScopeDefinition EOF )
4154 // InternalSolverLanguage.g:1231:1: ruleLowerBoundedScopeDefinition EOF
4155 {
4156 if ( state.backtracking==0 ) {
4157 before(grammarAccess.getLowerBoundedScopeDefinitionRule());
4158 }
4159 pushFollow(FOLLOW_1);
4160 ruleLowerBoundedScopeDefinition();
4161
4162 state._fsp--;
4163 if (state.failed) return ;
4164 if ( state.backtracking==0 ) {
4165 after(grammarAccess.getLowerBoundedScopeDefinitionRule());
4166 }
4167 match(input,EOF,FOLLOW_2); if (state.failed) return ;
4168
4169 }
4170
4171 }
4172 catch (RecognitionException re) {
4173 reportError(re);
4174 recover(input,re);
4175 }
4176 finally {
4177 }
4178 return ;
4179 }
4180 // $ANTLR end "entryRuleLowerBoundedScopeDefinition"
4181
4182
4183 // $ANTLR start "ruleLowerBoundedScopeDefinition"
4184 // InternalSolverLanguage.g:1238:1: ruleLowerBoundedScopeDefinition : ( ( rule__LowerBoundedScopeDefinition__Group__0 ) ) ;
4185 public final void ruleLowerBoundedScopeDefinition() throws RecognitionException {
4186
4187 int stackSize = keepStackSize();
4188
4189 try {
4190 // InternalSolverLanguage.g:1242:2: ( ( ( rule__LowerBoundedScopeDefinition__Group__0 ) ) )
4191 // InternalSolverLanguage.g:1243:2: ( ( rule__LowerBoundedScopeDefinition__Group__0 ) )
4192 {
4193 // InternalSolverLanguage.g:1243:2: ( ( rule__LowerBoundedScopeDefinition__Group__0 ) )
4194 // InternalSolverLanguage.g:1244:3: ( rule__LowerBoundedScopeDefinition__Group__0 )
4195 {
4196 if ( state.backtracking==0 ) {
4197 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup());
4198 }
4199 // InternalSolverLanguage.g:1245:3: ( rule__LowerBoundedScopeDefinition__Group__0 )
4200 // InternalSolverLanguage.g:1245:4: rule__LowerBoundedScopeDefinition__Group__0
4201 {
4202 pushFollow(FOLLOW_2);
4203 rule__LowerBoundedScopeDefinition__Group__0();
4204
4205 state._fsp--;
4206 if (state.failed) return ;
4207
4208 }
4209
4210 if ( state.backtracking==0 ) {
4211 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup());
4212 }
3179 4213
3180 } 4214 }
3181 4215
@@ -3194,24 +4228,113 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3194 } 4228 }
3195 return ; 4229 return ;
3196 } 4230 }
3197 // $ANTLR end "ruleClassInterpretation" 4231 // $ANTLR end "ruleLowerBoundedScopeDefinition"
3198 4232
3199 4233
3200 // $ANTLR start "entryRuleEnumInterpretation" 4234 // $ANTLR start "entryRuleObjectiveDefinition"
3201 // InternalSolverLanguage.g:1053:1: entryRuleEnumInterpretation : ruleEnumInterpretation EOF ; 4235 // InternalSolverLanguage.g:1254:1: entryRuleObjectiveDefinition : ruleObjectiveDefinition EOF ;
3202 public final void entryRuleEnumInterpretation() throws RecognitionException { 4236 public final void entryRuleObjectiveDefinition() throws RecognitionException {
3203 try { 4237 try {
3204 // InternalSolverLanguage.g:1054:1: ( ruleEnumInterpretation EOF ) 4238 // InternalSolverLanguage.g:1255:1: ( ruleObjectiveDefinition EOF )
3205 // InternalSolverLanguage.g:1055:1: ruleEnumInterpretation EOF 4239 // InternalSolverLanguage.g:1256:1: ruleObjectiveDefinition EOF
3206 { 4240 {
3207 before(grammarAccess.getEnumInterpretationRule()); 4241 if ( state.backtracking==0 ) {
4242 before(grammarAccess.getObjectiveDefinitionRule());
4243 }
3208 pushFollow(FOLLOW_1); 4244 pushFollow(FOLLOW_1);
3209 ruleEnumInterpretation(); 4245 ruleObjectiveDefinition();
4246
4247 state._fsp--;
4248 if (state.failed) return ;
4249 if ( state.backtracking==0 ) {
4250 after(grammarAccess.getObjectiveDefinitionRule());
4251 }
4252 match(input,EOF,FOLLOW_2); if (state.failed) return ;
4253
4254 }
4255
4256 }
4257 catch (RecognitionException re) {
4258 reportError(re);
4259 recover(input,re);
4260 }
4261 finally {
4262 }
4263 return ;
4264 }
4265 // $ANTLR end "entryRuleObjectiveDefinition"
4266
4267
4268 // $ANTLR start "ruleObjectiveDefinition"
4269 // InternalSolverLanguage.g:1263:1: ruleObjectiveDefinition : ( ( rule__ObjectiveDefinition__Group__0 ) ) ;
4270 public final void ruleObjectiveDefinition() throws RecognitionException {
4271
4272 int stackSize = keepStackSize();
4273
4274 try {
4275 // InternalSolverLanguage.g:1267:2: ( ( ( rule__ObjectiveDefinition__Group__0 ) ) )
4276 // InternalSolverLanguage.g:1268:2: ( ( rule__ObjectiveDefinition__Group__0 ) )
4277 {
4278 // InternalSolverLanguage.g:1268:2: ( ( rule__ObjectiveDefinition__Group__0 ) )
4279 // InternalSolverLanguage.g:1269:3: ( rule__ObjectiveDefinition__Group__0 )
4280 {
4281 if ( state.backtracking==0 ) {
4282 before(grammarAccess.getObjectiveDefinitionAccess().getGroup());
4283 }
4284 // InternalSolverLanguage.g:1270:3: ( rule__ObjectiveDefinition__Group__0 )
4285 // InternalSolverLanguage.g:1270:4: rule__ObjectiveDefinition__Group__0
4286 {
4287 pushFollow(FOLLOW_2);
4288 rule__ObjectiveDefinition__Group__0();
3210 4289
3211 state._fsp--; 4290 state._fsp--;
4291 if (state.failed) return ;
4292
4293 }
4294
4295 if ( state.backtracking==0 ) {
4296 after(grammarAccess.getObjectiveDefinitionAccess().getGroup());
4297 }
4298
4299 }
3212 4300
3213 after(grammarAccess.getEnumInterpretationRule()); 4301
3214 match(input,EOF,FOLLOW_2); 4302 }
4303
4304 }
4305 catch (RecognitionException re) {
4306 reportError(re);
4307 recover(input,re);
4308 }
4309 finally {
4310
4311 restoreStackSize(stackSize);
4312
4313 }
4314 return ;
4315 }
4316 // $ANTLR end "ruleObjectiveDefinition"
4317
4318
4319 // $ANTLR start "entryRuleUpperMultiplicty"
4320 // InternalSolverLanguage.g:1279:1: entryRuleUpperMultiplicty : ruleUpperMultiplicty EOF ;
4321 public final void entryRuleUpperMultiplicty() throws RecognitionException {
4322 try {
4323 // InternalSolverLanguage.g:1280:1: ( ruleUpperMultiplicty EOF )
4324 // InternalSolverLanguage.g:1281:1: ruleUpperMultiplicty EOF
4325 {
4326 if ( state.backtracking==0 ) {
4327 before(grammarAccess.getUpperMultiplictyRule());
4328 }
4329 pushFollow(FOLLOW_1);
4330 ruleUpperMultiplicty();
4331
4332 state._fsp--;
4333 if (state.failed) return ;
4334 if ( state.backtracking==0 ) {
4335 after(grammarAccess.getUpperMultiplictyRule());
4336 }
4337 match(input,EOF,FOLLOW_2); if (state.failed) return ;
3215 4338
3216 } 4339 }
3217 4340
@@ -3224,35 +4347,131 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3224 } 4347 }
3225 return ; 4348 return ;
3226 } 4349 }
3227 // $ANTLR end "entryRuleEnumInterpretation" 4350 // $ANTLR end "entryRuleUpperMultiplicty"
3228 4351
3229 4352
3230 // $ANTLR start "ruleEnumInterpretation" 4353 // $ANTLR start "ruleUpperMultiplicty"
3231 // InternalSolverLanguage.g:1062:1: ruleEnumInterpretation : ( ( rule__EnumInterpretation__Group__0 ) ) ; 4354 // InternalSolverLanguage.g:1288:1: ruleUpperMultiplicty : ( ( rule__UpperMultiplicty__Alternatives ) ) ;
3232 public final void ruleEnumInterpretation() throws RecognitionException { 4355 public final void ruleUpperMultiplicty() throws RecognitionException {
3233 4356
3234 int stackSize = keepStackSize(); 4357 int stackSize = keepStackSize();
3235 4358
3236 try { 4359 try {
3237 // InternalSolverLanguage.g:1066:2: ( ( ( rule__EnumInterpretation__Group__0 ) ) ) 4360 // InternalSolverLanguage.g:1292:2: ( ( ( rule__UpperMultiplicty__Alternatives ) ) )
3238 // InternalSolverLanguage.g:1067:2: ( ( rule__EnumInterpretation__Group__0 ) ) 4361 // InternalSolverLanguage.g:1293:2: ( ( rule__UpperMultiplicty__Alternatives ) )
3239 { 4362 {
3240 // InternalSolverLanguage.g:1067:2: ( ( rule__EnumInterpretation__Group__0 ) ) 4363 // InternalSolverLanguage.g:1293:2: ( ( rule__UpperMultiplicty__Alternatives ) )
3241 // InternalSolverLanguage.g:1068:3: ( rule__EnumInterpretation__Group__0 ) 4364 // InternalSolverLanguage.g:1294:3: ( rule__UpperMultiplicty__Alternatives )
3242 { 4365 {
3243 before(grammarAccess.getEnumInterpretationAccess().getGroup()); 4366 if ( state.backtracking==0 ) {
3244 // InternalSolverLanguage.g:1069:3: ( rule__EnumInterpretation__Group__0 ) 4367 before(grammarAccess.getUpperMultiplictyAccess().getAlternatives());
3245 // InternalSolverLanguage.g:1069:4: rule__EnumInterpretation__Group__0 4368 }
4369 // InternalSolverLanguage.g:1295:3: ( rule__UpperMultiplicty__Alternatives )
4370 // InternalSolverLanguage.g:1295:4: rule__UpperMultiplicty__Alternatives
3246 { 4371 {
3247 pushFollow(FOLLOW_2); 4372 pushFollow(FOLLOW_2);
3248 rule__EnumInterpretation__Group__0(); 4373 rule__UpperMultiplicty__Alternatives();
3249 4374
3250 state._fsp--; 4375 state._fsp--;
4376 if (state.failed) return ;
4377
4378 }
4379
4380 if ( state.backtracking==0 ) {
4381 after(grammarAccess.getUpperMultiplictyAccess().getAlternatives());
4382 }
4383
4384 }
4385
4386
4387 }
4388
4389 }
4390 catch (RecognitionException re) {
4391 reportError(re);
4392 recover(input,re);
4393 }
4394 finally {
4395
4396 restoreStackSize(stackSize);
4397
4398 }
4399 return ;
4400 }
4401 // $ANTLR end "ruleUpperMultiplicty"
4402
4403
4404 // $ANTLR start "entryRuleReal"
4405 // InternalSolverLanguage.g:1304:1: entryRuleReal : ruleReal EOF ;
4406 public final void entryRuleReal() throws RecognitionException {
4407
4408 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
4409
4410 try {
4411 // InternalSolverLanguage.g:1308:1: ( ruleReal EOF )
4412 // InternalSolverLanguage.g:1309:1: ruleReal EOF
4413 {
4414 if ( state.backtracking==0 ) {
4415 before(grammarAccess.getRealRule());
4416 }
4417 pushFollow(FOLLOW_1);
4418 ruleReal();
4419
4420 state._fsp--;
4421 if (state.failed) return ;
4422 if ( state.backtracking==0 ) {
4423 after(grammarAccess.getRealRule());
4424 }
4425 match(input,EOF,FOLLOW_2); if (state.failed) return ;
4426
4427 }
4428
4429 }
4430 catch (RecognitionException re) {
4431 reportError(re);
4432 recover(input,re);
4433 }
4434 finally {
4435
4436 myHiddenTokenState.restore();
3251 4437
4438 }
4439 return ;
4440 }
4441 // $ANTLR end "entryRuleReal"
4442
4443
4444 // $ANTLR start "ruleReal"
4445 // InternalSolverLanguage.g:1319:1: ruleReal : ( ( rule__Real__Group__0 ) ) ;
4446 public final void ruleReal() throws RecognitionException {
3252 4447
4448 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
4449 int stackSize = keepStackSize();
4450
4451 try {
4452 // InternalSolverLanguage.g:1324:2: ( ( ( rule__Real__Group__0 ) ) )
4453 // InternalSolverLanguage.g:1325:2: ( ( rule__Real__Group__0 ) )
4454 {
4455 // InternalSolverLanguage.g:1325:2: ( ( rule__Real__Group__0 ) )
4456 // InternalSolverLanguage.g:1326:3: ( rule__Real__Group__0 )
4457 {
4458 if ( state.backtracking==0 ) {
4459 before(grammarAccess.getRealAccess().getGroup());
3253 } 4460 }
4461 // InternalSolverLanguage.g:1327:3: ( rule__Real__Group__0 )
4462 // InternalSolverLanguage.g:1327:4: rule__Real__Group__0
4463 {
4464 pushFollow(FOLLOW_2);
4465 rule__Real__Group__0();
3254 4466
3255 after(grammarAccess.getEnumInterpretationAccess().getGroup()); 4467 state._fsp--;
4468 if (state.failed) return ;
4469
4470 }
4471
4472 if ( state.backtracking==0 ) {
4473 after(grammarAccess.getRealAccess().getGroup());
4474 }
3256 4475
3257 } 4476 }
3258 4477
@@ -3267,28 +4486,88 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3267 finally { 4486 finally {
3268 4487
3269 restoreStackSize(stackSize); 4488 restoreStackSize(stackSize);
4489 myHiddenTokenState.restore();
3270 4490
3271 } 4491 }
3272 return ; 4492 return ;
3273 } 4493 }
3274 // $ANTLR end "ruleEnumInterpretation" 4494 // $ANTLR end "ruleReal"
4495
3275 4496
4497 // $ANTLR start "entryRuleQualifiedName"
4498 // InternalSolverLanguage.g:1337:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
4499 public final void entryRuleQualifiedName() throws RecognitionException {
4500
4501 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
3276 4502
3277 // $ANTLR start "entryRuleFieldRelationInterpretation"
3278 // InternalSolverLanguage.g:1078:1: entryRuleFieldRelationInterpretation : ruleFieldRelationInterpretation EOF ;
3279 public final void entryRuleFieldRelationInterpretation() throws RecognitionException {
3280 try { 4503 try {
3281 // InternalSolverLanguage.g:1079:1: ( ruleFieldRelationInterpretation EOF ) 4504 // InternalSolverLanguage.g:1341:1: ( ruleQualifiedName EOF )
3282 // InternalSolverLanguage.g:1080:1: ruleFieldRelationInterpretation EOF 4505 // InternalSolverLanguage.g:1342:1: ruleQualifiedName EOF
3283 { 4506 {
3284 before(grammarAccess.getFieldRelationInterpretationRule()); 4507 if ( state.backtracking==0 ) {
4508 before(grammarAccess.getQualifiedNameRule());
4509 }
3285 pushFollow(FOLLOW_1); 4510 pushFollow(FOLLOW_1);
3286 ruleFieldRelationInterpretation(); 4511 ruleQualifiedName();
4512
4513 state._fsp--;
4514 if (state.failed) return ;
4515 if ( state.backtracking==0 ) {
4516 after(grammarAccess.getQualifiedNameRule());
4517 }
4518 match(input,EOF,FOLLOW_2); if (state.failed) return ;
4519
4520 }
4521
4522 }
4523 catch (RecognitionException re) {
4524 reportError(re);
4525 recover(input,re);
4526 }
4527 finally {
4528
4529 myHiddenTokenState.restore();
4530
4531 }
4532 return ;
4533 }
4534 // $ANTLR end "entryRuleQualifiedName"
4535
4536
4537 // $ANTLR start "ruleQualifiedName"
4538 // InternalSolverLanguage.g:1352:1: ruleQualifiedName : ( ( rule__QualifiedName__Alternatives ) ) ;
4539 public final void ruleQualifiedName() throws RecognitionException {
4540
4541 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
4542 int stackSize = keepStackSize();
4543
4544 try {
4545 // InternalSolverLanguage.g:1357:2: ( ( ( rule__QualifiedName__Alternatives ) ) )
4546 // InternalSolverLanguage.g:1358:2: ( ( rule__QualifiedName__Alternatives ) )
4547 {
4548 // InternalSolverLanguage.g:1358:2: ( ( rule__QualifiedName__Alternatives ) )
4549 // InternalSolverLanguage.g:1359:3: ( rule__QualifiedName__Alternatives )
4550 {
4551 if ( state.backtracking==0 ) {
4552 before(grammarAccess.getQualifiedNameAccess().getAlternatives());
4553 }
4554 // InternalSolverLanguage.g:1360:3: ( rule__QualifiedName__Alternatives )
4555 // InternalSolverLanguage.g:1360:4: rule__QualifiedName__Alternatives
4556 {
4557 pushFollow(FOLLOW_2);
4558 rule__QualifiedName__Alternatives();
3287 4559
3288 state._fsp--; 4560 state._fsp--;
4561 if (state.failed) return ;
4562
4563 }
4564
4565 if ( state.backtracking==0 ) {
4566 after(grammarAccess.getQualifiedNameAccess().getAlternatives());
4567 }
4568
4569 }
3289 4570
3290 after(grammarAccess.getFieldRelationInterpretationRule());
3291 match(input,EOF,FOLLOW_2);
3292 4571
3293 } 4572 }
3294 4573
@@ -3298,38 +4577,97 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3298 recover(input,re); 4577 recover(input,re);
3299 } 4578 }
3300 finally { 4579 finally {
4580
4581 restoreStackSize(stackSize);
4582 myHiddenTokenState.restore();
4583
3301 } 4584 }
3302 return ; 4585 return ;
3303 } 4586 }
3304 // $ANTLR end "entryRuleFieldRelationInterpretation" 4587 // $ANTLR end "ruleQualifiedName"
3305 4588
3306 4589
3307 // $ANTLR start "ruleFieldRelationInterpretation" 4590 // $ANTLR start "ruleMetricType"
3308 // InternalSolverLanguage.g:1087:1: ruleFieldRelationInterpretation : ( ( rule__FieldRelationInterpretation__Group__0 ) ) ; 4591 // InternalSolverLanguage.g:1370:1: ruleMetricType : ( ( rule__MetricType__Alternatives ) ) ;
3309 public final void ruleFieldRelationInterpretation() throws RecognitionException { 4592 public final void ruleMetricType() throws RecognitionException {
3310 4593
3311 int stackSize = keepStackSize(); 4594 int stackSize = keepStackSize();
3312 4595
3313 try { 4596 try {
3314 // InternalSolverLanguage.g:1091:2: ( ( ( rule__FieldRelationInterpretation__Group__0 ) ) ) 4597 // InternalSolverLanguage.g:1374:1: ( ( ( rule__MetricType__Alternatives ) ) )
3315 // InternalSolverLanguage.g:1092:2: ( ( rule__FieldRelationInterpretation__Group__0 ) ) 4598 // InternalSolverLanguage.g:1375:2: ( ( rule__MetricType__Alternatives ) )
3316 { 4599 {
3317 // InternalSolverLanguage.g:1092:2: ( ( rule__FieldRelationInterpretation__Group__0 ) ) 4600 // InternalSolverLanguage.g:1375:2: ( ( rule__MetricType__Alternatives ) )
3318 // InternalSolverLanguage.g:1093:3: ( rule__FieldRelationInterpretation__Group__0 ) 4601 // InternalSolverLanguage.g:1376:3: ( rule__MetricType__Alternatives )
3319 { 4602 {
3320 before(grammarAccess.getFieldRelationInterpretationAccess().getGroup()); 4603 if ( state.backtracking==0 ) {
3321 // InternalSolverLanguage.g:1094:3: ( rule__FieldRelationInterpretation__Group__0 ) 4604 before(grammarAccess.getMetricTypeAccess().getAlternatives());
3322 // InternalSolverLanguage.g:1094:4: rule__FieldRelationInterpretation__Group__0 4605 }
4606 // InternalSolverLanguage.g:1377:3: ( rule__MetricType__Alternatives )
4607 // InternalSolverLanguage.g:1377:4: rule__MetricType__Alternatives
3323 { 4608 {
3324 pushFollow(FOLLOW_2); 4609 pushFollow(FOLLOW_2);
3325 rule__FieldRelationInterpretation__Group__0(); 4610 rule__MetricType__Alternatives();
3326 4611
3327 state._fsp--; 4612 state._fsp--;
4613 if (state.failed) return ;
3328 4614
4615 }
4616
4617 if ( state.backtracking==0 ) {
4618 after(grammarAccess.getMetricTypeAccess().getAlternatives());
4619 }
3329 4620
3330 } 4621 }
3331 4622
3332 after(grammarAccess.getFieldRelationInterpretationAccess().getGroup()); 4623
4624 }
4625
4626 }
4627 catch (RecognitionException re) {
4628 reportError(re);
4629 recover(input,re);
4630 }
4631 finally {
4632
4633 restoreStackSize(stackSize);
4634
4635 }
4636 return ;
4637 }
4638 // $ANTLR end "ruleMetricType"
4639
4640
4641 // $ANTLR start "ruleComparisonOperator"
4642 // InternalSolverLanguage.g:1386:1: ruleComparisonOperator : ( ( rule__ComparisonOperator__Alternatives ) ) ;
4643 public final void ruleComparisonOperator() throws RecognitionException {
4644
4645 int stackSize = keepStackSize();
4646
4647 try {
4648 // InternalSolverLanguage.g:1390:1: ( ( ( rule__ComparisonOperator__Alternatives ) ) )
4649 // InternalSolverLanguage.g:1391:2: ( ( rule__ComparisonOperator__Alternatives ) )
4650 {
4651 // InternalSolverLanguage.g:1391:2: ( ( rule__ComparisonOperator__Alternatives ) )
4652 // InternalSolverLanguage.g:1392:3: ( rule__ComparisonOperator__Alternatives )
4653 {
4654 if ( state.backtracking==0 ) {
4655 before(grammarAccess.getComparisonOperatorAccess().getAlternatives());
4656 }
4657 // InternalSolverLanguage.g:1393:3: ( rule__ComparisonOperator__Alternatives )
4658 // InternalSolverLanguage.g:1393:4: rule__ComparisonOperator__Alternatives
4659 {
4660 pushFollow(FOLLOW_2);
4661 rule__ComparisonOperator__Alternatives();
4662
4663 state._fsp--;
4664 if (state.failed) return ;
4665
4666 }
4667
4668 if ( state.backtracking==0 ) {
4669 after(grammarAccess.getComparisonOperatorAccess().getAlternatives());
4670 }
3333 4671
3334 } 4672 }
3335 4673
@@ -3348,24 +4686,42 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3348 } 4686 }
3349 return ; 4687 return ;
3350 } 4688 }
3351 // $ANTLR end "ruleFieldRelationInterpretation" 4689 // $ANTLR end "ruleComparisonOperator"
4690
3352 4691
4692 // $ANTLR start "ruleAdditiveBinaryOperator"
4693 // InternalSolverLanguage.g:1402:1: ruleAdditiveBinaryOperator : ( ( rule__AdditiveBinaryOperator__Alternatives ) ) ;
4694 public final void ruleAdditiveBinaryOperator() throws RecognitionException {
3353 4695
3354 // $ANTLR start "entryRuleGlobalRelationInterpretation" 4696 int stackSize = keepStackSize();
3355 // InternalSolverLanguage.g:1103:1: entryRuleGlobalRelationInterpretation : ruleGlobalRelationInterpretation EOF ; 4697
3356 public final void entryRuleGlobalRelationInterpretation() throws RecognitionException {
3357 try { 4698 try {
3358 // InternalSolverLanguage.g:1104:1: ( ruleGlobalRelationInterpretation EOF ) 4699 // InternalSolverLanguage.g:1406:1: ( ( ( rule__AdditiveBinaryOperator__Alternatives ) ) )
3359 // InternalSolverLanguage.g:1105:1: ruleGlobalRelationInterpretation EOF 4700 // InternalSolverLanguage.g:1407:2: ( ( rule__AdditiveBinaryOperator__Alternatives ) )
3360 { 4701 {
3361 before(grammarAccess.getGlobalRelationInterpretationRule()); 4702 // InternalSolverLanguage.g:1407:2: ( ( rule__AdditiveBinaryOperator__Alternatives ) )
3362 pushFollow(FOLLOW_1); 4703 // InternalSolverLanguage.g:1408:3: ( rule__AdditiveBinaryOperator__Alternatives )
3363 ruleGlobalRelationInterpretation(); 4704 {
4705 if ( state.backtracking==0 ) {
4706 before(grammarAccess.getAdditiveBinaryOperatorAccess().getAlternatives());
4707 }
4708 // InternalSolverLanguage.g:1409:3: ( rule__AdditiveBinaryOperator__Alternatives )
4709 // InternalSolverLanguage.g:1409:4: rule__AdditiveBinaryOperator__Alternatives
4710 {
4711 pushFollow(FOLLOW_2);
4712 rule__AdditiveBinaryOperator__Alternatives();
3364 4713
3365 state._fsp--; 4714 state._fsp--;
4715 if (state.failed) return ;
4716
4717 }
4718
4719 if ( state.backtracking==0 ) {
4720 after(grammarAccess.getAdditiveBinaryOperatorAccess().getAlternatives());
4721 }
4722
4723 }
3366 4724
3367 after(grammarAccess.getGlobalRelationInterpretationRule());
3368 match(input,EOF,FOLLOW_2);
3369 4725
3370 } 4726 }
3371 4727
@@ -3375,38 +4731,92 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3375 recover(input,re); 4731 recover(input,re);
3376 } 4732 }
3377 finally { 4733 finally {
4734
4735 restoreStackSize(stackSize);
4736
3378 } 4737 }
3379 return ; 4738 return ;
3380 } 4739 }
3381 // $ANTLR end "entryRuleGlobalRelationInterpretation" 4740 // $ANTLR end "ruleAdditiveBinaryOperator"
3382 4741
3383 4742
3384 // $ANTLR start "ruleGlobalRelationInterpretation" 4743 // $ANTLR start "ruleMultiplicativeBinaryOperator"
3385 // InternalSolverLanguage.g:1112:1: ruleGlobalRelationInterpretation : ( ( rule__GlobalRelationInterpretation__Group__0 ) ) ; 4744 // InternalSolverLanguage.g:1418:1: ruleMultiplicativeBinaryOperator : ( ( rule__MultiplicativeBinaryOperator__Alternatives ) ) ;
3386 public final void ruleGlobalRelationInterpretation() throws RecognitionException { 4745 public final void ruleMultiplicativeBinaryOperator() throws RecognitionException {
3387 4746
3388 int stackSize = keepStackSize(); 4747 int stackSize = keepStackSize();
3389 4748
3390 try { 4749 try {
3391 // InternalSolverLanguage.g:1116:2: ( ( ( rule__GlobalRelationInterpretation__Group__0 ) ) ) 4750 // InternalSolverLanguage.g:1422:1: ( ( ( rule__MultiplicativeBinaryOperator__Alternatives ) ) )
3392 // InternalSolverLanguage.g:1117:2: ( ( rule__GlobalRelationInterpretation__Group__0 ) ) 4751 // InternalSolverLanguage.g:1423:2: ( ( rule__MultiplicativeBinaryOperator__Alternatives ) )
3393 { 4752 {
3394 // InternalSolverLanguage.g:1117:2: ( ( rule__GlobalRelationInterpretation__Group__0 ) ) 4753 // InternalSolverLanguage.g:1423:2: ( ( rule__MultiplicativeBinaryOperator__Alternatives ) )
3395 // InternalSolverLanguage.g:1118:3: ( rule__GlobalRelationInterpretation__Group__0 ) 4754 // InternalSolverLanguage.g:1424:3: ( rule__MultiplicativeBinaryOperator__Alternatives )
3396 { 4755 {
3397 before(grammarAccess.getGlobalRelationInterpretationAccess().getGroup()); 4756 if ( state.backtracking==0 ) {
3398 // InternalSolverLanguage.g:1119:3: ( rule__GlobalRelationInterpretation__Group__0 ) 4757 before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getAlternatives());
3399 // InternalSolverLanguage.g:1119:4: rule__GlobalRelationInterpretation__Group__0 4758 }
4759 // InternalSolverLanguage.g:1425:3: ( rule__MultiplicativeBinaryOperator__Alternatives )
4760 // InternalSolverLanguage.g:1425:4: rule__MultiplicativeBinaryOperator__Alternatives
3400 { 4761 {
3401 pushFollow(FOLLOW_2); 4762 pushFollow(FOLLOW_2);
3402 rule__GlobalRelationInterpretation__Group__0(); 4763 rule__MultiplicativeBinaryOperator__Alternatives();
3403 4764
3404 state._fsp--; 4765 state._fsp--;
4766 if (state.failed) return ;
4767
4768 }
4769
4770 if ( state.backtracking==0 ) {
4771 after(grammarAccess.getMultiplicativeBinaryOperatorAccess().getAlternatives());
4772 }
4773
4774 }
4775
4776
4777 }
4778
4779 }
4780 catch (RecognitionException re) {
4781 reportError(re);
4782 recover(input,re);
4783 }
4784 finally {
4785
4786 restoreStackSize(stackSize);
4787
4788 }
4789 return ;
4790 }
4791 // $ANTLR end "ruleMultiplicativeBinaryOperator"
3405 4792
3406 4793
4794 // $ANTLR start "ruleExponentialOp"
4795 // InternalSolverLanguage.g:1434:1: ruleExponentialOp : ( ( '^' ) ) ;
4796 public final void ruleExponentialOp() throws RecognitionException {
4797
4798 int stackSize = keepStackSize();
4799
4800 try {
4801 // InternalSolverLanguage.g:1438:1: ( ( ( '^' ) ) )
4802 // InternalSolverLanguage.g:1439:2: ( ( '^' ) )
4803 {
4804 // InternalSolverLanguage.g:1439:2: ( ( '^' ) )
4805 // InternalSolverLanguage.g:1440:3: ( '^' )
4806 {
4807 if ( state.backtracking==0 ) {
4808 before(grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration());
4809 }
4810 // InternalSolverLanguage.g:1441:3: ( '^' )
4811 // InternalSolverLanguage.g:1441:4: '^'
4812 {
4813 match(input,15,FOLLOW_2); if (state.failed) return ;
4814
3407 } 4815 }
3408 4816
3409 after(grammarAccess.getGlobalRelationInterpretationAccess().getGroup()); 4817 if ( state.backtracking==0 ) {
4818 after(grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration());
4819 }
3410 4820
3411 } 4821 }
3412 4822
@@ -3425,24 +4835,42 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3425 } 4835 }
3426 return ; 4836 return ;
3427 } 4837 }
3428 // $ANTLR end "ruleGlobalRelationInterpretation" 4838 // $ANTLR end "ruleExponentialOp"
4839
3429 4840
4841 // $ANTLR start "ruleUnaryOp"
4842 // InternalSolverLanguage.g:1450:1: ruleUnaryOp : ( ( rule__UnaryOp__Alternatives ) ) ;
4843 public final void ruleUnaryOp() throws RecognitionException {
3430 4844
3431 // $ANTLR start "entryRuleMultiplicityDefinition" 4845 int stackSize = keepStackSize();
3432 // InternalSolverLanguage.g:1128:1: entryRuleMultiplicityDefinition : ruleMultiplicityDefinition EOF ; 4846
3433 public final void entryRuleMultiplicityDefinition() throws RecognitionException {
3434 try { 4847 try {
3435 // InternalSolverLanguage.g:1129:1: ( ruleMultiplicityDefinition EOF ) 4848 // InternalSolverLanguage.g:1454:1: ( ( ( rule__UnaryOp__Alternatives ) ) )
3436 // InternalSolverLanguage.g:1130:1: ruleMultiplicityDefinition EOF 4849 // InternalSolverLanguage.g:1455:2: ( ( rule__UnaryOp__Alternatives ) )
3437 { 4850 {
3438 before(grammarAccess.getMultiplicityDefinitionRule()); 4851 // InternalSolverLanguage.g:1455:2: ( ( rule__UnaryOp__Alternatives ) )
3439 pushFollow(FOLLOW_1); 4852 // InternalSolverLanguage.g:1456:3: ( rule__UnaryOp__Alternatives )
3440 ruleMultiplicityDefinition(); 4853 {
4854 if ( state.backtracking==0 ) {
4855 before(grammarAccess.getUnaryOpAccess().getAlternatives());
4856 }
4857 // InternalSolverLanguage.g:1457:3: ( rule__UnaryOp__Alternatives )
4858 // InternalSolverLanguage.g:1457:4: rule__UnaryOp__Alternatives
4859 {
4860 pushFollow(FOLLOW_2);
4861 rule__UnaryOp__Alternatives();
3441 4862
3442 state._fsp--; 4863 state._fsp--;
4864 if (state.failed) return ;
4865
4866 }
4867
4868 if ( state.backtracking==0 ) {
4869 after(grammarAccess.getUnaryOpAccess().getAlternatives());
4870 }
4871
4872 }
3443 4873
3444 after(grammarAccess.getMultiplicityDefinitionRule());
3445 match(input,EOF,FOLLOW_2);
3446 4874
3447 } 4875 }
3448 4876
@@ -3452,38 +4880,147 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3452 recover(input,re); 4880 recover(input,re);
3453 } 4881 }
3454 finally { 4882 finally {
4883
4884 restoreStackSize(stackSize);
4885
3455 } 4886 }
3456 return ; 4887 return ;
3457 } 4888 }
3458 // $ANTLR end "entryRuleMultiplicityDefinition" 4889 // $ANTLR end "ruleUnaryOp"
3459 4890
3460 4891
3461 // $ANTLR start "ruleMultiplicityDefinition" 4892 // $ANTLR start "ruleAggregationOp"
3462 // InternalSolverLanguage.g:1137:1: ruleMultiplicityDefinition : ( ( rule__MultiplicityDefinition__Group__0 ) ) ; 4893 // InternalSolverLanguage.g:1466:1: ruleAggregationOp : ( ( rule__AggregationOp__Alternatives ) ) ;
3463 public final void ruleMultiplicityDefinition() throws RecognitionException { 4894 public final void ruleAggregationOp() throws RecognitionException {
3464 4895
3465 int stackSize = keepStackSize(); 4896 int stackSize = keepStackSize();
3466 4897
3467 try { 4898 try {
3468 // InternalSolverLanguage.g:1141:2: ( ( ( rule__MultiplicityDefinition__Group__0 ) ) ) 4899 // InternalSolverLanguage.g:1470:1: ( ( ( rule__AggregationOp__Alternatives ) ) )
3469 // InternalSolverLanguage.g:1142:2: ( ( rule__MultiplicityDefinition__Group__0 ) ) 4900 // InternalSolverLanguage.g:1471:2: ( ( rule__AggregationOp__Alternatives ) )
3470 { 4901 {
3471 // InternalSolverLanguage.g:1142:2: ( ( rule__MultiplicityDefinition__Group__0 ) ) 4902 // InternalSolverLanguage.g:1471:2: ( ( rule__AggregationOp__Alternatives ) )
3472 // InternalSolverLanguage.g:1143:3: ( rule__MultiplicityDefinition__Group__0 ) 4903 // InternalSolverLanguage.g:1472:3: ( rule__AggregationOp__Alternatives )
3473 { 4904 {
3474 before(grammarAccess.getMultiplicityDefinitionAccess().getGroup()); 4905 if ( state.backtracking==0 ) {
3475 // InternalSolverLanguage.g:1144:3: ( rule__MultiplicityDefinition__Group__0 ) 4906 before(grammarAccess.getAggregationOpAccess().getAlternatives());
3476 // InternalSolverLanguage.g:1144:4: rule__MultiplicityDefinition__Group__0 4907 }
4908 // InternalSolverLanguage.g:1473:3: ( rule__AggregationOp__Alternatives )
4909 // InternalSolverLanguage.g:1473:4: rule__AggregationOp__Alternatives
3477 { 4910 {
3478 pushFollow(FOLLOW_2); 4911 pushFollow(FOLLOW_2);
3479 rule__MultiplicityDefinition__Group__0(); 4912 rule__AggregationOp__Alternatives();
3480 4913
3481 state._fsp--; 4914 state._fsp--;
4915 if (state.failed) return ;
4916
4917 }
3482 4918
4919 if ( state.backtracking==0 ) {
4920 after(grammarAccess.getAggregationOpAccess().getAlternatives());
4921 }
3483 4922
3484 } 4923 }
3485 4924
3486 after(grammarAccess.getMultiplicityDefinitionAccess().getGroup()); 4925
4926 }
4927
4928 }
4929 catch (RecognitionException re) {
4930 reportError(re);
4931 recover(input,re);
4932 }
4933 finally {
4934
4935 restoreStackSize(stackSize);
4936
4937 }
4938 return ;
4939 }
4940 // $ANTLR end "ruleAggregationOp"
4941
4942
4943 // $ANTLR start "ruleLogicValue"
4944 // InternalSolverLanguage.g:1482:1: ruleLogicValue : ( ( rule__LogicValue__Alternatives ) ) ;
4945 public final void ruleLogicValue() throws RecognitionException {
4946
4947 int stackSize = keepStackSize();
4948
4949 try {
4950 // InternalSolverLanguage.g:1486:1: ( ( ( rule__LogicValue__Alternatives ) ) )
4951 // InternalSolverLanguage.g:1487:2: ( ( rule__LogicValue__Alternatives ) )
4952 {
4953 // InternalSolverLanguage.g:1487:2: ( ( rule__LogicValue__Alternatives ) )
4954 // InternalSolverLanguage.g:1488:3: ( rule__LogicValue__Alternatives )
4955 {
4956 if ( state.backtracking==0 ) {
4957 before(grammarAccess.getLogicValueAccess().getAlternatives());
4958 }
4959 // InternalSolverLanguage.g:1489:3: ( rule__LogicValue__Alternatives )
4960 // InternalSolverLanguage.g:1489:4: rule__LogicValue__Alternatives
4961 {
4962 pushFollow(FOLLOW_2);
4963 rule__LogicValue__Alternatives();
4964
4965 state._fsp--;
4966 if (state.failed) return ;
4967
4968 }
4969
4970 if ( state.backtracking==0 ) {
4971 after(grammarAccess.getLogicValueAccess().getAlternatives());
4972 }
4973
4974 }
4975
4976
4977 }
4978
4979 }
4980 catch (RecognitionException re) {
4981 reportError(re);
4982 recover(input,re);
4983 }
4984 finally {
4985
4986 restoreStackSize(stackSize);
4987
4988 }
4989 return ;
4990 }
4991 // $ANTLR end "ruleLogicValue"
4992
4993
4994 // $ANTLR start "ruleObjectiveKind"
4995 // InternalSolverLanguage.g:1498:1: ruleObjectiveKind : ( ( rule__ObjectiveKind__Alternatives ) ) ;
4996 public final void ruleObjectiveKind() throws RecognitionException {
4997
4998 int stackSize = keepStackSize();
4999
5000 try {
5001 // InternalSolverLanguage.g:1502:1: ( ( ( rule__ObjectiveKind__Alternatives ) ) )
5002 // InternalSolverLanguage.g:1503:2: ( ( rule__ObjectiveKind__Alternatives ) )
5003 {
5004 // InternalSolverLanguage.g:1503:2: ( ( rule__ObjectiveKind__Alternatives ) )
5005 // InternalSolverLanguage.g:1504:3: ( rule__ObjectiveKind__Alternatives )
5006 {
5007 if ( state.backtracking==0 ) {
5008 before(grammarAccess.getObjectiveKindAccess().getAlternatives());
5009 }
5010 // InternalSolverLanguage.g:1505:3: ( rule__ObjectiveKind__Alternatives )
5011 // InternalSolverLanguage.g:1505:4: rule__ObjectiveKind__Alternatives
5012 {
5013 pushFollow(FOLLOW_2);
5014 rule__ObjectiveKind__Alternatives();
5015
5016 state._fsp--;
5017 if (state.failed) return ;
5018
5019 }
5020
5021 if ( state.backtracking==0 ) {
5022 after(grammarAccess.getObjectiveKindAccess().getAlternatives());
5023 }
3487 5024
3488 } 5025 }
3489 5026
@@ -3502,33 +5039,37 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3502 } 5039 }
3503 return ; 5040 return ;
3504 } 5041 }
3505 // $ANTLR end "ruleMultiplicityDefinition" 5042 // $ANTLR end "ruleObjectiveKind"
3506 5043
3507 5044
3508 // $ANTLR start "rule__Statement__Alternatives" 5045 // $ANTLR start "rule__Statement__Alternatives_0"
3509 // InternalSolverLanguage.g:1152:1: rule__Statement__Alternatives : ( ( ruleInterpretation ) | ( rulePredicate ) ); 5046 // InternalSolverLanguage.g:1513:1: rule__Statement__Alternatives_0 : ( ( ruleAssertionOrDefinition ) | ( rulePredicateDefinition ) | ( ruleUnnamedErrorPrediateDefinition ) | ( ruleDefaultDefinition ) | ( ruleExternPredicateDefinition ) | ( ruleMetricDefinition ) | ( ruleExternMetricDefinition ) | ( ruleClassDefinition ) | ( ruleScopeDefinition ) | ( ruleObjectiveDefinition ) );
3510 public final void rule__Statement__Alternatives() throws RecognitionException { 5047 public final void rule__Statement__Alternatives_0() throws RecognitionException {
3511 5048
3512 int stackSize = keepStackSize(); 5049 int stackSize = keepStackSize();
3513 5050
3514 try { 5051 try {
3515 // InternalSolverLanguage.g:1156:1: ( ( ruleInterpretation ) | ( rulePredicate ) ) 5052 // InternalSolverLanguage.g:1517:1: ( ( ruleAssertionOrDefinition ) | ( rulePredicateDefinition ) | ( ruleUnnamedErrorPrediateDefinition ) | ( ruleDefaultDefinition ) | ( ruleExternPredicateDefinition ) | ( ruleMetricDefinition ) | ( ruleExternMetricDefinition ) | ( ruleClassDefinition ) | ( ruleScopeDefinition ) | ( ruleObjectiveDefinition ) )
3516 int alt2=2; 5053 int alt2=10;
3517 alt2 = dfa2.predict(input); 5054 alt2 = dfa2.predict(input);
3518 switch (alt2) { 5055 switch (alt2) {
3519 case 1 : 5056 case 1 :
3520 // InternalSolverLanguage.g:1157:2: ( ruleInterpretation ) 5057 // InternalSolverLanguage.g:1518:2: ( ruleAssertionOrDefinition )
3521 { 5058 {
3522 // InternalSolverLanguage.g:1157:2: ( ruleInterpretation ) 5059 // InternalSolverLanguage.g:1518:2: ( ruleAssertionOrDefinition )
3523 // InternalSolverLanguage.g:1158:3: ruleInterpretation 5060 // InternalSolverLanguage.g:1519:3: ruleAssertionOrDefinition
3524 { 5061 {
3525 before(grammarAccess.getStatementAccess().getInterpretationParserRuleCall_0()); 5062 if ( state.backtracking==0 ) {
5063 before(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0());
5064 }
3526 pushFollow(FOLLOW_2); 5065 pushFollow(FOLLOW_2);
3527 ruleInterpretation(); 5066 ruleAssertionOrDefinition();
3528 5067
3529 state._fsp--; 5068 state._fsp--;
3530 5069 if (state.failed) return ;
3531 after(grammarAccess.getStatementAccess().getInterpretationParserRuleCall_0()); 5070 if ( state.backtracking==0 ) {
5071 after(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0());
5072 }
3532 5073
3533 } 5074 }
3534 5075
@@ -3536,18 +5077,206 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3536 } 5077 }
3537 break; 5078 break;
3538 case 2 : 5079 case 2 :
3539 // InternalSolverLanguage.g:1163:2: ( rulePredicate ) 5080 // InternalSolverLanguage.g:1524:2: ( rulePredicateDefinition )
5081 {
5082 // InternalSolverLanguage.g:1524:2: ( rulePredicateDefinition )
5083 // InternalSolverLanguage.g:1525:3: rulePredicateDefinition
5084 {
5085 if ( state.backtracking==0 ) {
5086 before(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1());
5087 }
5088 pushFollow(FOLLOW_2);
5089 rulePredicateDefinition();
5090
5091 state._fsp--;
5092 if (state.failed) return ;
5093 if ( state.backtracking==0 ) {
5094 after(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1());
5095 }
5096
5097 }
5098
5099
5100 }
5101 break;
5102 case 3 :
5103 // InternalSolverLanguage.g:1530:2: ( ruleUnnamedErrorPrediateDefinition )
5104 {
5105 // InternalSolverLanguage.g:1530:2: ( ruleUnnamedErrorPrediateDefinition )
5106 // InternalSolverLanguage.g:1531:3: ruleUnnamedErrorPrediateDefinition
5107 {
5108 if ( state.backtracking==0 ) {
5109 before(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2());
5110 }
5111 pushFollow(FOLLOW_2);
5112 ruleUnnamedErrorPrediateDefinition();
5113
5114 state._fsp--;
5115 if (state.failed) return ;
5116 if ( state.backtracking==0 ) {
5117 after(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2());
5118 }
5119
5120 }
5121
5122
5123 }
5124 break;
5125 case 4 :
5126 // InternalSolverLanguage.g:1536:2: ( ruleDefaultDefinition )
5127 {
5128 // InternalSolverLanguage.g:1536:2: ( ruleDefaultDefinition )
5129 // InternalSolverLanguage.g:1537:3: ruleDefaultDefinition
5130 {
5131 if ( state.backtracking==0 ) {
5132 before(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3());
5133 }
5134 pushFollow(FOLLOW_2);
5135 ruleDefaultDefinition();
5136
5137 state._fsp--;
5138 if (state.failed) return ;
5139 if ( state.backtracking==0 ) {
5140 after(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3());
5141 }
5142
5143 }
5144
5145
5146 }
5147 break;
5148 case 5 :
5149 // InternalSolverLanguage.g:1542:2: ( ruleExternPredicateDefinition )
5150 {
5151 // InternalSolverLanguage.g:1542:2: ( ruleExternPredicateDefinition )
5152 // InternalSolverLanguage.g:1543:3: ruleExternPredicateDefinition
5153 {
5154 if ( state.backtracking==0 ) {
5155 before(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4());
5156 }
5157 pushFollow(FOLLOW_2);
5158 ruleExternPredicateDefinition();
5159
5160 state._fsp--;
5161 if (state.failed) return ;
5162 if ( state.backtracking==0 ) {
5163 after(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4());
5164 }
5165
5166 }
5167
5168
5169 }
5170 break;
5171 case 6 :
5172 // InternalSolverLanguage.g:1548:2: ( ruleMetricDefinition )
5173 {
5174 // InternalSolverLanguage.g:1548:2: ( ruleMetricDefinition )
5175 // InternalSolverLanguage.g:1549:3: ruleMetricDefinition
5176 {
5177 if ( state.backtracking==0 ) {
5178 before(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5());
5179 }
5180 pushFollow(FOLLOW_2);
5181 ruleMetricDefinition();
5182
5183 state._fsp--;
5184 if (state.failed) return ;
5185 if ( state.backtracking==0 ) {
5186 after(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5());
5187 }
5188
5189 }
5190
5191
5192 }
5193 break;
5194 case 7 :
5195 // InternalSolverLanguage.g:1554:2: ( ruleExternMetricDefinition )
5196 {
5197 // InternalSolverLanguage.g:1554:2: ( ruleExternMetricDefinition )
5198 // InternalSolverLanguage.g:1555:3: ruleExternMetricDefinition
5199 {
5200 if ( state.backtracking==0 ) {
5201 before(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6());
5202 }
5203 pushFollow(FOLLOW_2);
5204 ruleExternMetricDefinition();
5205
5206 state._fsp--;
5207 if (state.failed) return ;
5208 if ( state.backtracking==0 ) {
5209 after(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6());
5210 }
5211
5212 }
5213
5214
5215 }
5216 break;
5217 case 8 :
5218 // InternalSolverLanguage.g:1560:2: ( ruleClassDefinition )
5219 {
5220 // InternalSolverLanguage.g:1560:2: ( ruleClassDefinition )
5221 // InternalSolverLanguage.g:1561:3: ruleClassDefinition
5222 {
5223 if ( state.backtracking==0 ) {
5224 before(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7());
5225 }
5226 pushFollow(FOLLOW_2);
5227 ruleClassDefinition();
5228
5229 state._fsp--;
5230 if (state.failed) return ;
5231 if ( state.backtracking==0 ) {
5232 after(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7());
5233 }
5234
5235 }
5236
5237
5238 }
5239 break;
5240 case 9 :
5241 // InternalSolverLanguage.g:1566:2: ( ruleScopeDefinition )
3540 { 5242 {
3541 // InternalSolverLanguage.g:1163:2: ( rulePredicate ) 5243 // InternalSolverLanguage.g:1566:2: ( ruleScopeDefinition )
3542 // InternalSolverLanguage.g:1164:3: rulePredicate 5244 // InternalSolverLanguage.g:1567:3: ruleScopeDefinition
3543 { 5245 {
3544 before(grammarAccess.getStatementAccess().getPredicateParserRuleCall_1()); 5246 if ( state.backtracking==0 ) {
5247 before(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8());
5248 }
3545 pushFollow(FOLLOW_2); 5249 pushFollow(FOLLOW_2);
3546 rulePredicate(); 5250 ruleScopeDefinition();
3547 5251
3548 state._fsp--; 5252 state._fsp--;
5253 if (state.failed) return ;
5254 if ( state.backtracking==0 ) {
5255 after(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8());
5256 }
5257
5258 }
5259
5260
5261 }
5262 break;
5263 case 10 :
5264 // InternalSolverLanguage.g:1572:2: ( ruleObjectiveDefinition )
5265 {
5266 // InternalSolverLanguage.g:1572:2: ( ruleObjectiveDefinition )
5267 // InternalSolverLanguage.g:1573:3: ruleObjectiveDefinition
5268 {
5269 if ( state.backtracking==0 ) {
5270 before(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9());
5271 }
5272 pushFollow(FOLLOW_2);
5273 ruleObjectiveDefinition();
3549 5274
3550 after(grammarAccess.getStatementAccess().getPredicateParserRuleCall_1()); 5275 state._fsp--;
5276 if (state.failed) return ;
5277 if ( state.backtracking==0 ) {
5278 after(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9());
5279 }
3551 5280
3552 } 5281 }
3553 5282
@@ -3568,52 +5297,68 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3568 } 5297 }
3569 return ; 5298 return ;
3570 } 5299 }
3571 // $ANTLR end "rule__Statement__Alternatives" 5300 // $ANTLR end "rule__Statement__Alternatives_0"
3572 5301
3573 5302
3574 // $ANTLR start "rule__BooleanValue__Alternatives" 5303 // $ANTLR start "rule__AssertionOrDefinition__Alternatives_1"
3575 // InternalSolverLanguage.g:1173:1: rule__BooleanValue__Alternatives : ( ( ( rule__BooleanValue__Group_0__0 ) ) | ( ( rule__BooleanValue__Group_1__0 ) ) ); 5304 // InternalSolverLanguage.g:1582:1: rule__AssertionOrDefinition__Alternatives_1 : ( ( ( rule__AssertionOrDefinition__Group_1_0__0 ) ) | ( ( rule__AssertionOrDefinition__Group_1_1__0 ) ) | ( ( rule__AssertionOrDefinition__Group_1_2__0 ) ) );
3576 public final void rule__BooleanValue__Alternatives() throws RecognitionException { 5305 public final void rule__AssertionOrDefinition__Alternatives_1() throws RecognitionException {
3577 5306
3578 int stackSize = keepStackSize(); 5307 int stackSize = keepStackSize();
3579 5308
3580 try { 5309 try {
3581 // InternalSolverLanguage.g:1177:1: ( ( ( rule__BooleanValue__Group_0__0 ) ) | ( ( rule__BooleanValue__Group_1__0 ) ) ) 5310 // InternalSolverLanguage.g:1586:1: ( ( ( rule__AssertionOrDefinition__Group_1_0__0 ) ) | ( ( rule__AssertionOrDefinition__Group_1_1__0 ) ) | ( ( rule__AssertionOrDefinition__Group_1_2__0 ) ) )
3582 int alt3=2; 5311 int alt3=3;
3583 int LA3_0 = input.LA(1); 5312 switch ( input.LA(1) ) {
3584 5313 case EOF:
3585 if ( (LA3_0==12) ) { 5314 case RULE_DOT:
5315 case 45:
5316 {
3586 alt3=1; 5317 alt3=1;
3587 } 5318 }
3588 else if ( (LA3_0==11) ) { 5319 break;
5320 case 46:
5321 {
3589 alt3=2; 5322 alt3=2;
3590 } 5323 }
3591 else { 5324 break;
5325 case 47:
5326 {
5327 alt3=3;
5328 }
5329 break;
5330 default:
5331 if (state.backtracking>0) {state.failed=true; return ;}
3592 NoViableAltException nvae = 5332 NoViableAltException nvae =
3593 new NoViableAltException("", 3, 0, input); 5333 new NoViableAltException("", 3, 0, input);
3594 5334
3595 throw nvae; 5335 throw nvae;
3596 } 5336 }
5337
3597 switch (alt3) { 5338 switch (alt3) {
3598 case 1 : 5339 case 1 :
3599 // InternalSolverLanguage.g:1178:2: ( ( rule__BooleanValue__Group_0__0 ) ) 5340 // InternalSolverLanguage.g:1587:2: ( ( rule__AssertionOrDefinition__Group_1_0__0 ) )
3600 { 5341 {
3601 // InternalSolverLanguage.g:1178:2: ( ( rule__BooleanValue__Group_0__0 ) ) 5342 // InternalSolverLanguage.g:1587:2: ( ( rule__AssertionOrDefinition__Group_1_0__0 ) )
3602 // InternalSolverLanguage.g:1179:3: ( rule__BooleanValue__Group_0__0 ) 5343 // InternalSolverLanguage.g:1588:3: ( rule__AssertionOrDefinition__Group_1_0__0 )
3603 { 5344 {
3604 before(grammarAccess.getBooleanValueAccess().getGroup_0()); 5345 if ( state.backtracking==0 ) {
3605 // InternalSolverLanguage.g:1180:3: ( rule__BooleanValue__Group_0__0 ) 5346 before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0());
3606 // InternalSolverLanguage.g:1180:4: rule__BooleanValue__Group_0__0 5347 }
5348 // InternalSolverLanguage.g:1589:3: ( rule__AssertionOrDefinition__Group_1_0__0 )
5349 // InternalSolverLanguage.g:1589:4: rule__AssertionOrDefinition__Group_1_0__0
3607 { 5350 {
3608 pushFollow(FOLLOW_2); 5351 pushFollow(FOLLOW_2);
3609 rule__BooleanValue__Group_0__0(); 5352 rule__AssertionOrDefinition__Group_1_0__0();
3610 5353
3611 state._fsp--; 5354 state._fsp--;
3612 5355 if (state.failed) return ;
3613 5356
3614 } 5357 }
3615 5358
3616 after(grammarAccess.getBooleanValueAccess().getGroup_0()); 5359 if ( state.backtracking==0 ) {
5360 after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0());
5361 }
3617 5362
3618 } 5363 }
3619 5364
@@ -3621,24 +5366,57 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3621 } 5366 }
3622 break; 5367 break;
3623 case 2 : 5368 case 2 :
3624 // InternalSolverLanguage.g:1184:2: ( ( rule__BooleanValue__Group_1__0 ) ) 5369 // InternalSolverLanguage.g:1593:2: ( ( rule__AssertionOrDefinition__Group_1_1__0 ) )
3625 { 5370 {
3626 // InternalSolverLanguage.g:1184:2: ( ( rule__BooleanValue__Group_1__0 ) ) 5371 // InternalSolverLanguage.g:1593:2: ( ( rule__AssertionOrDefinition__Group_1_1__0 ) )
3627 // InternalSolverLanguage.g:1185:3: ( rule__BooleanValue__Group_1__0 ) 5372 // InternalSolverLanguage.g:1594:3: ( rule__AssertionOrDefinition__Group_1_1__0 )
3628 { 5373 {
3629 before(grammarAccess.getBooleanValueAccess().getGroup_1()); 5374 if ( state.backtracking==0 ) {
3630 // InternalSolverLanguage.g:1186:3: ( rule__BooleanValue__Group_1__0 ) 5375 before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_1());
3631 // InternalSolverLanguage.g:1186:4: rule__BooleanValue__Group_1__0 5376 }
5377 // InternalSolverLanguage.g:1595:3: ( rule__AssertionOrDefinition__Group_1_1__0 )
5378 // InternalSolverLanguage.g:1595:4: rule__AssertionOrDefinition__Group_1_1__0
3632 { 5379 {
3633 pushFollow(FOLLOW_2); 5380 pushFollow(FOLLOW_2);
3634 rule__BooleanValue__Group_1__0(); 5381 rule__AssertionOrDefinition__Group_1_1__0();
3635 5382
3636 state._fsp--; 5383 state._fsp--;
5384 if (state.failed) return ;
3637 5385
5386 }
3638 5387
5388 if ( state.backtracking==0 ) {
5389 after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_1());
3639 } 5390 }
3640 5391
3641 after(grammarAccess.getBooleanValueAccess().getGroup_1()); 5392 }
5393
5394
5395 }
5396 break;
5397 case 3 :
5398 // InternalSolverLanguage.g:1599:2: ( ( rule__AssertionOrDefinition__Group_1_2__0 ) )
5399 {
5400 // InternalSolverLanguage.g:1599:2: ( ( rule__AssertionOrDefinition__Group_1_2__0 ) )
5401 // InternalSolverLanguage.g:1600:3: ( rule__AssertionOrDefinition__Group_1_2__0 )
5402 {
5403 if ( state.backtracking==0 ) {
5404 before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_2());
5405 }
5406 // InternalSolverLanguage.g:1601:3: ( rule__AssertionOrDefinition__Group_1_2__0 )
5407 // InternalSolverLanguage.g:1601:4: rule__AssertionOrDefinition__Group_1_2__0
5408 {
5409 pushFollow(FOLLOW_2);
5410 rule__AssertionOrDefinition__Group_1_2__0();
5411
5412 state._fsp--;
5413 if (state.failed) return ;
5414
5415 }
5416
5417 if ( state.backtracking==0 ) {
5418 after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_2());
5419 }
3642 5420
3643 } 5421 }
3644 5422
@@ -3659,66 +5437,57 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3659 } 5437 }
3660 return ; 5438 return ;
3661 } 5439 }
3662 // $ANTLR end "rule__BooleanValue__Alternatives" 5440 // $ANTLR end "rule__AssertionOrDefinition__Alternatives_1"
3663 5441
3664 5442
3665 // $ANTLR start "rule__TruthValue__Alternatives" 5443 // $ANTLR start "rule__PredicateDefinition__Alternatives_0"
3666 // InternalSolverLanguage.g:1194:1: rule__TruthValue__Alternatives : ( ( ( rule__TruthValue__Group_0__0 ) ) | ( ( rule__TruthValue__Group_1__0 ) ) | ( ( rule__TruthValue__Group_2__0 ) ) | ( ( rule__TruthValue__Group_3__0 ) ) ); 5444 // InternalSolverLanguage.g:1609:1: rule__PredicateDefinition__Alternatives_0 : ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( ( rule__PredicateDefinition__Group_0_1__0 ) ) );
3667 public final void rule__TruthValue__Alternatives() throws RecognitionException { 5445 public final void rule__PredicateDefinition__Alternatives_0() throws RecognitionException {
3668 5446
3669 int stackSize = keepStackSize(); 5447 int stackSize = keepStackSize();
3670 5448
3671 try { 5449 try {
3672 // InternalSolverLanguage.g:1198:1: ( ( ( rule__TruthValue__Group_0__0 ) ) | ( ( rule__TruthValue__Group_1__0 ) ) | ( ( rule__TruthValue__Group_2__0 ) ) | ( ( rule__TruthValue__Group_3__0 ) ) ) 5450 // InternalSolverLanguage.g:1613:1: ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( ( rule__PredicateDefinition__Group_0_1__0 ) ) )
3673 int alt4=4; 5451 int alt4=2;
3674 switch ( input.LA(1) ) { 5452 int LA4_0 = input.LA(1);
3675 case 12: 5453
3676 { 5454 if ( (LA4_0==72) ) {
3677 alt4=1; 5455 alt4=1;
3678 } 5456 }
3679 break; 5457 else if ( (LA4_0==42) ) {
3680 case 11:
3681 {
3682 alt4=2; 5458 alt4=2;
3683 } 5459 }
3684 break; 5460 else {
3685 case 15: 5461 if (state.backtracking>0) {state.failed=true; return ;}
3686 {
3687 alt4=3;
3688 }
3689 break;
3690 case 16:
3691 {
3692 alt4=4;
3693 }
3694 break;
3695 default:
3696 NoViableAltException nvae = 5462 NoViableAltException nvae =
3697 new NoViableAltException("", 4, 0, input); 5463 new NoViableAltException("", 4, 0, input);
3698 5464
3699 throw nvae; 5465 throw nvae;
3700 } 5466 }
3701
3702 switch (alt4) { 5467 switch (alt4) {
3703 case 1 : 5468 case 1 :
3704 // InternalSolverLanguage.g:1199:2: ( ( rule__TruthValue__Group_0__0 ) ) 5469 // InternalSolverLanguage.g:1614:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) )
3705 { 5470 {
3706 // InternalSolverLanguage.g:1199:2: ( ( rule__TruthValue__Group_0__0 ) ) 5471 // InternalSolverLanguage.g:1614:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) )
3707 // InternalSolverLanguage.g:1200:3: ( rule__TruthValue__Group_0__0 ) 5472 // InternalSolverLanguage.g:1615:3: ( rule__PredicateDefinition__Group_0_0__0 )
3708 { 5473 {
3709 before(grammarAccess.getTruthValueAccess().getGroup_0()); 5474 if ( state.backtracking==0 ) {
3710 // InternalSolverLanguage.g:1201:3: ( rule__TruthValue__Group_0__0 ) 5475 before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0());
3711 // InternalSolverLanguage.g:1201:4: rule__TruthValue__Group_0__0 5476 }
5477 // InternalSolverLanguage.g:1616:3: ( rule__PredicateDefinition__Group_0_0__0 )
5478 // InternalSolverLanguage.g:1616:4: rule__PredicateDefinition__Group_0_0__0
3712 { 5479 {
3713 pushFollow(FOLLOW_2); 5480 pushFollow(FOLLOW_2);
3714 rule__TruthValue__Group_0__0(); 5481 rule__PredicateDefinition__Group_0_0__0();
3715 5482
3716 state._fsp--; 5483 state._fsp--;
3717 5484 if (state.failed) return ;
3718 5485
3719 } 5486 }
3720 5487
3721 after(grammarAccess.getTruthValueAccess().getGroup_0()); 5488 if ( state.backtracking==0 ) {
5489 after(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0());
5490 }
3722 5491
3723 } 5492 }
3724 5493
@@ -3726,74 +5495,310 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3726 } 5495 }
3727 break; 5496 break;
3728 case 2 : 5497 case 2 :
3729 // InternalSolverLanguage.g:1205:2: ( ( rule__TruthValue__Group_1__0 ) ) 5498 // InternalSolverLanguage.g:1620:2: ( ( rule__PredicateDefinition__Group_0_1__0 ) )
3730 { 5499 {
3731 // InternalSolverLanguage.g:1205:2: ( ( rule__TruthValue__Group_1__0 ) ) 5500 // InternalSolverLanguage.g:1620:2: ( ( rule__PredicateDefinition__Group_0_1__0 ) )
3732 // InternalSolverLanguage.g:1206:3: ( rule__TruthValue__Group_1__0 ) 5501 // InternalSolverLanguage.g:1621:3: ( rule__PredicateDefinition__Group_0_1__0 )
3733 { 5502 {
3734 before(grammarAccess.getTruthValueAccess().getGroup_1()); 5503 if ( state.backtracking==0 ) {
3735 // InternalSolverLanguage.g:1207:3: ( rule__TruthValue__Group_1__0 ) 5504 before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_1());
3736 // InternalSolverLanguage.g:1207:4: rule__TruthValue__Group_1__0 5505 }
5506 // InternalSolverLanguage.g:1622:3: ( rule__PredicateDefinition__Group_0_1__0 )
5507 // InternalSolverLanguage.g:1622:4: rule__PredicateDefinition__Group_0_1__0
3737 { 5508 {
3738 pushFollow(FOLLOW_2); 5509 pushFollow(FOLLOW_2);
3739 rule__TruthValue__Group_1__0(); 5510 rule__PredicateDefinition__Group_0_1__0();
3740 5511
3741 state._fsp--; 5512 state._fsp--;
3742 5513 if (state.failed) return ;
3743 5514
3744 } 5515 }
3745 5516
3746 after(grammarAccess.getTruthValueAccess().getGroup_1()); 5517 if ( state.backtracking==0 ) {
5518 after(grammarAccess.getPredicateDefinitionAccess().getGroup_0_1());
5519 }
3747 5520
3748 } 5521 }
3749 5522
3750 5523
3751 } 5524 }
3752 break; 5525 break;
3753 case 3 : 5526
3754 // InternalSolverLanguage.g:1211:2: ( ( rule__TruthValue__Group_2__0 ) ) 5527 }
5528 }
5529 catch (RecognitionException re) {
5530 reportError(re);
5531 recover(input,re);
5532 }
5533 finally {
5534
5535 restoreStackSize(stackSize);
5536
5537 }
5538 return ;
5539 }
5540 // $ANTLR end "rule__PredicateDefinition__Alternatives_0"
5541
5542
5543 // $ANTLR start "rule__Expression__Alternatives"
5544 // InternalSolverLanguage.g:1630:1: rule__Expression__Alternatives : ( ( ruleIfElse ) | ( ruleDisjunctiveExpression ) );
5545 public final void rule__Expression__Alternatives() throws RecognitionException {
5546
5547 int stackSize = keepStackSize();
5548
5549 try {
5550 // InternalSolverLanguage.g:1634:1: ( ( ruleIfElse ) | ( ruleDisjunctiveExpression ) )
5551 int alt5=2;
5552 int LA5_0 = input.LA(1);
5553
5554 if ( (LA5_0==51) ) {
5555 alt5=1;
5556 }
5557 else if ( ((LA5_0>=RULE_INT && LA5_0<=RULE_QUOTED_ID)||LA5_0==RULE_ID||LA5_0==RULE_STRING||(LA5_0>=26 && LA5_0<=27)||(LA5_0>=29 && LA5_0<=42)||LA5_0==57||LA5_0==61||LA5_0==63||(LA5_0>=66 && LA5_0<=67)) ) {
5558 alt5=2;
5559 }
5560 else {
5561 if (state.backtracking>0) {state.failed=true; return ;}
5562 NoViableAltException nvae =
5563 new NoViableAltException("", 5, 0, input);
5564
5565 throw nvae;
5566 }
5567 switch (alt5) {
5568 case 1 :
5569 // InternalSolverLanguage.g:1635:2: ( ruleIfElse )
3755 { 5570 {
3756 // InternalSolverLanguage.g:1211:2: ( ( rule__TruthValue__Group_2__0 ) ) 5571 // InternalSolverLanguage.g:1635:2: ( ruleIfElse )
3757 // InternalSolverLanguage.g:1212:3: ( rule__TruthValue__Group_2__0 ) 5572 // InternalSolverLanguage.g:1636:3: ruleIfElse
3758 { 5573 {
3759 before(grammarAccess.getTruthValueAccess().getGroup_2()); 5574 if ( state.backtracking==0 ) {
3760 // InternalSolverLanguage.g:1213:3: ( rule__TruthValue__Group_2__0 ) 5575 before(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0());
3761 // InternalSolverLanguage.g:1213:4: rule__TruthValue__Group_2__0 5576 }
5577 pushFollow(FOLLOW_2);
5578 ruleIfElse();
5579
5580 state._fsp--;
5581 if (state.failed) return ;
5582 if ( state.backtracking==0 ) {
5583 after(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0());
5584 }
5585
5586 }
5587
5588
5589 }
5590 break;
5591 case 2 :
5592 // InternalSolverLanguage.g:1641:2: ( ruleDisjunctiveExpression )
5593 {
5594 // InternalSolverLanguage.g:1641:2: ( ruleDisjunctiveExpression )
5595 // InternalSolverLanguage.g:1642:3: ruleDisjunctiveExpression
3762 { 5596 {
5597 if ( state.backtracking==0 ) {
5598 before(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1());
5599 }
3763 pushFollow(FOLLOW_2); 5600 pushFollow(FOLLOW_2);
3764 rule__TruthValue__Group_2__0(); 5601 ruleDisjunctiveExpression();
3765 5602
3766 state._fsp--; 5603 state._fsp--;
5604 if (state.failed) return ;
5605 if ( state.backtracking==0 ) {
5606 after(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1());
5607 }
5608
5609 }
5610
5611
5612 }
5613 break;
5614
5615 }
5616 }
5617 catch (RecognitionException re) {
5618 reportError(re);
5619 recover(input,re);
5620 }
5621 finally {
5622
5623 restoreStackSize(stackSize);
5624
5625 }
5626 return ;
5627 }
5628 // $ANTLR end "rule__Expression__Alternatives"
5629
5630
5631 // $ANTLR start "rule__DisjunctiveExpression__Alternatives_1"
5632 // InternalSolverLanguage.g:1651:1: rule__DisjunctiveExpression__Alternatives_1 : ( ( ( rule__DisjunctiveExpression__Group_1_0__0 ) ) | ( ( rule__DisjunctiveExpression__Group_1_1__0 ) ) );
5633 public final void rule__DisjunctiveExpression__Alternatives_1() throws RecognitionException {
5634
5635 int stackSize = keepStackSize();
5636
5637 try {
5638 // InternalSolverLanguage.g:1655:1: ( ( ( rule__DisjunctiveExpression__Group_1_0__0 ) ) | ( ( rule__DisjunctiveExpression__Group_1_1__0 ) ) )
5639 int alt6=2;
5640 int LA6_0 = input.LA(1);
5641
5642 if ( (LA6_0==54) ) {
5643 alt6=1;
5644 }
5645 else if ( (LA6_0==55) ) {
5646 alt6=2;
5647 }
5648 else {
5649 if (state.backtracking>0) {state.failed=true; return ;}
5650 NoViableAltException nvae =
5651 new NoViableAltException("", 6, 0, input);
5652
5653 throw nvae;
5654 }
5655 switch (alt6) {
5656 case 1 :
5657 // InternalSolverLanguage.g:1656:2: ( ( rule__DisjunctiveExpression__Group_1_0__0 ) )
5658 {
5659 // InternalSolverLanguage.g:1656:2: ( ( rule__DisjunctiveExpression__Group_1_0__0 ) )
5660 // InternalSolverLanguage.g:1657:3: ( rule__DisjunctiveExpression__Group_1_0__0 )
5661 {
5662 if ( state.backtracking==0 ) {
5663 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0());
5664 }
5665 // InternalSolverLanguage.g:1658:3: ( rule__DisjunctiveExpression__Group_1_0__0 )
5666 // InternalSolverLanguage.g:1658:4: rule__DisjunctiveExpression__Group_1_0__0
5667 {
5668 pushFollow(FOLLOW_2);
5669 rule__DisjunctiveExpression__Group_1_0__0();
3767 5670
5671 state._fsp--;
5672 if (state.failed) return ;
3768 5673
3769 } 5674 }
3770 5675
3771 after(grammarAccess.getTruthValueAccess().getGroup_2()); 5676 if ( state.backtracking==0 ) {
5677 after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0());
5678 }
3772 5679
3773 } 5680 }
3774 5681
3775 5682
3776 } 5683 }
3777 break; 5684 break;
3778 case 4 : 5685 case 2 :
3779 // InternalSolverLanguage.g:1217:2: ( ( rule__TruthValue__Group_3__0 ) ) 5686 // InternalSolverLanguage.g:1662:2: ( ( rule__DisjunctiveExpression__Group_1_1__0 ) )
5687 {
5688 // InternalSolverLanguage.g:1662:2: ( ( rule__DisjunctiveExpression__Group_1_1__0 ) )
5689 // InternalSolverLanguage.g:1663:3: ( rule__DisjunctiveExpression__Group_1_1__0 )
3780 { 5690 {
3781 // InternalSolverLanguage.g:1217:2: ( ( rule__TruthValue__Group_3__0 ) ) 5691 if ( state.backtracking==0 ) {
3782 // InternalSolverLanguage.g:1218:3: ( rule__TruthValue__Group_3__0 ) 5692 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1());
5693 }
5694 // InternalSolverLanguage.g:1664:3: ( rule__DisjunctiveExpression__Group_1_1__0 )
5695 // InternalSolverLanguage.g:1664:4: rule__DisjunctiveExpression__Group_1_1__0
5696 {
5697 pushFollow(FOLLOW_2);
5698 rule__DisjunctiveExpression__Group_1_1__0();
5699
5700 state._fsp--;
5701 if (state.failed) return ;
5702
5703 }
5704
5705 if ( state.backtracking==0 ) {
5706 after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1());
5707 }
5708
5709 }
5710
5711
5712 }
5713 break;
5714
5715 }
5716 }
5717 catch (RecognitionException re) {
5718 reportError(re);
5719 recover(input,re);
5720 }
5721 finally {
5722
5723 restoreStackSize(stackSize);
5724
5725 }
5726 return ;
5727 }
5728 // $ANTLR end "rule__DisjunctiveExpression__Alternatives_1"
5729
5730
5731 // $ANTLR start "rule__UnaryExpression__Alternatives"
5732 // InternalSolverLanguage.g:1672:1: rule__UnaryExpression__Alternatives : ( ( ruleAggregationExpression ) | ( ( rule__UnaryExpression__Group_1__0 ) ) );
5733 public final void rule__UnaryExpression__Alternatives() throws RecognitionException {
5734
5735 int stackSize = keepStackSize();
5736
5737 try {
5738 // InternalSolverLanguage.g:1676:1: ( ( ruleAggregationExpression ) | ( ( rule__UnaryExpression__Group_1__0 ) ) )
5739 int alt7=2;
5740 int LA7_0 = input.LA(1);
5741
5742 if ( ((LA7_0>=RULE_INT && LA7_0<=RULE_QUOTED_ID)||LA7_0==RULE_ID||LA7_0==RULE_STRING||(LA7_0>=33 && LA7_0<=42)||LA7_0==57||LA7_0==61||LA7_0==63||(LA7_0>=66 && LA7_0<=67)) ) {
5743 alt7=1;
5744 }
5745 else if ( ((LA7_0>=26 && LA7_0<=27)||(LA7_0>=29 && LA7_0<=32)) ) {
5746 alt7=2;
5747 }
5748 else {
5749 if (state.backtracking>0) {state.failed=true; return ;}
5750 NoViableAltException nvae =
5751 new NoViableAltException("", 7, 0, input);
5752
5753 throw nvae;
5754 }
5755 switch (alt7) {
5756 case 1 :
5757 // InternalSolverLanguage.g:1677:2: ( ruleAggregationExpression )
3783 { 5758 {
3784 before(grammarAccess.getTruthValueAccess().getGroup_3()); 5759 // InternalSolverLanguage.g:1677:2: ( ruleAggregationExpression )
3785 // InternalSolverLanguage.g:1219:3: ( rule__TruthValue__Group_3__0 ) 5760 // InternalSolverLanguage.g:1678:3: ruleAggregationExpression
3786 // InternalSolverLanguage.g:1219:4: rule__TruthValue__Group_3__0
3787 { 5761 {
5762 if ( state.backtracking==0 ) {
5763 before(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0());
5764 }
3788 pushFollow(FOLLOW_2); 5765 pushFollow(FOLLOW_2);
3789 rule__TruthValue__Group_3__0(); 5766 ruleAggregationExpression();
3790 5767
3791 state._fsp--; 5768 state._fsp--;
5769 if (state.failed) return ;
5770 if ( state.backtracking==0 ) {
5771 after(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0());
5772 }
3792 5773
5774 }
5775
5776
5777 }
5778 break;
5779 case 2 :
5780 // InternalSolverLanguage.g:1683:2: ( ( rule__UnaryExpression__Group_1__0 ) )
5781 {
5782 // InternalSolverLanguage.g:1683:2: ( ( rule__UnaryExpression__Group_1__0 ) )
5783 // InternalSolverLanguage.g:1684:3: ( rule__UnaryExpression__Group_1__0 )
5784 {
5785 if ( state.backtracking==0 ) {
5786 before(grammarAccess.getUnaryExpressionAccess().getGroup_1());
5787 }
5788 // InternalSolverLanguage.g:1685:3: ( rule__UnaryExpression__Group_1__0 )
5789 // InternalSolverLanguage.g:1685:4: rule__UnaryExpression__Group_1__0
5790 {
5791 pushFollow(FOLLOW_2);
5792 rule__UnaryExpression__Group_1__0();
5793
5794 state._fsp--;
5795 if (state.failed) return ;
3793 5796
3794 } 5797 }
3795 5798
3796 after(grammarAccess.getTruthValueAccess().getGroup_3()); 5799 if ( state.backtracking==0 ) {
5800 after(grammarAccess.getUnaryExpressionAccess().getGroup_1());
5801 }
3797 5802
3798 } 5803 }
3799 5804
@@ -3814,65 +5819,76 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3814 } 5819 }
3815 return ; 5820 return ;
3816 } 5821 }
3817 // $ANTLR end "rule__TruthValue__Alternatives" 5822 // $ANTLR end "rule__UnaryExpression__Alternatives"
3818 5823
3819 5824
3820 // $ANTLR start "rule__Interpretation__Alternatives" 5825 // $ANTLR start "rule__AggregationExpression__Alternatives"
3821 // InternalSolverLanguage.g:1227:1: rule__Interpretation__Alternatives : ( ( ruleBasicInterpretation ) | ( ruleDefaultInterpretation ) | ( ruleCDInterpretation ) ); 5826 // InternalSolverLanguage.g:1693:1: rule__AggregationExpression__Alternatives : ( ( ruleAtomicExpression ) | ( ruleCount ) | ( ruleAggregation ) );
3822 public final void rule__Interpretation__Alternatives() throws RecognitionException { 5827 public final void rule__AggregationExpression__Alternatives() throws RecognitionException {
3823 5828
3824 int stackSize = keepStackSize(); 5829 int stackSize = keepStackSize();
3825 5830
3826 try { 5831 try {
3827 // InternalSolverLanguage.g:1231:1: ( ( ruleBasicInterpretation ) | ( ruleDefaultInterpretation ) | ( ruleCDInterpretation ) ) 5832 // InternalSolverLanguage.g:1697:1: ( ( ruleAtomicExpression ) | ( ruleCount ) | ( ruleAggregation ) )
3828 int alt5=3; 5833 int alt8=3;
3829 switch ( input.LA(1) ) { 5834 switch ( input.LA(1) ) {
5835 case RULE_INT:
5836 case RULE_QUOTED_ID:
3830 case RULE_ID: 5837 case RULE_ID:
3831 case 21: 5838 case RULE_STRING:
3832 case 22: 5839 case 39:
3833 case 23: 5840 case 40:
3834 case 24: 5841 case 41:
3835 case 25: 5842 case 42:
3836 case 26: 5843 case 61:
5844 case 63:
5845 case 66:
5846 case 67:
3837 { 5847 {
3838 alt5=1; 5848 alt8=1;
3839 } 5849 }
3840 break; 5850 break;
3841 case 32: 5851 case 57:
3842 { 5852 {
3843 alt5=2; 5853 alt8=2;
3844 } 5854 }
3845 break; 5855 break;
3846 case 33: 5856 case 33:
5857 case 34:
5858 case 35:
5859 case 36:
3847 case 37: 5860 case 37:
3848 case 38: 5861 case 38:
3849 case 40:
3850 case 41:
3851 { 5862 {
3852 alt5=3; 5863 alt8=3;
3853 } 5864 }
3854 break; 5865 break;
3855 default: 5866 default:
5867 if (state.backtracking>0) {state.failed=true; return ;}
3856 NoViableAltException nvae = 5868 NoViableAltException nvae =
3857 new NoViableAltException("", 5, 0, input); 5869 new NoViableAltException("", 8, 0, input);
3858 5870
3859 throw nvae; 5871 throw nvae;
3860 } 5872 }
3861 5873
3862 switch (alt5) { 5874 switch (alt8) {
3863 case 1 : 5875 case 1 :
3864 // InternalSolverLanguage.g:1232:2: ( ruleBasicInterpretation ) 5876 // InternalSolverLanguage.g:1698:2: ( ruleAtomicExpression )
3865 { 5877 {
3866 // InternalSolverLanguage.g:1232:2: ( ruleBasicInterpretation ) 5878 // InternalSolverLanguage.g:1698:2: ( ruleAtomicExpression )
3867 // InternalSolverLanguage.g:1233:3: ruleBasicInterpretation 5879 // InternalSolverLanguage.g:1699:3: ruleAtomicExpression
3868 { 5880 {
3869 before(grammarAccess.getInterpretationAccess().getBasicInterpretationParserRuleCall_0()); 5881 if ( state.backtracking==0 ) {
5882 before(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0());
5883 }
3870 pushFollow(FOLLOW_2); 5884 pushFollow(FOLLOW_2);
3871 ruleBasicInterpretation(); 5885 ruleAtomicExpression();
3872 5886
3873 state._fsp--; 5887 state._fsp--;
3874 5888 if (state.failed) return ;
3875 after(grammarAccess.getInterpretationAccess().getBasicInterpretationParserRuleCall_0()); 5889 if ( state.backtracking==0 ) {
5890 after(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0());
5891 }
3876 5892
3877 } 5893 }
3878 5894
@@ -3880,18 +5896,22 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3880 } 5896 }
3881 break; 5897 break;
3882 case 2 : 5898 case 2 :
3883 // InternalSolverLanguage.g:1238:2: ( ruleDefaultInterpretation ) 5899 // InternalSolverLanguage.g:1704:2: ( ruleCount )
3884 { 5900 {
3885 // InternalSolverLanguage.g:1238:2: ( ruleDefaultInterpretation ) 5901 // InternalSolverLanguage.g:1704:2: ( ruleCount )
3886 // InternalSolverLanguage.g:1239:3: ruleDefaultInterpretation 5902 // InternalSolverLanguage.g:1705:3: ruleCount
3887 { 5903 {
3888 before(grammarAccess.getInterpretationAccess().getDefaultInterpretationParserRuleCall_1()); 5904 if ( state.backtracking==0 ) {
5905 before(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1());
5906 }
3889 pushFollow(FOLLOW_2); 5907 pushFollow(FOLLOW_2);
3890 ruleDefaultInterpretation(); 5908 ruleCount();
3891 5909
3892 state._fsp--; 5910 state._fsp--;
3893 5911 if (state.failed) return ;
3894 after(grammarAccess.getInterpretationAccess().getDefaultInterpretationParserRuleCall_1()); 5912 if ( state.backtracking==0 ) {
5913 after(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1());
5914 }
3895 5915
3896 } 5916 }
3897 5917
@@ -3899,18 +5919,22 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3899 } 5919 }
3900 break; 5920 break;
3901 case 3 : 5921 case 3 :
3902 // InternalSolverLanguage.g:1244:2: ( ruleCDInterpretation ) 5922 // InternalSolverLanguage.g:1710:2: ( ruleAggregation )
3903 { 5923 {
3904 // InternalSolverLanguage.g:1244:2: ( ruleCDInterpretation ) 5924 // InternalSolverLanguage.g:1710:2: ( ruleAggregation )
3905 // InternalSolverLanguage.g:1245:3: ruleCDInterpretation 5925 // InternalSolverLanguage.g:1711:3: ruleAggregation
3906 { 5926 {
3907 before(grammarAccess.getInterpretationAccess().getCDInterpretationParserRuleCall_2()); 5927 if ( state.backtracking==0 ) {
5928 before(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2());
5929 }
3908 pushFollow(FOLLOW_2); 5930 pushFollow(FOLLOW_2);
3909 ruleCDInterpretation(); 5931 ruleAggregation();
3910 5932
3911 state._fsp--; 5933 state._fsp--;
3912 5934 if (state.failed) return ;
3913 after(grammarAccess.getInterpretationAccess().getCDInterpretationParserRuleCall_2()); 5935 if ( state.backtracking==0 ) {
5936 after(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2());
5937 }
3914 5938
3915 } 5939 }
3916 5940
@@ -3931,59 +5955,79 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3931 } 5955 }
3932 return ; 5956 return ;
3933 } 5957 }
3934 // $ANTLR end "rule__Interpretation__Alternatives" 5958 // $ANTLR end "rule__AggregationExpression__Alternatives"
3935 5959
3936 5960
3937 // $ANTLR start "rule__Symbol__Alternatives" 5961 // $ANTLR start "rule__AtomicExpression__Alternatives"
3938 // InternalSolverLanguage.g:1254:1: rule__Symbol__Alternatives : ( ( ruleModelSymbol ) | ( rulePartialitySymbol ) | ( ruleDataSymbol ) ); 5962 // InternalSolverLanguage.g:1720:1: rule__AtomicExpression__Alternatives : ( ( ( rule__AtomicExpression__Group_0__0 ) ) | ( ruleInterval ) | ( ruleLiteral ) | ( ( rule__AtomicExpression__Group_3__0 ) ) );
3939 public final void rule__Symbol__Alternatives() throws RecognitionException { 5963 public final void rule__AtomicExpression__Alternatives() throws RecognitionException {
3940 5964
3941 int stackSize = keepStackSize(); 5965 int stackSize = keepStackSize();
3942 5966
3943 try { 5967 try {
3944 // InternalSolverLanguage.g:1258:1: ( ( ruleModelSymbol ) | ( rulePartialitySymbol ) | ( ruleDataSymbol ) ) 5968 // InternalSolverLanguage.g:1724:1: ( ( ( rule__AtomicExpression__Group_0__0 ) ) | ( ruleInterval ) | ( ruleLiteral ) | ( ( rule__AtomicExpression__Group_3__0 ) ) )
3945 int alt6=3; 5969 int alt9=4;
3946 switch ( input.LA(1) ) { 5970 switch ( input.LA(1) ) {
5971 case RULE_QUOTED_ID:
3947 case RULE_ID: 5972 case RULE_ID:
3948 { 5973 {
3949 alt6=1; 5974 alt9=1;
3950 } 5975 }
3951 break; 5976 break;
3952 case 21: 5977 case 63:
3953 case 22:
3954 { 5978 {
3955 alt6=2; 5979 alt9=2;
3956 } 5980 }
3957 break; 5981 break;
3958 case 23: 5982 case RULE_INT:
3959 case 24: 5983 case RULE_STRING:
3960 case 25: 5984 case 39:
3961 case 26: 5985 case 40:
5986 case 41:
5987 case 42:
5988 case 66:
5989 case 67:
5990 {
5991 alt9=3;
5992 }
5993 break;
5994 case 61:
3962 { 5995 {
3963 alt6=3; 5996 alt9=4;
3964 } 5997 }
3965 break; 5998 break;
3966 default: 5999 default:
6000 if (state.backtracking>0) {state.failed=true; return ;}
3967 NoViableAltException nvae = 6001 NoViableAltException nvae =
3968 new NoViableAltException("", 6, 0, input); 6002 new NoViableAltException("", 9, 0, input);
3969 6003
3970 throw nvae; 6004 throw nvae;
3971 } 6005 }
3972 6006
3973 switch (alt6) { 6007 switch (alt9) {
3974 case 1 : 6008 case 1 :
3975 // InternalSolverLanguage.g:1259:2: ( ruleModelSymbol ) 6009 // InternalSolverLanguage.g:1725:2: ( ( rule__AtomicExpression__Group_0__0 ) )
3976 { 6010 {
3977 // InternalSolverLanguage.g:1259:2: ( ruleModelSymbol ) 6011 // InternalSolverLanguage.g:1725:2: ( ( rule__AtomicExpression__Group_0__0 ) )
3978 // InternalSolverLanguage.g:1260:3: ruleModelSymbol 6012 // InternalSolverLanguage.g:1726:3: ( rule__AtomicExpression__Group_0__0 )
6013 {
6014 if ( state.backtracking==0 ) {
6015 before(grammarAccess.getAtomicExpressionAccess().getGroup_0());
6016 }
6017 // InternalSolverLanguage.g:1727:3: ( rule__AtomicExpression__Group_0__0 )
6018 // InternalSolverLanguage.g:1727:4: rule__AtomicExpression__Group_0__0
3979 { 6019 {
3980 before(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0());
3981 pushFollow(FOLLOW_2); 6020 pushFollow(FOLLOW_2);
3982 ruleModelSymbol(); 6021 rule__AtomicExpression__Group_0__0();
3983 6022
3984 state._fsp--; 6023 state._fsp--;
6024 if (state.failed) return ;
3985 6025
3986 after(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0()); 6026 }
6027
6028 if ( state.backtracking==0 ) {
6029 after(grammarAccess.getAtomicExpressionAccess().getGroup_0());
6030 }
3987 6031
3988 } 6032 }
3989 6033
@@ -3991,18 +6035,22 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
3991 } 6035 }
3992 break; 6036 break;
3993 case 2 : 6037 case 2 :
3994 // InternalSolverLanguage.g:1265:2: ( rulePartialitySymbol ) 6038 // InternalSolverLanguage.g:1731:2: ( ruleInterval )
3995 { 6039 {
3996 // InternalSolverLanguage.g:1265:2: ( rulePartialitySymbol ) 6040 // InternalSolverLanguage.g:1731:2: ( ruleInterval )
3997 // InternalSolverLanguage.g:1266:3: rulePartialitySymbol 6041 // InternalSolverLanguage.g:1732:3: ruleInterval
3998 { 6042 {
3999 before(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1()); 6043 if ( state.backtracking==0 ) {
6044 before(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_1());
6045 }
4000 pushFollow(FOLLOW_2); 6046 pushFollow(FOLLOW_2);
4001 rulePartialitySymbol(); 6047 ruleInterval();
4002 6048
4003 state._fsp--; 6049 state._fsp--;
4004 6050 if (state.failed) return ;
4005 after(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1()); 6051 if ( state.backtracking==0 ) {
6052 after(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_1());
6053 }
4006 6054
4007 } 6055 }
4008 6056
@@ -4010,18 +6058,51 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4010 } 6058 }
4011 break; 6059 break;
4012 case 3 : 6060 case 3 :
4013 // InternalSolverLanguage.g:1271:2: ( ruleDataSymbol ) 6061 // InternalSolverLanguage.g:1737:2: ( ruleLiteral )
4014 { 6062 {
4015 // InternalSolverLanguage.g:1271:2: ( ruleDataSymbol ) 6063 // InternalSolverLanguage.g:1737:2: ( ruleLiteral )
4016 // InternalSolverLanguage.g:1272:3: ruleDataSymbol 6064 // InternalSolverLanguage.g:1738:3: ruleLiteral
4017 { 6065 {
4018 before(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2()); 6066 if ( state.backtracking==0 ) {
6067 before(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_2());
6068 }
4019 pushFollow(FOLLOW_2); 6069 pushFollow(FOLLOW_2);
4020 ruleDataSymbol(); 6070 ruleLiteral();
4021 6071
4022 state._fsp--; 6072 state._fsp--;
6073 if (state.failed) return ;
6074 if ( state.backtracking==0 ) {
6075 after(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_2());
6076 }
6077
6078 }
4023 6079
4024 after(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2()); 6080
6081 }
6082 break;
6083 case 4 :
6084 // InternalSolverLanguage.g:1743:2: ( ( rule__AtomicExpression__Group_3__0 ) )
6085 {
6086 // InternalSolverLanguage.g:1743:2: ( ( rule__AtomicExpression__Group_3__0 ) )
6087 // InternalSolverLanguage.g:1744:3: ( rule__AtomicExpression__Group_3__0 )
6088 {
6089 if ( state.backtracking==0 ) {
6090 before(grammarAccess.getAtomicExpressionAccess().getGroup_3());
6091 }
6092 // InternalSolverLanguage.g:1745:3: ( rule__AtomicExpression__Group_3__0 )
6093 // InternalSolverLanguage.g:1745:4: rule__AtomicExpression__Group_3__0
6094 {
6095 pushFollow(FOLLOW_2);
6096 rule__AtomicExpression__Group_3__0();
6097
6098 state._fsp--;
6099 if (state.failed) return ;
6100
6101 }
6102
6103 if ( state.backtracking==0 ) {
6104 after(grammarAccess.getAtomicExpressionAccess().getGroup_3());
6105 }
4025 6106
4026 } 6107 }
4027 6108
@@ -4042,46 +6123,57 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4042 } 6123 }
4043 return ; 6124 return ;
4044 } 6125 }
4045 // $ANTLR end "rule__Symbol__Alternatives" 6126 // $ANTLR end "rule__AtomicExpression__Alternatives"
4046 6127
4047 6128
4048 // $ANTLR start "rule__PartialitySymbol__Alternatives" 6129 // $ANTLR start "rule__Call__Alternatives_1"
4049 // InternalSolverLanguage.g:1281:1: rule__PartialitySymbol__Alternatives : ( ( ruleExistSymbol ) | ( ruleEqualsSymbol ) ); 6130 // InternalSolverLanguage.g:1753:1: rule__Call__Alternatives_1 : ( ( ( rule__Call__TransitiveClosureAssignment_1_0 ) ) | ( ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) ) );
4050 public final void rule__PartialitySymbol__Alternatives() throws RecognitionException { 6131 public final void rule__Call__Alternatives_1() throws RecognitionException {
4051 6132
4052 int stackSize = keepStackSize(); 6133 int stackSize = keepStackSize();
4053 6134
4054 try { 6135 try {
4055 // InternalSolverLanguage.g:1285:1: ( ( ruleExistSymbol ) | ( ruleEqualsSymbol ) ) 6136 // InternalSolverLanguage.g:1757:1: ( ( ( rule__Call__TransitiveClosureAssignment_1_0 ) ) | ( ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) ) )
4056 int alt7=2; 6137 int alt10=2;
4057 int LA7_0 = input.LA(1); 6138 int LA10_0 = input.LA(1);
4058 6139
4059 if ( (LA7_0==21) ) { 6140 if ( (LA10_0==RULE_STAR) ) {
4060 alt7=1; 6141 alt10=1;
4061 } 6142 }
4062 else if ( (LA7_0==22) ) { 6143 else if ( (LA10_0==RULE_PLUS) ) {
4063 alt7=2; 6144 alt10=2;
4064 } 6145 }
4065 else { 6146 else {
6147 if (state.backtracking>0) {state.failed=true; return ;}
4066 NoViableAltException nvae = 6148 NoViableAltException nvae =
4067 new NoViableAltException("", 7, 0, input); 6149 new NoViableAltException("", 10, 0, input);
4068 6150
4069 throw nvae; 6151 throw nvae;
4070 } 6152 }
4071 switch (alt7) { 6153 switch (alt10) {
4072 case 1 : 6154 case 1 :
4073 // InternalSolverLanguage.g:1286:2: ( ruleExistSymbol ) 6155 // InternalSolverLanguage.g:1758:2: ( ( rule__Call__TransitiveClosureAssignment_1_0 ) )
4074 { 6156 {
4075 // InternalSolverLanguage.g:1286:2: ( ruleExistSymbol ) 6157 // InternalSolverLanguage.g:1758:2: ( ( rule__Call__TransitiveClosureAssignment_1_0 ) )
4076 // InternalSolverLanguage.g:1287:3: ruleExistSymbol 6158 // InternalSolverLanguage.g:1759:3: ( rule__Call__TransitiveClosureAssignment_1_0 )
6159 {
6160 if ( state.backtracking==0 ) {
6161 before(grammarAccess.getCallAccess().getTransitiveClosureAssignment_1_0());
6162 }
6163 // InternalSolverLanguage.g:1760:3: ( rule__Call__TransitiveClosureAssignment_1_0 )
6164 // InternalSolverLanguage.g:1760:4: rule__Call__TransitiveClosureAssignment_1_0
4077 { 6165 {
4078 before(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0());
4079 pushFollow(FOLLOW_2); 6166 pushFollow(FOLLOW_2);
4080 ruleExistSymbol(); 6167 rule__Call__TransitiveClosureAssignment_1_0();
4081 6168
4082 state._fsp--; 6169 state._fsp--;
6170 if (state.failed) return ;
4083 6171
4084 after(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0()); 6172 }
6173
6174 if ( state.backtracking==0 ) {
6175 after(grammarAccess.getCallAccess().getTransitiveClosureAssignment_1_0());
6176 }
4085 6177
4086 } 6178 }
4087 6179
@@ -4089,18 +6181,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4089 } 6181 }
4090 break; 6182 break;
4091 case 2 : 6183 case 2 :
4092 // InternalSolverLanguage.g:1292:2: ( ruleEqualsSymbol ) 6184 // InternalSolverLanguage.g:1764:2: ( ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) )
4093 { 6185 {
4094 // InternalSolverLanguage.g:1292:2: ( ruleEqualsSymbol ) 6186 // InternalSolverLanguage.g:1764:2: ( ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) )
4095 // InternalSolverLanguage.g:1293:3: ruleEqualsSymbol 6187 // InternalSolverLanguage.g:1765:3: ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 )
6188 {
6189 if ( state.backtracking==0 ) {
6190 before(grammarAccess.getCallAccess().getReflexiveTransitiveClosureAssignment_1_1());
6191 }
6192 // InternalSolverLanguage.g:1766:3: ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 )
6193 // InternalSolverLanguage.g:1766:4: rule__Call__ReflexiveTransitiveClosureAssignment_1_1
4096 { 6194 {
4097 before(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1());
4098 pushFollow(FOLLOW_2); 6195 pushFollow(FOLLOW_2);
4099 ruleEqualsSymbol(); 6196 rule__Call__ReflexiveTransitiveClosureAssignment_1_1();
4100 6197
4101 state._fsp--; 6198 state._fsp--;
6199 if (state.failed) return ;
4102 6200
4103 after(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1()); 6201 }
6202
6203 if ( state.backtracking==0 ) {
6204 after(grammarAccess.getCallAccess().getReflexiveTransitiveClosureAssignment_1_1());
6205 }
4104 6206
4105 } 6207 }
4106 6208
@@ -4121,60 +6223,37 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4121 } 6223 }
4122 return ; 6224 return ;
4123 } 6225 }
4124 // $ANTLR end "rule__PartialitySymbol__Alternatives" 6226 // $ANTLR end "rule__Call__Alternatives_1"
4125 6227
4126 6228
4127 // $ANTLR start "rule__DataSymbol__Alternatives" 6229 // $ANTLR start "rule__Argument__Alternatives"
4128 // InternalSolverLanguage.g:1302:1: rule__DataSymbol__Alternatives : ( ( ruleBooleanSymbol ) | ( ruleIntegerSymbol ) | ( ruleRealSymbol ) | ( ruleStringSymbol ) ); 6230 // InternalSolverLanguage.g:1774:1: rule__Argument__Alternatives : ( ( ruleExpressionArgument ) | ( ruleStarArgument ) | ( ruleTypedArgument ) | ( ruleTypedStarArgument ) );
4129 public final void rule__DataSymbol__Alternatives() throws RecognitionException { 6231 public final void rule__Argument__Alternatives() throws RecognitionException {
4130 6232
4131 int stackSize = keepStackSize(); 6233 int stackSize = keepStackSize();
4132 6234
4133 try { 6235 try {
4134 // InternalSolverLanguage.g:1306:1: ( ( ruleBooleanSymbol ) | ( ruleIntegerSymbol ) | ( ruleRealSymbol ) | ( ruleStringSymbol ) ) 6236 // InternalSolverLanguage.g:1778:1: ( ( ruleExpressionArgument ) | ( ruleStarArgument ) | ( ruleTypedArgument ) | ( ruleTypedStarArgument ) )
4135 int alt8=4; 6237 int alt11=4;
4136 switch ( input.LA(1) ) { 6238 alt11 = dfa11.predict(input);
4137 case 23: 6239 switch (alt11) {
4138 {
4139 alt8=1;
4140 }
4141 break;
4142 case 24:
4143 {
4144 alt8=2;
4145 }
4146 break;
4147 case 25:
4148 {
4149 alt8=3;
4150 }
4151 break;
4152 case 26:
4153 {
4154 alt8=4;
4155 }
4156 break;
4157 default:
4158 NoViableAltException nvae =
4159 new NoViableAltException("", 8, 0, input);
4160
4161 throw nvae;
4162 }
4163
4164 switch (alt8) {
4165 case 1 : 6240 case 1 :
4166 // InternalSolverLanguage.g:1307:2: ( ruleBooleanSymbol ) 6241 // InternalSolverLanguage.g:1779:2: ( ruleExpressionArgument )
4167 { 6242 {
4168 // InternalSolverLanguage.g:1307:2: ( ruleBooleanSymbol ) 6243 // InternalSolverLanguage.g:1779:2: ( ruleExpressionArgument )
4169 // InternalSolverLanguage.g:1308:3: ruleBooleanSymbol 6244 // InternalSolverLanguage.g:1780:3: ruleExpressionArgument
4170 { 6245 {
4171 before(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0()); 6246 if ( state.backtracking==0 ) {
6247 before(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0());
6248 }
4172 pushFollow(FOLLOW_2); 6249 pushFollow(FOLLOW_2);
4173 ruleBooleanSymbol(); 6250 ruleExpressionArgument();
4174 6251
4175 state._fsp--; 6252 state._fsp--;
4176 6253 if (state.failed) return ;
4177 after(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0()); 6254 if ( state.backtracking==0 ) {
6255 after(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0());
6256 }
4178 6257
4179 } 6258 }
4180 6259
@@ -4182,18 +6261,22 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4182 } 6261 }
4183 break; 6262 break;
4184 case 2 : 6263 case 2 :
4185 // InternalSolverLanguage.g:1313:2: ( ruleIntegerSymbol ) 6264 // InternalSolverLanguage.g:1785:2: ( ruleStarArgument )
4186 { 6265 {
4187 // InternalSolverLanguage.g:1313:2: ( ruleIntegerSymbol ) 6266 // InternalSolverLanguage.g:1785:2: ( ruleStarArgument )
4188 // InternalSolverLanguage.g:1314:3: ruleIntegerSymbol 6267 // InternalSolverLanguage.g:1786:3: ruleStarArgument
4189 { 6268 {
4190 before(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1()); 6269 if ( state.backtracking==0 ) {
6270 before(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1());
6271 }
4191 pushFollow(FOLLOW_2); 6272 pushFollow(FOLLOW_2);
4192 ruleIntegerSymbol(); 6273 ruleStarArgument();
4193 6274
4194 state._fsp--; 6275 state._fsp--;
4195 6276 if (state.failed) return ;
4196 after(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1()); 6277 if ( state.backtracking==0 ) {
6278 after(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1());
6279 }
4197 6280
4198 } 6281 }
4199 6282
@@ -4201,18 +6284,22 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4201 } 6284 }
4202 break; 6285 break;
4203 case 3 : 6286 case 3 :
4204 // InternalSolverLanguage.g:1319:2: ( ruleRealSymbol ) 6287 // InternalSolverLanguage.g:1791:2: ( ruleTypedArgument )
4205 { 6288 {
4206 // InternalSolverLanguage.g:1319:2: ( ruleRealSymbol ) 6289 // InternalSolverLanguage.g:1791:2: ( ruleTypedArgument )
4207 // InternalSolverLanguage.g:1320:3: ruleRealSymbol 6290 // InternalSolverLanguage.g:1792:3: ruleTypedArgument
4208 { 6291 {
4209 before(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2()); 6292 if ( state.backtracking==0 ) {
6293 before(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2());
6294 }
4210 pushFollow(FOLLOW_2); 6295 pushFollow(FOLLOW_2);
4211 ruleRealSymbol(); 6296 ruleTypedArgument();
4212 6297
4213 state._fsp--; 6298 state._fsp--;
4214 6299 if (state.failed) return ;
4215 after(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2()); 6300 if ( state.backtracking==0 ) {
6301 after(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2());
6302 }
4216 6303
4217 } 6304 }
4218 6305
@@ -4220,18 +6307,22 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4220 } 6307 }
4221 break; 6308 break;
4222 case 4 : 6309 case 4 :
4223 // InternalSolverLanguage.g:1325:2: ( ruleStringSymbol ) 6310 // InternalSolverLanguage.g:1797:2: ( ruleTypedStarArgument )
4224 { 6311 {
4225 // InternalSolverLanguage.g:1325:2: ( ruleStringSymbol ) 6312 // InternalSolverLanguage.g:1797:2: ( ruleTypedStarArgument )
4226 // InternalSolverLanguage.g:1326:3: ruleStringSymbol 6313 // InternalSolverLanguage.g:1798:3: ruleTypedStarArgument
4227 { 6314 {
4228 before(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3()); 6315 if ( state.backtracking==0 ) {
6316 before(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3());
6317 }
4229 pushFollow(FOLLOW_2); 6318 pushFollow(FOLLOW_2);
4230 ruleStringSymbol(); 6319 ruleTypedStarArgument();
4231 6320
4232 state._fsp--; 6321 state._fsp--;
4233 6322 if (state.failed) return ;
4234 after(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3()); 6323 if ( state.backtracking==0 ) {
6324 after(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3());
6325 }
4235 6326
4236 } 6327 }
4237 6328
@@ -4252,61 +6343,73 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4252 } 6343 }
4253 return ; 6344 return ;
4254 } 6345 }
4255 // $ANTLR end "rule__DataSymbol__Alternatives" 6346 // $ANTLR end "rule__Argument__Alternatives"
4256 6347
4257 6348
4258 // $ANTLR start "rule__ComplexObject__Alternatives" 6349 // $ANTLR start "rule__Literal__Alternatives"
4259 // InternalSolverLanguage.g:1335:1: rule__ComplexObject__Alternatives : ( ( ruleObject ) | ( ruleAllInstances ) | ( ruleAllObjects ) ); 6350 // InternalSolverLanguage.g:1807:1: rule__Literal__Alternatives : ( ( ruleLogicLiteral ) | ( ruleNumericLiteral ) | ( ruleInfinityLiteral ) | ( ruleEmptyIntervalLiteral ) | ( ruleStringLiteral ) );
4260 public final void rule__ComplexObject__Alternatives() throws RecognitionException { 6351 public final void rule__Literal__Alternatives() throws RecognitionException {
4261 6352
4262 int stackSize = keepStackSize(); 6353 int stackSize = keepStackSize();
4263 6354
4264 try { 6355 try {
4265 // InternalSolverLanguage.g:1339:1: ( ( ruleObject ) | ( ruleAllInstances ) | ( ruleAllObjects ) ) 6356 // InternalSolverLanguage.g:1811:1: ( ( ruleLogicLiteral ) | ( ruleNumericLiteral ) | ( ruleInfinityLiteral ) | ( ruleEmptyIntervalLiteral ) | ( ruleStringLiteral ) )
4266 int alt9=3; 6357 int alt12=5;
4267 switch ( input.LA(1) ) { 6358 switch ( input.LA(1) ) {
6359 case 39:
6360 case 40:
6361 case 41:
6362 case 42:
6363 {
6364 alt12=1;
6365 }
6366 break;
4268 case RULE_INT: 6367 case RULE_INT:
4269 case RULE_ID:
4270 case RULE_STRING:
4271 case 11:
4272 case 12:
4273 case 13:
4274 case 27:
4275 { 6368 {
4276 alt9=1; 6369 alt12=2;
4277 } 6370 }
4278 break; 6371 break;
4279 case 17: 6372 case 66:
4280 { 6373 {
4281 alt9=2; 6374 alt12=3;
4282 } 6375 }
4283 break; 6376 break;
4284 case 31: 6377 case 67:
4285 { 6378 {
4286 alt9=3; 6379 alt12=4;
6380 }
6381 break;
6382 case RULE_STRING:
6383 {
6384 alt12=5;
4287 } 6385 }
4288 break; 6386 break;
4289 default: 6387 default:
6388 if (state.backtracking>0) {state.failed=true; return ;}
4290 NoViableAltException nvae = 6389 NoViableAltException nvae =
4291 new NoViableAltException("", 9, 0, input); 6390 new NoViableAltException("", 12, 0, input);
4292 6391
4293 throw nvae; 6392 throw nvae;
4294 } 6393 }
4295 6394
4296 switch (alt9) { 6395 switch (alt12) {
4297 case 1 : 6396 case 1 :
4298 // InternalSolverLanguage.g:1340:2: ( ruleObject ) 6397 // InternalSolverLanguage.g:1812:2: ( ruleLogicLiteral )
4299 { 6398 {
4300 // InternalSolverLanguage.g:1340:2: ( ruleObject ) 6399 // InternalSolverLanguage.g:1812:2: ( ruleLogicLiteral )
4301 // InternalSolverLanguage.g:1341:3: ruleObject 6400 // InternalSolverLanguage.g:1813:3: ruleLogicLiteral
4302 { 6401 {
4303 before(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0()); 6402 if ( state.backtracking==0 ) {
6403 before(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0());
6404 }
4304 pushFollow(FOLLOW_2); 6405 pushFollow(FOLLOW_2);
4305 ruleObject(); 6406 ruleLogicLiteral();
4306 6407
4307 state._fsp--; 6408 state._fsp--;
4308 6409 if (state.failed) return ;
4309 after(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0()); 6410 if ( state.backtracking==0 ) {
6411 after(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0());
6412 }
4310 6413
4311 } 6414 }
4312 6415
@@ -4314,18 +6417,22 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4314 } 6417 }
4315 break; 6418 break;
4316 case 2 : 6419 case 2 :
4317 // InternalSolverLanguage.g:1346:2: ( ruleAllInstances ) 6420 // InternalSolverLanguage.g:1818:2: ( ruleNumericLiteral )
4318 { 6421 {
4319 // InternalSolverLanguage.g:1346:2: ( ruleAllInstances ) 6422 // InternalSolverLanguage.g:1818:2: ( ruleNumericLiteral )
4320 // InternalSolverLanguage.g:1347:3: ruleAllInstances 6423 // InternalSolverLanguage.g:1819:3: ruleNumericLiteral
4321 { 6424 {
4322 before(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1()); 6425 if ( state.backtracking==0 ) {
6426 before(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1());
6427 }
4323 pushFollow(FOLLOW_2); 6428 pushFollow(FOLLOW_2);
4324 ruleAllInstances(); 6429 ruleNumericLiteral();
4325 6430
4326 state._fsp--; 6431 state._fsp--;
4327 6432 if (state.failed) return ;
4328 after(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1()); 6433 if ( state.backtracking==0 ) {
6434 after(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1());
6435 }
4329 6436
4330 } 6437 }
4331 6438
@@ -4333,18 +6440,68 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4333 } 6440 }
4334 break; 6441 break;
4335 case 3 : 6442 case 3 :
4336 // InternalSolverLanguage.g:1352:2: ( ruleAllObjects ) 6443 // InternalSolverLanguage.g:1824:2: ( ruleInfinityLiteral )
4337 { 6444 {
4338 // InternalSolverLanguage.g:1352:2: ( ruleAllObjects ) 6445 // InternalSolverLanguage.g:1824:2: ( ruleInfinityLiteral )
4339 // InternalSolverLanguage.g:1353:3: ruleAllObjects 6446 // InternalSolverLanguage.g:1825:3: ruleInfinityLiteral
4340 { 6447 {
4341 before(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2()); 6448 if ( state.backtracking==0 ) {
6449 before(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2());
6450 }
4342 pushFollow(FOLLOW_2); 6451 pushFollow(FOLLOW_2);
4343 ruleAllObjects(); 6452 ruleInfinityLiteral();
4344 6453
4345 state._fsp--; 6454 state._fsp--;
6455 if (state.failed) return ;
6456 if ( state.backtracking==0 ) {
6457 after(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2());
6458 }
6459
6460 }
6461
6462
6463 }
6464 break;
6465 case 4 :
6466 // InternalSolverLanguage.g:1830:2: ( ruleEmptyIntervalLiteral )
6467 {
6468 // InternalSolverLanguage.g:1830:2: ( ruleEmptyIntervalLiteral )
6469 // InternalSolverLanguage.g:1831:3: ruleEmptyIntervalLiteral
6470 {
6471 if ( state.backtracking==0 ) {
6472 before(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3());
6473 }
6474 pushFollow(FOLLOW_2);
6475 ruleEmptyIntervalLiteral();
6476
6477 state._fsp--;
6478 if (state.failed) return ;
6479 if ( state.backtracking==0 ) {
6480 after(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3());
6481 }
6482
6483 }
6484
6485
6486 }
6487 break;
6488 case 5 :
6489 // InternalSolverLanguage.g:1836:2: ( ruleStringLiteral )
6490 {
6491 // InternalSolverLanguage.g:1836:2: ( ruleStringLiteral )
6492 // InternalSolverLanguage.g:1837:3: ruleStringLiteral
6493 {
6494 if ( state.backtracking==0 ) {
6495 before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4());
6496 }
6497 pushFollow(FOLLOW_2);
6498 ruleStringLiteral();
4346 6499
4347 after(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2()); 6500 state._fsp--;
6501 if (state.failed) return ;
6502 if ( state.backtracking==0 ) {
6503 after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4());
6504 }
4348 6505
4349 } 6506 }
4350 6507
@@ -4365,59 +6522,85 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4365 } 6522 }
4366 return ; 6523 return ;
4367 } 6524 }
4368 // $ANTLR end "rule__ComplexObject__Alternatives" 6525 // $ANTLR end "rule__Literal__Alternatives"
4369 6526
4370 6527
4371 // $ANTLR start "rule__Object__Alternatives" 6528 // $ANTLR start "rule__Multiplicity__Alternatives"
4372 // InternalSolverLanguage.g:1362:1: rule__Object__Alternatives : ( ( ruleNamedObject ) | ( ruleUnnamedObject ) | ( ruleDataObject ) ); 6529 // InternalSolverLanguage.g:1846:1: rule__Multiplicity__Alternatives : ( ( ruleManyMultiplicity ) | ( ruleExactMultiplicity ) | ( ruleBoundedMultiplicity ) );
4373 public final void rule__Object__Alternatives() throws RecognitionException { 6530 public final void rule__Multiplicity__Alternatives() throws RecognitionException {
4374 6531
4375 int stackSize = keepStackSize(); 6532 int stackSize = keepStackSize();
4376 6533
4377 try { 6534 try {
4378 // InternalSolverLanguage.g:1366:1: ( ( ruleNamedObject ) | ( ruleUnnamedObject ) | ( ruleDataObject ) ) 6535 // InternalSolverLanguage.g:1850:1: ( ( ruleManyMultiplicity ) | ( ruleExactMultiplicity ) | ( ruleBoundedMultiplicity ) )
4379 int alt10=3; 6536 int alt13=3;
4380 switch ( input.LA(1) ) { 6537 int LA13_0 = input.LA(1);
4381 case 27: 6538
4382 { 6539 if ( (LA13_0==63) ) {
4383 alt10=1; 6540 switch ( input.LA(2) ) {
4384 } 6541 case RULE_INT:
4385 break; 6542 {
4386 case RULE_ID: 6543 int LA13_2 = input.LA(3);
4387 { 6544
4388 alt10=2; 6545 if ( (LA13_2==64) ) {
4389 } 6546 alt13=3;
4390 break; 6547 }
4391 case RULE_INT: 6548 else if ( (LA13_2==65) ) {
4392 case RULE_STRING: 6549 alt13=2;
4393 case 11: 6550 }
4394 case 12: 6551 else {
4395 case 13: 6552 if (state.backtracking>0) {state.failed=true; return ;}
4396 { 6553 NoViableAltException nvae =
4397 alt10=3; 6554 new NoViableAltException("", 13, 2, input);
6555
6556 throw nvae;
6557 }
6558 }
6559 break;
6560 case 16:
6561 {
6562 alt13=2;
6563 }
6564 break;
6565 case 65:
6566 {
6567 alt13=1;
6568 }
6569 break;
6570 default:
6571 if (state.backtracking>0) {state.failed=true; return ;}
6572 NoViableAltException nvae =
6573 new NoViableAltException("", 13, 1, input);
6574
6575 throw nvae;
4398 } 6576 }
4399 break; 6577
4400 default: 6578 }
6579 else {
6580 if (state.backtracking>0) {state.failed=true; return ;}
4401 NoViableAltException nvae = 6581 NoViableAltException nvae =
4402 new NoViableAltException("", 10, 0, input); 6582 new NoViableAltException("", 13, 0, input);
4403 6583
4404 throw nvae; 6584 throw nvae;
4405 } 6585 }
4406 6586 switch (alt13) {
4407 switch (alt10) {
4408 case 1 : 6587 case 1 :
4409 // InternalSolverLanguage.g:1367:2: ( ruleNamedObject ) 6588 // InternalSolverLanguage.g:1851:2: ( ruleManyMultiplicity )
4410 { 6589 {
4411 // InternalSolverLanguage.g:1367:2: ( ruleNamedObject ) 6590 // InternalSolverLanguage.g:1851:2: ( ruleManyMultiplicity )
4412 // InternalSolverLanguage.g:1368:3: ruleNamedObject 6591 // InternalSolverLanguage.g:1852:3: ruleManyMultiplicity
4413 { 6592 {
4414 before(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0()); 6593 if ( state.backtracking==0 ) {
6594 before(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0());
6595 }
4415 pushFollow(FOLLOW_2); 6596 pushFollow(FOLLOW_2);
4416 ruleNamedObject(); 6597 ruleManyMultiplicity();
4417 6598
4418 state._fsp--; 6599 state._fsp--;
4419 6600 if (state.failed) return ;
4420 after(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0()); 6601 if ( state.backtracking==0 ) {
6602 after(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0());
6603 }
4421 6604
4422 } 6605 }
4423 6606
@@ -4425,18 +6608,22 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4425 } 6608 }
4426 break; 6609 break;
4427 case 2 : 6610 case 2 :
4428 // InternalSolverLanguage.g:1373:2: ( ruleUnnamedObject ) 6611 // InternalSolverLanguage.g:1857:2: ( ruleExactMultiplicity )
4429 { 6612 {
4430 // InternalSolverLanguage.g:1373:2: ( ruleUnnamedObject ) 6613 // InternalSolverLanguage.g:1857:2: ( ruleExactMultiplicity )
4431 // InternalSolverLanguage.g:1374:3: ruleUnnamedObject 6614 // InternalSolverLanguage.g:1858:3: ruleExactMultiplicity
4432 { 6615 {
4433 before(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1()); 6616 if ( state.backtracking==0 ) {
6617 before(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
6618 }
4434 pushFollow(FOLLOW_2); 6619 pushFollow(FOLLOW_2);
4435 ruleUnnamedObject(); 6620 ruleExactMultiplicity();
4436 6621
4437 state._fsp--; 6622 state._fsp--;
4438 6623 if (state.failed) return ;
4439 after(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1()); 6624 if ( state.backtracking==0 ) {
6625 after(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
6626 }
4440 6627
4441 } 6628 }
4442 6629
@@ -4444,18 +6631,22 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4444 } 6631 }
4445 break; 6632 break;
4446 case 3 : 6633 case 3 :
4447 // InternalSolverLanguage.g:1379:2: ( ruleDataObject ) 6634 // InternalSolverLanguage.g:1863:2: ( ruleBoundedMultiplicity )
4448 { 6635 {
4449 // InternalSolverLanguage.g:1379:2: ( ruleDataObject ) 6636 // InternalSolverLanguage.g:1863:2: ( ruleBoundedMultiplicity )
4450 // InternalSolverLanguage.g:1380:3: ruleDataObject 6637 // InternalSolverLanguage.g:1864:3: ruleBoundedMultiplicity
4451 { 6638 {
4452 before(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2()); 6639 if ( state.backtracking==0 ) {
6640 before(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2());
6641 }
4453 pushFollow(FOLLOW_2); 6642 pushFollow(FOLLOW_2);
4454 ruleDataObject(); 6643 ruleBoundedMultiplicity();
4455 6644
4456 state._fsp--; 6645 state._fsp--;
4457 6646 if (state.failed) return ;
4458 after(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2()); 6647 if ( state.backtracking==0 ) {
6648 after(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2());
6649 }
4459 6650
4460 } 6651 }
4461 6652
@@ -4476,97 +6667,168 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4476 } 6667 }
4477 return ; 6668 return ;
4478 } 6669 }
4479 // $ANTLR end "rule__Object__Alternatives" 6670 // $ANTLR end "rule__Multiplicity__Alternatives"
4480 6671
4481 6672
4482 // $ANTLR start "rule__DataObject__Alternatives" 6673 // $ANTLR start "rule__ScopeDefinition__Alternatives"
4483 // InternalSolverLanguage.g:1389:1: rule__DataObject__Alternatives : ( ( ruleBooleanObject ) | ( ruleIntObject ) | ( ruleRealObject ) | ( ruleStringObject ) ); 6674 // InternalSolverLanguage.g:1873:1: rule__ScopeDefinition__Alternatives : ( ( ruleExactScopeDefinition ) | ( ruleBoundedScopeDefinition ) | ( ruleLowerBoundedScopeDefinition ) );
4484 public final void rule__DataObject__Alternatives() throws RecognitionException { 6675 public final void rule__ScopeDefinition__Alternatives() throws RecognitionException {
4485 6676
4486 int stackSize = keepStackSize(); 6677 int stackSize = keepStackSize();
4487 6678
4488 try { 6679 try {
4489 // InternalSolverLanguage.g:1393:1: ( ( ruleBooleanObject ) | ( ruleIntObject ) | ( ruleRealObject ) | ( ruleStringObject ) ) 6680 // InternalSolverLanguage.g:1877:1: ( ( ruleExactScopeDefinition ) | ( ruleBoundedScopeDefinition ) | ( ruleLowerBoundedScopeDefinition ) )
4490 int alt11=4; 6681 int alt14=3;
4491 switch ( input.LA(1) ) { 6682 alt14 = dfa14.predict(input);
4492 case 11: 6683 switch (alt14) {
4493 case 12: 6684 case 1 :
4494 { 6685 // InternalSolverLanguage.g:1878:2: ( ruleExactScopeDefinition )
4495 alt11=1; 6686 {
4496 } 6687 // InternalSolverLanguage.g:1878:2: ( ruleExactScopeDefinition )
4497 break; 6688 // InternalSolverLanguage.g:1879:3: ruleExactScopeDefinition
4498 case 13: 6689 {
4499 { 6690 if ( state.backtracking==0 ) {
4500 int LA11_2 = input.LA(2); 6691 before(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0());
6692 }
6693 pushFollow(FOLLOW_2);
6694 ruleExactScopeDefinition();
6695
6696 state._fsp--;
6697 if (state.failed) return ;
6698 if ( state.backtracking==0 ) {
6699 after(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0());
6700 }
6701
6702 }
4501 6703
4502 if ( (LA11_2==RULE_INT) ) {
4503 int LA11_3 = input.LA(3);
4504 6704
4505 if ( (LA11_3==EOF||(LA11_3>=19 && LA11_3<=20)) ) {
4506 alt11=2;
4507 } 6705 }
4508 else if ( (LA11_3==14) ) { 6706 break;
4509 alt11=3; 6707 case 2 :
6708 // InternalSolverLanguage.g:1884:2: ( ruleBoundedScopeDefinition )
6709 {
6710 // InternalSolverLanguage.g:1884:2: ( ruleBoundedScopeDefinition )
6711 // InternalSolverLanguage.g:1885:3: ruleBoundedScopeDefinition
6712 {
6713 if ( state.backtracking==0 ) {
6714 before(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1());
4510 } 6715 }
4511 else { 6716 pushFollow(FOLLOW_2);
4512 NoViableAltException nvae = 6717 ruleBoundedScopeDefinition();
4513 new NoViableAltException("", 11, 3, input);
4514 6718
4515 throw nvae; 6719 state._fsp--;
6720 if (state.failed) return ;
6721 if ( state.backtracking==0 ) {
6722 after(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1());
4516 } 6723 }
4517 }
4518 else {
4519 NoViableAltException nvae =
4520 new NoViableAltException("", 11, 2, input);
4521 6724
4522 throw nvae; 6725 }
4523 } 6726
4524 } 6727
4525 break; 6728 }
4526 case RULE_INT: 6729 break;
4527 { 6730 case 3 :
4528 int LA11_3 = input.LA(2); 6731 // InternalSolverLanguage.g:1890:2: ( ruleLowerBoundedScopeDefinition )
6732 {
6733 // InternalSolverLanguage.g:1890:2: ( ruleLowerBoundedScopeDefinition )
6734 // InternalSolverLanguage.g:1891:3: ruleLowerBoundedScopeDefinition
6735 {
6736 if ( state.backtracking==0 ) {
6737 before(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2());
6738 }
6739 pushFollow(FOLLOW_2);
6740 ruleLowerBoundedScopeDefinition();
6741
6742 state._fsp--;
6743 if (state.failed) return ;
6744 if ( state.backtracking==0 ) {
6745 after(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2());
6746 }
6747
6748 }
6749
6750
6751 }
6752 break;
6753
6754 }
6755 }
6756 catch (RecognitionException re) {
6757 reportError(re);
6758 recover(input,re);
6759 }
6760 finally {
6761
6762 restoreStackSize(stackSize);
6763
6764 }
6765 return ;
6766 }
6767 // $ANTLR end "rule__ScopeDefinition__Alternatives"
6768
6769
6770 // $ANTLR start "rule__BoundedScopeDefinition__Alternatives_1"
6771 // InternalSolverLanguage.g:1900:1: rule__BoundedScopeDefinition__Alternatives_1 : ( ( ( rule__BoundedScopeDefinition__Group_1_0__0 ) ) | ( ( rule__BoundedScopeDefinition__Group_1_1__0 ) ) );
6772 public final void rule__BoundedScopeDefinition__Alternatives_1() throws RecognitionException {
6773
6774 int stackSize = keepStackSize();
6775
6776 try {
6777 // InternalSolverLanguage.g:1904:1: ( ( ( rule__BoundedScopeDefinition__Group_1_0__0 ) ) | ( ( rule__BoundedScopeDefinition__Group_1_1__0 ) ) )
6778 int alt15=2;
6779 int LA15_0 = input.LA(1);
4529 6780
4530 if ( (LA11_3==EOF||(LA11_3>=19 && LA11_3<=20)) ) { 6781 if ( (LA15_0==RULE_INT) ) {
4531 alt11=2; 6782 int LA15_1 = input.LA(2);
6783
6784 if ( (LA15_1==24) ) {
6785 alt15=2;
4532 } 6786 }
4533 else if ( (LA11_3==14) ) { 6787 else if ( (LA15_1==22) ) {
4534 alt11=3; 6788 alt15=1;
4535 } 6789 }
4536 else { 6790 else {
6791 if (state.backtracking>0) {state.failed=true; return ;}
4537 NoViableAltException nvae = 6792 NoViableAltException nvae =
4538 new NoViableAltException("", 11, 3, input); 6793 new NoViableAltException("", 15, 1, input);
4539 6794
4540 throw nvae; 6795 throw nvae;
4541 } 6796 }
4542 } 6797 }
4543 break; 6798 else if ( (LA15_0==RULE_QUOTED_ID||LA15_0==RULE_ID) ) {
4544 case RULE_STRING: 6799 alt15=1;
4545 { 6800 }
4546 alt11=4; 6801 else {
4547 } 6802 if (state.backtracking>0) {state.failed=true; return ;}
4548 break;
4549 default:
4550 NoViableAltException nvae = 6803 NoViableAltException nvae =
4551 new NoViableAltException("", 11, 0, input); 6804 new NoViableAltException("", 15, 0, input);
4552 6805
4553 throw nvae; 6806 throw nvae;
4554 } 6807 }
4555 6808 switch (alt15) {
4556 switch (alt11) {
4557 case 1 : 6809 case 1 :
4558 // InternalSolverLanguage.g:1394:2: ( ruleBooleanObject ) 6810 // InternalSolverLanguage.g:1905:2: ( ( rule__BoundedScopeDefinition__Group_1_0__0 ) )
4559 { 6811 {
4560 // InternalSolverLanguage.g:1394:2: ( ruleBooleanObject ) 6812 // InternalSolverLanguage.g:1905:2: ( ( rule__BoundedScopeDefinition__Group_1_0__0 ) )
4561 // InternalSolverLanguage.g:1395:3: ruleBooleanObject 6813 // InternalSolverLanguage.g:1906:3: ( rule__BoundedScopeDefinition__Group_1_0__0 )
6814 {
6815 if ( state.backtracking==0 ) {
6816 before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0());
6817 }
6818 // InternalSolverLanguage.g:1907:3: ( rule__BoundedScopeDefinition__Group_1_0__0 )
6819 // InternalSolverLanguage.g:1907:4: rule__BoundedScopeDefinition__Group_1_0__0
4562 { 6820 {
4563 before(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0());
4564 pushFollow(FOLLOW_2); 6821 pushFollow(FOLLOW_2);
4565 ruleBooleanObject(); 6822 rule__BoundedScopeDefinition__Group_1_0__0();
4566 6823
4567 state._fsp--; 6824 state._fsp--;
6825 if (state.failed) return ;
4568 6826
4569 after(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0()); 6827 }
6828
6829 if ( state.backtracking==0 ) {
6830 after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0());
6831 }
4570 6832
4571 } 6833 }
4572 6834
@@ -4574,56 +6836,128 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4574 } 6836 }
4575 break; 6837 break;
4576 case 2 : 6838 case 2 :
4577 // InternalSolverLanguage.g:1400:2: ( ruleIntObject ) 6839 // InternalSolverLanguage.g:1911:2: ( ( rule__BoundedScopeDefinition__Group_1_1__0 ) )
4578 { 6840 {
4579 // InternalSolverLanguage.g:1400:2: ( ruleIntObject ) 6841 // InternalSolverLanguage.g:1911:2: ( ( rule__BoundedScopeDefinition__Group_1_1__0 ) )
4580 // InternalSolverLanguage.g:1401:3: ruleIntObject 6842 // InternalSolverLanguage.g:1912:3: ( rule__BoundedScopeDefinition__Group_1_1__0 )
6843 {
6844 if ( state.backtracking==0 ) {
6845 before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1());
6846 }
6847 // InternalSolverLanguage.g:1913:3: ( rule__BoundedScopeDefinition__Group_1_1__0 )
6848 // InternalSolverLanguage.g:1913:4: rule__BoundedScopeDefinition__Group_1_1__0
4581 { 6849 {
4582 before(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1());
4583 pushFollow(FOLLOW_2); 6850 pushFollow(FOLLOW_2);
4584 ruleIntObject(); 6851 rule__BoundedScopeDefinition__Group_1_1__0();
4585 6852
4586 state._fsp--; 6853 state._fsp--;
6854 if (state.failed) return ;
4587 6855
4588 after(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1()); 6856 }
6857
6858 if ( state.backtracking==0 ) {
6859 after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1());
6860 }
4589 6861
4590 } 6862 }
4591 6863
4592 6864
4593 } 6865 }
4594 break; 6866 break;
4595 case 3 : 6867
4596 // InternalSolverLanguage.g:1406:2: ( ruleRealObject ) 6868 }
6869 }
6870 catch (RecognitionException re) {
6871 reportError(re);
6872 recover(input,re);
6873 }
6874 finally {
6875
6876 restoreStackSize(stackSize);
6877
6878 }
6879 return ;
6880 }
6881 // $ANTLR end "rule__BoundedScopeDefinition__Alternatives_1"
6882
6883
6884 // $ANTLR start "rule__LowerBoundedScopeDefinition__Alternatives_1"
6885 // InternalSolverLanguage.g:1921:1: rule__LowerBoundedScopeDefinition__Alternatives_1 : ( ( ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) ) | ( ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) ) );
6886 public final void rule__LowerBoundedScopeDefinition__Alternatives_1() throws RecognitionException {
6887
6888 int stackSize = keepStackSize();
6889
6890 try {
6891 // InternalSolverLanguage.g:1925:1: ( ( ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) ) | ( ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) ) )
6892 int alt16=2;
6893 int LA16_0 = input.LA(1);
6894
6895 if ( (LA16_0==RULE_INT) ) {
6896 alt16=1;
6897 }
6898 else if ( (LA16_0==RULE_QUOTED_ID||LA16_0==RULE_ID) ) {
6899 alt16=2;
6900 }
6901 else {
6902 if (state.backtracking>0) {state.failed=true; return ;}
6903 NoViableAltException nvae =
6904 new NoViableAltException("", 16, 0, input);
6905
6906 throw nvae;
6907 }
6908 switch (alt16) {
6909 case 1 :
6910 // InternalSolverLanguage.g:1926:2: ( ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) )
4597 { 6911 {
4598 // InternalSolverLanguage.g:1406:2: ( ruleRealObject ) 6912 // InternalSolverLanguage.g:1926:2: ( ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) )
4599 // InternalSolverLanguage.g:1407:3: ruleRealObject 6913 // InternalSolverLanguage.g:1927:3: ( rule__LowerBoundedScopeDefinition__Group_1_0__0 )
6914 {
6915 if ( state.backtracking==0 ) {
6916 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_0());
6917 }
6918 // InternalSolverLanguage.g:1928:3: ( rule__LowerBoundedScopeDefinition__Group_1_0__0 )
6919 // InternalSolverLanguage.g:1928:4: rule__LowerBoundedScopeDefinition__Group_1_0__0
4600 { 6920 {
4601 before(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2());
4602 pushFollow(FOLLOW_2); 6921 pushFollow(FOLLOW_2);
4603 ruleRealObject(); 6922 rule__LowerBoundedScopeDefinition__Group_1_0__0();
4604 6923
4605 state._fsp--; 6924 state._fsp--;
6925 if (state.failed) return ;
4606 6926
4607 after(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2()); 6927 }
6928
6929 if ( state.backtracking==0 ) {
6930 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_0());
6931 }
4608 6932
4609 } 6933 }
4610 6934
4611 6935
4612 } 6936 }
4613 break; 6937 break;
4614 case 4 : 6938 case 2 :
4615 // InternalSolverLanguage.g:1412:2: ( ruleStringObject ) 6939 // InternalSolverLanguage.g:1932:2: ( ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) )
6940 {
6941 // InternalSolverLanguage.g:1932:2: ( ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) )
6942 // InternalSolverLanguage.g:1933:3: ( rule__LowerBoundedScopeDefinition__Group_1_1__0 )
4616 { 6943 {
4617 // InternalSolverLanguage.g:1412:2: ( ruleStringObject ) 6944 if ( state.backtracking==0 ) {
4618 // InternalSolverLanguage.g:1413:3: ruleStringObject 6945 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_1());
6946 }
6947 // InternalSolverLanguage.g:1934:3: ( rule__LowerBoundedScopeDefinition__Group_1_1__0 )
6948 // InternalSolverLanguage.g:1934:4: rule__LowerBoundedScopeDefinition__Group_1_1__0
4619 { 6949 {
4620 before(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3());
4621 pushFollow(FOLLOW_2); 6950 pushFollow(FOLLOW_2);
4622 ruleStringObject(); 6951 rule__LowerBoundedScopeDefinition__Group_1_1__0();
4623 6952
4624 state._fsp--; 6953 state._fsp--;
6954 if (state.failed) return ;
4625 6955
4626 after(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3()); 6956 }
6957
6958 if ( state.backtracking==0 ) {
6959 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_1());
6960 }
4627 6961
4628 } 6962 }
4629 6963
@@ -4644,42 +6978,47 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4644 } 6978 }
4645 return ; 6979 return ;
4646 } 6980 }
4647 // $ANTLR end "rule__DataObject__Alternatives" 6981 // $ANTLR end "rule__LowerBoundedScopeDefinition__Alternatives_1"
4648 6982
4649 6983
4650 // $ANTLR start "rule__Predicate__Alternatives_4" 6984 // $ANTLR start "rule__UpperMultiplicty__Alternatives"
4651 // InternalSolverLanguage.g:1422:1: rule__Predicate__Alternatives_4 : ( ( 'false' ) | ( ( rule__Predicate__Group_4_1__0 ) ) ); 6985 // InternalSolverLanguage.g:1942:1: rule__UpperMultiplicty__Alternatives : ( ( RULE_INT ) | ( '*' ) );
4652 public final void rule__Predicate__Alternatives_4() throws RecognitionException { 6986 public final void rule__UpperMultiplicty__Alternatives() throws RecognitionException {
4653 6987
4654 int stackSize = keepStackSize(); 6988 int stackSize = keepStackSize();
4655 6989
4656 try { 6990 try {
4657 // InternalSolverLanguage.g:1426:1: ( ( 'false' ) | ( ( rule__Predicate__Group_4_1__0 ) ) ) 6991 // InternalSolverLanguage.g:1946:1: ( ( RULE_INT ) | ( '*' ) )
4658 int alt12=2; 6992 int alt17=2;
4659 int LA12_0 = input.LA(1); 6993 int LA17_0 = input.LA(1);
4660 6994
4661 if ( (LA12_0==11) ) { 6995 if ( (LA17_0==RULE_INT) ) {
4662 alt12=1; 6996 alt17=1;
4663 } 6997 }
4664 else if ( (LA12_0==EOF||LA12_0==RULE_ID||(LA12_0>=12 && LA12_0<=14)||(LA12_0>=29 && LA12_0<=31)) ) { 6998 else if ( (LA17_0==16) ) {
4665 alt12=2; 6999 alt17=2;
4666 } 7000 }
4667 else { 7001 else {
7002 if (state.backtracking>0) {state.failed=true; return ;}
4668 NoViableAltException nvae = 7003 NoViableAltException nvae =
4669 new NoViableAltException("", 12, 0, input); 7004 new NoViableAltException("", 17, 0, input);
4670 7005
4671 throw nvae; 7006 throw nvae;
4672 } 7007 }
4673 switch (alt12) { 7008 switch (alt17) {
4674 case 1 : 7009 case 1 :
4675 // InternalSolverLanguage.g:1427:2: ( 'false' ) 7010 // InternalSolverLanguage.g:1947:2: ( RULE_INT )
4676 { 7011 {
4677 // InternalSolverLanguage.g:1427:2: ( 'false' ) 7012 // InternalSolverLanguage.g:1947:2: ( RULE_INT )
4678 // InternalSolverLanguage.g:1428:3: 'false' 7013 // InternalSolverLanguage.g:1948:3: RULE_INT
4679 { 7014 {
4680 before(grammarAccess.getPredicateAccess().getFalseKeyword_4_0()); 7015 if ( state.backtracking==0 ) {
4681 match(input,11,FOLLOW_2); 7016 before(grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0());
4682 after(grammarAccess.getPredicateAccess().getFalseKeyword_4_0()); 7017 }
7018 match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
7019 if ( state.backtracking==0 ) {
7020 after(grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0());
7021 }
4683 7022
4684 } 7023 }
4685 7024
@@ -4687,24 +7026,18 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4687 } 7026 }
4688 break; 7027 break;
4689 case 2 : 7028 case 2 :
4690 // InternalSolverLanguage.g:1433:2: ( ( rule__Predicate__Group_4_1__0 ) ) 7029 // InternalSolverLanguage.g:1953:2: ( '*' )
4691 {
4692 // InternalSolverLanguage.g:1433:2: ( ( rule__Predicate__Group_4_1__0 ) )
4693 // InternalSolverLanguage.g:1434:3: ( rule__Predicate__Group_4_1__0 )
4694 { 7030 {
4695 before(grammarAccess.getPredicateAccess().getGroup_4_1()); 7031 // InternalSolverLanguage.g:1953:2: ( '*' )
4696 // InternalSolverLanguage.g:1435:3: ( rule__Predicate__Group_4_1__0 ) 7032 // InternalSolverLanguage.g:1954:3: '*'
4697 // InternalSolverLanguage.g:1435:4: rule__Predicate__Group_4_1__0
4698 { 7033 {
4699 pushFollow(FOLLOW_2); 7034 if ( state.backtracking==0 ) {
4700 rule__Predicate__Group_4_1__0(); 7035 before(grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1());
4701 7036 }
4702 state._fsp--; 7037 match(input,16,FOLLOW_2); if (state.failed) return ;
4703 7038 if ( state.backtracking==0 ) {
4704 7039 after(grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1());
4705 } 7040 }
4706
4707 after(grammarAccess.getPredicateAccess().getGroup_4_1());
4708 7041
4709 } 7042 }
4710 7043
@@ -4725,42 +7058,57 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4725 } 7058 }
4726 return ; 7059 return ;
4727 } 7060 }
4728 // $ANTLR end "rule__Predicate__Alternatives_4" 7061 // $ANTLR end "rule__UpperMultiplicty__Alternatives"
4729 7062
4730 7063
4731 // $ANTLR start "rule__PatternBody__Alternatives_1" 7064 // $ANTLR start "rule__QualifiedName__Alternatives"
4732 // InternalSolverLanguage.g:1443:1: rule__PatternBody__Alternatives_1 : ( ( 'true' ) | ( ( rule__PatternBody__ConstraintsAssignment_1_1 )* ) ); 7065 // InternalSolverLanguage.g:1963:1: rule__QualifiedName__Alternatives : ( ( ( rule__QualifiedName__Group_0__0 ) ) | ( RULE_QUOTED_ID ) );
4733 public final void rule__PatternBody__Alternatives_1() throws RecognitionException { 7066 public final void rule__QualifiedName__Alternatives() throws RecognitionException {
4734 7067
4735 int stackSize = keepStackSize(); 7068 int stackSize = keepStackSize();
4736 7069
4737 try { 7070 try {
4738 // InternalSolverLanguage.g:1447:1: ( ( 'true' ) | ( ( rule__PatternBody__ConstraintsAssignment_1_1 )* ) ) 7071 // InternalSolverLanguage.g:1967:1: ( ( ( rule__QualifiedName__Group_0__0 ) ) | ( RULE_QUOTED_ID ) )
4739 int alt14=2; 7072 int alt18=2;
4740 int LA14_0 = input.LA(1); 7073 int LA18_0 = input.LA(1);
4741 7074
4742 if ( (LA14_0==12) ) { 7075 if ( (LA18_0==RULE_ID) ) {
4743 alt14=1; 7076 alt18=1;
4744 } 7077 }
4745 else if ( (LA14_0==EOF||LA14_0==RULE_ID||(LA14_0>=13 && LA14_0<=14)||(LA14_0>=29 && LA14_0<=31)) ) { 7078 else if ( (LA18_0==RULE_QUOTED_ID) ) {
4746 alt14=2; 7079 alt18=2;
4747 } 7080 }
4748 else { 7081 else {
7082 if (state.backtracking>0) {state.failed=true; return ;}
4749 NoViableAltException nvae = 7083 NoViableAltException nvae =
4750 new NoViableAltException("", 14, 0, input); 7084 new NoViableAltException("", 18, 0, input);
4751 7085
4752 throw nvae; 7086 throw nvae;
4753 } 7087 }
4754 switch (alt14) { 7088 switch (alt18) {
4755 case 1 : 7089 case 1 :
4756 // InternalSolverLanguage.g:1448:2: ( 'true' ) 7090 // InternalSolverLanguage.g:1968:2: ( ( rule__QualifiedName__Group_0__0 ) )
7091 {
7092 // InternalSolverLanguage.g:1968:2: ( ( rule__QualifiedName__Group_0__0 ) )
7093 // InternalSolverLanguage.g:1969:3: ( rule__QualifiedName__Group_0__0 )
4757 { 7094 {
4758 // InternalSolverLanguage.g:1448:2: ( 'true' ) 7095 if ( state.backtracking==0 ) {
4759 // InternalSolverLanguage.g:1449:3: 'true' 7096 before(grammarAccess.getQualifiedNameAccess().getGroup_0());
7097 }
7098 // InternalSolverLanguage.g:1970:3: ( rule__QualifiedName__Group_0__0 )
7099 // InternalSolverLanguage.g:1970:4: rule__QualifiedName__Group_0__0
4760 { 7100 {
4761 before(grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); 7101 pushFollow(FOLLOW_2);
4762 match(input,12,FOLLOW_2); 7102 rule__QualifiedName__Group_0__0();
4763 after(grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); 7103
7104 state._fsp--;
7105 if (state.failed) return ;
7106
7107 }
7108
7109 if ( state.backtracking==0 ) {
7110 after(grammarAccess.getQualifiedNameAccess().getGroup_0());
7111 }
4764 7112
4765 } 7113 }
4766 7114
@@ -4768,42 +7116,18 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4768 } 7116 }
4769 break; 7117 break;
4770 case 2 : 7118 case 2 :
4771 // InternalSolverLanguage.g:1454:2: ( ( rule__PatternBody__ConstraintsAssignment_1_1 )* ) 7119 // InternalSolverLanguage.g:1974:2: ( RULE_QUOTED_ID )
4772 { 7120 {
4773 // InternalSolverLanguage.g:1454:2: ( ( rule__PatternBody__ConstraintsAssignment_1_1 )* ) 7121 // InternalSolverLanguage.g:1974:2: ( RULE_QUOTED_ID )
4774 // InternalSolverLanguage.g:1455:3: ( rule__PatternBody__ConstraintsAssignment_1_1 )* 7122 // InternalSolverLanguage.g:1975:3: RULE_QUOTED_ID
4775 { 7123 {
4776 before(grammarAccess.getPatternBodyAccess().getConstraintsAssignment_1_1()); 7124 if ( state.backtracking==0 ) {
4777 // InternalSolverLanguage.g:1456:3: ( rule__PatternBody__ConstraintsAssignment_1_1 )* 7125 before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1());
4778 loop13: 7126 }
4779 do { 7127 match(input,RULE_QUOTED_ID,FOLLOW_2); if (state.failed) return ;
4780 int alt13=2; 7128 if ( state.backtracking==0 ) {
4781 int LA13_0 = input.LA(1); 7129 after(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1());
4782 7130 }
4783 if ( (LA13_0==RULE_ID||LA13_0==13||(LA13_0>=30 && LA13_0<=31)) ) {
4784 alt13=1;
4785 }
4786
4787
4788 switch (alt13) {
4789 case 1 :
4790 // InternalSolverLanguage.g:1456:4: rule__PatternBody__ConstraintsAssignment_1_1
4791 {
4792 pushFollow(FOLLOW_4);
4793 rule__PatternBody__ConstraintsAssignment_1_1();
4794
4795 state._fsp--;
4796
4797
4798 }
4799 break;
4800
4801 default :
4802 break loop13;
4803 }
4804 } while (true);
4805
4806 after(grammarAccess.getPatternBodyAccess().getConstraintsAssignment_1_1());
4807 7131
4808 } 7132 }
4809 7133
@@ -4824,52 +7148,53 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4824 } 7148 }
4825 return ; 7149 return ;
4826 } 7150 }
4827 // $ANTLR end "rule__PatternBody__Alternatives_1" 7151 // $ANTLR end "rule__QualifiedName__Alternatives"
4828 7152
4829 7153
4830 // $ANTLR start "rule__Polarity__Alternatives" 7154 // $ANTLR start "rule__MetricType__Alternatives"
4831 // InternalSolverLanguage.g:1464:1: rule__Polarity__Alternatives : ( ( ( rule__Polarity__Group_0__0 ) ) | ( ( rule__Polarity__Group_1__0 ) ) ); 7155 // InternalSolverLanguage.g:1984:1: rule__MetricType__Alternatives : ( ( ( 'int' ) ) | ( ( 'real' ) ) );
4832 public final void rule__Polarity__Alternatives() throws RecognitionException { 7156 public final void rule__MetricType__Alternatives() throws RecognitionException {
4833 7157
4834 int stackSize = keepStackSize(); 7158 int stackSize = keepStackSize();
4835 7159
4836 try { 7160 try {
4837 // InternalSolverLanguage.g:1468:1: ( ( ( rule__Polarity__Group_0__0 ) ) | ( ( rule__Polarity__Group_1__0 ) ) ) 7161 // InternalSolverLanguage.g:1988:1: ( ( ( 'int' ) ) | ( ( 'real' ) ) )
4838 int alt15=2; 7162 int alt19=2;
4839 int LA15_0 = input.LA(1); 7163 int LA19_0 = input.LA(1);
4840 7164
4841 if ( (LA15_0==30) ) { 7165 if ( (LA19_0==17) ) {
4842 alt15=1; 7166 alt19=1;
4843 } 7167 }
4844 else if ( (LA15_0==13) ) { 7168 else if ( (LA19_0==18) ) {
4845 alt15=2; 7169 alt19=2;
4846 } 7170 }
4847 else { 7171 else {
7172 if (state.backtracking>0) {state.failed=true; return ;}
4848 NoViableAltException nvae = 7173 NoViableAltException nvae =
4849 new NoViableAltException("", 15, 0, input); 7174 new NoViableAltException("", 19, 0, input);
4850 7175
4851 throw nvae; 7176 throw nvae;
4852 } 7177 }
4853 switch (alt15) { 7178 switch (alt19) {
4854 case 1 : 7179 case 1 :
4855 // InternalSolverLanguage.g:1469:2: ( ( rule__Polarity__Group_0__0 ) ) 7180 // InternalSolverLanguage.g:1989:2: ( ( 'int' ) )
4856 { 7181 {
4857 // InternalSolverLanguage.g:1469:2: ( ( rule__Polarity__Group_0__0 ) ) 7182 // InternalSolverLanguage.g:1989:2: ( ( 'int' ) )
4858 // InternalSolverLanguage.g:1470:3: ( rule__Polarity__Group_0__0 ) 7183 // InternalSolverLanguage.g:1990:3: ( 'int' )
4859 { 7184 {
4860 before(grammarAccess.getPolarityAccess().getGroup_0()); 7185 if ( state.backtracking==0 ) {
4861 // InternalSolverLanguage.g:1471:3: ( rule__Polarity__Group_0__0 ) 7186 before(grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0());
4862 // InternalSolverLanguage.g:1471:4: rule__Polarity__Group_0__0 7187 }
7188 // InternalSolverLanguage.g:1991:3: ( 'int' )
7189 // InternalSolverLanguage.g:1991:4: 'int'
4863 { 7190 {
4864 pushFollow(FOLLOW_2); 7191 match(input,17,FOLLOW_2); if (state.failed) return ;
4865 rule__Polarity__Group_0__0();
4866
4867 state._fsp--;
4868
4869 7192
4870 } 7193 }
4871 7194
4872 after(grammarAccess.getPolarityAccess().getGroup_0()); 7195 if ( state.backtracking==0 ) {
7196 after(grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0());
7197 }
4873 7198
4874 } 7199 }
4875 7200
@@ -4877,24 +7202,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4877 } 7202 }
4878 break; 7203 break;
4879 case 2 : 7204 case 2 :
4880 // InternalSolverLanguage.g:1475:2: ( ( rule__Polarity__Group_1__0 ) ) 7205 // InternalSolverLanguage.g:1995:2: ( ( 'real' ) )
4881 { 7206 {
4882 // InternalSolverLanguage.g:1475:2: ( ( rule__Polarity__Group_1__0 ) ) 7207 // InternalSolverLanguage.g:1995:2: ( ( 'real' ) )
4883 // InternalSolverLanguage.g:1476:3: ( rule__Polarity__Group_1__0 ) 7208 // InternalSolverLanguage.g:1996:3: ( 'real' )
4884 { 7209 {
4885 before(grammarAccess.getPolarityAccess().getGroup_1()); 7210 if ( state.backtracking==0 ) {
4886 // InternalSolverLanguage.g:1477:3: ( rule__Polarity__Group_1__0 ) 7211 before(grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1());
4887 // InternalSolverLanguage.g:1477:4: rule__Polarity__Group_1__0 7212 }
7213 // InternalSolverLanguage.g:1997:3: ( 'real' )
7214 // InternalSolverLanguage.g:1997:4: 'real'
4888 { 7215 {
4889 pushFollow(FOLLOW_2); 7216 match(input,18,FOLLOW_2); if (state.failed) return ;
4890 rule__Polarity__Group_1__0();
4891
4892 state._fsp--;
4893
4894 7217
4895 } 7218 }
4896 7219
4897 after(grammarAccess.getPolarityAccess().getGroup_1()); 7220 if ( state.backtracking==0 ) {
7221 after(grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1());
7222 }
4898 7223
4899 } 7224 }
4900 7225
@@ -4915,100 +7240,232 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
4915 } 7240 }
4916 return ; 7241 return ;
4917 } 7242 }
4918 // $ANTLR end "rule__Polarity__Alternatives" 7243 // $ANTLR end "rule__MetricType__Alternatives"
4919 7244
4920 7245
4921 // $ANTLR start "rule__Constraint__Alternatives" 7246 // $ANTLR start "rule__ComparisonOperator__Alternatives"
4922 // InternalSolverLanguage.g:1485:1: rule__Constraint__Alternatives : ( ( ( rule__Constraint__Group_0__0 ) ) | ( ( rule__Constraint__Group_1__0 ) ) ); 7247 // InternalSolverLanguage.g:2005:1: rule__ComparisonOperator__Alternatives : ( ( ( '==' ) ) | ( ( '!=' ) ) | ( ( '<' ) ) | ( ( '<=' ) ) | ( ( '>' ) ) | ( ( '>=' ) ) | ( ( 'in' ) ) );
4923 public final void rule__Constraint__Alternatives() throws RecognitionException { 7248 public final void rule__ComparisonOperator__Alternatives() throws RecognitionException {
4924 7249
4925 int stackSize = keepStackSize(); 7250 int stackSize = keepStackSize();
4926 7251
4927 try { 7252 try {
4928 // InternalSolverLanguage.g:1489:1: ( ( ( rule__Constraint__Group_0__0 ) ) | ( ( rule__Constraint__Group_1__0 ) ) ) 7253 // InternalSolverLanguage.g:2009:1: ( ( ( '==' ) ) | ( ( '!=' ) ) | ( ( '<' ) ) | ( ( '<=' ) ) | ( ( '>' ) ) | ( ( '>=' ) ) | ( ( 'in' ) ) )
4929 int alt16=2; 7254 int alt20=7;
4930 switch ( input.LA(1) ) { 7255 switch ( input.LA(1) ) {
4931 case 30: 7256 case 19:
4932 { 7257 {
4933 int LA16_1 = input.LA(2); 7258 alt20=1;
4934
4935 if ( (LA16_1==RULE_ID) ) {
4936 alt16=1;
4937 } 7259 }
4938 else if ( (LA16_1==18) ) { 7260 break;
4939 alt16=2; 7261 case 20:
7262 {
7263 alt20=2;
4940 } 7264 }
4941 else { 7265 break;
4942 NoViableAltException nvae = 7266 case 21:
4943 new NoViableAltException("", 16, 1, input); 7267 {
4944 7268 alt20=3;
4945 throw nvae;
4946 } 7269 }
7270 break;
7271 case 22:
7272 {
7273 alt20=4;
4947 } 7274 }
4948 break; 7275 break;
4949 case RULE_ID: 7276 case 23:
4950 case 13:
4951 { 7277 {
4952 alt16=1; 7278 alt20=5;
4953 } 7279 }
4954 break; 7280 break;
4955 case 31: 7281 case 24:
4956 { 7282 {
4957 alt16=2; 7283 alt20=6;
7284 }
7285 break;
7286 case 25:
7287 {
7288 alt20=7;
4958 } 7289 }
4959 break; 7290 break;
4960 default: 7291 default:
7292 if (state.backtracking>0) {state.failed=true; return ;}
4961 NoViableAltException nvae = 7293 NoViableAltException nvae =
4962 new NoViableAltException("", 16, 0, input); 7294 new NoViableAltException("", 20, 0, input);
4963 7295
4964 throw nvae; 7296 throw nvae;
4965 } 7297 }
4966 7298
4967 switch (alt16) { 7299 switch (alt20) {
4968 case 1 : 7300 case 1 :
4969 // InternalSolverLanguage.g:1490:2: ( ( rule__Constraint__Group_0__0 ) ) 7301 // InternalSolverLanguage.g:2010:2: ( ( '==' ) )
4970 { 7302 {
4971 // InternalSolverLanguage.g:1490:2: ( ( rule__Constraint__Group_0__0 ) ) 7303 // InternalSolverLanguage.g:2010:2: ( ( '==' ) )
4972 // InternalSolverLanguage.g:1491:3: ( rule__Constraint__Group_0__0 ) 7304 // InternalSolverLanguage.g:2011:3: ( '==' )
4973 { 7305 {
4974 before(grammarAccess.getConstraintAccess().getGroup_0()); 7306 if ( state.backtracking==0 ) {
4975 // InternalSolverLanguage.g:1492:3: ( rule__Constraint__Group_0__0 ) 7307 before(grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0());
4976 // InternalSolverLanguage.g:1492:4: rule__Constraint__Group_0__0 7308 }
7309 // InternalSolverLanguage.g:2012:3: ( '==' )
7310 // InternalSolverLanguage.g:2012:4: '=='
4977 { 7311 {
4978 pushFollow(FOLLOW_2); 7312 match(input,19,FOLLOW_2); if (state.failed) return ;
4979 rule__Constraint__Group_0__0(); 7313
7314 }
7315
7316 if ( state.backtracking==0 ) {
7317 after(grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0());
7318 }
7319
7320 }
7321
7322
7323 }
7324 break;
7325 case 2 :
7326 // InternalSolverLanguage.g:2016:2: ( ( '!=' ) )
7327 {
7328 // InternalSolverLanguage.g:2016:2: ( ( '!=' ) )
7329 // InternalSolverLanguage.g:2017:3: ( '!=' )
7330 {
7331 if ( state.backtracking==0 ) {
7332 before(grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1());
7333 }
7334 // InternalSolverLanguage.g:2018:3: ( '!=' )
7335 // InternalSolverLanguage.g:2018:4: '!='
7336 {
7337 match(input,20,FOLLOW_2); if (state.failed) return ;
7338
7339 }
7340
7341 if ( state.backtracking==0 ) {
7342 after(grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1());
7343 }
7344
7345 }
4980 7346
4981 state._fsp--;
4982 7347
7348 }
7349 break;
7350 case 3 :
7351 // InternalSolverLanguage.g:2022:2: ( ( '<' ) )
7352 {
7353 // InternalSolverLanguage.g:2022:2: ( ( '<' ) )
7354 // InternalSolverLanguage.g:2023:3: ( '<' )
7355 {
7356 if ( state.backtracking==0 ) {
7357 before(grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2());
7358 }
7359 // InternalSolverLanguage.g:2024:3: ( '<' )
7360 // InternalSolverLanguage.g:2024:4: '<'
7361 {
7362 match(input,21,FOLLOW_2); if (state.failed) return ;
4983 7363
4984 } 7364 }
4985 7365
4986 after(grammarAccess.getConstraintAccess().getGroup_0()); 7366 if ( state.backtracking==0 ) {
7367 after(grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2());
7368 }
4987 7369
4988 } 7370 }
4989 7371
4990 7372
4991 } 7373 }
4992 break; 7374 break;
4993 case 2 : 7375 case 4 :
4994 // InternalSolverLanguage.g:1496:2: ( ( rule__Constraint__Group_1__0 ) ) 7376 // InternalSolverLanguage.g:2028:2: ( ( '<=' ) )
4995 { 7377 {
4996 // InternalSolverLanguage.g:1496:2: ( ( rule__Constraint__Group_1__0 ) ) 7378 // InternalSolverLanguage.g:2028:2: ( ( '<=' ) )
4997 // InternalSolverLanguage.g:1497:3: ( rule__Constraint__Group_1__0 ) 7379 // InternalSolverLanguage.g:2029:3: ( '<=' )
4998 { 7380 {
4999 before(grammarAccess.getConstraintAccess().getGroup_1()); 7381 if ( state.backtracking==0 ) {
5000 // InternalSolverLanguage.g:1498:3: ( rule__Constraint__Group_1__0 ) 7382 before(grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3());
5001 // InternalSolverLanguage.g:1498:4: rule__Constraint__Group_1__0 7383 }
7384 // InternalSolverLanguage.g:2030:3: ( '<=' )
7385 // InternalSolverLanguage.g:2030:4: '<='
5002 { 7386 {
5003 pushFollow(FOLLOW_2); 7387 match(input,22,FOLLOW_2); if (state.failed) return ;
5004 rule__Constraint__Group_1__0();
5005 7388
5006 state._fsp--; 7389 }
7390
7391 if ( state.backtracking==0 ) {
7392 after(grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3());
7393 }
7394
7395 }
7396
7397
7398 }
7399 break;
7400 case 5 :
7401 // InternalSolverLanguage.g:2034:2: ( ( '>' ) )
7402 {
7403 // InternalSolverLanguage.g:2034:2: ( ( '>' ) )
7404 // InternalSolverLanguage.g:2035:3: ( '>' )
7405 {
7406 if ( state.backtracking==0 ) {
7407 before(grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4());
7408 }
7409 // InternalSolverLanguage.g:2036:3: ( '>' )
7410 // InternalSolverLanguage.g:2036:4: '>'
7411 {
7412 match(input,23,FOLLOW_2); if (state.failed) return ;
5007 7413
7414 }
7415
7416 if ( state.backtracking==0 ) {
7417 after(grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4());
7418 }
7419
7420 }
7421
7422
7423 }
7424 break;
7425 case 6 :
7426 // InternalSolverLanguage.g:2040:2: ( ( '>=' ) )
7427 {
7428 // InternalSolverLanguage.g:2040:2: ( ( '>=' ) )
7429 // InternalSolverLanguage.g:2041:3: ( '>=' )
7430 {
7431 if ( state.backtracking==0 ) {
7432 before(grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5());
7433 }
7434 // InternalSolverLanguage.g:2042:3: ( '>=' )
7435 // InternalSolverLanguage.g:2042:4: '>='
7436 {
7437 match(input,24,FOLLOW_2); if (state.failed) return ;
5008 7438
5009 } 7439 }
5010 7440
5011 after(grammarAccess.getConstraintAccess().getGroup_1()); 7441 if ( state.backtracking==0 ) {
7442 after(grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5());
7443 }
7444
7445 }
7446
7447
7448 }
7449 break;
7450 case 7 :
7451 // InternalSolverLanguage.g:2046:2: ( ( 'in' ) )
7452 {
7453 // InternalSolverLanguage.g:2046:2: ( ( 'in' ) )
7454 // InternalSolverLanguage.g:2047:3: ( 'in' )
7455 {
7456 if ( state.backtracking==0 ) {
7457 before(grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6());
7458 }
7459 // InternalSolverLanguage.g:2048:3: ( 'in' )
7460 // InternalSolverLanguage.g:2048:4: 'in'
7461 {
7462 match(input,25,FOLLOW_2); if (state.failed) return ;
7463
7464 }
7465
7466 if ( state.backtracking==0 ) {
7467 after(grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6());
7468 }
5012 7469
5013 } 7470 }
5014 7471
@@ -5029,77 +7486,170 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5029 } 7486 }
5030 return ; 7487 return ;
5031 } 7488 }
5032 // $ANTLR end "rule__Constraint__Alternatives" 7489 // $ANTLR end "rule__ComparisonOperator__Alternatives"
5033 7490
5034 7491
5035 // $ANTLR start "rule__ClosureType__Alternatives" 7492 // $ANTLR start "rule__AdditiveBinaryOperator__Alternatives"
5036 // InternalSolverLanguage.g:1506:1: rule__ClosureType__Alternatives : ( ( ( rule__ClosureType__Group_0__0 ) ) | ( ( rule__ClosureType__Group_1__0 ) ) ); 7493 // InternalSolverLanguage.g:2056:1: rule__AdditiveBinaryOperator__Alternatives : ( ( ( '+' ) ) | ( ( '-' ) ) );
5037 public final void rule__ClosureType__Alternatives() throws RecognitionException { 7494 public final void rule__AdditiveBinaryOperator__Alternatives() throws RecognitionException {
5038 7495
5039 int stackSize = keepStackSize(); 7496 int stackSize = keepStackSize();
5040 7497
5041 try { 7498 try {
5042 // InternalSolverLanguage.g:1510:1: ( ( ( rule__ClosureType__Group_0__0 ) ) | ( ( rule__ClosureType__Group_1__0 ) ) ) 7499 // InternalSolverLanguage.g:2060:1: ( ( ( '+' ) ) | ( ( '-' ) ) )
5043 int alt17=2; 7500 int alt21=2;
5044 int LA17_0 = input.LA(1); 7501 int LA21_0 = input.LA(1);
5045 7502
5046 if ( (LA17_0==31) ) { 7503 if ( (LA21_0==26) ) {
5047 alt17=1; 7504 alt21=1;
5048 } 7505 }
5049 else if ( (LA17_0==30) ) { 7506 else if ( (LA21_0==27) ) {
5050 alt17=2; 7507 alt21=2;
5051 } 7508 }
5052 else { 7509 else {
7510 if (state.backtracking>0) {state.failed=true; return ;}
5053 NoViableAltException nvae = 7511 NoViableAltException nvae =
5054 new NoViableAltException("", 17, 0, input); 7512 new NoViableAltException("", 21, 0, input);
5055 7513
5056 throw nvae; 7514 throw nvae;
5057 } 7515 }
5058 switch (alt17) { 7516 switch (alt21) {
5059 case 1 : 7517 case 1 :
5060 // InternalSolverLanguage.g:1511:2: ( ( rule__ClosureType__Group_0__0 ) ) 7518 // InternalSolverLanguage.g:2061:2: ( ( '+' ) )
5061 { 7519 {
5062 // InternalSolverLanguage.g:1511:2: ( ( rule__ClosureType__Group_0__0 ) ) 7520 // InternalSolverLanguage.g:2061:2: ( ( '+' ) )
5063 // InternalSolverLanguage.g:1512:3: ( rule__ClosureType__Group_0__0 ) 7521 // InternalSolverLanguage.g:2062:3: ( '+' )
5064 { 7522 {
5065 before(grammarAccess.getClosureTypeAccess().getGroup_0()); 7523 if ( state.backtracking==0 ) {
5066 // InternalSolverLanguage.g:1513:3: ( rule__ClosureType__Group_0__0 ) 7524 before(grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0());
5067 // InternalSolverLanguage.g:1513:4: rule__ClosureType__Group_0__0 7525 }
7526 // InternalSolverLanguage.g:2063:3: ( '+' )
7527 // InternalSolverLanguage.g:2063:4: '+'
5068 { 7528 {
5069 pushFollow(FOLLOW_2); 7529 match(input,26,FOLLOW_2); if (state.failed) return ;
5070 rule__ClosureType__Group_0__0();
5071 7530
5072 state._fsp--; 7531 }
7532
7533 if ( state.backtracking==0 ) {
7534 after(grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0());
7535 }
5073 7536
7537 }
7538
7539
7540 }
7541 break;
7542 case 2 :
7543 // InternalSolverLanguage.g:2067:2: ( ( '-' ) )
7544 {
7545 // InternalSolverLanguage.g:2067:2: ( ( '-' ) )
7546 // InternalSolverLanguage.g:2068:3: ( '-' )
7547 {
7548 if ( state.backtracking==0 ) {
7549 before(grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1());
7550 }
7551 // InternalSolverLanguage.g:2069:3: ( '-' )
7552 // InternalSolverLanguage.g:2069:4: '-'
7553 {
7554 match(input,27,FOLLOW_2); if (state.failed) return ;
5074 7555
5075 } 7556 }
5076 7557
5077 after(grammarAccess.getClosureTypeAccess().getGroup_0()); 7558 if ( state.backtracking==0 ) {
7559 after(grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1());
7560 }
5078 7561
5079 } 7562 }
5080 7563
5081 7564
5082 } 7565 }
5083 break; 7566 break;
5084 case 2 : 7567
5085 // InternalSolverLanguage.g:1517:2: ( ( rule__ClosureType__Group_1__0 ) ) 7568 }
7569 }
7570 catch (RecognitionException re) {
7571 reportError(re);
7572 recover(input,re);
7573 }
7574 finally {
7575
7576 restoreStackSize(stackSize);
7577
7578 }
7579 return ;
7580 }
7581 // $ANTLR end "rule__AdditiveBinaryOperator__Alternatives"
7582
7583
7584 // $ANTLR start "rule__MultiplicativeBinaryOperator__Alternatives"
7585 // InternalSolverLanguage.g:2077:1: rule__MultiplicativeBinaryOperator__Alternatives : ( ( ( '*' ) ) | ( ( '/' ) ) );
7586 public final void rule__MultiplicativeBinaryOperator__Alternatives() throws RecognitionException {
7587
7588 int stackSize = keepStackSize();
7589
7590 try {
7591 // InternalSolverLanguage.g:2081:1: ( ( ( '*' ) ) | ( ( '/' ) ) )
7592 int alt22=2;
7593 int LA22_0 = input.LA(1);
7594
7595 if ( (LA22_0==16) ) {
7596 alt22=1;
7597 }
7598 else if ( (LA22_0==28) ) {
7599 alt22=2;
7600 }
7601 else {
7602 if (state.backtracking>0) {state.failed=true; return ;}
7603 NoViableAltException nvae =
7604 new NoViableAltException("", 22, 0, input);
7605
7606 throw nvae;
7607 }
7608 switch (alt22) {
7609 case 1 :
7610 // InternalSolverLanguage.g:2082:2: ( ( '*' ) )
5086 { 7611 {
5087 // InternalSolverLanguage.g:1517:2: ( ( rule__ClosureType__Group_1__0 ) ) 7612 // InternalSolverLanguage.g:2082:2: ( ( '*' ) )
5088 // InternalSolverLanguage.g:1518:3: ( rule__ClosureType__Group_1__0 ) 7613 // InternalSolverLanguage.g:2083:3: ( '*' )
5089 { 7614 {
5090 before(grammarAccess.getClosureTypeAccess().getGroup_1()); 7615 if ( state.backtracking==0 ) {
5091 // InternalSolverLanguage.g:1519:3: ( rule__ClosureType__Group_1__0 ) 7616 before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0());
5092 // InternalSolverLanguage.g:1519:4: rule__ClosureType__Group_1__0 7617 }
7618 // InternalSolverLanguage.g:2084:3: ( '*' )
7619 // InternalSolverLanguage.g:2084:4: '*'
5093 { 7620 {
5094 pushFollow(FOLLOW_2); 7621 match(input,16,FOLLOW_2); if (state.failed) return ;
5095 rule__ClosureType__Group_1__0();
5096 7622
5097 state._fsp--; 7623 }
5098 7624
7625 if ( state.backtracking==0 ) {
7626 after(grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0());
7627 }
5099 7628
5100 } 7629 }
5101 7630
5102 after(grammarAccess.getClosureTypeAccess().getGroup_1()); 7631
7632 }
7633 break;
7634 case 2 :
7635 // InternalSolverLanguage.g:2088:2: ( ( '/' ) )
7636 {
7637 // InternalSolverLanguage.g:2088:2: ( ( '/' ) )
7638 // InternalSolverLanguage.g:2089:3: ( '/' )
7639 {
7640 if ( state.backtracking==0 ) {
7641 before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1());
7642 }
7643 // InternalSolverLanguage.g:2090:3: ( '/' )
7644 // InternalSolverLanguage.g:2090:4: '/'
7645 {
7646 match(input,28,FOLLOW_2); if (state.failed) return ;
7647
7648 }
7649
7650 if ( state.backtracking==0 ) {
7651 after(grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1());
7652 }
5103 7653
5104 } 7654 }
5105 7655
@@ -5120,59 +7670,77 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5120 } 7670 }
5121 return ; 7671 return ;
5122 } 7672 }
5123 // $ANTLR end "rule__ClosureType__Alternatives" 7673 // $ANTLR end "rule__MultiplicativeBinaryOperator__Alternatives"
5124 7674
5125 7675
5126 // $ANTLR start "rule__Literal__Alternatives" 7676 // $ANTLR start "rule__UnaryOp__Alternatives"
5127 // InternalSolverLanguage.g:1527:1: rule__Literal__Alternatives : ( ( ruleVariable ) | ( ruleDataObject ) | ( ruleNamedObject ) ); 7677 // InternalSolverLanguage.g:2098:1: rule__UnaryOp__Alternatives : ( ( ( '!' ) ) | ( ( '+' ) ) | ( ( '-' ) ) | ( ( 'may' ) ) | ( ( 'must' ) ) | ( ( 'current' ) ) );
5128 public final void rule__Literal__Alternatives() throws RecognitionException { 7678 public final void rule__UnaryOp__Alternatives() throws RecognitionException {
5129 7679
5130 int stackSize = keepStackSize(); 7680 int stackSize = keepStackSize();
5131 7681
5132 try { 7682 try {
5133 // InternalSolverLanguage.g:1531:1: ( ( ruleVariable ) | ( ruleDataObject ) | ( ruleNamedObject ) ) 7683 // InternalSolverLanguage.g:2102:1: ( ( ( '!' ) ) | ( ( '+' ) ) | ( ( '-' ) ) | ( ( 'may' ) ) | ( ( 'must' ) ) | ( ( 'current' ) ) )
5134 int alt18=3; 7684 int alt23=6;
5135 switch ( input.LA(1) ) { 7685 switch ( input.LA(1) ) {
5136 case RULE_ID: 7686 case 29:
5137 { 7687 {
5138 alt18=1; 7688 alt23=1;
5139 } 7689 }
5140 break; 7690 break;
5141 case RULE_INT: 7691 case 26:
5142 case RULE_STRING:
5143 case 11:
5144 case 12:
5145 case 13:
5146 { 7692 {
5147 alt18=2; 7693 alt23=2;
5148 } 7694 }
5149 break; 7695 break;
5150 case 27: 7696 case 27:
5151 { 7697 {
5152 alt18=3; 7698 alt23=3;
7699 }
7700 break;
7701 case 30:
7702 {
7703 alt23=4;
7704 }
7705 break;
7706 case 31:
7707 {
7708 alt23=5;
7709 }
7710 break;
7711 case 32:
7712 {
7713 alt23=6;
5153 } 7714 }
5154 break; 7715 break;
5155 default: 7716 default:
7717 if (state.backtracking>0) {state.failed=true; return ;}
5156 NoViableAltException nvae = 7718 NoViableAltException nvae =
5157 new NoViableAltException("", 18, 0, input); 7719 new NoViableAltException("", 23, 0, input);
5158 7720
5159 throw nvae; 7721 throw nvae;
5160 } 7722 }
5161 7723
5162 switch (alt18) { 7724 switch (alt23) {
5163 case 1 : 7725 case 1 :
5164 // InternalSolverLanguage.g:1532:2: ( ruleVariable ) 7726 // InternalSolverLanguage.g:2103:2: ( ( '!' ) )
5165 { 7727 {
5166 // InternalSolverLanguage.g:1532:2: ( ruleVariable ) 7728 // InternalSolverLanguage.g:2103:2: ( ( '!' ) )
5167 // InternalSolverLanguage.g:1533:3: ruleVariable 7729 // InternalSolverLanguage.g:2104:3: ( '!' )
5168 { 7730 {
5169 before(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0()); 7731 if ( state.backtracking==0 ) {
5170 pushFollow(FOLLOW_2); 7732 before(grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0());
5171 ruleVariable(); 7733 }
7734 // InternalSolverLanguage.g:2105:3: ( '!' )
7735 // InternalSolverLanguage.g:2105:4: '!'
7736 {
7737 match(input,29,FOLLOW_2); if (state.failed) return ;
5172 7738
5173 state._fsp--; 7739 }
5174 7740
5175 after(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0()); 7741 if ( state.backtracking==0 ) {
7742 after(grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0());
7743 }
5176 7744
5177 } 7745 }
5178 7746
@@ -5180,18 +7748,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5180 } 7748 }
5181 break; 7749 break;
5182 case 2 : 7750 case 2 :
5183 // InternalSolverLanguage.g:1538:2: ( ruleDataObject ) 7751 // InternalSolverLanguage.g:2109:2: ( ( '+' ) )
5184 { 7752 {
5185 // InternalSolverLanguage.g:1538:2: ( ruleDataObject ) 7753 // InternalSolverLanguage.g:2109:2: ( ( '+' ) )
5186 // InternalSolverLanguage.g:1539:3: ruleDataObject 7754 // InternalSolverLanguage.g:2110:3: ( '+' )
5187 { 7755 {
5188 before(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1()); 7756 if ( state.backtracking==0 ) {
5189 pushFollow(FOLLOW_2); 7757 before(grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1());
5190 ruleDataObject(); 7758 }
7759 // InternalSolverLanguage.g:2111:3: ( '+' )
7760 // InternalSolverLanguage.g:2111:4: '+'
7761 {
7762 match(input,26,FOLLOW_2); if (state.failed) return ;
5191 7763
5192 state._fsp--; 7764 }
5193 7765
5194 after(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1()); 7766 if ( state.backtracking==0 ) {
7767 after(grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1());
7768 }
5195 7769
5196 } 7770 }
5197 7771
@@ -5199,18 +7773,99 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5199 } 7773 }
5200 break; 7774 break;
5201 case 3 : 7775 case 3 :
5202 // InternalSolverLanguage.g:1544:2: ( ruleNamedObject ) 7776 // InternalSolverLanguage.g:2115:2: ( ( '-' ) )
5203 { 7777 {
5204 // InternalSolverLanguage.g:1544:2: ( ruleNamedObject ) 7778 // InternalSolverLanguage.g:2115:2: ( ( '-' ) )
5205 // InternalSolverLanguage.g:1545:3: ruleNamedObject 7779 // InternalSolverLanguage.g:2116:3: ( '-' )
5206 { 7780 {
5207 before(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2()); 7781 if ( state.backtracking==0 ) {
5208 pushFollow(FOLLOW_2); 7782 before(grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2());
5209 ruleNamedObject(); 7783 }
7784 // InternalSolverLanguage.g:2117:3: ( '-' )
7785 // InternalSolverLanguage.g:2117:4: '-'
7786 {
7787 match(input,27,FOLLOW_2); if (state.failed) return ;
5210 7788
5211 state._fsp--; 7789 }
5212 7790
5213 after(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2()); 7791 if ( state.backtracking==0 ) {
7792 after(grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2());
7793 }
7794
7795 }
7796
7797
7798 }
7799 break;
7800 case 4 :
7801 // InternalSolverLanguage.g:2121:2: ( ( 'may' ) )
7802 {
7803 // InternalSolverLanguage.g:2121:2: ( ( 'may' ) )
7804 // InternalSolverLanguage.g:2122:3: ( 'may' )
7805 {
7806 if ( state.backtracking==0 ) {
7807 before(grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3());
7808 }
7809 // InternalSolverLanguage.g:2123:3: ( 'may' )
7810 // InternalSolverLanguage.g:2123:4: 'may'
7811 {
7812 match(input,30,FOLLOW_2); if (state.failed) return ;
7813
7814 }
7815
7816 if ( state.backtracking==0 ) {
7817 after(grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3());
7818 }
7819
7820 }
7821
7822
7823 }
7824 break;
7825 case 5 :
7826 // InternalSolverLanguage.g:2127:2: ( ( 'must' ) )
7827 {
7828 // InternalSolverLanguage.g:2127:2: ( ( 'must' ) )
7829 // InternalSolverLanguage.g:2128:3: ( 'must' )
7830 {
7831 if ( state.backtracking==0 ) {
7832 before(grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4());
7833 }
7834 // InternalSolverLanguage.g:2129:3: ( 'must' )
7835 // InternalSolverLanguage.g:2129:4: 'must'
7836 {
7837 match(input,31,FOLLOW_2); if (state.failed) return ;
7838
7839 }
7840
7841 if ( state.backtracking==0 ) {
7842 after(grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4());
7843 }
7844
7845 }
7846
7847
7848 }
7849 break;
7850 case 6 :
7851 // InternalSolverLanguage.g:2133:2: ( ( 'current' ) )
7852 {
7853 // InternalSolverLanguage.g:2133:2: ( ( 'current' ) )
7854 // InternalSolverLanguage.g:2134:3: ( 'current' )
7855 {
7856 if ( state.backtracking==0 ) {
7857 before(grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5());
7858 }
7859 // InternalSolverLanguage.g:2135:3: ( 'current' )
7860 // InternalSolverLanguage.g:2135:4: 'current'
7861 {
7862 match(input,32,FOLLOW_2); if (state.failed) return ;
7863
7864 }
7865
7866 if ( state.backtracking==0 ) {
7867 after(grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5());
7868 }
5214 7869
5215 } 7870 }
5216 7871
@@ -5231,57 +7886,283 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5231 } 7886 }
5232 return ; 7887 return ;
5233 } 7888 }
5234 // $ANTLR end "rule__Literal__Alternatives" 7889 // $ANTLR end "rule__UnaryOp__Alternatives"
5235 7890
5236 7891
5237 // $ANTLR start "rule__CDInterpretation__Alternatives" 7892 // $ANTLR start "rule__AggregationOp__Alternatives"
5238 // InternalSolverLanguage.g:1554:1: rule__CDInterpretation__Alternatives : ( ( ruleClassInterpretation ) | ( ruleEnumInterpretation ) | ( ruleGlobalRelationInterpretation ) ); 7893 // InternalSolverLanguage.g:2143:1: rule__AggregationOp__Alternatives : ( ( ( 'only' ) ) | ( ( 'sum' ) ) | ( ( 'prod' ) ) | ( ( 'avg' ) ) | ( ( 'min' ) ) | ( ( 'max' ) ) );
5239 public final void rule__CDInterpretation__Alternatives() throws RecognitionException { 7894 public final void rule__AggregationOp__Alternatives() throws RecognitionException {
5240 7895
5241 int stackSize = keepStackSize(); 7896 int stackSize = keepStackSize();
5242 7897
5243 try { 7898 try {
5244 // InternalSolverLanguage.g:1558:1: ( ( ruleClassInterpretation ) | ( ruleEnumInterpretation ) | ( ruleGlobalRelationInterpretation ) ) 7899 // InternalSolverLanguage.g:2147:1: ( ( ( 'only' ) ) | ( ( 'sum' ) ) | ( ( 'prod' ) ) | ( ( 'avg' ) ) | ( ( 'min' ) ) | ( ( 'max' ) ) )
5245 int alt19=3; 7900 int alt24=6;
5246 switch ( input.LA(1) ) { 7901 switch ( input.LA(1) ) {
5247 case 33: 7902 case 33:
5248 case 40:
5249 { 7903 {
5250 alt19=1; 7904 alt24=1;
7905 }
7906 break;
7907 case 34:
7908 {
7909 alt24=2;
7910 }
7911 break;
7912 case 35:
7913 {
7914 alt24=3;
7915 }
7916 break;
7917 case 36:
7918 {
7919 alt24=4;
5251 } 7920 }
5252 break; 7921 break;
5253 case 37: 7922 case 37:
5254 { 7923 {
5255 alt19=2; 7924 alt24=5;
5256 } 7925 }
5257 break; 7926 break;
5258 case 38: 7927 case 38:
7928 {
7929 alt24=6;
7930 }
7931 break;
7932 default:
7933 if (state.backtracking>0) {state.failed=true; return ;}
7934 NoViableAltException nvae =
7935 new NoViableAltException("", 24, 0, input);
7936
7937 throw nvae;
7938 }
7939
7940 switch (alt24) {
7941 case 1 :
7942 // InternalSolverLanguage.g:2148:2: ( ( 'only' ) )
7943 {
7944 // InternalSolverLanguage.g:2148:2: ( ( 'only' ) )
7945 // InternalSolverLanguage.g:2149:3: ( 'only' )
7946 {
7947 if ( state.backtracking==0 ) {
7948 before(grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0());
7949 }
7950 // InternalSolverLanguage.g:2150:3: ( 'only' )
7951 // InternalSolverLanguage.g:2150:4: 'only'
7952 {
7953 match(input,33,FOLLOW_2); if (state.failed) return ;
7954
7955 }
7956
7957 if ( state.backtracking==0 ) {
7958 after(grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0());
7959 }
7960
7961 }
7962
7963
7964 }
7965 break;
7966 case 2 :
7967 // InternalSolverLanguage.g:2154:2: ( ( 'sum' ) )
7968 {
7969 // InternalSolverLanguage.g:2154:2: ( ( 'sum' ) )
7970 // InternalSolverLanguage.g:2155:3: ( 'sum' )
7971 {
7972 if ( state.backtracking==0 ) {
7973 before(grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1());
7974 }
7975 // InternalSolverLanguage.g:2156:3: ( 'sum' )
7976 // InternalSolverLanguage.g:2156:4: 'sum'
7977 {
7978 match(input,34,FOLLOW_2); if (state.failed) return ;
7979
7980 }
7981
7982 if ( state.backtracking==0 ) {
7983 after(grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1());
7984 }
7985
7986 }
7987
7988
7989 }
7990 break;
7991 case 3 :
7992 // InternalSolverLanguage.g:2160:2: ( ( 'prod' ) )
7993 {
7994 // InternalSolverLanguage.g:2160:2: ( ( 'prod' ) )
7995 // InternalSolverLanguage.g:2161:3: ( 'prod' )
7996 {
7997 if ( state.backtracking==0 ) {
7998 before(grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2());
7999 }
8000 // InternalSolverLanguage.g:2162:3: ( 'prod' )
8001 // InternalSolverLanguage.g:2162:4: 'prod'
8002 {
8003 match(input,35,FOLLOW_2); if (state.failed) return ;
8004
8005 }
8006
8007 if ( state.backtracking==0 ) {
8008 after(grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2());
8009 }
8010
8011 }
8012
8013
8014 }
8015 break;
8016 case 4 :
8017 // InternalSolverLanguage.g:2166:2: ( ( 'avg' ) )
8018 {
8019 // InternalSolverLanguage.g:2166:2: ( ( 'avg' ) )
8020 // InternalSolverLanguage.g:2167:3: ( 'avg' )
8021 {
8022 if ( state.backtracking==0 ) {
8023 before(grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3());
8024 }
8025 // InternalSolverLanguage.g:2168:3: ( 'avg' )
8026 // InternalSolverLanguage.g:2168:4: 'avg'
8027 {
8028 match(input,36,FOLLOW_2); if (state.failed) return ;
8029
8030 }
8031
8032 if ( state.backtracking==0 ) {
8033 after(grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3());
8034 }
8035
8036 }
8037
8038
8039 }
8040 break;
8041 case 5 :
8042 // InternalSolverLanguage.g:2172:2: ( ( 'min' ) )
8043 {
8044 // InternalSolverLanguage.g:2172:2: ( ( 'min' ) )
8045 // InternalSolverLanguage.g:2173:3: ( 'min' )
8046 {
8047 if ( state.backtracking==0 ) {
8048 before(grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4());
8049 }
8050 // InternalSolverLanguage.g:2174:3: ( 'min' )
8051 // InternalSolverLanguage.g:2174:4: 'min'
8052 {
8053 match(input,37,FOLLOW_2); if (state.failed) return ;
8054
8055 }
8056
8057 if ( state.backtracking==0 ) {
8058 after(grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4());
8059 }
8060
8061 }
8062
8063
8064 }
8065 break;
8066 case 6 :
8067 // InternalSolverLanguage.g:2178:2: ( ( 'max' ) )
8068 {
8069 // InternalSolverLanguage.g:2178:2: ( ( 'max' ) )
8070 // InternalSolverLanguage.g:2179:3: ( 'max' )
8071 {
8072 if ( state.backtracking==0 ) {
8073 before(grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5());
8074 }
8075 // InternalSolverLanguage.g:2180:3: ( 'max' )
8076 // InternalSolverLanguage.g:2180:4: 'max'
8077 {
8078 match(input,38,FOLLOW_2); if (state.failed) return ;
8079
8080 }
8081
8082 if ( state.backtracking==0 ) {
8083 after(grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5());
8084 }
8085
8086 }
8087
8088
8089 }
8090 break;
8091
8092 }
8093 }
8094 catch (RecognitionException re) {
8095 reportError(re);
8096 recover(input,re);
8097 }
8098 finally {
8099
8100 restoreStackSize(stackSize);
8101
8102 }
8103 return ;
8104 }
8105 // $ANTLR end "rule__AggregationOp__Alternatives"
8106
8107
8108 // $ANTLR start "rule__LogicValue__Alternatives"
8109 // InternalSolverLanguage.g:2188:1: rule__LogicValue__Alternatives : ( ( ( 'true' ) ) | ( ( 'false' ) ) | ( ( 'unknown' ) ) | ( ( 'error' ) ) );
8110 public final void rule__LogicValue__Alternatives() throws RecognitionException {
8111
8112 int stackSize = keepStackSize();
8113
8114 try {
8115 // InternalSolverLanguage.g:2192:1: ( ( ( 'true' ) ) | ( ( 'false' ) ) | ( ( 'unknown' ) ) | ( ( 'error' ) ) )
8116 int alt25=4;
8117 switch ( input.LA(1) ) {
8118 case 39:
8119 {
8120 alt25=1;
8121 }
8122 break;
8123 case 40:
8124 {
8125 alt25=2;
8126 }
8127 break;
5259 case 41: 8128 case 41:
5260 { 8129 {
5261 alt19=3; 8130 alt25=3;
8131 }
8132 break;
8133 case 42:
8134 {
8135 alt25=4;
5262 } 8136 }
5263 break; 8137 break;
5264 default: 8138 default:
8139 if (state.backtracking>0) {state.failed=true; return ;}
5265 NoViableAltException nvae = 8140 NoViableAltException nvae =
5266 new NoViableAltException("", 19, 0, input); 8141 new NoViableAltException("", 25, 0, input);
5267 8142
5268 throw nvae; 8143 throw nvae;
5269 } 8144 }
5270 8145
5271 switch (alt19) { 8146 switch (alt25) {
5272 case 1 : 8147 case 1 :
5273 // InternalSolverLanguage.g:1559:2: ( ruleClassInterpretation ) 8148 // InternalSolverLanguage.g:2193:2: ( ( 'true' ) )
5274 { 8149 {
5275 // InternalSolverLanguage.g:1559:2: ( ruleClassInterpretation ) 8150 // InternalSolverLanguage.g:2193:2: ( ( 'true' ) )
5276 // InternalSolverLanguage.g:1560:3: ruleClassInterpretation 8151 // InternalSolverLanguage.g:2194:3: ( 'true' )
5277 { 8152 {
5278 before(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0()); 8153 if ( state.backtracking==0 ) {
5279 pushFollow(FOLLOW_2); 8154 before(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0());
5280 ruleClassInterpretation(); 8155 }
8156 // InternalSolverLanguage.g:2195:3: ( 'true' )
8157 // InternalSolverLanguage.g:2195:4: 'true'
8158 {
8159 match(input,39,FOLLOW_2); if (state.failed) return ;
5281 8160
5282 state._fsp--; 8161 }
5283 8162
5284 after(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0()); 8163 if ( state.backtracking==0 ) {
8164 after(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0());
8165 }
5285 8166
5286 } 8167 }
5287 8168
@@ -5289,18 +8170,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5289 } 8170 }
5290 break; 8171 break;
5291 case 2 : 8172 case 2 :
5292 // InternalSolverLanguage.g:1565:2: ( ruleEnumInterpretation ) 8173 // InternalSolverLanguage.g:2199:2: ( ( 'false' ) )
5293 { 8174 {
5294 // InternalSolverLanguage.g:1565:2: ( ruleEnumInterpretation ) 8175 // InternalSolverLanguage.g:2199:2: ( ( 'false' ) )
5295 // InternalSolverLanguage.g:1566:3: ruleEnumInterpretation 8176 // InternalSolverLanguage.g:2200:3: ( 'false' )
5296 { 8177 {
5297 before(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1()); 8178 if ( state.backtracking==0 ) {
5298 pushFollow(FOLLOW_2); 8179 before(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1());
5299 ruleEnumInterpretation(); 8180 }
8181 // InternalSolverLanguage.g:2201:3: ( 'false' )
8182 // InternalSolverLanguage.g:2201:4: 'false'
8183 {
8184 match(input,40,FOLLOW_2); if (state.failed) return ;
5300 8185
5301 state._fsp--; 8186 }
5302 8187
5303 after(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1()); 8188 if ( state.backtracking==0 ) {
8189 after(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1());
8190 }
5304 8191
5305 } 8192 }
5306 8193
@@ -5308,18 +8195,49 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5308 } 8195 }
5309 break; 8196 break;
5310 case 3 : 8197 case 3 :
5311 // InternalSolverLanguage.g:1571:2: ( ruleGlobalRelationInterpretation ) 8198 // InternalSolverLanguage.g:2205:2: ( ( 'unknown' ) )
5312 { 8199 {
5313 // InternalSolverLanguage.g:1571:2: ( ruleGlobalRelationInterpretation ) 8200 // InternalSolverLanguage.g:2205:2: ( ( 'unknown' ) )
5314 // InternalSolverLanguage.g:1572:3: ruleGlobalRelationInterpretation 8201 // InternalSolverLanguage.g:2206:3: ( 'unknown' )
5315 { 8202 {
5316 before(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2()); 8203 if ( state.backtracking==0 ) {
5317 pushFollow(FOLLOW_2); 8204 before(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2());
5318 ruleGlobalRelationInterpretation(); 8205 }
8206 // InternalSolverLanguage.g:2207:3: ( 'unknown' )
8207 // InternalSolverLanguage.g:2207:4: 'unknown'
8208 {
8209 match(input,41,FOLLOW_2); if (state.failed) return ;
5319 8210
5320 state._fsp--; 8211 }
8212
8213 if ( state.backtracking==0 ) {
8214 after(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2());
8215 }
8216
8217 }
8218
8219
8220 }
8221 break;
8222 case 4 :
8223 // InternalSolverLanguage.g:2211:2: ( ( 'error' ) )
8224 {
8225 // InternalSolverLanguage.g:2211:2: ( ( 'error' ) )
8226 // InternalSolverLanguage.g:2212:3: ( 'error' )
8227 {
8228 if ( state.backtracking==0 ) {
8229 before(grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3());
8230 }
8231 // InternalSolverLanguage.g:2213:3: ( 'error' )
8232 // InternalSolverLanguage.g:2213:4: 'error'
8233 {
8234 match(input,42,FOLLOW_2); if (state.failed) return ;
5321 8235
5322 after(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2()); 8236 }
8237
8238 if ( state.backtracking==0 ) {
8239 after(grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3());
8240 }
5323 8241
5324 } 8242 }
5325 8243
@@ -5340,52 +8258,53 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5340 } 8258 }
5341 return ; 8259 return ;
5342 } 8260 }
5343 // $ANTLR end "rule__CDInterpretation__Alternatives" 8261 // $ANTLR end "rule__LogicValue__Alternatives"
5344 8262
5345 8263
5346 // $ANTLR start "rule__MultiplicityDefinition__Alternatives_2" 8264 // $ANTLR start "rule__ObjectiveKind__Alternatives"
5347 // InternalSolverLanguage.g:1581:1: rule__MultiplicityDefinition__Alternatives_2 : ( ( ( rule__MultiplicityDefinition__UpperAssignment_2_0 ) ) | ( ( rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 ) ) ); 8265 // InternalSolverLanguage.g:2221:1: rule__ObjectiveKind__Alternatives : ( ( ( 'minimize' ) ) | ( ( 'maximize' ) ) );
5348 public final void rule__MultiplicityDefinition__Alternatives_2() throws RecognitionException { 8266 public final void rule__ObjectiveKind__Alternatives() throws RecognitionException {
5349 8267
5350 int stackSize = keepStackSize(); 8268 int stackSize = keepStackSize();
5351 8269
5352 try { 8270 try {
5353 // InternalSolverLanguage.g:1585:1: ( ( ( rule__MultiplicityDefinition__UpperAssignment_2_0 ) ) | ( ( rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 ) ) ) 8271 // InternalSolverLanguage.g:2225:1: ( ( ( 'minimize' ) ) | ( ( 'maximize' ) ) )
5354 int alt20=2; 8272 int alt26=2;
5355 int LA20_0 = input.LA(1); 8273 int LA26_0 = input.LA(1);
5356 8274
5357 if ( (LA20_0==RULE_INT) ) { 8275 if ( (LA26_0==43) ) {
5358 alt20=1; 8276 alt26=1;
5359 } 8277 }
5360 else if ( (LA20_0==31) ) { 8278 else if ( (LA26_0==44) ) {
5361 alt20=2; 8279 alt26=2;
5362 } 8280 }
5363 else { 8281 else {
8282 if (state.backtracking>0) {state.failed=true; return ;}
5364 NoViableAltException nvae = 8283 NoViableAltException nvae =
5365 new NoViableAltException("", 20, 0, input); 8284 new NoViableAltException("", 26, 0, input);
5366 8285
5367 throw nvae; 8286 throw nvae;
5368 } 8287 }
5369 switch (alt20) { 8288 switch (alt26) {
5370 case 1 : 8289 case 1 :
5371 // InternalSolverLanguage.g:1586:2: ( ( rule__MultiplicityDefinition__UpperAssignment_2_0 ) ) 8290 // InternalSolverLanguage.g:2226:2: ( ( 'minimize' ) )
5372 { 8291 {
5373 // InternalSolverLanguage.g:1586:2: ( ( rule__MultiplicityDefinition__UpperAssignment_2_0 ) ) 8292 // InternalSolverLanguage.g:2226:2: ( ( 'minimize' ) )
5374 // InternalSolverLanguage.g:1587:3: ( rule__MultiplicityDefinition__UpperAssignment_2_0 ) 8293 // InternalSolverLanguage.g:2227:3: ( 'minimize' )
5375 { 8294 {
5376 before(grammarAccess.getMultiplicityDefinitionAccess().getUpperAssignment_2_0()); 8295 if ( state.backtracking==0 ) {
5377 // InternalSolverLanguage.g:1588:3: ( rule__MultiplicityDefinition__UpperAssignment_2_0 ) 8296 before(grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0());
5378 // InternalSolverLanguage.g:1588:4: rule__MultiplicityDefinition__UpperAssignment_2_0 8297 }
8298 // InternalSolverLanguage.g:2228:3: ( 'minimize' )
8299 // InternalSolverLanguage.g:2228:4: 'minimize'
5379 { 8300 {
5380 pushFollow(FOLLOW_2); 8301 match(input,43,FOLLOW_2); if (state.failed) return ;
5381 rule__MultiplicityDefinition__UpperAssignment_2_0();
5382
5383 state._fsp--;
5384
5385 8302
5386 } 8303 }
5387 8304
5388 after(grammarAccess.getMultiplicityDefinitionAccess().getUpperAssignment_2_0()); 8305 if ( state.backtracking==0 ) {
8306 after(grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0());
8307 }
5389 8308
5390 } 8309 }
5391 8310
@@ -5393,24 +8312,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5393 } 8312 }
5394 break; 8313 break;
5395 case 2 : 8314 case 2 :
5396 // InternalSolverLanguage.g:1592:2: ( ( rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 ) ) 8315 // InternalSolverLanguage.g:2232:2: ( ( 'maximize' ) )
5397 { 8316 {
5398 // InternalSolverLanguage.g:1592:2: ( ( rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 ) ) 8317 // InternalSolverLanguage.g:2232:2: ( ( 'maximize' ) )
5399 // InternalSolverLanguage.g:1593:3: ( rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 ) 8318 // InternalSolverLanguage.g:2233:3: ( 'maximize' )
5400 { 8319 {
5401 before(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAssignment_2_1()); 8320 if ( state.backtracking==0 ) {
5402 // InternalSolverLanguage.g:1594:3: ( rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 ) 8321 before(grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1());
5403 // InternalSolverLanguage.g:1594:4: rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 8322 }
8323 // InternalSolverLanguage.g:2234:3: ( 'maximize' )
8324 // InternalSolverLanguage.g:2234:4: 'maximize'
5404 { 8325 {
5405 pushFollow(FOLLOW_2); 8326 match(input,44,FOLLOW_2); if (state.failed) return ;
5406 rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1();
5407
5408 state._fsp--;
5409
5410 8327
5411 } 8328 }
5412 8329
5413 after(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAssignment_2_1()); 8330 if ( state.backtracking==0 ) {
8331 after(grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1());
8332 }
5414 8333
5415 } 8334 }
5416 8335
@@ -5431,29 +8350,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5431 } 8350 }
5432 return ; 8351 return ;
5433 } 8352 }
5434 // $ANTLR end "rule__MultiplicityDefinition__Alternatives_2" 8353 // $ANTLR end "rule__ObjectiveKind__Alternatives"
5435 8354
5436 8355
5437 // $ANTLR start "rule__REALLiteral__Group__0" 8356 // $ANTLR start "rule__Statement__Group__0"
5438 // InternalSolverLanguage.g:1602:1: rule__REALLiteral__Group__0 : rule__REALLiteral__Group__0__Impl rule__REALLiteral__Group__1 ; 8357 // InternalSolverLanguage.g:2242:1: rule__Statement__Group__0 : rule__Statement__Group__0__Impl rule__Statement__Group__1 ;
5439 public final void rule__REALLiteral__Group__0() throws RecognitionException { 8358 public final void rule__Statement__Group__0() throws RecognitionException {
5440 8359
5441 int stackSize = keepStackSize(); 8360 int stackSize = keepStackSize();
5442 8361
5443 try { 8362 try {
5444 // InternalSolverLanguage.g:1606:1: ( rule__REALLiteral__Group__0__Impl rule__REALLiteral__Group__1 ) 8363 // InternalSolverLanguage.g:2246:1: ( rule__Statement__Group__0__Impl rule__Statement__Group__1 )
5445 // InternalSolverLanguage.g:1607:2: rule__REALLiteral__Group__0__Impl rule__REALLiteral__Group__1 8364 // InternalSolverLanguage.g:2247:2: rule__Statement__Group__0__Impl rule__Statement__Group__1
5446 { 8365 {
5447 pushFollow(FOLLOW_5); 8366 pushFollow(FOLLOW_4);
5448 rule__REALLiteral__Group__0__Impl(); 8367 rule__Statement__Group__0__Impl();
5449 8368
5450 state._fsp--; 8369 state._fsp--;
5451 8370 if (state.failed) return ;
5452 pushFollow(FOLLOW_2); 8371 pushFollow(FOLLOW_2);
5453 rule__REALLiteral__Group__1(); 8372 rule__Statement__Group__1();
5454 8373
5455 state._fsp--; 8374 state._fsp--;
5456 8375 if (state.failed) return ;
5457 8376
5458 } 8377 }
5459 8378
@@ -5469,42 +8388,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5469 } 8388 }
5470 return ; 8389 return ;
5471 } 8390 }
5472 // $ANTLR end "rule__REALLiteral__Group__0" 8391 // $ANTLR end "rule__Statement__Group__0"
5473 8392
5474 8393
5475 // $ANTLR start "rule__REALLiteral__Group__0__Impl" 8394 // $ANTLR start "rule__Statement__Group__0__Impl"
5476 // InternalSolverLanguage.g:1614:1: rule__REALLiteral__Group__0__Impl : ( ( '-' )? ) ; 8395 // InternalSolverLanguage.g:2254:1: rule__Statement__Group__0__Impl : ( ( rule__Statement__Alternatives_0 ) ) ;
5477 public final void rule__REALLiteral__Group__0__Impl() throws RecognitionException { 8396 public final void rule__Statement__Group__0__Impl() throws RecognitionException {
5478 8397
5479 int stackSize = keepStackSize(); 8398 int stackSize = keepStackSize();
5480 8399
5481 try { 8400 try {
5482 // InternalSolverLanguage.g:1618:1: ( ( ( '-' )? ) ) 8401 // InternalSolverLanguage.g:2258:1: ( ( ( rule__Statement__Alternatives_0 ) ) )
5483 // InternalSolverLanguage.g:1619:1: ( ( '-' )? ) 8402 // InternalSolverLanguage.g:2259:1: ( ( rule__Statement__Alternatives_0 ) )
5484 { 8403 {
5485 // InternalSolverLanguage.g:1619:1: ( ( '-' )? ) 8404 // InternalSolverLanguage.g:2259:1: ( ( rule__Statement__Alternatives_0 ) )
5486 // InternalSolverLanguage.g:1620:2: ( '-' )? 8405 // InternalSolverLanguage.g:2260:2: ( rule__Statement__Alternatives_0 )
5487 { 8406 {
5488 before(grammarAccess.getREALLiteralAccess().getHyphenMinusKeyword_0()); 8407 if ( state.backtracking==0 ) {
5489 // InternalSolverLanguage.g:1621:2: ( '-' )? 8408 before(grammarAccess.getStatementAccess().getAlternatives_0());
5490 int alt21=2;
5491 int LA21_0 = input.LA(1);
5492
5493 if ( (LA21_0==13) ) {
5494 alt21=1;
5495 } 8409 }
5496 switch (alt21) { 8410 // InternalSolverLanguage.g:2261:2: ( rule__Statement__Alternatives_0 )
5497 case 1 : 8411 // InternalSolverLanguage.g:2261:3: rule__Statement__Alternatives_0
5498 // InternalSolverLanguage.g:1621:3: '-' 8412 {
5499 { 8413 pushFollow(FOLLOW_2);
5500 match(input,13,FOLLOW_2); 8414 rule__Statement__Alternatives_0();
5501 8415
5502 } 8416 state._fsp--;
5503 break; 8417 if (state.failed) return ;
5504 8418
5505 } 8419 }
5506 8420
5507 after(grammarAccess.getREALLiteralAccess().getHyphenMinusKeyword_0()); 8421 if ( state.backtracking==0 ) {
8422 after(grammarAccess.getStatementAccess().getAlternatives_0());
8423 }
5508 8424
5509 } 8425 }
5510 8426
@@ -5523,29 +8439,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5523 } 8439 }
5524 return ; 8440 return ;
5525 } 8441 }
5526 // $ANTLR end "rule__REALLiteral__Group__0__Impl" 8442 // $ANTLR end "rule__Statement__Group__0__Impl"
5527 8443
5528 8444
5529 // $ANTLR start "rule__REALLiteral__Group__1" 8445 // $ANTLR start "rule__Statement__Group__1"
5530 // InternalSolverLanguage.g:1629:1: rule__REALLiteral__Group__1 : rule__REALLiteral__Group__1__Impl rule__REALLiteral__Group__2 ; 8446 // InternalSolverLanguage.g:2269:1: rule__Statement__Group__1 : rule__Statement__Group__1__Impl ;
5531 public final void rule__REALLiteral__Group__1() throws RecognitionException { 8447 public final void rule__Statement__Group__1() throws RecognitionException {
5532 8448
5533 int stackSize = keepStackSize(); 8449 int stackSize = keepStackSize();
5534 8450
5535 try { 8451 try {
5536 // InternalSolverLanguage.g:1633:1: ( rule__REALLiteral__Group__1__Impl rule__REALLiteral__Group__2 ) 8452 // InternalSolverLanguage.g:2273:1: ( rule__Statement__Group__1__Impl )
5537 // InternalSolverLanguage.g:1634:2: rule__REALLiteral__Group__1__Impl rule__REALLiteral__Group__2 8453 // InternalSolverLanguage.g:2274:2: rule__Statement__Group__1__Impl
5538 { 8454 {
5539 pushFollow(FOLLOW_6);
5540 rule__REALLiteral__Group__1__Impl();
5541
5542 state._fsp--;
5543
5544 pushFollow(FOLLOW_2); 8455 pushFollow(FOLLOW_2);
5545 rule__REALLiteral__Group__2(); 8456 rule__Statement__Group__1__Impl();
5546 8457
5547 state._fsp--; 8458 state._fsp--;
5548 8459 if (state.failed) return ;
5549 8460
5550 } 8461 }
5551 8462
@@ -5561,25 +8472,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5561 } 8472 }
5562 return ; 8473 return ;
5563 } 8474 }
5564 // $ANTLR end "rule__REALLiteral__Group__1" 8475 // $ANTLR end "rule__Statement__Group__1"
5565 8476
5566 8477
5567 // $ANTLR start "rule__REALLiteral__Group__1__Impl" 8478 // $ANTLR start "rule__Statement__Group__1__Impl"
5568 // InternalSolverLanguage.g:1641:1: rule__REALLiteral__Group__1__Impl : ( RULE_INT ) ; 8479 // InternalSolverLanguage.g:2280:1: rule__Statement__Group__1__Impl : ( RULE_DOT ) ;
5569 public final void rule__REALLiteral__Group__1__Impl() throws RecognitionException { 8480 public final void rule__Statement__Group__1__Impl() throws RecognitionException {
5570 8481
5571 int stackSize = keepStackSize(); 8482 int stackSize = keepStackSize();
5572 8483
5573 try { 8484 try {
5574 // InternalSolverLanguage.g:1645:1: ( ( RULE_INT ) ) 8485 // InternalSolverLanguage.g:2284:1: ( ( RULE_DOT ) )
5575 // InternalSolverLanguage.g:1646:1: ( RULE_INT ) 8486 // InternalSolverLanguage.g:2285:1: ( RULE_DOT )
5576 { 8487 {
5577 // InternalSolverLanguage.g:1646:1: ( RULE_INT ) 8488 // InternalSolverLanguage.g:2285:1: ( RULE_DOT )
5578 // InternalSolverLanguage.g:1647:2: RULE_INT 8489 // InternalSolverLanguage.g:2286:2: RULE_DOT
5579 { 8490 {
5580 before(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_1()); 8491 if ( state.backtracking==0 ) {
5581 match(input,RULE_INT,FOLLOW_2); 8492 before(grammarAccess.getStatementAccess().getDOTTerminalRuleCall_1());
5582 after(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_1()); 8493 }
8494 match(input,RULE_DOT,FOLLOW_2); if (state.failed) return ;
8495 if ( state.backtracking==0 ) {
8496 after(grammarAccess.getStatementAccess().getDOTTerminalRuleCall_1());
8497 }
5583 8498
5584 } 8499 }
5585 8500
@@ -5598,29 +8513,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5598 } 8513 }
5599 return ; 8514 return ;
5600 } 8515 }
5601 // $ANTLR end "rule__REALLiteral__Group__1__Impl" 8516 // $ANTLR end "rule__Statement__Group__1__Impl"
5602 8517
5603 8518
5604 // $ANTLR start "rule__REALLiteral__Group__2" 8519 // $ANTLR start "rule__AssertionOrDefinition__Group__0"
5605 // InternalSolverLanguage.g:1656:1: rule__REALLiteral__Group__2 : rule__REALLiteral__Group__2__Impl rule__REALLiteral__Group__3 ; 8520 // InternalSolverLanguage.g:2296:1: rule__AssertionOrDefinition__Group__0 : rule__AssertionOrDefinition__Group__0__Impl rule__AssertionOrDefinition__Group__1 ;
5606 public final void rule__REALLiteral__Group__2() throws RecognitionException { 8521 public final void rule__AssertionOrDefinition__Group__0() throws RecognitionException {
5607 8522
5608 int stackSize = keepStackSize(); 8523 int stackSize = keepStackSize();
5609 8524
5610 try { 8525 try {
5611 // InternalSolverLanguage.g:1660:1: ( rule__REALLiteral__Group__2__Impl rule__REALLiteral__Group__3 ) 8526 // InternalSolverLanguage.g:2300:1: ( rule__AssertionOrDefinition__Group__0__Impl rule__AssertionOrDefinition__Group__1 )
5612 // InternalSolverLanguage.g:1661:2: rule__REALLiteral__Group__2__Impl rule__REALLiteral__Group__3 8527 // InternalSolverLanguage.g:2301:2: rule__AssertionOrDefinition__Group__0__Impl rule__AssertionOrDefinition__Group__1
5613 { 8528 {
5614 pushFollow(FOLLOW_5); 8529 pushFollow(FOLLOW_5);
5615 rule__REALLiteral__Group__2__Impl(); 8530 rule__AssertionOrDefinition__Group__0__Impl();
5616 8531
5617 state._fsp--; 8532 state._fsp--;
5618 8533 if (state.failed) return ;
5619 pushFollow(FOLLOW_2); 8534 pushFollow(FOLLOW_2);
5620 rule__REALLiteral__Group__3(); 8535 rule__AssertionOrDefinition__Group__1();
5621 8536
5622 state._fsp--; 8537 state._fsp--;
5623 8538 if (state.failed) return ;
5624 8539
5625 } 8540 }
5626 8541
@@ -5636,25 +8551,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5636 } 8551 }
5637 return ; 8552 return ;
5638 } 8553 }
5639 // $ANTLR end "rule__REALLiteral__Group__2" 8554 // $ANTLR end "rule__AssertionOrDefinition__Group__0"
5640 8555
5641 8556
5642 // $ANTLR start "rule__REALLiteral__Group__2__Impl" 8557 // $ANTLR start "rule__AssertionOrDefinition__Group__0__Impl"
5643 // InternalSolverLanguage.g:1668:1: rule__REALLiteral__Group__2__Impl : ( '.' ) ; 8558 // InternalSolverLanguage.g:2308:1: rule__AssertionOrDefinition__Group__0__Impl : ( ruleExpression ) ;
5644 public final void rule__REALLiteral__Group__2__Impl() throws RecognitionException { 8559 public final void rule__AssertionOrDefinition__Group__0__Impl() throws RecognitionException {
5645 8560
5646 int stackSize = keepStackSize(); 8561 int stackSize = keepStackSize();
5647 8562
5648 try { 8563 try {
5649 // InternalSolverLanguage.g:1672:1: ( ( '.' ) ) 8564 // InternalSolverLanguage.g:2312:1: ( ( ruleExpression ) )
5650 // InternalSolverLanguage.g:1673:1: ( '.' ) 8565 // InternalSolverLanguage.g:2313:1: ( ruleExpression )
5651 { 8566 {
5652 // InternalSolverLanguage.g:1673:1: ( '.' ) 8567 // InternalSolverLanguage.g:2313:1: ( ruleExpression )
5653 // InternalSolverLanguage.g:1674:2: '.' 8568 // InternalSolverLanguage.g:2314:2: ruleExpression
5654 { 8569 {
5655 before(grammarAccess.getREALLiteralAccess().getFullStopKeyword_2()); 8570 if ( state.backtracking==0 ) {
5656 match(input,14,FOLLOW_2); 8571 before(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0());
5657 after(grammarAccess.getREALLiteralAccess().getFullStopKeyword_2()); 8572 }
8573 pushFollow(FOLLOW_2);
8574 ruleExpression();
8575
8576 state._fsp--;
8577 if (state.failed) return ;
8578 if ( state.backtracking==0 ) {
8579 after(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0());
8580 }
5658 8581
5659 } 8582 }
5660 8583
@@ -5673,24 +8596,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5673 } 8596 }
5674 return ; 8597 return ;
5675 } 8598 }
5676 // $ANTLR end "rule__REALLiteral__Group__2__Impl" 8599 // $ANTLR end "rule__AssertionOrDefinition__Group__0__Impl"
5677 8600
5678 8601
5679 // $ANTLR start "rule__REALLiteral__Group__3" 8602 // $ANTLR start "rule__AssertionOrDefinition__Group__1"
5680 // InternalSolverLanguage.g:1683:1: rule__REALLiteral__Group__3 : rule__REALLiteral__Group__3__Impl ; 8603 // InternalSolverLanguage.g:2323:1: rule__AssertionOrDefinition__Group__1 : rule__AssertionOrDefinition__Group__1__Impl ;
5681 public final void rule__REALLiteral__Group__3() throws RecognitionException { 8604 public final void rule__AssertionOrDefinition__Group__1() throws RecognitionException {
5682 8605
5683 int stackSize = keepStackSize(); 8606 int stackSize = keepStackSize();
5684 8607
5685 try { 8608 try {
5686 // InternalSolverLanguage.g:1687:1: ( rule__REALLiteral__Group__3__Impl ) 8609 // InternalSolverLanguage.g:2327:1: ( rule__AssertionOrDefinition__Group__1__Impl )
5687 // InternalSolverLanguage.g:1688:2: rule__REALLiteral__Group__3__Impl 8610 // InternalSolverLanguage.g:2328:2: rule__AssertionOrDefinition__Group__1__Impl
5688 { 8611 {
5689 pushFollow(FOLLOW_2); 8612 pushFollow(FOLLOW_2);
5690 rule__REALLiteral__Group__3__Impl(); 8613 rule__AssertionOrDefinition__Group__1__Impl();
5691 8614
5692 state._fsp--; 8615 state._fsp--;
5693 8616 if (state.failed) return ;
5694 8617
5695 } 8618 }
5696 8619
@@ -5706,25 +8629,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5706 } 8629 }
5707 return ; 8630 return ;
5708 } 8631 }
5709 // $ANTLR end "rule__REALLiteral__Group__3" 8632 // $ANTLR end "rule__AssertionOrDefinition__Group__1"
5710 8633
5711 8634
5712 // $ANTLR start "rule__REALLiteral__Group__3__Impl" 8635 // $ANTLR start "rule__AssertionOrDefinition__Group__1__Impl"
5713 // InternalSolverLanguage.g:1694:1: rule__REALLiteral__Group__3__Impl : ( RULE_INT ) ; 8636 // InternalSolverLanguage.g:2334:1: rule__AssertionOrDefinition__Group__1__Impl : ( ( rule__AssertionOrDefinition__Alternatives_1 ) ) ;
5714 public final void rule__REALLiteral__Group__3__Impl() throws RecognitionException { 8637 public final void rule__AssertionOrDefinition__Group__1__Impl() throws RecognitionException {
5715 8638
5716 int stackSize = keepStackSize(); 8639 int stackSize = keepStackSize();
5717 8640
5718 try { 8641 try {
5719 // InternalSolverLanguage.g:1698:1: ( ( RULE_INT ) ) 8642 // InternalSolverLanguage.g:2338:1: ( ( ( rule__AssertionOrDefinition__Alternatives_1 ) ) )
5720 // InternalSolverLanguage.g:1699:1: ( RULE_INT ) 8643 // InternalSolverLanguage.g:2339:1: ( ( rule__AssertionOrDefinition__Alternatives_1 ) )
5721 { 8644 {
5722 // InternalSolverLanguage.g:1699:1: ( RULE_INT ) 8645 // InternalSolverLanguage.g:2339:1: ( ( rule__AssertionOrDefinition__Alternatives_1 ) )
5723 // InternalSolverLanguage.g:1700:2: RULE_INT 8646 // InternalSolverLanguage.g:2340:2: ( rule__AssertionOrDefinition__Alternatives_1 )
8647 {
8648 if ( state.backtracking==0 ) {
8649 before(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1());
8650 }
8651 // InternalSolverLanguage.g:2341:2: ( rule__AssertionOrDefinition__Alternatives_1 )
8652 // InternalSolverLanguage.g:2341:3: rule__AssertionOrDefinition__Alternatives_1
5724 { 8653 {
5725 before(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_3()); 8654 pushFollow(FOLLOW_2);
5726 match(input,RULE_INT,FOLLOW_2); 8655 rule__AssertionOrDefinition__Alternatives_1();
5727 after(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_3()); 8656
8657 state._fsp--;
8658 if (state.failed) return ;
8659
8660 }
8661
8662 if ( state.backtracking==0 ) {
8663 after(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1());
8664 }
5728 8665
5729 } 8666 }
5730 8667
@@ -5743,29 +8680,103 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5743 } 8680 }
5744 return ; 8681 return ;
5745 } 8682 }
5746 // $ANTLR end "rule__REALLiteral__Group__3__Impl" 8683 // $ANTLR end "rule__AssertionOrDefinition__Group__1__Impl"
5747 8684
5748 8685
5749 // $ANTLR start "rule__INTLiteral__Group__0" 8686 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__0"
5750 // InternalSolverLanguage.g:1710:1: rule__INTLiteral__Group__0 : rule__INTLiteral__Group__0__Impl rule__INTLiteral__Group__1 ; 8687 // InternalSolverLanguage.g:2350:1: rule__AssertionOrDefinition__Group_1_0__0 : rule__AssertionOrDefinition__Group_1_0__0__Impl rule__AssertionOrDefinition__Group_1_0__1 ;
5751 public final void rule__INTLiteral__Group__0() throws RecognitionException { 8688 public final void rule__AssertionOrDefinition__Group_1_0__0() throws RecognitionException {
5752 8689
5753 int stackSize = keepStackSize(); 8690 int stackSize = keepStackSize();
5754 8691
5755 try { 8692 try {
5756 // InternalSolverLanguage.g:1714:1: ( rule__INTLiteral__Group__0__Impl rule__INTLiteral__Group__1 ) 8693 // InternalSolverLanguage.g:2354:1: ( rule__AssertionOrDefinition__Group_1_0__0__Impl rule__AssertionOrDefinition__Group_1_0__1 )
5757 // InternalSolverLanguage.g:1715:2: rule__INTLiteral__Group__0__Impl rule__INTLiteral__Group__1 8694 // InternalSolverLanguage.g:2355:2: rule__AssertionOrDefinition__Group_1_0__0__Impl rule__AssertionOrDefinition__Group_1_0__1
5758 { 8695 {
5759 pushFollow(FOLLOW_5); 8696 pushFollow(FOLLOW_6);
5760 rule__INTLiteral__Group__0__Impl(); 8697 rule__AssertionOrDefinition__Group_1_0__0__Impl();
5761 8698
5762 state._fsp--; 8699 state._fsp--;
5763 8700 if (state.failed) return ;
5764 pushFollow(FOLLOW_2); 8701 pushFollow(FOLLOW_2);
5765 rule__INTLiteral__Group__1(); 8702 rule__AssertionOrDefinition__Group_1_0__1();
5766 8703
5767 state._fsp--; 8704 state._fsp--;
8705 if (state.failed) return ;
8706
8707 }
5768 8708
8709 }
8710 catch (RecognitionException re) {
8711 reportError(re);
8712 recover(input,re);
8713 }
8714 finally {
8715
8716 restoreStackSize(stackSize);
8717
8718 }
8719 return ;
8720 }
8721 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0__0"
8722
8723
8724 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__0__Impl"
8725 // InternalSolverLanguage.g:2362:1: rule__AssertionOrDefinition__Group_1_0__0__Impl : ( () ) ;
8726 public final void rule__AssertionOrDefinition__Group_1_0__0__Impl() throws RecognitionException {
8727
8728 int stackSize = keepStackSize();
8729
8730 try {
8731 // InternalSolverLanguage.g:2366:1: ( ( () ) )
8732 // InternalSolverLanguage.g:2367:1: ( () )
8733 {
8734 // InternalSolverLanguage.g:2367:1: ( () )
8735 // InternalSolverLanguage.g:2368:2: ()
8736 {
8737 if ( state.backtracking==0 ) {
8738 before(grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0());
8739 }
8740 // InternalSolverLanguage.g:2369:2: ()
8741 // InternalSolverLanguage.g:2369:3:
8742 {
8743 }
8744
8745 if ( state.backtracking==0 ) {
8746 after(grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0());
8747 }
8748
8749 }
8750
8751
8752 }
8753
8754 }
8755 finally {
8756
8757 restoreStackSize(stackSize);
8758
8759 }
8760 return ;
8761 }
8762 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0__0__Impl"
8763
8764
8765 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__1"
8766 // InternalSolverLanguage.g:2377:1: rule__AssertionOrDefinition__Group_1_0__1 : rule__AssertionOrDefinition__Group_1_0__1__Impl ;
8767 public final void rule__AssertionOrDefinition__Group_1_0__1() throws RecognitionException {
8768
8769 int stackSize = keepStackSize();
8770
8771 try {
8772 // InternalSolverLanguage.g:2381:1: ( rule__AssertionOrDefinition__Group_1_0__1__Impl )
8773 // InternalSolverLanguage.g:2382:2: rule__AssertionOrDefinition__Group_1_0__1__Impl
8774 {
8775 pushFollow(FOLLOW_2);
8776 rule__AssertionOrDefinition__Group_1_0__1__Impl();
8777
8778 state._fsp--;
8779 if (state.failed) return ;
5769 8780
5770 } 8781 }
5771 8782
@@ -5781,42 +8792,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5781 } 8792 }
5782 return ; 8793 return ;
5783 } 8794 }
5784 // $ANTLR end "rule__INTLiteral__Group__0" 8795 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0__1"
5785 8796
5786 8797
5787 // $ANTLR start "rule__INTLiteral__Group__0__Impl" 8798 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__1__Impl"
5788 // InternalSolverLanguage.g:1722:1: rule__INTLiteral__Group__0__Impl : ( ( '-' )? ) ; 8799 // InternalSolverLanguage.g:2388:1: rule__AssertionOrDefinition__Group_1_0__1__Impl : ( ( rule__AssertionOrDefinition__Group_1_0_1__0 )? ) ;
5789 public final void rule__INTLiteral__Group__0__Impl() throws RecognitionException { 8800 public final void rule__AssertionOrDefinition__Group_1_0__1__Impl() throws RecognitionException {
5790 8801
5791 int stackSize = keepStackSize(); 8802 int stackSize = keepStackSize();
5792 8803
5793 try { 8804 try {
5794 // InternalSolverLanguage.g:1726:1: ( ( ( '-' )? ) ) 8805 // InternalSolverLanguage.g:2392:1: ( ( ( rule__AssertionOrDefinition__Group_1_0_1__0 )? ) )
5795 // InternalSolverLanguage.g:1727:1: ( ( '-' )? ) 8806 // InternalSolverLanguage.g:2393:1: ( ( rule__AssertionOrDefinition__Group_1_0_1__0 )? )
5796 { 8807 {
5797 // InternalSolverLanguage.g:1727:1: ( ( '-' )? ) 8808 // InternalSolverLanguage.g:2393:1: ( ( rule__AssertionOrDefinition__Group_1_0_1__0 )? )
5798 // InternalSolverLanguage.g:1728:2: ( '-' )? 8809 // InternalSolverLanguage.g:2394:2: ( rule__AssertionOrDefinition__Group_1_0_1__0 )?
5799 { 8810 {
5800 before(grammarAccess.getINTLiteralAccess().getHyphenMinusKeyword_0()); 8811 if ( state.backtracking==0 ) {
5801 // InternalSolverLanguage.g:1729:2: ( '-' )? 8812 before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0_1());
5802 int alt22=2; 8813 }
5803 int LA22_0 = input.LA(1); 8814 // InternalSolverLanguage.g:2395:2: ( rule__AssertionOrDefinition__Group_1_0_1__0 )?
8815 int alt27=2;
8816 int LA27_0 = input.LA(1);
5804 8817
5805 if ( (LA22_0==13) ) { 8818 if ( (LA27_0==45) ) {
5806 alt22=1; 8819 alt27=1;
5807 } 8820 }
5808 switch (alt22) { 8821 switch (alt27) {
5809 case 1 : 8822 case 1 :
5810 // InternalSolverLanguage.g:1729:3: '-' 8823 // InternalSolverLanguage.g:2395:3: rule__AssertionOrDefinition__Group_1_0_1__0
5811 { 8824 {
5812 match(input,13,FOLLOW_2); 8825 pushFollow(FOLLOW_2);
8826 rule__AssertionOrDefinition__Group_1_0_1__0();
8827
8828 state._fsp--;
8829 if (state.failed) return ;
5813 8830
5814 } 8831 }
5815 break; 8832 break;
5816 8833
5817 } 8834 }
5818 8835
5819 after(grammarAccess.getINTLiteralAccess().getHyphenMinusKeyword_0()); 8836 if ( state.backtracking==0 ) {
8837 after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0_1());
8838 }
5820 8839
5821 } 8840 }
5822 8841
@@ -5835,24 +8854,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5835 } 8854 }
5836 return ; 8855 return ;
5837 } 8856 }
5838 // $ANTLR end "rule__INTLiteral__Group__0__Impl" 8857 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0__1__Impl"
5839 8858
5840 8859
5841 // $ANTLR start "rule__INTLiteral__Group__1" 8860 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0_1__0"
5842 // InternalSolverLanguage.g:1737:1: rule__INTLiteral__Group__1 : rule__INTLiteral__Group__1__Impl ; 8861 // InternalSolverLanguage.g:2404:1: rule__AssertionOrDefinition__Group_1_0_1__0 : rule__AssertionOrDefinition__Group_1_0_1__0__Impl rule__AssertionOrDefinition__Group_1_0_1__1 ;
5843 public final void rule__INTLiteral__Group__1() throws RecognitionException { 8862 public final void rule__AssertionOrDefinition__Group_1_0_1__0() throws RecognitionException {
5844 8863
5845 int stackSize = keepStackSize(); 8864 int stackSize = keepStackSize();
5846 8865
5847 try { 8866 try {
5848 // InternalSolverLanguage.g:1741:1: ( rule__INTLiteral__Group__1__Impl ) 8867 // InternalSolverLanguage.g:2408:1: ( rule__AssertionOrDefinition__Group_1_0_1__0__Impl rule__AssertionOrDefinition__Group_1_0_1__1 )
5849 // InternalSolverLanguage.g:1742:2: rule__INTLiteral__Group__1__Impl 8868 // InternalSolverLanguage.g:2409:2: rule__AssertionOrDefinition__Group_1_0_1__0__Impl rule__AssertionOrDefinition__Group_1_0_1__1
5850 { 8869 {
5851 pushFollow(FOLLOW_2); 8870 pushFollow(FOLLOW_7);
5852 rule__INTLiteral__Group__1__Impl(); 8871 rule__AssertionOrDefinition__Group_1_0_1__0__Impl();
5853 8872
5854 state._fsp--; 8873 state._fsp--;
8874 if (state.failed) return ;
8875 pushFollow(FOLLOW_2);
8876 rule__AssertionOrDefinition__Group_1_0_1__1();
5855 8877
8878 state._fsp--;
8879 if (state.failed) return ;
5856 8880
5857 } 8881 }
5858 8882
@@ -5868,25 +8892,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5868 } 8892 }
5869 return ; 8893 return ;
5870 } 8894 }
5871 // $ANTLR end "rule__INTLiteral__Group__1" 8895 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0_1__0"
5872 8896
5873 8897
5874 // $ANTLR start "rule__INTLiteral__Group__1__Impl" 8898 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0_1__0__Impl"
5875 // InternalSolverLanguage.g:1748:1: rule__INTLiteral__Group__1__Impl : ( RULE_INT ) ; 8899 // InternalSolverLanguage.g:2416:1: rule__AssertionOrDefinition__Group_1_0_1__0__Impl : ( ':' ) ;
5876 public final void rule__INTLiteral__Group__1__Impl() throws RecognitionException { 8900 public final void rule__AssertionOrDefinition__Group_1_0_1__0__Impl() throws RecognitionException {
5877 8901
5878 int stackSize = keepStackSize(); 8902 int stackSize = keepStackSize();
5879 8903
5880 try { 8904 try {
5881 // InternalSolverLanguage.g:1752:1: ( ( RULE_INT ) ) 8905 // InternalSolverLanguage.g:2420:1: ( ( ':' ) )
5882 // InternalSolverLanguage.g:1753:1: ( RULE_INT ) 8906 // InternalSolverLanguage.g:2421:1: ( ':' )
5883 { 8907 {
5884 // InternalSolverLanguage.g:1753:1: ( RULE_INT ) 8908 // InternalSolverLanguage.g:2421:1: ( ':' )
5885 // InternalSolverLanguage.g:1754:2: RULE_INT 8909 // InternalSolverLanguage.g:2422:2: ':'
5886 { 8910 {
5887 before(grammarAccess.getINTLiteralAccess().getINTTerminalRuleCall_1()); 8911 if ( state.backtracking==0 ) {
5888 match(input,RULE_INT,FOLLOW_2); 8912 before(grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0());
5889 after(grammarAccess.getINTLiteralAccess().getINTTerminalRuleCall_1()); 8913 }
8914 match(input,45,FOLLOW_2); if (state.failed) return ;
8915 if ( state.backtracking==0 ) {
8916 after(grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0());
8917 }
5890 8918
5891 } 8919 }
5892 8920
@@ -5905,29 +8933,113 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5905 } 8933 }
5906 return ; 8934 return ;
5907 } 8935 }
5908 // $ANTLR end "rule__INTLiteral__Group__1__Impl" 8936 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0_1__0__Impl"
5909 8937
5910 8938
5911 // $ANTLR start "rule__BooleanValue__Group_0__0" 8939 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0_1__1"
5912 // InternalSolverLanguage.g:1764:1: rule__BooleanValue__Group_0__0 : rule__BooleanValue__Group_0__0__Impl rule__BooleanValue__Group_0__1 ; 8940 // InternalSolverLanguage.g:2431:1: rule__AssertionOrDefinition__Group_1_0_1__1 : rule__AssertionOrDefinition__Group_1_0_1__1__Impl ;
5913 public final void rule__BooleanValue__Group_0__0() throws RecognitionException { 8941 public final void rule__AssertionOrDefinition__Group_1_0_1__1() throws RecognitionException {
5914 8942
5915 int stackSize = keepStackSize(); 8943 int stackSize = keepStackSize();
5916 8944
5917 try { 8945 try {
5918 // InternalSolverLanguage.g:1768:1: ( rule__BooleanValue__Group_0__0__Impl rule__BooleanValue__Group_0__1 ) 8946 // InternalSolverLanguage.g:2435:1: ( rule__AssertionOrDefinition__Group_1_0_1__1__Impl )
5919 // InternalSolverLanguage.g:1769:2: rule__BooleanValue__Group_0__0__Impl rule__BooleanValue__Group_0__1 8947 // InternalSolverLanguage.g:2436:2: rule__AssertionOrDefinition__Group_1_0_1__1__Impl
5920 { 8948 {
5921 pushFollow(FOLLOW_7); 8949 pushFollow(FOLLOW_2);
5922 rule__BooleanValue__Group_0__0__Impl(); 8950 rule__AssertionOrDefinition__Group_1_0_1__1__Impl();
5923 8951
5924 state._fsp--; 8952 state._fsp--;
8953 if (state.failed) return ;
8954
8955 }
5925 8956
8957 }
8958 catch (RecognitionException re) {
8959 reportError(re);
8960 recover(input,re);
8961 }
8962 finally {
8963
8964 restoreStackSize(stackSize);
8965
8966 }
8967 return ;
8968 }
8969 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0_1__1"
8970
8971
8972 // $ANTLR start "rule__AssertionOrDefinition__Group_1_0_1__1__Impl"
8973 // InternalSolverLanguage.g:2442:1: rule__AssertionOrDefinition__Group_1_0_1__1__Impl : ( ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 ) ) ;
8974 public final void rule__AssertionOrDefinition__Group_1_0_1__1__Impl() throws RecognitionException {
8975
8976 int stackSize = keepStackSize();
8977
8978 try {
8979 // InternalSolverLanguage.g:2446:1: ( ( ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 ) ) )
8980 // InternalSolverLanguage.g:2447:1: ( ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 ) )
8981 {
8982 // InternalSolverLanguage.g:2447:1: ( ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 ) )
8983 // InternalSolverLanguage.g:2448:2: ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 )
8984 {
8985 if ( state.backtracking==0 ) {
8986 before(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_1_1());
8987 }
8988 // InternalSolverLanguage.g:2449:2: ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 )
8989 // InternalSolverLanguage.g:2449:3: rule__AssertionOrDefinition__RangeAssignment_1_0_1_1
8990 {
5926 pushFollow(FOLLOW_2); 8991 pushFollow(FOLLOW_2);
5927 rule__BooleanValue__Group_0__1(); 8992 rule__AssertionOrDefinition__RangeAssignment_1_0_1_1();
5928 8993
5929 state._fsp--; 8994 state._fsp--;
8995 if (state.failed) return ;
8996
8997 }
8998
8999 if ( state.backtracking==0 ) {
9000 after(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_1_1());
9001 }
9002
9003 }
9004
9005
9006 }
5930 9007
9008 }
9009 catch (RecognitionException re) {
9010 reportError(re);
9011 recover(input,re);
9012 }
9013 finally {
9014
9015 restoreStackSize(stackSize);
9016
9017 }
9018 return ;
9019 }
9020 // $ANTLR end "rule__AssertionOrDefinition__Group_1_0_1__1__Impl"
9021
9022
9023 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__0"
9024 // InternalSolverLanguage.g:2458:1: rule__AssertionOrDefinition__Group_1_1__0 : rule__AssertionOrDefinition__Group_1_1__0__Impl rule__AssertionOrDefinition__Group_1_1__1 ;
9025 public final void rule__AssertionOrDefinition__Group_1_1__0() throws RecognitionException {
9026
9027 int stackSize = keepStackSize();
9028
9029 try {
9030 // InternalSolverLanguage.g:2462:1: ( rule__AssertionOrDefinition__Group_1_1__0__Impl rule__AssertionOrDefinition__Group_1_1__1 )
9031 // InternalSolverLanguage.g:2463:2: rule__AssertionOrDefinition__Group_1_1__0__Impl rule__AssertionOrDefinition__Group_1_1__1
9032 {
9033 pushFollow(FOLLOW_8);
9034 rule__AssertionOrDefinition__Group_1_1__0__Impl();
9035
9036 state._fsp--;
9037 if (state.failed) return ;
9038 pushFollow(FOLLOW_2);
9039 rule__AssertionOrDefinition__Group_1_1__1();
9040
9041 state._fsp--;
9042 if (state.failed) return ;
5931 9043
5932 } 9044 }
5933 9045
@@ -5943,29 +9055,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5943 } 9055 }
5944 return ; 9056 return ;
5945 } 9057 }
5946 // $ANTLR end "rule__BooleanValue__Group_0__0" 9058 // $ANTLR end "rule__AssertionOrDefinition__Group_1_1__0"
5947 9059
5948 9060
5949 // $ANTLR start "rule__BooleanValue__Group_0__0__Impl" 9061 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__0__Impl"
5950 // InternalSolverLanguage.g:1776:1: rule__BooleanValue__Group_0__0__Impl : ( () ) ; 9062 // InternalSolverLanguage.g:2470:1: rule__AssertionOrDefinition__Group_1_1__0__Impl : ( () ) ;
5951 public final void rule__BooleanValue__Group_0__0__Impl() throws RecognitionException { 9063 public final void rule__AssertionOrDefinition__Group_1_1__0__Impl() throws RecognitionException {
5952 9064
5953 int stackSize = keepStackSize(); 9065 int stackSize = keepStackSize();
5954 9066
5955 try { 9067 try {
5956 // InternalSolverLanguage.g:1780:1: ( ( () ) ) 9068 // InternalSolverLanguage.g:2474:1: ( ( () ) )
5957 // InternalSolverLanguage.g:1781:1: ( () ) 9069 // InternalSolverLanguage.g:2475:1: ( () )
5958 { 9070 {
5959 // InternalSolverLanguage.g:1781:1: ( () ) 9071 // InternalSolverLanguage.g:2475:1: ( () )
5960 // InternalSolverLanguage.g:1782:2: () 9072 // InternalSolverLanguage.g:2476:2: ()
5961 { 9073 {
5962 before(grammarAccess.getBooleanValueAccess().getBooleanTrueAction_0_0()); 9074 if ( state.backtracking==0 ) {
5963 // InternalSolverLanguage.g:1783:2: () 9075 before(grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0());
5964 // InternalSolverLanguage.g:1783:3: 9076 }
9077 // InternalSolverLanguage.g:2477:2: ()
9078 // InternalSolverLanguage.g:2477:3:
5965 { 9079 {
5966 } 9080 }
5967 9081
5968 after(grammarAccess.getBooleanValueAccess().getBooleanTrueAction_0_0()); 9082 if ( state.backtracking==0 ) {
9083 after(grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0());
9084 }
5969 9085
5970 } 9086 }
5971 9087
@@ -5980,24 +9096,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
5980 } 9096 }
5981 return ; 9097 return ;
5982 } 9098 }
5983 // $ANTLR end "rule__BooleanValue__Group_0__0__Impl" 9099 // $ANTLR end "rule__AssertionOrDefinition__Group_1_1__0__Impl"
5984 9100
5985 9101
5986 // $ANTLR start "rule__BooleanValue__Group_0__1" 9102 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__1"
5987 // InternalSolverLanguage.g:1791:1: rule__BooleanValue__Group_0__1 : rule__BooleanValue__Group_0__1__Impl ; 9103 // InternalSolverLanguage.g:2485:1: rule__AssertionOrDefinition__Group_1_1__1 : rule__AssertionOrDefinition__Group_1_1__1__Impl rule__AssertionOrDefinition__Group_1_1__2 ;
5988 public final void rule__BooleanValue__Group_0__1() throws RecognitionException { 9104 public final void rule__AssertionOrDefinition__Group_1_1__1() throws RecognitionException {
5989 9105
5990 int stackSize = keepStackSize(); 9106 int stackSize = keepStackSize();
5991 9107
5992 try { 9108 try {
5993 // InternalSolverLanguage.g:1795:1: ( rule__BooleanValue__Group_0__1__Impl ) 9109 // InternalSolverLanguage.g:2489:1: ( rule__AssertionOrDefinition__Group_1_1__1__Impl rule__AssertionOrDefinition__Group_1_1__2 )
5994 // InternalSolverLanguage.g:1796:2: rule__BooleanValue__Group_0__1__Impl 9110 // InternalSolverLanguage.g:2490:2: rule__AssertionOrDefinition__Group_1_1__1__Impl rule__AssertionOrDefinition__Group_1_1__2
5995 { 9111 {
5996 pushFollow(FOLLOW_2); 9112 pushFollow(FOLLOW_7);
5997 rule__BooleanValue__Group_0__1__Impl(); 9113 rule__AssertionOrDefinition__Group_1_1__1__Impl();
5998 9114
5999 state._fsp--; 9115 state._fsp--;
9116 if (state.failed) return ;
9117 pushFollow(FOLLOW_2);
9118 rule__AssertionOrDefinition__Group_1_1__2();
6000 9119
9120 state._fsp--;
9121 if (state.failed) return ;
6001 9122
6002 } 9123 }
6003 9124
@@ -6013,25 +9134,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6013 } 9134 }
6014 return ; 9135 return ;
6015 } 9136 }
6016 // $ANTLR end "rule__BooleanValue__Group_0__1" 9137 // $ANTLR end "rule__AssertionOrDefinition__Group_1_1__1"
6017 9138
6018 9139
6019 // $ANTLR start "rule__BooleanValue__Group_0__1__Impl" 9140 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__1__Impl"
6020 // InternalSolverLanguage.g:1802:1: rule__BooleanValue__Group_0__1__Impl : ( 'true' ) ; 9141 // InternalSolverLanguage.g:2497:1: rule__AssertionOrDefinition__Group_1_1__1__Impl : ( ':-' ) ;
6021 public final void rule__BooleanValue__Group_0__1__Impl() throws RecognitionException { 9142 public final void rule__AssertionOrDefinition__Group_1_1__1__Impl() throws RecognitionException {
6022 9143
6023 int stackSize = keepStackSize(); 9144 int stackSize = keepStackSize();
6024 9145
6025 try { 9146 try {
6026 // InternalSolverLanguage.g:1806:1: ( ( 'true' ) ) 9147 // InternalSolverLanguage.g:2501:1: ( ( ':-' ) )
6027 // InternalSolverLanguage.g:1807:1: ( 'true' ) 9148 // InternalSolverLanguage.g:2502:1: ( ':-' )
6028 { 9149 {
6029 // InternalSolverLanguage.g:1807:1: ( 'true' ) 9150 // InternalSolverLanguage.g:2502:1: ( ':-' )
6030 // InternalSolverLanguage.g:1808:2: 'true' 9151 // InternalSolverLanguage.g:2503:2: ':-'
6031 { 9152 {
6032 before(grammarAccess.getBooleanValueAccess().getTrueKeyword_0_1()); 9153 if ( state.backtracking==0 ) {
6033 match(input,12,FOLLOW_2); 9154 before(grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1());
6034 after(grammarAccess.getBooleanValueAccess().getTrueKeyword_0_1()); 9155 }
9156 match(input,46,FOLLOW_2); if (state.failed) return ;
9157 if ( state.backtracking==0 ) {
9158 after(grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1());
9159 }
6035 9160
6036 } 9161 }
6037 9162
@@ -6050,29 +9175,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6050 } 9175 }
6051 return ; 9176 return ;
6052 } 9177 }
6053 // $ANTLR end "rule__BooleanValue__Group_0__1__Impl" 9178 // $ANTLR end "rule__AssertionOrDefinition__Group_1_1__1__Impl"
6054 9179
6055 9180
6056 // $ANTLR start "rule__BooleanValue__Group_1__0" 9181 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__2"
6057 // InternalSolverLanguage.g:1818:1: rule__BooleanValue__Group_1__0 : rule__BooleanValue__Group_1__0__Impl rule__BooleanValue__Group_1__1 ; 9182 // InternalSolverLanguage.g:2512:1: rule__AssertionOrDefinition__Group_1_1__2 : rule__AssertionOrDefinition__Group_1_1__2__Impl ;
6058 public final void rule__BooleanValue__Group_1__0() throws RecognitionException { 9183 public final void rule__AssertionOrDefinition__Group_1_1__2() throws RecognitionException {
6059 9184
6060 int stackSize = keepStackSize(); 9185 int stackSize = keepStackSize();
6061 9186
6062 try { 9187 try {
6063 // InternalSolverLanguage.g:1822:1: ( rule__BooleanValue__Group_1__0__Impl rule__BooleanValue__Group_1__1 ) 9188 // InternalSolverLanguage.g:2516:1: ( rule__AssertionOrDefinition__Group_1_1__2__Impl )
6064 // InternalSolverLanguage.g:1823:2: rule__BooleanValue__Group_1__0__Impl rule__BooleanValue__Group_1__1 9189 // InternalSolverLanguage.g:2517:2: rule__AssertionOrDefinition__Group_1_1__2__Impl
6065 { 9190 {
6066 pushFollow(FOLLOW_1);
6067 rule__BooleanValue__Group_1__0__Impl();
6068
6069 state._fsp--;
6070
6071 pushFollow(FOLLOW_2); 9191 pushFollow(FOLLOW_2);
6072 rule__BooleanValue__Group_1__1(); 9192 rule__AssertionOrDefinition__Group_1_1__2__Impl();
6073 9193
6074 state._fsp--; 9194 state._fsp--;
6075 9195 if (state.failed) return ;
6076 9196
6077 } 9197 }
6078 9198
@@ -6088,25 +9208,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6088 } 9208 }
6089 return ; 9209 return ;
6090 } 9210 }
6091 // $ANTLR end "rule__BooleanValue__Group_1__0" 9211 // $ANTLR end "rule__AssertionOrDefinition__Group_1_1__2"
6092 9212
6093 9213
6094 // $ANTLR start "rule__BooleanValue__Group_1__0__Impl" 9214 // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__2__Impl"
6095 // InternalSolverLanguage.g:1830:1: rule__BooleanValue__Group_1__0__Impl : ( 'false' ) ; 9215 // InternalSolverLanguage.g:2523:1: rule__AssertionOrDefinition__Group_1_1__2__Impl : ( ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) ) ;
6096 public final void rule__BooleanValue__Group_1__0__Impl() throws RecognitionException { 9216 public final void rule__AssertionOrDefinition__Group_1_1__2__Impl() throws RecognitionException {
6097 9217
6098 int stackSize = keepStackSize(); 9218 int stackSize = keepStackSize();
6099 9219
6100 try { 9220 try {
6101 // InternalSolverLanguage.g:1834:1: ( ( 'false' ) ) 9221 // InternalSolverLanguage.g:2527:1: ( ( ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) ) )
6102 // InternalSolverLanguage.g:1835:1: ( 'false' ) 9222 // InternalSolverLanguage.g:2528:1: ( ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) )
6103 { 9223 {
6104 // InternalSolverLanguage.g:1835:1: ( 'false' ) 9224 // InternalSolverLanguage.g:2528:1: ( ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) )
6105 // InternalSolverLanguage.g:1836:2: 'false' 9225 // InternalSolverLanguage.g:2529:2: ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 )
6106 { 9226 {
6107 before(grammarAccess.getBooleanValueAccess().getFalseKeyword_1_0()); 9227 if ( state.backtracking==0 ) {
6108 match(input,11,FOLLOW_2); 9228 before(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_1_2());
6109 after(grammarAccess.getBooleanValueAccess().getFalseKeyword_1_0()); 9229 }
9230 // InternalSolverLanguage.g:2530:2: ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 )
9231 // InternalSolverLanguage.g:2530:3: rule__AssertionOrDefinition__BodyAssignment_1_1_2
9232 {
9233 pushFollow(FOLLOW_2);
9234 rule__AssertionOrDefinition__BodyAssignment_1_1_2();
9235
9236 state._fsp--;
9237 if (state.failed) return ;
9238
9239 }
9240
9241 if ( state.backtracking==0 ) {
9242 after(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_1_2());
9243 }
6110 9244
6111 } 9245 }
6112 9246
@@ -6125,24 +9259,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6125 } 9259 }
6126 return ; 9260 return ;
6127 } 9261 }
6128 // $ANTLR end "rule__BooleanValue__Group_1__0__Impl" 9262 // $ANTLR end "rule__AssertionOrDefinition__Group_1_1__2__Impl"
6129 9263
6130 9264
6131 // $ANTLR start "rule__BooleanValue__Group_1__1" 9265 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__0"
6132 // InternalSolverLanguage.g:1845:1: rule__BooleanValue__Group_1__1 : rule__BooleanValue__Group_1__1__Impl ; 9266 // InternalSolverLanguage.g:2539:1: rule__AssertionOrDefinition__Group_1_2__0 : rule__AssertionOrDefinition__Group_1_2__0__Impl rule__AssertionOrDefinition__Group_1_2__1 ;
6133 public final void rule__BooleanValue__Group_1__1() throws RecognitionException { 9267 public final void rule__AssertionOrDefinition__Group_1_2__0() throws RecognitionException {
6134 9268
6135 int stackSize = keepStackSize(); 9269 int stackSize = keepStackSize();
6136 9270
6137 try { 9271 try {
6138 // InternalSolverLanguage.g:1849:1: ( rule__BooleanValue__Group_1__1__Impl ) 9272 // InternalSolverLanguage.g:2543:1: ( rule__AssertionOrDefinition__Group_1_2__0__Impl rule__AssertionOrDefinition__Group_1_2__1 )
6139 // InternalSolverLanguage.g:1850:2: rule__BooleanValue__Group_1__1__Impl 9273 // InternalSolverLanguage.g:2544:2: rule__AssertionOrDefinition__Group_1_2__0__Impl rule__AssertionOrDefinition__Group_1_2__1
6140 { 9274 {
6141 pushFollow(FOLLOW_2); 9275 pushFollow(FOLLOW_5);
6142 rule__BooleanValue__Group_1__1__Impl(); 9276 rule__AssertionOrDefinition__Group_1_2__0__Impl();
6143 9277
6144 state._fsp--; 9278 state._fsp--;
9279 if (state.failed) return ;
9280 pushFollow(FOLLOW_2);
9281 rule__AssertionOrDefinition__Group_1_2__1();
6145 9282
9283 state._fsp--;
9284 if (state.failed) return ;
6146 9285
6147 } 9286 }
6148 9287
@@ -6158,29 +9297,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6158 } 9297 }
6159 return ; 9298 return ;
6160 } 9299 }
6161 // $ANTLR end "rule__BooleanValue__Group_1__1" 9300 // $ANTLR end "rule__AssertionOrDefinition__Group_1_2__0"
6162 9301
6163 9302
6164 // $ANTLR start "rule__BooleanValue__Group_1__1__Impl" 9303 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__0__Impl"
6165 // InternalSolverLanguage.g:1856:1: rule__BooleanValue__Group_1__1__Impl : ( () ) ; 9304 // InternalSolverLanguage.g:2551:1: rule__AssertionOrDefinition__Group_1_2__0__Impl : ( () ) ;
6166 public final void rule__BooleanValue__Group_1__1__Impl() throws RecognitionException { 9305 public final void rule__AssertionOrDefinition__Group_1_2__0__Impl() throws RecognitionException {
6167 9306
6168 int stackSize = keepStackSize(); 9307 int stackSize = keepStackSize();
6169 9308
6170 try { 9309 try {
6171 // InternalSolverLanguage.g:1860:1: ( ( () ) ) 9310 // InternalSolverLanguage.g:2555:1: ( ( () ) )
6172 // InternalSolverLanguage.g:1861:1: ( () ) 9311 // InternalSolverLanguage.g:2556:1: ( () )
6173 { 9312 {
6174 // InternalSolverLanguage.g:1861:1: ( () ) 9313 // InternalSolverLanguage.g:2556:1: ( () )
6175 // InternalSolverLanguage.g:1862:2: () 9314 // InternalSolverLanguage.g:2557:2: ()
6176 { 9315 {
6177 before(grammarAccess.getBooleanValueAccess().getBooleanFalseAction_1_1()); 9316 if ( state.backtracking==0 ) {
6178 // InternalSolverLanguage.g:1863:2: () 9317 before(grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0());
6179 // InternalSolverLanguage.g:1863:3: 9318 }
9319 // InternalSolverLanguage.g:2558:2: ()
9320 // InternalSolverLanguage.g:2558:3:
6180 { 9321 {
6181 } 9322 }
6182 9323
6183 after(grammarAccess.getBooleanValueAccess().getBooleanFalseAction_1_1()); 9324 if ( state.backtracking==0 ) {
9325 after(grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0());
9326 }
6184 9327
6185 } 9328 }
6186 9329
@@ -6195,29 +9338,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6195 } 9338 }
6196 return ; 9339 return ;
6197 } 9340 }
6198 // $ANTLR end "rule__BooleanValue__Group_1__1__Impl" 9341 // $ANTLR end "rule__AssertionOrDefinition__Group_1_2__0__Impl"
6199 9342
6200 9343
6201 // $ANTLR start "rule__TruthValue__Group_0__0" 9344 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__1"
6202 // InternalSolverLanguage.g:1872:1: rule__TruthValue__Group_0__0 : rule__TruthValue__Group_0__0__Impl rule__TruthValue__Group_0__1 ; 9345 // InternalSolverLanguage.g:2566:1: rule__AssertionOrDefinition__Group_1_2__1 : rule__AssertionOrDefinition__Group_1_2__1__Impl rule__AssertionOrDefinition__Group_1_2__2 ;
6203 public final void rule__TruthValue__Group_0__0() throws RecognitionException { 9346 public final void rule__AssertionOrDefinition__Group_1_2__1() throws RecognitionException {
6204 9347
6205 int stackSize = keepStackSize(); 9348 int stackSize = keepStackSize();
6206 9349
6207 try { 9350 try {
6208 // InternalSolverLanguage.g:1876:1: ( rule__TruthValue__Group_0__0__Impl rule__TruthValue__Group_0__1 ) 9351 // InternalSolverLanguage.g:2570:1: ( rule__AssertionOrDefinition__Group_1_2__1__Impl rule__AssertionOrDefinition__Group_1_2__2 )
6209 // InternalSolverLanguage.g:1877:2: rule__TruthValue__Group_0__0__Impl rule__TruthValue__Group_0__1 9352 // InternalSolverLanguage.g:2571:2: rule__AssertionOrDefinition__Group_1_2__1__Impl rule__AssertionOrDefinition__Group_1_2__2
6210 { 9353 {
6211 pushFollow(FOLLOW_7); 9354 pushFollow(FOLLOW_7);
6212 rule__TruthValue__Group_0__0__Impl(); 9355 rule__AssertionOrDefinition__Group_1_2__1__Impl();
6213 9356
6214 state._fsp--; 9357 state._fsp--;
6215 9358 if (state.failed) return ;
6216 pushFollow(FOLLOW_2); 9359 pushFollow(FOLLOW_2);
6217 rule__TruthValue__Group_0__1(); 9360 rule__AssertionOrDefinition__Group_1_2__2();
6218 9361
6219 state._fsp--; 9362 state._fsp--;
6220 9363 if (state.failed) return ;
6221 9364
6222 } 9365 }
6223 9366
@@ -6233,29 +9376,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6233 } 9376 }
6234 return ; 9377 return ;
6235 } 9378 }
6236 // $ANTLR end "rule__TruthValue__Group_0__0" 9379 // $ANTLR end "rule__AssertionOrDefinition__Group_1_2__1"
6237 9380
6238 9381
6239 // $ANTLR start "rule__TruthValue__Group_0__0__Impl" 9382 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__1__Impl"
6240 // InternalSolverLanguage.g:1884:1: rule__TruthValue__Group_0__0__Impl : ( () ) ; 9383 // InternalSolverLanguage.g:2578:1: rule__AssertionOrDefinition__Group_1_2__1__Impl : ( '=' ) ;
6241 public final void rule__TruthValue__Group_0__0__Impl() throws RecognitionException { 9384 public final void rule__AssertionOrDefinition__Group_1_2__1__Impl() throws RecognitionException {
6242 9385
6243 int stackSize = keepStackSize(); 9386 int stackSize = keepStackSize();
6244 9387
6245 try { 9388 try {
6246 // InternalSolverLanguage.g:1888:1: ( ( () ) ) 9389 // InternalSolverLanguage.g:2582:1: ( ( '=' ) )
6247 // InternalSolverLanguage.g:1889:1: ( () ) 9390 // InternalSolverLanguage.g:2583:1: ( '=' )
6248 {
6249 // InternalSolverLanguage.g:1889:1: ( () )
6250 // InternalSolverLanguage.g:1890:2: ()
6251 { 9391 {
6252 before(grammarAccess.getTruthValueAccess().getTrueAction_0_0()); 9392 // InternalSolverLanguage.g:2583:1: ( '=' )
6253 // InternalSolverLanguage.g:1891:2: () 9393 // InternalSolverLanguage.g:2584:2: '='
6254 // InternalSolverLanguage.g:1891:3:
6255 { 9394 {
9395 if ( state.backtracking==0 ) {
9396 before(grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1());
9397 }
9398 match(input,47,FOLLOW_2); if (state.failed) return ;
9399 if ( state.backtracking==0 ) {
9400 after(grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1());
6256 } 9401 }
6257
6258 after(grammarAccess.getTruthValueAccess().getTrueAction_0_0());
6259 9402
6260 } 9403 }
6261 9404
@@ -6263,6 +9406,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6263 } 9406 }
6264 9407
6265 } 9408 }
9409 catch (RecognitionException re) {
9410 reportError(re);
9411 recover(input,re);
9412 }
6266 finally { 9413 finally {
6267 9414
6268 restoreStackSize(stackSize); 9415 restoreStackSize(stackSize);
@@ -6270,24 +9417,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6270 } 9417 }
6271 return ; 9418 return ;
6272 } 9419 }
6273 // $ANTLR end "rule__TruthValue__Group_0__0__Impl" 9420 // $ANTLR end "rule__AssertionOrDefinition__Group_1_2__1__Impl"
6274 9421
6275 9422
6276 // $ANTLR start "rule__TruthValue__Group_0__1" 9423 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__2"
6277 // InternalSolverLanguage.g:1899:1: rule__TruthValue__Group_0__1 : rule__TruthValue__Group_0__1__Impl ; 9424 // InternalSolverLanguage.g:2593:1: rule__AssertionOrDefinition__Group_1_2__2 : rule__AssertionOrDefinition__Group_1_2__2__Impl ;
6278 public final void rule__TruthValue__Group_0__1() throws RecognitionException { 9425 public final void rule__AssertionOrDefinition__Group_1_2__2() throws RecognitionException {
6279 9426
6280 int stackSize = keepStackSize(); 9427 int stackSize = keepStackSize();
6281 9428
6282 try { 9429 try {
6283 // InternalSolverLanguage.g:1903:1: ( rule__TruthValue__Group_0__1__Impl ) 9430 // InternalSolverLanguage.g:2597:1: ( rule__AssertionOrDefinition__Group_1_2__2__Impl )
6284 // InternalSolverLanguage.g:1904:2: rule__TruthValue__Group_0__1__Impl 9431 // InternalSolverLanguage.g:2598:2: rule__AssertionOrDefinition__Group_1_2__2__Impl
6285 { 9432 {
6286 pushFollow(FOLLOW_2); 9433 pushFollow(FOLLOW_2);
6287 rule__TruthValue__Group_0__1__Impl(); 9434 rule__AssertionOrDefinition__Group_1_2__2__Impl();
6288 9435
6289 state._fsp--; 9436 state._fsp--;
6290 9437 if (state.failed) return ;
6291 9438
6292 } 9439 }
6293 9440
@@ -6303,25 +9450,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6303 } 9450 }
6304 return ; 9451 return ;
6305 } 9452 }
6306 // $ANTLR end "rule__TruthValue__Group_0__1" 9453 // $ANTLR end "rule__AssertionOrDefinition__Group_1_2__2"
6307 9454
6308 9455
6309 // $ANTLR start "rule__TruthValue__Group_0__1__Impl" 9456 // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__2__Impl"
6310 // InternalSolverLanguage.g:1910:1: rule__TruthValue__Group_0__1__Impl : ( 'true' ) ; 9457 // InternalSolverLanguage.g:2604:1: rule__AssertionOrDefinition__Group_1_2__2__Impl : ( ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) ) ;
6311 public final void rule__TruthValue__Group_0__1__Impl() throws RecognitionException { 9458 public final void rule__AssertionOrDefinition__Group_1_2__2__Impl() throws RecognitionException {
6312 9459
6313 int stackSize = keepStackSize(); 9460 int stackSize = keepStackSize();
6314 9461
6315 try { 9462 try {
6316 // InternalSolverLanguage.g:1914:1: ( ( 'true' ) ) 9463 // InternalSolverLanguage.g:2608:1: ( ( ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) ) )
6317 // InternalSolverLanguage.g:1915:1: ( 'true' ) 9464 // InternalSolverLanguage.g:2609:1: ( ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) )
6318 { 9465 {
6319 // InternalSolverLanguage.g:1915:1: ( 'true' ) 9466 // InternalSolverLanguage.g:2609:1: ( ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) )
6320 // InternalSolverLanguage.g:1916:2: 'true' 9467 // InternalSolverLanguage.g:2610:2: ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 )
9468 {
9469 if ( state.backtracking==0 ) {
9470 before(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_2_2());
9471 }
9472 // InternalSolverLanguage.g:2611:2: ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 )
9473 // InternalSolverLanguage.g:2611:3: rule__AssertionOrDefinition__BodyAssignment_1_2_2
6321 { 9474 {
6322 before(grammarAccess.getTruthValueAccess().getTrueKeyword_0_1()); 9475 pushFollow(FOLLOW_2);
6323 match(input,12,FOLLOW_2); 9476 rule__AssertionOrDefinition__BodyAssignment_1_2_2();
6324 after(grammarAccess.getTruthValueAccess().getTrueKeyword_0_1()); 9477
9478 state._fsp--;
9479 if (state.failed) return ;
9480
9481 }
9482
9483 if ( state.backtracking==0 ) {
9484 after(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_2_2());
9485 }
6325 9486
6326 } 9487 }
6327 9488
@@ -6340,29 +9501,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6340 } 9501 }
6341 return ; 9502 return ;
6342 } 9503 }
6343 // $ANTLR end "rule__TruthValue__Group_0__1__Impl" 9504 // $ANTLR end "rule__AssertionOrDefinition__Group_1_2__2__Impl"
6344 9505
6345 9506
6346 // $ANTLR start "rule__TruthValue__Group_1__0" 9507 // $ANTLR start "rule__PredicateDefinition__Group__0"
6347 // InternalSolverLanguage.g:1926:1: rule__TruthValue__Group_1__0 : rule__TruthValue__Group_1__0__Impl rule__TruthValue__Group_1__1 ; 9508 // InternalSolverLanguage.g:2620:1: rule__PredicateDefinition__Group__0 : rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 ;
6348 public final void rule__TruthValue__Group_1__0() throws RecognitionException { 9509 public final void rule__PredicateDefinition__Group__0() throws RecognitionException {
6349 9510
6350 int stackSize = keepStackSize(); 9511 int stackSize = keepStackSize();
6351 9512
6352 try { 9513 try {
6353 // InternalSolverLanguage.g:1930:1: ( rule__TruthValue__Group_1__0__Impl rule__TruthValue__Group_1__1 ) 9514 // InternalSolverLanguage.g:2624:1: ( rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 )
6354 // InternalSolverLanguage.g:1931:2: rule__TruthValue__Group_1__0__Impl rule__TruthValue__Group_1__1 9515 // InternalSolverLanguage.g:2625:2: rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1
6355 { 9516 {
6356 pushFollow(FOLLOW_8); 9517 pushFollow(FOLLOW_9);
6357 rule__TruthValue__Group_1__0__Impl(); 9518 rule__PredicateDefinition__Group__0__Impl();
6358 9519
6359 state._fsp--; 9520 state._fsp--;
6360 9521 if (state.failed) return ;
6361 pushFollow(FOLLOW_2); 9522 pushFollow(FOLLOW_2);
6362 rule__TruthValue__Group_1__1(); 9523 rule__PredicateDefinition__Group__1();
6363 9524
6364 state._fsp--; 9525 state._fsp--;
6365 9526 if (state.failed) return ;
6366 9527
6367 } 9528 }
6368 9529
@@ -6378,29 +9539,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6378 } 9539 }
6379 return ; 9540 return ;
6380 } 9541 }
6381 // $ANTLR end "rule__TruthValue__Group_1__0" 9542 // $ANTLR end "rule__PredicateDefinition__Group__0"
6382 9543
6383 9544
6384 // $ANTLR start "rule__TruthValue__Group_1__0__Impl" 9545 // $ANTLR start "rule__PredicateDefinition__Group__0__Impl"
6385 // InternalSolverLanguage.g:1938:1: rule__TruthValue__Group_1__0__Impl : ( () ) ; 9546 // InternalSolverLanguage.g:2632:1: rule__PredicateDefinition__Group__0__Impl : ( ( rule__PredicateDefinition__Alternatives_0 ) ) ;
6386 public final void rule__TruthValue__Group_1__0__Impl() throws RecognitionException { 9547 public final void rule__PredicateDefinition__Group__0__Impl() throws RecognitionException {
6387 9548
6388 int stackSize = keepStackSize(); 9549 int stackSize = keepStackSize();
6389 9550
6390 try { 9551 try {
6391 // InternalSolverLanguage.g:1942:1: ( ( () ) ) 9552 // InternalSolverLanguage.g:2636:1: ( ( ( rule__PredicateDefinition__Alternatives_0 ) ) )
6392 // InternalSolverLanguage.g:1943:1: ( () ) 9553 // InternalSolverLanguage.g:2637:1: ( ( rule__PredicateDefinition__Alternatives_0 ) )
6393 { 9554 {
6394 // InternalSolverLanguage.g:1943:1: ( () ) 9555 // InternalSolverLanguage.g:2637:1: ( ( rule__PredicateDefinition__Alternatives_0 ) )
6395 // InternalSolverLanguage.g:1944:2: () 9556 // InternalSolverLanguage.g:2638:2: ( rule__PredicateDefinition__Alternatives_0 )
6396 { 9557 {
6397 before(grammarAccess.getTruthValueAccess().getFalseAction_1_0()); 9558 if ( state.backtracking==0 ) {
6398 // InternalSolverLanguage.g:1945:2: () 9559 before(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0());
6399 // InternalSolverLanguage.g:1945:3: 9560 }
9561 // InternalSolverLanguage.g:2639:2: ( rule__PredicateDefinition__Alternatives_0 )
9562 // InternalSolverLanguage.g:2639:3: rule__PredicateDefinition__Alternatives_0
6400 { 9563 {
9564 pushFollow(FOLLOW_2);
9565 rule__PredicateDefinition__Alternatives_0();
9566
9567 state._fsp--;
9568 if (state.failed) return ;
9569
6401 } 9570 }
6402 9571
6403 after(grammarAccess.getTruthValueAccess().getFalseAction_1_0()); 9572 if ( state.backtracking==0 ) {
9573 after(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0());
9574 }
6404 9575
6405 } 9576 }
6406 9577
@@ -6408,6 +9579,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6408 } 9579 }
6409 9580
6410 } 9581 }
9582 catch (RecognitionException re) {
9583 reportError(re);
9584 recover(input,re);
9585 }
6411 finally { 9586 finally {
6412 9587
6413 restoreStackSize(stackSize); 9588 restoreStackSize(stackSize);
@@ -6415,24 +9590,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6415 } 9590 }
6416 return ; 9591 return ;
6417 } 9592 }
6418 // $ANTLR end "rule__TruthValue__Group_1__0__Impl" 9593 // $ANTLR end "rule__PredicateDefinition__Group__0__Impl"
6419 9594
6420 9595
6421 // $ANTLR start "rule__TruthValue__Group_1__1" 9596 // $ANTLR start "rule__PredicateDefinition__Group__1"
6422 // InternalSolverLanguage.g:1953:1: rule__TruthValue__Group_1__1 : rule__TruthValue__Group_1__1__Impl ; 9597 // InternalSolverLanguage.g:2647:1: rule__PredicateDefinition__Group__1 : rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 ;
6423 public final void rule__TruthValue__Group_1__1() throws RecognitionException { 9598 public final void rule__PredicateDefinition__Group__1() throws RecognitionException {
6424 9599
6425 int stackSize = keepStackSize(); 9600 int stackSize = keepStackSize();
6426 9601
6427 try { 9602 try {
6428 // InternalSolverLanguage.g:1957:1: ( rule__TruthValue__Group_1__1__Impl ) 9603 // InternalSolverLanguage.g:2651:1: ( rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 )
6429 // InternalSolverLanguage.g:1958:2: rule__TruthValue__Group_1__1__Impl 9604 // InternalSolverLanguage.g:2652:2: rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2
6430 { 9605 {
6431 pushFollow(FOLLOW_2); 9606 pushFollow(FOLLOW_8);
6432 rule__TruthValue__Group_1__1__Impl(); 9607 rule__PredicateDefinition__Group__1__Impl();
6433 9608
6434 state._fsp--; 9609 state._fsp--;
9610 if (state.failed) return ;
9611 pushFollow(FOLLOW_2);
9612 rule__PredicateDefinition__Group__2();
6435 9613
9614 state._fsp--;
9615 if (state.failed) return ;
6436 9616
6437 } 9617 }
6438 9618
@@ -6448,25 +9628,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6448 } 9628 }
6449 return ; 9629 return ;
6450 } 9630 }
6451 // $ANTLR end "rule__TruthValue__Group_1__1" 9631 // $ANTLR end "rule__PredicateDefinition__Group__1"
6452 9632
6453 9633
6454 // $ANTLR start "rule__TruthValue__Group_1__1__Impl" 9634 // $ANTLR start "rule__PredicateDefinition__Group__1__Impl"
6455 // InternalSolverLanguage.g:1964:1: rule__TruthValue__Group_1__1__Impl : ( 'false' ) ; 9635 // InternalSolverLanguage.g:2659:1: rule__PredicateDefinition__Group__1__Impl : ( ( rule__PredicateDefinition__HeadAssignment_1 ) ) ;
6456 public final void rule__TruthValue__Group_1__1__Impl() throws RecognitionException { 9636 public final void rule__PredicateDefinition__Group__1__Impl() throws RecognitionException {
6457 9637
6458 int stackSize = keepStackSize(); 9638 int stackSize = keepStackSize();
6459 9639
6460 try { 9640 try {
6461 // InternalSolverLanguage.g:1968:1: ( ( 'false' ) ) 9641 // InternalSolverLanguage.g:2663:1: ( ( ( rule__PredicateDefinition__HeadAssignment_1 ) ) )
6462 // InternalSolverLanguage.g:1969:1: ( 'false' ) 9642 // InternalSolverLanguage.g:2664:1: ( ( rule__PredicateDefinition__HeadAssignment_1 ) )
6463 { 9643 {
6464 // InternalSolverLanguage.g:1969:1: ( 'false' ) 9644 // InternalSolverLanguage.g:2664:1: ( ( rule__PredicateDefinition__HeadAssignment_1 ) )
6465 // InternalSolverLanguage.g:1970:2: 'false' 9645 // InternalSolverLanguage.g:2665:2: ( rule__PredicateDefinition__HeadAssignment_1 )
9646 {
9647 if ( state.backtracking==0 ) {
9648 before(grammarAccess.getPredicateDefinitionAccess().getHeadAssignment_1());
9649 }
9650 // InternalSolverLanguage.g:2666:2: ( rule__PredicateDefinition__HeadAssignment_1 )
9651 // InternalSolverLanguage.g:2666:3: rule__PredicateDefinition__HeadAssignment_1
6466 { 9652 {
6467 before(grammarAccess.getTruthValueAccess().getFalseKeyword_1_1()); 9653 pushFollow(FOLLOW_2);
6468 match(input,11,FOLLOW_2); 9654 rule__PredicateDefinition__HeadAssignment_1();
6469 after(grammarAccess.getTruthValueAccess().getFalseKeyword_1_1()); 9655
9656 state._fsp--;
9657 if (state.failed) return ;
9658
9659 }
9660
9661 if ( state.backtracking==0 ) {
9662 after(grammarAccess.getPredicateDefinitionAccess().getHeadAssignment_1());
9663 }
6470 9664
6471 } 9665 }
6472 9666
@@ -6485,29 +9679,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6485 } 9679 }
6486 return ; 9680 return ;
6487 } 9681 }
6488 // $ANTLR end "rule__TruthValue__Group_1__1__Impl" 9682 // $ANTLR end "rule__PredicateDefinition__Group__1__Impl"
6489 9683
6490 9684
6491 // $ANTLR start "rule__TruthValue__Group_2__0" 9685 // $ANTLR start "rule__PredicateDefinition__Group__2"
6492 // InternalSolverLanguage.g:1980:1: rule__TruthValue__Group_2__0 : rule__TruthValue__Group_2__0__Impl rule__TruthValue__Group_2__1 ; 9686 // InternalSolverLanguage.g:2674:1: rule__PredicateDefinition__Group__2 : rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 ;
6493 public final void rule__TruthValue__Group_2__0() throws RecognitionException { 9687 public final void rule__PredicateDefinition__Group__2() throws RecognitionException {
6494 9688
6495 int stackSize = keepStackSize(); 9689 int stackSize = keepStackSize();
6496 9690
6497 try { 9691 try {
6498 // InternalSolverLanguage.g:1984:1: ( rule__TruthValue__Group_2__0__Impl rule__TruthValue__Group_2__1 ) 9692 // InternalSolverLanguage.g:2678:1: ( rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 )
6499 // InternalSolverLanguage.g:1985:2: rule__TruthValue__Group_2__0__Impl rule__TruthValue__Group_2__1 9693 // InternalSolverLanguage.g:2679:2: rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3
6500 { 9694 {
6501 pushFollow(FOLLOW_9); 9695 pushFollow(FOLLOW_7);
6502 rule__TruthValue__Group_2__0__Impl(); 9696 rule__PredicateDefinition__Group__2__Impl();
6503 9697
6504 state._fsp--; 9698 state._fsp--;
6505 9699 if (state.failed) return ;
6506 pushFollow(FOLLOW_2); 9700 pushFollow(FOLLOW_2);
6507 rule__TruthValue__Group_2__1(); 9701 rule__PredicateDefinition__Group__3();
6508 9702
6509 state._fsp--; 9703 state._fsp--;
6510 9704 if (state.failed) return ;
6511 9705
6512 } 9706 }
6513 9707
@@ -6523,29 +9717,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6523 } 9717 }
6524 return ; 9718 return ;
6525 } 9719 }
6526 // $ANTLR end "rule__TruthValue__Group_2__0" 9720 // $ANTLR end "rule__PredicateDefinition__Group__2"
6527 9721
6528 9722
6529 // $ANTLR start "rule__TruthValue__Group_2__0__Impl" 9723 // $ANTLR start "rule__PredicateDefinition__Group__2__Impl"
6530 // InternalSolverLanguage.g:1992:1: rule__TruthValue__Group_2__0__Impl : ( () ) ; 9724 // InternalSolverLanguage.g:2686:1: rule__PredicateDefinition__Group__2__Impl : ( ':-' ) ;
6531 public final void rule__TruthValue__Group_2__0__Impl() throws RecognitionException { 9725 public final void rule__PredicateDefinition__Group__2__Impl() throws RecognitionException {
6532 9726
6533 int stackSize = keepStackSize(); 9727 int stackSize = keepStackSize();
6534 9728
6535 try { 9729 try {
6536 // InternalSolverLanguage.g:1996:1: ( ( () ) ) 9730 // InternalSolverLanguage.g:2690:1: ( ( ':-' ) )
6537 // InternalSolverLanguage.g:1997:1: ( () ) 9731 // InternalSolverLanguage.g:2691:1: ( ':-' )
6538 { 9732 {
6539 // InternalSolverLanguage.g:1997:1: ( () ) 9733 // InternalSolverLanguage.g:2691:1: ( ':-' )
6540 // InternalSolverLanguage.g:1998:2: () 9734 // InternalSolverLanguage.g:2692:2: ':-'
6541 {
6542 before(grammarAccess.getTruthValueAccess().getUnknownAction_2_0());
6543 // InternalSolverLanguage.g:1999:2: ()
6544 // InternalSolverLanguage.g:1999:3:
6545 { 9735 {
9736 if ( state.backtracking==0 ) {
9737 before(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2());
9738 }
9739 match(input,46,FOLLOW_2); if (state.failed) return ;
9740 if ( state.backtracking==0 ) {
9741 after(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2());
6546 } 9742 }
6547
6548 after(grammarAccess.getTruthValueAccess().getUnknownAction_2_0());
6549 9743
6550 } 9744 }
6551 9745
@@ -6553,6 +9747,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6553 } 9747 }
6554 9748
6555 } 9749 }
9750 catch (RecognitionException re) {
9751 reportError(re);
9752 recover(input,re);
9753 }
6556 finally { 9754 finally {
6557 9755
6558 restoreStackSize(stackSize); 9756 restoreStackSize(stackSize);
@@ -6560,24 +9758,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6560 } 9758 }
6561 return ; 9759 return ;
6562 } 9760 }
6563 // $ANTLR end "rule__TruthValue__Group_2__0__Impl" 9761 // $ANTLR end "rule__PredicateDefinition__Group__2__Impl"
6564 9762
6565 9763
6566 // $ANTLR start "rule__TruthValue__Group_2__1" 9764 // $ANTLR start "rule__PredicateDefinition__Group__3"
6567 // InternalSolverLanguage.g:2007:1: rule__TruthValue__Group_2__1 : rule__TruthValue__Group_2__1__Impl ; 9765 // InternalSolverLanguage.g:2701:1: rule__PredicateDefinition__Group__3 : rule__PredicateDefinition__Group__3__Impl ;
6568 public final void rule__TruthValue__Group_2__1() throws RecognitionException { 9766 public final void rule__PredicateDefinition__Group__3() throws RecognitionException {
6569 9767
6570 int stackSize = keepStackSize(); 9768 int stackSize = keepStackSize();
6571 9769
6572 try { 9770 try {
6573 // InternalSolverLanguage.g:2011:1: ( rule__TruthValue__Group_2__1__Impl ) 9771 // InternalSolverLanguage.g:2705:1: ( rule__PredicateDefinition__Group__3__Impl )
6574 // InternalSolverLanguage.g:2012:2: rule__TruthValue__Group_2__1__Impl 9772 // InternalSolverLanguage.g:2706:2: rule__PredicateDefinition__Group__3__Impl
6575 { 9773 {
6576 pushFollow(FOLLOW_2); 9774 pushFollow(FOLLOW_2);
6577 rule__TruthValue__Group_2__1__Impl(); 9775 rule__PredicateDefinition__Group__3__Impl();
6578 9776
6579 state._fsp--; 9777 state._fsp--;
6580 9778 if (state.failed) return ;
6581 9779
6582 } 9780 }
6583 9781
@@ -6593,25 +9791,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6593 } 9791 }
6594 return ; 9792 return ;
6595 } 9793 }
6596 // $ANTLR end "rule__TruthValue__Group_2__1" 9794 // $ANTLR end "rule__PredicateDefinition__Group__3"
6597 9795
6598 9796
6599 // $ANTLR start "rule__TruthValue__Group_2__1__Impl" 9797 // $ANTLR start "rule__PredicateDefinition__Group__3__Impl"
6600 // InternalSolverLanguage.g:2018:1: rule__TruthValue__Group_2__1__Impl : ( 'unknown' ) ; 9798 // InternalSolverLanguage.g:2712:1: rule__PredicateDefinition__Group__3__Impl : ( ( rule__PredicateDefinition__BodyAssignment_3 ) ) ;
6601 public final void rule__TruthValue__Group_2__1__Impl() throws RecognitionException { 9799 public final void rule__PredicateDefinition__Group__3__Impl() throws RecognitionException {
6602 9800
6603 int stackSize = keepStackSize(); 9801 int stackSize = keepStackSize();
6604 9802
6605 try { 9803 try {
6606 // InternalSolverLanguage.g:2022:1: ( ( 'unknown' ) ) 9804 // InternalSolverLanguage.g:2716:1: ( ( ( rule__PredicateDefinition__BodyAssignment_3 ) ) )
6607 // InternalSolverLanguage.g:2023:1: ( 'unknown' ) 9805 // InternalSolverLanguage.g:2717:1: ( ( rule__PredicateDefinition__BodyAssignment_3 ) )
9806 {
9807 // InternalSolverLanguage.g:2717:1: ( ( rule__PredicateDefinition__BodyAssignment_3 ) )
9808 // InternalSolverLanguage.g:2718:2: ( rule__PredicateDefinition__BodyAssignment_3 )
6608 { 9809 {
6609 // InternalSolverLanguage.g:2023:1: ( 'unknown' ) 9810 if ( state.backtracking==0 ) {
6610 // InternalSolverLanguage.g:2024:2: 'unknown' 9811 before(grammarAccess.getPredicateDefinitionAccess().getBodyAssignment_3());
9812 }
9813 // InternalSolverLanguage.g:2719:2: ( rule__PredicateDefinition__BodyAssignment_3 )
9814 // InternalSolverLanguage.g:2719:3: rule__PredicateDefinition__BodyAssignment_3
6611 { 9815 {
6612 before(grammarAccess.getTruthValueAccess().getUnknownKeyword_2_1()); 9816 pushFollow(FOLLOW_2);
6613 match(input,15,FOLLOW_2); 9817 rule__PredicateDefinition__BodyAssignment_3();
6614 after(grammarAccess.getTruthValueAccess().getUnknownKeyword_2_1()); 9818
9819 state._fsp--;
9820 if (state.failed) return ;
9821
9822 }
9823
9824 if ( state.backtracking==0 ) {
9825 after(grammarAccess.getPredicateDefinitionAccess().getBodyAssignment_3());
9826 }
6615 9827
6616 } 9828 }
6617 9829
@@ -6630,29 +9842,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6630 } 9842 }
6631 return ; 9843 return ;
6632 } 9844 }
6633 // $ANTLR end "rule__TruthValue__Group_2__1__Impl" 9845 // $ANTLR end "rule__PredicateDefinition__Group__3__Impl"
6634 9846
6635 9847
6636 // $ANTLR start "rule__TruthValue__Group_3__0" 9848 // $ANTLR start "rule__PredicateDefinition__Group_0_0__0"
6637 // InternalSolverLanguage.g:2034:1: rule__TruthValue__Group_3__0 : rule__TruthValue__Group_3__0__Impl rule__TruthValue__Group_3__1 ; 9849 // InternalSolverLanguage.g:2728:1: rule__PredicateDefinition__Group_0_0__0 : rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 ;
6638 public final void rule__TruthValue__Group_3__0() throws RecognitionException { 9850 public final void rule__PredicateDefinition__Group_0_0__0() throws RecognitionException {
6639 9851
6640 int stackSize = keepStackSize(); 9852 int stackSize = keepStackSize();
6641 9853
6642 try { 9854 try {
6643 // InternalSolverLanguage.g:2038:1: ( rule__TruthValue__Group_3__0__Impl rule__TruthValue__Group_3__1 ) 9855 // InternalSolverLanguage.g:2732:1: ( rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 )
6644 // InternalSolverLanguage.g:2039:2: rule__TruthValue__Group_3__0__Impl rule__TruthValue__Group_3__1 9856 // InternalSolverLanguage.g:2733:2: rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1
6645 { 9857 {
6646 pushFollow(FOLLOW_10); 9858 pushFollow(FOLLOW_10);
6647 rule__TruthValue__Group_3__0__Impl(); 9859 rule__PredicateDefinition__Group_0_0__0__Impl();
6648 9860
6649 state._fsp--; 9861 state._fsp--;
6650 9862 if (state.failed) return ;
6651 pushFollow(FOLLOW_2); 9863 pushFollow(FOLLOW_2);
6652 rule__TruthValue__Group_3__1(); 9864 rule__PredicateDefinition__Group_0_0__1();
6653 9865
6654 state._fsp--; 9866 state._fsp--;
6655 9867 if (state.failed) return ;
6656 9868
6657 } 9869 }
6658 9870
@@ -6668,29 +9880,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6668 } 9880 }
6669 return ; 9881 return ;
6670 } 9882 }
6671 // $ANTLR end "rule__TruthValue__Group_3__0" 9883 // $ANTLR end "rule__PredicateDefinition__Group_0_0__0"
6672 9884
6673 9885
6674 // $ANTLR start "rule__TruthValue__Group_3__0__Impl" 9886 // $ANTLR start "rule__PredicateDefinition__Group_0_0__0__Impl"
6675 // InternalSolverLanguage.g:2046:1: rule__TruthValue__Group_3__0__Impl : ( () ) ; 9887 // InternalSolverLanguage.g:2740:1: rule__PredicateDefinition__Group_0_0__0__Impl : ( ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) ) ;
6676 public final void rule__TruthValue__Group_3__0__Impl() throws RecognitionException { 9888 public final void rule__PredicateDefinition__Group_0_0__0__Impl() throws RecognitionException {
6677 9889
6678 int stackSize = keepStackSize(); 9890 int stackSize = keepStackSize();
6679 9891
6680 try { 9892 try {
6681 // InternalSolverLanguage.g:2050:1: ( ( () ) ) 9893 // InternalSolverLanguage.g:2744:1: ( ( ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) ) )
6682 // InternalSolverLanguage.g:2051:1: ( () ) 9894 // InternalSolverLanguage.g:2745:1: ( ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) )
6683 { 9895 {
6684 // InternalSolverLanguage.g:2051:1: ( () ) 9896 // InternalSolverLanguage.g:2745:1: ( ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) )
6685 // InternalSolverLanguage.g:2052:2: () 9897 // InternalSolverLanguage.g:2746:2: ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 )
6686 { 9898 {
6687 before(grammarAccess.getTruthValueAccess().getErrorAction_3_0()); 9899 if ( state.backtracking==0 ) {
6688 // InternalSolverLanguage.g:2053:2: () 9900 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_0_0());
6689 // InternalSolverLanguage.g:2053:3: 9901 }
9902 // InternalSolverLanguage.g:2747:2: ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 )
9903 // InternalSolverLanguage.g:2747:3: rule__PredicateDefinition__FunctionalAssignment_0_0_0
6690 { 9904 {
9905 pushFollow(FOLLOW_2);
9906 rule__PredicateDefinition__FunctionalAssignment_0_0_0();
9907
9908 state._fsp--;
9909 if (state.failed) return ;
9910
6691 } 9911 }
6692 9912
6693 after(grammarAccess.getTruthValueAccess().getErrorAction_3_0()); 9913 if ( state.backtracking==0 ) {
9914 after(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_0_0());
9915 }
6694 9916
6695 } 9917 }
6696 9918
@@ -6698,6 +9920,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6698 } 9920 }
6699 9921
6700 } 9922 }
9923 catch (RecognitionException re) {
9924 reportError(re);
9925 recover(input,re);
9926 }
6701 finally { 9927 finally {
6702 9928
6703 restoreStackSize(stackSize); 9929 restoreStackSize(stackSize);
@@ -6705,24 +9931,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6705 } 9931 }
6706 return ; 9932 return ;
6707 } 9933 }
6708 // $ANTLR end "rule__TruthValue__Group_3__0__Impl" 9934 // $ANTLR end "rule__PredicateDefinition__Group_0_0__0__Impl"
6709 9935
6710 9936
6711 // $ANTLR start "rule__TruthValue__Group_3__1" 9937 // $ANTLR start "rule__PredicateDefinition__Group_0_0__1"
6712 // InternalSolverLanguage.g:2061:1: rule__TruthValue__Group_3__1 : rule__TruthValue__Group_3__1__Impl ; 9938 // InternalSolverLanguage.g:2755:1: rule__PredicateDefinition__Group_0_0__1 : rule__PredicateDefinition__Group_0_0__1__Impl ;
6713 public final void rule__TruthValue__Group_3__1() throws RecognitionException { 9939 public final void rule__PredicateDefinition__Group_0_0__1() throws RecognitionException {
6714 9940
6715 int stackSize = keepStackSize(); 9941 int stackSize = keepStackSize();
6716 9942
6717 try { 9943 try {
6718 // InternalSolverLanguage.g:2065:1: ( rule__TruthValue__Group_3__1__Impl ) 9944 // InternalSolverLanguage.g:2759:1: ( rule__PredicateDefinition__Group_0_0__1__Impl )
6719 // InternalSolverLanguage.g:2066:2: rule__TruthValue__Group_3__1__Impl 9945 // InternalSolverLanguage.g:2760:2: rule__PredicateDefinition__Group_0_0__1__Impl
6720 { 9946 {
6721 pushFollow(FOLLOW_2); 9947 pushFollow(FOLLOW_2);
6722 rule__TruthValue__Group_3__1__Impl(); 9948 rule__PredicateDefinition__Group_0_0__1__Impl();
6723 9949
6724 state._fsp--; 9950 state._fsp--;
6725 9951 if (state.failed) return ;
6726 9952
6727 } 9953 }
6728 9954
@@ -6738,25 +9964,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6738 } 9964 }
6739 return ; 9965 return ;
6740 } 9966 }
6741 // $ANTLR end "rule__TruthValue__Group_3__1" 9967 // $ANTLR end "rule__PredicateDefinition__Group_0_0__1"
6742 9968
6743 9969
6744 // $ANTLR start "rule__TruthValue__Group_3__1__Impl" 9970 // $ANTLR start "rule__PredicateDefinition__Group_0_0__1__Impl"
6745 // InternalSolverLanguage.g:2072:1: rule__TruthValue__Group_3__1__Impl : ( 'error' ) ; 9971 // InternalSolverLanguage.g:2766:1: rule__PredicateDefinition__Group_0_0__1__Impl : ( ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? ) ;
6746 public final void rule__TruthValue__Group_3__1__Impl() throws RecognitionException { 9972 public final void rule__PredicateDefinition__Group_0_0__1__Impl() throws RecognitionException {
6747 9973
6748 int stackSize = keepStackSize(); 9974 int stackSize = keepStackSize();
6749 9975
6750 try { 9976 try {
6751 // InternalSolverLanguage.g:2076:1: ( ( 'error' ) ) 9977 // InternalSolverLanguage.g:2770:1: ( ( ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? ) )
6752 // InternalSolverLanguage.g:2077:1: ( 'error' ) 9978 // InternalSolverLanguage.g:2771:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? )
6753 { 9979 {
6754 // InternalSolverLanguage.g:2077:1: ( 'error' ) 9980 // InternalSolverLanguage.g:2771:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? )
6755 // InternalSolverLanguage.g:2078:2: 'error' 9981 // InternalSolverLanguage.g:2772:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )?
6756 { 9982 {
6757 before(grammarAccess.getTruthValueAccess().getErrorKeyword_3_1()); 9983 if ( state.backtracking==0 ) {
6758 match(input,16,FOLLOW_2); 9984 before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_1());
6759 after(grammarAccess.getTruthValueAccess().getErrorKeyword_3_1()); 9985 }
9986 // InternalSolverLanguage.g:2773:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )?
9987 int alt28=2;
9988 int LA28_0 = input.LA(1);
9989
9990 if ( (LA28_0==42) ) {
9991 alt28=1;
9992 }
9993 switch (alt28) {
9994 case 1 :
9995 // InternalSolverLanguage.g:2773:3: rule__PredicateDefinition__ErrorAssignment_0_0_1
9996 {
9997 pushFollow(FOLLOW_2);
9998 rule__PredicateDefinition__ErrorAssignment_0_0_1();
9999
10000 state._fsp--;
10001 if (state.failed) return ;
10002
10003 }
10004 break;
10005
10006 }
10007
10008 if ( state.backtracking==0 ) {
10009 after(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_1());
10010 }
6760 10011
6761 } 10012 }
6762 10013
@@ -6775,29 +10026,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6775 } 10026 }
6776 return ; 10027 return ;
6777 } 10028 }
6778 // $ANTLR end "rule__TruthValue__Group_3__1__Impl" 10029 // $ANTLR end "rule__PredicateDefinition__Group_0_0__1__Impl"
6779 10030
6780 10031
6781 // $ANTLR start "rule__BasicInterpretation__Group__0" 10032 // $ANTLR start "rule__PredicateDefinition__Group_0_1__0"
6782 // InternalSolverLanguage.g:2088:1: rule__BasicInterpretation__Group__0 : rule__BasicInterpretation__Group__0__Impl rule__BasicInterpretation__Group__1 ; 10033 // InternalSolverLanguage.g:2782:1: rule__PredicateDefinition__Group_0_1__0 : rule__PredicateDefinition__Group_0_1__0__Impl rule__PredicateDefinition__Group_0_1__1 ;
6783 public final void rule__BasicInterpretation__Group__0() throws RecognitionException { 10034 public final void rule__PredicateDefinition__Group_0_1__0() throws RecognitionException {
6784 10035
6785 int stackSize = keepStackSize(); 10036 int stackSize = keepStackSize();
6786 10037
6787 try { 10038 try {
6788 // InternalSolverLanguage.g:2092:1: ( rule__BasicInterpretation__Group__0__Impl rule__BasicInterpretation__Group__1 ) 10039 // InternalSolverLanguage.g:2786:1: ( rule__PredicateDefinition__Group_0_1__0__Impl rule__PredicateDefinition__Group_0_1__1 )
6789 // InternalSolverLanguage.g:2093:2: rule__BasicInterpretation__Group__0__Impl rule__BasicInterpretation__Group__1 10040 // InternalSolverLanguage.g:2787:2: rule__PredicateDefinition__Group_0_1__0__Impl rule__PredicateDefinition__Group_0_1__1
6790 { 10041 {
6791 pushFollow(FOLLOW_11); 10042 pushFollow(FOLLOW_11);
6792 rule__BasicInterpretation__Group__0__Impl(); 10043 rule__PredicateDefinition__Group_0_1__0__Impl();
6793 10044
6794 state._fsp--; 10045 state._fsp--;
6795 10046 if (state.failed) return ;
6796 pushFollow(FOLLOW_2); 10047 pushFollow(FOLLOW_2);
6797 rule__BasicInterpretation__Group__1(); 10048 rule__PredicateDefinition__Group_0_1__1();
6798 10049
6799 state._fsp--; 10050 state._fsp--;
6800 10051 if (state.failed) return ;
6801 10052
6802 } 10053 }
6803 10054
@@ -6813,35 +10064,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6813 } 10064 }
6814 return ; 10065 return ;
6815 } 10066 }
6816 // $ANTLR end "rule__BasicInterpretation__Group__0" 10067 // $ANTLR end "rule__PredicateDefinition__Group_0_1__0"
6817 10068
6818 10069
6819 // $ANTLR start "rule__BasicInterpretation__Group__0__Impl" 10070 // $ANTLR start "rule__PredicateDefinition__Group_0_1__0__Impl"
6820 // InternalSolverLanguage.g:2100:1: rule__BasicInterpretation__Group__0__Impl : ( ( rule__BasicInterpretation__SymbolAssignment_0 ) ) ; 10071 // InternalSolverLanguage.g:2794:1: rule__PredicateDefinition__Group_0_1__0__Impl : ( ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) ) ;
6821 public final void rule__BasicInterpretation__Group__0__Impl() throws RecognitionException { 10072 public final void rule__PredicateDefinition__Group_0_1__0__Impl() throws RecognitionException {
6822 10073
6823 int stackSize = keepStackSize(); 10074 int stackSize = keepStackSize();
6824 10075
6825 try { 10076 try {
6826 // InternalSolverLanguage.g:2104:1: ( ( ( rule__BasicInterpretation__SymbolAssignment_0 ) ) ) 10077 // InternalSolverLanguage.g:2798:1: ( ( ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) ) )
6827 // InternalSolverLanguage.g:2105:1: ( ( rule__BasicInterpretation__SymbolAssignment_0 ) ) 10078 // InternalSolverLanguage.g:2799:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) )
6828 { 10079 {
6829 // InternalSolverLanguage.g:2105:1: ( ( rule__BasicInterpretation__SymbolAssignment_0 ) ) 10080 // InternalSolverLanguage.g:2799:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) )
6830 // InternalSolverLanguage.g:2106:2: ( rule__BasicInterpretation__SymbolAssignment_0 ) 10081 // InternalSolverLanguage.g:2800:2: ( rule__PredicateDefinition__ErrorAssignment_0_1_0 )
6831 { 10082 {
6832 before(grammarAccess.getBasicInterpretationAccess().getSymbolAssignment_0()); 10083 if ( state.backtracking==0 ) {
6833 // InternalSolverLanguage.g:2107:2: ( rule__BasicInterpretation__SymbolAssignment_0 ) 10084 before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_1_0());
6834 // InternalSolverLanguage.g:2107:3: rule__BasicInterpretation__SymbolAssignment_0 10085 }
10086 // InternalSolverLanguage.g:2801:2: ( rule__PredicateDefinition__ErrorAssignment_0_1_0 )
10087 // InternalSolverLanguage.g:2801:3: rule__PredicateDefinition__ErrorAssignment_0_1_0
6835 { 10088 {
6836 pushFollow(FOLLOW_2); 10089 pushFollow(FOLLOW_2);
6837 rule__BasicInterpretation__SymbolAssignment_0(); 10090 rule__PredicateDefinition__ErrorAssignment_0_1_0();
6838 10091
6839 state._fsp--; 10092 state._fsp--;
6840 10093 if (state.failed) return ;
6841 10094
6842 } 10095 }
6843 10096
6844 after(grammarAccess.getBasicInterpretationAccess().getSymbolAssignment_0()); 10097 if ( state.backtracking==0 ) {
10098 after(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_1_0());
10099 }
6845 10100
6846 } 10101 }
6847 10102
@@ -6860,29 +10115,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6860 } 10115 }
6861 return ; 10116 return ;
6862 } 10117 }
6863 // $ANTLR end "rule__BasicInterpretation__Group__0__Impl" 10118 // $ANTLR end "rule__PredicateDefinition__Group_0_1__0__Impl"
6864 10119
6865 10120
6866 // $ANTLR start "rule__BasicInterpretation__Group__1" 10121 // $ANTLR start "rule__PredicateDefinition__Group_0_1__1"
6867 // InternalSolverLanguage.g:2115:1: rule__BasicInterpretation__Group__1 : rule__BasicInterpretation__Group__1__Impl rule__BasicInterpretation__Group__2 ; 10122 // InternalSolverLanguage.g:2809:1: rule__PredicateDefinition__Group_0_1__1 : rule__PredicateDefinition__Group_0_1__1__Impl ;
6868 public final void rule__BasicInterpretation__Group__1() throws RecognitionException { 10123 public final void rule__PredicateDefinition__Group_0_1__1() throws RecognitionException {
6869 10124
6870 int stackSize = keepStackSize(); 10125 int stackSize = keepStackSize();
6871 10126
6872 try { 10127 try {
6873 // InternalSolverLanguage.g:2119:1: ( rule__BasicInterpretation__Group__1__Impl rule__BasicInterpretation__Group__2 ) 10128 // InternalSolverLanguage.g:2813:1: ( rule__PredicateDefinition__Group_0_1__1__Impl )
6874 // InternalSolverLanguage.g:2120:2: rule__BasicInterpretation__Group__1__Impl rule__BasicInterpretation__Group__2 10129 // InternalSolverLanguage.g:2814:2: rule__PredicateDefinition__Group_0_1__1__Impl
6875 { 10130 {
6876 pushFollow(FOLLOW_11);
6877 rule__BasicInterpretation__Group__1__Impl();
6878
6879 state._fsp--;
6880
6881 pushFollow(FOLLOW_2); 10131 pushFollow(FOLLOW_2);
6882 rule__BasicInterpretation__Group__2(); 10132 rule__PredicateDefinition__Group_0_1__1__Impl();
6883 10133
6884 state._fsp--; 10134 state._fsp--;
6885 10135 if (state.failed) return ;
6886 10136
6887 } 10137 }
6888 10138
@@ -6898,46 +10148,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6898 } 10148 }
6899 return ; 10149 return ;
6900 } 10150 }
6901 // $ANTLR end "rule__BasicInterpretation__Group__1" 10151 // $ANTLR end "rule__PredicateDefinition__Group_0_1__1"
6902 10152
6903 10153
6904 // $ANTLR start "rule__BasicInterpretation__Group__1__Impl" 10154 // $ANTLR start "rule__PredicateDefinition__Group_0_1__1__Impl"
6905 // InternalSolverLanguage.g:2127:1: rule__BasicInterpretation__Group__1__Impl : ( ( rule__BasicInterpretation__Group_1__0 )? ) ; 10155 // InternalSolverLanguage.g:2820:1: rule__PredicateDefinition__Group_0_1__1__Impl : ( ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? ) ;
6906 public final void rule__BasicInterpretation__Group__1__Impl() throws RecognitionException { 10156 public final void rule__PredicateDefinition__Group_0_1__1__Impl() throws RecognitionException {
6907 10157
6908 int stackSize = keepStackSize(); 10158 int stackSize = keepStackSize();
6909 10159
6910 try { 10160 try {
6911 // InternalSolverLanguage.g:2131:1: ( ( ( rule__BasicInterpretation__Group_1__0 )? ) ) 10161 // InternalSolverLanguage.g:2824:1: ( ( ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? ) )
6912 // InternalSolverLanguage.g:2132:1: ( ( rule__BasicInterpretation__Group_1__0 )? ) 10162 // InternalSolverLanguage.g:2825:1: ( ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? )
6913 { 10163 {
6914 // InternalSolverLanguage.g:2132:1: ( ( rule__BasicInterpretation__Group_1__0 )? ) 10164 // InternalSolverLanguage.g:2825:1: ( ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? )
6915 // InternalSolverLanguage.g:2133:2: ( rule__BasicInterpretation__Group_1__0 )? 10165 // InternalSolverLanguage.g:2826:2: ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )?
6916 { 10166 {
6917 before(grammarAccess.getBasicInterpretationAccess().getGroup_1()); 10167 if ( state.backtracking==0 ) {
6918 // InternalSolverLanguage.g:2134:2: ( rule__BasicInterpretation__Group_1__0 )? 10168 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_1_1());
6919 int alt23=2; 10169 }
6920 int LA23_0 = input.LA(1); 10170 // InternalSolverLanguage.g:2827:2: ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )?
10171 int alt29=2;
10172 int LA29_0 = input.LA(1);
6921 10173
6922 if ( (LA23_0==18) ) { 10174 if ( (LA29_0==72) ) {
6923 alt23=1; 10175 alt29=1;
6924 } 10176 }
6925 switch (alt23) { 10177 switch (alt29) {
6926 case 1 : 10178 case 1 :
6927 // InternalSolverLanguage.g:2134:3: rule__BasicInterpretation__Group_1__0 10179 // InternalSolverLanguage.g:2827:3: rule__PredicateDefinition__FunctionalAssignment_0_1_1
6928 { 10180 {
6929 pushFollow(FOLLOW_2); 10181 pushFollow(FOLLOW_2);
6930 rule__BasicInterpretation__Group_1__0(); 10182 rule__PredicateDefinition__FunctionalAssignment_0_1_1();
6931 10183
6932 state._fsp--; 10184 state._fsp--;
6933 10185 if (state.failed) return ;
6934 10186
6935 } 10187 }
6936 break; 10188 break;
6937 10189
6938 } 10190 }
6939 10191
6940 after(grammarAccess.getBasicInterpretationAccess().getGroup_1()); 10192 if ( state.backtracking==0 ) {
10193 after(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_1_1());
10194 }
6941 10195
6942 } 10196 }
6943 10197
@@ -6956,29 +10210,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6956 } 10210 }
6957 return ; 10211 return ;
6958 } 10212 }
6959 // $ANTLR end "rule__BasicInterpretation__Group__1__Impl" 10213 // $ANTLR end "rule__PredicateDefinition__Group_0_1__1__Impl"
6960 10214
6961 10215
6962 // $ANTLR start "rule__BasicInterpretation__Group__2" 10216 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__0"
6963 // InternalSolverLanguage.g:2142:1: rule__BasicInterpretation__Group__2 : rule__BasicInterpretation__Group__2__Impl rule__BasicInterpretation__Group__3 ; 10217 // InternalSolverLanguage.g:2836:1: rule__UnnamedErrorPrediateDefinition__Group__0 : rule__UnnamedErrorPrediateDefinition__Group__0__Impl rule__UnnamedErrorPrediateDefinition__Group__1 ;
6964 public final void rule__BasicInterpretation__Group__2() throws RecognitionException { 10218 public final void rule__UnnamedErrorPrediateDefinition__Group__0() throws RecognitionException {
6965 10219
6966 int stackSize = keepStackSize(); 10220 int stackSize = keepStackSize();
6967 10221
6968 try { 10222 try {
6969 // InternalSolverLanguage.g:2146:1: ( rule__BasicInterpretation__Group__2__Impl rule__BasicInterpretation__Group__3 ) 10223 // InternalSolverLanguage.g:2840:1: ( rule__UnnamedErrorPrediateDefinition__Group__0__Impl rule__UnnamedErrorPrediateDefinition__Group__1 )
6970 // InternalSolverLanguage.g:2147:2: rule__BasicInterpretation__Group__2__Impl rule__BasicInterpretation__Group__3 10224 // InternalSolverLanguage.g:2841:2: rule__UnnamedErrorPrediateDefinition__Group__0__Impl rule__UnnamedErrorPrediateDefinition__Group__1
6971 { 10225 {
6972 pushFollow(FOLLOW_12); 10226 pushFollow(FOLLOW_12);
6973 rule__BasicInterpretation__Group__2__Impl(); 10227 rule__UnnamedErrorPrediateDefinition__Group__0__Impl();
6974 10228
6975 state._fsp--; 10229 state._fsp--;
6976 10230 if (state.failed) return ;
6977 pushFollow(FOLLOW_2); 10231 pushFollow(FOLLOW_2);
6978 rule__BasicInterpretation__Group__3(); 10232 rule__UnnamedErrorPrediateDefinition__Group__1();
6979 10233
6980 state._fsp--; 10234 state._fsp--;
6981 10235 if (state.failed) return ;
6982 10236
6983 } 10237 }
6984 10238
@@ -6994,25 +10248,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
6994 } 10248 }
6995 return ; 10249 return ;
6996 } 10250 }
6997 // $ANTLR end "rule__BasicInterpretation__Group__2" 10251 // $ANTLR end "rule__UnnamedErrorPrediateDefinition__Group__0"
6998 10252
6999 10253
7000 // $ANTLR start "rule__BasicInterpretation__Group__2__Impl" 10254 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__0__Impl"
7001 // InternalSolverLanguage.g:2154:1: rule__BasicInterpretation__Group__2__Impl : ( ':' ) ; 10255 // InternalSolverLanguage.g:2848:1: rule__UnnamedErrorPrediateDefinition__Group__0__Impl : ( 'error' ) ;
7002 public final void rule__BasicInterpretation__Group__2__Impl() throws RecognitionException { 10256 public final void rule__UnnamedErrorPrediateDefinition__Group__0__Impl() throws RecognitionException {
7003 10257
7004 int stackSize = keepStackSize(); 10258 int stackSize = keepStackSize();
7005 10259
7006 try { 10260 try {
7007 // InternalSolverLanguage.g:2158:1: ( ( ':' ) ) 10261 // InternalSolverLanguage.g:2852:1: ( ( 'error' ) )
7008 // InternalSolverLanguage.g:2159:1: ( ':' ) 10262 // InternalSolverLanguage.g:2853:1: ( 'error' )
7009 { 10263 {
7010 // InternalSolverLanguage.g:2159:1: ( ':' ) 10264 // InternalSolverLanguage.g:2853:1: ( 'error' )
7011 // InternalSolverLanguage.g:2160:2: ':' 10265 // InternalSolverLanguage.g:2854:2: 'error'
7012 { 10266 {
7013 before(grammarAccess.getBasicInterpretationAccess().getColonKeyword_2()); 10267 if ( state.backtracking==0 ) {
7014 match(input,17,FOLLOW_2); 10268 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0());
7015 after(grammarAccess.getBasicInterpretationAccess().getColonKeyword_2()); 10269 }
10270 match(input,42,FOLLOW_2); if (state.failed) return ;
10271 if ( state.backtracking==0 ) {
10272 after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0());
10273 }
7016 10274
7017 } 10275 }
7018 10276
@@ -7031,24 +10289,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7031 } 10289 }
7032 return ; 10290 return ;
7033 } 10291 }
7034 // $ANTLR end "rule__BasicInterpretation__Group__2__Impl" 10292 // $ANTLR end "rule__UnnamedErrorPrediateDefinition__Group__0__Impl"
7035 10293
7036 10294
7037 // $ANTLR start "rule__BasicInterpretation__Group__3" 10295 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__1"
7038 // InternalSolverLanguage.g:2169:1: rule__BasicInterpretation__Group__3 : rule__BasicInterpretation__Group__3__Impl ; 10296 // InternalSolverLanguage.g:2863:1: rule__UnnamedErrorPrediateDefinition__Group__1 : rule__UnnamedErrorPrediateDefinition__Group__1__Impl rule__UnnamedErrorPrediateDefinition__Group__2 ;
7039 public final void rule__BasicInterpretation__Group__3() throws RecognitionException { 10297 public final void rule__UnnamedErrorPrediateDefinition__Group__1() throws RecognitionException {
7040 10298
7041 int stackSize = keepStackSize(); 10299 int stackSize = keepStackSize();
7042 10300
7043 try { 10301 try {
7044 // InternalSolverLanguage.g:2173:1: ( rule__BasicInterpretation__Group__3__Impl ) 10302 // InternalSolverLanguage.g:2867:1: ( rule__UnnamedErrorPrediateDefinition__Group__1__Impl rule__UnnamedErrorPrediateDefinition__Group__2 )
7045 // InternalSolverLanguage.g:2174:2: rule__BasicInterpretation__Group__3__Impl 10303 // InternalSolverLanguage.g:2868:2: rule__UnnamedErrorPrediateDefinition__Group__1__Impl rule__UnnamedErrorPrediateDefinition__Group__2
7046 { 10304 {
7047 pushFollow(FOLLOW_2); 10305 pushFollow(FOLLOW_8);
7048 rule__BasicInterpretation__Group__3__Impl(); 10306 rule__UnnamedErrorPrediateDefinition__Group__1__Impl();
7049 10307
7050 state._fsp--; 10308 state._fsp--;
10309 if (state.failed) return ;
10310 pushFollow(FOLLOW_2);
10311 rule__UnnamedErrorPrediateDefinition__Group__2();
7051 10312
10313 state._fsp--;
10314 if (state.failed) return ;
7052 10315
7053 } 10316 }
7054 10317
@@ -7064,35 +10327,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7064 } 10327 }
7065 return ; 10328 return ;
7066 } 10329 }
7067 // $ANTLR end "rule__BasicInterpretation__Group__3" 10330 // $ANTLR end "rule__UnnamedErrorPrediateDefinition__Group__1"
7068 10331
7069 10332
7070 // $ANTLR start "rule__BasicInterpretation__Group__3__Impl" 10333 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__1__Impl"
7071 // InternalSolverLanguage.g:2180:1: rule__BasicInterpretation__Group__3__Impl : ( ( rule__BasicInterpretation__ValueAssignment_3 ) ) ; 10334 // InternalSolverLanguage.g:2875:1: rule__UnnamedErrorPrediateDefinition__Group__1__Impl : ( ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) ) ;
7072 public final void rule__BasicInterpretation__Group__3__Impl() throws RecognitionException { 10335 public final void rule__UnnamedErrorPrediateDefinition__Group__1__Impl() throws RecognitionException {
7073 10336
7074 int stackSize = keepStackSize(); 10337 int stackSize = keepStackSize();
7075 10338
7076 try { 10339 try {
7077 // InternalSolverLanguage.g:2184:1: ( ( ( rule__BasicInterpretation__ValueAssignment_3 ) ) ) 10340 // InternalSolverLanguage.g:2879:1: ( ( ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) ) )
7078 // InternalSolverLanguage.g:2185:1: ( ( rule__BasicInterpretation__ValueAssignment_3 ) ) 10341 // InternalSolverLanguage.g:2880:1: ( ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) )
7079 { 10342 {
7080 // InternalSolverLanguage.g:2185:1: ( ( rule__BasicInterpretation__ValueAssignment_3 ) ) 10343 // InternalSolverLanguage.g:2880:1: ( ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) )
7081 // InternalSolverLanguage.g:2186:2: ( rule__BasicInterpretation__ValueAssignment_3 ) 10344 // InternalSolverLanguage.g:2881:2: ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 )
7082 { 10345 {
7083 before(grammarAccess.getBasicInterpretationAccess().getValueAssignment_3()); 10346 if ( state.backtracking==0 ) {
7084 // InternalSolverLanguage.g:2187:2: ( rule__BasicInterpretation__ValueAssignment_3 ) 10347 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListAssignment_1());
7085 // InternalSolverLanguage.g:2187:3: rule__BasicInterpretation__ValueAssignment_3 10348 }
10349 // InternalSolverLanguage.g:2882:2: ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 )
10350 // InternalSolverLanguage.g:2882:3: rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1
7086 { 10351 {
7087 pushFollow(FOLLOW_2); 10352 pushFollow(FOLLOW_2);
7088 rule__BasicInterpretation__ValueAssignment_3(); 10353 rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1();
7089 10354
7090 state._fsp--; 10355 state._fsp--;
7091 10356 if (state.failed) return ;
7092 10357
7093 } 10358 }
7094 10359
7095 after(grammarAccess.getBasicInterpretationAccess().getValueAssignment_3()); 10360 if ( state.backtracking==0 ) {
10361 after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListAssignment_1());
10362 }
7096 10363
7097 } 10364 }
7098 10365
@@ -7111,29 +10378,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7111 } 10378 }
7112 return ; 10379 return ;
7113 } 10380 }
7114 // $ANTLR end "rule__BasicInterpretation__Group__3__Impl" 10381 // $ANTLR end "rule__UnnamedErrorPrediateDefinition__Group__1__Impl"
7115 10382
7116 10383
7117 // $ANTLR start "rule__BasicInterpretation__Group_1__0" 10384 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__2"
7118 // InternalSolverLanguage.g:2196:1: rule__BasicInterpretation__Group_1__0 : rule__BasicInterpretation__Group_1__0__Impl rule__BasicInterpretation__Group_1__1 ; 10385 // InternalSolverLanguage.g:2890:1: rule__UnnamedErrorPrediateDefinition__Group__2 : rule__UnnamedErrorPrediateDefinition__Group__2__Impl rule__UnnamedErrorPrediateDefinition__Group__3 ;
7119 public final void rule__BasicInterpretation__Group_1__0() throws RecognitionException { 10386 public final void rule__UnnamedErrorPrediateDefinition__Group__2() throws RecognitionException {
7120 10387
7121 int stackSize = keepStackSize(); 10388 int stackSize = keepStackSize();
7122 10389
7123 try { 10390 try {
7124 // InternalSolverLanguage.g:2200:1: ( rule__BasicInterpretation__Group_1__0__Impl rule__BasicInterpretation__Group_1__1 ) 10391 // InternalSolverLanguage.g:2894:1: ( rule__UnnamedErrorPrediateDefinition__Group__2__Impl rule__UnnamedErrorPrediateDefinition__Group__3 )
7125 // InternalSolverLanguage.g:2201:2: rule__BasicInterpretation__Group_1__0__Impl rule__BasicInterpretation__Group_1__1 10392 // InternalSolverLanguage.g:2895:2: rule__UnnamedErrorPrediateDefinition__Group__2__Impl rule__UnnamedErrorPrediateDefinition__Group__3
7126 { 10393 {
7127 pushFollow(FOLLOW_13); 10394 pushFollow(FOLLOW_7);
7128 rule__BasicInterpretation__Group_1__0__Impl(); 10395 rule__UnnamedErrorPrediateDefinition__Group__2__Impl();
7129 10396
7130 state._fsp--; 10397 state._fsp--;
7131 10398 if (state.failed) return ;
7132 pushFollow(FOLLOW_2); 10399 pushFollow(FOLLOW_2);
7133 rule__BasicInterpretation__Group_1__1(); 10400 rule__UnnamedErrorPrediateDefinition__Group__3();
7134 10401
7135 state._fsp--; 10402 state._fsp--;
7136 10403 if (state.failed) return ;
7137 10404
7138 } 10405 }
7139 10406
@@ -7149,25 +10416,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7149 } 10416 }
7150 return ; 10417 return ;
7151 } 10418 }
7152 // $ANTLR end "rule__BasicInterpretation__Group_1__0" 10419 // $ANTLR end "rule__UnnamedErrorPrediateDefinition__Group__2"
7153 10420
7154 10421
7155 // $ANTLR start "rule__BasicInterpretation__Group_1__0__Impl" 10422 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__2__Impl"
7156 // InternalSolverLanguage.g:2208:1: rule__BasicInterpretation__Group_1__0__Impl : ( '(' ) ; 10423 // InternalSolverLanguage.g:2902:1: rule__UnnamedErrorPrediateDefinition__Group__2__Impl : ( ':-' ) ;
7157 public final void rule__BasicInterpretation__Group_1__0__Impl() throws RecognitionException { 10424 public final void rule__UnnamedErrorPrediateDefinition__Group__2__Impl() throws RecognitionException {
7158 10425
7159 int stackSize = keepStackSize(); 10426 int stackSize = keepStackSize();
7160 10427
7161 try { 10428 try {
7162 // InternalSolverLanguage.g:2212:1: ( ( '(' ) ) 10429 // InternalSolverLanguage.g:2906:1: ( ( ':-' ) )
7163 // InternalSolverLanguage.g:2213:1: ( '(' ) 10430 // InternalSolverLanguage.g:2907:1: ( ':-' )
7164 { 10431 {
7165 // InternalSolverLanguage.g:2213:1: ( '(' ) 10432 // InternalSolverLanguage.g:2907:1: ( ':-' )
7166 // InternalSolverLanguage.g:2214:2: '(' 10433 // InternalSolverLanguage.g:2908:2: ':-'
7167 { 10434 {
7168 before(grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()); 10435 if ( state.backtracking==0 ) {
7169 match(input,18,FOLLOW_2); 10436 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2());
7170 after(grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()); 10437 }
10438 match(input,46,FOLLOW_2); if (state.failed) return ;
10439 if ( state.backtracking==0 ) {
10440 after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2());
10441 }
7171 10442
7172 } 10443 }
7173 10444
@@ -7186,28 +10457,74 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7186 } 10457 }
7187 return ; 10458 return ;
7188 } 10459 }
7189 // $ANTLR end "rule__BasicInterpretation__Group_1__0__Impl" 10460 // $ANTLR end "rule__UnnamedErrorPrediateDefinition__Group__2__Impl"
7190 10461
7191 10462
7192 // $ANTLR start "rule__BasicInterpretation__Group_1__1" 10463 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__3"
7193 // InternalSolverLanguage.g:2223:1: rule__BasicInterpretation__Group_1__1 : rule__BasicInterpretation__Group_1__1__Impl rule__BasicInterpretation__Group_1__2 ; 10464 // InternalSolverLanguage.g:2917:1: rule__UnnamedErrorPrediateDefinition__Group__3 : rule__UnnamedErrorPrediateDefinition__Group__3__Impl ;
7194 public final void rule__BasicInterpretation__Group_1__1() throws RecognitionException { 10465 public final void rule__UnnamedErrorPrediateDefinition__Group__3() throws RecognitionException {
7195 10466
7196 int stackSize = keepStackSize(); 10467 int stackSize = keepStackSize();
7197 10468
7198 try { 10469 try {
7199 // InternalSolverLanguage.g:2227:1: ( rule__BasicInterpretation__Group_1__1__Impl rule__BasicInterpretation__Group_1__2 ) 10470 // InternalSolverLanguage.g:2921:1: ( rule__UnnamedErrorPrediateDefinition__Group__3__Impl )
7200 // InternalSolverLanguage.g:2228:2: rule__BasicInterpretation__Group_1__1__Impl rule__BasicInterpretation__Group_1__2 10471 // InternalSolverLanguage.g:2922:2: rule__UnnamedErrorPrediateDefinition__Group__3__Impl
7201 { 10472 {
7202 pushFollow(FOLLOW_13); 10473 pushFollow(FOLLOW_2);
7203 rule__BasicInterpretation__Group_1__1__Impl(); 10474 rule__UnnamedErrorPrediateDefinition__Group__3__Impl();
7204 10475
7205 state._fsp--; 10476 state._fsp--;
10477 if (state.failed) return ;
10478
10479 }
10480
10481 }
10482 catch (RecognitionException re) {
10483 reportError(re);
10484 recover(input,re);
10485 }
10486 finally {
10487
10488 restoreStackSize(stackSize);
10489
10490 }
10491 return ;
10492 }
10493 // $ANTLR end "rule__UnnamedErrorPrediateDefinition__Group__3"
7206 10494
10495
10496 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__3__Impl"
10497 // InternalSolverLanguage.g:2928:1: rule__UnnamedErrorPrediateDefinition__Group__3__Impl : ( ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) ) ;
10498 public final void rule__UnnamedErrorPrediateDefinition__Group__3__Impl() throws RecognitionException {
10499
10500 int stackSize = keepStackSize();
10501
10502 try {
10503 // InternalSolverLanguage.g:2932:1: ( ( ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) ) )
10504 // InternalSolverLanguage.g:2933:1: ( ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) )
10505 {
10506 // InternalSolverLanguage.g:2933:1: ( ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) )
10507 // InternalSolverLanguage.g:2934:2: ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 )
10508 {
10509 if ( state.backtracking==0 ) {
10510 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyAssignment_3());
10511 }
10512 // InternalSolverLanguage.g:2935:2: ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 )
10513 // InternalSolverLanguage.g:2935:3: rule__UnnamedErrorPrediateDefinition__BodyAssignment_3
10514 {
7207 pushFollow(FOLLOW_2); 10515 pushFollow(FOLLOW_2);
7208 rule__BasicInterpretation__Group_1__2(); 10516 rule__UnnamedErrorPrediateDefinition__BodyAssignment_3();
7209 10517
7210 state._fsp--; 10518 state._fsp--;
10519 if (state.failed) return ;
10520
10521 }
10522
10523 if ( state.backtracking==0 ) {
10524 after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyAssignment_3());
10525 }
10526
10527 }
7211 10528
7212 10529
7213 } 10530 }
@@ -7224,49 +10541,108 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7224 } 10541 }
7225 return ; 10542 return ;
7226 } 10543 }
7227 // $ANTLR end "rule__BasicInterpretation__Group_1__1" 10544 // $ANTLR end "rule__UnnamedErrorPrediateDefinition__Group__3__Impl"
7228 10545
7229 10546
7230 // $ANTLR start "rule__BasicInterpretation__Group_1__1__Impl" 10547 // $ANTLR start "rule__DefaultDefinition__Group__0"
7231 // InternalSolverLanguage.g:2235:1: rule__BasicInterpretation__Group_1__1__Impl : ( ( rule__BasicInterpretation__Group_1_1__0 )? ) ; 10548 // InternalSolverLanguage.g:2944:1: rule__DefaultDefinition__Group__0 : rule__DefaultDefinition__Group__0__Impl rule__DefaultDefinition__Group__1 ;
7232 public final void rule__BasicInterpretation__Group_1__1__Impl() throws RecognitionException { 10549 public final void rule__DefaultDefinition__Group__0() throws RecognitionException {
7233 10550
7234 int stackSize = keepStackSize(); 10551 int stackSize = keepStackSize();
7235 10552
7236 try { 10553 try {
7237 // InternalSolverLanguage.g:2239:1: ( ( ( rule__BasicInterpretation__Group_1_1__0 )? ) ) 10554 // InternalSolverLanguage.g:2948:1: ( rule__DefaultDefinition__Group__0__Impl rule__DefaultDefinition__Group__1 )
7238 // InternalSolverLanguage.g:2240:1: ( ( rule__BasicInterpretation__Group_1_1__0 )? ) 10555 // InternalSolverLanguage.g:2949:2: rule__DefaultDefinition__Group__0__Impl rule__DefaultDefinition__Group__1
7239 {
7240 // InternalSolverLanguage.g:2240:1: ( ( rule__BasicInterpretation__Group_1_1__0 )? )
7241 // InternalSolverLanguage.g:2241:2: ( rule__BasicInterpretation__Group_1_1__0 )?
7242 { 10556 {
7243 before(grammarAccess.getBasicInterpretationAccess().getGroup_1_1()); 10557 pushFollow(FOLLOW_9);
7244 // InternalSolverLanguage.g:2242:2: ( rule__BasicInterpretation__Group_1_1__0 )? 10558 rule__DefaultDefinition__Group__0__Impl();
7245 int alt24=2; 10559
7246 int LA24_0 = input.LA(1); 10560 state._fsp--;
10561 if (state.failed) return ;
10562 pushFollow(FOLLOW_2);
10563 rule__DefaultDefinition__Group__1();
10564
10565 state._fsp--;
10566 if (state.failed) return ;
7247 10567
7248 if ( ((LA24_0>=RULE_INT && LA24_0<=RULE_STRING)||(LA24_0>=11 && LA24_0<=13)||LA24_0==17||LA24_0==27||LA24_0==31) ) {
7249 alt24=1;
7250 } 10568 }
7251 switch (alt24) {
7252 case 1 :
7253 // InternalSolverLanguage.g:2242:3: rule__BasicInterpretation__Group_1_1__0
7254 {
7255 pushFollow(FOLLOW_2);
7256 rule__BasicInterpretation__Group_1_1__0();
7257 10569
7258 state._fsp--; 10570 }
10571 catch (RecognitionException re) {
10572 reportError(re);
10573 recover(input,re);
10574 }
10575 finally {
10576
10577 restoreStackSize(stackSize);
7259 10578
10579 }
10580 return ;
10581 }
10582 // $ANTLR end "rule__DefaultDefinition__Group__0"
7260 10583
7261 } 10584
7262 break; 10585 // $ANTLR start "rule__DefaultDefinition__Group__0__Impl"
10586 // InternalSolverLanguage.g:2956:1: rule__DefaultDefinition__Group__0__Impl : ( 'default' ) ;
10587 public final void rule__DefaultDefinition__Group__0__Impl() throws RecognitionException {
10588
10589 int stackSize = keepStackSize();
10590
10591 try {
10592 // InternalSolverLanguage.g:2960:1: ( ( 'default' ) )
10593 // InternalSolverLanguage.g:2961:1: ( 'default' )
10594 {
10595 // InternalSolverLanguage.g:2961:1: ( 'default' )
10596 // InternalSolverLanguage.g:2962:2: 'default'
10597 {
10598 if ( state.backtracking==0 ) {
10599 before(grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0());
10600 }
10601 match(input,48,FOLLOW_2); if (state.failed) return ;
10602 if ( state.backtracking==0 ) {
10603 after(grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0());
10604 }
7263 10605
7264 } 10606 }
7265 10607
7266 after(grammarAccess.getBasicInterpretationAccess().getGroup_1_1());
7267 10608
7268 } 10609 }
7269 10610
10611 }
10612 catch (RecognitionException re) {
10613 reportError(re);
10614 recover(input,re);
10615 }
10616 finally {
10617
10618 restoreStackSize(stackSize);
10619
10620 }
10621 return ;
10622 }
10623 // $ANTLR end "rule__DefaultDefinition__Group__0__Impl"
10624
10625
10626 // $ANTLR start "rule__DefaultDefinition__Group__1"
10627 // InternalSolverLanguage.g:2971:1: rule__DefaultDefinition__Group__1 : rule__DefaultDefinition__Group__1__Impl rule__DefaultDefinition__Group__2 ;
10628 public final void rule__DefaultDefinition__Group__1() throws RecognitionException {
10629
10630 int stackSize = keepStackSize();
10631
10632 try {
10633 // InternalSolverLanguage.g:2975:1: ( rule__DefaultDefinition__Group__1__Impl rule__DefaultDefinition__Group__2 )
10634 // InternalSolverLanguage.g:2976:2: rule__DefaultDefinition__Group__1__Impl rule__DefaultDefinition__Group__2
10635 {
10636 pushFollow(FOLLOW_6);
10637 rule__DefaultDefinition__Group__1__Impl();
10638
10639 state._fsp--;
10640 if (state.failed) return ;
10641 pushFollow(FOLLOW_2);
10642 rule__DefaultDefinition__Group__2();
10643
10644 state._fsp--;
10645 if (state.failed) return ;
7270 10646
7271 } 10647 }
7272 10648
@@ -7282,24 +10658,80 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7282 } 10658 }
7283 return ; 10659 return ;
7284 } 10660 }
7285 // $ANTLR end "rule__BasicInterpretation__Group_1__1__Impl" 10661 // $ANTLR end "rule__DefaultDefinition__Group__1"
7286 10662
7287 10663
7288 // $ANTLR start "rule__BasicInterpretation__Group_1__2" 10664 // $ANTLR start "rule__DefaultDefinition__Group__1__Impl"
7289 // InternalSolverLanguage.g:2250:1: rule__BasicInterpretation__Group_1__2 : rule__BasicInterpretation__Group_1__2__Impl ; 10665 // InternalSolverLanguage.g:2983:1: rule__DefaultDefinition__Group__1__Impl : ( ( rule__DefaultDefinition__HeadAssignment_1 ) ) ;
7290 public final void rule__BasicInterpretation__Group_1__2() throws RecognitionException { 10666 public final void rule__DefaultDefinition__Group__1__Impl() throws RecognitionException {
7291 10667
7292 int stackSize = keepStackSize(); 10668 int stackSize = keepStackSize();
7293 10669
7294 try { 10670 try {
7295 // InternalSolverLanguage.g:2254:1: ( rule__BasicInterpretation__Group_1__2__Impl ) 10671 // InternalSolverLanguage.g:2987:1: ( ( ( rule__DefaultDefinition__HeadAssignment_1 ) ) )
7296 // InternalSolverLanguage.g:2255:2: rule__BasicInterpretation__Group_1__2__Impl 10672 // InternalSolverLanguage.g:2988:1: ( ( rule__DefaultDefinition__HeadAssignment_1 ) )
10673 {
10674 // InternalSolverLanguage.g:2988:1: ( ( rule__DefaultDefinition__HeadAssignment_1 ) )
10675 // InternalSolverLanguage.g:2989:2: ( rule__DefaultDefinition__HeadAssignment_1 )
10676 {
10677 if ( state.backtracking==0 ) {
10678 before(grammarAccess.getDefaultDefinitionAccess().getHeadAssignment_1());
10679 }
10680 // InternalSolverLanguage.g:2990:2: ( rule__DefaultDefinition__HeadAssignment_1 )
10681 // InternalSolverLanguage.g:2990:3: rule__DefaultDefinition__HeadAssignment_1
7297 { 10682 {
7298 pushFollow(FOLLOW_2); 10683 pushFollow(FOLLOW_2);
7299 rule__BasicInterpretation__Group_1__2__Impl(); 10684 rule__DefaultDefinition__HeadAssignment_1();
10685
10686 state._fsp--;
10687 if (state.failed) return ;
10688
10689 }
10690
10691 if ( state.backtracking==0 ) {
10692 after(grammarAccess.getDefaultDefinitionAccess().getHeadAssignment_1());
10693 }
10694
10695 }
10696
10697
10698 }
10699
10700 }
10701 catch (RecognitionException re) {
10702 reportError(re);
10703 recover(input,re);
10704 }
10705 finally {
10706
10707 restoreStackSize(stackSize);
10708
10709 }
10710 return ;
10711 }
10712 // $ANTLR end "rule__DefaultDefinition__Group__1__Impl"
10713
10714
10715 // $ANTLR start "rule__DefaultDefinition__Group__2"
10716 // InternalSolverLanguage.g:2998:1: rule__DefaultDefinition__Group__2 : rule__DefaultDefinition__Group__2__Impl rule__DefaultDefinition__Group__3 ;
10717 public final void rule__DefaultDefinition__Group__2() throws RecognitionException {
10718
10719 int stackSize = keepStackSize();
10720
10721 try {
10722 // InternalSolverLanguage.g:3002:1: ( rule__DefaultDefinition__Group__2__Impl rule__DefaultDefinition__Group__3 )
10723 // InternalSolverLanguage.g:3003:2: rule__DefaultDefinition__Group__2__Impl rule__DefaultDefinition__Group__3
10724 {
10725 pushFollow(FOLLOW_7);
10726 rule__DefaultDefinition__Group__2__Impl();
7300 10727
7301 state._fsp--; 10728 state._fsp--;
10729 if (state.failed) return ;
10730 pushFollow(FOLLOW_2);
10731 rule__DefaultDefinition__Group__3();
7302 10732
10733 state._fsp--;
10734 if (state.failed) return ;
7303 10735
7304 } 10736 }
7305 10737
@@ -7315,25 +10747,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7315 } 10747 }
7316 return ; 10748 return ;
7317 } 10749 }
7318 // $ANTLR end "rule__BasicInterpretation__Group_1__2" 10750 // $ANTLR end "rule__DefaultDefinition__Group__2"
7319 10751
7320 10752
7321 // $ANTLR start "rule__BasicInterpretation__Group_1__2__Impl" 10753 // $ANTLR start "rule__DefaultDefinition__Group__2__Impl"
7322 // InternalSolverLanguage.g:2261:1: rule__BasicInterpretation__Group_1__2__Impl : ( ')' ) ; 10754 // InternalSolverLanguage.g:3010:1: rule__DefaultDefinition__Group__2__Impl : ( ':' ) ;
7323 public final void rule__BasicInterpretation__Group_1__2__Impl() throws RecognitionException { 10755 public final void rule__DefaultDefinition__Group__2__Impl() throws RecognitionException {
7324 10756
7325 int stackSize = keepStackSize(); 10757 int stackSize = keepStackSize();
7326 10758
7327 try { 10759 try {
7328 // InternalSolverLanguage.g:2265:1: ( ( ')' ) ) 10760 // InternalSolverLanguage.g:3014:1: ( ( ':' ) )
7329 // InternalSolverLanguage.g:2266:1: ( ')' ) 10761 // InternalSolverLanguage.g:3015:1: ( ':' )
7330 { 10762 {
7331 // InternalSolverLanguage.g:2266:1: ( ')' ) 10763 // InternalSolverLanguage.g:3015:1: ( ':' )
7332 // InternalSolverLanguage.g:2267:2: ')' 10764 // InternalSolverLanguage.g:3016:2: ':'
7333 { 10765 {
7334 before(grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2()); 10766 if ( state.backtracking==0 ) {
7335 match(input,19,FOLLOW_2); 10767 before(grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2());
7336 after(grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2()); 10768 }
10769 match(input,45,FOLLOW_2); if (state.failed) return ;
10770 if ( state.backtracking==0 ) {
10771 after(grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2());
10772 }
7337 10773
7338 } 10774 }
7339 10775
@@ -7352,28 +10788,74 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7352 } 10788 }
7353 return ; 10789 return ;
7354 } 10790 }
7355 // $ANTLR end "rule__BasicInterpretation__Group_1__2__Impl" 10791 // $ANTLR end "rule__DefaultDefinition__Group__2__Impl"
7356 10792
7357 10793
7358 // $ANTLR start "rule__BasicInterpretation__Group_1_1__0" 10794 // $ANTLR start "rule__DefaultDefinition__Group__3"
7359 // InternalSolverLanguage.g:2277:1: rule__BasicInterpretation__Group_1_1__0 : rule__BasicInterpretation__Group_1_1__0__Impl rule__BasicInterpretation__Group_1_1__1 ; 10795 // InternalSolverLanguage.g:3025:1: rule__DefaultDefinition__Group__3 : rule__DefaultDefinition__Group__3__Impl ;
7360 public final void rule__BasicInterpretation__Group_1_1__0() throws RecognitionException { 10796 public final void rule__DefaultDefinition__Group__3() throws RecognitionException {
7361 10797
7362 int stackSize = keepStackSize(); 10798 int stackSize = keepStackSize();
7363 10799
7364 try { 10800 try {
7365 // InternalSolverLanguage.g:2281:1: ( rule__BasicInterpretation__Group_1_1__0__Impl rule__BasicInterpretation__Group_1_1__1 ) 10801 // InternalSolverLanguage.g:3029:1: ( rule__DefaultDefinition__Group__3__Impl )
7366 // InternalSolverLanguage.g:2282:2: rule__BasicInterpretation__Group_1_1__0__Impl rule__BasicInterpretation__Group_1_1__1 10802 // InternalSolverLanguage.g:3030:2: rule__DefaultDefinition__Group__3__Impl
7367 { 10803 {
7368 pushFollow(FOLLOW_14); 10804 pushFollow(FOLLOW_2);
7369 rule__BasicInterpretation__Group_1_1__0__Impl(); 10805 rule__DefaultDefinition__Group__3__Impl();
7370 10806
7371 state._fsp--; 10807 state._fsp--;
10808 if (state.failed) return ;
7372 10809
10810 }
10811
10812 }
10813 catch (RecognitionException re) {
10814 reportError(re);
10815 recover(input,re);
10816 }
10817 finally {
10818
10819 restoreStackSize(stackSize);
10820
10821 }
10822 return ;
10823 }
10824 // $ANTLR end "rule__DefaultDefinition__Group__3"
10825
10826
10827 // $ANTLR start "rule__DefaultDefinition__Group__3__Impl"
10828 // InternalSolverLanguage.g:3036:1: rule__DefaultDefinition__Group__3__Impl : ( ( rule__DefaultDefinition__RangeAssignment_3 ) ) ;
10829 public final void rule__DefaultDefinition__Group__3__Impl() throws RecognitionException {
10830
10831 int stackSize = keepStackSize();
10832
10833 try {
10834 // InternalSolverLanguage.g:3040:1: ( ( ( rule__DefaultDefinition__RangeAssignment_3 ) ) )
10835 // InternalSolverLanguage.g:3041:1: ( ( rule__DefaultDefinition__RangeAssignment_3 ) )
10836 {
10837 // InternalSolverLanguage.g:3041:1: ( ( rule__DefaultDefinition__RangeAssignment_3 ) )
10838 // InternalSolverLanguage.g:3042:2: ( rule__DefaultDefinition__RangeAssignment_3 )
10839 {
10840 if ( state.backtracking==0 ) {
10841 before(grammarAccess.getDefaultDefinitionAccess().getRangeAssignment_3());
10842 }
10843 // InternalSolverLanguage.g:3043:2: ( rule__DefaultDefinition__RangeAssignment_3 )
10844 // InternalSolverLanguage.g:3043:3: rule__DefaultDefinition__RangeAssignment_3
10845 {
7373 pushFollow(FOLLOW_2); 10846 pushFollow(FOLLOW_2);
7374 rule__BasicInterpretation__Group_1_1__1(); 10847 rule__DefaultDefinition__RangeAssignment_3();
7375 10848
7376 state._fsp--; 10849 state._fsp--;
10850 if (state.failed) return ;
10851
10852 }
10853
10854 if ( state.backtracking==0 ) {
10855 after(grammarAccess.getDefaultDefinitionAccess().getRangeAssignment_3());
10856 }
10857
10858 }
7377 10859
7378 10860
7379 } 10861 }
@@ -7390,35 +10872,156 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7390 } 10872 }
7391 return ; 10873 return ;
7392 } 10874 }
7393 // $ANTLR end "rule__BasicInterpretation__Group_1_1__0" 10875 // $ANTLR end "rule__DefaultDefinition__Group__3__Impl"
7394 10876
7395 10877
7396 // $ANTLR start "rule__BasicInterpretation__Group_1_1__0__Impl" 10878 // $ANTLR start "rule__ExternPredicateDefinition__Group__0"
7397 // InternalSolverLanguage.g:2289:1: rule__BasicInterpretation__Group_1_1__0__Impl : ( ( rule__BasicInterpretation__ObjectsAssignment_1_1_0 ) ) ; 10879 // InternalSolverLanguage.g:3052:1: rule__ExternPredicateDefinition__Group__0 : rule__ExternPredicateDefinition__Group__0__Impl rule__ExternPredicateDefinition__Group__1 ;
7398 public final void rule__BasicInterpretation__Group_1_1__0__Impl() throws RecognitionException { 10880 public final void rule__ExternPredicateDefinition__Group__0() throws RecognitionException {
7399 10881
7400 int stackSize = keepStackSize(); 10882 int stackSize = keepStackSize();
7401 10883
7402 try { 10884 try {
7403 // InternalSolverLanguage.g:2293:1: ( ( ( rule__BasicInterpretation__ObjectsAssignment_1_1_0 ) ) ) 10885 // InternalSolverLanguage.g:3056:1: ( rule__ExternPredicateDefinition__Group__0__Impl rule__ExternPredicateDefinition__Group__1 )
7404 // InternalSolverLanguage.g:2294:1: ( ( rule__BasicInterpretation__ObjectsAssignment_1_1_0 ) ) 10886 // InternalSolverLanguage.g:3057:2: rule__ExternPredicateDefinition__Group__0__Impl rule__ExternPredicateDefinition__Group__1
7405 { 10887 {
7406 // InternalSolverLanguage.g:2294:1: ( ( rule__BasicInterpretation__ObjectsAssignment_1_1_0 ) ) 10888 pushFollow(FOLLOW_9);
7407 // InternalSolverLanguage.g:2295:2: ( rule__BasicInterpretation__ObjectsAssignment_1_1_0 ) 10889 rule__ExternPredicateDefinition__Group__0__Impl();
10890
10891 state._fsp--;
10892 if (state.failed) return ;
10893 pushFollow(FOLLOW_2);
10894 rule__ExternPredicateDefinition__Group__1();
10895
10896 state._fsp--;
10897 if (state.failed) return ;
10898
10899 }
10900
10901 }
10902 catch (RecognitionException re) {
10903 reportError(re);
10904 recover(input,re);
10905 }
10906 finally {
10907
10908 restoreStackSize(stackSize);
10909
10910 }
10911 return ;
10912 }
10913 // $ANTLR end "rule__ExternPredicateDefinition__Group__0"
10914
10915
10916 // $ANTLR start "rule__ExternPredicateDefinition__Group__0__Impl"
10917 // InternalSolverLanguage.g:3064:1: rule__ExternPredicateDefinition__Group__0__Impl : ( 'extern' ) ;
10918 public final void rule__ExternPredicateDefinition__Group__0__Impl() throws RecognitionException {
10919
10920 int stackSize = keepStackSize();
10921
10922 try {
10923 // InternalSolverLanguage.g:3068:1: ( ( 'extern' ) )
10924 // InternalSolverLanguage.g:3069:1: ( 'extern' )
7408 { 10925 {
7409 before(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_0()); 10926 // InternalSolverLanguage.g:3069:1: ( 'extern' )
7410 // InternalSolverLanguage.g:2296:2: ( rule__BasicInterpretation__ObjectsAssignment_1_1_0 ) 10927 // InternalSolverLanguage.g:3070:2: 'extern'
7411 // InternalSolverLanguage.g:2296:3: rule__BasicInterpretation__ObjectsAssignment_1_1_0
7412 { 10928 {
10929 if ( state.backtracking==0 ) {
10930 before(grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0());
10931 }
10932 match(input,49,FOLLOW_2); if (state.failed) return ;
10933 if ( state.backtracking==0 ) {
10934 after(grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0());
10935 }
10936
10937 }
10938
10939
10940 }
10941
10942 }
10943 catch (RecognitionException re) {
10944 reportError(re);
10945 recover(input,re);
10946 }
10947 finally {
10948
10949 restoreStackSize(stackSize);
10950
10951 }
10952 return ;
10953 }
10954 // $ANTLR end "rule__ExternPredicateDefinition__Group__0__Impl"
10955
10956
10957 // $ANTLR start "rule__ExternPredicateDefinition__Group__1"
10958 // InternalSolverLanguage.g:3079:1: rule__ExternPredicateDefinition__Group__1 : rule__ExternPredicateDefinition__Group__1__Impl rule__ExternPredicateDefinition__Group__2 ;
10959 public final void rule__ExternPredicateDefinition__Group__1() throws RecognitionException {
10960
10961 int stackSize = keepStackSize();
10962
10963 try {
10964 // InternalSolverLanguage.g:3083:1: ( rule__ExternPredicateDefinition__Group__1__Impl rule__ExternPredicateDefinition__Group__2 )
10965 // InternalSolverLanguage.g:3084:2: rule__ExternPredicateDefinition__Group__1__Impl rule__ExternPredicateDefinition__Group__2
10966 {
10967 pushFollow(FOLLOW_13);
10968 rule__ExternPredicateDefinition__Group__1__Impl();
10969
10970 state._fsp--;
10971 if (state.failed) return ;
7413 pushFollow(FOLLOW_2); 10972 pushFollow(FOLLOW_2);
7414 rule__BasicInterpretation__ObjectsAssignment_1_1_0(); 10973 rule__ExternPredicateDefinition__Group__2();
7415 10974
7416 state._fsp--; 10975 state._fsp--;
10976 if (state.failed) return ;
7417 10977
10978 }
10979
10980 }
10981 catch (RecognitionException re) {
10982 reportError(re);
10983 recover(input,re);
10984 }
10985 finally {
7418 10986
10987 restoreStackSize(stackSize);
10988
10989 }
10990 return ;
10991 }
10992 // $ANTLR end "rule__ExternPredicateDefinition__Group__1"
10993
10994
10995 // $ANTLR start "rule__ExternPredicateDefinition__Group__1__Impl"
10996 // InternalSolverLanguage.g:3091:1: rule__ExternPredicateDefinition__Group__1__Impl : ( ( rule__ExternPredicateDefinition__HeadAssignment_1 ) ) ;
10997 public final void rule__ExternPredicateDefinition__Group__1__Impl() throws RecognitionException {
10998
10999 int stackSize = keepStackSize();
11000
11001 try {
11002 // InternalSolverLanguage.g:3095:1: ( ( ( rule__ExternPredicateDefinition__HeadAssignment_1 ) ) )
11003 // InternalSolverLanguage.g:3096:1: ( ( rule__ExternPredicateDefinition__HeadAssignment_1 ) )
11004 {
11005 // InternalSolverLanguage.g:3096:1: ( ( rule__ExternPredicateDefinition__HeadAssignment_1 ) )
11006 // InternalSolverLanguage.g:3097:2: ( rule__ExternPredicateDefinition__HeadAssignment_1 )
11007 {
11008 if ( state.backtracking==0 ) {
11009 before(grammarAccess.getExternPredicateDefinitionAccess().getHeadAssignment_1());
7419 } 11010 }
11011 // InternalSolverLanguage.g:3098:2: ( rule__ExternPredicateDefinition__HeadAssignment_1 )
11012 // InternalSolverLanguage.g:3098:3: rule__ExternPredicateDefinition__HeadAssignment_1
11013 {
11014 pushFollow(FOLLOW_2);
11015 rule__ExternPredicateDefinition__HeadAssignment_1();
7420 11016
7421 after(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_0()); 11017 state._fsp--;
11018 if (state.failed) return ;
11019
11020 }
11021
11022 if ( state.backtracking==0 ) {
11023 after(grammarAccess.getExternPredicateDefinitionAccess().getHeadAssignment_1());
11024 }
7422 11025
7423 } 11026 }
7424 11027
@@ -7437,24 +11040,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7437 } 11040 }
7438 return ; 11041 return ;
7439 } 11042 }
7440 // $ANTLR end "rule__BasicInterpretation__Group_1_1__0__Impl" 11043 // $ANTLR end "rule__ExternPredicateDefinition__Group__1__Impl"
7441 11044
7442 11045
7443 // $ANTLR start "rule__BasicInterpretation__Group_1_1__1" 11046 // $ANTLR start "rule__ExternPredicateDefinition__Group__2"
7444 // InternalSolverLanguage.g:2304:1: rule__BasicInterpretation__Group_1_1__1 : rule__BasicInterpretation__Group_1_1__1__Impl ; 11047 // InternalSolverLanguage.g:3106:1: rule__ExternPredicateDefinition__Group__2 : rule__ExternPredicateDefinition__Group__2__Impl ;
7445 public final void rule__BasicInterpretation__Group_1_1__1() throws RecognitionException { 11048 public final void rule__ExternPredicateDefinition__Group__2() throws RecognitionException {
7446 11049
7447 int stackSize = keepStackSize(); 11050 int stackSize = keepStackSize();
7448 11051
7449 try { 11052 try {
7450 // InternalSolverLanguage.g:2308:1: ( rule__BasicInterpretation__Group_1_1__1__Impl ) 11053 // InternalSolverLanguage.g:3110:1: ( rule__ExternPredicateDefinition__Group__2__Impl )
7451 // InternalSolverLanguage.g:2309:2: rule__BasicInterpretation__Group_1_1__1__Impl 11054 // InternalSolverLanguage.g:3111:2: rule__ExternPredicateDefinition__Group__2__Impl
7452 { 11055 {
7453 pushFollow(FOLLOW_2); 11056 pushFollow(FOLLOW_2);
7454 rule__BasicInterpretation__Group_1_1__1__Impl(); 11057 rule__ExternPredicateDefinition__Group__2__Impl();
7455 11058
7456 state._fsp--; 11059 state._fsp--;
7457 11060 if (state.failed) return ;
7458 11061
7459 } 11062 }
7460 11063
@@ -7470,53 +11073,118 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7470 } 11073 }
7471 return ; 11074 return ;
7472 } 11075 }
7473 // $ANTLR end "rule__BasicInterpretation__Group_1_1__1" 11076 // $ANTLR end "rule__ExternPredicateDefinition__Group__2"
7474 11077
7475 11078
7476 // $ANTLR start "rule__BasicInterpretation__Group_1_1__1__Impl" 11079 // $ANTLR start "rule__ExternPredicateDefinition__Group__2__Impl"
7477 // InternalSolverLanguage.g:2315:1: rule__BasicInterpretation__Group_1_1__1__Impl : ( ( rule__BasicInterpretation__Group_1_1_1__0 )* ) ; 11080 // InternalSolverLanguage.g:3117:1: rule__ExternPredicateDefinition__Group__2__Impl : ( '.' ) ;
7478 public final void rule__BasicInterpretation__Group_1_1__1__Impl() throws RecognitionException { 11081 public final void rule__ExternPredicateDefinition__Group__2__Impl() throws RecognitionException {
7479 11082
7480 int stackSize = keepStackSize(); 11083 int stackSize = keepStackSize();
7481 11084
7482 try { 11085 try {
7483 // InternalSolverLanguage.g:2319:1: ( ( ( rule__BasicInterpretation__Group_1_1_1__0 )* ) ) 11086 // InternalSolverLanguage.g:3121:1: ( ( '.' ) )
7484 // InternalSolverLanguage.g:2320:1: ( ( rule__BasicInterpretation__Group_1_1_1__0 )* ) 11087 // InternalSolverLanguage.g:3122:1: ( '.' )
7485 { 11088 {
7486 // InternalSolverLanguage.g:2320:1: ( ( rule__BasicInterpretation__Group_1_1_1__0 )* ) 11089 // InternalSolverLanguage.g:3122:1: ( '.' )
7487 // InternalSolverLanguage.g:2321:2: ( rule__BasicInterpretation__Group_1_1_1__0 )* 11090 // InternalSolverLanguage.g:3123:2: '.'
7488 { 11091 {
7489 before(grammarAccess.getBasicInterpretationAccess().getGroup_1_1_1()); 11092 if ( state.backtracking==0 ) {
7490 // InternalSolverLanguage.g:2322:2: ( rule__BasicInterpretation__Group_1_1_1__0 )* 11093 before(grammarAccess.getExternPredicateDefinitionAccess().getFullStopKeyword_2());
7491 loop25: 11094 }
7492 do { 11095 match(input,50,FOLLOW_2); if (state.failed) return ;
7493 int alt25=2; 11096 if ( state.backtracking==0 ) {
7494 int LA25_0 = input.LA(1); 11097 after(grammarAccess.getExternPredicateDefinitionAccess().getFullStopKeyword_2());
11098 }
7495 11099
7496 if ( (LA25_0==20) ) { 11100 }
7497 alt25=1;
7498 }
7499 11101
7500 11102
7501 switch (alt25) { 11103 }
7502 case 1 :
7503 // InternalSolverLanguage.g:2322:3: rule__BasicInterpretation__Group_1_1_1__0
7504 {
7505 pushFollow(FOLLOW_15);
7506 rule__BasicInterpretation__Group_1_1_1__0();
7507 11104
7508 state._fsp--; 11105 }
11106 catch (RecognitionException re) {
11107 reportError(re);
11108 recover(input,re);
11109 }
11110 finally {
7509 11111
11112 restoreStackSize(stackSize);
7510 11113
7511 } 11114 }
7512 break; 11115 return ;
11116 }
11117 // $ANTLR end "rule__ExternPredicateDefinition__Group__2__Impl"
7513 11118
7514 default :
7515 break loop25;
7516 }
7517 } while (true);
7518 11119
7519 after(grammarAccess.getBasicInterpretationAccess().getGroup_1_1_1()); 11120 // $ANTLR start "rule__MetricDefinition__Group__0"
11121 // InternalSolverLanguage.g:3133:1: rule__MetricDefinition__Group__0 : rule__MetricDefinition__Group__0__Impl rule__MetricDefinition__Group__1 ;
11122 public final void rule__MetricDefinition__Group__0() throws RecognitionException {
11123
11124 int stackSize = keepStackSize();
11125
11126 try {
11127 // InternalSolverLanguage.g:3137:1: ( rule__MetricDefinition__Group__0__Impl rule__MetricDefinition__Group__1 )
11128 // InternalSolverLanguage.g:3138:2: rule__MetricDefinition__Group__0__Impl rule__MetricDefinition__Group__1
11129 {
11130 pushFollow(FOLLOW_7);
11131 rule__MetricDefinition__Group__0__Impl();
11132
11133 state._fsp--;
11134 if (state.failed) return ;
11135 pushFollow(FOLLOW_2);
11136 rule__MetricDefinition__Group__1();
11137
11138 state._fsp--;
11139 if (state.failed) return ;
11140
11141 }
11142
11143 }
11144 catch (RecognitionException re) {
11145 reportError(re);
11146 recover(input,re);
11147 }
11148 finally {
11149
11150 restoreStackSize(stackSize);
11151
11152 }
11153 return ;
11154 }
11155 // $ANTLR end "rule__MetricDefinition__Group__0"
11156
11157
11158 // $ANTLR start "rule__MetricDefinition__Group__0__Impl"
11159 // InternalSolverLanguage.g:3145:1: rule__MetricDefinition__Group__0__Impl : ( ( rule__MetricDefinition__TypeAssignment_0 ) ) ;
11160 public final void rule__MetricDefinition__Group__0__Impl() throws RecognitionException {
11161
11162 int stackSize = keepStackSize();
11163
11164 try {
11165 // InternalSolverLanguage.g:3149:1: ( ( ( rule__MetricDefinition__TypeAssignment_0 ) ) )
11166 // InternalSolverLanguage.g:3150:1: ( ( rule__MetricDefinition__TypeAssignment_0 ) )
11167 {
11168 // InternalSolverLanguage.g:3150:1: ( ( rule__MetricDefinition__TypeAssignment_0 ) )
11169 // InternalSolverLanguage.g:3151:2: ( rule__MetricDefinition__TypeAssignment_0 )
11170 {
11171 if ( state.backtracking==0 ) {
11172 before(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0());
11173 }
11174 // InternalSolverLanguage.g:3152:2: ( rule__MetricDefinition__TypeAssignment_0 )
11175 // InternalSolverLanguage.g:3152:3: rule__MetricDefinition__TypeAssignment_0
11176 {
11177 pushFollow(FOLLOW_2);
11178 rule__MetricDefinition__TypeAssignment_0();
11179
11180 state._fsp--;
11181 if (state.failed) return ;
11182
11183 }
11184
11185 if ( state.backtracking==0 ) {
11186 after(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0());
11187 }
7520 11188
7521 } 11189 }
7522 11190
@@ -7535,29 +11203,118 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7535 } 11203 }
7536 return ; 11204 return ;
7537 } 11205 }
7538 // $ANTLR end "rule__BasicInterpretation__Group_1_1__1__Impl" 11206 // $ANTLR end "rule__MetricDefinition__Group__0__Impl"
7539 11207
7540 11208
7541 // $ANTLR start "rule__BasicInterpretation__Group_1_1_1__0" 11209 // $ANTLR start "rule__MetricDefinition__Group__1"
7542 // InternalSolverLanguage.g:2331:1: rule__BasicInterpretation__Group_1_1_1__0 : rule__BasicInterpretation__Group_1_1_1__0__Impl rule__BasicInterpretation__Group_1_1_1__1 ; 11210 // InternalSolverLanguage.g:3160:1: rule__MetricDefinition__Group__1 : rule__MetricDefinition__Group__1__Impl rule__MetricDefinition__Group__2 ;
7543 public final void rule__BasicInterpretation__Group_1_1_1__0() throws RecognitionException { 11211 public final void rule__MetricDefinition__Group__1() throws RecognitionException {
7544 11212
7545 int stackSize = keepStackSize(); 11213 int stackSize = keepStackSize();
7546 11214
7547 try { 11215 try {
7548 // InternalSolverLanguage.g:2335:1: ( rule__BasicInterpretation__Group_1_1_1__0__Impl rule__BasicInterpretation__Group_1_1_1__1 ) 11216 // InternalSolverLanguage.g:3164:1: ( rule__MetricDefinition__Group__1__Impl rule__MetricDefinition__Group__2 )
7549 // InternalSolverLanguage.g:2336:2: rule__BasicInterpretation__Group_1_1_1__0__Impl rule__BasicInterpretation__Group_1_1_1__1 11217 // InternalSolverLanguage.g:3165:2: rule__MetricDefinition__Group__1__Impl rule__MetricDefinition__Group__2
7550 { 11218 {
7551 pushFollow(FOLLOW_16); 11219 pushFollow(FOLLOW_14);
7552 rule__BasicInterpretation__Group_1_1_1__0__Impl(); 11220 rule__MetricDefinition__Group__1__Impl();
11221
11222 state._fsp--;
11223 if (state.failed) return ;
11224 pushFollow(FOLLOW_2);
11225 rule__MetricDefinition__Group__2();
7553 11226
7554 state._fsp--; 11227 state._fsp--;
11228 if (state.failed) return ;
11229
11230 }
11231
11232 }
11233 catch (RecognitionException re) {
11234 reportError(re);
11235 recover(input,re);
11236 }
11237 finally {
11238
11239 restoreStackSize(stackSize);
11240
11241 }
11242 return ;
11243 }
11244 // $ANTLR end "rule__MetricDefinition__Group__1"
11245
11246
11247 // $ANTLR start "rule__MetricDefinition__Group__1__Impl"
11248 // InternalSolverLanguage.g:3172:1: rule__MetricDefinition__Group__1__Impl : ( ( rule__MetricDefinition__HeadAssignment_1 ) ) ;
11249 public final void rule__MetricDefinition__Group__1__Impl() throws RecognitionException {
7555 11250
11251 int stackSize = keepStackSize();
11252
11253 try {
11254 // InternalSolverLanguage.g:3176:1: ( ( ( rule__MetricDefinition__HeadAssignment_1 ) ) )
11255 // InternalSolverLanguage.g:3177:1: ( ( rule__MetricDefinition__HeadAssignment_1 ) )
11256 {
11257 // InternalSolverLanguage.g:3177:1: ( ( rule__MetricDefinition__HeadAssignment_1 ) )
11258 // InternalSolverLanguage.g:3178:2: ( rule__MetricDefinition__HeadAssignment_1 )
11259 {
11260 if ( state.backtracking==0 ) {
11261 before(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1());
11262 }
11263 // InternalSolverLanguage.g:3179:2: ( rule__MetricDefinition__HeadAssignment_1 )
11264 // InternalSolverLanguage.g:3179:3: rule__MetricDefinition__HeadAssignment_1
11265 {
7556 pushFollow(FOLLOW_2); 11266 pushFollow(FOLLOW_2);
7557 rule__BasicInterpretation__Group_1_1_1__1(); 11267 rule__MetricDefinition__HeadAssignment_1();
11268
11269 state._fsp--;
11270 if (state.failed) return ;
11271
11272 }
11273
11274 if ( state.backtracking==0 ) {
11275 after(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1());
11276 }
11277
11278 }
11279
11280
11281 }
11282
11283 }
11284 catch (RecognitionException re) {
11285 reportError(re);
11286 recover(input,re);
11287 }
11288 finally {
11289
11290 restoreStackSize(stackSize);
11291
11292 }
11293 return ;
11294 }
11295 // $ANTLR end "rule__MetricDefinition__Group__1__Impl"
11296
11297
11298 // $ANTLR start "rule__MetricDefinition__Group__2"
11299 // InternalSolverLanguage.g:3187:1: rule__MetricDefinition__Group__2 : rule__MetricDefinition__Group__2__Impl rule__MetricDefinition__Group__3 ;
11300 public final void rule__MetricDefinition__Group__2() throws RecognitionException {
11301
11302 int stackSize = keepStackSize();
11303
11304 try {
11305 // InternalSolverLanguage.g:3191:1: ( rule__MetricDefinition__Group__2__Impl rule__MetricDefinition__Group__3 )
11306 // InternalSolverLanguage.g:3192:2: rule__MetricDefinition__Group__2__Impl rule__MetricDefinition__Group__3
11307 {
11308 pushFollow(FOLLOW_7);
11309 rule__MetricDefinition__Group__2__Impl();
7558 11310
7559 state._fsp--; 11311 state._fsp--;
11312 if (state.failed) return ;
11313 pushFollow(FOLLOW_2);
11314 rule__MetricDefinition__Group__3();
7560 11315
11316 state._fsp--;
11317 if (state.failed) return ;
7561 11318
7562 } 11319 }
7563 11320
@@ -7573,25 +11330,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7573 } 11330 }
7574 return ; 11331 return ;
7575 } 11332 }
7576 // $ANTLR end "rule__BasicInterpretation__Group_1_1_1__0" 11333 // $ANTLR end "rule__MetricDefinition__Group__2"
7577 11334
7578 11335
7579 // $ANTLR start "rule__BasicInterpretation__Group_1_1_1__0__Impl" 11336 // $ANTLR start "rule__MetricDefinition__Group__2__Impl"
7580 // InternalSolverLanguage.g:2343:1: rule__BasicInterpretation__Group_1_1_1__0__Impl : ( ',' ) ; 11337 // InternalSolverLanguage.g:3199:1: rule__MetricDefinition__Group__2__Impl : ( '=' ) ;
7581 public final void rule__BasicInterpretation__Group_1_1_1__0__Impl() throws RecognitionException { 11338 public final void rule__MetricDefinition__Group__2__Impl() throws RecognitionException {
7582 11339
7583 int stackSize = keepStackSize(); 11340 int stackSize = keepStackSize();
7584 11341
7585 try { 11342 try {
7586 // InternalSolverLanguage.g:2347:1: ( ( ',' ) ) 11343 // InternalSolverLanguage.g:3203:1: ( ( '=' ) )
7587 // InternalSolverLanguage.g:2348:1: ( ',' ) 11344 // InternalSolverLanguage.g:3204:1: ( '=' )
7588 { 11345 {
7589 // InternalSolverLanguage.g:2348:1: ( ',' ) 11346 // InternalSolverLanguage.g:3204:1: ( '=' )
7590 // InternalSolverLanguage.g:2349:2: ',' 11347 // InternalSolverLanguage.g:3205:2: '='
7591 { 11348 {
7592 before(grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0()); 11349 if ( state.backtracking==0 ) {
7593 match(input,20,FOLLOW_2); 11350 before(grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2());
7594 after(grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0()); 11351 }
11352 match(input,47,FOLLOW_2); if (state.failed) return ;
11353 if ( state.backtracking==0 ) {
11354 after(grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2());
11355 }
7595 11356
7596 } 11357 }
7597 11358
@@ -7610,24 +11371,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7610 } 11371 }
7611 return ; 11372 return ;
7612 } 11373 }
7613 // $ANTLR end "rule__BasicInterpretation__Group_1_1_1__0__Impl" 11374 // $ANTLR end "rule__MetricDefinition__Group__2__Impl"
7614 11375
7615 11376
7616 // $ANTLR start "rule__BasicInterpretation__Group_1_1_1__1" 11377 // $ANTLR start "rule__MetricDefinition__Group__3"
7617 // InternalSolverLanguage.g:2358:1: rule__BasicInterpretation__Group_1_1_1__1 : rule__BasicInterpretation__Group_1_1_1__1__Impl ; 11378 // InternalSolverLanguage.g:3214:1: rule__MetricDefinition__Group__3 : rule__MetricDefinition__Group__3__Impl ;
7618 public final void rule__BasicInterpretation__Group_1_1_1__1() throws RecognitionException { 11379 public final void rule__MetricDefinition__Group__3() throws RecognitionException {
7619 11380
7620 int stackSize = keepStackSize(); 11381 int stackSize = keepStackSize();
7621 11382
7622 try { 11383 try {
7623 // InternalSolverLanguage.g:2362:1: ( rule__BasicInterpretation__Group_1_1_1__1__Impl ) 11384 // InternalSolverLanguage.g:3218:1: ( rule__MetricDefinition__Group__3__Impl )
7624 // InternalSolverLanguage.g:2363:2: rule__BasicInterpretation__Group_1_1_1__1__Impl 11385 // InternalSolverLanguage.g:3219:2: rule__MetricDefinition__Group__3__Impl
7625 { 11386 {
7626 pushFollow(FOLLOW_2); 11387 pushFollow(FOLLOW_2);
7627 rule__BasicInterpretation__Group_1_1_1__1__Impl(); 11388 rule__MetricDefinition__Group__3__Impl();
7628 11389
7629 state._fsp--; 11390 state._fsp--;
7630 11391 if (state.failed) return ;
7631 11392
7632 } 11393 }
7633 11394
@@ -7643,35 +11404,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7643 } 11404 }
7644 return ; 11405 return ;
7645 } 11406 }
7646 // $ANTLR end "rule__BasicInterpretation__Group_1_1_1__1" 11407 // $ANTLR end "rule__MetricDefinition__Group__3"
7647 11408
7648 11409
7649 // $ANTLR start "rule__BasicInterpretation__Group_1_1_1__1__Impl" 11410 // $ANTLR start "rule__MetricDefinition__Group__3__Impl"
7650 // InternalSolverLanguage.g:2369:1: rule__BasicInterpretation__Group_1_1_1__1__Impl : ( ( rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 ) ) ; 11411 // InternalSolverLanguage.g:3225:1: rule__MetricDefinition__Group__3__Impl : ( ( rule__MetricDefinition__BodyAssignment_3 ) ) ;
7651 public final void rule__BasicInterpretation__Group_1_1_1__1__Impl() throws RecognitionException { 11412 public final void rule__MetricDefinition__Group__3__Impl() throws RecognitionException {
7652 11413
7653 int stackSize = keepStackSize(); 11414 int stackSize = keepStackSize();
7654 11415
7655 try { 11416 try {
7656 // InternalSolverLanguage.g:2373:1: ( ( ( rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 ) ) ) 11417 // InternalSolverLanguage.g:3229:1: ( ( ( rule__MetricDefinition__BodyAssignment_3 ) ) )
7657 // InternalSolverLanguage.g:2374:1: ( ( rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 ) ) 11418 // InternalSolverLanguage.g:3230:1: ( ( rule__MetricDefinition__BodyAssignment_3 ) )
7658 { 11419 {
7659 // InternalSolverLanguage.g:2374:1: ( ( rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 ) ) 11420 // InternalSolverLanguage.g:3230:1: ( ( rule__MetricDefinition__BodyAssignment_3 ) )
7660 // InternalSolverLanguage.g:2375:2: ( rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 ) 11421 // InternalSolverLanguage.g:3231:2: ( rule__MetricDefinition__BodyAssignment_3 )
7661 { 11422 {
7662 before(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_1_1()); 11423 if ( state.backtracking==0 ) {
7663 // InternalSolverLanguage.g:2376:2: ( rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 ) 11424 before(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3());
7664 // InternalSolverLanguage.g:2376:3: rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 11425 }
11426 // InternalSolverLanguage.g:3232:2: ( rule__MetricDefinition__BodyAssignment_3 )
11427 // InternalSolverLanguage.g:3232:3: rule__MetricDefinition__BodyAssignment_3
7665 { 11428 {
7666 pushFollow(FOLLOW_2); 11429 pushFollow(FOLLOW_2);
7667 rule__BasicInterpretation__ObjectsAssignment_1_1_1_1(); 11430 rule__MetricDefinition__BodyAssignment_3();
7668 11431
7669 state._fsp--; 11432 state._fsp--;
7670 11433 if (state.failed) return ;
7671 11434
7672 } 11435 }
7673 11436
7674 after(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_1_1()); 11437 if ( state.backtracking==0 ) {
11438 after(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3());
11439 }
7675 11440
7676 } 11441 }
7677 11442
@@ -7690,29 +11455,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7690 } 11455 }
7691 return ; 11456 return ;
7692 } 11457 }
7693 // $ANTLR end "rule__BasicInterpretation__Group_1_1_1__1__Impl" 11458 // $ANTLR end "rule__MetricDefinition__Group__3__Impl"
7694 11459
7695 11460
7696 // $ANTLR start "rule__ExistSymbol__Group__0" 11461 // $ANTLR start "rule__ExternMetricDefinition__Group__0"
7697 // InternalSolverLanguage.g:2385:1: rule__ExistSymbol__Group__0 : rule__ExistSymbol__Group__0__Impl rule__ExistSymbol__Group__1 ; 11462 // InternalSolverLanguage.g:3241:1: rule__ExternMetricDefinition__Group__0 : rule__ExternMetricDefinition__Group__0__Impl rule__ExternMetricDefinition__Group__1 ;
7698 public final void rule__ExistSymbol__Group__0() throws RecognitionException { 11463 public final void rule__ExternMetricDefinition__Group__0() throws RecognitionException {
7699 11464
7700 int stackSize = keepStackSize(); 11465 int stackSize = keepStackSize();
7701 11466
7702 try { 11467 try {
7703 // InternalSolverLanguage.g:2389:1: ( rule__ExistSymbol__Group__0__Impl rule__ExistSymbol__Group__1 ) 11468 // InternalSolverLanguage.g:3245:1: ( rule__ExternMetricDefinition__Group__0__Impl rule__ExternMetricDefinition__Group__1 )
7704 // InternalSolverLanguage.g:2390:2: rule__ExistSymbol__Group__0__Impl rule__ExistSymbol__Group__1 11469 // InternalSolverLanguage.g:3246:2: rule__ExternMetricDefinition__Group__0__Impl rule__ExternMetricDefinition__Group__1
7705 { 11470 {
7706 pushFollow(FOLLOW_1); 11471 pushFollow(FOLLOW_15);
7707 rule__ExistSymbol__Group__0__Impl(); 11472 rule__ExternMetricDefinition__Group__0__Impl();
7708 11473
7709 state._fsp--; 11474 state._fsp--;
7710 11475 if (state.failed) return ;
7711 pushFollow(FOLLOW_2); 11476 pushFollow(FOLLOW_2);
7712 rule__ExistSymbol__Group__1(); 11477 rule__ExternMetricDefinition__Group__1();
7713 11478
7714 state._fsp--; 11479 state._fsp--;
7715 11480 if (state.failed) return ;
7716 11481
7717 } 11482 }
7718 11483
@@ -7728,25 +11493,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7728 } 11493 }
7729 return ; 11494 return ;
7730 } 11495 }
7731 // $ANTLR end "rule__ExistSymbol__Group__0" 11496 // $ANTLR end "rule__ExternMetricDefinition__Group__0"
7732 11497
7733 11498
7734 // $ANTLR start "rule__ExistSymbol__Group__0__Impl" 11499 // $ANTLR start "rule__ExternMetricDefinition__Group__0__Impl"
7735 // InternalSolverLanguage.g:2397:1: rule__ExistSymbol__Group__0__Impl : ( 'exists' ) ; 11500 // InternalSolverLanguage.g:3253:1: rule__ExternMetricDefinition__Group__0__Impl : ( 'extern' ) ;
7736 public final void rule__ExistSymbol__Group__0__Impl() throws RecognitionException { 11501 public final void rule__ExternMetricDefinition__Group__0__Impl() throws RecognitionException {
7737 11502
7738 int stackSize = keepStackSize(); 11503 int stackSize = keepStackSize();
7739 11504
7740 try { 11505 try {
7741 // InternalSolverLanguage.g:2401:1: ( ( 'exists' ) ) 11506 // InternalSolverLanguage.g:3257:1: ( ( 'extern' ) )
7742 // InternalSolverLanguage.g:2402:1: ( 'exists' ) 11507 // InternalSolverLanguage.g:3258:1: ( 'extern' )
7743 { 11508 {
7744 // InternalSolverLanguage.g:2402:1: ( 'exists' ) 11509 // InternalSolverLanguage.g:3258:1: ( 'extern' )
7745 // InternalSolverLanguage.g:2403:2: 'exists' 11510 // InternalSolverLanguage.g:3259:2: 'extern'
7746 { 11511 {
7747 before(grammarAccess.getExistSymbolAccess().getExistsKeyword_0()); 11512 if ( state.backtracking==0 ) {
7748 match(input,21,FOLLOW_2); 11513 before(grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0());
7749 after(grammarAccess.getExistSymbolAccess().getExistsKeyword_0()); 11514 }
11515 match(input,49,FOLLOW_2); if (state.failed) return ;
11516 if ( state.backtracking==0 ) {
11517 after(grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0());
11518 }
7750 11519
7751 } 11520 }
7752 11521
@@ -7765,24 +11534,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7765 } 11534 }
7766 return ; 11535 return ;
7767 } 11536 }
7768 // $ANTLR end "rule__ExistSymbol__Group__0__Impl" 11537 // $ANTLR end "rule__ExternMetricDefinition__Group__0__Impl"
7769 11538
7770 11539
7771 // $ANTLR start "rule__ExistSymbol__Group__1" 11540 // $ANTLR start "rule__ExternMetricDefinition__Group__1"
7772 // InternalSolverLanguage.g:2412:1: rule__ExistSymbol__Group__1 : rule__ExistSymbol__Group__1__Impl ; 11541 // InternalSolverLanguage.g:3268:1: rule__ExternMetricDefinition__Group__1 : rule__ExternMetricDefinition__Group__1__Impl rule__ExternMetricDefinition__Group__2 ;
7773 public final void rule__ExistSymbol__Group__1() throws RecognitionException { 11542 public final void rule__ExternMetricDefinition__Group__1() throws RecognitionException {
7774 11543
7775 int stackSize = keepStackSize(); 11544 int stackSize = keepStackSize();
7776 11545
7777 try { 11546 try {
7778 // InternalSolverLanguage.g:2416:1: ( rule__ExistSymbol__Group__1__Impl ) 11547 // InternalSolverLanguage.g:3272:1: ( rule__ExternMetricDefinition__Group__1__Impl rule__ExternMetricDefinition__Group__2 )
7779 // InternalSolverLanguage.g:2417:2: rule__ExistSymbol__Group__1__Impl 11548 // InternalSolverLanguage.g:3273:2: rule__ExternMetricDefinition__Group__1__Impl rule__ExternMetricDefinition__Group__2
7780 { 11549 {
7781 pushFollow(FOLLOW_2); 11550 pushFollow(FOLLOW_9);
7782 rule__ExistSymbol__Group__1__Impl(); 11551 rule__ExternMetricDefinition__Group__1__Impl();
7783 11552
7784 state._fsp--; 11553 state._fsp--;
11554 if (state.failed) return ;
11555 pushFollow(FOLLOW_2);
11556 rule__ExternMetricDefinition__Group__2();
7785 11557
11558 state._fsp--;
11559 if (state.failed) return ;
7786 11560
7787 } 11561 }
7788 11562
@@ -7798,29 +11572,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7798 } 11572 }
7799 return ; 11573 return ;
7800 } 11574 }
7801 // $ANTLR end "rule__ExistSymbol__Group__1" 11575 // $ANTLR end "rule__ExternMetricDefinition__Group__1"
7802 11576
7803 11577
7804 // $ANTLR start "rule__ExistSymbol__Group__1__Impl" 11578 // $ANTLR start "rule__ExternMetricDefinition__Group__1__Impl"
7805 // InternalSolverLanguage.g:2423:1: rule__ExistSymbol__Group__1__Impl : ( () ) ; 11579 // InternalSolverLanguage.g:3280:1: rule__ExternMetricDefinition__Group__1__Impl : ( ( rule__ExternMetricDefinition__TypeAssignment_1 ) ) ;
7806 public final void rule__ExistSymbol__Group__1__Impl() throws RecognitionException { 11580 public final void rule__ExternMetricDefinition__Group__1__Impl() throws RecognitionException {
7807 11581
7808 int stackSize = keepStackSize(); 11582 int stackSize = keepStackSize();
7809 11583
7810 try { 11584 try {
7811 // InternalSolverLanguage.g:2427:1: ( ( () ) ) 11585 // InternalSolverLanguage.g:3284:1: ( ( ( rule__ExternMetricDefinition__TypeAssignment_1 ) ) )
7812 // InternalSolverLanguage.g:2428:1: ( () ) 11586 // InternalSolverLanguage.g:3285:1: ( ( rule__ExternMetricDefinition__TypeAssignment_1 ) )
7813 { 11587 {
7814 // InternalSolverLanguage.g:2428:1: ( () ) 11588 // InternalSolverLanguage.g:3285:1: ( ( rule__ExternMetricDefinition__TypeAssignment_1 ) )
7815 // InternalSolverLanguage.g:2429:2: () 11589 // InternalSolverLanguage.g:3286:2: ( rule__ExternMetricDefinition__TypeAssignment_1 )
7816 { 11590 {
7817 before(grammarAccess.getExistSymbolAccess().getExistSymbolAction_1()); 11591 if ( state.backtracking==0 ) {
7818 // InternalSolverLanguage.g:2430:2: () 11592 before(grammarAccess.getExternMetricDefinitionAccess().getTypeAssignment_1());
7819 // InternalSolverLanguage.g:2430:3: 11593 }
11594 // InternalSolverLanguage.g:3287:2: ( rule__ExternMetricDefinition__TypeAssignment_1 )
11595 // InternalSolverLanguage.g:3287:3: rule__ExternMetricDefinition__TypeAssignment_1
7820 { 11596 {
11597 pushFollow(FOLLOW_2);
11598 rule__ExternMetricDefinition__TypeAssignment_1();
11599
11600 state._fsp--;
11601 if (state.failed) return ;
11602
7821 } 11603 }
7822 11604
7823 after(grammarAccess.getExistSymbolAccess().getExistSymbolAction_1()); 11605 if ( state.backtracking==0 ) {
11606 after(grammarAccess.getExternMetricDefinitionAccess().getTypeAssignment_1());
11607 }
7824 11608
7825 } 11609 }
7826 11610
@@ -7828,6 +11612,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7828 } 11612 }
7829 11613
7830 } 11614 }
11615 catch (RecognitionException re) {
11616 reportError(re);
11617 recover(input,re);
11618 }
7831 finally { 11619 finally {
7832 11620
7833 restoreStackSize(stackSize); 11621 restoreStackSize(stackSize);
@@ -7835,29 +11623,113 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7835 } 11623 }
7836 return ; 11624 return ;
7837 } 11625 }
7838 // $ANTLR end "rule__ExistSymbol__Group__1__Impl" 11626 // $ANTLR end "rule__ExternMetricDefinition__Group__1__Impl"
7839 11627
7840 11628
7841 // $ANTLR start "rule__EqualsSymbol__Group__0" 11629 // $ANTLR start "rule__ExternMetricDefinition__Group__2"
7842 // InternalSolverLanguage.g:2439:1: rule__EqualsSymbol__Group__0 : rule__EqualsSymbol__Group__0__Impl rule__EqualsSymbol__Group__1 ; 11630 // InternalSolverLanguage.g:3295:1: rule__ExternMetricDefinition__Group__2 : rule__ExternMetricDefinition__Group__2__Impl ;
7843 public final void rule__EqualsSymbol__Group__0() throws RecognitionException { 11631 public final void rule__ExternMetricDefinition__Group__2() throws RecognitionException {
7844 11632
7845 int stackSize = keepStackSize(); 11633 int stackSize = keepStackSize();
7846 11634
7847 try { 11635 try {
7848 // InternalSolverLanguage.g:2443:1: ( rule__EqualsSymbol__Group__0__Impl rule__EqualsSymbol__Group__1 ) 11636 // InternalSolverLanguage.g:3299:1: ( rule__ExternMetricDefinition__Group__2__Impl )
7849 // InternalSolverLanguage.g:2444:2: rule__EqualsSymbol__Group__0__Impl rule__EqualsSymbol__Group__1 11637 // InternalSolverLanguage.g:3300:2: rule__ExternMetricDefinition__Group__2__Impl
7850 { 11638 {
7851 pushFollow(FOLLOW_1); 11639 pushFollow(FOLLOW_2);
7852 rule__EqualsSymbol__Group__0__Impl(); 11640 rule__ExternMetricDefinition__Group__2__Impl();
7853 11641
7854 state._fsp--; 11642 state._fsp--;
11643 if (state.failed) return ;
11644
11645 }
11646
11647 }
11648 catch (RecognitionException re) {
11649 reportError(re);
11650 recover(input,re);
11651 }
11652 finally {
11653
11654 restoreStackSize(stackSize);
11655
11656 }
11657 return ;
11658 }
11659 // $ANTLR end "rule__ExternMetricDefinition__Group__2"
7855 11660
11661
11662 // $ANTLR start "rule__ExternMetricDefinition__Group__2__Impl"
11663 // InternalSolverLanguage.g:3306:1: rule__ExternMetricDefinition__Group__2__Impl : ( ( rule__ExternMetricDefinition__HeadAssignment_2 ) ) ;
11664 public final void rule__ExternMetricDefinition__Group__2__Impl() throws RecognitionException {
11665
11666 int stackSize = keepStackSize();
11667
11668 try {
11669 // InternalSolverLanguage.g:3310:1: ( ( ( rule__ExternMetricDefinition__HeadAssignment_2 ) ) )
11670 // InternalSolverLanguage.g:3311:1: ( ( rule__ExternMetricDefinition__HeadAssignment_2 ) )
11671 {
11672 // InternalSolverLanguage.g:3311:1: ( ( rule__ExternMetricDefinition__HeadAssignment_2 ) )
11673 // InternalSolverLanguage.g:3312:2: ( rule__ExternMetricDefinition__HeadAssignment_2 )
11674 {
11675 if ( state.backtracking==0 ) {
11676 before(grammarAccess.getExternMetricDefinitionAccess().getHeadAssignment_2());
11677 }
11678 // InternalSolverLanguage.g:3313:2: ( rule__ExternMetricDefinition__HeadAssignment_2 )
11679 // InternalSolverLanguage.g:3313:3: rule__ExternMetricDefinition__HeadAssignment_2
11680 {
7856 pushFollow(FOLLOW_2); 11681 pushFollow(FOLLOW_2);
7857 rule__EqualsSymbol__Group__1(); 11682 rule__ExternMetricDefinition__HeadAssignment_2();
11683
11684 state._fsp--;
11685 if (state.failed) return ;
11686
11687 }
11688
11689 if ( state.backtracking==0 ) {
11690 after(grammarAccess.getExternMetricDefinitionAccess().getHeadAssignment_2());
11691 }
11692
11693 }
11694
11695
11696 }
11697
11698 }
11699 catch (RecognitionException re) {
11700 reportError(re);
11701 recover(input,re);
11702 }
11703 finally {
11704
11705 restoreStackSize(stackSize);
11706
11707 }
11708 return ;
11709 }
11710 // $ANTLR end "rule__ExternMetricDefinition__Group__2__Impl"
11711
11712
11713 // $ANTLR start "rule__IfElse__Group__0"
11714 // InternalSolverLanguage.g:3322:1: rule__IfElse__Group__0 : rule__IfElse__Group__0__Impl rule__IfElse__Group__1 ;
11715 public final void rule__IfElse__Group__0() throws RecognitionException {
11716
11717 int stackSize = keepStackSize();
11718
11719 try {
11720 // InternalSolverLanguage.g:3326:1: ( rule__IfElse__Group__0__Impl rule__IfElse__Group__1 )
11721 // InternalSolverLanguage.g:3327:2: rule__IfElse__Group__0__Impl rule__IfElse__Group__1
11722 {
11723 pushFollow(FOLLOW_7);
11724 rule__IfElse__Group__0__Impl();
7858 11725
7859 state._fsp--; 11726 state._fsp--;
11727 if (state.failed) return ;
11728 pushFollow(FOLLOW_2);
11729 rule__IfElse__Group__1();
7860 11730
11731 state._fsp--;
11732 if (state.failed) return ;
7861 11733
7862 } 11734 }
7863 11735
@@ -7873,25 +11745,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7873 } 11745 }
7874 return ; 11746 return ;
7875 } 11747 }
7876 // $ANTLR end "rule__EqualsSymbol__Group__0" 11748 // $ANTLR end "rule__IfElse__Group__0"
7877 11749
7878 11750
7879 // $ANTLR start "rule__EqualsSymbol__Group__0__Impl" 11751 // $ANTLR start "rule__IfElse__Group__0__Impl"
7880 // InternalSolverLanguage.g:2451:1: rule__EqualsSymbol__Group__0__Impl : ( 'equals' ) ; 11752 // InternalSolverLanguage.g:3334:1: rule__IfElse__Group__0__Impl : ( 'if' ) ;
7881 public final void rule__EqualsSymbol__Group__0__Impl() throws RecognitionException { 11753 public final void rule__IfElse__Group__0__Impl() throws RecognitionException {
7882 11754
7883 int stackSize = keepStackSize(); 11755 int stackSize = keepStackSize();
7884 11756
7885 try { 11757 try {
7886 // InternalSolverLanguage.g:2455:1: ( ( 'equals' ) ) 11758 // InternalSolverLanguage.g:3338:1: ( ( 'if' ) )
7887 // InternalSolverLanguage.g:2456:1: ( 'equals' ) 11759 // InternalSolverLanguage.g:3339:1: ( 'if' )
7888 { 11760 {
7889 // InternalSolverLanguage.g:2456:1: ( 'equals' ) 11761 // InternalSolverLanguage.g:3339:1: ( 'if' )
7890 // InternalSolverLanguage.g:2457:2: 'equals' 11762 // InternalSolverLanguage.g:3340:2: 'if'
7891 { 11763 {
7892 before(grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0()); 11764 if ( state.backtracking==0 ) {
7893 match(input,22,FOLLOW_2); 11765 before(grammarAccess.getIfElseAccess().getIfKeyword_0());
7894 after(grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0()); 11766 }
11767 match(input,51,FOLLOW_2); if (state.failed) return ;
11768 if ( state.backtracking==0 ) {
11769 after(grammarAccess.getIfElseAccess().getIfKeyword_0());
11770 }
7895 11771
7896 } 11772 }
7897 11773
@@ -7910,24 +11786,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7910 } 11786 }
7911 return ; 11787 return ;
7912 } 11788 }
7913 // $ANTLR end "rule__EqualsSymbol__Group__0__Impl" 11789 // $ANTLR end "rule__IfElse__Group__0__Impl"
7914 11790
7915 11791
7916 // $ANTLR start "rule__EqualsSymbol__Group__1" 11792 // $ANTLR start "rule__IfElse__Group__1"
7917 // InternalSolverLanguage.g:2466:1: rule__EqualsSymbol__Group__1 : rule__EqualsSymbol__Group__1__Impl ; 11793 // InternalSolverLanguage.g:3349:1: rule__IfElse__Group__1 : rule__IfElse__Group__1__Impl rule__IfElse__Group__2 ;
7918 public final void rule__EqualsSymbol__Group__1() throws RecognitionException { 11794 public final void rule__IfElse__Group__1() throws RecognitionException {
7919 11795
7920 int stackSize = keepStackSize(); 11796 int stackSize = keepStackSize();
7921 11797
7922 try { 11798 try {
7923 // InternalSolverLanguage.g:2470:1: ( rule__EqualsSymbol__Group__1__Impl ) 11799 // InternalSolverLanguage.g:3353:1: ( rule__IfElse__Group__1__Impl rule__IfElse__Group__2 )
7924 // InternalSolverLanguage.g:2471:2: rule__EqualsSymbol__Group__1__Impl 11800 // InternalSolverLanguage.g:3354:2: rule__IfElse__Group__1__Impl rule__IfElse__Group__2
7925 { 11801 {
7926 pushFollow(FOLLOW_2); 11802 pushFollow(FOLLOW_16);
7927 rule__EqualsSymbol__Group__1__Impl(); 11803 rule__IfElse__Group__1__Impl();
7928 11804
7929 state._fsp--; 11805 state._fsp--;
11806 if (state.failed) return ;
11807 pushFollow(FOLLOW_2);
11808 rule__IfElse__Group__2();
7930 11809
11810 state._fsp--;
11811 if (state.failed) return ;
7931 11812
7932 } 11813 }
7933 11814
@@ -7943,29 +11824,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7943 } 11824 }
7944 return ; 11825 return ;
7945 } 11826 }
7946 // $ANTLR end "rule__EqualsSymbol__Group__1" 11827 // $ANTLR end "rule__IfElse__Group__1"
7947 11828
7948 11829
7949 // $ANTLR start "rule__EqualsSymbol__Group__1__Impl" 11830 // $ANTLR start "rule__IfElse__Group__1__Impl"
7950 // InternalSolverLanguage.g:2477:1: rule__EqualsSymbol__Group__1__Impl : ( () ) ; 11831 // InternalSolverLanguage.g:3361:1: rule__IfElse__Group__1__Impl : ( ( rule__IfElse__ConditionAssignment_1 ) ) ;
7951 public final void rule__EqualsSymbol__Group__1__Impl() throws RecognitionException { 11832 public final void rule__IfElse__Group__1__Impl() throws RecognitionException {
7952 11833
7953 int stackSize = keepStackSize(); 11834 int stackSize = keepStackSize();
7954 11835
7955 try { 11836 try {
7956 // InternalSolverLanguage.g:2481:1: ( ( () ) ) 11837 // InternalSolverLanguage.g:3365:1: ( ( ( rule__IfElse__ConditionAssignment_1 ) ) )
7957 // InternalSolverLanguage.g:2482:1: ( () ) 11838 // InternalSolverLanguage.g:3366:1: ( ( rule__IfElse__ConditionAssignment_1 ) )
7958 { 11839 {
7959 // InternalSolverLanguage.g:2482:1: ( () ) 11840 // InternalSolverLanguage.g:3366:1: ( ( rule__IfElse__ConditionAssignment_1 ) )
7960 // InternalSolverLanguage.g:2483:2: () 11841 // InternalSolverLanguage.g:3367:2: ( rule__IfElse__ConditionAssignment_1 )
7961 { 11842 {
7962 before(grammarAccess.getEqualsSymbolAccess().getEqualsSymbolAction_1()); 11843 if ( state.backtracking==0 ) {
7963 // InternalSolverLanguage.g:2484:2: () 11844 before(grammarAccess.getIfElseAccess().getConditionAssignment_1());
7964 // InternalSolverLanguage.g:2484:3: 11845 }
11846 // InternalSolverLanguage.g:3368:2: ( rule__IfElse__ConditionAssignment_1 )
11847 // InternalSolverLanguage.g:3368:3: rule__IfElse__ConditionAssignment_1
7965 { 11848 {
11849 pushFollow(FOLLOW_2);
11850 rule__IfElse__ConditionAssignment_1();
11851
11852 state._fsp--;
11853 if (state.failed) return ;
11854
7966 } 11855 }
7967 11856
7968 after(grammarAccess.getEqualsSymbolAccess().getEqualsSymbolAction_1()); 11857 if ( state.backtracking==0 ) {
11858 after(grammarAccess.getIfElseAccess().getConditionAssignment_1());
11859 }
7969 11860
7970 } 11861 }
7971 11862
@@ -7973,6 +11864,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7973 } 11864 }
7974 11865
7975 } 11866 }
11867 catch (RecognitionException re) {
11868 reportError(re);
11869 recover(input,re);
11870 }
7976 finally { 11871 finally {
7977 11872
7978 restoreStackSize(stackSize); 11873 restoreStackSize(stackSize);
@@ -7980,29 +11875,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
7980 } 11875 }
7981 return ; 11876 return ;
7982 } 11877 }
7983 // $ANTLR end "rule__EqualsSymbol__Group__1__Impl" 11878 // $ANTLR end "rule__IfElse__Group__1__Impl"
7984 11879
7985 11880
7986 // $ANTLR start "rule__BooleanSymbol__Group__0" 11881 // $ANTLR start "rule__IfElse__Group__2"
7987 // InternalSolverLanguage.g:2493:1: rule__BooleanSymbol__Group__0 : rule__BooleanSymbol__Group__0__Impl rule__BooleanSymbol__Group__1 ; 11882 // InternalSolverLanguage.g:3376:1: rule__IfElse__Group__2 : rule__IfElse__Group__2__Impl rule__IfElse__Group__3 ;
7988 public final void rule__BooleanSymbol__Group__0() throws RecognitionException { 11883 public final void rule__IfElse__Group__2() throws RecognitionException {
7989 11884
7990 int stackSize = keepStackSize(); 11885 int stackSize = keepStackSize();
7991 11886
7992 try { 11887 try {
7993 // InternalSolverLanguage.g:2497:1: ( rule__BooleanSymbol__Group__0__Impl rule__BooleanSymbol__Group__1 ) 11888 // InternalSolverLanguage.g:3380:1: ( rule__IfElse__Group__2__Impl rule__IfElse__Group__3 )
7994 // InternalSolverLanguage.g:2498:2: rule__BooleanSymbol__Group__0__Impl rule__BooleanSymbol__Group__1 11889 // InternalSolverLanguage.g:3381:2: rule__IfElse__Group__2__Impl rule__IfElse__Group__3
7995 { 11890 {
7996 pushFollow(FOLLOW_1); 11891 pushFollow(FOLLOW_7);
7997 rule__BooleanSymbol__Group__0__Impl(); 11892 rule__IfElse__Group__2__Impl();
7998 11893
7999 state._fsp--; 11894 state._fsp--;
8000 11895 if (state.failed) return ;
8001 pushFollow(FOLLOW_2); 11896 pushFollow(FOLLOW_2);
8002 rule__BooleanSymbol__Group__1(); 11897 rule__IfElse__Group__3();
8003 11898
8004 state._fsp--; 11899 state._fsp--;
8005 11900 if (state.failed) return ;
8006 11901
8007 } 11902 }
8008 11903
@@ -8018,25 +11913,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8018 } 11913 }
8019 return ; 11914 return ;
8020 } 11915 }
8021 // $ANTLR end "rule__BooleanSymbol__Group__0" 11916 // $ANTLR end "rule__IfElse__Group__2"
8022 11917
8023 11918
8024 // $ANTLR start "rule__BooleanSymbol__Group__0__Impl" 11919 // $ANTLR start "rule__IfElse__Group__2__Impl"
8025 // InternalSolverLanguage.g:2505:1: rule__BooleanSymbol__Group__0__Impl : ( 'bool' ) ; 11920 // InternalSolverLanguage.g:3388:1: rule__IfElse__Group__2__Impl : ( 'then' ) ;
8026 public final void rule__BooleanSymbol__Group__0__Impl() throws RecognitionException { 11921 public final void rule__IfElse__Group__2__Impl() throws RecognitionException {
8027 11922
8028 int stackSize = keepStackSize(); 11923 int stackSize = keepStackSize();
8029 11924
8030 try { 11925 try {
8031 // InternalSolverLanguage.g:2509:1: ( ( 'bool' ) ) 11926 // InternalSolverLanguage.g:3392:1: ( ( 'then' ) )
8032 // InternalSolverLanguage.g:2510:1: ( 'bool' ) 11927 // InternalSolverLanguage.g:3393:1: ( 'then' )
8033 { 11928 {
8034 // InternalSolverLanguage.g:2510:1: ( 'bool' ) 11929 // InternalSolverLanguage.g:3393:1: ( 'then' )
8035 // InternalSolverLanguage.g:2511:2: 'bool' 11930 // InternalSolverLanguage.g:3394:2: 'then'
8036 { 11931 {
8037 before(grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0()); 11932 if ( state.backtracking==0 ) {
8038 match(input,23,FOLLOW_2); 11933 before(grammarAccess.getIfElseAccess().getThenKeyword_2());
8039 after(grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0()); 11934 }
11935 match(input,52,FOLLOW_2); if (state.failed) return ;
11936 if ( state.backtracking==0 ) {
11937 after(grammarAccess.getIfElseAccess().getThenKeyword_2());
11938 }
8040 11939
8041 } 11940 }
8042 11941
@@ -8055,24 +11954,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8055 } 11954 }
8056 return ; 11955 return ;
8057 } 11956 }
8058 // $ANTLR end "rule__BooleanSymbol__Group__0__Impl" 11957 // $ANTLR end "rule__IfElse__Group__2__Impl"
8059 11958
8060 11959
8061 // $ANTLR start "rule__BooleanSymbol__Group__1" 11960 // $ANTLR start "rule__IfElse__Group__3"
8062 // InternalSolverLanguage.g:2520:1: rule__BooleanSymbol__Group__1 : rule__BooleanSymbol__Group__1__Impl ; 11961 // InternalSolverLanguage.g:3403:1: rule__IfElse__Group__3 : rule__IfElse__Group__3__Impl rule__IfElse__Group__4 ;
8063 public final void rule__BooleanSymbol__Group__1() throws RecognitionException { 11962 public final void rule__IfElse__Group__3() throws RecognitionException {
8064 11963
8065 int stackSize = keepStackSize(); 11964 int stackSize = keepStackSize();
8066 11965
8067 try { 11966 try {
8068 // InternalSolverLanguage.g:2524:1: ( rule__BooleanSymbol__Group__1__Impl ) 11967 // InternalSolverLanguage.g:3407:1: ( rule__IfElse__Group__3__Impl rule__IfElse__Group__4 )
8069 // InternalSolverLanguage.g:2525:2: rule__BooleanSymbol__Group__1__Impl 11968 // InternalSolverLanguage.g:3408:2: rule__IfElse__Group__3__Impl rule__IfElse__Group__4
8070 { 11969 {
8071 pushFollow(FOLLOW_2); 11970 pushFollow(FOLLOW_17);
8072 rule__BooleanSymbol__Group__1__Impl(); 11971 rule__IfElse__Group__3__Impl();
8073 11972
8074 state._fsp--; 11973 state._fsp--;
11974 if (state.failed) return ;
11975 pushFollow(FOLLOW_2);
11976 rule__IfElse__Group__4();
8075 11977
11978 state._fsp--;
11979 if (state.failed) return ;
8076 11980
8077 } 11981 }
8078 11982
@@ -8088,29 +11992,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8088 } 11992 }
8089 return ; 11993 return ;
8090 } 11994 }
8091 // $ANTLR end "rule__BooleanSymbol__Group__1" 11995 // $ANTLR end "rule__IfElse__Group__3"
8092 11996
8093 11997
8094 // $ANTLR start "rule__BooleanSymbol__Group__1__Impl" 11998 // $ANTLR start "rule__IfElse__Group__3__Impl"
8095 // InternalSolverLanguage.g:2531:1: rule__BooleanSymbol__Group__1__Impl : ( () ) ; 11999 // InternalSolverLanguage.g:3415:1: rule__IfElse__Group__3__Impl : ( ( rule__IfElse__ThenAssignment_3 ) ) ;
8096 public final void rule__BooleanSymbol__Group__1__Impl() throws RecognitionException { 12000 public final void rule__IfElse__Group__3__Impl() throws RecognitionException {
8097 12001
8098 int stackSize = keepStackSize(); 12002 int stackSize = keepStackSize();
8099 12003
8100 try { 12004 try {
8101 // InternalSolverLanguage.g:2535:1: ( ( () ) ) 12005 // InternalSolverLanguage.g:3419:1: ( ( ( rule__IfElse__ThenAssignment_3 ) ) )
8102 // InternalSolverLanguage.g:2536:1: ( () ) 12006 // InternalSolverLanguage.g:3420:1: ( ( rule__IfElse__ThenAssignment_3 ) )
8103 { 12007 {
8104 // InternalSolverLanguage.g:2536:1: ( () ) 12008 // InternalSolverLanguage.g:3420:1: ( ( rule__IfElse__ThenAssignment_3 ) )
8105 // InternalSolverLanguage.g:2537:2: () 12009 // InternalSolverLanguage.g:3421:2: ( rule__IfElse__ThenAssignment_3 )
8106 { 12010 {
8107 before(grammarAccess.getBooleanSymbolAccess().getBooleanSymbolAction_1()); 12011 if ( state.backtracking==0 ) {
8108 // InternalSolverLanguage.g:2538:2: () 12012 before(grammarAccess.getIfElseAccess().getThenAssignment_3());
8109 // InternalSolverLanguage.g:2538:3: 12013 }
12014 // InternalSolverLanguage.g:3422:2: ( rule__IfElse__ThenAssignment_3 )
12015 // InternalSolverLanguage.g:3422:3: rule__IfElse__ThenAssignment_3
8110 { 12016 {
12017 pushFollow(FOLLOW_2);
12018 rule__IfElse__ThenAssignment_3();
12019
12020 state._fsp--;
12021 if (state.failed) return ;
12022
8111 } 12023 }
8112 12024
8113 after(grammarAccess.getBooleanSymbolAccess().getBooleanSymbolAction_1()); 12025 if ( state.backtracking==0 ) {
12026 after(grammarAccess.getIfElseAccess().getThenAssignment_3());
12027 }
8114 12028
8115 } 12029 }
8116 12030
@@ -8118,6 +12032,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8118 } 12032 }
8119 12033
8120 } 12034 }
12035 catch (RecognitionException re) {
12036 reportError(re);
12037 recover(input,re);
12038 }
8121 finally { 12039 finally {
8122 12040
8123 restoreStackSize(stackSize); 12041 restoreStackSize(stackSize);
@@ -8125,29 +12043,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8125 } 12043 }
8126 return ; 12044 return ;
8127 } 12045 }
8128 // $ANTLR end "rule__BooleanSymbol__Group__1__Impl" 12046 // $ANTLR end "rule__IfElse__Group__3__Impl"
8129 12047
8130 12048
8131 // $ANTLR start "rule__IntegerSymbol__Group__0" 12049 // $ANTLR start "rule__IfElse__Group__4"
8132 // InternalSolverLanguage.g:2547:1: rule__IntegerSymbol__Group__0 : rule__IntegerSymbol__Group__0__Impl rule__IntegerSymbol__Group__1 ; 12050 // InternalSolverLanguage.g:3430:1: rule__IfElse__Group__4 : rule__IfElse__Group__4__Impl rule__IfElse__Group__5 ;
8133 public final void rule__IntegerSymbol__Group__0() throws RecognitionException { 12051 public final void rule__IfElse__Group__4() throws RecognitionException {
8134 12052
8135 int stackSize = keepStackSize(); 12053 int stackSize = keepStackSize();
8136 12054
8137 try { 12055 try {
8138 // InternalSolverLanguage.g:2551:1: ( rule__IntegerSymbol__Group__0__Impl rule__IntegerSymbol__Group__1 ) 12056 // InternalSolverLanguage.g:3434:1: ( rule__IfElse__Group__4__Impl rule__IfElse__Group__5 )
8139 // InternalSolverLanguage.g:2552:2: rule__IntegerSymbol__Group__0__Impl rule__IntegerSymbol__Group__1 12057 // InternalSolverLanguage.g:3435:2: rule__IfElse__Group__4__Impl rule__IfElse__Group__5
8140 { 12058 {
8141 pushFollow(FOLLOW_1); 12059 pushFollow(FOLLOW_7);
8142 rule__IntegerSymbol__Group__0__Impl(); 12060 rule__IfElse__Group__4__Impl();
8143 12061
8144 state._fsp--; 12062 state._fsp--;
8145 12063 if (state.failed) return ;
8146 pushFollow(FOLLOW_2); 12064 pushFollow(FOLLOW_2);
8147 rule__IntegerSymbol__Group__1(); 12065 rule__IfElse__Group__5();
8148 12066
8149 state._fsp--; 12067 state._fsp--;
8150 12068 if (state.failed) return ;
8151 12069
8152 } 12070 }
8153 12071
@@ -8163,25 +12081,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8163 } 12081 }
8164 return ; 12082 return ;
8165 } 12083 }
8166 // $ANTLR end "rule__IntegerSymbol__Group__0" 12084 // $ANTLR end "rule__IfElse__Group__4"
8167 12085
8168 12086
8169 // $ANTLR start "rule__IntegerSymbol__Group__0__Impl" 12087 // $ANTLR start "rule__IfElse__Group__4__Impl"
8170 // InternalSolverLanguage.g:2559:1: rule__IntegerSymbol__Group__0__Impl : ( 'int' ) ; 12088 // InternalSolverLanguage.g:3442:1: rule__IfElse__Group__4__Impl : ( 'else' ) ;
8171 public final void rule__IntegerSymbol__Group__0__Impl() throws RecognitionException { 12089 public final void rule__IfElse__Group__4__Impl() throws RecognitionException {
8172 12090
8173 int stackSize = keepStackSize(); 12091 int stackSize = keepStackSize();
8174 12092
8175 try { 12093 try {
8176 // InternalSolverLanguage.g:2563:1: ( ( 'int' ) ) 12094 // InternalSolverLanguage.g:3446:1: ( ( 'else' ) )
8177 // InternalSolverLanguage.g:2564:1: ( 'int' ) 12095 // InternalSolverLanguage.g:3447:1: ( 'else' )
8178 { 12096 {
8179 // InternalSolverLanguage.g:2564:1: ( 'int' ) 12097 // InternalSolverLanguage.g:3447:1: ( 'else' )
8180 // InternalSolverLanguage.g:2565:2: 'int' 12098 // InternalSolverLanguage.g:3448:2: 'else'
8181 { 12099 {
8182 before(grammarAccess.getIntegerSymbolAccess().getIntKeyword_0()); 12100 if ( state.backtracking==0 ) {
8183 match(input,24,FOLLOW_2); 12101 before(grammarAccess.getIfElseAccess().getElseKeyword_4());
8184 after(grammarAccess.getIntegerSymbolAccess().getIntKeyword_0()); 12102 }
12103 match(input,53,FOLLOW_2); if (state.failed) return ;
12104 if ( state.backtracking==0 ) {
12105 after(grammarAccess.getIfElseAccess().getElseKeyword_4());
12106 }
8185 12107
8186 } 12108 }
8187 12109
@@ -8200,24 +12122,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8200 } 12122 }
8201 return ; 12123 return ;
8202 } 12124 }
8203 // $ANTLR end "rule__IntegerSymbol__Group__0__Impl" 12125 // $ANTLR end "rule__IfElse__Group__4__Impl"
8204 12126
8205 12127
8206 // $ANTLR start "rule__IntegerSymbol__Group__1" 12128 // $ANTLR start "rule__IfElse__Group__5"
8207 // InternalSolverLanguage.g:2574:1: rule__IntegerSymbol__Group__1 : rule__IntegerSymbol__Group__1__Impl ; 12129 // InternalSolverLanguage.g:3457:1: rule__IfElse__Group__5 : rule__IfElse__Group__5__Impl ;
8208 public final void rule__IntegerSymbol__Group__1() throws RecognitionException { 12130 public final void rule__IfElse__Group__5() throws RecognitionException {
8209 12131
8210 int stackSize = keepStackSize(); 12132 int stackSize = keepStackSize();
8211 12133
8212 try { 12134 try {
8213 // InternalSolverLanguage.g:2578:1: ( rule__IntegerSymbol__Group__1__Impl ) 12135 // InternalSolverLanguage.g:3461:1: ( rule__IfElse__Group__5__Impl )
8214 // InternalSolverLanguage.g:2579:2: rule__IntegerSymbol__Group__1__Impl 12136 // InternalSolverLanguage.g:3462:2: rule__IfElse__Group__5__Impl
8215 { 12137 {
8216 pushFollow(FOLLOW_2); 12138 pushFollow(FOLLOW_2);
8217 rule__IntegerSymbol__Group__1__Impl(); 12139 rule__IfElse__Group__5__Impl();
8218 12140
8219 state._fsp--; 12141 state._fsp--;
8220 12142 if (state.failed) return ;
8221 12143
8222 } 12144 }
8223 12145
@@ -8233,29 +12155,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8233 } 12155 }
8234 return ; 12156 return ;
8235 } 12157 }
8236 // $ANTLR end "rule__IntegerSymbol__Group__1" 12158 // $ANTLR end "rule__IfElse__Group__5"
8237 12159
8238 12160
8239 // $ANTLR start "rule__IntegerSymbol__Group__1__Impl" 12161 // $ANTLR start "rule__IfElse__Group__5__Impl"
8240 // InternalSolverLanguage.g:2585:1: rule__IntegerSymbol__Group__1__Impl : ( () ) ; 12162 // InternalSolverLanguage.g:3468:1: rule__IfElse__Group__5__Impl : ( ( rule__IfElse__ElseAssignment_5 ) ) ;
8241 public final void rule__IntegerSymbol__Group__1__Impl() throws RecognitionException { 12163 public final void rule__IfElse__Group__5__Impl() throws RecognitionException {
8242 12164
8243 int stackSize = keepStackSize(); 12165 int stackSize = keepStackSize();
8244 12166
8245 try { 12167 try {
8246 // InternalSolverLanguage.g:2589:1: ( ( () ) ) 12168 // InternalSolverLanguage.g:3472:1: ( ( ( rule__IfElse__ElseAssignment_5 ) ) )
8247 // InternalSolverLanguage.g:2590:1: ( () ) 12169 // InternalSolverLanguage.g:3473:1: ( ( rule__IfElse__ElseAssignment_5 ) )
8248 { 12170 {
8249 // InternalSolverLanguage.g:2590:1: ( () ) 12171 // InternalSolverLanguage.g:3473:1: ( ( rule__IfElse__ElseAssignment_5 ) )
8250 // InternalSolverLanguage.g:2591:2: () 12172 // InternalSolverLanguage.g:3474:2: ( rule__IfElse__ElseAssignment_5 )
8251 { 12173 {
8252 before(grammarAccess.getIntegerSymbolAccess().getIntegerSymbolAction_1()); 12174 if ( state.backtracking==0 ) {
8253 // InternalSolverLanguage.g:2592:2: () 12175 before(grammarAccess.getIfElseAccess().getElseAssignment_5());
8254 // InternalSolverLanguage.g:2592:3: 12176 }
12177 // InternalSolverLanguage.g:3475:2: ( rule__IfElse__ElseAssignment_5 )
12178 // InternalSolverLanguage.g:3475:3: rule__IfElse__ElseAssignment_5
8255 { 12179 {
12180 pushFollow(FOLLOW_2);
12181 rule__IfElse__ElseAssignment_5();
12182
12183 state._fsp--;
12184 if (state.failed) return ;
12185
8256 } 12186 }
8257 12187
8258 after(grammarAccess.getIntegerSymbolAccess().getIntegerSymbolAction_1()); 12188 if ( state.backtracking==0 ) {
12189 after(grammarAccess.getIfElseAccess().getElseAssignment_5());
12190 }
8259 12191
8260 } 12192 }
8261 12193
@@ -8263,6 +12195,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8263 } 12195 }
8264 12196
8265 } 12197 }
12198 catch (RecognitionException re) {
12199 reportError(re);
12200 recover(input,re);
12201 }
8266 finally { 12202 finally {
8267 12203
8268 restoreStackSize(stackSize); 12204 restoreStackSize(stackSize);
@@ -8270,28 +12206,73 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8270 } 12206 }
8271 return ; 12207 return ;
8272 } 12208 }
8273 // $ANTLR end "rule__IntegerSymbol__Group__1__Impl" 12209 // $ANTLR end "rule__IfElse__Group__5__Impl"
8274 12210
8275 12211
8276 // $ANTLR start "rule__RealSymbol__Group__0" 12212 // $ANTLR start "rule__DisjunctiveExpression__Group__0"
8277 // InternalSolverLanguage.g:2601:1: rule__RealSymbol__Group__0 : rule__RealSymbol__Group__0__Impl rule__RealSymbol__Group__1 ; 12213 // InternalSolverLanguage.g:3484:1: rule__DisjunctiveExpression__Group__0 : rule__DisjunctiveExpression__Group__0__Impl rule__DisjunctiveExpression__Group__1 ;
8278 public final void rule__RealSymbol__Group__0() throws RecognitionException { 12214 public final void rule__DisjunctiveExpression__Group__0() throws RecognitionException {
8279 12215
8280 int stackSize = keepStackSize(); 12216 int stackSize = keepStackSize();
8281 12217
8282 try { 12218 try {
8283 // InternalSolverLanguage.g:2605:1: ( rule__RealSymbol__Group__0__Impl rule__RealSymbol__Group__1 ) 12219 // InternalSolverLanguage.g:3488:1: ( rule__DisjunctiveExpression__Group__0__Impl rule__DisjunctiveExpression__Group__1 )
8284 // InternalSolverLanguage.g:2606:2: rule__RealSymbol__Group__0__Impl rule__RealSymbol__Group__1 12220 // InternalSolverLanguage.g:3489:2: rule__DisjunctiveExpression__Group__0__Impl rule__DisjunctiveExpression__Group__1
8285 { 12221 {
8286 pushFollow(FOLLOW_1); 12222 pushFollow(FOLLOW_18);
8287 rule__RealSymbol__Group__0__Impl(); 12223 rule__DisjunctiveExpression__Group__0__Impl();
8288 12224
8289 state._fsp--; 12225 state._fsp--;
12226 if (state.failed) return ;
12227 pushFollow(FOLLOW_2);
12228 rule__DisjunctiveExpression__Group__1();
8290 12229
12230 state._fsp--;
12231 if (state.failed) return ;
12232
12233 }
12234
12235 }
12236 catch (RecognitionException re) {
12237 reportError(re);
12238 recover(input,re);
12239 }
12240 finally {
12241
12242 restoreStackSize(stackSize);
12243
12244 }
12245 return ;
12246 }
12247 // $ANTLR end "rule__DisjunctiveExpression__Group__0"
12248
12249
12250 // $ANTLR start "rule__DisjunctiveExpression__Group__0__Impl"
12251 // InternalSolverLanguage.g:3496:1: rule__DisjunctiveExpression__Group__0__Impl : ( ruleConjunctiveExpression ) ;
12252 public final void rule__DisjunctiveExpression__Group__0__Impl() throws RecognitionException {
12253
12254 int stackSize = keepStackSize();
12255
12256 try {
12257 // InternalSolverLanguage.g:3500:1: ( ( ruleConjunctiveExpression ) )
12258 // InternalSolverLanguage.g:3501:1: ( ruleConjunctiveExpression )
12259 {
12260 // InternalSolverLanguage.g:3501:1: ( ruleConjunctiveExpression )
12261 // InternalSolverLanguage.g:3502:2: ruleConjunctiveExpression
12262 {
12263 if ( state.backtracking==0 ) {
12264 before(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0());
12265 }
8291 pushFollow(FOLLOW_2); 12266 pushFollow(FOLLOW_2);
8292 rule__RealSymbol__Group__1(); 12267 ruleConjunctiveExpression();
8293 12268
8294 state._fsp--; 12269 state._fsp--;
12270 if (state.failed) return ;
12271 if ( state.backtracking==0 ) {
12272 after(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0());
12273 }
12274
12275 }
8295 12276
8296 12277
8297 } 12278 }
@@ -8308,25 +12289,83 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8308 } 12289 }
8309 return ; 12290 return ;
8310 } 12291 }
8311 // $ANTLR end "rule__RealSymbol__Group__0" 12292 // $ANTLR end "rule__DisjunctiveExpression__Group__0__Impl"
8312 12293
8313 12294
8314 // $ANTLR start "rule__RealSymbol__Group__0__Impl" 12295 // $ANTLR start "rule__DisjunctiveExpression__Group__1"
8315 // InternalSolverLanguage.g:2613:1: rule__RealSymbol__Group__0__Impl : ( 'real' ) ; 12296 // InternalSolverLanguage.g:3511:1: rule__DisjunctiveExpression__Group__1 : rule__DisjunctiveExpression__Group__1__Impl ;
8316 public final void rule__RealSymbol__Group__0__Impl() throws RecognitionException { 12297 public final void rule__DisjunctiveExpression__Group__1() throws RecognitionException {
8317 12298
8318 int stackSize = keepStackSize(); 12299 int stackSize = keepStackSize();
8319 12300
8320 try { 12301 try {
8321 // InternalSolverLanguage.g:2617:1: ( ( 'real' ) ) 12302 // InternalSolverLanguage.g:3515:1: ( rule__DisjunctiveExpression__Group__1__Impl )
8322 // InternalSolverLanguage.g:2618:1: ( 'real' ) 12303 // InternalSolverLanguage.g:3516:2: rule__DisjunctiveExpression__Group__1__Impl
8323 { 12304 {
8324 // InternalSolverLanguage.g:2618:1: ( 'real' ) 12305 pushFollow(FOLLOW_2);
8325 // InternalSolverLanguage.g:2619:2: 'real' 12306 rule__DisjunctiveExpression__Group__1__Impl();
12307
12308 state._fsp--;
12309 if (state.failed) return ;
12310
12311 }
12312
12313 }
12314 catch (RecognitionException re) {
12315 reportError(re);
12316 recover(input,re);
12317 }
12318 finally {
12319
12320 restoreStackSize(stackSize);
12321
12322 }
12323 return ;
12324 }
12325 // $ANTLR end "rule__DisjunctiveExpression__Group__1"
12326
12327
12328 // $ANTLR start "rule__DisjunctiveExpression__Group__1__Impl"
12329 // InternalSolverLanguage.g:3522:1: rule__DisjunctiveExpression__Group__1__Impl : ( ( rule__DisjunctiveExpression__Alternatives_1 )? ) ;
12330 public final void rule__DisjunctiveExpression__Group__1__Impl() throws RecognitionException {
12331
12332 int stackSize = keepStackSize();
12333
12334 try {
12335 // InternalSolverLanguage.g:3526:1: ( ( ( rule__DisjunctiveExpression__Alternatives_1 )? ) )
12336 // InternalSolverLanguage.g:3527:1: ( ( rule__DisjunctiveExpression__Alternatives_1 )? )
12337 {
12338 // InternalSolverLanguage.g:3527:1: ( ( rule__DisjunctiveExpression__Alternatives_1 )? )
12339 // InternalSolverLanguage.g:3528:2: ( rule__DisjunctiveExpression__Alternatives_1 )?
8326 { 12340 {
8327 before(grammarAccess.getRealSymbolAccess().getRealKeyword_0()); 12341 if ( state.backtracking==0 ) {
8328 match(input,25,FOLLOW_2); 12342 before(grammarAccess.getDisjunctiveExpressionAccess().getAlternatives_1());
8329 after(grammarAccess.getRealSymbolAccess().getRealKeyword_0()); 12343 }
12344 // InternalSolverLanguage.g:3529:2: ( rule__DisjunctiveExpression__Alternatives_1 )?
12345 int alt30=2;
12346 int LA30_0 = input.LA(1);
12347
12348 if ( ((LA30_0>=54 && LA30_0<=55)) ) {
12349 alt30=1;
12350 }
12351 switch (alt30) {
12352 case 1 :
12353 // InternalSolverLanguage.g:3529:3: rule__DisjunctiveExpression__Alternatives_1
12354 {
12355 pushFollow(FOLLOW_2);
12356 rule__DisjunctiveExpression__Alternatives_1();
12357
12358 state._fsp--;
12359 if (state.failed) return ;
12360
12361 }
12362 break;
12363
12364 }
12365
12366 if ( state.backtracking==0 ) {
12367 after(grammarAccess.getDisjunctiveExpressionAccess().getAlternatives_1());
12368 }
8330 12369
8331 } 12370 }
8332 12371
@@ -8345,24 +12384,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8345 } 12384 }
8346 return ; 12385 return ;
8347 } 12386 }
8348 // $ANTLR end "rule__RealSymbol__Group__0__Impl" 12387 // $ANTLR end "rule__DisjunctiveExpression__Group__1__Impl"
8349 12388
8350 12389
8351 // $ANTLR start "rule__RealSymbol__Group__1" 12390 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0__0"
8352 // InternalSolverLanguage.g:2628:1: rule__RealSymbol__Group__1 : rule__RealSymbol__Group__1__Impl ; 12391 // InternalSolverLanguage.g:3538:1: rule__DisjunctiveExpression__Group_1_0__0 : rule__DisjunctiveExpression__Group_1_0__0__Impl rule__DisjunctiveExpression__Group_1_0__1 ;
8353 public final void rule__RealSymbol__Group__1() throws RecognitionException { 12392 public final void rule__DisjunctiveExpression__Group_1_0__0() throws RecognitionException {
8354 12393
8355 int stackSize = keepStackSize(); 12394 int stackSize = keepStackSize();
8356 12395
8357 try { 12396 try {
8358 // InternalSolverLanguage.g:2632:1: ( rule__RealSymbol__Group__1__Impl ) 12397 // InternalSolverLanguage.g:3542:1: ( rule__DisjunctiveExpression__Group_1_0__0__Impl rule__DisjunctiveExpression__Group_1_0__1 )
8359 // InternalSolverLanguage.g:2633:2: rule__RealSymbol__Group__1__Impl 12398 // InternalSolverLanguage.g:3543:2: rule__DisjunctiveExpression__Group_1_0__0__Impl rule__DisjunctiveExpression__Group_1_0__1
8360 { 12399 {
8361 pushFollow(FOLLOW_2); 12400 pushFollow(FOLLOW_19);
8362 rule__RealSymbol__Group__1__Impl(); 12401 rule__DisjunctiveExpression__Group_1_0__0__Impl();
8363 12402
8364 state._fsp--; 12403 state._fsp--;
12404 if (state.failed) return ;
12405 pushFollow(FOLLOW_2);
12406 rule__DisjunctiveExpression__Group_1_0__1();
8365 12407
12408 state._fsp--;
12409 if (state.failed) return ;
8366 12410
8367 } 12411 }
8368 12412
@@ -8378,29 +12422,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8378 } 12422 }
8379 return ; 12423 return ;
8380 } 12424 }
8381 // $ANTLR end "rule__RealSymbol__Group__1" 12425 // $ANTLR end "rule__DisjunctiveExpression__Group_1_0__0"
8382 12426
8383 12427
8384 // $ANTLR start "rule__RealSymbol__Group__1__Impl" 12428 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0__0__Impl"
8385 // InternalSolverLanguage.g:2639:1: rule__RealSymbol__Group__1__Impl : ( () ) ; 12429 // InternalSolverLanguage.g:3550:1: rule__DisjunctiveExpression__Group_1_0__0__Impl : ( () ) ;
8386 public final void rule__RealSymbol__Group__1__Impl() throws RecognitionException { 12430 public final void rule__DisjunctiveExpression__Group_1_0__0__Impl() throws RecognitionException {
8387 12431
8388 int stackSize = keepStackSize(); 12432 int stackSize = keepStackSize();
8389 12433
8390 try { 12434 try {
8391 // InternalSolverLanguage.g:2643:1: ( ( () ) ) 12435 // InternalSolverLanguage.g:3554:1: ( ( () ) )
8392 // InternalSolverLanguage.g:2644:1: ( () ) 12436 // InternalSolverLanguage.g:3555:1: ( () )
8393 { 12437 {
8394 // InternalSolverLanguage.g:2644:1: ( () ) 12438 // InternalSolverLanguage.g:3555:1: ( () )
8395 // InternalSolverLanguage.g:2645:2: () 12439 // InternalSolverLanguage.g:3556:2: ()
8396 { 12440 {
8397 before(grammarAccess.getRealSymbolAccess().getRealSymbolAction_1()); 12441 if ( state.backtracking==0 ) {
8398 // InternalSolverLanguage.g:2646:2: () 12442 before(grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0());
8399 // InternalSolverLanguage.g:2646:3: 12443 }
12444 // InternalSolverLanguage.g:3557:2: ()
12445 // InternalSolverLanguage.g:3557:3:
8400 { 12446 {
8401 } 12447 }
8402 12448
8403 after(grammarAccess.getRealSymbolAccess().getRealSymbolAction_1()); 12449 if ( state.backtracking==0 ) {
12450 after(grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0());
12451 }
8404 12452
8405 } 12453 }
8406 12454
@@ -8415,29 +12463,160 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8415 } 12463 }
8416 return ; 12464 return ;
8417 } 12465 }
8418 // $ANTLR end "rule__RealSymbol__Group__1__Impl" 12466 // $ANTLR end "rule__DisjunctiveExpression__Group_1_0__0__Impl"
8419 12467
8420 12468
8421 // $ANTLR start "rule__StringSymbol__Group__0" 12469 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0__1"
8422 // InternalSolverLanguage.g:2655:1: rule__StringSymbol__Group__0 : rule__StringSymbol__Group__0__Impl rule__StringSymbol__Group__1 ; 12470 // InternalSolverLanguage.g:3565:1: rule__DisjunctiveExpression__Group_1_0__1 : rule__DisjunctiveExpression__Group_1_0__1__Impl ;
8423 public final void rule__StringSymbol__Group__0() throws RecognitionException { 12471 public final void rule__DisjunctiveExpression__Group_1_0__1() throws RecognitionException {
8424 12472
8425 int stackSize = keepStackSize(); 12473 int stackSize = keepStackSize();
8426 12474
8427 try { 12475 try {
8428 // InternalSolverLanguage.g:2659:1: ( rule__StringSymbol__Group__0__Impl rule__StringSymbol__Group__1 ) 12476 // InternalSolverLanguage.g:3569:1: ( rule__DisjunctiveExpression__Group_1_0__1__Impl )
8429 // InternalSolverLanguage.g:2660:2: rule__StringSymbol__Group__0__Impl rule__StringSymbol__Group__1 12477 // InternalSolverLanguage.g:3570:2: rule__DisjunctiveExpression__Group_1_0__1__Impl
8430 { 12478 {
8431 pushFollow(FOLLOW_1); 12479 pushFollow(FOLLOW_2);
8432 rule__StringSymbol__Group__0__Impl(); 12480 rule__DisjunctiveExpression__Group_1_0__1__Impl();
8433 12481
8434 state._fsp--; 12482 state._fsp--;
12483 if (state.failed) return ;
8435 12484
8436 pushFollow(FOLLOW_2); 12485 }
8437 rule__StringSymbol__Group__1(); 12486
12487 }
12488 catch (RecognitionException re) {
12489 reportError(re);
12490 recover(input,re);
12491 }
12492 finally {
12493
12494 restoreStackSize(stackSize);
12495
12496 }
12497 return ;
12498 }
12499 // $ANTLR end "rule__DisjunctiveExpression__Group_1_0__1"
12500
12501
12502 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0__1__Impl"
12503 // InternalSolverLanguage.g:3576:1: rule__DisjunctiveExpression__Group_1_0__1__Impl : ( ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) ) ;
12504 public final void rule__DisjunctiveExpression__Group_1_0__1__Impl() throws RecognitionException {
12505
12506 int stackSize = keepStackSize();
12507
12508 try {
12509 // InternalSolverLanguage.g:3580:1: ( ( ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) ) )
12510 // InternalSolverLanguage.g:3581:1: ( ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) )
12511 {
12512 // InternalSolverLanguage.g:3581:1: ( ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) )
12513 // InternalSolverLanguage.g:3582:2: ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* )
12514 {
12515 // InternalSolverLanguage.g:3582:2: ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) )
12516 // InternalSolverLanguage.g:3583:3: ( rule__DisjunctiveExpression__Group_1_0_1__0 )
12517 {
12518 if ( state.backtracking==0 ) {
12519 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1());
12520 }
12521 // InternalSolverLanguage.g:3584:3: ( rule__DisjunctiveExpression__Group_1_0_1__0 )
12522 // InternalSolverLanguage.g:3584:4: rule__DisjunctiveExpression__Group_1_0_1__0
12523 {
12524 pushFollow(FOLLOW_20);
12525 rule__DisjunctiveExpression__Group_1_0_1__0();
12526
12527 state._fsp--;
12528 if (state.failed) return ;
12529
12530 }
12531
12532 if ( state.backtracking==0 ) {
12533 after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1());
12534 }
12535
12536 }
12537
12538 // InternalSolverLanguage.g:3587:2: ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* )
12539 // InternalSolverLanguage.g:3588:3: ( rule__DisjunctiveExpression__Group_1_0_1__0 )*
12540 {
12541 if ( state.backtracking==0 ) {
12542 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1());
12543 }
12544 // InternalSolverLanguage.g:3589:3: ( rule__DisjunctiveExpression__Group_1_0_1__0 )*
12545 loop31:
12546 do {
12547 int alt31=2;
12548 int LA31_0 = input.LA(1);
12549
12550 if ( (LA31_0==54) ) {
12551 alt31=1;
12552 }
12553
12554
12555 switch (alt31) {
12556 case 1 :
12557 // InternalSolverLanguage.g:3589:4: rule__DisjunctiveExpression__Group_1_0_1__0
12558 {
12559 pushFollow(FOLLOW_20);
12560 rule__DisjunctiveExpression__Group_1_0_1__0();
12561
12562 state._fsp--;
12563 if (state.failed) return ;
12564
12565 }
12566 break;
12567
12568 default :
12569 break loop31;
12570 }
12571 } while (true);
12572
12573 if ( state.backtracking==0 ) {
12574 after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1());
12575 }
12576
12577 }
12578
12579
12580 }
12581
12582
12583 }
12584
12585 }
12586 catch (RecognitionException re) {
12587 reportError(re);
12588 recover(input,re);
12589 }
12590 finally {
12591
12592 restoreStackSize(stackSize);
12593
12594 }
12595 return ;
12596 }
12597 // $ANTLR end "rule__DisjunctiveExpression__Group_1_0__1__Impl"
12598
12599
12600 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0_1__0"
12601 // InternalSolverLanguage.g:3599:1: rule__DisjunctiveExpression__Group_1_0_1__0 : rule__DisjunctiveExpression__Group_1_0_1__0__Impl rule__DisjunctiveExpression__Group_1_0_1__1 ;
12602 public final void rule__DisjunctiveExpression__Group_1_0_1__0() throws RecognitionException {
12603
12604 int stackSize = keepStackSize();
12605
12606 try {
12607 // InternalSolverLanguage.g:3603:1: ( rule__DisjunctiveExpression__Group_1_0_1__0__Impl rule__DisjunctiveExpression__Group_1_0_1__1 )
12608 // InternalSolverLanguage.g:3604:2: rule__DisjunctiveExpression__Group_1_0_1__0__Impl rule__DisjunctiveExpression__Group_1_0_1__1
12609 {
12610 pushFollow(FOLLOW_7);
12611 rule__DisjunctiveExpression__Group_1_0_1__0__Impl();
8438 12612
8439 state._fsp--; 12613 state._fsp--;
12614 if (state.failed) return ;
12615 pushFollow(FOLLOW_2);
12616 rule__DisjunctiveExpression__Group_1_0_1__1();
8440 12617
12618 state._fsp--;
12619 if (state.failed) return ;
8441 12620
8442 } 12621 }
8443 12622
@@ -8453,25 +12632,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8453 } 12632 }
8454 return ; 12633 return ;
8455 } 12634 }
8456 // $ANTLR end "rule__StringSymbol__Group__0" 12635 // $ANTLR end "rule__DisjunctiveExpression__Group_1_0_1__0"
8457 12636
8458 12637
8459 // $ANTLR start "rule__StringSymbol__Group__0__Impl" 12638 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0_1__0__Impl"
8460 // InternalSolverLanguage.g:2667:1: rule__StringSymbol__Group__0__Impl : ( 'string' ) ; 12639 // InternalSolverLanguage.g:3611:1: rule__DisjunctiveExpression__Group_1_0_1__0__Impl : ( ';' ) ;
8461 public final void rule__StringSymbol__Group__0__Impl() throws RecognitionException { 12640 public final void rule__DisjunctiveExpression__Group_1_0_1__0__Impl() throws RecognitionException {
8462 12641
8463 int stackSize = keepStackSize(); 12642 int stackSize = keepStackSize();
8464 12643
8465 try { 12644 try {
8466 // InternalSolverLanguage.g:2671:1: ( ( 'string' ) ) 12645 // InternalSolverLanguage.g:3615:1: ( ( ';' ) )
8467 // InternalSolverLanguage.g:2672:1: ( 'string' ) 12646 // InternalSolverLanguage.g:3616:1: ( ';' )
8468 { 12647 {
8469 // InternalSolverLanguage.g:2672:1: ( 'string' ) 12648 // InternalSolverLanguage.g:3616:1: ( ';' )
8470 // InternalSolverLanguage.g:2673:2: 'string' 12649 // InternalSolverLanguage.g:3617:2: ';'
8471 { 12650 {
8472 before(grammarAccess.getStringSymbolAccess().getStringKeyword_0()); 12651 if ( state.backtracking==0 ) {
8473 match(input,26,FOLLOW_2); 12652 before(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0());
8474 after(grammarAccess.getStringSymbolAccess().getStringKeyword_0()); 12653 }
12654 match(input,54,FOLLOW_2); if (state.failed) return ;
12655 if ( state.backtracking==0 ) {
12656 after(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0());
12657 }
8475 12658
8476 } 12659 }
8477 12660
@@ -8490,24 +12673,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8490 } 12673 }
8491 return ; 12674 return ;
8492 } 12675 }
8493 // $ANTLR end "rule__StringSymbol__Group__0__Impl" 12676 // $ANTLR end "rule__DisjunctiveExpression__Group_1_0_1__0__Impl"
8494 12677
8495 12678
8496 // $ANTLR start "rule__StringSymbol__Group__1" 12679 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0_1__1"
8497 // InternalSolverLanguage.g:2682:1: rule__StringSymbol__Group__1 : rule__StringSymbol__Group__1__Impl ; 12680 // InternalSolverLanguage.g:3626:1: rule__DisjunctiveExpression__Group_1_0_1__1 : rule__DisjunctiveExpression__Group_1_0_1__1__Impl ;
8498 public final void rule__StringSymbol__Group__1() throws RecognitionException { 12681 public final void rule__DisjunctiveExpression__Group_1_0_1__1() throws RecognitionException {
8499 12682
8500 int stackSize = keepStackSize(); 12683 int stackSize = keepStackSize();
8501 12684
8502 try { 12685 try {
8503 // InternalSolverLanguage.g:2686:1: ( rule__StringSymbol__Group__1__Impl ) 12686 // InternalSolverLanguage.g:3630:1: ( rule__DisjunctiveExpression__Group_1_0_1__1__Impl )
8504 // InternalSolverLanguage.g:2687:2: rule__StringSymbol__Group__1__Impl 12687 // InternalSolverLanguage.g:3631:2: rule__DisjunctiveExpression__Group_1_0_1__1__Impl
8505 { 12688 {
8506 pushFollow(FOLLOW_2); 12689 pushFollow(FOLLOW_2);
8507 rule__StringSymbol__Group__1__Impl(); 12690 rule__DisjunctiveExpression__Group_1_0_1__1__Impl();
8508 12691
8509 state._fsp--; 12692 state._fsp--;
8510 12693 if (state.failed) return ;
8511 12694
8512 } 12695 }
8513 12696
@@ -8523,29 +12706,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8523 } 12706 }
8524 return ; 12707 return ;
8525 } 12708 }
8526 // $ANTLR end "rule__StringSymbol__Group__1" 12709 // $ANTLR end "rule__DisjunctiveExpression__Group_1_0_1__1"
8527 12710
8528 12711
8529 // $ANTLR start "rule__StringSymbol__Group__1__Impl" 12712 // $ANTLR start "rule__DisjunctiveExpression__Group_1_0_1__1__Impl"
8530 // InternalSolverLanguage.g:2693:1: rule__StringSymbol__Group__1__Impl : ( () ) ; 12713 // InternalSolverLanguage.g:3637:1: rule__DisjunctiveExpression__Group_1_0_1__1__Impl : ( ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) ) ;
8531 public final void rule__StringSymbol__Group__1__Impl() throws RecognitionException { 12714 public final void rule__DisjunctiveExpression__Group_1_0_1__1__Impl() throws RecognitionException {
8532 12715
8533 int stackSize = keepStackSize(); 12716 int stackSize = keepStackSize();
8534 12717
8535 try { 12718 try {
8536 // InternalSolverLanguage.g:2697:1: ( ( () ) ) 12719 // InternalSolverLanguage.g:3641:1: ( ( ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) ) )
8537 // InternalSolverLanguage.g:2698:1: ( () ) 12720 // InternalSolverLanguage.g:3642:1: ( ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) )
8538 { 12721 {
8539 // InternalSolverLanguage.g:2698:1: ( () ) 12722 // InternalSolverLanguage.g:3642:1: ( ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) )
8540 // InternalSolverLanguage.g:2699:2: () 12723 // InternalSolverLanguage.g:3643:2: ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 )
8541 { 12724 {
8542 before(grammarAccess.getStringSymbolAccess().getStringSymbolAction_1()); 12725 if ( state.backtracking==0 ) {
8543 // InternalSolverLanguage.g:2700:2: () 12726 before(grammarAccess.getDisjunctiveExpressionAccess().getChildrenAssignment_1_0_1_1());
8544 // InternalSolverLanguage.g:2700:3: 12727 }
12728 // InternalSolverLanguage.g:3644:2: ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 )
12729 // InternalSolverLanguage.g:3644:3: rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1
8545 { 12730 {
12731 pushFollow(FOLLOW_2);
12732 rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1();
12733
12734 state._fsp--;
12735 if (state.failed) return ;
12736
8546 } 12737 }
8547 12738
8548 after(grammarAccess.getStringSymbolAccess().getStringSymbolAction_1()); 12739 if ( state.backtracking==0 ) {
12740 after(grammarAccess.getDisjunctiveExpressionAccess().getChildrenAssignment_1_0_1_1());
12741 }
8549 12742
8550 } 12743 }
8551 12744
@@ -8553,6 +12746,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8553 } 12746 }
8554 12747
8555 } 12748 }
12749 catch (RecognitionException re) {
12750 reportError(re);
12751 recover(input,re);
12752 }
8556 finally { 12753 finally {
8557 12754
8558 restoreStackSize(stackSize); 12755 restoreStackSize(stackSize);
@@ -8560,29 +12757,108 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8560 } 12757 }
8561 return ; 12758 return ;
8562 } 12759 }
8563 // $ANTLR end "rule__StringSymbol__Group__1__Impl" 12760 // $ANTLR end "rule__DisjunctiveExpression__Group_1_0_1__1__Impl"
8564 12761
8565 12762
8566 // $ANTLR start "rule__NamedObject__Group__0" 12763 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__0"
8567 // InternalSolverLanguage.g:2709:1: rule__NamedObject__Group__0 : rule__NamedObject__Group__0__Impl rule__NamedObject__Group__1 ; 12764 // InternalSolverLanguage.g:3653:1: rule__DisjunctiveExpression__Group_1_1__0 : rule__DisjunctiveExpression__Group_1_1__0__Impl rule__DisjunctiveExpression__Group_1_1__1 ;
8568 public final void rule__NamedObject__Group__0() throws RecognitionException { 12765 public final void rule__DisjunctiveExpression__Group_1_1__0() throws RecognitionException {
8569 12766
8570 int stackSize = keepStackSize(); 12767 int stackSize = keepStackSize();
8571 12768
8572 try { 12769 try {
8573 // InternalSolverLanguage.g:2713:1: ( rule__NamedObject__Group__0__Impl rule__NamedObject__Group__1 ) 12770 // InternalSolverLanguage.g:3657:1: ( rule__DisjunctiveExpression__Group_1_1__0__Impl rule__DisjunctiveExpression__Group_1_1__1 )
8574 // InternalSolverLanguage.g:2714:2: rule__NamedObject__Group__0__Impl rule__NamedObject__Group__1 12771 // InternalSolverLanguage.g:3658:2: rule__DisjunctiveExpression__Group_1_1__0__Impl rule__DisjunctiveExpression__Group_1_1__1
8575 { 12772 {
8576 pushFollow(FOLLOW_17); 12773 pushFollow(FOLLOW_18);
8577 rule__NamedObject__Group__0__Impl(); 12774 rule__DisjunctiveExpression__Group_1_1__0__Impl();
8578 12775
8579 state._fsp--; 12776 state._fsp--;
8580 12777 if (state.failed) return ;
8581 pushFollow(FOLLOW_2); 12778 pushFollow(FOLLOW_2);
8582 rule__NamedObject__Group__1(); 12779 rule__DisjunctiveExpression__Group_1_1__1();
8583 12780
8584 state._fsp--; 12781 state._fsp--;
12782 if (state.failed) return ;
8585 12783
12784 }
12785
12786 }
12787 catch (RecognitionException re) {
12788 reportError(re);
12789 recover(input,re);
12790 }
12791 finally {
12792
12793 restoreStackSize(stackSize);
12794
12795 }
12796 return ;
12797 }
12798 // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__0"
12799
12800
12801 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__0__Impl"
12802 // InternalSolverLanguage.g:3665:1: rule__DisjunctiveExpression__Group_1_1__0__Impl : ( () ) ;
12803 public final void rule__DisjunctiveExpression__Group_1_1__0__Impl() throws RecognitionException {
12804
12805 int stackSize = keepStackSize();
12806
12807 try {
12808 // InternalSolverLanguage.g:3669:1: ( ( () ) )
12809 // InternalSolverLanguage.g:3670:1: ( () )
12810 {
12811 // InternalSolverLanguage.g:3670:1: ( () )
12812 // InternalSolverLanguage.g:3671:2: ()
12813 {
12814 if ( state.backtracking==0 ) {
12815 before(grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0());
12816 }
12817 // InternalSolverLanguage.g:3672:2: ()
12818 // InternalSolverLanguage.g:3672:3:
12819 {
12820 }
12821
12822 if ( state.backtracking==0 ) {
12823 after(grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0());
12824 }
12825
12826 }
12827
12828
12829 }
12830
12831 }
12832 finally {
12833
12834 restoreStackSize(stackSize);
12835
12836 }
12837 return ;
12838 }
12839 // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__0__Impl"
12840
12841
12842 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__1"
12843 // InternalSolverLanguage.g:3680:1: rule__DisjunctiveExpression__Group_1_1__1 : rule__DisjunctiveExpression__Group_1_1__1__Impl rule__DisjunctiveExpression__Group_1_1__2 ;
12844 public final void rule__DisjunctiveExpression__Group_1_1__1() throws RecognitionException {
12845
12846 int stackSize = keepStackSize();
12847
12848 try {
12849 // InternalSolverLanguage.g:3684:1: ( rule__DisjunctiveExpression__Group_1_1__1__Impl rule__DisjunctiveExpression__Group_1_1__2 )
12850 // InternalSolverLanguage.g:3685:2: rule__DisjunctiveExpression__Group_1_1__1__Impl rule__DisjunctiveExpression__Group_1_1__2
12851 {
12852 pushFollow(FOLLOW_7);
12853 rule__DisjunctiveExpression__Group_1_1__1__Impl();
12854
12855 state._fsp--;
12856 if (state.failed) return ;
12857 pushFollow(FOLLOW_2);
12858 rule__DisjunctiveExpression__Group_1_1__2();
12859
12860 state._fsp--;
12861 if (state.failed) return ;
8586 12862
8587 } 12863 }
8588 12864
@@ -8598,25 +12874,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8598 } 12874 }
8599 return ; 12875 return ;
8600 } 12876 }
8601 // $ANTLR end "rule__NamedObject__Group__0" 12877 // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__1"
8602 12878
8603 12879
8604 // $ANTLR start "rule__NamedObject__Group__0__Impl" 12880 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__1__Impl"
8605 // InternalSolverLanguage.g:2721:1: rule__NamedObject__Group__0__Impl : ( '\\'' ) ; 12881 // InternalSolverLanguage.g:3692:1: rule__DisjunctiveExpression__Group_1_1__1__Impl : ( '->' ) ;
8606 public final void rule__NamedObject__Group__0__Impl() throws RecognitionException { 12882 public final void rule__DisjunctiveExpression__Group_1_1__1__Impl() throws RecognitionException {
8607 12883
8608 int stackSize = keepStackSize(); 12884 int stackSize = keepStackSize();
8609 12885
8610 try { 12886 try {
8611 // InternalSolverLanguage.g:2725:1: ( ( '\\'' ) ) 12887 // InternalSolverLanguage.g:3696:1: ( ( '->' ) )
8612 // InternalSolverLanguage.g:2726:1: ( '\\'' ) 12888 // InternalSolverLanguage.g:3697:1: ( '->' )
8613 { 12889 {
8614 // InternalSolverLanguage.g:2726:1: ( '\\'' ) 12890 // InternalSolverLanguage.g:3697:1: ( '->' )
8615 // InternalSolverLanguage.g:2727:2: '\\'' 12891 // InternalSolverLanguage.g:3698:2: '->'
8616 { 12892 {
8617 before(grammarAccess.getNamedObjectAccess().getApostropheKeyword_0()); 12893 if ( state.backtracking==0 ) {
8618 match(input,27,FOLLOW_2); 12894 before(grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1());
8619 after(grammarAccess.getNamedObjectAccess().getApostropheKeyword_0()); 12895 }
12896 match(input,55,FOLLOW_2); if (state.failed) return ;
12897 if ( state.backtracking==0 ) {
12898 after(grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1());
12899 }
8620 12900
8621 } 12901 }
8622 12902
@@ -8635,28 +12915,79 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8635 } 12915 }
8636 return ; 12916 return ;
8637 } 12917 }
8638 // $ANTLR end "rule__NamedObject__Group__0__Impl" 12918 // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__1__Impl"
8639 12919
8640 12920
8641 // $ANTLR start "rule__NamedObject__Group__1" 12921 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__2"
8642 // InternalSolverLanguage.g:2736:1: rule__NamedObject__Group__1 : rule__NamedObject__Group__1__Impl rule__NamedObject__Group__2 ; 12922 // InternalSolverLanguage.g:3707:1: rule__DisjunctiveExpression__Group_1_1__2 : rule__DisjunctiveExpression__Group_1_1__2__Impl rule__DisjunctiveExpression__Group_1_1__3 ;
8643 public final void rule__NamedObject__Group__1() throws RecognitionException { 12923 public final void rule__DisjunctiveExpression__Group_1_1__2() throws RecognitionException {
8644 12924
8645 int stackSize = keepStackSize(); 12925 int stackSize = keepStackSize();
8646 12926
8647 try { 12927 try {
8648 // InternalSolverLanguage.g:2740:1: ( rule__NamedObject__Group__1__Impl rule__NamedObject__Group__2 ) 12928 // InternalSolverLanguage.g:3711:1: ( rule__DisjunctiveExpression__Group_1_1__2__Impl rule__DisjunctiveExpression__Group_1_1__3 )
8649 // InternalSolverLanguage.g:2741:2: rule__NamedObject__Group__1__Impl rule__NamedObject__Group__2 12929 // InternalSolverLanguage.g:3712:2: rule__DisjunctiveExpression__Group_1_1__2__Impl rule__DisjunctiveExpression__Group_1_1__3
8650 { 12930 {
8651 pushFollow(FOLLOW_18); 12931 pushFollow(FOLLOW_19);
8652 rule__NamedObject__Group__1__Impl(); 12932 rule__DisjunctiveExpression__Group_1_1__2__Impl();
12933
12934 state._fsp--;
12935 if (state.failed) return ;
12936 pushFollow(FOLLOW_2);
12937 rule__DisjunctiveExpression__Group_1_1__3();
8653 12938
8654 state._fsp--; 12939 state._fsp--;
12940 if (state.failed) return ;
12941
12942 }
12943
12944 }
12945 catch (RecognitionException re) {
12946 reportError(re);
12947 recover(input,re);
12948 }
12949 finally {
8655 12950
12951 restoreStackSize(stackSize);
12952
12953 }
12954 return ;
12955 }
12956 // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__2"
12957
12958
12959 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__2__Impl"
12960 // InternalSolverLanguage.g:3719:1: rule__DisjunctiveExpression__Group_1_1__2__Impl : ( ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) ) ;
12961 public final void rule__DisjunctiveExpression__Group_1_1__2__Impl() throws RecognitionException {
12962
12963 int stackSize = keepStackSize();
12964
12965 try {
12966 // InternalSolverLanguage.g:3723:1: ( ( ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) ) )
12967 // InternalSolverLanguage.g:3724:1: ( ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) )
12968 {
12969 // InternalSolverLanguage.g:3724:1: ( ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) )
12970 // InternalSolverLanguage.g:3725:2: ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 )
12971 {
12972 if ( state.backtracking==0 ) {
12973 before(grammarAccess.getDisjunctiveExpressionAccess().getBodyAssignment_1_1_2());
12974 }
12975 // InternalSolverLanguage.g:3726:2: ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 )
12976 // InternalSolverLanguage.g:3726:3: rule__DisjunctiveExpression__BodyAssignment_1_1_2
12977 {
8656 pushFollow(FOLLOW_2); 12978 pushFollow(FOLLOW_2);
8657 rule__NamedObject__Group__2(); 12979 rule__DisjunctiveExpression__BodyAssignment_1_1_2();
8658 12980
8659 state._fsp--; 12981 state._fsp--;
12982 if (state.failed) return ;
12983
12984 }
12985
12986 if ( state.backtracking==0 ) {
12987 after(grammarAccess.getDisjunctiveExpressionAccess().getBodyAssignment_1_1_2());
12988 }
12989
12990 }
8660 12991
8661 12992
8662 } 12993 }
@@ -8673,35 +13004,169 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8673 } 13004 }
8674 return ; 13005 return ;
8675 } 13006 }
8676 // $ANTLR end "rule__NamedObject__Group__1" 13007 // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__2__Impl"
8677 13008
8678 13009
8679 // $ANTLR start "rule__NamedObject__Group__1__Impl" 13010 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__3"
8680 // InternalSolverLanguage.g:2748:1: rule__NamedObject__Group__1__Impl : ( ( rule__NamedObject__NameAssignment_1 ) ) ; 13011 // InternalSolverLanguage.g:3734:1: rule__DisjunctiveExpression__Group_1_1__3 : rule__DisjunctiveExpression__Group_1_1__3__Impl rule__DisjunctiveExpression__Group_1_1__4 ;
8681 public final void rule__NamedObject__Group__1__Impl() throws RecognitionException { 13012 public final void rule__DisjunctiveExpression__Group_1_1__3() throws RecognitionException {
8682 13013
8683 int stackSize = keepStackSize(); 13014 int stackSize = keepStackSize();
8684 13015
8685 try { 13016 try {
8686 // InternalSolverLanguage.g:2752:1: ( ( ( rule__NamedObject__NameAssignment_1 ) ) ) 13017 // InternalSolverLanguage.g:3738:1: ( rule__DisjunctiveExpression__Group_1_1__3__Impl rule__DisjunctiveExpression__Group_1_1__4 )
8687 // InternalSolverLanguage.g:2753:1: ( ( rule__NamedObject__NameAssignment_1 ) ) 13018 // InternalSolverLanguage.g:3739:2: rule__DisjunctiveExpression__Group_1_1__3__Impl rule__DisjunctiveExpression__Group_1_1__4
8688 { 13019 {
8689 // InternalSolverLanguage.g:2753:1: ( ( rule__NamedObject__NameAssignment_1 ) ) 13020 pushFollow(FOLLOW_19);
8690 // InternalSolverLanguage.g:2754:2: ( rule__NamedObject__NameAssignment_1 ) 13021 rule__DisjunctiveExpression__Group_1_1__3__Impl();
13022
13023 state._fsp--;
13024 if (state.failed) return ;
13025 pushFollow(FOLLOW_2);
13026 rule__DisjunctiveExpression__Group_1_1__4();
13027
13028 state._fsp--;
13029 if (state.failed) return ;
13030
13031 }
13032
13033 }
13034 catch (RecognitionException re) {
13035 reportError(re);
13036 recover(input,re);
13037 }
13038 finally {
13039
13040 restoreStackSize(stackSize);
13041
13042 }
13043 return ;
13044 }
13045 // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__3"
13046
13047
13048 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__3__Impl"
13049 // InternalSolverLanguage.g:3746:1: rule__DisjunctiveExpression__Group_1_1__3__Impl : ( () ) ;
13050 public final void rule__DisjunctiveExpression__Group_1_1__3__Impl() throws RecognitionException {
13051
13052 int stackSize = keepStackSize();
13053
13054 try {
13055 // InternalSolverLanguage.g:3750:1: ( ( () ) )
13056 // InternalSolverLanguage.g:3751:1: ( () )
8691 { 13057 {
8692 before(grammarAccess.getNamedObjectAccess().getNameAssignment_1()); 13058 // InternalSolverLanguage.g:3751:1: ( () )
8693 // InternalSolverLanguage.g:2755:2: ( rule__NamedObject__NameAssignment_1 ) 13059 // InternalSolverLanguage.g:3752:2: ()
8694 // InternalSolverLanguage.g:2755:3: rule__NamedObject__NameAssignment_1 13060 {
13061 if ( state.backtracking==0 ) {
13062 before(grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3());
13063 }
13064 // InternalSolverLanguage.g:3753:2: ()
13065 // InternalSolverLanguage.g:3753:3:
13066 {
13067 }
13068
13069 if ( state.backtracking==0 ) {
13070 after(grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3());
13071 }
13072
13073 }
13074
13075
13076 }
13077
13078 }
13079 finally {
13080
13081 restoreStackSize(stackSize);
13082
13083 }
13084 return ;
13085 }
13086 // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__3__Impl"
13087
13088
13089 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__4"
13090 // InternalSolverLanguage.g:3761:1: rule__DisjunctiveExpression__Group_1_1__4 : rule__DisjunctiveExpression__Group_1_1__4__Impl ;
13091 public final void rule__DisjunctiveExpression__Group_1_1__4() throws RecognitionException {
13092
13093 int stackSize = keepStackSize();
13094
13095 try {
13096 // InternalSolverLanguage.g:3765:1: ( rule__DisjunctiveExpression__Group_1_1__4__Impl )
13097 // InternalSolverLanguage.g:3766:2: rule__DisjunctiveExpression__Group_1_1__4__Impl
8695 { 13098 {
8696 pushFollow(FOLLOW_2); 13099 pushFollow(FOLLOW_2);
8697 rule__NamedObject__NameAssignment_1(); 13100 rule__DisjunctiveExpression__Group_1_1__4__Impl();
8698 13101
8699 state._fsp--; 13102 state._fsp--;
13103 if (state.failed) return ;
8700 13104
13105 }
8701 13106
13107 }
13108 catch (RecognitionException re) {
13109 reportError(re);
13110 recover(input,re);
13111 }
13112 finally {
13113
13114 restoreStackSize(stackSize);
13115
13116 }
13117 return ;
13118 }
13119 // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__4"
13120
13121
13122 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__4__Impl"
13123 // InternalSolverLanguage.g:3772:1: rule__DisjunctiveExpression__Group_1_1__4__Impl : ( ( rule__DisjunctiveExpression__Group_1_1_4__0 )* ) ;
13124 public final void rule__DisjunctiveExpression__Group_1_1__4__Impl() throws RecognitionException {
13125
13126 int stackSize = keepStackSize();
13127
13128 try {
13129 // InternalSolverLanguage.g:3776:1: ( ( ( rule__DisjunctiveExpression__Group_1_1_4__0 )* ) )
13130 // InternalSolverLanguage.g:3777:1: ( ( rule__DisjunctiveExpression__Group_1_1_4__0 )* )
13131 {
13132 // InternalSolverLanguage.g:3777:1: ( ( rule__DisjunctiveExpression__Group_1_1_4__0 )* )
13133 // InternalSolverLanguage.g:3778:2: ( rule__DisjunctiveExpression__Group_1_1_4__0 )*
13134 {
13135 if ( state.backtracking==0 ) {
13136 before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1_4());
8702 } 13137 }
13138 // InternalSolverLanguage.g:3779:2: ( rule__DisjunctiveExpression__Group_1_1_4__0 )*
13139 loop32:
13140 do {
13141 int alt32=2;
13142 int LA32_0 = input.LA(1);
13143
13144 if ( (LA32_0==54) ) {
13145 alt32=1;
13146 }
13147
13148
13149 switch (alt32) {
13150 case 1 :
13151 // InternalSolverLanguage.g:3779:3: rule__DisjunctiveExpression__Group_1_1_4__0
13152 {
13153 pushFollow(FOLLOW_20);
13154 rule__DisjunctiveExpression__Group_1_1_4__0();
8703 13155
8704 after(grammarAccess.getNamedObjectAccess().getNameAssignment_1()); 13156 state._fsp--;
13157 if (state.failed) return ;
13158
13159 }
13160 break;
13161
13162 default :
13163 break loop32;
13164 }
13165 } while (true);
13166
13167 if ( state.backtracking==0 ) {
13168 after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1_4());
13169 }
8705 13170
8706 } 13171 }
8707 13172
@@ -8720,24 +13185,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8720 } 13185 }
8721 return ; 13186 return ;
8722 } 13187 }
8723 // $ANTLR end "rule__NamedObject__Group__1__Impl" 13188 // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__4__Impl"
8724 13189
8725 13190
8726 // $ANTLR start "rule__NamedObject__Group__2" 13191 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1_4__0"
8727 // InternalSolverLanguage.g:2763:1: rule__NamedObject__Group__2 : rule__NamedObject__Group__2__Impl ; 13192 // InternalSolverLanguage.g:3788:1: rule__DisjunctiveExpression__Group_1_1_4__0 : rule__DisjunctiveExpression__Group_1_1_4__0__Impl rule__DisjunctiveExpression__Group_1_1_4__1 ;
8728 public final void rule__NamedObject__Group__2() throws RecognitionException { 13193 public final void rule__DisjunctiveExpression__Group_1_1_4__0() throws RecognitionException {
8729 13194
8730 int stackSize = keepStackSize(); 13195 int stackSize = keepStackSize();
8731 13196
8732 try { 13197 try {
8733 // InternalSolverLanguage.g:2767:1: ( rule__NamedObject__Group__2__Impl ) 13198 // InternalSolverLanguage.g:3792:1: ( rule__DisjunctiveExpression__Group_1_1_4__0__Impl rule__DisjunctiveExpression__Group_1_1_4__1 )
8734 // InternalSolverLanguage.g:2768:2: rule__NamedObject__Group__2__Impl 13199 // InternalSolverLanguage.g:3793:2: rule__DisjunctiveExpression__Group_1_1_4__0__Impl rule__DisjunctiveExpression__Group_1_1_4__1
8735 { 13200 {
8736 pushFollow(FOLLOW_2); 13201 pushFollow(FOLLOW_7);
8737 rule__NamedObject__Group__2__Impl(); 13202 rule__DisjunctiveExpression__Group_1_1_4__0__Impl();
8738 13203
8739 state._fsp--; 13204 state._fsp--;
13205 if (state.failed) return ;
13206 pushFollow(FOLLOW_2);
13207 rule__DisjunctiveExpression__Group_1_1_4__1();
8740 13208
13209 state._fsp--;
13210 if (state.failed) return ;
8741 13211
8742 } 13212 }
8743 13213
@@ -8753,25 +13223,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8753 } 13223 }
8754 return ; 13224 return ;
8755 } 13225 }
8756 // $ANTLR end "rule__NamedObject__Group__2" 13226 // $ANTLR end "rule__DisjunctiveExpression__Group_1_1_4__0"
8757 13227
8758 13228
8759 // $ANTLR start "rule__NamedObject__Group__2__Impl" 13229 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1_4__0__Impl"
8760 // InternalSolverLanguage.g:2774:1: rule__NamedObject__Group__2__Impl : ( '\\'' ) ; 13230 // InternalSolverLanguage.g:3800:1: rule__DisjunctiveExpression__Group_1_1_4__0__Impl : ( ';' ) ;
8761 public final void rule__NamedObject__Group__2__Impl() throws RecognitionException { 13231 public final void rule__DisjunctiveExpression__Group_1_1_4__0__Impl() throws RecognitionException {
8762 13232
8763 int stackSize = keepStackSize(); 13233 int stackSize = keepStackSize();
8764 13234
8765 try { 13235 try {
8766 // InternalSolverLanguage.g:2778:1: ( ( '\\'' ) ) 13236 // InternalSolverLanguage.g:3804:1: ( ( ';' ) )
8767 // InternalSolverLanguage.g:2779:1: ( '\\'' ) 13237 // InternalSolverLanguage.g:3805:1: ( ';' )
8768 { 13238 {
8769 // InternalSolverLanguage.g:2779:1: ( '\\'' ) 13239 // InternalSolverLanguage.g:3805:1: ( ';' )
8770 // InternalSolverLanguage.g:2780:2: '\\'' 13240 // InternalSolverLanguage.g:3806:2: ';'
8771 { 13241 {
8772 before(grammarAccess.getNamedObjectAccess().getApostropheKeyword_2()); 13242 if ( state.backtracking==0 ) {
8773 match(input,27,FOLLOW_2); 13243 before(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0());
8774 after(grammarAccess.getNamedObjectAccess().getApostropheKeyword_2()); 13244 }
13245 match(input,54,FOLLOW_2); if (state.failed) return ;
13246 if ( state.backtracking==0 ) {
13247 after(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0());
13248 }
8775 13249
8776 } 13250 }
8777 13251
@@ -8790,28 +13264,74 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8790 } 13264 }
8791 return ; 13265 return ;
8792 } 13266 }
8793 // $ANTLR end "rule__NamedObject__Group__2__Impl" 13267 // $ANTLR end "rule__DisjunctiveExpression__Group_1_1_4__0__Impl"
8794 13268
8795 13269
8796 // $ANTLR start "rule__Predicate__Group__0" 13270 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1_4__1"
8797 // InternalSolverLanguage.g:2790:1: rule__Predicate__Group__0 : rule__Predicate__Group__0__Impl rule__Predicate__Group__1 ; 13271 // InternalSolverLanguage.g:3815:1: rule__DisjunctiveExpression__Group_1_1_4__1 : rule__DisjunctiveExpression__Group_1_1_4__1__Impl ;
8798 public final void rule__Predicate__Group__0() throws RecognitionException { 13272 public final void rule__DisjunctiveExpression__Group_1_1_4__1() throws RecognitionException {
8799 13273
8800 int stackSize = keepStackSize(); 13274 int stackSize = keepStackSize();
8801 13275
8802 try { 13276 try {
8803 // InternalSolverLanguage.g:2794:1: ( rule__Predicate__Group__0__Impl rule__Predicate__Group__1 ) 13277 // InternalSolverLanguage.g:3819:1: ( rule__DisjunctiveExpression__Group_1_1_4__1__Impl )
8804 // InternalSolverLanguage.g:2795:2: rule__Predicate__Group__0__Impl rule__Predicate__Group__1 13278 // InternalSolverLanguage.g:3820:2: rule__DisjunctiveExpression__Group_1_1_4__1__Impl
8805 { 13279 {
8806 pushFollow(FOLLOW_19); 13280 pushFollow(FOLLOW_2);
8807 rule__Predicate__Group__0__Impl(); 13281 rule__DisjunctiveExpression__Group_1_1_4__1__Impl();
8808 13282
8809 state._fsp--; 13283 state._fsp--;
13284 if (state.failed) return ;
13285
13286 }
13287
13288 }
13289 catch (RecognitionException re) {
13290 reportError(re);
13291 recover(input,re);
13292 }
13293 finally {
13294
13295 restoreStackSize(stackSize);
13296
13297 }
13298 return ;
13299 }
13300 // $ANTLR end "rule__DisjunctiveExpression__Group_1_1_4__1"
8810 13301
13302
13303 // $ANTLR start "rule__DisjunctiveExpression__Group_1_1_4__1__Impl"
13304 // InternalSolverLanguage.g:3826:1: rule__DisjunctiveExpression__Group_1_1_4__1__Impl : ( ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) ) ;
13305 public final void rule__DisjunctiveExpression__Group_1_1_4__1__Impl() throws RecognitionException {
13306
13307 int stackSize = keepStackSize();
13308
13309 try {
13310 // InternalSolverLanguage.g:3830:1: ( ( ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) ) )
13311 // InternalSolverLanguage.g:3831:1: ( ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) )
13312 {
13313 // InternalSolverLanguage.g:3831:1: ( ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) )
13314 // InternalSolverLanguage.g:3832:2: ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 )
13315 {
13316 if ( state.backtracking==0 ) {
13317 before(grammarAccess.getDisjunctiveExpressionAccess().getCasesAssignment_1_1_4_1());
13318 }
13319 // InternalSolverLanguage.g:3833:2: ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 )
13320 // InternalSolverLanguage.g:3833:3: rule__DisjunctiveExpression__CasesAssignment_1_1_4_1
13321 {
8811 pushFollow(FOLLOW_2); 13322 pushFollow(FOLLOW_2);
8812 rule__Predicate__Group__1(); 13323 rule__DisjunctiveExpression__CasesAssignment_1_1_4_1();
8813 13324
8814 state._fsp--; 13325 state._fsp--;
13326 if (state.failed) return ;
13327
13328 }
13329
13330 if ( state.backtracking==0 ) {
13331 after(grammarAccess.getDisjunctiveExpressionAccess().getCasesAssignment_1_1_4_1());
13332 }
13333
13334 }
8815 13335
8816 13336
8817 } 13337 }
@@ -8828,46 +13348,77 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8828 } 13348 }
8829 return ; 13349 return ;
8830 } 13350 }
8831 // $ANTLR end "rule__Predicate__Group__0" 13351 // $ANTLR end "rule__DisjunctiveExpression__Group_1_1_4__1__Impl"
8832 13352
8833 13353
8834 // $ANTLR start "rule__Predicate__Group__0__Impl" 13354 // $ANTLR start "rule__Case__Group__0"
8835 // InternalSolverLanguage.g:2802:1: rule__Predicate__Group__0__Impl : ( ( rule__Predicate__IsErrorAssignment_0 )? ) ; 13355 // InternalSolverLanguage.g:3842:1: rule__Case__Group__0 : rule__Case__Group__0__Impl rule__Case__Group__1 ;
8836 public final void rule__Predicate__Group__0__Impl() throws RecognitionException { 13356 public final void rule__Case__Group__0() throws RecognitionException {
8837 13357
8838 int stackSize = keepStackSize(); 13358 int stackSize = keepStackSize();
8839 13359
8840 try { 13360 try {
8841 // InternalSolverLanguage.g:2806:1: ( ( ( rule__Predicate__IsErrorAssignment_0 )? ) ) 13361 // InternalSolverLanguage.g:3846:1: ( rule__Case__Group__0__Impl rule__Case__Group__1 )
8842 // InternalSolverLanguage.g:2807:1: ( ( rule__Predicate__IsErrorAssignment_0 )? ) 13362 // InternalSolverLanguage.g:3847:2: rule__Case__Group__0__Impl rule__Case__Group__1
8843 {
8844 // InternalSolverLanguage.g:2807:1: ( ( rule__Predicate__IsErrorAssignment_0 )? )
8845 // InternalSolverLanguage.g:2808:2: ( rule__Predicate__IsErrorAssignment_0 )?
8846 { 13363 {
8847 before(grammarAccess.getPredicateAccess().getIsErrorAssignment_0()); 13364 pushFollow(FOLLOW_21);
8848 // InternalSolverLanguage.g:2809:2: ( rule__Predicate__IsErrorAssignment_0 )? 13365 rule__Case__Group__0__Impl();
8849 int alt26=2; 13366
8850 int LA26_0 = input.LA(1); 13367 state._fsp--;
13368 if (state.failed) return ;
13369 pushFollow(FOLLOW_2);
13370 rule__Case__Group__1();
13371
13372 state._fsp--;
13373 if (state.failed) return ;
8851 13374
8852 if ( (LA26_0==16) ) {
8853 alt26=1;
8854 } 13375 }
8855 switch (alt26) {
8856 case 1 :
8857 // InternalSolverLanguage.g:2809:3: rule__Predicate__IsErrorAssignment_0
8858 {
8859 pushFollow(FOLLOW_2);
8860 rule__Predicate__IsErrorAssignment_0();
8861 13376
8862 state._fsp--; 13377 }
13378 catch (RecognitionException re) {
13379 reportError(re);
13380 recover(input,re);
13381 }
13382 finally {
8863 13383
13384 restoreStackSize(stackSize);
8864 13385
8865 } 13386 }
8866 break; 13387 return ;
13388 }
13389 // $ANTLR end "rule__Case__Group__0"
13390
13391
13392 // $ANTLR start "rule__Case__Group__0__Impl"
13393 // InternalSolverLanguage.g:3854:1: rule__Case__Group__0__Impl : ( ( rule__Case__ConditionAssignment_0 ) ) ;
13394 public final void rule__Case__Group__0__Impl() throws RecognitionException {
8867 13395
13396 int stackSize = keepStackSize();
13397
13398 try {
13399 // InternalSolverLanguage.g:3858:1: ( ( ( rule__Case__ConditionAssignment_0 ) ) )
13400 // InternalSolverLanguage.g:3859:1: ( ( rule__Case__ConditionAssignment_0 ) )
13401 {
13402 // InternalSolverLanguage.g:3859:1: ( ( rule__Case__ConditionAssignment_0 ) )
13403 // InternalSolverLanguage.g:3860:2: ( rule__Case__ConditionAssignment_0 )
13404 {
13405 if ( state.backtracking==0 ) {
13406 before(grammarAccess.getCaseAccess().getConditionAssignment_0());
8868 } 13407 }
13408 // InternalSolverLanguage.g:3861:2: ( rule__Case__ConditionAssignment_0 )
13409 // InternalSolverLanguage.g:3861:3: rule__Case__ConditionAssignment_0
13410 {
13411 pushFollow(FOLLOW_2);
13412 rule__Case__ConditionAssignment_0();
8869 13413
8870 after(grammarAccess.getPredicateAccess().getIsErrorAssignment_0()); 13414 state._fsp--;
13415 if (state.failed) return ;
13416
13417 }
13418
13419 if ( state.backtracking==0 ) {
13420 after(grammarAccess.getCaseAccess().getConditionAssignment_0());
13421 }
8871 13422
8872 } 13423 }
8873 13424
@@ -8886,29 +13437,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8886 } 13437 }
8887 return ; 13438 return ;
8888 } 13439 }
8889 // $ANTLR end "rule__Predicate__Group__0__Impl" 13440 // $ANTLR end "rule__Case__Group__0__Impl"
8890 13441
8891 13442
8892 // $ANTLR start "rule__Predicate__Group__1" 13443 // $ANTLR start "rule__Case__Group__1"
8893 // InternalSolverLanguage.g:2817:1: rule__Predicate__Group__1 : rule__Predicate__Group__1__Impl rule__Predicate__Group__2 ; 13444 // InternalSolverLanguage.g:3869:1: rule__Case__Group__1 : rule__Case__Group__1__Impl rule__Case__Group__2 ;
8894 public final void rule__Predicate__Group__1() throws RecognitionException { 13445 public final void rule__Case__Group__1() throws RecognitionException {
8895 13446
8896 int stackSize = keepStackSize(); 13447 int stackSize = keepStackSize();
8897 13448
8898 try { 13449 try {
8899 // InternalSolverLanguage.g:2821:1: ( rule__Predicate__Group__1__Impl rule__Predicate__Group__2 ) 13450 // InternalSolverLanguage.g:3873:1: ( rule__Case__Group__1__Impl rule__Case__Group__2 )
8900 // InternalSolverLanguage.g:2822:2: rule__Predicate__Group__1__Impl rule__Predicate__Group__2 13451 // InternalSolverLanguage.g:3874:2: rule__Case__Group__1__Impl rule__Case__Group__2
8901 { 13452 {
8902 pushFollow(FOLLOW_20); 13453 pushFollow(FOLLOW_7);
8903 rule__Predicate__Group__1__Impl(); 13454 rule__Case__Group__1__Impl();
8904 13455
8905 state._fsp--; 13456 state._fsp--;
8906 13457 if (state.failed) return ;
8907 pushFollow(FOLLOW_2); 13458 pushFollow(FOLLOW_2);
8908 rule__Predicate__Group__2(); 13459 rule__Case__Group__2();
8909 13460
8910 state._fsp--; 13461 state._fsp--;
8911 13462 if (state.failed) return ;
8912 13463
8913 } 13464 }
8914 13465
@@ -8924,35 +13475,113 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8924 } 13475 }
8925 return ; 13476 return ;
8926 } 13477 }
8927 // $ANTLR end "rule__Predicate__Group__1" 13478 // $ANTLR end "rule__Case__Group__1"
8928 13479
8929 13480
8930 // $ANTLR start "rule__Predicate__Group__1__Impl" 13481 // $ANTLR start "rule__Case__Group__1__Impl"
8931 // InternalSolverLanguage.g:2829:1: rule__Predicate__Group__1__Impl : ( ( rule__Predicate__SymbolAssignment_1 ) ) ; 13482 // InternalSolverLanguage.g:3881:1: rule__Case__Group__1__Impl : ( '->' ) ;
8932 public final void rule__Predicate__Group__1__Impl() throws RecognitionException { 13483 public final void rule__Case__Group__1__Impl() throws RecognitionException {
8933 13484
8934 int stackSize = keepStackSize(); 13485 int stackSize = keepStackSize();
8935 13486
8936 try { 13487 try {
8937 // InternalSolverLanguage.g:2833:1: ( ( ( rule__Predicate__SymbolAssignment_1 ) ) ) 13488 // InternalSolverLanguage.g:3885:1: ( ( '->' ) )
8938 // InternalSolverLanguage.g:2834:1: ( ( rule__Predicate__SymbolAssignment_1 ) ) 13489 // InternalSolverLanguage.g:3886:1: ( '->' )
8939 { 13490 {
8940 // InternalSolverLanguage.g:2834:1: ( ( rule__Predicate__SymbolAssignment_1 ) ) 13491 // InternalSolverLanguage.g:3886:1: ( '->' )
8941 // InternalSolverLanguage.g:2835:2: ( rule__Predicate__SymbolAssignment_1 ) 13492 // InternalSolverLanguage.g:3887:2: '->'
8942 { 13493 {
8943 before(grammarAccess.getPredicateAccess().getSymbolAssignment_1()); 13494 if ( state.backtracking==0 ) {
8944 // InternalSolverLanguage.g:2836:2: ( rule__Predicate__SymbolAssignment_1 ) 13495 before(grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1());
8945 // InternalSolverLanguage.g:2836:3: rule__Predicate__SymbolAssignment_1 13496 }
13497 match(input,55,FOLLOW_2); if (state.failed) return ;
13498 if ( state.backtracking==0 ) {
13499 after(grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1());
13500 }
13501
13502 }
13503
13504
13505 }
13506
13507 }
13508 catch (RecognitionException re) {
13509 reportError(re);
13510 recover(input,re);
13511 }
13512 finally {
13513
13514 restoreStackSize(stackSize);
13515
13516 }
13517 return ;
13518 }
13519 // $ANTLR end "rule__Case__Group__1__Impl"
13520
13521
13522 // $ANTLR start "rule__Case__Group__2"
13523 // InternalSolverLanguage.g:3896:1: rule__Case__Group__2 : rule__Case__Group__2__Impl ;
13524 public final void rule__Case__Group__2() throws RecognitionException {
13525
13526 int stackSize = keepStackSize();
13527
13528 try {
13529 // InternalSolverLanguage.g:3900:1: ( rule__Case__Group__2__Impl )
13530 // InternalSolverLanguage.g:3901:2: rule__Case__Group__2__Impl
8946 { 13531 {
8947 pushFollow(FOLLOW_2); 13532 pushFollow(FOLLOW_2);
8948 rule__Predicate__SymbolAssignment_1(); 13533 rule__Case__Group__2__Impl();
8949 13534
8950 state._fsp--; 13535 state._fsp--;
13536 if (state.failed) return ;
13537
13538 }
13539
13540 }
13541 catch (RecognitionException re) {
13542 reportError(re);
13543 recover(input,re);
13544 }
13545 finally {
13546
13547 restoreStackSize(stackSize);
13548
13549 }
13550 return ;
13551 }
13552 // $ANTLR end "rule__Case__Group__2"
13553
13554
13555 // $ANTLR start "rule__Case__Group__2__Impl"
13556 // InternalSolverLanguage.g:3907:1: rule__Case__Group__2__Impl : ( ( rule__Case__BodyAssignment_2 ) ) ;
13557 public final void rule__Case__Group__2__Impl() throws RecognitionException {
13558
13559 int stackSize = keepStackSize();
13560
13561 try {
13562 // InternalSolverLanguage.g:3911:1: ( ( ( rule__Case__BodyAssignment_2 ) ) )
13563 // InternalSolverLanguage.g:3912:1: ( ( rule__Case__BodyAssignment_2 ) )
13564 {
13565 // InternalSolverLanguage.g:3912:1: ( ( rule__Case__BodyAssignment_2 ) )
13566 // InternalSolverLanguage.g:3913:2: ( rule__Case__BodyAssignment_2 )
13567 {
13568 if ( state.backtracking==0 ) {
13569 before(grammarAccess.getCaseAccess().getBodyAssignment_2());
13570 }
13571 // InternalSolverLanguage.g:3914:2: ( rule__Case__BodyAssignment_2 )
13572 // InternalSolverLanguage.g:3914:3: rule__Case__BodyAssignment_2
13573 {
13574 pushFollow(FOLLOW_2);
13575 rule__Case__BodyAssignment_2();
8951 13576
13577 state._fsp--;
13578 if (state.failed) return ;
8952 13579
8953 } 13580 }
8954 13581
8955 after(grammarAccess.getPredicateAccess().getSymbolAssignment_1()); 13582 if ( state.backtracking==0 ) {
13583 after(grammarAccess.getCaseAccess().getBodyAssignment_2());
13584 }
8956 13585
8957 } 13586 }
8958 13587
@@ -8971,28 +13600,73 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
8971 } 13600 }
8972 return ; 13601 return ;
8973 } 13602 }
8974 // $ANTLR end "rule__Predicate__Group__1__Impl" 13603 // $ANTLR end "rule__Case__Group__2__Impl"
8975 13604
8976 13605
8977 // $ANTLR start "rule__Predicate__Group__2" 13606 // $ANTLR start "rule__ConjunctiveExpression__Group__0"
8978 // InternalSolverLanguage.g:2844:1: rule__Predicate__Group__2 : rule__Predicate__Group__2__Impl rule__Predicate__Group__3 ; 13607 // InternalSolverLanguage.g:3923:1: rule__ConjunctiveExpression__Group__0 : rule__ConjunctiveExpression__Group__0__Impl rule__ConjunctiveExpression__Group__1 ;
8979 public final void rule__Predicate__Group__2() throws RecognitionException { 13608 public final void rule__ConjunctiveExpression__Group__0() throws RecognitionException {
8980 13609
8981 int stackSize = keepStackSize(); 13610 int stackSize = keepStackSize();
8982 13611
8983 try { 13612 try {
8984 // InternalSolverLanguage.g:2848:1: ( rule__Predicate__Group__2__Impl rule__Predicate__Group__3 ) 13613 // InternalSolverLanguage.g:3927:1: ( rule__ConjunctiveExpression__Group__0__Impl rule__ConjunctiveExpression__Group__1 )
8985 // InternalSolverLanguage.g:2849:2: rule__Predicate__Group__2__Impl rule__Predicate__Group__3 13614 // InternalSolverLanguage.g:3928:2: rule__ConjunctiveExpression__Group__0__Impl rule__ConjunctiveExpression__Group__1
8986 { 13615 {
8987 pushFollow(FOLLOW_20); 13616 pushFollow(FOLLOW_22);
8988 rule__Predicate__Group__2__Impl(); 13617 rule__ConjunctiveExpression__Group__0__Impl();
13618
13619 state._fsp--;
13620 if (state.failed) return ;
13621 pushFollow(FOLLOW_2);
13622 rule__ConjunctiveExpression__Group__1();
8989 13623
8990 state._fsp--; 13624 state._fsp--;
13625 if (state.failed) return ;
13626
13627 }
13628
13629 }
13630 catch (RecognitionException re) {
13631 reportError(re);
13632 recover(input,re);
13633 }
13634 finally {
8991 13635
13636 restoreStackSize(stackSize);
13637
13638 }
13639 return ;
13640 }
13641 // $ANTLR end "rule__ConjunctiveExpression__Group__0"
13642
13643
13644 // $ANTLR start "rule__ConjunctiveExpression__Group__0__Impl"
13645 // InternalSolverLanguage.g:3935:1: rule__ConjunctiveExpression__Group__0__Impl : ( ruleComparisonExpression ) ;
13646 public final void rule__ConjunctiveExpression__Group__0__Impl() throws RecognitionException {
13647
13648 int stackSize = keepStackSize();
13649
13650 try {
13651 // InternalSolverLanguage.g:3939:1: ( ( ruleComparisonExpression ) )
13652 // InternalSolverLanguage.g:3940:1: ( ruleComparisonExpression )
13653 {
13654 // InternalSolverLanguage.g:3940:1: ( ruleComparisonExpression )
13655 // InternalSolverLanguage.g:3941:2: ruleComparisonExpression
13656 {
13657 if ( state.backtracking==0 ) {
13658 before(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0());
13659 }
8992 pushFollow(FOLLOW_2); 13660 pushFollow(FOLLOW_2);
8993 rule__Predicate__Group__3(); 13661 ruleComparisonExpression();
8994 13662
8995 state._fsp--; 13663 state._fsp--;
13664 if (state.failed) return ;
13665 if ( state.backtracking==0 ) {
13666 after(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0());
13667 }
13668
13669 }
8996 13670
8997 13671
8998 } 13672 }
@@ -9009,46 +13683,83 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9009 } 13683 }
9010 return ; 13684 return ;
9011 } 13685 }
9012 // $ANTLR end "rule__Predicate__Group__2" 13686 // $ANTLR end "rule__ConjunctiveExpression__Group__0__Impl"
9013 13687
9014 13688
9015 // $ANTLR start "rule__Predicate__Group__2__Impl" 13689 // $ANTLR start "rule__ConjunctiveExpression__Group__1"
9016 // InternalSolverLanguage.g:2856:1: rule__Predicate__Group__2__Impl : ( ( rule__Predicate__Group_2__0 )? ) ; 13690 // InternalSolverLanguage.g:3950:1: rule__ConjunctiveExpression__Group__1 : rule__ConjunctiveExpression__Group__1__Impl ;
9017 public final void rule__Predicate__Group__2__Impl() throws RecognitionException { 13691 public final void rule__ConjunctiveExpression__Group__1() throws RecognitionException {
9018 13692
9019 int stackSize = keepStackSize(); 13693 int stackSize = keepStackSize();
9020 13694
9021 try { 13695 try {
9022 // InternalSolverLanguage.g:2860:1: ( ( ( rule__Predicate__Group_2__0 )? ) ) 13696 // InternalSolverLanguage.g:3954:1: ( rule__ConjunctiveExpression__Group__1__Impl )
9023 // InternalSolverLanguage.g:2861:1: ( ( rule__Predicate__Group_2__0 )? ) 13697 // InternalSolverLanguage.g:3955:2: rule__ConjunctiveExpression__Group__1__Impl
9024 { 13698 {
9025 // InternalSolverLanguage.g:2861:1: ( ( rule__Predicate__Group_2__0 )? ) 13699 pushFollow(FOLLOW_2);
9026 // InternalSolverLanguage.g:2862:2: ( rule__Predicate__Group_2__0 )? 13700 rule__ConjunctiveExpression__Group__1__Impl();
13701
13702 state._fsp--;
13703 if (state.failed) return ;
13704
13705 }
13706
13707 }
13708 catch (RecognitionException re) {
13709 reportError(re);
13710 recover(input,re);
13711 }
13712 finally {
13713
13714 restoreStackSize(stackSize);
13715
13716 }
13717 return ;
13718 }
13719 // $ANTLR end "rule__ConjunctiveExpression__Group__1"
13720
13721
13722 // $ANTLR start "rule__ConjunctiveExpression__Group__1__Impl"
13723 // InternalSolverLanguage.g:3961:1: rule__ConjunctiveExpression__Group__1__Impl : ( ( rule__ConjunctiveExpression__Group_1__0 )? ) ;
13724 public final void rule__ConjunctiveExpression__Group__1__Impl() throws RecognitionException {
13725
13726 int stackSize = keepStackSize();
13727
13728 try {
13729 // InternalSolverLanguage.g:3965:1: ( ( ( rule__ConjunctiveExpression__Group_1__0 )? ) )
13730 // InternalSolverLanguage.g:3966:1: ( ( rule__ConjunctiveExpression__Group_1__0 )? )
9027 { 13731 {
9028 before(grammarAccess.getPredicateAccess().getGroup_2()); 13732 // InternalSolverLanguage.g:3966:1: ( ( rule__ConjunctiveExpression__Group_1__0 )? )
9029 // InternalSolverLanguage.g:2863:2: ( rule__Predicate__Group_2__0 )? 13733 // InternalSolverLanguage.g:3967:2: ( rule__ConjunctiveExpression__Group_1__0 )?
9030 int alt27=2; 13734 {
9031 int LA27_0 = input.LA(1); 13735 if ( state.backtracking==0 ) {
13736 before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1());
13737 }
13738 // InternalSolverLanguage.g:3968:2: ( rule__ConjunctiveExpression__Group_1__0 )?
13739 int alt33=2;
13740 int LA33_0 = input.LA(1);
9032 13741
9033 if ( (LA27_0==18) ) { 13742 if ( (LA33_0==56) ) {
9034 alt27=1; 13743 alt33=1;
9035 } 13744 }
9036 switch (alt27) { 13745 switch (alt33) {
9037 case 1 : 13746 case 1 :
9038 // InternalSolverLanguage.g:2863:3: rule__Predicate__Group_2__0 13747 // InternalSolverLanguage.g:3968:3: rule__ConjunctiveExpression__Group_1__0
9039 { 13748 {
9040 pushFollow(FOLLOW_2); 13749 pushFollow(FOLLOW_2);
9041 rule__Predicate__Group_2__0(); 13750 rule__ConjunctiveExpression__Group_1__0();
9042 13751
9043 state._fsp--; 13752 state._fsp--;
9044 13753 if (state.failed) return ;
9045 13754
9046 } 13755 }
9047 break; 13756 break;
9048 13757
9049 } 13758 }
9050 13759
9051 after(grammarAccess.getPredicateAccess().getGroup_2()); 13760 if ( state.backtracking==0 ) {
13761 after(grammarAccess.getConjunctiveExpressionAccess().getGroup_1());
13762 }
9052 13763
9053 } 13764 }
9054 13765
@@ -9067,29 +13778,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9067 } 13778 }
9068 return ; 13779 return ;
9069 } 13780 }
9070 // $ANTLR end "rule__Predicate__Group__2__Impl" 13781 // $ANTLR end "rule__ConjunctiveExpression__Group__1__Impl"
9071 13782
9072 13783
9073 // $ANTLR start "rule__Predicate__Group__3" 13784 // $ANTLR start "rule__ConjunctiveExpression__Group_1__0"
9074 // InternalSolverLanguage.g:2871:1: rule__Predicate__Group__3 : rule__Predicate__Group__3__Impl rule__Predicate__Group__4 ; 13785 // InternalSolverLanguage.g:3977:1: rule__ConjunctiveExpression__Group_1__0 : rule__ConjunctiveExpression__Group_1__0__Impl rule__ConjunctiveExpression__Group_1__1 ;
9075 public final void rule__Predicate__Group__3() throws RecognitionException { 13786 public final void rule__ConjunctiveExpression__Group_1__0() throws RecognitionException {
9076 13787
9077 int stackSize = keepStackSize(); 13788 int stackSize = keepStackSize();
9078 13789
9079 try { 13790 try {
9080 // InternalSolverLanguage.g:2875:1: ( rule__Predicate__Group__3__Impl rule__Predicate__Group__4 ) 13791 // InternalSolverLanguage.g:3981:1: ( rule__ConjunctiveExpression__Group_1__0__Impl rule__ConjunctiveExpression__Group_1__1 )
9081 // InternalSolverLanguage.g:2876:2: rule__Predicate__Group__3__Impl rule__Predicate__Group__4 13792 // InternalSolverLanguage.g:3982:2: rule__ConjunctiveExpression__Group_1__0__Impl rule__ConjunctiveExpression__Group_1__1
9082 { 13793 {
9083 pushFollow(FOLLOW_21); 13794 pushFollow(FOLLOW_22);
9084 rule__Predicate__Group__3__Impl(); 13795 rule__ConjunctiveExpression__Group_1__0__Impl();
9085 13796
9086 state._fsp--; 13797 state._fsp--;
9087 13798 if (state.failed) return ;
9088 pushFollow(FOLLOW_2); 13799 pushFollow(FOLLOW_2);
9089 rule__Predicate__Group__4(); 13800 rule__ConjunctiveExpression__Group_1__1();
9090 13801
9091 state._fsp--; 13802 state._fsp--;
9092 13803 if (state.failed) return ;
9093 13804
9094 } 13805 }
9095 13806
@@ -9105,25 +13816,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9105 } 13816 }
9106 return ; 13817 return ;
9107 } 13818 }
9108 // $ANTLR end "rule__Predicate__Group__3" 13819 // $ANTLR end "rule__ConjunctiveExpression__Group_1__0"
9109 13820
9110 13821
9111 // $ANTLR start "rule__Predicate__Group__3__Impl" 13822 // $ANTLR start "rule__ConjunctiveExpression__Group_1__0__Impl"
9112 // InternalSolverLanguage.g:2883:1: rule__Predicate__Group__3__Impl : ( ':-' ) ; 13823 // InternalSolverLanguage.g:3989:1: rule__ConjunctiveExpression__Group_1__0__Impl : ( () ) ;
9113 public final void rule__Predicate__Group__3__Impl() throws RecognitionException { 13824 public final void rule__ConjunctiveExpression__Group_1__0__Impl() throws RecognitionException {
9114 13825
9115 int stackSize = keepStackSize(); 13826 int stackSize = keepStackSize();
9116 13827
9117 try { 13828 try {
9118 // InternalSolverLanguage.g:2887:1: ( ( ':-' ) ) 13829 // InternalSolverLanguage.g:3993:1: ( ( () ) )
9119 // InternalSolverLanguage.g:2888:1: ( ':-' ) 13830 // InternalSolverLanguage.g:3994:1: ( () )
9120 { 13831 {
9121 // InternalSolverLanguage.g:2888:1: ( ':-' ) 13832 // InternalSolverLanguage.g:3994:1: ( () )
9122 // InternalSolverLanguage.g:2889:2: ':-' 13833 // InternalSolverLanguage.g:3995:2: ()
9123 { 13834 {
9124 before(grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3()); 13835 if ( state.backtracking==0 ) {
9125 match(input,28,FOLLOW_2); 13836 before(grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0());
9126 after(grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3()); 13837 }
13838 // InternalSolverLanguage.g:3996:2: ()
13839 // InternalSolverLanguage.g:3996:3:
13840 {
13841 }
13842
13843 if ( state.backtracking==0 ) {
13844 after(grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0());
13845 }
9127 13846
9128 } 13847 }
9129 13848
@@ -9131,6 +13850,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9131 } 13850 }
9132 13851
9133 } 13852 }
13853 finally {
13854
13855 restoreStackSize(stackSize);
13856
13857 }
13858 return ;
13859 }
13860 // $ANTLR end "rule__ConjunctiveExpression__Group_1__0__Impl"
13861
13862
13863 // $ANTLR start "rule__ConjunctiveExpression__Group_1__1"
13864 // InternalSolverLanguage.g:4004:1: rule__ConjunctiveExpression__Group_1__1 : rule__ConjunctiveExpression__Group_1__1__Impl ;
13865 public final void rule__ConjunctiveExpression__Group_1__1() throws RecognitionException {
13866
13867 int stackSize = keepStackSize();
13868
13869 try {
13870 // InternalSolverLanguage.g:4008:1: ( rule__ConjunctiveExpression__Group_1__1__Impl )
13871 // InternalSolverLanguage.g:4009:2: rule__ConjunctiveExpression__Group_1__1__Impl
13872 {
13873 pushFollow(FOLLOW_2);
13874 rule__ConjunctiveExpression__Group_1__1__Impl();
13875
13876 state._fsp--;
13877 if (state.failed) return ;
13878
13879 }
13880
13881 }
9134 catch (RecognitionException re) { 13882 catch (RecognitionException re) {
9135 reportError(re); 13883 reportError(re);
9136 recover(input,re); 13884 recover(input,re);
@@ -9142,28 +13890,88 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9142 } 13890 }
9143 return ; 13891 return ;
9144 } 13892 }
9145 // $ANTLR end "rule__Predicate__Group__3__Impl" 13893 // $ANTLR end "rule__ConjunctiveExpression__Group_1__1"
9146 13894
9147 13895
9148 // $ANTLR start "rule__Predicate__Group__4" 13896 // $ANTLR start "rule__ConjunctiveExpression__Group_1__1__Impl"
9149 // InternalSolverLanguage.g:2898:1: rule__Predicate__Group__4 : rule__Predicate__Group__4__Impl rule__Predicate__Group__5 ; 13897 // InternalSolverLanguage.g:4015:1: rule__ConjunctiveExpression__Group_1__1__Impl : ( ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) ) ;
9150 public final void rule__Predicate__Group__4() throws RecognitionException { 13898 public final void rule__ConjunctiveExpression__Group_1__1__Impl() throws RecognitionException {
9151 13899
9152 int stackSize = keepStackSize(); 13900 int stackSize = keepStackSize();
9153 13901
9154 try { 13902 try {
9155 // InternalSolverLanguage.g:2902:1: ( rule__Predicate__Group__4__Impl rule__Predicate__Group__5 ) 13903 // InternalSolverLanguage.g:4019:1: ( ( ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) ) )
9156 // InternalSolverLanguage.g:2903:2: rule__Predicate__Group__4__Impl rule__Predicate__Group__5 13904 // InternalSolverLanguage.g:4020:1: ( ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) )
9157 { 13905 {
9158 pushFollow(FOLLOW_6); 13906 // InternalSolverLanguage.g:4020:1: ( ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) )
9159 rule__Predicate__Group__4__Impl(); 13907 // InternalSolverLanguage.g:4021:2: ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* )
13908 {
13909 // InternalSolverLanguage.g:4021:2: ( ( rule__ConjunctiveExpression__Group_1_1__0 ) )
13910 // InternalSolverLanguage.g:4022:3: ( rule__ConjunctiveExpression__Group_1_1__0 )
13911 {
13912 if ( state.backtracking==0 ) {
13913 before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1());
13914 }
13915 // InternalSolverLanguage.g:4023:3: ( rule__ConjunctiveExpression__Group_1_1__0 )
13916 // InternalSolverLanguage.g:4023:4: rule__ConjunctiveExpression__Group_1_1__0
13917 {
13918 pushFollow(FOLLOW_23);
13919 rule__ConjunctiveExpression__Group_1_1__0();
9160 13920
9161 state._fsp--; 13921 state._fsp--;
13922 if (state.failed) return ;
9162 13923
9163 pushFollow(FOLLOW_2); 13924 }
9164 rule__Predicate__Group__5();
9165 13925
9166 state._fsp--; 13926 if ( state.backtracking==0 ) {
13927 after(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1());
13928 }
13929
13930 }
13931
13932 // InternalSolverLanguage.g:4026:2: ( ( rule__ConjunctiveExpression__Group_1_1__0 )* )
13933 // InternalSolverLanguage.g:4027:3: ( rule__ConjunctiveExpression__Group_1_1__0 )*
13934 {
13935 if ( state.backtracking==0 ) {
13936 before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1());
13937 }
13938 // InternalSolverLanguage.g:4028:3: ( rule__ConjunctiveExpression__Group_1_1__0 )*
13939 loop34:
13940 do {
13941 int alt34=2;
13942 int LA34_0 = input.LA(1);
13943
13944 if ( (LA34_0==56) ) {
13945 alt34=1;
13946 }
13947
13948
13949 switch (alt34) {
13950 case 1 :
13951 // InternalSolverLanguage.g:4028:4: rule__ConjunctiveExpression__Group_1_1__0
13952 {
13953 pushFollow(FOLLOW_23);
13954 rule__ConjunctiveExpression__Group_1_1__0();
13955
13956 state._fsp--;
13957 if (state.failed) return ;
13958
13959 }
13960 break;
13961
13962 default :
13963 break loop34;
13964 }
13965 } while (true);
13966
13967 if ( state.backtracking==0 ) {
13968 after(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1());
13969 }
13970
13971 }
13972
13973
13974 }
9167 13975
9168 13976
9169 } 13977 }
@@ -9180,35 +13988,67 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9180 } 13988 }
9181 return ; 13989 return ;
9182 } 13990 }
9183 // $ANTLR end "rule__Predicate__Group__4" 13991 // $ANTLR end "rule__ConjunctiveExpression__Group_1__1__Impl"
9184 13992
9185 13993
9186 // $ANTLR start "rule__Predicate__Group__4__Impl" 13994 // $ANTLR start "rule__ConjunctiveExpression__Group_1_1__0"
9187 // InternalSolverLanguage.g:2910:1: rule__Predicate__Group__4__Impl : ( ( rule__Predicate__Alternatives_4 ) ) ; 13995 // InternalSolverLanguage.g:4038:1: rule__ConjunctiveExpression__Group_1_1__0 : rule__ConjunctiveExpression__Group_1_1__0__Impl rule__ConjunctiveExpression__Group_1_1__1 ;
9188 public final void rule__Predicate__Group__4__Impl() throws RecognitionException { 13996 public final void rule__ConjunctiveExpression__Group_1_1__0() throws RecognitionException {
9189 13997
9190 int stackSize = keepStackSize(); 13998 int stackSize = keepStackSize();
9191 13999
9192 try { 14000 try {
9193 // InternalSolverLanguage.g:2914:1: ( ( ( rule__Predicate__Alternatives_4 ) ) ) 14001 // InternalSolverLanguage.g:4042:1: ( rule__ConjunctiveExpression__Group_1_1__0__Impl rule__ConjunctiveExpression__Group_1_1__1 )
9194 // InternalSolverLanguage.g:2915:1: ( ( rule__Predicate__Alternatives_4 ) ) 14002 // InternalSolverLanguage.g:4043:2: rule__ConjunctiveExpression__Group_1_1__0__Impl rule__ConjunctiveExpression__Group_1_1__1
9195 {
9196 // InternalSolverLanguage.g:2915:1: ( ( rule__Predicate__Alternatives_4 ) )
9197 // InternalSolverLanguage.g:2916:2: ( rule__Predicate__Alternatives_4 )
9198 {
9199 before(grammarAccess.getPredicateAccess().getAlternatives_4());
9200 // InternalSolverLanguage.g:2917:2: ( rule__Predicate__Alternatives_4 )
9201 // InternalSolverLanguage.g:2917:3: rule__Predicate__Alternatives_4
9202 { 14003 {
9203 pushFollow(FOLLOW_2); 14004 pushFollow(FOLLOW_7);
9204 rule__Predicate__Alternatives_4(); 14005 rule__ConjunctiveExpression__Group_1_1__0__Impl();
9205 14006
9206 state._fsp--; 14007 state._fsp--;
14008 if (state.failed) return ;
14009 pushFollow(FOLLOW_2);
14010 rule__ConjunctiveExpression__Group_1_1__1();
9207 14011
14012 state._fsp--;
14013 if (state.failed) return ;
9208 14014
9209 } 14015 }
9210 14016
9211 after(grammarAccess.getPredicateAccess().getAlternatives_4()); 14017 }
14018 catch (RecognitionException re) {
14019 reportError(re);
14020 recover(input,re);
14021 }
14022 finally {
14023
14024 restoreStackSize(stackSize);
14025
14026 }
14027 return ;
14028 }
14029 // $ANTLR end "rule__ConjunctiveExpression__Group_1_1__0"
14030
14031
14032 // $ANTLR start "rule__ConjunctiveExpression__Group_1_1__0__Impl"
14033 // InternalSolverLanguage.g:4050:1: rule__ConjunctiveExpression__Group_1_1__0__Impl : ( ',' ) ;
14034 public final void rule__ConjunctiveExpression__Group_1_1__0__Impl() throws RecognitionException {
14035
14036 int stackSize = keepStackSize();
14037
14038 try {
14039 // InternalSolverLanguage.g:4054:1: ( ( ',' ) )
14040 // InternalSolverLanguage.g:4055:1: ( ',' )
14041 {
14042 // InternalSolverLanguage.g:4055:1: ( ',' )
14043 // InternalSolverLanguage.g:4056:2: ','
14044 {
14045 if ( state.backtracking==0 ) {
14046 before(grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0());
14047 }
14048 match(input,56,FOLLOW_2); if (state.failed) return ;
14049 if ( state.backtracking==0 ) {
14050 after(grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0());
14051 }
9212 14052
9213 } 14053 }
9214 14054
@@ -9227,24 +14067,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9227 } 14067 }
9228 return ; 14068 return ;
9229 } 14069 }
9230 // $ANTLR end "rule__Predicate__Group__4__Impl" 14070 // $ANTLR end "rule__ConjunctiveExpression__Group_1_1__0__Impl"
9231 14071
9232 14072
9233 // $ANTLR start "rule__Predicate__Group__5" 14073 // $ANTLR start "rule__ConjunctiveExpression__Group_1_1__1"
9234 // InternalSolverLanguage.g:2925:1: rule__Predicate__Group__5 : rule__Predicate__Group__5__Impl ; 14074 // InternalSolverLanguage.g:4065:1: rule__ConjunctiveExpression__Group_1_1__1 : rule__ConjunctiveExpression__Group_1_1__1__Impl ;
9235 public final void rule__Predicate__Group__5() throws RecognitionException { 14075 public final void rule__ConjunctiveExpression__Group_1_1__1() throws RecognitionException {
9236 14076
9237 int stackSize = keepStackSize(); 14077 int stackSize = keepStackSize();
9238 14078
9239 try { 14079 try {
9240 // InternalSolverLanguage.g:2929:1: ( rule__Predicate__Group__5__Impl ) 14080 // InternalSolverLanguage.g:4069:1: ( rule__ConjunctiveExpression__Group_1_1__1__Impl )
9241 // InternalSolverLanguage.g:2930:2: rule__Predicate__Group__5__Impl 14081 // InternalSolverLanguage.g:4070:2: rule__ConjunctiveExpression__Group_1_1__1__Impl
9242 { 14082 {
9243 pushFollow(FOLLOW_2); 14083 pushFollow(FOLLOW_2);
9244 rule__Predicate__Group__5__Impl(); 14084 rule__ConjunctiveExpression__Group_1_1__1__Impl();
9245 14085
9246 state._fsp--; 14086 state._fsp--;
9247 14087 if (state.failed) return ;
9248 14088
9249 } 14089 }
9250 14090
@@ -9260,25 +14100,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9260 } 14100 }
9261 return ; 14101 return ;
9262 } 14102 }
9263 // $ANTLR end "rule__Predicate__Group__5" 14103 // $ANTLR end "rule__ConjunctiveExpression__Group_1_1__1"
9264 14104
9265 14105
9266 // $ANTLR start "rule__Predicate__Group__5__Impl" 14106 // $ANTLR start "rule__ConjunctiveExpression__Group_1_1__1__Impl"
9267 // InternalSolverLanguage.g:2936:1: rule__Predicate__Group__5__Impl : ( '.' ) ; 14107 // InternalSolverLanguage.g:4076:1: rule__ConjunctiveExpression__Group_1_1__1__Impl : ( ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) ) ;
9268 public final void rule__Predicate__Group__5__Impl() throws RecognitionException { 14108 public final void rule__ConjunctiveExpression__Group_1_1__1__Impl() throws RecognitionException {
9269 14109
9270 int stackSize = keepStackSize(); 14110 int stackSize = keepStackSize();
9271 14111
9272 try { 14112 try {
9273 // InternalSolverLanguage.g:2940:1: ( ( '.' ) ) 14113 // InternalSolverLanguage.g:4080:1: ( ( ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) ) )
9274 // InternalSolverLanguage.g:2941:1: ( '.' ) 14114 // InternalSolverLanguage.g:4081:1: ( ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) )
14115 {
14116 // InternalSolverLanguage.g:4081:1: ( ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) )
14117 // InternalSolverLanguage.g:4082:2: ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 )
9275 { 14118 {
9276 // InternalSolverLanguage.g:2941:1: ( '.' ) 14119 if ( state.backtracking==0 ) {
9277 // InternalSolverLanguage.g:2942:2: '.' 14120 before(grammarAccess.getConjunctiveExpressionAccess().getChildrenAssignment_1_1_1());
14121 }
14122 // InternalSolverLanguage.g:4083:2: ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 )
14123 // InternalSolverLanguage.g:4083:3: rule__ConjunctiveExpression__ChildrenAssignment_1_1_1
9278 { 14124 {
9279 before(grammarAccess.getPredicateAccess().getFullStopKeyword_5()); 14125 pushFollow(FOLLOW_2);
9280 match(input,14,FOLLOW_2); 14126 rule__ConjunctiveExpression__ChildrenAssignment_1_1_1();
9281 after(grammarAccess.getPredicateAccess().getFullStopKeyword_5()); 14127
14128 state._fsp--;
14129 if (state.failed) return ;
14130
14131 }
14132
14133 if ( state.backtracking==0 ) {
14134 after(grammarAccess.getConjunctiveExpressionAccess().getChildrenAssignment_1_1_1());
14135 }
9282 14136
9283 } 14137 }
9284 14138
@@ -9297,29 +14151,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9297 } 14151 }
9298 return ; 14152 return ;
9299 } 14153 }
9300 // $ANTLR end "rule__Predicate__Group__5__Impl" 14154 // $ANTLR end "rule__ConjunctiveExpression__Group_1_1__1__Impl"
9301 14155
9302 14156
9303 // $ANTLR start "rule__Predicate__Group_2__0" 14157 // $ANTLR start "rule__ComparisonExpression__Group__0"
9304 // InternalSolverLanguage.g:2952:1: rule__Predicate__Group_2__0 : rule__Predicate__Group_2__0__Impl rule__Predicate__Group_2__1 ; 14158 // InternalSolverLanguage.g:4092:1: rule__ComparisonExpression__Group__0 : rule__ComparisonExpression__Group__0__Impl rule__ComparisonExpression__Group__1 ;
9305 public final void rule__Predicate__Group_2__0() throws RecognitionException { 14159 public final void rule__ComparisonExpression__Group__0() throws RecognitionException {
9306 14160
9307 int stackSize = keepStackSize(); 14161 int stackSize = keepStackSize();
9308 14162
9309 try { 14163 try {
9310 // InternalSolverLanguage.g:2956:1: ( rule__Predicate__Group_2__0__Impl rule__Predicate__Group_2__1 ) 14164 // InternalSolverLanguage.g:4096:1: ( rule__ComparisonExpression__Group__0__Impl rule__ComparisonExpression__Group__1 )
9311 // InternalSolverLanguage.g:2957:2: rule__Predicate__Group_2__0__Impl rule__Predicate__Group_2__1 14165 // InternalSolverLanguage.g:4097:2: rule__ComparisonExpression__Group__0__Impl rule__ComparisonExpression__Group__1
9312 { 14166 {
9313 pushFollow(FOLLOW_22); 14167 pushFollow(FOLLOW_24);
9314 rule__Predicate__Group_2__0__Impl(); 14168 rule__ComparisonExpression__Group__0__Impl();
9315 14169
9316 state._fsp--; 14170 state._fsp--;
9317 14171 if (state.failed) return ;
9318 pushFollow(FOLLOW_2); 14172 pushFollow(FOLLOW_2);
9319 rule__Predicate__Group_2__1(); 14173 rule__ComparisonExpression__Group__1();
9320 14174
9321 state._fsp--; 14175 state._fsp--;
9322 14176 if (state.failed) return ;
9323 14177
9324 } 14178 }
9325 14179
@@ -9335,25 +14189,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9335 } 14189 }
9336 return ; 14190 return ;
9337 } 14191 }
9338 // $ANTLR end "rule__Predicate__Group_2__0" 14192 // $ANTLR end "rule__ComparisonExpression__Group__0"
9339 14193
9340 14194
9341 // $ANTLR start "rule__Predicate__Group_2__0__Impl" 14195 // $ANTLR start "rule__ComparisonExpression__Group__0__Impl"
9342 // InternalSolverLanguage.g:2964:1: rule__Predicate__Group_2__0__Impl : ( '(' ) ; 14196 // InternalSolverLanguage.g:4104:1: rule__ComparisonExpression__Group__0__Impl : ( ruleAdditiveExpression ) ;
9343 public final void rule__Predicate__Group_2__0__Impl() throws RecognitionException { 14197 public final void rule__ComparisonExpression__Group__0__Impl() throws RecognitionException {
9344 14198
9345 int stackSize = keepStackSize(); 14199 int stackSize = keepStackSize();
9346 14200
9347 try { 14201 try {
9348 // InternalSolverLanguage.g:2968:1: ( ( '(' ) ) 14202 // InternalSolverLanguage.g:4108:1: ( ( ruleAdditiveExpression ) )
9349 // InternalSolverLanguage.g:2969:1: ( '(' ) 14203 // InternalSolverLanguage.g:4109:1: ( ruleAdditiveExpression )
9350 { 14204 {
9351 // InternalSolverLanguage.g:2969:1: ( '(' ) 14205 // InternalSolverLanguage.g:4109:1: ( ruleAdditiveExpression )
9352 // InternalSolverLanguage.g:2970:2: '(' 14206 // InternalSolverLanguage.g:4110:2: ruleAdditiveExpression
9353 { 14207 {
9354 before(grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()); 14208 if ( state.backtracking==0 ) {
9355 match(input,18,FOLLOW_2); 14209 before(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0());
9356 after(grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()); 14210 }
14211 pushFollow(FOLLOW_2);
14212 ruleAdditiveExpression();
14213
14214 state._fsp--;
14215 if (state.failed) return ;
14216 if ( state.backtracking==0 ) {
14217 after(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0());
14218 }
9357 14219
9358 } 14220 }
9359 14221
@@ -9372,29 +14234,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9372 } 14234 }
9373 return ; 14235 return ;
9374 } 14236 }
9375 // $ANTLR end "rule__Predicate__Group_2__0__Impl" 14237 // $ANTLR end "rule__ComparisonExpression__Group__0__Impl"
9376 14238
9377 14239
9378 // $ANTLR start "rule__Predicate__Group_2__1" 14240 // $ANTLR start "rule__ComparisonExpression__Group__1"
9379 // InternalSolverLanguage.g:2979:1: rule__Predicate__Group_2__1 : rule__Predicate__Group_2__1__Impl rule__Predicate__Group_2__2 ; 14241 // InternalSolverLanguage.g:4119:1: rule__ComparisonExpression__Group__1 : rule__ComparisonExpression__Group__1__Impl ;
9380 public final void rule__Predicate__Group_2__1() throws RecognitionException { 14242 public final void rule__ComparisonExpression__Group__1() throws RecognitionException {
9381 14243
9382 int stackSize = keepStackSize(); 14244 int stackSize = keepStackSize();
9383 14245
9384 try { 14246 try {
9385 // InternalSolverLanguage.g:2983:1: ( rule__Predicate__Group_2__1__Impl rule__Predicate__Group_2__2 ) 14247 // InternalSolverLanguage.g:4123:1: ( rule__ComparisonExpression__Group__1__Impl )
9386 // InternalSolverLanguage.g:2984:2: rule__Predicate__Group_2__1__Impl rule__Predicate__Group_2__2 14248 // InternalSolverLanguage.g:4124:2: rule__ComparisonExpression__Group__1__Impl
9387 { 14249 {
9388 pushFollow(FOLLOW_22);
9389 rule__Predicate__Group_2__1__Impl();
9390
9391 state._fsp--;
9392
9393 pushFollow(FOLLOW_2); 14250 pushFollow(FOLLOW_2);
9394 rule__Predicate__Group_2__2(); 14251 rule__ComparisonExpression__Group__1__Impl();
9395 14252
9396 state._fsp--; 14253 state._fsp--;
9397 14254 if (state.failed) return ;
9398 14255
9399 } 14256 }
9400 14257
@@ -9410,46 +14267,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9410 } 14267 }
9411 return ; 14268 return ;
9412 } 14269 }
9413 // $ANTLR end "rule__Predicate__Group_2__1" 14270 // $ANTLR end "rule__ComparisonExpression__Group__1"
9414 14271
9415 14272
9416 // $ANTLR start "rule__Predicate__Group_2__1__Impl" 14273 // $ANTLR start "rule__ComparisonExpression__Group__1__Impl"
9417 // InternalSolverLanguage.g:2991:1: rule__Predicate__Group_2__1__Impl : ( ( rule__Predicate__Group_2_1__0 )? ) ; 14274 // InternalSolverLanguage.g:4130:1: rule__ComparisonExpression__Group__1__Impl : ( ( rule__ComparisonExpression__Group_1__0 )? ) ;
9418 public final void rule__Predicate__Group_2__1__Impl() throws RecognitionException { 14275 public final void rule__ComparisonExpression__Group__1__Impl() throws RecognitionException {
9419 14276
9420 int stackSize = keepStackSize(); 14277 int stackSize = keepStackSize();
9421 14278
9422 try { 14279 try {
9423 // InternalSolverLanguage.g:2995:1: ( ( ( rule__Predicate__Group_2_1__0 )? ) ) 14280 // InternalSolverLanguage.g:4134:1: ( ( ( rule__ComparisonExpression__Group_1__0 )? ) )
9424 // InternalSolverLanguage.g:2996:1: ( ( rule__Predicate__Group_2_1__0 )? ) 14281 // InternalSolverLanguage.g:4135:1: ( ( rule__ComparisonExpression__Group_1__0 )? )
9425 { 14282 {
9426 // InternalSolverLanguage.g:2996:1: ( ( rule__Predicate__Group_2_1__0 )? ) 14283 // InternalSolverLanguage.g:4135:1: ( ( rule__ComparisonExpression__Group_1__0 )? )
9427 // InternalSolverLanguage.g:2997:2: ( rule__Predicate__Group_2_1__0 )? 14284 // InternalSolverLanguage.g:4136:2: ( rule__ComparisonExpression__Group_1__0 )?
9428 { 14285 {
9429 before(grammarAccess.getPredicateAccess().getGroup_2_1()); 14286 if ( state.backtracking==0 ) {
9430 // InternalSolverLanguage.g:2998:2: ( rule__Predicate__Group_2_1__0 )? 14287 before(grammarAccess.getComparisonExpressionAccess().getGroup_1());
9431 int alt28=2; 14288 }
9432 int LA28_0 = input.LA(1); 14289 // InternalSolverLanguage.g:4137:2: ( rule__ComparisonExpression__Group_1__0 )?
14290 int alt35=2;
14291 int LA35_0 = input.LA(1);
9433 14292
9434 if ( (LA28_0==RULE_ID) ) { 14293 if ( ((LA35_0>=19 && LA35_0<=25)) ) {
9435 alt28=1; 14294 alt35=1;
9436 } 14295 }
9437 switch (alt28) { 14296 switch (alt35) {
9438 case 1 : 14297 case 1 :
9439 // InternalSolverLanguage.g:2998:3: rule__Predicate__Group_2_1__0 14298 // InternalSolverLanguage.g:4137:3: rule__ComparisonExpression__Group_1__0
9440 { 14299 {
9441 pushFollow(FOLLOW_2); 14300 pushFollow(FOLLOW_2);
9442 rule__Predicate__Group_2_1__0(); 14301 rule__ComparisonExpression__Group_1__0();
9443 14302
9444 state._fsp--; 14303 state._fsp--;
9445 14304 if (state.failed) return ;
9446 14305
9447 } 14306 }
9448 break; 14307 break;
9449 14308
9450 } 14309 }
9451 14310
9452 after(grammarAccess.getPredicateAccess().getGroup_2_1()); 14311 if ( state.backtracking==0 ) {
14312 after(grammarAccess.getComparisonExpressionAccess().getGroup_1());
14313 }
9453 14314
9454 } 14315 }
9455 14316
@@ -9468,24 +14329,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9468 } 14329 }
9469 return ; 14330 return ;
9470 } 14331 }
9471 // $ANTLR end "rule__Predicate__Group_2__1__Impl" 14332 // $ANTLR end "rule__ComparisonExpression__Group__1__Impl"
9472 14333
9473 14334
9474 // $ANTLR start "rule__Predicate__Group_2__2" 14335 // $ANTLR start "rule__ComparisonExpression__Group_1__0"
9475 // InternalSolverLanguage.g:3006:1: rule__Predicate__Group_2__2 : rule__Predicate__Group_2__2__Impl ; 14336 // InternalSolverLanguage.g:4146:1: rule__ComparisonExpression__Group_1__0 : rule__ComparisonExpression__Group_1__0__Impl rule__ComparisonExpression__Group_1__1 ;
9476 public final void rule__Predicate__Group_2__2() throws RecognitionException { 14337 public final void rule__ComparisonExpression__Group_1__0() throws RecognitionException {
9477 14338
9478 int stackSize = keepStackSize(); 14339 int stackSize = keepStackSize();
9479 14340
9480 try { 14341 try {
9481 // InternalSolverLanguage.g:3010:1: ( rule__Predicate__Group_2__2__Impl ) 14342 // InternalSolverLanguage.g:4150:1: ( rule__ComparisonExpression__Group_1__0__Impl rule__ComparisonExpression__Group_1__1 )
9482 // InternalSolverLanguage.g:3011:2: rule__Predicate__Group_2__2__Impl 14343 // InternalSolverLanguage.g:4151:2: rule__ComparisonExpression__Group_1__0__Impl rule__ComparisonExpression__Group_1__1
9483 { 14344 {
9484 pushFollow(FOLLOW_2); 14345 pushFollow(FOLLOW_24);
9485 rule__Predicate__Group_2__2__Impl(); 14346 rule__ComparisonExpression__Group_1__0__Impl();
9486 14347
9487 state._fsp--; 14348 state._fsp--;
14349 if (state.failed) return ;
14350 pushFollow(FOLLOW_2);
14351 rule__ComparisonExpression__Group_1__1();
9488 14352
14353 state._fsp--;
14354 if (state.failed) return ;
9489 14355
9490 } 14356 }
9491 14357
@@ -9501,25 +14367,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9501 } 14367 }
9502 return ; 14368 return ;
9503 } 14369 }
9504 // $ANTLR end "rule__Predicate__Group_2__2" 14370 // $ANTLR end "rule__ComparisonExpression__Group_1__0"
9505 14371
9506 14372
9507 // $ANTLR start "rule__Predicate__Group_2__2__Impl" 14373 // $ANTLR start "rule__ComparisonExpression__Group_1__0__Impl"
9508 // InternalSolverLanguage.g:3017:1: rule__Predicate__Group_2__2__Impl : ( ')' ) ; 14374 // InternalSolverLanguage.g:4158:1: rule__ComparisonExpression__Group_1__0__Impl : ( () ) ;
9509 public final void rule__Predicate__Group_2__2__Impl() throws RecognitionException { 14375 public final void rule__ComparisonExpression__Group_1__0__Impl() throws RecognitionException {
9510 14376
9511 int stackSize = keepStackSize(); 14377 int stackSize = keepStackSize();
9512 14378
9513 try { 14379 try {
9514 // InternalSolverLanguage.g:3021:1: ( ( ')' ) ) 14380 // InternalSolverLanguage.g:4162:1: ( ( () ) )
9515 // InternalSolverLanguage.g:3022:1: ( ')' ) 14381 // InternalSolverLanguage.g:4163:1: ( () )
9516 { 14382 {
9517 // InternalSolverLanguage.g:3022:1: ( ')' ) 14383 // InternalSolverLanguage.g:4163:1: ( () )
9518 // InternalSolverLanguage.g:3023:2: ')' 14384 // InternalSolverLanguage.g:4164:2: ()
14385 {
14386 if ( state.backtracking==0 ) {
14387 before(grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0());
14388 }
14389 // InternalSolverLanguage.g:4165:2: ()
14390 // InternalSolverLanguage.g:4165:3:
9519 { 14391 {
9520 before(grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2()); 14392 }
9521 match(input,19,FOLLOW_2); 14393
9522 after(grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2()); 14394 if ( state.backtracking==0 ) {
14395 after(grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0());
14396 }
9523 14397
9524 } 14398 }
9525 14399
@@ -9527,6 +14401,40 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9527 } 14401 }
9528 14402
9529 } 14403 }
14404 finally {
14405
14406 restoreStackSize(stackSize);
14407
14408 }
14409 return ;
14410 }
14411 // $ANTLR end "rule__ComparisonExpression__Group_1__0__Impl"
14412
14413
14414 // $ANTLR start "rule__ComparisonExpression__Group_1__1"
14415 // InternalSolverLanguage.g:4173:1: rule__ComparisonExpression__Group_1__1 : rule__ComparisonExpression__Group_1__1__Impl rule__ComparisonExpression__Group_1__2 ;
14416 public final void rule__ComparisonExpression__Group_1__1() throws RecognitionException {
14417
14418 int stackSize = keepStackSize();
14419
14420 try {
14421 // InternalSolverLanguage.g:4177:1: ( rule__ComparisonExpression__Group_1__1__Impl rule__ComparisonExpression__Group_1__2 )
14422 // InternalSolverLanguage.g:4178:2: rule__ComparisonExpression__Group_1__1__Impl rule__ComparisonExpression__Group_1__2
14423 {
14424 pushFollow(FOLLOW_7);
14425 rule__ComparisonExpression__Group_1__1__Impl();
14426
14427 state._fsp--;
14428 if (state.failed) return ;
14429 pushFollow(FOLLOW_2);
14430 rule__ComparisonExpression__Group_1__2();
14431
14432 state._fsp--;
14433 if (state.failed) return ;
14434
14435 }
14436
14437 }
9530 catch (RecognitionException re) { 14438 catch (RecognitionException re) {
9531 reportError(re); 14439 reportError(re);
9532 recover(input,re); 14440 recover(input,re);
@@ -9538,29 +14446,75 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9538 } 14446 }
9539 return ; 14447 return ;
9540 } 14448 }
9541 // $ANTLR end "rule__Predicate__Group_2__2__Impl" 14449 // $ANTLR end "rule__ComparisonExpression__Group_1__1"
9542 14450
9543 14451
9544 // $ANTLR start "rule__Predicate__Group_2_1__0" 14452 // $ANTLR start "rule__ComparisonExpression__Group_1__1__Impl"
9545 // InternalSolverLanguage.g:3033:1: rule__Predicate__Group_2_1__0 : rule__Predicate__Group_2_1__0__Impl rule__Predicate__Group_2_1__1 ; 14453 // InternalSolverLanguage.g:4185:1: rule__ComparisonExpression__Group_1__1__Impl : ( ( rule__ComparisonExpression__OpAssignment_1_1 ) ) ;
9546 public final void rule__Predicate__Group_2_1__0() throws RecognitionException { 14454 public final void rule__ComparisonExpression__Group_1__1__Impl() throws RecognitionException {
9547 14455
9548 int stackSize = keepStackSize(); 14456 int stackSize = keepStackSize();
9549 14457
9550 try { 14458 try {
9551 // InternalSolverLanguage.g:3037:1: ( rule__Predicate__Group_2_1__0__Impl rule__Predicate__Group_2_1__1 ) 14459 // InternalSolverLanguage.g:4189:1: ( ( ( rule__ComparisonExpression__OpAssignment_1_1 ) ) )
9552 // InternalSolverLanguage.g:3038:2: rule__Predicate__Group_2_1__0__Impl rule__Predicate__Group_2_1__1 14460 // InternalSolverLanguage.g:4190:1: ( ( rule__ComparisonExpression__OpAssignment_1_1 ) )
9553 { 14461 {
9554 pushFollow(FOLLOW_14); 14462 // InternalSolverLanguage.g:4190:1: ( ( rule__ComparisonExpression__OpAssignment_1_1 ) )
9555 rule__Predicate__Group_2_1__0__Impl(); 14463 // InternalSolverLanguage.g:4191:2: ( rule__ComparisonExpression__OpAssignment_1_1 )
14464 {
14465 if ( state.backtracking==0 ) {
14466 before(grammarAccess.getComparisonExpressionAccess().getOpAssignment_1_1());
14467 }
14468 // InternalSolverLanguage.g:4192:2: ( rule__ComparisonExpression__OpAssignment_1_1 )
14469 // InternalSolverLanguage.g:4192:3: rule__ComparisonExpression__OpAssignment_1_1
14470 {
14471 pushFollow(FOLLOW_2);
14472 rule__ComparisonExpression__OpAssignment_1_1();
9556 14473
9557 state._fsp--; 14474 state._fsp--;
14475 if (state.failed) return ;
14476
14477 }
14478
14479 if ( state.backtracking==0 ) {
14480 after(grammarAccess.getComparisonExpressionAccess().getOpAssignment_1_1());
14481 }
14482
14483 }
14484
14485
14486 }
14487
14488 }
14489 catch (RecognitionException re) {
14490 reportError(re);
14491 recover(input,re);
14492 }
14493 finally {
9558 14494
14495 restoreStackSize(stackSize);
14496
14497 }
14498 return ;
14499 }
14500 // $ANTLR end "rule__ComparisonExpression__Group_1__1__Impl"
14501
14502
14503 // $ANTLR start "rule__ComparisonExpression__Group_1__2"
14504 // InternalSolverLanguage.g:4200:1: rule__ComparisonExpression__Group_1__2 : rule__ComparisonExpression__Group_1__2__Impl ;
14505 public final void rule__ComparisonExpression__Group_1__2() throws RecognitionException {
14506
14507 int stackSize = keepStackSize();
14508
14509 try {
14510 // InternalSolverLanguage.g:4204:1: ( rule__ComparisonExpression__Group_1__2__Impl )
14511 // InternalSolverLanguage.g:4205:2: rule__ComparisonExpression__Group_1__2__Impl
14512 {
9559 pushFollow(FOLLOW_2); 14513 pushFollow(FOLLOW_2);
9560 rule__Predicate__Group_2_1__1(); 14514 rule__ComparisonExpression__Group_1__2__Impl();
9561 14515
9562 state._fsp--; 14516 state._fsp--;
9563 14517 if (state.failed) return ;
9564 14518
9565 } 14519 }
9566 14520
@@ -9576,38 +14530,80 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9576 } 14530 }
9577 return ; 14531 return ;
9578 } 14532 }
9579 // $ANTLR end "rule__Predicate__Group_2_1__0" 14533 // $ANTLR end "rule__ComparisonExpression__Group_1__2"
9580 14534
9581 14535
9582 // $ANTLR start "rule__Predicate__Group_2_1__0__Impl" 14536 // $ANTLR start "rule__ComparisonExpression__Group_1__2__Impl"
9583 // InternalSolverLanguage.g:3045:1: rule__Predicate__Group_2_1__0__Impl : ( ( rule__Predicate__ParametersAssignment_2_1_0 ) ) ; 14537 // InternalSolverLanguage.g:4211:1: rule__ComparisonExpression__Group_1__2__Impl : ( ( rule__ComparisonExpression__RightAssignment_1_2 ) ) ;
9584 public final void rule__Predicate__Group_2_1__0__Impl() throws RecognitionException { 14538 public final void rule__ComparisonExpression__Group_1__2__Impl() throws RecognitionException {
9585 14539
9586 int stackSize = keepStackSize(); 14540 int stackSize = keepStackSize();
9587 14541
9588 try { 14542 try {
9589 // InternalSolverLanguage.g:3049:1: ( ( ( rule__Predicate__ParametersAssignment_2_1_0 ) ) ) 14543 // InternalSolverLanguage.g:4215:1: ( ( ( rule__ComparisonExpression__RightAssignment_1_2 ) ) )
9590 // InternalSolverLanguage.g:3050:1: ( ( rule__Predicate__ParametersAssignment_2_1_0 ) ) 14544 // InternalSolverLanguage.g:4216:1: ( ( rule__ComparisonExpression__RightAssignment_1_2 ) )
9591 { 14545 {
9592 // InternalSolverLanguage.g:3050:1: ( ( rule__Predicate__ParametersAssignment_2_1_0 ) ) 14546 // InternalSolverLanguage.g:4216:1: ( ( rule__ComparisonExpression__RightAssignment_1_2 ) )
9593 // InternalSolverLanguage.g:3051:2: ( rule__Predicate__ParametersAssignment_2_1_0 ) 14547 // InternalSolverLanguage.g:4217:2: ( rule__ComparisonExpression__RightAssignment_1_2 )
9594 { 14548 {
9595 before(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_0()); 14549 if ( state.backtracking==0 ) {
9596 // InternalSolverLanguage.g:3052:2: ( rule__Predicate__ParametersAssignment_2_1_0 ) 14550 before(grammarAccess.getComparisonExpressionAccess().getRightAssignment_1_2());
9597 // InternalSolverLanguage.g:3052:3: rule__Predicate__ParametersAssignment_2_1_0 14551 }
14552 // InternalSolverLanguage.g:4218:2: ( rule__ComparisonExpression__RightAssignment_1_2 )
14553 // InternalSolverLanguage.g:4218:3: rule__ComparisonExpression__RightAssignment_1_2
9598 { 14554 {
9599 pushFollow(FOLLOW_2); 14555 pushFollow(FOLLOW_2);
9600 rule__Predicate__ParametersAssignment_2_1_0(); 14556 rule__ComparisonExpression__RightAssignment_1_2();
9601 14557
9602 state._fsp--; 14558 state._fsp--;
14559 if (state.failed) return ;
14560
14561 }
9603 14562
14563 if ( state.backtracking==0 ) {
14564 after(grammarAccess.getComparisonExpressionAccess().getRightAssignment_1_2());
14565 }
9604 14566
9605 } 14567 }
9606 14568
9607 after(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_0());
9608 14569
9609 } 14570 }
9610 14571
14572 }
14573 catch (RecognitionException re) {
14574 reportError(re);
14575 recover(input,re);
14576 }
14577 finally {
14578
14579 restoreStackSize(stackSize);
14580
14581 }
14582 return ;
14583 }
14584 // $ANTLR end "rule__ComparisonExpression__Group_1__2__Impl"
14585
14586
14587 // $ANTLR start "rule__AdditiveExpression__Group__0"
14588 // InternalSolverLanguage.g:4227:1: rule__AdditiveExpression__Group__0 : rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ;
14589 public final void rule__AdditiveExpression__Group__0() throws RecognitionException {
14590
14591 int stackSize = keepStackSize();
14592
14593 try {
14594 // InternalSolverLanguage.g:4231:1: ( rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 )
14595 // InternalSolverLanguage.g:4232:2: rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1
14596 {
14597 pushFollow(FOLLOW_25);
14598 rule__AdditiveExpression__Group__0__Impl();
14599
14600 state._fsp--;
14601 if (state.failed) return ;
14602 pushFollow(FOLLOW_2);
14603 rule__AdditiveExpression__Group__1();
14604
14605 state._fsp--;
14606 if (state.failed) return ;
9611 14607
9612 } 14608 }
9613 14609
@@ -9623,23 +14619,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9623 } 14619 }
9624 return ; 14620 return ;
9625 } 14621 }
9626 // $ANTLR end "rule__Predicate__Group_2_1__0__Impl" 14622 // $ANTLR end "rule__AdditiveExpression__Group__0"
9627 14623
9628 14624
9629 // $ANTLR start "rule__Predicate__Group_2_1__1" 14625 // $ANTLR start "rule__AdditiveExpression__Group__0__Impl"
9630 // InternalSolverLanguage.g:3060:1: rule__Predicate__Group_2_1__1 : rule__Predicate__Group_2_1__1__Impl ; 14626 // InternalSolverLanguage.g:4239:1: rule__AdditiveExpression__Group__0__Impl : ( ruleMultiplicativeExpression ) ;
9631 public final void rule__Predicate__Group_2_1__1() throws RecognitionException { 14627 public final void rule__AdditiveExpression__Group__0__Impl() throws RecognitionException {
9632 14628
9633 int stackSize = keepStackSize(); 14629 int stackSize = keepStackSize();
9634 14630
9635 try { 14631 try {
9636 // InternalSolverLanguage.g:3064:1: ( rule__Predicate__Group_2_1__1__Impl ) 14632 // InternalSolverLanguage.g:4243:1: ( ( ruleMultiplicativeExpression ) )
9637 // InternalSolverLanguage.g:3065:2: rule__Predicate__Group_2_1__1__Impl 14633 // InternalSolverLanguage.g:4244:1: ( ruleMultiplicativeExpression )
9638 { 14634 {
14635 // InternalSolverLanguage.g:4244:1: ( ruleMultiplicativeExpression )
14636 // InternalSolverLanguage.g:4245:2: ruleMultiplicativeExpression
14637 {
14638 if ( state.backtracking==0 ) {
14639 before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0());
14640 }
9639 pushFollow(FOLLOW_2); 14641 pushFollow(FOLLOW_2);
9640 rule__Predicate__Group_2_1__1__Impl(); 14642 ruleMultiplicativeExpression();
9641 14643
9642 state._fsp--; 14644 state._fsp--;
14645 if (state.failed) return ;
14646 if ( state.backtracking==0 ) {
14647 after(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0());
14648 }
14649
14650 }
9643 14651
9644 14652
9645 } 14653 }
@@ -9656,53 +14664,90 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9656 } 14664 }
9657 return ; 14665 return ;
9658 } 14666 }
9659 // $ANTLR end "rule__Predicate__Group_2_1__1" 14667 // $ANTLR end "rule__AdditiveExpression__Group__0__Impl"
9660 14668
9661 14669
9662 // $ANTLR start "rule__Predicate__Group_2_1__1__Impl" 14670 // $ANTLR start "rule__AdditiveExpression__Group__1"
9663 // InternalSolverLanguage.g:3071:1: rule__Predicate__Group_2_1__1__Impl : ( ( rule__Predicate__Group_2_1_1__0 )* ) ; 14671 // InternalSolverLanguage.g:4254:1: rule__AdditiveExpression__Group__1 : rule__AdditiveExpression__Group__1__Impl ;
9664 public final void rule__Predicate__Group_2_1__1__Impl() throws RecognitionException { 14672 public final void rule__AdditiveExpression__Group__1() throws RecognitionException {
9665 14673
9666 int stackSize = keepStackSize(); 14674 int stackSize = keepStackSize();
9667 14675
9668 try { 14676 try {
9669 // InternalSolverLanguage.g:3075:1: ( ( ( rule__Predicate__Group_2_1_1__0 )* ) ) 14677 // InternalSolverLanguage.g:4258:1: ( rule__AdditiveExpression__Group__1__Impl )
9670 // InternalSolverLanguage.g:3076:1: ( ( rule__Predicate__Group_2_1_1__0 )* ) 14678 // InternalSolverLanguage.g:4259:2: rule__AdditiveExpression__Group__1__Impl
9671 { 14679 {
9672 // InternalSolverLanguage.g:3076:1: ( ( rule__Predicate__Group_2_1_1__0 )* ) 14680 pushFollow(FOLLOW_2);
9673 // InternalSolverLanguage.g:3077:2: ( rule__Predicate__Group_2_1_1__0 )* 14681 rule__AdditiveExpression__Group__1__Impl();
14682
14683 state._fsp--;
14684 if (state.failed) return ;
14685
14686 }
14687
14688 }
14689 catch (RecognitionException re) {
14690 reportError(re);
14691 recover(input,re);
14692 }
14693 finally {
14694
14695 restoreStackSize(stackSize);
14696
14697 }
14698 return ;
14699 }
14700 // $ANTLR end "rule__AdditiveExpression__Group__1"
14701
14702
14703 // $ANTLR start "rule__AdditiveExpression__Group__1__Impl"
14704 // InternalSolverLanguage.g:4265:1: rule__AdditiveExpression__Group__1__Impl : ( ( rule__AdditiveExpression__Group_1__0 )* ) ;
14705 public final void rule__AdditiveExpression__Group__1__Impl() throws RecognitionException {
14706
14707 int stackSize = keepStackSize();
14708
14709 try {
14710 // InternalSolverLanguage.g:4269:1: ( ( ( rule__AdditiveExpression__Group_1__0 )* ) )
14711 // InternalSolverLanguage.g:4270:1: ( ( rule__AdditiveExpression__Group_1__0 )* )
9674 { 14712 {
9675 before(grammarAccess.getPredicateAccess().getGroup_2_1_1()); 14713 // InternalSolverLanguage.g:4270:1: ( ( rule__AdditiveExpression__Group_1__0 )* )
9676 // InternalSolverLanguage.g:3078:2: ( rule__Predicate__Group_2_1_1__0 )* 14714 // InternalSolverLanguage.g:4271:2: ( rule__AdditiveExpression__Group_1__0 )*
9677 loop29: 14715 {
14716 if ( state.backtracking==0 ) {
14717 before(grammarAccess.getAdditiveExpressionAccess().getGroup_1());
14718 }
14719 // InternalSolverLanguage.g:4272:2: ( rule__AdditiveExpression__Group_1__0 )*
14720 loop36:
9678 do { 14721 do {
9679 int alt29=2; 14722 int alt36=2;
9680 int LA29_0 = input.LA(1); 14723 int LA36_0 = input.LA(1);
9681 14724
9682 if ( (LA29_0==20) ) { 14725 if ( ((LA36_0>=26 && LA36_0<=27)) ) {
9683 alt29=1; 14726 alt36=1;
9684 } 14727 }
9685 14728
9686 14729
9687 switch (alt29) { 14730 switch (alt36) {
9688 case 1 : 14731 case 1 :
9689 // InternalSolverLanguage.g:3078:3: rule__Predicate__Group_2_1_1__0 14732 // InternalSolverLanguage.g:4272:3: rule__AdditiveExpression__Group_1__0
9690 { 14733 {
9691 pushFollow(FOLLOW_15); 14734 pushFollow(FOLLOW_26);
9692 rule__Predicate__Group_2_1_1__0(); 14735 rule__AdditiveExpression__Group_1__0();
9693 14736
9694 state._fsp--; 14737 state._fsp--;
9695 14738 if (state.failed) return ;
9696 14739
9697 } 14740 }
9698 break; 14741 break;
9699 14742
9700 default : 14743 default :
9701 break loop29; 14744 break loop36;
9702 } 14745 }
9703 } while (true); 14746 } while (true);
9704 14747
9705 after(grammarAccess.getPredicateAccess().getGroup_2_1_1()); 14748 if ( state.backtracking==0 ) {
14749 after(grammarAccess.getAdditiveExpressionAccess().getGroup_1());
14750 }
9706 14751
9707 } 14752 }
9708 14753
@@ -9721,29 +14766,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9721 } 14766 }
9722 return ; 14767 return ;
9723 } 14768 }
9724 // $ANTLR end "rule__Predicate__Group_2_1__1__Impl" 14769 // $ANTLR end "rule__AdditiveExpression__Group__1__Impl"
9725 14770
9726 14771
9727 // $ANTLR start "rule__Predicate__Group_2_1_1__0" 14772 // $ANTLR start "rule__AdditiveExpression__Group_1__0"
9728 // InternalSolverLanguage.g:3087:1: rule__Predicate__Group_2_1_1__0 : rule__Predicate__Group_2_1_1__0__Impl rule__Predicate__Group_2_1_1__1 ; 14773 // InternalSolverLanguage.g:4281:1: rule__AdditiveExpression__Group_1__0 : rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ;
9729 public final void rule__Predicate__Group_2_1_1__0() throws RecognitionException { 14774 public final void rule__AdditiveExpression__Group_1__0() throws RecognitionException {
9730 14775
9731 int stackSize = keepStackSize(); 14776 int stackSize = keepStackSize();
9732 14777
9733 try { 14778 try {
9734 // InternalSolverLanguage.g:3091:1: ( rule__Predicate__Group_2_1_1__0__Impl rule__Predicate__Group_2_1_1__1 ) 14779 // InternalSolverLanguage.g:4285:1: ( rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 )
9735 // InternalSolverLanguage.g:3092:2: rule__Predicate__Group_2_1_1__0__Impl rule__Predicate__Group_2_1_1__1 14780 // InternalSolverLanguage.g:4286:2: rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1
9736 { 14781 {
9737 pushFollow(FOLLOW_17); 14782 pushFollow(FOLLOW_25);
9738 rule__Predicate__Group_2_1_1__0__Impl(); 14783 rule__AdditiveExpression__Group_1__0__Impl();
9739 14784
9740 state._fsp--; 14785 state._fsp--;
9741 14786 if (state.failed) return ;
9742 pushFollow(FOLLOW_2); 14787 pushFollow(FOLLOW_2);
9743 rule__Predicate__Group_2_1_1__1(); 14788 rule__AdditiveExpression__Group_1__1();
9744 14789
9745 state._fsp--; 14790 state._fsp--;
9746 14791 if (state.failed) return ;
9747 14792
9748 } 14793 }
9749 14794
@@ -9759,25 +14804,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9759 } 14804 }
9760 return ; 14805 return ;
9761 } 14806 }
9762 // $ANTLR end "rule__Predicate__Group_2_1_1__0" 14807 // $ANTLR end "rule__AdditiveExpression__Group_1__0"
9763 14808
9764 14809
9765 // $ANTLR start "rule__Predicate__Group_2_1_1__0__Impl" 14810 // $ANTLR start "rule__AdditiveExpression__Group_1__0__Impl"
9766 // InternalSolverLanguage.g:3099:1: rule__Predicate__Group_2_1_1__0__Impl : ( ',' ) ; 14811 // InternalSolverLanguage.g:4293:1: rule__AdditiveExpression__Group_1__0__Impl : ( () ) ;
9767 public final void rule__Predicate__Group_2_1_1__0__Impl() throws RecognitionException { 14812 public final void rule__AdditiveExpression__Group_1__0__Impl() throws RecognitionException {
9768 14813
9769 int stackSize = keepStackSize(); 14814 int stackSize = keepStackSize();
9770 14815
9771 try { 14816 try {
9772 // InternalSolverLanguage.g:3103:1: ( ( ',' ) ) 14817 // InternalSolverLanguage.g:4297:1: ( ( () ) )
9773 // InternalSolverLanguage.g:3104:1: ( ',' ) 14818 // InternalSolverLanguage.g:4298:1: ( () )
9774 { 14819 {
9775 // InternalSolverLanguage.g:3104:1: ( ',' ) 14820 // InternalSolverLanguage.g:4298:1: ( () )
9776 // InternalSolverLanguage.g:3105:2: ',' 14821 // InternalSolverLanguage.g:4299:2: ()
9777 { 14822 {
9778 before(grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0()); 14823 if ( state.backtracking==0 ) {
9779 match(input,20,FOLLOW_2); 14824 before(grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0());
9780 after(grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0()); 14825 }
14826 // InternalSolverLanguage.g:4300:2: ()
14827 // InternalSolverLanguage.g:4300:3:
14828 {
14829 }
14830
14831 if ( state.backtracking==0 ) {
14832 after(grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0());
14833 }
9781 14834
9782 } 14835 }
9783 14836
@@ -9785,6 +14838,40 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9785 } 14838 }
9786 14839
9787 } 14840 }
14841 finally {
14842
14843 restoreStackSize(stackSize);
14844
14845 }
14846 return ;
14847 }
14848 // $ANTLR end "rule__AdditiveExpression__Group_1__0__Impl"
14849
14850
14851 // $ANTLR start "rule__AdditiveExpression__Group_1__1"
14852 // InternalSolverLanguage.g:4308:1: rule__AdditiveExpression__Group_1__1 : rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ;
14853 public final void rule__AdditiveExpression__Group_1__1() throws RecognitionException {
14854
14855 int stackSize = keepStackSize();
14856
14857 try {
14858 // InternalSolverLanguage.g:4312:1: ( rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 )
14859 // InternalSolverLanguage.g:4313:2: rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2
14860 {
14861 pushFollow(FOLLOW_7);
14862 rule__AdditiveExpression__Group_1__1__Impl();
14863
14864 state._fsp--;
14865 if (state.failed) return ;
14866 pushFollow(FOLLOW_2);
14867 rule__AdditiveExpression__Group_1__2();
14868
14869 state._fsp--;
14870 if (state.failed) return ;
14871
14872 }
14873
14874 }
9788 catch (RecognitionException re) { 14875 catch (RecognitionException re) {
9789 reportError(re); 14876 reportError(re);
9790 recover(input,re); 14877 recover(input,re);
@@ -9796,24 +14883,75 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9796 } 14883 }
9797 return ; 14884 return ;
9798 } 14885 }
9799 // $ANTLR end "rule__Predicate__Group_2_1_1__0__Impl" 14886 // $ANTLR end "rule__AdditiveExpression__Group_1__1"
9800 14887
9801 14888
9802 // $ANTLR start "rule__Predicate__Group_2_1_1__1" 14889 // $ANTLR start "rule__AdditiveExpression__Group_1__1__Impl"
9803 // InternalSolverLanguage.g:3114:1: rule__Predicate__Group_2_1_1__1 : rule__Predicate__Group_2_1_1__1__Impl ; 14890 // InternalSolverLanguage.g:4320:1: rule__AdditiveExpression__Group_1__1__Impl : ( ( rule__AdditiveExpression__OpAssignment_1_1 ) ) ;
9804 public final void rule__Predicate__Group_2_1_1__1() throws RecognitionException { 14891 public final void rule__AdditiveExpression__Group_1__1__Impl() throws RecognitionException {
9805 14892
9806 int stackSize = keepStackSize(); 14893 int stackSize = keepStackSize();
9807 14894
9808 try { 14895 try {
9809 // InternalSolverLanguage.g:3118:1: ( rule__Predicate__Group_2_1_1__1__Impl ) 14896 // InternalSolverLanguage.g:4324:1: ( ( ( rule__AdditiveExpression__OpAssignment_1_1 ) ) )
9810 // InternalSolverLanguage.g:3119:2: rule__Predicate__Group_2_1_1__1__Impl 14897 // InternalSolverLanguage.g:4325:1: ( ( rule__AdditiveExpression__OpAssignment_1_1 ) )
14898 {
14899 // InternalSolverLanguage.g:4325:1: ( ( rule__AdditiveExpression__OpAssignment_1_1 ) )
14900 // InternalSolverLanguage.g:4326:2: ( rule__AdditiveExpression__OpAssignment_1_1 )
14901 {
14902 if ( state.backtracking==0 ) {
14903 before(grammarAccess.getAdditiveExpressionAccess().getOpAssignment_1_1());
14904 }
14905 // InternalSolverLanguage.g:4327:2: ( rule__AdditiveExpression__OpAssignment_1_1 )
14906 // InternalSolverLanguage.g:4327:3: rule__AdditiveExpression__OpAssignment_1_1
9811 { 14907 {
9812 pushFollow(FOLLOW_2); 14908 pushFollow(FOLLOW_2);
9813 rule__Predicate__Group_2_1_1__1__Impl(); 14909 rule__AdditiveExpression__OpAssignment_1_1();
9814 14910
9815 state._fsp--; 14911 state._fsp--;
14912 if (state.failed) return ;
14913
14914 }
14915
14916 if ( state.backtracking==0 ) {
14917 after(grammarAccess.getAdditiveExpressionAccess().getOpAssignment_1_1());
14918 }
14919
14920 }
14921
14922
14923 }
14924
14925 }
14926 catch (RecognitionException re) {
14927 reportError(re);
14928 recover(input,re);
14929 }
14930 finally {
14931
14932 restoreStackSize(stackSize);
14933
14934 }
14935 return ;
14936 }
14937 // $ANTLR end "rule__AdditiveExpression__Group_1__1__Impl"
14938
9816 14939
14940 // $ANTLR start "rule__AdditiveExpression__Group_1__2"
14941 // InternalSolverLanguage.g:4335:1: rule__AdditiveExpression__Group_1__2 : rule__AdditiveExpression__Group_1__2__Impl ;
14942 public final void rule__AdditiveExpression__Group_1__2() throws RecognitionException {
14943
14944 int stackSize = keepStackSize();
14945
14946 try {
14947 // InternalSolverLanguage.g:4339:1: ( rule__AdditiveExpression__Group_1__2__Impl )
14948 // InternalSolverLanguage.g:4340:2: rule__AdditiveExpression__Group_1__2__Impl
14949 {
14950 pushFollow(FOLLOW_2);
14951 rule__AdditiveExpression__Group_1__2__Impl();
14952
14953 state._fsp--;
14954 if (state.failed) return ;
9817 14955
9818 } 14956 }
9819 14957
@@ -9829,35 +14967,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9829 } 14967 }
9830 return ; 14968 return ;
9831 } 14969 }
9832 // $ANTLR end "rule__Predicate__Group_2_1_1__1" 14970 // $ANTLR end "rule__AdditiveExpression__Group_1__2"
9833 14971
9834 14972
9835 // $ANTLR start "rule__Predicate__Group_2_1_1__1__Impl" 14973 // $ANTLR start "rule__AdditiveExpression__Group_1__2__Impl"
9836 // InternalSolverLanguage.g:3125:1: rule__Predicate__Group_2_1_1__1__Impl : ( ( rule__Predicate__ParametersAssignment_2_1_1_1 ) ) ; 14974 // InternalSolverLanguage.g:4346:1: rule__AdditiveExpression__Group_1__2__Impl : ( ( rule__AdditiveExpression__RightAssignment_1_2 ) ) ;
9837 public final void rule__Predicate__Group_2_1_1__1__Impl() throws RecognitionException { 14975 public final void rule__AdditiveExpression__Group_1__2__Impl() throws RecognitionException {
9838 14976
9839 int stackSize = keepStackSize(); 14977 int stackSize = keepStackSize();
9840 14978
9841 try { 14979 try {
9842 // InternalSolverLanguage.g:3129:1: ( ( ( rule__Predicate__ParametersAssignment_2_1_1_1 ) ) ) 14980 // InternalSolverLanguage.g:4350:1: ( ( ( rule__AdditiveExpression__RightAssignment_1_2 ) ) )
9843 // InternalSolverLanguage.g:3130:1: ( ( rule__Predicate__ParametersAssignment_2_1_1_1 ) ) 14981 // InternalSolverLanguage.g:4351:1: ( ( rule__AdditiveExpression__RightAssignment_1_2 ) )
9844 { 14982 {
9845 // InternalSolverLanguage.g:3130:1: ( ( rule__Predicate__ParametersAssignment_2_1_1_1 ) ) 14983 // InternalSolverLanguage.g:4351:1: ( ( rule__AdditiveExpression__RightAssignment_1_2 ) )
9846 // InternalSolverLanguage.g:3131:2: ( rule__Predicate__ParametersAssignment_2_1_1_1 ) 14984 // InternalSolverLanguage.g:4352:2: ( rule__AdditiveExpression__RightAssignment_1_2 )
9847 { 14985 {
9848 before(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_1_1()); 14986 if ( state.backtracking==0 ) {
9849 // InternalSolverLanguage.g:3132:2: ( rule__Predicate__ParametersAssignment_2_1_1_1 ) 14987 before(grammarAccess.getAdditiveExpressionAccess().getRightAssignment_1_2());
9850 // InternalSolverLanguage.g:3132:3: rule__Predicate__ParametersAssignment_2_1_1_1 14988 }
14989 // InternalSolverLanguage.g:4353:2: ( rule__AdditiveExpression__RightAssignment_1_2 )
14990 // InternalSolverLanguage.g:4353:3: rule__AdditiveExpression__RightAssignment_1_2
9851 { 14991 {
9852 pushFollow(FOLLOW_2); 14992 pushFollow(FOLLOW_2);
9853 rule__Predicate__ParametersAssignment_2_1_1_1(); 14993 rule__AdditiveExpression__RightAssignment_1_2();
9854 14994
9855 state._fsp--; 14995 state._fsp--;
9856 14996 if (state.failed) return ;
9857 14997
9858 } 14998 }
9859 14999
9860 after(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_1_1()); 15000 if ( state.backtracking==0 ) {
15001 after(grammarAccess.getAdditiveExpressionAccess().getRightAssignment_1_2());
15002 }
9861 15003
9862 } 15004 }
9863 15005
@@ -9876,29 +15018,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9876 } 15018 }
9877 return ; 15019 return ;
9878 } 15020 }
9879 // $ANTLR end "rule__Predicate__Group_2_1_1__1__Impl" 15021 // $ANTLR end "rule__AdditiveExpression__Group_1__2__Impl"
9880 15022
9881 15023
9882 // $ANTLR start "rule__Predicate__Group_4_1__0" 15024 // $ANTLR start "rule__MultiplicativeExpression__Group__0"
9883 // InternalSolverLanguage.g:3141:1: rule__Predicate__Group_4_1__0 : rule__Predicate__Group_4_1__0__Impl rule__Predicate__Group_4_1__1 ; 15025 // InternalSolverLanguage.g:4362:1: rule__MultiplicativeExpression__Group__0 : rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ;
9884 public final void rule__Predicate__Group_4_1__0() throws RecognitionException { 15026 public final void rule__MultiplicativeExpression__Group__0() throws RecognitionException {
9885 15027
9886 int stackSize = keepStackSize(); 15028 int stackSize = keepStackSize();
9887 15029
9888 try { 15030 try {
9889 // InternalSolverLanguage.g:3145:1: ( rule__Predicate__Group_4_1__0__Impl rule__Predicate__Group_4_1__1 ) 15031 // InternalSolverLanguage.g:4366:1: ( rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 )
9890 // InternalSolverLanguage.g:3146:2: rule__Predicate__Group_4_1__0__Impl rule__Predicate__Group_4_1__1 15032 // InternalSolverLanguage.g:4367:2: rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1
9891 { 15033 {
9892 pushFollow(FOLLOW_23); 15034 pushFollow(FOLLOW_27);
9893 rule__Predicate__Group_4_1__0__Impl(); 15035 rule__MultiplicativeExpression__Group__0__Impl();
9894 15036
9895 state._fsp--; 15037 state._fsp--;
9896 15038 if (state.failed) return ;
9897 pushFollow(FOLLOW_2); 15039 pushFollow(FOLLOW_2);
9898 rule__Predicate__Group_4_1__1(); 15040 rule__MultiplicativeExpression__Group__1();
9899 15041
9900 state._fsp--; 15042 state._fsp--;
9901 15043 if (state.failed) return ;
9902 15044
9903 } 15045 }
9904 15046
@@ -9914,36 +15056,34 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9914 } 15056 }
9915 return ; 15057 return ;
9916 } 15058 }
9917 // $ANTLR end "rule__Predicate__Group_4_1__0" 15059 // $ANTLR end "rule__MultiplicativeExpression__Group__0"
9918 15060
9919 15061
9920 // $ANTLR start "rule__Predicate__Group_4_1__0__Impl" 15062 // $ANTLR start "rule__MultiplicativeExpression__Group__0__Impl"
9921 // InternalSolverLanguage.g:3153:1: rule__Predicate__Group_4_1__0__Impl : ( ( rule__Predicate__BodiesAssignment_4_1_0 ) ) ; 15063 // InternalSolverLanguage.g:4374:1: rule__MultiplicativeExpression__Group__0__Impl : ( ruleExponentialExpression ) ;
9922 public final void rule__Predicate__Group_4_1__0__Impl() throws RecognitionException { 15064 public final void rule__MultiplicativeExpression__Group__0__Impl() throws RecognitionException {
9923 15065
9924 int stackSize = keepStackSize(); 15066 int stackSize = keepStackSize();
9925 15067
9926 try { 15068 try {
9927 // InternalSolverLanguage.g:3157:1: ( ( ( rule__Predicate__BodiesAssignment_4_1_0 ) ) ) 15069 // InternalSolverLanguage.g:4378:1: ( ( ruleExponentialExpression ) )
9928 // InternalSolverLanguage.g:3158:1: ( ( rule__Predicate__BodiesAssignment_4_1_0 ) ) 15070 // InternalSolverLanguage.g:4379:1: ( ruleExponentialExpression )
9929 {
9930 // InternalSolverLanguage.g:3158:1: ( ( rule__Predicate__BodiesAssignment_4_1_0 ) )
9931 // InternalSolverLanguage.g:3159:2: ( rule__Predicate__BodiesAssignment_4_1_0 )
9932 { 15071 {
9933 before(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_0()); 15072 // InternalSolverLanguage.g:4379:1: ( ruleExponentialExpression )
9934 // InternalSolverLanguage.g:3160:2: ( rule__Predicate__BodiesAssignment_4_1_0 ) 15073 // InternalSolverLanguage.g:4380:2: ruleExponentialExpression
9935 // InternalSolverLanguage.g:3160:3: rule__Predicate__BodiesAssignment_4_1_0
9936 { 15074 {
15075 if ( state.backtracking==0 ) {
15076 before(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0());
15077 }
9937 pushFollow(FOLLOW_2); 15078 pushFollow(FOLLOW_2);
9938 rule__Predicate__BodiesAssignment_4_1_0(); 15079 ruleExponentialExpression();
9939 15080
9940 state._fsp--; 15081 state._fsp--;
9941 15082 if (state.failed) return ;
9942 15083 if ( state.backtracking==0 ) {
15084 after(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0());
9943 } 15085 }
9944 15086
9945 after(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_0());
9946
9947 } 15087 }
9948 15088
9949 15089
@@ -9961,24 +15101,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9961 } 15101 }
9962 return ; 15102 return ;
9963 } 15103 }
9964 // $ANTLR end "rule__Predicate__Group_4_1__0__Impl" 15104 // $ANTLR end "rule__MultiplicativeExpression__Group__0__Impl"
9965 15105
9966 15106
9967 // $ANTLR start "rule__Predicate__Group_4_1__1" 15107 // $ANTLR start "rule__MultiplicativeExpression__Group__1"
9968 // InternalSolverLanguage.g:3168:1: rule__Predicate__Group_4_1__1 : rule__Predicate__Group_4_1__1__Impl ; 15108 // InternalSolverLanguage.g:4389:1: rule__MultiplicativeExpression__Group__1 : rule__MultiplicativeExpression__Group__1__Impl ;
9969 public final void rule__Predicate__Group_4_1__1() throws RecognitionException { 15109 public final void rule__MultiplicativeExpression__Group__1() throws RecognitionException {
9970 15110
9971 int stackSize = keepStackSize(); 15111 int stackSize = keepStackSize();
9972 15112
9973 try { 15113 try {
9974 // InternalSolverLanguage.g:3172:1: ( rule__Predicate__Group_4_1__1__Impl ) 15114 // InternalSolverLanguage.g:4393:1: ( rule__MultiplicativeExpression__Group__1__Impl )
9975 // InternalSolverLanguage.g:3173:2: rule__Predicate__Group_4_1__1__Impl 15115 // InternalSolverLanguage.g:4394:2: rule__MultiplicativeExpression__Group__1__Impl
9976 { 15116 {
9977 pushFollow(FOLLOW_2); 15117 pushFollow(FOLLOW_2);
9978 rule__Predicate__Group_4_1__1__Impl(); 15118 rule__MultiplicativeExpression__Group__1__Impl();
9979 15119
9980 state._fsp--; 15120 state._fsp--;
9981 15121 if (state.failed) return ;
9982 15122
9983 } 15123 }
9984 15124
@@ -9994,53 +15134,57 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
9994 } 15134 }
9995 return ; 15135 return ;
9996 } 15136 }
9997 // $ANTLR end "rule__Predicate__Group_4_1__1" 15137 // $ANTLR end "rule__MultiplicativeExpression__Group__1"
9998 15138
9999 15139
10000 // $ANTLR start "rule__Predicate__Group_4_1__1__Impl" 15140 // $ANTLR start "rule__MultiplicativeExpression__Group__1__Impl"
10001 // InternalSolverLanguage.g:3179:1: rule__Predicate__Group_4_1__1__Impl : ( ( rule__Predicate__Group_4_1_1__0 )* ) ; 15141 // InternalSolverLanguage.g:4400:1: rule__MultiplicativeExpression__Group__1__Impl : ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ;
10002 public final void rule__Predicate__Group_4_1__1__Impl() throws RecognitionException { 15142 public final void rule__MultiplicativeExpression__Group__1__Impl() throws RecognitionException {
10003 15143
10004 int stackSize = keepStackSize(); 15144 int stackSize = keepStackSize();
10005 15145
10006 try { 15146 try {
10007 // InternalSolverLanguage.g:3183:1: ( ( ( rule__Predicate__Group_4_1_1__0 )* ) ) 15147 // InternalSolverLanguage.g:4404:1: ( ( ( rule__MultiplicativeExpression__Group_1__0 )* ) )
10008 // InternalSolverLanguage.g:3184:1: ( ( rule__Predicate__Group_4_1_1__0 )* ) 15148 // InternalSolverLanguage.g:4405:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* )
10009 { 15149 {
10010 // InternalSolverLanguage.g:3184:1: ( ( rule__Predicate__Group_4_1_1__0 )* ) 15150 // InternalSolverLanguage.g:4405:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* )
10011 // InternalSolverLanguage.g:3185:2: ( rule__Predicate__Group_4_1_1__0 )* 15151 // InternalSolverLanguage.g:4406:2: ( rule__MultiplicativeExpression__Group_1__0 )*
10012 { 15152 {
10013 before(grammarAccess.getPredicateAccess().getGroup_4_1_1()); 15153 if ( state.backtracking==0 ) {
10014 // InternalSolverLanguage.g:3186:2: ( rule__Predicate__Group_4_1_1__0 )* 15154 before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1());
10015 loop30: 15155 }
15156 // InternalSolverLanguage.g:4407:2: ( rule__MultiplicativeExpression__Group_1__0 )*
15157 loop37:
10016 do { 15158 do {
10017 int alt30=2; 15159 int alt37=2;
10018 int LA30_0 = input.LA(1); 15160 int LA37_0 = input.LA(1);
10019 15161
10020 if ( (LA30_0==29) ) { 15162 if ( (LA37_0==16||LA37_0==28) ) {
10021 alt30=1; 15163 alt37=1;
10022 } 15164 }
10023 15165
10024 15166
10025 switch (alt30) { 15167 switch (alt37) {
10026 case 1 : 15168 case 1 :
10027 // InternalSolverLanguage.g:3186:3: rule__Predicate__Group_4_1_1__0 15169 // InternalSolverLanguage.g:4407:3: rule__MultiplicativeExpression__Group_1__0
10028 { 15170 {
10029 pushFollow(FOLLOW_24); 15171 pushFollow(FOLLOW_28);
10030 rule__Predicate__Group_4_1_1__0(); 15172 rule__MultiplicativeExpression__Group_1__0();
10031 15173
10032 state._fsp--; 15174 state._fsp--;
10033 15175 if (state.failed) return ;
10034 15176
10035 } 15177 }
10036 break; 15178 break;
10037 15179
10038 default : 15180 default :
10039 break loop30; 15181 break loop37;
10040 } 15182 }
10041 } while (true); 15183 } while (true);
10042 15184
10043 after(grammarAccess.getPredicateAccess().getGroup_4_1_1()); 15185 if ( state.backtracking==0 ) {
15186 after(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1());
15187 }
10044 15188
10045 } 15189 }
10046 15190
@@ -10059,29 +15203,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10059 } 15203 }
10060 return ; 15204 return ;
10061 } 15205 }
10062 // $ANTLR end "rule__Predicate__Group_4_1__1__Impl" 15206 // $ANTLR end "rule__MultiplicativeExpression__Group__1__Impl"
10063 15207
10064 15208
10065 // $ANTLR start "rule__Predicate__Group_4_1_1__0" 15209 // $ANTLR start "rule__MultiplicativeExpression__Group_1__0"
10066 // InternalSolverLanguage.g:3195:1: rule__Predicate__Group_4_1_1__0 : rule__Predicate__Group_4_1_1__0__Impl rule__Predicate__Group_4_1_1__1 ; 15210 // InternalSolverLanguage.g:4416:1: rule__MultiplicativeExpression__Group_1__0 : rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ;
10067 public final void rule__Predicate__Group_4_1_1__0() throws RecognitionException { 15211 public final void rule__MultiplicativeExpression__Group_1__0() throws RecognitionException {
10068 15212
10069 int stackSize = keepStackSize(); 15213 int stackSize = keepStackSize();
10070 15214
10071 try { 15215 try {
10072 // InternalSolverLanguage.g:3199:1: ( rule__Predicate__Group_4_1_1__0__Impl rule__Predicate__Group_4_1_1__1 ) 15216 // InternalSolverLanguage.g:4420:1: ( rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 )
10073 // InternalSolverLanguage.g:3200:2: rule__Predicate__Group_4_1_1__0__Impl rule__Predicate__Group_4_1_1__1 15217 // InternalSolverLanguage.g:4421:2: rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1
10074 { 15218 {
10075 pushFollow(FOLLOW_21); 15219 pushFollow(FOLLOW_27);
10076 rule__Predicate__Group_4_1_1__0__Impl(); 15220 rule__MultiplicativeExpression__Group_1__0__Impl();
10077 15221
10078 state._fsp--; 15222 state._fsp--;
10079 15223 if (state.failed) return ;
10080 pushFollow(FOLLOW_2); 15224 pushFollow(FOLLOW_2);
10081 rule__Predicate__Group_4_1_1__1(); 15225 rule__MultiplicativeExpression__Group_1__1();
10082 15226
10083 state._fsp--; 15227 state._fsp--;
10084 15228 if (state.failed) return ;
10085 15229
10086 } 15230 }
10087 15231
@@ -10097,28 +15241,70 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10097 } 15241 }
10098 return ; 15242 return ;
10099 } 15243 }
10100 // $ANTLR end "rule__Predicate__Group_4_1_1__0" 15244 // $ANTLR end "rule__MultiplicativeExpression__Group_1__0"
10101 15245
10102 15246
10103 // $ANTLR start "rule__Predicate__Group_4_1_1__0__Impl" 15247 // $ANTLR start "rule__MultiplicativeExpression__Group_1__0__Impl"
10104 // InternalSolverLanguage.g:3207:1: rule__Predicate__Group_4_1_1__0__Impl : ( '|' ) ; 15248 // InternalSolverLanguage.g:4428:1: rule__MultiplicativeExpression__Group_1__0__Impl : ( () ) ;
10105 public final void rule__Predicate__Group_4_1_1__0__Impl() throws RecognitionException { 15249 public final void rule__MultiplicativeExpression__Group_1__0__Impl() throws RecognitionException {
10106 15250
10107 int stackSize = keepStackSize(); 15251 int stackSize = keepStackSize();
10108 15252
10109 try { 15253 try {
10110 // InternalSolverLanguage.g:3211:1: ( ( '|' ) ) 15254 // InternalSolverLanguage.g:4432:1: ( ( () ) )
10111 // InternalSolverLanguage.g:3212:1: ( '|' ) 15255 // InternalSolverLanguage.g:4433:1: ( () )
15256 {
15257 // InternalSolverLanguage.g:4433:1: ( () )
15258 // InternalSolverLanguage.g:4434:2: ()
10112 { 15259 {
10113 // InternalSolverLanguage.g:3212:1: ( '|' ) 15260 if ( state.backtracking==0 ) {
10114 // InternalSolverLanguage.g:3213:2: '|' 15261 before(grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0());
15262 }
15263 // InternalSolverLanguage.g:4435:2: ()
15264 // InternalSolverLanguage.g:4435:3:
10115 { 15265 {
10116 before(grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0()); 15266 }
10117 match(input,29,FOLLOW_2); 15267
10118 after(grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0()); 15268 if ( state.backtracking==0 ) {
15269 after(grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0());
15270 }
15271
15272 }
15273
10119 15274
10120 } 15275 }
10121 15276
15277 }
15278 finally {
15279
15280 restoreStackSize(stackSize);
15281
15282 }
15283 return ;
15284 }
15285 // $ANTLR end "rule__MultiplicativeExpression__Group_1__0__Impl"
15286
15287
15288 // $ANTLR start "rule__MultiplicativeExpression__Group_1__1"
15289 // InternalSolverLanguage.g:4443:1: rule__MultiplicativeExpression__Group_1__1 : rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ;
15290 public final void rule__MultiplicativeExpression__Group_1__1() throws RecognitionException {
15291
15292 int stackSize = keepStackSize();
15293
15294 try {
15295 // InternalSolverLanguage.g:4447:1: ( rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 )
15296 // InternalSolverLanguage.g:4448:2: rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2
15297 {
15298 pushFollow(FOLLOW_7);
15299 rule__MultiplicativeExpression__Group_1__1__Impl();
15300
15301 state._fsp--;
15302 if (state.failed) return ;
15303 pushFollow(FOLLOW_2);
15304 rule__MultiplicativeExpression__Group_1__2();
15305
15306 state._fsp--;
15307 if (state.failed) return ;
10122 15308
10123 } 15309 }
10124 15310
@@ -10134,24 +15320,75 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10134 } 15320 }
10135 return ; 15321 return ;
10136 } 15322 }
10137 // $ANTLR end "rule__Predicate__Group_4_1_1__0__Impl" 15323 // $ANTLR end "rule__MultiplicativeExpression__Group_1__1"
10138 15324
10139 15325
10140 // $ANTLR start "rule__Predicate__Group_4_1_1__1" 15326 // $ANTLR start "rule__MultiplicativeExpression__Group_1__1__Impl"
10141 // InternalSolverLanguage.g:3222:1: rule__Predicate__Group_4_1_1__1 : rule__Predicate__Group_4_1_1__1__Impl ; 15327 // InternalSolverLanguage.g:4455:1: rule__MultiplicativeExpression__Group_1__1__Impl : ( ( rule__MultiplicativeExpression__OpAssignment_1_1 ) ) ;
10142 public final void rule__Predicate__Group_4_1_1__1() throws RecognitionException { 15328 public final void rule__MultiplicativeExpression__Group_1__1__Impl() throws RecognitionException {
10143 15329
10144 int stackSize = keepStackSize(); 15330 int stackSize = keepStackSize();
10145 15331
10146 try { 15332 try {
10147 // InternalSolverLanguage.g:3226:1: ( rule__Predicate__Group_4_1_1__1__Impl ) 15333 // InternalSolverLanguage.g:4459:1: ( ( ( rule__MultiplicativeExpression__OpAssignment_1_1 ) ) )
10148 // InternalSolverLanguage.g:3227:2: rule__Predicate__Group_4_1_1__1__Impl 15334 // InternalSolverLanguage.g:4460:1: ( ( rule__MultiplicativeExpression__OpAssignment_1_1 ) )
15335 {
15336 // InternalSolverLanguage.g:4460:1: ( ( rule__MultiplicativeExpression__OpAssignment_1_1 ) )
15337 // InternalSolverLanguage.g:4461:2: ( rule__MultiplicativeExpression__OpAssignment_1_1 )
15338 {
15339 if ( state.backtracking==0 ) {
15340 before(grammarAccess.getMultiplicativeExpressionAccess().getOpAssignment_1_1());
15341 }
15342 // InternalSolverLanguage.g:4462:2: ( rule__MultiplicativeExpression__OpAssignment_1_1 )
15343 // InternalSolverLanguage.g:4462:3: rule__MultiplicativeExpression__OpAssignment_1_1
10149 { 15344 {
10150 pushFollow(FOLLOW_2); 15345 pushFollow(FOLLOW_2);
10151 rule__Predicate__Group_4_1_1__1__Impl(); 15346 rule__MultiplicativeExpression__OpAssignment_1_1();
10152 15347
10153 state._fsp--; 15348 state._fsp--;
15349 if (state.failed) return ;
15350
15351 }
15352
15353 if ( state.backtracking==0 ) {
15354 after(grammarAccess.getMultiplicativeExpressionAccess().getOpAssignment_1_1());
15355 }
15356
15357 }
15358
15359
15360 }
15361
15362 }
15363 catch (RecognitionException re) {
15364 reportError(re);
15365 recover(input,re);
15366 }
15367 finally {
15368
15369 restoreStackSize(stackSize);
15370
15371 }
15372 return ;
15373 }
15374 // $ANTLR end "rule__MultiplicativeExpression__Group_1__1__Impl"
15375
15376
15377 // $ANTLR start "rule__MultiplicativeExpression__Group_1__2"
15378 // InternalSolverLanguage.g:4470:1: rule__MultiplicativeExpression__Group_1__2 : rule__MultiplicativeExpression__Group_1__2__Impl ;
15379 public final void rule__MultiplicativeExpression__Group_1__2() throws RecognitionException {
15380
15381 int stackSize = keepStackSize();
15382
15383 try {
15384 // InternalSolverLanguage.g:4474:1: ( rule__MultiplicativeExpression__Group_1__2__Impl )
15385 // InternalSolverLanguage.g:4475:2: rule__MultiplicativeExpression__Group_1__2__Impl
15386 {
15387 pushFollow(FOLLOW_2);
15388 rule__MultiplicativeExpression__Group_1__2__Impl();
10154 15389
15390 state._fsp--;
15391 if (state.failed) return ;
10155 15392
10156 } 15393 }
10157 15394
@@ -10167,35 +15404,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10167 } 15404 }
10168 return ; 15405 return ;
10169 } 15406 }
10170 // $ANTLR end "rule__Predicate__Group_4_1_1__1" 15407 // $ANTLR end "rule__MultiplicativeExpression__Group_1__2"
10171 15408
10172 15409
10173 // $ANTLR start "rule__Predicate__Group_4_1_1__1__Impl" 15410 // $ANTLR start "rule__MultiplicativeExpression__Group_1__2__Impl"
10174 // InternalSolverLanguage.g:3233:1: rule__Predicate__Group_4_1_1__1__Impl : ( ( rule__Predicate__BodiesAssignment_4_1_1_1 ) ) ; 15411 // InternalSolverLanguage.g:4481:1: rule__MultiplicativeExpression__Group_1__2__Impl : ( ( rule__MultiplicativeExpression__RightAssignment_1_2 ) ) ;
10175 public final void rule__Predicate__Group_4_1_1__1__Impl() throws RecognitionException { 15412 public final void rule__MultiplicativeExpression__Group_1__2__Impl() throws RecognitionException {
10176 15413
10177 int stackSize = keepStackSize(); 15414 int stackSize = keepStackSize();
10178 15415
10179 try { 15416 try {
10180 // InternalSolverLanguage.g:3237:1: ( ( ( rule__Predicate__BodiesAssignment_4_1_1_1 ) ) ) 15417 // InternalSolverLanguage.g:4485:1: ( ( ( rule__MultiplicativeExpression__RightAssignment_1_2 ) ) )
10181 // InternalSolverLanguage.g:3238:1: ( ( rule__Predicate__BodiesAssignment_4_1_1_1 ) ) 15418 // InternalSolverLanguage.g:4486:1: ( ( rule__MultiplicativeExpression__RightAssignment_1_2 ) )
10182 { 15419 {
10183 // InternalSolverLanguage.g:3238:1: ( ( rule__Predicate__BodiesAssignment_4_1_1_1 ) ) 15420 // InternalSolverLanguage.g:4486:1: ( ( rule__MultiplicativeExpression__RightAssignment_1_2 ) )
10184 // InternalSolverLanguage.g:3239:2: ( rule__Predicate__BodiesAssignment_4_1_1_1 ) 15421 // InternalSolverLanguage.g:4487:2: ( rule__MultiplicativeExpression__RightAssignment_1_2 )
10185 { 15422 {
10186 before(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_1_1()); 15423 if ( state.backtracking==0 ) {
10187 // InternalSolverLanguage.g:3240:2: ( rule__Predicate__BodiesAssignment_4_1_1_1 ) 15424 before(grammarAccess.getMultiplicativeExpressionAccess().getRightAssignment_1_2());
10188 // InternalSolverLanguage.g:3240:3: rule__Predicate__BodiesAssignment_4_1_1_1 15425 }
15426 // InternalSolverLanguage.g:4488:2: ( rule__MultiplicativeExpression__RightAssignment_1_2 )
15427 // InternalSolverLanguage.g:4488:3: rule__MultiplicativeExpression__RightAssignment_1_2
10189 { 15428 {
10190 pushFollow(FOLLOW_2); 15429 pushFollow(FOLLOW_2);
10191 rule__Predicate__BodiesAssignment_4_1_1_1(); 15430 rule__MultiplicativeExpression__RightAssignment_1_2();
10192 15431
10193 state._fsp--; 15432 state._fsp--;
10194 15433 if (state.failed) return ;
10195 15434
10196 } 15435 }
10197 15436
10198 after(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_1_1()); 15437 if ( state.backtracking==0 ) {
15438 after(grammarAccess.getMultiplicativeExpressionAccess().getRightAssignment_1_2());
15439 }
10199 15440
10200 } 15441 }
10201 15442
@@ -10214,29 +15455,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10214 } 15455 }
10215 return ; 15456 return ;
10216 } 15457 }
10217 // $ANTLR end "rule__Predicate__Group_4_1_1__1__Impl" 15458 // $ANTLR end "rule__MultiplicativeExpression__Group_1__2__Impl"
10218 15459
10219 15460
10220 // $ANTLR start "rule__Parameter__Group__0" 15461 // $ANTLR start "rule__ExponentialExpression__Group__0"
10221 // InternalSolverLanguage.g:3249:1: rule__Parameter__Group__0 : rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ; 15462 // InternalSolverLanguage.g:4497:1: rule__ExponentialExpression__Group__0 : rule__ExponentialExpression__Group__0__Impl rule__ExponentialExpression__Group__1 ;
10222 public final void rule__Parameter__Group__0() throws RecognitionException { 15463 public final void rule__ExponentialExpression__Group__0() throws RecognitionException {
10223 15464
10224 int stackSize = keepStackSize(); 15465 int stackSize = keepStackSize();
10225 15466
10226 try { 15467 try {
10227 // InternalSolverLanguage.g:3253:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ) 15468 // InternalSolverLanguage.g:4501:1: ( rule__ExponentialExpression__Group__0__Impl rule__ExponentialExpression__Group__1 )
10228 // InternalSolverLanguage.g:3254:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1 15469 // InternalSolverLanguage.g:4502:2: rule__ExponentialExpression__Group__0__Impl rule__ExponentialExpression__Group__1
10229 { 15470 {
10230 pushFollow(FOLLOW_25); 15471 pushFollow(FOLLOW_29);
10231 rule__Parameter__Group__0__Impl(); 15472 rule__ExponentialExpression__Group__0__Impl();
10232 15473
10233 state._fsp--; 15474 state._fsp--;
10234 15475 if (state.failed) return ;
10235 pushFollow(FOLLOW_2); 15476 pushFollow(FOLLOW_2);
10236 rule__Parameter__Group__1(); 15477 rule__ExponentialExpression__Group__1();
10237 15478
10238 state._fsp--; 15479 state._fsp--;
10239 15480 if (state.failed) return ;
10240 15481
10241 } 15482 }
10242 15483
@@ -10252,36 +15493,34 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10252 } 15493 }
10253 return ; 15494 return ;
10254 } 15495 }
10255 // $ANTLR end "rule__Parameter__Group__0" 15496 // $ANTLR end "rule__ExponentialExpression__Group__0"
10256 15497
10257 15498
10258 // $ANTLR start "rule__Parameter__Group__0__Impl" 15499 // $ANTLR start "rule__ExponentialExpression__Group__0__Impl"
10259 // InternalSolverLanguage.g:3261:1: rule__Parameter__Group__0__Impl : ( ( rule__Parameter__VariableAssignment_0 ) ) ; 15500 // InternalSolverLanguage.g:4509:1: rule__ExponentialExpression__Group__0__Impl : ( ruleUnaryExpression ) ;
10260 public final void rule__Parameter__Group__0__Impl() throws RecognitionException { 15501 public final void rule__ExponentialExpression__Group__0__Impl() throws RecognitionException {
10261 15502
10262 int stackSize = keepStackSize(); 15503 int stackSize = keepStackSize();
10263 15504
10264 try { 15505 try {
10265 // InternalSolverLanguage.g:3265:1: ( ( ( rule__Parameter__VariableAssignment_0 ) ) ) 15506 // InternalSolverLanguage.g:4513:1: ( ( ruleUnaryExpression ) )
10266 // InternalSolverLanguage.g:3266:1: ( ( rule__Parameter__VariableAssignment_0 ) ) 15507 // InternalSolverLanguage.g:4514:1: ( ruleUnaryExpression )
10267 {
10268 // InternalSolverLanguage.g:3266:1: ( ( rule__Parameter__VariableAssignment_0 ) )
10269 // InternalSolverLanguage.g:3267:2: ( rule__Parameter__VariableAssignment_0 )
10270 { 15508 {
10271 before(grammarAccess.getParameterAccess().getVariableAssignment_0()); 15509 // InternalSolverLanguage.g:4514:1: ( ruleUnaryExpression )
10272 // InternalSolverLanguage.g:3268:2: ( rule__Parameter__VariableAssignment_0 ) 15510 // InternalSolverLanguage.g:4515:2: ruleUnaryExpression
10273 // InternalSolverLanguage.g:3268:3: rule__Parameter__VariableAssignment_0
10274 { 15511 {
15512 if ( state.backtracking==0 ) {
15513 before(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0());
15514 }
10275 pushFollow(FOLLOW_2); 15515 pushFollow(FOLLOW_2);
10276 rule__Parameter__VariableAssignment_0(); 15516 ruleUnaryExpression();
10277 15517
10278 state._fsp--; 15518 state._fsp--;
10279 15519 if (state.failed) return ;
10280 15520 if ( state.backtracking==0 ) {
15521 after(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0());
10281 } 15522 }
10282 15523
10283 after(grammarAccess.getParameterAccess().getVariableAssignment_0());
10284
10285 } 15524 }
10286 15525
10287 15526
@@ -10299,24 +15538,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10299 } 15538 }
10300 return ; 15539 return ;
10301 } 15540 }
10302 // $ANTLR end "rule__Parameter__Group__0__Impl" 15541 // $ANTLR end "rule__ExponentialExpression__Group__0__Impl"
10303 15542
10304 15543
10305 // $ANTLR start "rule__Parameter__Group__1" 15544 // $ANTLR start "rule__ExponentialExpression__Group__1"
10306 // InternalSolverLanguage.g:3276:1: rule__Parameter__Group__1 : rule__Parameter__Group__1__Impl ; 15545 // InternalSolverLanguage.g:4524:1: rule__ExponentialExpression__Group__1 : rule__ExponentialExpression__Group__1__Impl ;
10307 public final void rule__Parameter__Group__1() throws RecognitionException { 15546 public final void rule__ExponentialExpression__Group__1() throws RecognitionException {
10308 15547
10309 int stackSize = keepStackSize(); 15548 int stackSize = keepStackSize();
10310 15549
10311 try { 15550 try {
10312 // InternalSolverLanguage.g:3280:1: ( rule__Parameter__Group__1__Impl ) 15551 // InternalSolverLanguage.g:4528:1: ( rule__ExponentialExpression__Group__1__Impl )
10313 // InternalSolverLanguage.g:3281:2: rule__Parameter__Group__1__Impl 15552 // InternalSolverLanguage.g:4529:2: rule__ExponentialExpression__Group__1__Impl
10314 { 15553 {
10315 pushFollow(FOLLOW_2); 15554 pushFollow(FOLLOW_2);
10316 rule__Parameter__Group__1__Impl(); 15555 rule__ExponentialExpression__Group__1__Impl();
10317 15556
10318 state._fsp--; 15557 state._fsp--;
10319 15558 if (state.failed) return ;
10320 15559
10321 } 15560 }
10322 15561
@@ -10332,46 +15571,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10332 } 15571 }
10333 return ; 15572 return ;
10334 } 15573 }
10335 // $ANTLR end "rule__Parameter__Group__1" 15574 // $ANTLR end "rule__ExponentialExpression__Group__1"
10336 15575
10337 15576
10338 // $ANTLR start "rule__Parameter__Group__1__Impl" 15577 // $ANTLR start "rule__ExponentialExpression__Group__1__Impl"
10339 // InternalSolverLanguage.g:3287:1: rule__Parameter__Group__1__Impl : ( ( rule__Parameter__Group_1__0 )? ) ; 15578 // InternalSolverLanguage.g:4535:1: rule__ExponentialExpression__Group__1__Impl : ( ( rule__ExponentialExpression__Group_1__0 )? ) ;
10340 public final void rule__Parameter__Group__1__Impl() throws RecognitionException { 15579 public final void rule__ExponentialExpression__Group__1__Impl() throws RecognitionException {
10341 15580
10342 int stackSize = keepStackSize(); 15581 int stackSize = keepStackSize();
10343 15582
10344 try { 15583 try {
10345 // InternalSolverLanguage.g:3291:1: ( ( ( rule__Parameter__Group_1__0 )? ) ) 15584 // InternalSolverLanguage.g:4539:1: ( ( ( rule__ExponentialExpression__Group_1__0 )? ) )
10346 // InternalSolverLanguage.g:3292:1: ( ( rule__Parameter__Group_1__0 )? ) 15585 // InternalSolverLanguage.g:4540:1: ( ( rule__ExponentialExpression__Group_1__0 )? )
10347 { 15586 {
10348 // InternalSolverLanguage.g:3292:1: ( ( rule__Parameter__Group_1__0 )? ) 15587 // InternalSolverLanguage.g:4540:1: ( ( rule__ExponentialExpression__Group_1__0 )? )
10349 // InternalSolverLanguage.g:3293:2: ( rule__Parameter__Group_1__0 )? 15588 // InternalSolverLanguage.g:4541:2: ( rule__ExponentialExpression__Group_1__0 )?
10350 { 15589 {
10351 before(grammarAccess.getParameterAccess().getGroup_1()); 15590 if ( state.backtracking==0 ) {
10352 // InternalSolverLanguage.g:3294:2: ( rule__Parameter__Group_1__0 )? 15591 before(grammarAccess.getExponentialExpressionAccess().getGroup_1());
10353 int alt31=2; 15592 }
10354 int LA31_0 = input.LA(1); 15593 // InternalSolverLanguage.g:4542:2: ( rule__ExponentialExpression__Group_1__0 )?
15594 int alt38=2;
15595 int LA38_0 = input.LA(1);
10355 15596
10356 if ( (LA31_0==17) ) { 15597 if ( (LA38_0==15) ) {
10357 alt31=1; 15598 alt38=1;
10358 } 15599 }
10359 switch (alt31) { 15600 switch (alt38) {
10360 case 1 : 15601 case 1 :
10361 // InternalSolverLanguage.g:3294:3: rule__Parameter__Group_1__0 15602 // InternalSolverLanguage.g:4542:3: rule__ExponentialExpression__Group_1__0
10362 { 15603 {
10363 pushFollow(FOLLOW_2); 15604 pushFollow(FOLLOW_2);
10364 rule__Parameter__Group_1__0(); 15605 rule__ExponentialExpression__Group_1__0();
10365 15606
10366 state._fsp--; 15607 state._fsp--;
10367 15608 if (state.failed) return ;
10368 15609
10369 } 15610 }
10370 break; 15611 break;
10371 15612
10372 } 15613 }
10373 15614
10374 after(grammarAccess.getParameterAccess().getGroup_1()); 15615 if ( state.backtracking==0 ) {
15616 after(grammarAccess.getExponentialExpressionAccess().getGroup_1());
15617 }
10375 15618
10376 } 15619 }
10377 15620
@@ -10390,29 +15633,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10390 } 15633 }
10391 return ; 15634 return ;
10392 } 15635 }
10393 // $ANTLR end "rule__Parameter__Group__1__Impl" 15636 // $ANTLR end "rule__ExponentialExpression__Group__1__Impl"
10394 15637
10395 15638
10396 // $ANTLR start "rule__Parameter__Group_1__0" 15639 // $ANTLR start "rule__ExponentialExpression__Group_1__0"
10397 // InternalSolverLanguage.g:3303:1: rule__Parameter__Group_1__0 : rule__Parameter__Group_1__0__Impl rule__Parameter__Group_1__1 ; 15640 // InternalSolverLanguage.g:4551:1: rule__ExponentialExpression__Group_1__0 : rule__ExponentialExpression__Group_1__0__Impl rule__ExponentialExpression__Group_1__1 ;
10398 public final void rule__Parameter__Group_1__0() throws RecognitionException { 15641 public final void rule__ExponentialExpression__Group_1__0() throws RecognitionException {
10399 15642
10400 int stackSize = keepStackSize(); 15643 int stackSize = keepStackSize();
10401 15644
10402 try { 15645 try {
10403 // InternalSolverLanguage.g:3307:1: ( rule__Parameter__Group_1__0__Impl rule__Parameter__Group_1__1 ) 15646 // InternalSolverLanguage.g:4555:1: ( rule__ExponentialExpression__Group_1__0__Impl rule__ExponentialExpression__Group_1__1 )
10404 // InternalSolverLanguage.g:3308:2: rule__Parameter__Group_1__0__Impl rule__Parameter__Group_1__1 15647 // InternalSolverLanguage.g:4556:2: rule__ExponentialExpression__Group_1__0__Impl rule__ExponentialExpression__Group_1__1
10405 { 15648 {
10406 pushFollow(FOLLOW_26); 15649 pushFollow(FOLLOW_29);
10407 rule__Parameter__Group_1__0__Impl(); 15650 rule__ExponentialExpression__Group_1__0__Impl();
10408 15651
10409 state._fsp--; 15652 state._fsp--;
10410 15653 if (state.failed) return ;
10411 pushFollow(FOLLOW_2); 15654 pushFollow(FOLLOW_2);
10412 rule__Parameter__Group_1__1(); 15655 rule__ExponentialExpression__Group_1__1();
10413 15656
10414 state._fsp--; 15657 state._fsp--;
10415 15658 if (state.failed) return ;
10416 15659
10417 } 15660 }
10418 15661
@@ -10428,25 +15671,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10428 } 15671 }
10429 return ; 15672 return ;
10430 } 15673 }
10431 // $ANTLR end "rule__Parameter__Group_1__0" 15674 // $ANTLR end "rule__ExponentialExpression__Group_1__0"
10432 15675
10433 15676
10434 // $ANTLR start "rule__Parameter__Group_1__0__Impl" 15677 // $ANTLR start "rule__ExponentialExpression__Group_1__0__Impl"
10435 // InternalSolverLanguage.g:3315:1: rule__Parameter__Group_1__0__Impl : ( ':' ) ; 15678 // InternalSolverLanguage.g:4563:1: rule__ExponentialExpression__Group_1__0__Impl : ( () ) ;
10436 public final void rule__Parameter__Group_1__0__Impl() throws RecognitionException { 15679 public final void rule__ExponentialExpression__Group_1__0__Impl() throws RecognitionException {
10437 15680
10438 int stackSize = keepStackSize(); 15681 int stackSize = keepStackSize();
10439 15682
10440 try { 15683 try {
10441 // InternalSolverLanguage.g:3319:1: ( ( ':' ) ) 15684 // InternalSolverLanguage.g:4567:1: ( ( () ) )
10442 // InternalSolverLanguage.g:3320:1: ( ':' ) 15685 // InternalSolverLanguage.g:4568:1: ( () )
10443 { 15686 {
10444 // InternalSolverLanguage.g:3320:1: ( ':' ) 15687 // InternalSolverLanguage.g:4568:1: ( () )
10445 // InternalSolverLanguage.g:3321:2: ':' 15688 // InternalSolverLanguage.g:4569:2: ()
10446 { 15689 {
10447 before(grammarAccess.getParameterAccess().getColonKeyword_1_0()); 15690 if ( state.backtracking==0 ) {
10448 match(input,17,FOLLOW_2); 15691 before(grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0());
10449 after(grammarAccess.getParameterAccess().getColonKeyword_1_0()); 15692 }
15693 // InternalSolverLanguage.g:4570:2: ()
15694 // InternalSolverLanguage.g:4570:3:
15695 {
15696 }
15697
15698 if ( state.backtracking==0 ) {
15699 after(grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0());
15700 }
10450 15701
10451 } 15702 }
10452 15703
@@ -10454,6 +15705,40 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10454 } 15705 }
10455 15706
10456 } 15707 }
15708 finally {
15709
15710 restoreStackSize(stackSize);
15711
15712 }
15713 return ;
15714 }
15715 // $ANTLR end "rule__ExponentialExpression__Group_1__0__Impl"
15716
15717
15718 // $ANTLR start "rule__ExponentialExpression__Group_1__1"
15719 // InternalSolverLanguage.g:4578:1: rule__ExponentialExpression__Group_1__1 : rule__ExponentialExpression__Group_1__1__Impl rule__ExponentialExpression__Group_1__2 ;
15720 public final void rule__ExponentialExpression__Group_1__1() throws RecognitionException {
15721
15722 int stackSize = keepStackSize();
15723
15724 try {
15725 // InternalSolverLanguage.g:4582:1: ( rule__ExponentialExpression__Group_1__1__Impl rule__ExponentialExpression__Group_1__2 )
15726 // InternalSolverLanguage.g:4583:2: rule__ExponentialExpression__Group_1__1__Impl rule__ExponentialExpression__Group_1__2
15727 {
15728 pushFollow(FOLLOW_7);
15729 rule__ExponentialExpression__Group_1__1__Impl();
15730
15731 state._fsp--;
15732 if (state.failed) return ;
15733 pushFollow(FOLLOW_2);
15734 rule__ExponentialExpression__Group_1__2();
15735
15736 state._fsp--;
15737 if (state.failed) return ;
15738
15739 }
15740
15741 }
10457 catch (RecognitionException re) { 15742 catch (RecognitionException re) {
10458 reportError(re); 15743 reportError(re);
10459 recover(input,re); 15744 recover(input,re);
@@ -10465,23 +15750,41 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10465 } 15750 }
10466 return ; 15751 return ;
10467 } 15752 }
10468 // $ANTLR end "rule__Parameter__Group_1__0__Impl" 15753 // $ANTLR end "rule__ExponentialExpression__Group_1__1"
10469 15754
10470 15755
10471 // $ANTLR start "rule__Parameter__Group_1__1" 15756 // $ANTLR start "rule__ExponentialExpression__Group_1__1__Impl"
10472 // InternalSolverLanguage.g:3330:1: rule__Parameter__Group_1__1 : rule__Parameter__Group_1__1__Impl ; 15757 // InternalSolverLanguage.g:4590:1: rule__ExponentialExpression__Group_1__1__Impl : ( ( rule__ExponentialExpression__OpAssignment_1_1 ) ) ;
10473 public final void rule__Parameter__Group_1__1() throws RecognitionException { 15758 public final void rule__ExponentialExpression__Group_1__1__Impl() throws RecognitionException {
10474 15759
10475 int stackSize = keepStackSize(); 15760 int stackSize = keepStackSize();
10476 15761
10477 try { 15762 try {
10478 // InternalSolverLanguage.g:3334:1: ( rule__Parameter__Group_1__1__Impl ) 15763 // InternalSolverLanguage.g:4594:1: ( ( ( rule__ExponentialExpression__OpAssignment_1_1 ) ) )
10479 // InternalSolverLanguage.g:3335:2: rule__Parameter__Group_1__1__Impl 15764 // InternalSolverLanguage.g:4595:1: ( ( rule__ExponentialExpression__OpAssignment_1_1 ) )
15765 {
15766 // InternalSolverLanguage.g:4595:1: ( ( rule__ExponentialExpression__OpAssignment_1_1 ) )
15767 // InternalSolverLanguage.g:4596:2: ( rule__ExponentialExpression__OpAssignment_1_1 )
15768 {
15769 if ( state.backtracking==0 ) {
15770 before(grammarAccess.getExponentialExpressionAccess().getOpAssignment_1_1());
15771 }
15772 // InternalSolverLanguage.g:4597:2: ( rule__ExponentialExpression__OpAssignment_1_1 )
15773 // InternalSolverLanguage.g:4597:3: rule__ExponentialExpression__OpAssignment_1_1
10480 { 15774 {
10481 pushFollow(FOLLOW_2); 15775 pushFollow(FOLLOW_2);
10482 rule__Parameter__Group_1__1__Impl(); 15776 rule__ExponentialExpression__OpAssignment_1_1();
10483 15777
10484 state._fsp--; 15778 state._fsp--;
15779 if (state.failed) return ;
15780
15781 }
15782
15783 if ( state.backtracking==0 ) {
15784 after(grammarAccess.getExponentialExpressionAccess().getOpAssignment_1_1());
15785 }
15786
15787 }
10485 15788
10486 15789
10487 } 15790 }
@@ -10498,35 +15801,72 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10498 } 15801 }
10499 return ; 15802 return ;
10500 } 15803 }
10501 // $ANTLR end "rule__Parameter__Group_1__1" 15804 // $ANTLR end "rule__ExponentialExpression__Group_1__1__Impl"
10502 15805
10503 15806
10504 // $ANTLR start "rule__Parameter__Group_1__1__Impl" 15807 // $ANTLR start "rule__ExponentialExpression__Group_1__2"
10505 // InternalSolverLanguage.g:3341:1: rule__Parameter__Group_1__1__Impl : ( ( rule__Parameter__TypeAssignment_1_1 ) ) ; 15808 // InternalSolverLanguage.g:4605:1: rule__ExponentialExpression__Group_1__2 : rule__ExponentialExpression__Group_1__2__Impl ;
10506 public final void rule__Parameter__Group_1__1__Impl() throws RecognitionException { 15809 public final void rule__ExponentialExpression__Group_1__2() throws RecognitionException {
10507 15810
10508 int stackSize = keepStackSize(); 15811 int stackSize = keepStackSize();
10509 15812
10510 try { 15813 try {
10511 // InternalSolverLanguage.g:3345:1: ( ( ( rule__Parameter__TypeAssignment_1_1 ) ) ) 15814 // InternalSolverLanguage.g:4609:1: ( rule__ExponentialExpression__Group_1__2__Impl )
10512 // InternalSolverLanguage.g:3346:1: ( ( rule__Parameter__TypeAssignment_1_1 ) ) 15815 // InternalSolverLanguage.g:4610:2: rule__ExponentialExpression__Group_1__2__Impl
10513 { 15816 {
10514 // InternalSolverLanguage.g:3346:1: ( ( rule__Parameter__TypeAssignment_1_1 ) ) 15817 pushFollow(FOLLOW_2);
10515 // InternalSolverLanguage.g:3347:2: ( rule__Parameter__TypeAssignment_1_1 ) 15818 rule__ExponentialExpression__Group_1__2__Impl();
15819
15820 state._fsp--;
15821 if (state.failed) return ;
15822
15823 }
15824
15825 }
15826 catch (RecognitionException re) {
15827 reportError(re);
15828 recover(input,re);
15829 }
15830 finally {
15831
15832 restoreStackSize(stackSize);
15833
15834 }
15835 return ;
15836 }
15837 // $ANTLR end "rule__ExponentialExpression__Group_1__2"
15838
15839
15840 // $ANTLR start "rule__ExponentialExpression__Group_1__2__Impl"
15841 // InternalSolverLanguage.g:4616:1: rule__ExponentialExpression__Group_1__2__Impl : ( ( rule__ExponentialExpression__RightAssignment_1_2 ) ) ;
15842 public final void rule__ExponentialExpression__Group_1__2__Impl() throws RecognitionException {
15843
15844 int stackSize = keepStackSize();
15845
15846 try {
15847 // InternalSolverLanguage.g:4620:1: ( ( ( rule__ExponentialExpression__RightAssignment_1_2 ) ) )
15848 // InternalSolverLanguage.g:4621:1: ( ( rule__ExponentialExpression__RightAssignment_1_2 ) )
10516 { 15849 {
10517 before(grammarAccess.getParameterAccess().getTypeAssignment_1_1()); 15850 // InternalSolverLanguage.g:4621:1: ( ( rule__ExponentialExpression__RightAssignment_1_2 ) )
10518 // InternalSolverLanguage.g:3348:2: ( rule__Parameter__TypeAssignment_1_1 ) 15851 // InternalSolverLanguage.g:4622:2: ( rule__ExponentialExpression__RightAssignment_1_2 )
10519 // InternalSolverLanguage.g:3348:3: rule__Parameter__TypeAssignment_1_1 15852 {
15853 if ( state.backtracking==0 ) {
15854 before(grammarAccess.getExponentialExpressionAccess().getRightAssignment_1_2());
15855 }
15856 // InternalSolverLanguage.g:4623:2: ( rule__ExponentialExpression__RightAssignment_1_2 )
15857 // InternalSolverLanguage.g:4623:3: rule__ExponentialExpression__RightAssignment_1_2
10520 { 15858 {
10521 pushFollow(FOLLOW_2); 15859 pushFollow(FOLLOW_2);
10522 rule__Parameter__TypeAssignment_1_1(); 15860 rule__ExponentialExpression__RightAssignment_1_2();
10523 15861
10524 state._fsp--; 15862 state._fsp--;
10525 15863 if (state.failed) return ;
10526 15864
10527 } 15865 }
10528 15866
10529 after(grammarAccess.getParameterAccess().getTypeAssignment_1_1()); 15867 if ( state.backtracking==0 ) {
15868 after(grammarAccess.getExponentialExpressionAccess().getRightAssignment_1_2());
15869 }
10530 15870
10531 } 15871 }
10532 15872
@@ -10545,29 +15885,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10545 } 15885 }
10546 return ; 15886 return ;
10547 } 15887 }
10548 // $ANTLR end "rule__Parameter__Group_1__1__Impl" 15888 // $ANTLR end "rule__ExponentialExpression__Group_1__2__Impl"
10549 15889
10550 15890
10551 // $ANTLR start "rule__PatternBody__Group__0" 15891 // $ANTLR start "rule__UnaryExpression__Group_1__0"
10552 // InternalSolverLanguage.g:3357:1: rule__PatternBody__Group__0 : rule__PatternBody__Group__0__Impl rule__PatternBody__Group__1 ; 15892 // InternalSolverLanguage.g:4632:1: rule__UnaryExpression__Group_1__0 : rule__UnaryExpression__Group_1__0__Impl rule__UnaryExpression__Group_1__1 ;
10553 public final void rule__PatternBody__Group__0() throws RecognitionException { 15893 public final void rule__UnaryExpression__Group_1__0() throws RecognitionException {
10554 15894
10555 int stackSize = keepStackSize(); 15895 int stackSize = keepStackSize();
10556 15896
10557 try { 15897 try {
10558 // InternalSolverLanguage.g:3361:1: ( rule__PatternBody__Group__0__Impl rule__PatternBody__Group__1 ) 15898 // InternalSolverLanguage.g:4636:1: ( rule__UnaryExpression__Group_1__0__Impl rule__UnaryExpression__Group_1__1 )
10559 // InternalSolverLanguage.g:3362:2: rule__PatternBody__Group__0__Impl rule__PatternBody__Group__1 15899 // InternalSolverLanguage.g:4637:2: rule__UnaryExpression__Group_1__0__Impl rule__UnaryExpression__Group_1__1
10560 { 15900 {
10561 pushFollow(FOLLOW_21); 15901 pushFollow(FOLLOW_7);
10562 rule__PatternBody__Group__0__Impl(); 15902 rule__UnaryExpression__Group_1__0__Impl();
10563 15903
10564 state._fsp--; 15904 state._fsp--;
10565 15905 if (state.failed) return ;
10566 pushFollow(FOLLOW_2); 15906 pushFollow(FOLLOW_2);
10567 rule__PatternBody__Group__1(); 15907 rule__UnaryExpression__Group_1__1();
10568 15908
10569 state._fsp--; 15909 state._fsp--;
10570 15910 if (state.failed) return ;
10571 15911
10572 } 15912 }
10573 15913
@@ -10583,29 +15923,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10583 } 15923 }
10584 return ; 15924 return ;
10585 } 15925 }
10586 // $ANTLR end "rule__PatternBody__Group__0" 15926 // $ANTLR end "rule__UnaryExpression__Group_1__0"
10587 15927
10588 15928
10589 // $ANTLR start "rule__PatternBody__Group__0__Impl" 15929 // $ANTLR start "rule__UnaryExpression__Group_1__0__Impl"
10590 // InternalSolverLanguage.g:3369:1: rule__PatternBody__Group__0__Impl : ( () ) ; 15930 // InternalSolverLanguage.g:4644:1: rule__UnaryExpression__Group_1__0__Impl : ( () ) ;
10591 public final void rule__PatternBody__Group__0__Impl() throws RecognitionException { 15931 public final void rule__UnaryExpression__Group_1__0__Impl() throws RecognitionException {
10592 15932
10593 int stackSize = keepStackSize(); 15933 int stackSize = keepStackSize();
10594 15934
10595 try { 15935 try {
10596 // InternalSolverLanguage.g:3373:1: ( ( () ) ) 15936 // InternalSolverLanguage.g:4648:1: ( ( () ) )
10597 // InternalSolverLanguage.g:3374:1: ( () ) 15937 // InternalSolverLanguage.g:4649:1: ( () )
10598 { 15938 {
10599 // InternalSolverLanguage.g:3374:1: ( () ) 15939 // InternalSolverLanguage.g:4649:1: ( () )
10600 // InternalSolverLanguage.g:3375:2: () 15940 // InternalSolverLanguage.g:4650:2: ()
10601 { 15941 {
10602 before(grammarAccess.getPatternBodyAccess().getPatternBodyAction_0()); 15942 if ( state.backtracking==0 ) {
10603 // InternalSolverLanguage.g:3376:2: () 15943 before(grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0());
10604 // InternalSolverLanguage.g:3376:3: 15944 }
15945 // InternalSolverLanguage.g:4651:2: ()
15946 // InternalSolverLanguage.g:4651:3:
10605 { 15947 {
10606 } 15948 }
10607 15949
10608 after(grammarAccess.getPatternBodyAccess().getPatternBodyAction_0()); 15950 if ( state.backtracking==0 ) {
15951 after(grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0());
15952 }
10609 15953
10610 } 15954 }
10611 15955
@@ -10620,24 +15964,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10620 } 15964 }
10621 return ; 15965 return ;
10622 } 15966 }
10623 // $ANTLR end "rule__PatternBody__Group__0__Impl" 15967 // $ANTLR end "rule__UnaryExpression__Group_1__0__Impl"
10624 15968
10625 15969
10626 // $ANTLR start "rule__PatternBody__Group__1" 15970 // $ANTLR start "rule__UnaryExpression__Group_1__1"
10627 // InternalSolverLanguage.g:3384:1: rule__PatternBody__Group__1 : rule__PatternBody__Group__1__Impl ; 15971 // InternalSolverLanguage.g:4659:1: rule__UnaryExpression__Group_1__1 : rule__UnaryExpression__Group_1__1__Impl rule__UnaryExpression__Group_1__2 ;
10628 public final void rule__PatternBody__Group__1() throws RecognitionException { 15972 public final void rule__UnaryExpression__Group_1__1() throws RecognitionException {
10629 15973
10630 int stackSize = keepStackSize(); 15974 int stackSize = keepStackSize();
10631 15975
10632 try { 15976 try {
10633 // InternalSolverLanguage.g:3388:1: ( rule__PatternBody__Group__1__Impl ) 15977 // InternalSolverLanguage.g:4663:1: ( rule__UnaryExpression__Group_1__1__Impl rule__UnaryExpression__Group_1__2 )
10634 // InternalSolverLanguage.g:3389:2: rule__PatternBody__Group__1__Impl 15978 // InternalSolverLanguage.g:4664:2: rule__UnaryExpression__Group_1__1__Impl rule__UnaryExpression__Group_1__2
10635 { 15979 {
10636 pushFollow(FOLLOW_2); 15980 pushFollow(FOLLOW_30);
10637 rule__PatternBody__Group__1__Impl(); 15981 rule__UnaryExpression__Group_1__1__Impl();
10638 15982
10639 state._fsp--; 15983 state._fsp--;
15984 if (state.failed) return ;
15985 pushFollow(FOLLOW_2);
15986 rule__UnaryExpression__Group_1__2();
10640 15987
15988 state._fsp--;
15989 if (state.failed) return ;
10641 15990
10642 } 15991 }
10643 15992
@@ -10653,35 +16002,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10653 } 16002 }
10654 return ; 16003 return ;
10655 } 16004 }
10656 // $ANTLR end "rule__PatternBody__Group__1" 16005 // $ANTLR end "rule__UnaryExpression__Group_1__1"
10657 16006
10658 16007
10659 // $ANTLR start "rule__PatternBody__Group__1__Impl" 16008 // $ANTLR start "rule__UnaryExpression__Group_1__1__Impl"
10660 // InternalSolverLanguage.g:3395:1: rule__PatternBody__Group__1__Impl : ( ( rule__PatternBody__Alternatives_1 ) ) ; 16009 // InternalSolverLanguage.g:4671:1: rule__UnaryExpression__Group_1__1__Impl : ( ( rule__UnaryExpression__OpAssignment_1_1 ) ) ;
10661 public final void rule__PatternBody__Group__1__Impl() throws RecognitionException { 16010 public final void rule__UnaryExpression__Group_1__1__Impl() throws RecognitionException {
10662 16011
10663 int stackSize = keepStackSize(); 16012 int stackSize = keepStackSize();
10664 16013
10665 try { 16014 try {
10666 // InternalSolverLanguage.g:3399:1: ( ( ( rule__PatternBody__Alternatives_1 ) ) ) 16015 // InternalSolverLanguage.g:4675:1: ( ( ( rule__UnaryExpression__OpAssignment_1_1 ) ) )
10667 // InternalSolverLanguage.g:3400:1: ( ( rule__PatternBody__Alternatives_1 ) ) 16016 // InternalSolverLanguage.g:4676:1: ( ( rule__UnaryExpression__OpAssignment_1_1 ) )
10668 { 16017 {
10669 // InternalSolverLanguage.g:3400:1: ( ( rule__PatternBody__Alternatives_1 ) ) 16018 // InternalSolverLanguage.g:4676:1: ( ( rule__UnaryExpression__OpAssignment_1_1 ) )
10670 // InternalSolverLanguage.g:3401:2: ( rule__PatternBody__Alternatives_1 ) 16019 // InternalSolverLanguage.g:4677:2: ( rule__UnaryExpression__OpAssignment_1_1 )
10671 { 16020 {
10672 before(grammarAccess.getPatternBodyAccess().getAlternatives_1()); 16021 if ( state.backtracking==0 ) {
10673 // InternalSolverLanguage.g:3402:2: ( rule__PatternBody__Alternatives_1 ) 16022 before(grammarAccess.getUnaryExpressionAccess().getOpAssignment_1_1());
10674 // InternalSolverLanguage.g:3402:3: rule__PatternBody__Alternatives_1 16023 }
16024 // InternalSolverLanguage.g:4678:2: ( rule__UnaryExpression__OpAssignment_1_1 )
16025 // InternalSolverLanguage.g:4678:3: rule__UnaryExpression__OpAssignment_1_1
10675 { 16026 {
10676 pushFollow(FOLLOW_2); 16027 pushFollow(FOLLOW_2);
10677 rule__PatternBody__Alternatives_1(); 16028 rule__UnaryExpression__OpAssignment_1_1();
10678 16029
10679 state._fsp--; 16030 state._fsp--;
10680 16031 if (state.failed) return ;
10681 16032
10682 } 16033 }
10683 16034
10684 after(grammarAccess.getPatternBodyAccess().getAlternatives_1()); 16035 if ( state.backtracking==0 ) {
16036 after(grammarAccess.getUnaryExpressionAccess().getOpAssignment_1_1());
16037 }
10685 16038
10686 } 16039 }
10687 16040
@@ -10700,28 +16053,74 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10700 } 16053 }
10701 return ; 16054 return ;
10702 } 16055 }
10703 // $ANTLR end "rule__PatternBody__Group__1__Impl" 16056 // $ANTLR end "rule__UnaryExpression__Group_1__1__Impl"
10704 16057
10705 16058
10706 // $ANTLR start "rule__Polarity__Group_0__0" 16059 // $ANTLR start "rule__UnaryExpression__Group_1__2"
10707 // InternalSolverLanguage.g:3411:1: rule__Polarity__Group_0__0 : rule__Polarity__Group_0__0__Impl rule__Polarity__Group_0__1 ; 16060 // InternalSolverLanguage.g:4686:1: rule__UnaryExpression__Group_1__2 : rule__UnaryExpression__Group_1__2__Impl ;
10708 public final void rule__Polarity__Group_0__0() throws RecognitionException { 16061 public final void rule__UnaryExpression__Group_1__2() throws RecognitionException {
10709 16062
10710 int stackSize = keepStackSize(); 16063 int stackSize = keepStackSize();
10711 16064
10712 try { 16065 try {
10713 // InternalSolverLanguage.g:3415:1: ( rule__Polarity__Group_0__0__Impl rule__Polarity__Group_0__1 ) 16066 // InternalSolverLanguage.g:4690:1: ( rule__UnaryExpression__Group_1__2__Impl )
10714 // InternalSolverLanguage.g:3416:2: rule__Polarity__Group_0__0__Impl rule__Polarity__Group_0__1 16067 // InternalSolverLanguage.g:4691:2: rule__UnaryExpression__Group_1__2__Impl
10715 { 16068 {
10716 pushFollow(FOLLOW_27); 16069 pushFollow(FOLLOW_2);
10717 rule__Polarity__Group_0__0__Impl(); 16070 rule__UnaryExpression__Group_1__2__Impl();
10718 16071
10719 state._fsp--; 16072 state._fsp--;
16073 if (state.failed) return ;
16074
16075 }
16076
16077 }
16078 catch (RecognitionException re) {
16079 reportError(re);
16080 recover(input,re);
16081 }
16082 finally {
16083
16084 restoreStackSize(stackSize);
16085
16086 }
16087 return ;
16088 }
16089 // $ANTLR end "rule__UnaryExpression__Group_1__2"
16090
10720 16091
16092 // $ANTLR start "rule__UnaryExpression__Group_1__2__Impl"
16093 // InternalSolverLanguage.g:4697:1: rule__UnaryExpression__Group_1__2__Impl : ( ( rule__UnaryExpression__BodyAssignment_1_2 ) ) ;
16094 public final void rule__UnaryExpression__Group_1__2__Impl() throws RecognitionException {
16095
16096 int stackSize = keepStackSize();
16097
16098 try {
16099 // InternalSolverLanguage.g:4701:1: ( ( ( rule__UnaryExpression__BodyAssignment_1_2 ) ) )
16100 // InternalSolverLanguage.g:4702:1: ( ( rule__UnaryExpression__BodyAssignment_1_2 ) )
16101 {
16102 // InternalSolverLanguage.g:4702:1: ( ( rule__UnaryExpression__BodyAssignment_1_2 ) )
16103 // InternalSolverLanguage.g:4703:2: ( rule__UnaryExpression__BodyAssignment_1_2 )
16104 {
16105 if ( state.backtracking==0 ) {
16106 before(grammarAccess.getUnaryExpressionAccess().getBodyAssignment_1_2());
16107 }
16108 // InternalSolverLanguage.g:4704:2: ( rule__UnaryExpression__BodyAssignment_1_2 )
16109 // InternalSolverLanguage.g:4704:3: rule__UnaryExpression__BodyAssignment_1_2
16110 {
10721 pushFollow(FOLLOW_2); 16111 pushFollow(FOLLOW_2);
10722 rule__Polarity__Group_0__1(); 16112 rule__UnaryExpression__BodyAssignment_1_2();
10723 16113
10724 state._fsp--; 16114 state._fsp--;
16115 if (state.failed) return ;
16116
16117 }
16118
16119 if ( state.backtracking==0 ) {
16120 after(grammarAccess.getUnaryExpressionAccess().getBodyAssignment_1_2());
16121 }
16122
16123 }
10725 16124
10726 16125
10727 } 16126 }
@@ -10738,29 +16137,67 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10738 } 16137 }
10739 return ; 16138 return ;
10740 } 16139 }
10741 // $ANTLR end "rule__Polarity__Group_0__0" 16140 // $ANTLR end "rule__UnaryExpression__Group_1__2__Impl"
10742 16141
10743 16142
10744 // $ANTLR start "rule__Polarity__Group_0__0__Impl" 16143 // $ANTLR start "rule__Count__Group__0"
10745 // InternalSolverLanguage.g:3423:1: rule__Polarity__Group_0__0__Impl : ( () ) ; 16144 // InternalSolverLanguage.g:4713:1: rule__Count__Group__0 : rule__Count__Group__0__Impl rule__Count__Group__1 ;
10746 public final void rule__Polarity__Group_0__0__Impl() throws RecognitionException { 16145 public final void rule__Count__Group__0() throws RecognitionException {
10747 16146
10748 int stackSize = keepStackSize(); 16147 int stackSize = keepStackSize();
10749 16148
10750 try { 16149 try {
10751 // InternalSolverLanguage.g:3427:1: ( ( () ) ) 16150 // InternalSolverLanguage.g:4717:1: ( rule__Count__Group__0__Impl rule__Count__Group__1 )
10752 // InternalSolverLanguage.g:3428:1: ( () ) 16151 // InternalSolverLanguage.g:4718:2: rule__Count__Group__0__Impl rule__Count__Group__1
10753 { 16152 {
10754 // InternalSolverLanguage.g:3428:1: ( () ) 16153 pushFollow(FOLLOW_31);
10755 // InternalSolverLanguage.g:3429:2: () 16154 rule__Count__Group__0__Impl();
16155
16156 state._fsp--;
16157 if (state.failed) return ;
16158 pushFollow(FOLLOW_2);
16159 rule__Count__Group__1();
16160
16161 state._fsp--;
16162 if (state.failed) return ;
16163
16164 }
16165
16166 }
16167 catch (RecognitionException re) {
16168 reportError(re);
16169 recover(input,re);
16170 }
16171 finally {
16172
16173 restoreStackSize(stackSize);
16174
16175 }
16176 return ;
16177 }
16178 // $ANTLR end "rule__Count__Group__0"
16179
16180
16181 // $ANTLR start "rule__Count__Group__0__Impl"
16182 // InternalSolverLanguage.g:4725:1: rule__Count__Group__0__Impl : ( 'count' ) ;
16183 public final void rule__Count__Group__0__Impl() throws RecognitionException {
16184
16185 int stackSize = keepStackSize();
16186
16187 try {
16188 // InternalSolverLanguage.g:4729:1: ( ( 'count' ) )
16189 // InternalSolverLanguage.g:4730:1: ( 'count' )
10756 { 16190 {
10757 before(grammarAccess.getPolarityAccess().getPositiveAction_0_0()); 16191 // InternalSolverLanguage.g:4730:1: ( 'count' )
10758 // InternalSolverLanguage.g:3430:2: () 16192 // InternalSolverLanguage.g:4731:2: 'count'
10759 // InternalSolverLanguage.g:3430:3:
10760 { 16193 {
16194 if ( state.backtracking==0 ) {
16195 before(grammarAccess.getCountAccess().getCountKeyword_0());
16196 }
16197 match(input,57,FOLLOW_2); if (state.failed) return ;
16198 if ( state.backtracking==0 ) {
16199 after(grammarAccess.getCountAccess().getCountKeyword_0());
10761 } 16200 }
10762
10763 after(grammarAccess.getPolarityAccess().getPositiveAction_0_0());
10764 16201
10765 } 16202 }
10766 16203
@@ -10768,6 +16205,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10768 } 16205 }
10769 16206
10770 } 16207 }
16208 catch (RecognitionException re) {
16209 reportError(re);
16210 recover(input,re);
16211 }
10771 finally { 16212 finally {
10772 16213
10773 restoreStackSize(stackSize); 16214 restoreStackSize(stackSize);
@@ -10775,24 +16216,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10775 } 16216 }
10776 return ; 16217 return ;
10777 } 16218 }
10778 // $ANTLR end "rule__Polarity__Group_0__0__Impl" 16219 // $ANTLR end "rule__Count__Group__0__Impl"
10779 16220
10780 16221
10781 // $ANTLR start "rule__Polarity__Group_0__1" 16222 // $ANTLR start "rule__Count__Group__1"
10782 // InternalSolverLanguage.g:3438:1: rule__Polarity__Group_0__1 : rule__Polarity__Group_0__1__Impl ; 16223 // InternalSolverLanguage.g:4740:1: rule__Count__Group__1 : rule__Count__Group__1__Impl rule__Count__Group__2 ;
10783 public final void rule__Polarity__Group_0__1() throws RecognitionException { 16224 public final void rule__Count__Group__1() throws RecognitionException {
10784 16225
10785 int stackSize = keepStackSize(); 16226 int stackSize = keepStackSize();
10786 16227
10787 try { 16228 try {
10788 // InternalSolverLanguage.g:3442:1: ( rule__Polarity__Group_0__1__Impl ) 16229 // InternalSolverLanguage.g:4744:1: ( rule__Count__Group__1__Impl rule__Count__Group__2 )
10789 // InternalSolverLanguage.g:3443:2: rule__Polarity__Group_0__1__Impl 16230 // InternalSolverLanguage.g:4745:2: rule__Count__Group__1__Impl rule__Count__Group__2
10790 { 16231 {
10791 pushFollow(FOLLOW_2); 16232 pushFollow(FOLLOW_7);
10792 rule__Polarity__Group_0__1__Impl(); 16233 rule__Count__Group__1__Impl();
10793 16234
10794 state._fsp--; 16235 state._fsp--;
16236 if (state.failed) return ;
16237 pushFollow(FOLLOW_2);
16238 rule__Count__Group__2();
10795 16239
16240 state._fsp--;
16241 if (state.failed) return ;
10796 16242
10797 } 16243 }
10798 16244
@@ -10808,25 +16254,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10808 } 16254 }
10809 return ; 16255 return ;
10810 } 16256 }
10811 // $ANTLR end "rule__Polarity__Group_0__1" 16257 // $ANTLR end "rule__Count__Group__1"
10812 16258
10813 16259
10814 // $ANTLR start "rule__Polarity__Group_0__1__Impl" 16260 // $ANTLR start "rule__Count__Group__1__Impl"
10815 // InternalSolverLanguage.g:3449:1: rule__Polarity__Group_0__1__Impl : ( '+' ) ; 16261 // InternalSolverLanguage.g:4752:1: rule__Count__Group__1__Impl : ( '{' ) ;
10816 public final void rule__Polarity__Group_0__1__Impl() throws RecognitionException { 16262 public final void rule__Count__Group__1__Impl() throws RecognitionException {
10817 16263
10818 int stackSize = keepStackSize(); 16264 int stackSize = keepStackSize();
10819 16265
10820 try { 16266 try {
10821 // InternalSolverLanguage.g:3453:1: ( ( '+' ) ) 16267 // InternalSolverLanguage.g:4756:1: ( ( '{' ) )
10822 // InternalSolverLanguage.g:3454:1: ( '+' ) 16268 // InternalSolverLanguage.g:4757:1: ( '{' )
10823 { 16269 {
10824 // InternalSolverLanguage.g:3454:1: ( '+' ) 16270 // InternalSolverLanguage.g:4757:1: ( '{' )
10825 // InternalSolverLanguage.g:3455:2: '+' 16271 // InternalSolverLanguage.g:4758:2: '{'
10826 { 16272 {
10827 before(grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1()); 16273 if ( state.backtracking==0 ) {
10828 match(input,30,FOLLOW_2); 16274 before(grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1());
10829 after(grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1()); 16275 }
16276 match(input,58,FOLLOW_2); if (state.failed) return ;
16277 if ( state.backtracking==0 ) {
16278 after(grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1());
16279 }
10830 16280
10831 } 16281 }
10832 16282
@@ -10845,29 +16295,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10845 } 16295 }
10846 return ; 16296 return ;
10847 } 16297 }
10848 // $ANTLR end "rule__Polarity__Group_0__1__Impl" 16298 // $ANTLR end "rule__Count__Group__1__Impl"
10849 16299
10850 16300
10851 // $ANTLR start "rule__Polarity__Group_1__0" 16301 // $ANTLR start "rule__Count__Group__2"
10852 // InternalSolverLanguage.g:3465:1: rule__Polarity__Group_1__0 : rule__Polarity__Group_1__0__Impl rule__Polarity__Group_1__1 ; 16302 // InternalSolverLanguage.g:4767:1: rule__Count__Group__2 : rule__Count__Group__2__Impl rule__Count__Group__3 ;
10853 public final void rule__Polarity__Group_1__0() throws RecognitionException { 16303 public final void rule__Count__Group__2() throws RecognitionException {
10854 16304
10855 int stackSize = keepStackSize(); 16305 int stackSize = keepStackSize();
10856 16306
10857 try { 16307 try {
10858 // InternalSolverLanguage.g:3469:1: ( rule__Polarity__Group_1__0__Impl rule__Polarity__Group_1__1 ) 16308 // InternalSolverLanguage.g:4771:1: ( rule__Count__Group__2__Impl rule__Count__Group__3 )
10859 // InternalSolverLanguage.g:3470:2: rule__Polarity__Group_1__0__Impl rule__Polarity__Group_1__1 16309 // InternalSolverLanguage.g:4772:2: rule__Count__Group__2__Impl rule__Count__Group__3
10860 { 16310 {
10861 pushFollow(FOLLOW_28); 16311 pushFollow(FOLLOW_32);
10862 rule__Polarity__Group_1__0__Impl(); 16312 rule__Count__Group__2__Impl();
10863 16313
10864 state._fsp--; 16314 state._fsp--;
10865 16315 if (state.failed) return ;
10866 pushFollow(FOLLOW_2); 16316 pushFollow(FOLLOW_2);
10867 rule__Polarity__Group_1__1(); 16317 rule__Count__Group__3();
10868 16318
10869 state._fsp--; 16319 state._fsp--;
10870 16320 if (state.failed) return ;
10871 16321
10872 } 16322 }
10873 16323
@@ -10883,29 +16333,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10883 } 16333 }
10884 return ; 16334 return ;
10885 } 16335 }
10886 // $ANTLR end "rule__Polarity__Group_1__0" 16336 // $ANTLR end "rule__Count__Group__2"
10887 16337
10888 16338
10889 // $ANTLR start "rule__Polarity__Group_1__0__Impl" 16339 // $ANTLR start "rule__Count__Group__2__Impl"
10890 // InternalSolverLanguage.g:3477:1: rule__Polarity__Group_1__0__Impl : ( () ) ; 16340 // InternalSolverLanguage.g:4779:1: rule__Count__Group__2__Impl : ( ( rule__Count__BodyAssignment_2 ) ) ;
10891 public final void rule__Polarity__Group_1__0__Impl() throws RecognitionException { 16341 public final void rule__Count__Group__2__Impl() throws RecognitionException {
10892 16342
10893 int stackSize = keepStackSize(); 16343 int stackSize = keepStackSize();
10894 16344
10895 try { 16345 try {
10896 // InternalSolverLanguage.g:3481:1: ( ( () ) ) 16346 // InternalSolverLanguage.g:4783:1: ( ( ( rule__Count__BodyAssignment_2 ) ) )
10897 // InternalSolverLanguage.g:3482:1: ( () ) 16347 // InternalSolverLanguage.g:4784:1: ( ( rule__Count__BodyAssignment_2 ) )
10898 { 16348 {
10899 // InternalSolverLanguage.g:3482:1: ( () ) 16349 // InternalSolverLanguage.g:4784:1: ( ( rule__Count__BodyAssignment_2 ) )
10900 // InternalSolverLanguage.g:3483:2: () 16350 // InternalSolverLanguage.g:4785:2: ( rule__Count__BodyAssignment_2 )
10901 { 16351 {
10902 before(grammarAccess.getPolarityAccess().getNegativeAction_1_0()); 16352 if ( state.backtracking==0 ) {
10903 // InternalSolverLanguage.g:3484:2: () 16353 before(grammarAccess.getCountAccess().getBodyAssignment_2());
10904 // InternalSolverLanguage.g:3484:3: 16354 }
16355 // InternalSolverLanguage.g:4786:2: ( rule__Count__BodyAssignment_2 )
16356 // InternalSolverLanguage.g:4786:3: rule__Count__BodyAssignment_2
10905 { 16357 {
16358 pushFollow(FOLLOW_2);
16359 rule__Count__BodyAssignment_2();
16360
16361 state._fsp--;
16362 if (state.failed) return ;
16363
10906 } 16364 }
10907 16365
10908 after(grammarAccess.getPolarityAccess().getNegativeAction_1_0()); 16366 if ( state.backtracking==0 ) {
16367 after(grammarAccess.getCountAccess().getBodyAssignment_2());
16368 }
10909 16369
10910 } 16370 }
10911 16371
@@ -10913,6 +16373,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10913 } 16373 }
10914 16374
10915 } 16375 }
16376 catch (RecognitionException re) {
16377 reportError(re);
16378 recover(input,re);
16379 }
10916 finally { 16380 finally {
10917 16381
10918 restoreStackSize(stackSize); 16382 restoreStackSize(stackSize);
@@ -10920,24 +16384,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10920 } 16384 }
10921 return ; 16385 return ;
10922 } 16386 }
10923 // $ANTLR end "rule__Polarity__Group_1__0__Impl" 16387 // $ANTLR end "rule__Count__Group__2__Impl"
10924 16388
10925 16389
10926 // $ANTLR start "rule__Polarity__Group_1__1" 16390 // $ANTLR start "rule__Count__Group__3"
10927 // InternalSolverLanguage.g:3492:1: rule__Polarity__Group_1__1 : rule__Polarity__Group_1__1__Impl ; 16391 // InternalSolverLanguage.g:4794:1: rule__Count__Group__3 : rule__Count__Group__3__Impl ;
10928 public final void rule__Polarity__Group_1__1() throws RecognitionException { 16392 public final void rule__Count__Group__3() throws RecognitionException {
10929 16393
10930 int stackSize = keepStackSize(); 16394 int stackSize = keepStackSize();
10931 16395
10932 try { 16396 try {
10933 // InternalSolverLanguage.g:3496:1: ( rule__Polarity__Group_1__1__Impl ) 16397 // InternalSolverLanguage.g:4798:1: ( rule__Count__Group__3__Impl )
10934 // InternalSolverLanguage.g:3497:2: rule__Polarity__Group_1__1__Impl 16398 // InternalSolverLanguage.g:4799:2: rule__Count__Group__3__Impl
10935 { 16399 {
10936 pushFollow(FOLLOW_2); 16400 pushFollow(FOLLOW_2);
10937 rule__Polarity__Group_1__1__Impl(); 16401 rule__Count__Group__3__Impl();
10938 16402
10939 state._fsp--; 16403 state._fsp--;
10940 16404 if (state.failed) return ;
10941 16405
10942 } 16406 }
10943 16407
@@ -10953,25 +16417,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10953 } 16417 }
10954 return ; 16418 return ;
10955 } 16419 }
10956 // $ANTLR end "rule__Polarity__Group_1__1" 16420 // $ANTLR end "rule__Count__Group__3"
10957 16421
10958 16422
10959 // $ANTLR start "rule__Polarity__Group_1__1__Impl" 16423 // $ANTLR start "rule__Count__Group__3__Impl"
10960 // InternalSolverLanguage.g:3503:1: rule__Polarity__Group_1__1__Impl : ( '-' ) ; 16424 // InternalSolverLanguage.g:4805:1: rule__Count__Group__3__Impl : ( '}' ) ;
10961 public final void rule__Polarity__Group_1__1__Impl() throws RecognitionException { 16425 public final void rule__Count__Group__3__Impl() throws RecognitionException {
10962 16426
10963 int stackSize = keepStackSize(); 16427 int stackSize = keepStackSize();
10964 16428
10965 try { 16429 try {
10966 // InternalSolverLanguage.g:3507:1: ( ( '-' ) ) 16430 // InternalSolverLanguage.g:4809:1: ( ( '}' ) )
10967 // InternalSolverLanguage.g:3508:1: ( '-' ) 16431 // InternalSolverLanguage.g:4810:1: ( '}' )
10968 { 16432 {
10969 // InternalSolverLanguage.g:3508:1: ( '-' ) 16433 // InternalSolverLanguage.g:4810:1: ( '}' )
10970 // InternalSolverLanguage.g:3509:2: '-' 16434 // InternalSolverLanguage.g:4811:2: '}'
10971 { 16435 {
10972 before(grammarAccess.getPolarityAccess().getHyphenMinusKeyword_1_1()); 16436 if ( state.backtracking==0 ) {
10973 match(input,13,FOLLOW_2); 16437 before(grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3());
10974 after(grammarAccess.getPolarityAccess().getHyphenMinusKeyword_1_1()); 16438 }
16439 match(input,59,FOLLOW_2); if (state.failed) return ;
16440 if ( state.backtracking==0 ) {
16441 after(grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3());
16442 }
10975 16443
10976 } 16444 }
10977 16445
@@ -10990,29 +16458,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
10990 } 16458 }
10991 return ; 16459 return ;
10992 } 16460 }
10993 // $ANTLR end "rule__Polarity__Group_1__1__Impl" 16461 // $ANTLR end "rule__Count__Group__3__Impl"
10994 16462
10995 16463
10996 // $ANTLR start "rule__Constraint__Group_0__0" 16464 // $ANTLR start "rule__Aggregation__Group__0"
10997 // InternalSolverLanguage.g:3519:1: rule__Constraint__Group_0__0 : rule__Constraint__Group_0__0__Impl rule__Constraint__Group_0__1 ; 16465 // InternalSolverLanguage.g:4821:1: rule__Aggregation__Group__0 : rule__Aggregation__Group__0__Impl rule__Aggregation__Group__1 ;
10998 public final void rule__Constraint__Group_0__0() throws RecognitionException { 16466 public final void rule__Aggregation__Group__0() throws RecognitionException {
10999 16467
11000 int stackSize = keepStackSize(); 16468 int stackSize = keepStackSize();
11001 16469
11002 try { 16470 try {
11003 // InternalSolverLanguage.g:3523:1: ( rule__Constraint__Group_0__0__Impl rule__Constraint__Group_0__1 ) 16471 // InternalSolverLanguage.g:4825:1: ( rule__Aggregation__Group__0__Impl rule__Aggregation__Group__1 )
11004 // InternalSolverLanguage.g:3524:2: rule__Constraint__Group_0__0__Impl rule__Constraint__Group_0__1 16472 // InternalSolverLanguage.g:4826:2: rule__Aggregation__Group__0__Impl rule__Aggregation__Group__1
11005 { 16473 {
11006 pushFollow(FOLLOW_29); 16474 pushFollow(FOLLOW_31);
11007 rule__Constraint__Group_0__0__Impl(); 16475 rule__Aggregation__Group__0__Impl();
11008 16476
11009 state._fsp--; 16477 state._fsp--;
11010 16478 if (state.failed) return ;
11011 pushFollow(FOLLOW_2); 16479 pushFollow(FOLLOW_2);
11012 rule__Constraint__Group_0__1(); 16480 rule__Aggregation__Group__1();
11013 16481
11014 state._fsp--; 16482 state._fsp--;
11015 16483 if (state.failed) return ;
11016 16484
11017 } 16485 }
11018 16486
@@ -11028,46 +16496,118 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11028 } 16496 }
11029 return ; 16497 return ;
11030 } 16498 }
11031 // $ANTLR end "rule__Constraint__Group_0__0" 16499 // $ANTLR end "rule__Aggregation__Group__0"
11032 16500
11033 16501
11034 // $ANTLR start "rule__Constraint__Group_0__0__Impl" 16502 // $ANTLR start "rule__Aggregation__Group__0__Impl"
11035 // InternalSolverLanguage.g:3531:1: rule__Constraint__Group_0__0__Impl : ( ( rule__Constraint__PolarityAssignment_0_0 )? ) ; 16503 // InternalSolverLanguage.g:4833:1: rule__Aggregation__Group__0__Impl : ( ( rule__Aggregation__OpAssignment_0 ) ) ;
11036 public final void rule__Constraint__Group_0__0__Impl() throws RecognitionException { 16504 public final void rule__Aggregation__Group__0__Impl() throws RecognitionException {
11037 16505
11038 int stackSize = keepStackSize(); 16506 int stackSize = keepStackSize();
11039 16507
11040 try { 16508 try {
11041 // InternalSolverLanguage.g:3535:1: ( ( ( rule__Constraint__PolarityAssignment_0_0 )? ) ) 16509 // InternalSolverLanguage.g:4837:1: ( ( ( rule__Aggregation__OpAssignment_0 ) ) )
11042 // InternalSolverLanguage.g:3536:1: ( ( rule__Constraint__PolarityAssignment_0_0 )? ) 16510 // InternalSolverLanguage.g:4838:1: ( ( rule__Aggregation__OpAssignment_0 ) )
11043 { 16511 {
11044 // InternalSolverLanguage.g:3536:1: ( ( rule__Constraint__PolarityAssignment_0_0 )? ) 16512 // InternalSolverLanguage.g:4838:1: ( ( rule__Aggregation__OpAssignment_0 ) )
11045 // InternalSolverLanguage.g:3537:2: ( rule__Constraint__PolarityAssignment_0_0 )? 16513 // InternalSolverLanguage.g:4839:2: ( rule__Aggregation__OpAssignment_0 )
16514 {
16515 if ( state.backtracking==0 ) {
16516 before(grammarAccess.getAggregationAccess().getOpAssignment_0());
16517 }
16518 // InternalSolverLanguage.g:4840:2: ( rule__Aggregation__OpAssignment_0 )
16519 // InternalSolverLanguage.g:4840:3: rule__Aggregation__OpAssignment_0
11046 { 16520 {
11047 before(grammarAccess.getConstraintAccess().getPolarityAssignment_0_0()); 16521 pushFollow(FOLLOW_2);
11048 // InternalSolverLanguage.g:3538:2: ( rule__Constraint__PolarityAssignment_0_0 )? 16522 rule__Aggregation__OpAssignment_0();
11049 int alt32=2; 16523
11050 int LA32_0 = input.LA(1); 16524 state._fsp--;
16525 if (state.failed) return ;
11051 16526
11052 if ( (LA32_0==13||LA32_0==30) ) {
11053 alt32=1;
11054 } 16527 }
11055 switch (alt32) {
11056 case 1 :
11057 // InternalSolverLanguage.g:3538:3: rule__Constraint__PolarityAssignment_0_0
11058 {
11059 pushFollow(FOLLOW_2);
11060 rule__Constraint__PolarityAssignment_0_0();
11061 16528
11062 state._fsp--; 16529 if ( state.backtracking==0 ) {
16530 after(grammarAccess.getAggregationAccess().getOpAssignment_0());
16531 }
11063 16532
16533 }
11064 16534
11065 }
11066 break;
11067 16535
11068 } 16536 }
11069 16537
11070 after(grammarAccess.getConstraintAccess().getPolarityAssignment_0_0()); 16538 }
16539 catch (RecognitionException re) {
16540 reportError(re);
16541 recover(input,re);
16542 }
16543 finally {
16544
16545 restoreStackSize(stackSize);
16546
16547 }
16548 return ;
16549 }
16550 // $ANTLR end "rule__Aggregation__Group__0__Impl"
16551
16552
16553 // $ANTLR start "rule__Aggregation__Group__1"
16554 // InternalSolverLanguage.g:4848:1: rule__Aggregation__Group__1 : rule__Aggregation__Group__1__Impl rule__Aggregation__Group__2 ;
16555 public final void rule__Aggregation__Group__1() throws RecognitionException {
16556
16557 int stackSize = keepStackSize();
16558
16559 try {
16560 // InternalSolverLanguage.g:4852:1: ( rule__Aggregation__Group__1__Impl rule__Aggregation__Group__2 )
16561 // InternalSolverLanguage.g:4853:2: rule__Aggregation__Group__1__Impl rule__Aggregation__Group__2
16562 {
16563 pushFollow(FOLLOW_7);
16564 rule__Aggregation__Group__1__Impl();
16565
16566 state._fsp--;
16567 if (state.failed) return ;
16568 pushFollow(FOLLOW_2);
16569 rule__Aggregation__Group__2();
16570
16571 state._fsp--;
16572 if (state.failed) return ;
16573
16574 }
16575
16576 }
16577 catch (RecognitionException re) {
16578 reportError(re);
16579 recover(input,re);
16580 }
16581 finally {
16582
16583 restoreStackSize(stackSize);
16584
16585 }
16586 return ;
16587 }
16588 // $ANTLR end "rule__Aggregation__Group__1"
16589
16590
16591 // $ANTLR start "rule__Aggregation__Group__1__Impl"
16592 // InternalSolverLanguage.g:4860:1: rule__Aggregation__Group__1__Impl : ( '{' ) ;
16593 public final void rule__Aggregation__Group__1__Impl() throws RecognitionException {
16594
16595 int stackSize = keepStackSize();
16596
16597 try {
16598 // InternalSolverLanguage.g:4864:1: ( ( '{' ) )
16599 // InternalSolverLanguage.g:4865:1: ( '{' )
16600 {
16601 // InternalSolverLanguage.g:4865:1: ( '{' )
16602 // InternalSolverLanguage.g:4866:2: '{'
16603 {
16604 if ( state.backtracking==0 ) {
16605 before(grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1());
16606 }
16607 match(input,58,FOLLOW_2); if (state.failed) return ;
16608 if ( state.backtracking==0 ) {
16609 after(grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1());
16610 }
11071 16611
11072 } 16612 }
11073 16613
@@ -11086,29 +16626,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11086 } 16626 }
11087 return ; 16627 return ;
11088 } 16628 }
11089 // $ANTLR end "rule__Constraint__Group_0__0__Impl" 16629 // $ANTLR end "rule__Aggregation__Group__1__Impl"
11090 16630
11091 16631
11092 // $ANTLR start "rule__Constraint__Group_0__1" 16632 // $ANTLR start "rule__Aggregation__Group__2"
11093 // InternalSolverLanguage.g:3546:1: rule__Constraint__Group_0__1 : rule__Constraint__Group_0__1__Impl rule__Constraint__Group_0__2 ; 16633 // InternalSolverLanguage.g:4875:1: rule__Aggregation__Group__2 : rule__Aggregation__Group__2__Impl rule__Aggregation__Group__3 ;
11094 public final void rule__Constraint__Group_0__1() throws RecognitionException { 16634 public final void rule__Aggregation__Group__2() throws RecognitionException {
11095 16635
11096 int stackSize = keepStackSize(); 16636 int stackSize = keepStackSize();
11097 16637
11098 try { 16638 try {
11099 // InternalSolverLanguage.g:3550:1: ( rule__Constraint__Group_0__1__Impl rule__Constraint__Group_0__2 ) 16639 // InternalSolverLanguage.g:4879:1: ( rule__Aggregation__Group__2__Impl rule__Aggregation__Group__3 )
11100 // InternalSolverLanguage.g:3551:2: rule__Constraint__Group_0__1__Impl rule__Constraint__Group_0__2 16640 // InternalSolverLanguage.g:4880:2: rule__Aggregation__Group__2__Impl rule__Aggregation__Group__3
11101 { 16641 {
11102 pushFollow(FOLLOW_30); 16642 pushFollow(FOLLOW_33);
11103 rule__Constraint__Group_0__1__Impl(); 16643 rule__Aggregation__Group__2__Impl();
11104 16644
11105 state._fsp--; 16645 state._fsp--;
11106 16646 if (state.failed) return ;
11107 pushFollow(FOLLOW_2); 16647 pushFollow(FOLLOW_2);
11108 rule__Constraint__Group_0__2(); 16648 rule__Aggregation__Group__3();
11109 16649
11110 state._fsp--; 16650 state._fsp--;
11111 16651 if (state.failed) return ;
11112 16652
11113 } 16653 }
11114 16654
@@ -11124,35 +16664,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11124 } 16664 }
11125 return ; 16665 return ;
11126 } 16666 }
11127 // $ANTLR end "rule__Constraint__Group_0__1" 16667 // $ANTLR end "rule__Aggregation__Group__2"
11128 16668
11129 16669
11130 // $ANTLR start "rule__Constraint__Group_0__1__Impl" 16670 // $ANTLR start "rule__Aggregation__Group__2__Impl"
11131 // InternalSolverLanguage.g:3558:1: rule__Constraint__Group_0__1__Impl : ( ( rule__Constraint__SymbolAssignment_0_1 ) ) ; 16671 // InternalSolverLanguage.g:4887:1: rule__Aggregation__Group__2__Impl : ( ( rule__Aggregation__BodyAssignment_2 ) ) ;
11132 public final void rule__Constraint__Group_0__1__Impl() throws RecognitionException { 16672 public final void rule__Aggregation__Group__2__Impl() throws RecognitionException {
11133 16673
11134 int stackSize = keepStackSize(); 16674 int stackSize = keepStackSize();
11135 16675
11136 try { 16676 try {
11137 // InternalSolverLanguage.g:3562:1: ( ( ( rule__Constraint__SymbolAssignment_0_1 ) ) ) 16677 // InternalSolverLanguage.g:4891:1: ( ( ( rule__Aggregation__BodyAssignment_2 ) ) )
11138 // InternalSolverLanguage.g:3563:1: ( ( rule__Constraint__SymbolAssignment_0_1 ) ) 16678 // InternalSolverLanguage.g:4892:1: ( ( rule__Aggregation__BodyAssignment_2 ) )
11139 { 16679 {
11140 // InternalSolverLanguage.g:3563:1: ( ( rule__Constraint__SymbolAssignment_0_1 ) ) 16680 // InternalSolverLanguage.g:4892:1: ( ( rule__Aggregation__BodyAssignment_2 ) )
11141 // InternalSolverLanguage.g:3564:2: ( rule__Constraint__SymbolAssignment_0_1 ) 16681 // InternalSolverLanguage.g:4893:2: ( rule__Aggregation__BodyAssignment_2 )
11142 { 16682 {
11143 before(grammarAccess.getConstraintAccess().getSymbolAssignment_0_1()); 16683 if ( state.backtracking==0 ) {
11144 // InternalSolverLanguage.g:3565:2: ( rule__Constraint__SymbolAssignment_0_1 ) 16684 before(grammarAccess.getAggregationAccess().getBodyAssignment_2());
11145 // InternalSolverLanguage.g:3565:3: rule__Constraint__SymbolAssignment_0_1 16685 }
16686 // InternalSolverLanguage.g:4894:2: ( rule__Aggregation__BodyAssignment_2 )
16687 // InternalSolverLanguage.g:4894:3: rule__Aggregation__BodyAssignment_2
11146 { 16688 {
11147 pushFollow(FOLLOW_2); 16689 pushFollow(FOLLOW_2);
11148 rule__Constraint__SymbolAssignment_0_1(); 16690 rule__Aggregation__BodyAssignment_2();
11149 16691
11150 state._fsp--; 16692 state._fsp--;
11151 16693 if (state.failed) return ;
11152 16694
11153 } 16695 }
11154 16696
11155 after(grammarAccess.getConstraintAccess().getSymbolAssignment_0_1()); 16697 if ( state.backtracking==0 ) {
16698 after(grammarAccess.getAggregationAccess().getBodyAssignment_2());
16699 }
11156 16700
11157 } 16701 }
11158 16702
@@ -11171,24 +16715,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11171 } 16715 }
11172 return ; 16716 return ;
11173 } 16717 }
11174 // $ANTLR end "rule__Constraint__Group_0__1__Impl" 16718 // $ANTLR end "rule__Aggregation__Group__2__Impl"
11175 16719
11176 16720
11177 // $ANTLR start "rule__Constraint__Group_0__2" 16721 // $ANTLR start "rule__Aggregation__Group__3"
11178 // InternalSolverLanguage.g:3573:1: rule__Constraint__Group_0__2 : rule__Constraint__Group_0__2__Impl ; 16722 // InternalSolverLanguage.g:4902:1: rule__Aggregation__Group__3 : rule__Aggregation__Group__3__Impl rule__Aggregation__Group__4 ;
11179 public final void rule__Constraint__Group_0__2() throws RecognitionException { 16723 public final void rule__Aggregation__Group__3() throws RecognitionException {
11180 16724
11181 int stackSize = keepStackSize(); 16725 int stackSize = keepStackSize();
11182 16726
11183 try { 16727 try {
11184 // InternalSolverLanguage.g:3577:1: ( rule__Constraint__Group_0__2__Impl ) 16728 // InternalSolverLanguage.g:4906:1: ( rule__Aggregation__Group__3__Impl rule__Aggregation__Group__4 )
11185 // InternalSolverLanguage.g:3578:2: rule__Constraint__Group_0__2__Impl 16729 // InternalSolverLanguage.g:4907:2: rule__Aggregation__Group__3__Impl rule__Aggregation__Group__4
11186 { 16730 {
11187 pushFollow(FOLLOW_2); 16731 pushFollow(FOLLOW_7);
11188 rule__Constraint__Group_0__2__Impl(); 16732 rule__Aggregation__Group__3__Impl();
11189 16733
11190 state._fsp--; 16734 state._fsp--;
16735 if (state.failed) return ;
16736 pushFollow(FOLLOW_2);
16737 rule__Aggregation__Group__4();
11191 16738
16739 state._fsp--;
16740 if (state.failed) return ;
11192 16741
11193 } 16742 }
11194 16743
@@ -11204,49 +16753,70 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11204 } 16753 }
11205 return ; 16754 return ;
11206 } 16755 }
11207 // $ANTLR end "rule__Constraint__Group_0__2" 16756 // $ANTLR end "rule__Aggregation__Group__3"
11208 16757
11209 16758
11210 // $ANTLR start "rule__Constraint__Group_0__2__Impl" 16759 // $ANTLR start "rule__Aggregation__Group__3__Impl"
11211 // InternalSolverLanguage.g:3584:1: rule__Constraint__Group_0__2__Impl : ( ( rule__Constraint__Group_0_2__0 )? ) ; 16760 // InternalSolverLanguage.g:4914:1: rule__Aggregation__Group__3__Impl : ( '|' ) ;
11212 public final void rule__Constraint__Group_0__2__Impl() throws RecognitionException { 16761 public final void rule__Aggregation__Group__3__Impl() throws RecognitionException {
11213 16762
11214 int stackSize = keepStackSize(); 16763 int stackSize = keepStackSize();
11215 16764
11216 try { 16765 try {
11217 // InternalSolverLanguage.g:3588:1: ( ( ( rule__Constraint__Group_0_2__0 )? ) ) 16766 // InternalSolverLanguage.g:4918:1: ( ( '|' ) )
11218 // InternalSolverLanguage.g:3589:1: ( ( rule__Constraint__Group_0_2__0 )? ) 16767 // InternalSolverLanguage.g:4919:1: ( '|' )
11219 { 16768 {
11220 // InternalSolverLanguage.g:3589:1: ( ( rule__Constraint__Group_0_2__0 )? ) 16769 // InternalSolverLanguage.g:4919:1: ( '|' )
11221 // InternalSolverLanguage.g:3590:2: ( rule__Constraint__Group_0_2__0 )? 16770 // InternalSolverLanguage.g:4920:2: '|'
11222 { 16771 {
11223 before(grammarAccess.getConstraintAccess().getGroup_0_2()); 16772 if ( state.backtracking==0 ) {
11224 // InternalSolverLanguage.g:3591:2: ( rule__Constraint__Group_0_2__0 )? 16773 before(grammarAccess.getAggregationAccess().getVerticalLineKeyword_3());
11225 int alt33=2; 16774 }
11226 int LA33_0 = input.LA(1); 16775 match(input,60,FOLLOW_2); if (state.failed) return ;
16776 if ( state.backtracking==0 ) {
16777 after(grammarAccess.getAggregationAccess().getVerticalLineKeyword_3());
16778 }
11227 16779
11228 if ( (LA33_0==18) ) {
11229 alt33=1;
11230 } 16780 }
11231 switch (alt33) {
11232 case 1 :
11233 // InternalSolverLanguage.g:3591:3: rule__Constraint__Group_0_2__0
11234 {
11235 pushFollow(FOLLOW_2);
11236 rule__Constraint__Group_0_2__0();
11237 16781
11238 state._fsp--;
11239 16782
16783 }
11240 16784
11241 } 16785 }
11242 break; 16786 catch (RecognitionException re) {
16787 reportError(re);
16788 recover(input,re);
16789 }
16790 finally {
11243 16791
11244 } 16792 restoreStackSize(stackSize);
11245 16793
11246 after(grammarAccess.getConstraintAccess().getGroup_0_2()); 16794 }
16795 return ;
16796 }
16797 // $ANTLR end "rule__Aggregation__Group__3__Impl"
11247 16798
11248 }
11249 16799
16800 // $ANTLR start "rule__Aggregation__Group__4"
16801 // InternalSolverLanguage.g:4929:1: rule__Aggregation__Group__4 : rule__Aggregation__Group__4__Impl rule__Aggregation__Group__5 ;
16802 public final void rule__Aggregation__Group__4() throws RecognitionException {
16803
16804 int stackSize = keepStackSize();
16805
16806 try {
16807 // InternalSolverLanguage.g:4933:1: ( rule__Aggregation__Group__4__Impl rule__Aggregation__Group__5 )
16808 // InternalSolverLanguage.g:4934:2: rule__Aggregation__Group__4__Impl rule__Aggregation__Group__5
16809 {
16810 pushFollow(FOLLOW_32);
16811 rule__Aggregation__Group__4__Impl();
16812
16813 state._fsp--;
16814 if (state.failed) return ;
16815 pushFollow(FOLLOW_2);
16816 rule__Aggregation__Group__5();
16817
16818 state._fsp--;
16819 if (state.failed) return ;
11250 16820
11251 } 16821 }
11252 16822
@@ -11262,29 +16832,75 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11262 } 16832 }
11263 return ; 16833 return ;
11264 } 16834 }
11265 // $ANTLR end "rule__Constraint__Group_0__2__Impl" 16835 // $ANTLR end "rule__Aggregation__Group__4"
11266 16836
11267 16837
11268 // $ANTLR start "rule__Constraint__Group_0_2__0" 16838 // $ANTLR start "rule__Aggregation__Group__4__Impl"
11269 // InternalSolverLanguage.g:3600:1: rule__Constraint__Group_0_2__0 : rule__Constraint__Group_0_2__0__Impl rule__Constraint__Group_0_2__1 ; 16839 // InternalSolverLanguage.g:4941:1: rule__Aggregation__Group__4__Impl : ( ( rule__Aggregation__ConditionAssignment_4 ) ) ;
11270 public final void rule__Constraint__Group_0_2__0() throws RecognitionException { 16840 public final void rule__Aggregation__Group__4__Impl() throws RecognitionException {
11271 16841
11272 int stackSize = keepStackSize(); 16842 int stackSize = keepStackSize();
11273 16843
11274 try { 16844 try {
11275 // InternalSolverLanguage.g:3604:1: ( rule__Constraint__Group_0_2__0__Impl rule__Constraint__Group_0_2__1 ) 16845 // InternalSolverLanguage.g:4945:1: ( ( ( rule__Aggregation__ConditionAssignment_4 ) ) )
11276 // InternalSolverLanguage.g:3605:2: rule__Constraint__Group_0_2__0__Impl rule__Constraint__Group_0_2__1 16846 // InternalSolverLanguage.g:4946:1: ( ( rule__Aggregation__ConditionAssignment_4 ) )
11277 { 16847 {
11278 pushFollow(FOLLOW_31); 16848 // InternalSolverLanguage.g:4946:1: ( ( rule__Aggregation__ConditionAssignment_4 ) )
11279 rule__Constraint__Group_0_2__0__Impl(); 16849 // InternalSolverLanguage.g:4947:2: ( rule__Aggregation__ConditionAssignment_4 )
16850 {
16851 if ( state.backtracking==0 ) {
16852 before(grammarAccess.getAggregationAccess().getConditionAssignment_4());
16853 }
16854 // InternalSolverLanguage.g:4948:2: ( rule__Aggregation__ConditionAssignment_4 )
16855 // InternalSolverLanguage.g:4948:3: rule__Aggregation__ConditionAssignment_4
16856 {
16857 pushFollow(FOLLOW_2);
16858 rule__Aggregation__ConditionAssignment_4();
11280 16859
11281 state._fsp--; 16860 state._fsp--;
16861 if (state.failed) return ;
16862
16863 }
16864
16865 if ( state.backtracking==0 ) {
16866 after(grammarAccess.getAggregationAccess().getConditionAssignment_4());
16867 }
11282 16868
16869 }
16870
16871
16872 }
16873
16874 }
16875 catch (RecognitionException re) {
16876 reportError(re);
16877 recover(input,re);
16878 }
16879 finally {
16880
16881 restoreStackSize(stackSize);
16882
16883 }
16884 return ;
16885 }
16886 // $ANTLR end "rule__Aggregation__Group__4__Impl"
16887
16888
16889 // $ANTLR start "rule__Aggregation__Group__5"
16890 // InternalSolverLanguage.g:4956:1: rule__Aggregation__Group__5 : rule__Aggregation__Group__5__Impl ;
16891 public final void rule__Aggregation__Group__5() throws RecognitionException {
16892
16893 int stackSize = keepStackSize();
16894
16895 try {
16896 // InternalSolverLanguage.g:4960:1: ( rule__Aggregation__Group__5__Impl )
16897 // InternalSolverLanguage.g:4961:2: rule__Aggregation__Group__5__Impl
16898 {
11283 pushFollow(FOLLOW_2); 16899 pushFollow(FOLLOW_2);
11284 rule__Constraint__Group_0_2__1(); 16900 rule__Aggregation__Group__5__Impl();
11285 16901
11286 state._fsp--; 16902 state._fsp--;
11287 16903 if (state.failed) return ;
11288 16904
11289 } 16905 }
11290 16906
@@ -11300,25 +16916,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11300 } 16916 }
11301 return ; 16917 return ;
11302 } 16918 }
11303 // $ANTLR end "rule__Constraint__Group_0_2__0" 16919 // $ANTLR end "rule__Aggregation__Group__5"
11304 16920
11305 16921
11306 // $ANTLR start "rule__Constraint__Group_0_2__0__Impl" 16922 // $ANTLR start "rule__Aggregation__Group__5__Impl"
11307 // InternalSolverLanguage.g:3612:1: rule__Constraint__Group_0_2__0__Impl : ( '(' ) ; 16923 // InternalSolverLanguage.g:4967:1: rule__Aggregation__Group__5__Impl : ( '}' ) ;
11308 public final void rule__Constraint__Group_0_2__0__Impl() throws RecognitionException { 16924 public final void rule__Aggregation__Group__5__Impl() throws RecognitionException {
11309 16925
11310 int stackSize = keepStackSize(); 16926 int stackSize = keepStackSize();
11311 16927
11312 try { 16928 try {
11313 // InternalSolverLanguage.g:3616:1: ( ( '(' ) ) 16929 // InternalSolverLanguage.g:4971:1: ( ( '}' ) )
11314 // InternalSolverLanguage.g:3617:1: ( '(' ) 16930 // InternalSolverLanguage.g:4972:1: ( '}' )
11315 { 16931 {
11316 // InternalSolverLanguage.g:3617:1: ( '(' ) 16932 // InternalSolverLanguage.g:4972:1: ( '}' )
11317 // InternalSolverLanguage.g:3618:2: '(' 16933 // InternalSolverLanguage.g:4973:2: '}'
11318 { 16934 {
11319 before(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()); 16935 if ( state.backtracking==0 ) {
11320 match(input,18,FOLLOW_2); 16936 before(grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5());
11321 after(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()); 16937 }
16938 match(input,59,FOLLOW_2); if (state.failed) return ;
16939 if ( state.backtracking==0 ) {
16940 after(grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5());
16941 }
11322 16942
11323 } 16943 }
11324 16944
@@ -11337,28 +16957,73 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11337 } 16957 }
11338 return ; 16958 return ;
11339 } 16959 }
11340 // $ANTLR end "rule__Constraint__Group_0_2__0__Impl" 16960 // $ANTLR end "rule__Aggregation__Group__5__Impl"
11341 16961
11342 16962
11343 // $ANTLR start "rule__Constraint__Group_0_2__1" 16963 // $ANTLR start "rule__AtomicExpression__Group_0__0"
11344 // InternalSolverLanguage.g:3627:1: rule__Constraint__Group_0_2__1 : rule__Constraint__Group_0_2__1__Impl rule__Constraint__Group_0_2__2 ; 16964 // InternalSolverLanguage.g:4983:1: rule__AtomicExpression__Group_0__0 : rule__AtomicExpression__Group_0__0__Impl rule__AtomicExpression__Group_0__1 ;
11345 public final void rule__Constraint__Group_0_2__1() throws RecognitionException { 16965 public final void rule__AtomicExpression__Group_0__0() throws RecognitionException {
11346 16966
11347 int stackSize = keepStackSize(); 16967 int stackSize = keepStackSize();
11348 16968
11349 try { 16969 try {
11350 // InternalSolverLanguage.g:3631:1: ( rule__Constraint__Group_0_2__1__Impl rule__Constraint__Group_0_2__2 ) 16970 // InternalSolverLanguage.g:4987:1: ( rule__AtomicExpression__Group_0__0__Impl rule__AtomicExpression__Group_0__1 )
11351 // InternalSolverLanguage.g:3632:2: rule__Constraint__Group_0_2__1__Impl rule__Constraint__Group_0_2__2 16971 // InternalSolverLanguage.g:4988:2: rule__AtomicExpression__Group_0__0__Impl rule__AtomicExpression__Group_0__1
11352 { 16972 {
11353 pushFollow(FOLLOW_31); 16973 pushFollow(FOLLOW_12);
11354 rule__Constraint__Group_0_2__1__Impl(); 16974 rule__AtomicExpression__Group_0__0__Impl();
16975
16976 state._fsp--;
16977 if (state.failed) return ;
16978 pushFollow(FOLLOW_2);
16979 rule__AtomicExpression__Group_0__1();
11355 16980
11356 state._fsp--; 16981 state._fsp--;
16982 if (state.failed) return ;
16983
16984 }
11357 16985
16986 }
16987 catch (RecognitionException re) {
16988 reportError(re);
16989 recover(input,re);
16990 }
16991 finally {
16992
16993 restoreStackSize(stackSize);
16994
16995 }
16996 return ;
16997 }
16998 // $ANTLR end "rule__AtomicExpression__Group_0__0"
16999
17000
17001 // $ANTLR start "rule__AtomicExpression__Group_0__0__Impl"
17002 // InternalSolverLanguage.g:4995:1: rule__AtomicExpression__Group_0__0__Impl : ( ruleReference ) ;
17003 public final void rule__AtomicExpression__Group_0__0__Impl() throws RecognitionException {
17004
17005 int stackSize = keepStackSize();
17006
17007 try {
17008 // InternalSolverLanguage.g:4999:1: ( ( ruleReference ) )
17009 // InternalSolverLanguage.g:5000:1: ( ruleReference )
17010 {
17011 // InternalSolverLanguage.g:5000:1: ( ruleReference )
17012 // InternalSolverLanguage.g:5001:2: ruleReference
17013 {
17014 if ( state.backtracking==0 ) {
17015 before(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0_0());
17016 }
11358 pushFollow(FOLLOW_2); 17017 pushFollow(FOLLOW_2);
11359 rule__Constraint__Group_0_2__2(); 17018 ruleReference();
11360 17019
11361 state._fsp--; 17020 state._fsp--;
17021 if (state.failed) return ;
17022 if ( state.backtracking==0 ) {
17023 after(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0_0());
17024 }
17025
17026 }
11362 17027
11363 17028
11364 } 17029 }
@@ -11375,46 +17040,83 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11375 } 17040 }
11376 return ; 17041 return ;
11377 } 17042 }
11378 // $ANTLR end "rule__Constraint__Group_0_2__1" 17043 // $ANTLR end "rule__AtomicExpression__Group_0__0__Impl"
11379 17044
11380 17045
11381 // $ANTLR start "rule__Constraint__Group_0_2__1__Impl" 17046 // $ANTLR start "rule__AtomicExpression__Group_0__1"
11382 // InternalSolverLanguage.g:3639:1: rule__Constraint__Group_0_2__1__Impl : ( ( rule__Constraint__ParamsAssignment_0_2_1 )? ) ; 17047 // InternalSolverLanguage.g:5010:1: rule__AtomicExpression__Group_0__1 : rule__AtomicExpression__Group_0__1__Impl ;
11383 public final void rule__Constraint__Group_0_2__1__Impl() throws RecognitionException { 17048 public final void rule__AtomicExpression__Group_0__1() throws RecognitionException {
11384 17049
11385 int stackSize = keepStackSize(); 17050 int stackSize = keepStackSize();
11386 17051
11387 try { 17052 try {
11388 // InternalSolverLanguage.g:3643:1: ( ( ( rule__Constraint__ParamsAssignment_0_2_1 )? ) ) 17053 // InternalSolverLanguage.g:5014:1: ( rule__AtomicExpression__Group_0__1__Impl )
11389 // InternalSolverLanguage.g:3644:1: ( ( rule__Constraint__ParamsAssignment_0_2_1 )? ) 17054 // InternalSolverLanguage.g:5015:2: rule__AtomicExpression__Group_0__1__Impl
11390 { 17055 {
11391 // InternalSolverLanguage.g:3644:1: ( ( rule__Constraint__ParamsAssignment_0_2_1 )? ) 17056 pushFollow(FOLLOW_2);
11392 // InternalSolverLanguage.g:3645:2: ( rule__Constraint__ParamsAssignment_0_2_1 )? 17057 rule__AtomicExpression__Group_0__1__Impl();
17058
17059 state._fsp--;
17060 if (state.failed) return ;
17061
17062 }
17063
17064 }
17065 catch (RecognitionException re) {
17066 reportError(re);
17067 recover(input,re);
17068 }
17069 finally {
17070
17071 restoreStackSize(stackSize);
17072
17073 }
17074 return ;
17075 }
17076 // $ANTLR end "rule__AtomicExpression__Group_0__1"
17077
17078
17079 // $ANTLR start "rule__AtomicExpression__Group_0__1__Impl"
17080 // InternalSolverLanguage.g:5021:1: rule__AtomicExpression__Group_0__1__Impl : ( ( rule__AtomicExpression__Group_0_1__0 )? ) ;
17081 public final void rule__AtomicExpression__Group_0__1__Impl() throws RecognitionException {
17082
17083 int stackSize = keepStackSize();
17084
17085 try {
17086 // InternalSolverLanguage.g:5025:1: ( ( ( rule__AtomicExpression__Group_0_1__0 )? ) )
17087 // InternalSolverLanguage.g:5026:1: ( ( rule__AtomicExpression__Group_0_1__0 )? )
17088 {
17089 // InternalSolverLanguage.g:5026:1: ( ( rule__AtomicExpression__Group_0_1__0 )? )
17090 // InternalSolverLanguage.g:5027:2: ( rule__AtomicExpression__Group_0_1__0 )?
11393 { 17091 {
11394 before(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_1()); 17092 if ( state.backtracking==0 ) {
11395 // InternalSolverLanguage.g:3646:2: ( rule__Constraint__ParamsAssignment_0_2_1 )? 17093 before(grammarAccess.getAtomicExpressionAccess().getGroup_0_1());
11396 int alt34=2; 17094 }
11397 int LA34_0 = input.LA(1); 17095 // InternalSolverLanguage.g:5028:2: ( rule__AtomicExpression__Group_0_1__0 )?
17096 int alt39=2;
17097 int LA39_0 = input.LA(1);
11398 17098
11399 if ( ((LA34_0>=RULE_INT && LA34_0<=RULE_STRING)||(LA34_0>=11 && LA34_0<=13)||LA34_0==27) ) { 17099 if ( (LA39_0==61) ) {
11400 alt34=1; 17100 alt39=1;
11401 } 17101 }
11402 switch (alt34) { 17102 switch (alt39) {
11403 case 1 : 17103 case 1 :
11404 // InternalSolverLanguage.g:3646:3: rule__Constraint__ParamsAssignment_0_2_1 17104 // InternalSolverLanguage.g:5028:3: rule__AtomicExpression__Group_0_1__0
11405 { 17105 {
11406 pushFollow(FOLLOW_2); 17106 pushFollow(FOLLOW_2);
11407 rule__Constraint__ParamsAssignment_0_2_1(); 17107 rule__AtomicExpression__Group_0_1__0();
11408 17108
11409 state._fsp--; 17109 state._fsp--;
11410 17110 if (state.failed) return ;
11411 17111
11412 } 17112 }
11413 break; 17113 break;
11414 17114
11415 } 17115 }
11416 17116
11417 after(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_1()); 17117 if ( state.backtracking==0 ) {
17118 after(grammarAccess.getAtomicExpressionAccess().getGroup_0_1());
17119 }
11418 17120
11419 } 17121 }
11420 17122
@@ -11433,29 +17135,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11433 } 17135 }
11434 return ; 17136 return ;
11435 } 17137 }
11436 // $ANTLR end "rule__Constraint__Group_0_2__1__Impl" 17138 // $ANTLR end "rule__AtomicExpression__Group_0__1__Impl"
11437 17139
11438 17140
11439 // $ANTLR start "rule__Constraint__Group_0_2__2" 17141 // $ANTLR start "rule__AtomicExpression__Group_0_1__0"
11440 // InternalSolverLanguage.g:3654:1: rule__Constraint__Group_0_2__2 : rule__Constraint__Group_0_2__2__Impl rule__Constraint__Group_0_2__3 ; 17142 // InternalSolverLanguage.g:5037:1: rule__AtomicExpression__Group_0_1__0 : rule__AtomicExpression__Group_0_1__0__Impl rule__AtomicExpression__Group_0_1__1 ;
11441 public final void rule__Constraint__Group_0_2__2() throws RecognitionException { 17143 public final void rule__AtomicExpression__Group_0_1__0() throws RecognitionException {
11442 17144
11443 int stackSize = keepStackSize(); 17145 int stackSize = keepStackSize();
11444 17146
11445 try { 17147 try {
11446 // InternalSolverLanguage.g:3658:1: ( rule__Constraint__Group_0_2__2__Impl rule__Constraint__Group_0_2__3 ) 17148 // InternalSolverLanguage.g:5041:1: ( rule__AtomicExpression__Group_0_1__0__Impl rule__AtomicExpression__Group_0_1__1 )
11447 // InternalSolverLanguage.g:3659:2: rule__Constraint__Group_0_2__2__Impl rule__Constraint__Group_0_2__3 17149 // InternalSolverLanguage.g:5042:2: rule__AtomicExpression__Group_0_1__0__Impl rule__AtomicExpression__Group_0_1__1
11448 { 17150 {
11449 pushFollow(FOLLOW_31); 17151 pushFollow(FOLLOW_12);
11450 rule__Constraint__Group_0_2__2__Impl(); 17152 rule__AtomicExpression__Group_0_1__0__Impl();
11451 17153
11452 state._fsp--; 17154 state._fsp--;
11453 17155 if (state.failed) return ;
11454 pushFollow(FOLLOW_2); 17156 pushFollow(FOLLOW_2);
11455 rule__Constraint__Group_0_2__3(); 17157 rule__AtomicExpression__Group_0_1__1();
11456 17158
11457 state._fsp--; 17159 state._fsp--;
11458 17160 if (state.failed) return ;
11459 17161
11460 } 17162 }
11461 17163
@@ -11471,56 +17173,65 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11471 } 17173 }
11472 return ; 17174 return ;
11473 } 17175 }
11474 // $ANTLR end "rule__Constraint__Group_0_2__2" 17176 // $ANTLR end "rule__AtomicExpression__Group_0_1__0"
11475 17177
11476 17178
11477 // $ANTLR start "rule__Constraint__Group_0_2__2__Impl" 17179 // $ANTLR start "rule__AtomicExpression__Group_0_1__0__Impl"
11478 // InternalSolverLanguage.g:3666:1: rule__Constraint__Group_0_2__2__Impl : ( ( rule__Constraint__Group_0_2_2__0 )* ) ; 17180 // InternalSolverLanguage.g:5049:1: rule__AtomicExpression__Group_0_1__0__Impl : ( () ) ;
11479 public final void rule__Constraint__Group_0_2__2__Impl() throws RecognitionException { 17181 public final void rule__AtomicExpression__Group_0_1__0__Impl() throws RecognitionException {
11480 17182
11481 int stackSize = keepStackSize(); 17183 int stackSize = keepStackSize();
11482 17184
11483 try { 17185 try {
11484 // InternalSolverLanguage.g:3670:1: ( ( ( rule__Constraint__Group_0_2_2__0 )* ) ) 17186 // InternalSolverLanguage.g:5053:1: ( ( () ) )
11485 // InternalSolverLanguage.g:3671:1: ( ( rule__Constraint__Group_0_2_2__0 )* ) 17187 // InternalSolverLanguage.g:5054:1: ( () )
11486 { 17188 {
11487 // InternalSolverLanguage.g:3671:1: ( ( rule__Constraint__Group_0_2_2__0 )* ) 17189 // InternalSolverLanguage.g:5054:1: ( () )
11488 // InternalSolverLanguage.g:3672:2: ( rule__Constraint__Group_0_2_2__0 )* 17190 // InternalSolverLanguage.g:5055:2: ()
11489 { 17191 {
11490 before(grammarAccess.getConstraintAccess().getGroup_0_2_2()); 17192 if ( state.backtracking==0 ) {
11491 // InternalSolverLanguage.g:3673:2: ( rule__Constraint__Group_0_2_2__0 )* 17193 before(grammarAccess.getAtomicExpressionAccess().getCallFunctorAction_0_1_0());
11492 loop35: 17194 }
11493 do { 17195 // InternalSolverLanguage.g:5056:2: ()
11494 int alt35=2; 17196 // InternalSolverLanguage.g:5056:3:
11495 int LA35_0 = input.LA(1); 17197 {
17198 }
11496 17199
11497 if ( (LA35_0==20) ) { 17200 if ( state.backtracking==0 ) {
11498 alt35=1; 17201 after(grammarAccess.getAtomicExpressionAccess().getCallFunctorAction_0_1_0());
11499 } 17202 }
11500 17203
17204 }
11501 17205
11502 switch (alt35) {
11503 case 1 :
11504 // InternalSolverLanguage.g:3673:3: rule__Constraint__Group_0_2_2__0
11505 {
11506 pushFollow(FOLLOW_15);
11507 rule__Constraint__Group_0_2_2__0();
11508 17206
11509 state._fsp--; 17207 }
11510 17208
17209 }
17210 finally {
11511 17211
11512 } 17212 restoreStackSize(stackSize);
11513 break;
11514 17213
11515 default : 17214 }
11516 break loop35; 17215 return ;
11517 } 17216 }
11518 } while (true); 17217 // $ANTLR end "rule__AtomicExpression__Group_0_1__0__Impl"
11519 17218
11520 after(grammarAccess.getConstraintAccess().getGroup_0_2_2());
11521 17219
11522 } 17220 // $ANTLR start "rule__AtomicExpression__Group_0_1__1"
17221 // InternalSolverLanguage.g:5064:1: rule__AtomicExpression__Group_0_1__1 : rule__AtomicExpression__Group_0_1__1__Impl ;
17222 public final void rule__AtomicExpression__Group_0_1__1() throws RecognitionException {
11523 17223
17224 int stackSize = keepStackSize();
17225
17226 try {
17227 // InternalSolverLanguage.g:5068:1: ( rule__AtomicExpression__Group_0_1__1__Impl )
17228 // InternalSolverLanguage.g:5069:2: rule__AtomicExpression__Group_0_1__1__Impl
17229 {
17230 pushFollow(FOLLOW_2);
17231 rule__AtomicExpression__Group_0_1__1__Impl();
17232
17233 state._fsp--;
17234 if (state.failed) return ;
11524 17235
11525 } 17236 }
11526 17237
@@ -11536,24 +17247,80 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11536 } 17247 }
11537 return ; 17248 return ;
11538 } 17249 }
11539 // $ANTLR end "rule__Constraint__Group_0_2__2__Impl" 17250 // $ANTLR end "rule__AtomicExpression__Group_0_1__1"
11540 17251
11541 17252
11542 // $ANTLR start "rule__Constraint__Group_0_2__3" 17253 // $ANTLR start "rule__AtomicExpression__Group_0_1__1__Impl"
11543 // InternalSolverLanguage.g:3681:1: rule__Constraint__Group_0_2__3 : rule__Constraint__Group_0_2__3__Impl ; 17254 // InternalSolverLanguage.g:5075:1: rule__AtomicExpression__Group_0_1__1__Impl : ( ( rule__AtomicExpression__ArgumentListAssignment_0_1_1 ) ) ;
11544 public final void rule__Constraint__Group_0_2__3() throws RecognitionException { 17255 public final void rule__AtomicExpression__Group_0_1__1__Impl() throws RecognitionException {
11545 17256
11546 int stackSize = keepStackSize(); 17257 int stackSize = keepStackSize();
11547 17258
11548 try { 17259 try {
11549 // InternalSolverLanguage.g:3685:1: ( rule__Constraint__Group_0_2__3__Impl ) 17260 // InternalSolverLanguage.g:5079:1: ( ( ( rule__AtomicExpression__ArgumentListAssignment_0_1_1 ) ) )
11550 // InternalSolverLanguage.g:3686:2: rule__Constraint__Group_0_2__3__Impl 17261 // InternalSolverLanguage.g:5080:1: ( ( rule__AtomicExpression__ArgumentListAssignment_0_1_1 ) )
17262 {
17263 // InternalSolverLanguage.g:5080:1: ( ( rule__AtomicExpression__ArgumentListAssignment_0_1_1 ) )
17264 // InternalSolverLanguage.g:5081:2: ( rule__AtomicExpression__ArgumentListAssignment_0_1_1 )
17265 {
17266 if ( state.backtracking==0 ) {
17267 before(grammarAccess.getAtomicExpressionAccess().getArgumentListAssignment_0_1_1());
17268 }
17269 // InternalSolverLanguage.g:5082:2: ( rule__AtomicExpression__ArgumentListAssignment_0_1_1 )
17270 // InternalSolverLanguage.g:5082:3: rule__AtomicExpression__ArgumentListAssignment_0_1_1
11551 { 17271 {
11552 pushFollow(FOLLOW_2); 17272 pushFollow(FOLLOW_2);
11553 rule__Constraint__Group_0_2__3__Impl(); 17273 rule__AtomicExpression__ArgumentListAssignment_0_1_1();
17274
17275 state._fsp--;
17276 if (state.failed) return ;
17277
17278 }
17279
17280 if ( state.backtracking==0 ) {
17281 after(grammarAccess.getAtomicExpressionAccess().getArgumentListAssignment_0_1_1());
17282 }
17283
17284 }
17285
17286
17287 }
17288
17289 }
17290 catch (RecognitionException re) {
17291 reportError(re);
17292 recover(input,re);
17293 }
17294 finally {
17295
17296 restoreStackSize(stackSize);
17297
17298 }
17299 return ;
17300 }
17301 // $ANTLR end "rule__AtomicExpression__Group_0_1__1__Impl"
17302
17303
17304 // $ANTLR start "rule__AtomicExpression__Group_3__0"
17305 // InternalSolverLanguage.g:5091:1: rule__AtomicExpression__Group_3__0 : rule__AtomicExpression__Group_3__0__Impl rule__AtomicExpression__Group_3__1 ;
17306 public final void rule__AtomicExpression__Group_3__0() throws RecognitionException {
17307
17308 int stackSize = keepStackSize();
17309
17310 try {
17311 // InternalSolverLanguage.g:5095:1: ( rule__AtomicExpression__Group_3__0__Impl rule__AtomicExpression__Group_3__1 )
17312 // InternalSolverLanguage.g:5096:2: rule__AtomicExpression__Group_3__0__Impl rule__AtomicExpression__Group_3__1
17313 {
17314 pushFollow(FOLLOW_7);
17315 rule__AtomicExpression__Group_3__0__Impl();
11554 17316
11555 state._fsp--; 17317 state._fsp--;
17318 if (state.failed) return ;
17319 pushFollow(FOLLOW_2);
17320 rule__AtomicExpression__Group_3__1();
11556 17321
17322 state._fsp--;
17323 if (state.failed) return ;
11557 17324
11558 } 17325 }
11559 17326
@@ -11569,25 +17336,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11569 } 17336 }
11570 return ; 17337 return ;
11571 } 17338 }
11572 // $ANTLR end "rule__Constraint__Group_0_2__3" 17339 // $ANTLR end "rule__AtomicExpression__Group_3__0"
11573 17340
11574 17341
11575 // $ANTLR start "rule__Constraint__Group_0_2__3__Impl" 17342 // $ANTLR start "rule__AtomicExpression__Group_3__0__Impl"
11576 // InternalSolverLanguage.g:3692:1: rule__Constraint__Group_0_2__3__Impl : ( ')' ) ; 17343 // InternalSolverLanguage.g:5103:1: rule__AtomicExpression__Group_3__0__Impl : ( '(' ) ;
11577 public final void rule__Constraint__Group_0_2__3__Impl() throws RecognitionException { 17344 public final void rule__AtomicExpression__Group_3__0__Impl() throws RecognitionException {
11578 17345
11579 int stackSize = keepStackSize(); 17346 int stackSize = keepStackSize();
11580 17347
11581 try { 17348 try {
11582 // InternalSolverLanguage.g:3696:1: ( ( ')' ) ) 17349 // InternalSolverLanguage.g:5107:1: ( ( '(' ) )
11583 // InternalSolverLanguage.g:3697:1: ( ')' ) 17350 // InternalSolverLanguage.g:5108:1: ( '(' )
11584 { 17351 {
11585 // InternalSolverLanguage.g:3697:1: ( ')' ) 17352 // InternalSolverLanguage.g:5108:1: ( '(' )
11586 // InternalSolverLanguage.g:3698:2: ')' 17353 // InternalSolverLanguage.g:5109:2: '('
11587 { 17354 {
11588 before(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3()); 17355 if ( state.backtracking==0 ) {
11589 match(input,19,FOLLOW_2); 17356 before(grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0());
11590 after(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3()); 17357 }
17358 match(input,61,FOLLOW_2); if (state.failed) return ;
17359 if ( state.backtracking==0 ) {
17360 after(grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0());
17361 }
11591 17362
11592 } 17363 }
11593 17364
@@ -11606,29 +17377,107 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11606 } 17377 }
11607 return ; 17378 return ;
11608 } 17379 }
11609 // $ANTLR end "rule__Constraint__Group_0_2__3__Impl" 17380 // $ANTLR end "rule__AtomicExpression__Group_3__0__Impl"
11610 17381
11611 17382
11612 // $ANTLR start "rule__Constraint__Group_0_2_2__0" 17383 // $ANTLR start "rule__AtomicExpression__Group_3__1"
11613 // InternalSolverLanguage.g:3708:1: rule__Constraint__Group_0_2_2__0 : rule__Constraint__Group_0_2_2__0__Impl rule__Constraint__Group_0_2_2__1 ; 17384 // InternalSolverLanguage.g:5118:1: rule__AtomicExpression__Group_3__1 : rule__AtomicExpression__Group_3__1__Impl rule__AtomicExpression__Group_3__2 ;
11614 public final void rule__Constraint__Group_0_2_2__0() throws RecognitionException { 17385 public final void rule__AtomicExpression__Group_3__1() throws RecognitionException {
11615 17386
11616 int stackSize = keepStackSize(); 17387 int stackSize = keepStackSize();
11617 17388
11618 try { 17389 try {
11619 // InternalSolverLanguage.g:3712:1: ( rule__Constraint__Group_0_2_2__0__Impl rule__Constraint__Group_0_2_2__1 ) 17390 // InternalSolverLanguage.g:5122:1: ( rule__AtomicExpression__Group_3__1__Impl rule__AtomicExpression__Group_3__2 )
11620 // InternalSolverLanguage.g:3713:2: rule__Constraint__Group_0_2_2__0__Impl rule__Constraint__Group_0_2_2__1 17391 // InternalSolverLanguage.g:5123:2: rule__AtomicExpression__Group_3__1__Impl rule__AtomicExpression__Group_3__2
11621 { 17392 {
11622 pushFollow(FOLLOW_32); 17393 pushFollow(FOLLOW_34);
11623 rule__Constraint__Group_0_2_2__0__Impl(); 17394 rule__AtomicExpression__Group_3__1__Impl();
17395
17396 state._fsp--;
17397 if (state.failed) return ;
17398 pushFollow(FOLLOW_2);
17399 rule__AtomicExpression__Group_3__2();
11624 17400
11625 state._fsp--; 17401 state._fsp--;
17402 if (state.failed) return ;
11626 17403
17404 }
17405
17406 }
17407 catch (RecognitionException re) {
17408 reportError(re);
17409 recover(input,re);
17410 }
17411 finally {
17412
17413 restoreStackSize(stackSize);
17414
17415 }
17416 return ;
17417 }
17418 // $ANTLR end "rule__AtomicExpression__Group_3__1"
17419
17420
17421 // $ANTLR start "rule__AtomicExpression__Group_3__1__Impl"
17422 // InternalSolverLanguage.g:5130:1: rule__AtomicExpression__Group_3__1__Impl : ( ruleExpression ) ;
17423 public final void rule__AtomicExpression__Group_3__1__Impl() throws RecognitionException {
17424
17425 int stackSize = keepStackSize();
17426
17427 try {
17428 // InternalSolverLanguage.g:5134:1: ( ( ruleExpression ) )
17429 // InternalSolverLanguage.g:5135:1: ( ruleExpression )
17430 {
17431 // InternalSolverLanguage.g:5135:1: ( ruleExpression )
17432 // InternalSolverLanguage.g:5136:2: ruleExpression
17433 {
17434 if ( state.backtracking==0 ) {
17435 before(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_3_1());
17436 }
11627 pushFollow(FOLLOW_2); 17437 pushFollow(FOLLOW_2);
11628 rule__Constraint__Group_0_2_2__1(); 17438 ruleExpression();
11629 17439
11630 state._fsp--; 17440 state._fsp--;
17441 if (state.failed) return ;
17442 if ( state.backtracking==0 ) {
17443 after(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_3_1());
17444 }
17445
17446 }
17447
17448
17449 }
17450
17451 }
17452 catch (RecognitionException re) {
17453 reportError(re);
17454 recover(input,re);
17455 }
17456 finally {
17457
17458 restoreStackSize(stackSize);
17459
17460 }
17461 return ;
17462 }
17463 // $ANTLR end "rule__AtomicExpression__Group_3__1__Impl"
17464
11631 17465
17466 // $ANTLR start "rule__AtomicExpression__Group_3__2"
17467 // InternalSolverLanguage.g:5145:1: rule__AtomicExpression__Group_3__2 : rule__AtomicExpression__Group_3__2__Impl ;
17468 public final void rule__AtomicExpression__Group_3__2() throws RecognitionException {
17469
17470 int stackSize = keepStackSize();
17471
17472 try {
17473 // InternalSolverLanguage.g:5149:1: ( rule__AtomicExpression__Group_3__2__Impl )
17474 // InternalSolverLanguage.g:5150:2: rule__AtomicExpression__Group_3__2__Impl
17475 {
17476 pushFollow(FOLLOW_2);
17477 rule__AtomicExpression__Group_3__2__Impl();
17478
17479 state._fsp--;
17480 if (state.failed) return ;
11632 17481
11633 } 17482 }
11634 17483
@@ -11644,25 +17493,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11644 } 17493 }
11645 return ; 17494 return ;
11646 } 17495 }
11647 // $ANTLR end "rule__Constraint__Group_0_2_2__0" 17496 // $ANTLR end "rule__AtomicExpression__Group_3__2"
11648 17497
11649 17498
11650 // $ANTLR start "rule__Constraint__Group_0_2_2__0__Impl" 17499 // $ANTLR start "rule__AtomicExpression__Group_3__2__Impl"
11651 // InternalSolverLanguage.g:3720:1: rule__Constraint__Group_0_2_2__0__Impl : ( ',' ) ; 17500 // InternalSolverLanguage.g:5156:1: rule__AtomicExpression__Group_3__2__Impl : ( ')' ) ;
11652 public final void rule__Constraint__Group_0_2_2__0__Impl() throws RecognitionException { 17501 public final void rule__AtomicExpression__Group_3__2__Impl() throws RecognitionException {
11653 17502
11654 int stackSize = keepStackSize(); 17503 int stackSize = keepStackSize();
11655 17504
11656 try { 17505 try {
11657 // InternalSolverLanguage.g:3724:1: ( ( ',' ) ) 17506 // InternalSolverLanguage.g:5160:1: ( ( ')' ) )
11658 // InternalSolverLanguage.g:3725:1: ( ',' ) 17507 // InternalSolverLanguage.g:5161:1: ( ')' )
11659 { 17508 {
11660 // InternalSolverLanguage.g:3725:1: ( ',' ) 17509 // InternalSolverLanguage.g:5161:1: ( ')' )
11661 // InternalSolverLanguage.g:3726:2: ',' 17510 // InternalSolverLanguage.g:5162:2: ')'
11662 { 17511 {
11663 before(grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0()); 17512 if ( state.backtracking==0 ) {
11664 match(input,20,FOLLOW_2); 17513 before(grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_3_2());
11665 after(grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0()); 17514 }
17515 match(input,62,FOLLOW_2); if (state.failed) return ;
17516 if ( state.backtracking==0 ) {
17517 after(grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_3_2());
17518 }
11666 17519
11667 } 17520 }
11668 17521
@@ -11681,24 +17534,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11681 } 17534 }
11682 return ; 17535 return ;
11683 } 17536 }
11684 // $ANTLR end "rule__Constraint__Group_0_2_2__0__Impl" 17537 // $ANTLR end "rule__AtomicExpression__Group_3__2__Impl"
11685 17538
11686 17539
11687 // $ANTLR start "rule__Constraint__Group_0_2_2__1" 17540 // $ANTLR start "rule__Call__Group__0"
11688 // InternalSolverLanguage.g:3735:1: rule__Constraint__Group_0_2_2__1 : rule__Constraint__Group_0_2_2__1__Impl ; 17541 // InternalSolverLanguage.g:5172:1: rule__Call__Group__0 : rule__Call__Group__0__Impl rule__Call__Group__1 ;
11689 public final void rule__Constraint__Group_0_2_2__1() throws RecognitionException { 17542 public final void rule__Call__Group__0() throws RecognitionException {
11690 17543
11691 int stackSize = keepStackSize(); 17544 int stackSize = keepStackSize();
11692 17545
11693 try { 17546 try {
11694 // InternalSolverLanguage.g:3739:1: ( rule__Constraint__Group_0_2_2__1__Impl ) 17547 // InternalSolverLanguage.g:5176:1: ( rule__Call__Group__0__Impl rule__Call__Group__1 )
11695 // InternalSolverLanguage.g:3740:2: rule__Constraint__Group_0_2_2__1__Impl 17548 // InternalSolverLanguage.g:5177:2: rule__Call__Group__0__Impl rule__Call__Group__1
11696 { 17549 {
11697 pushFollow(FOLLOW_2); 17550 pushFollow(FOLLOW_35);
11698 rule__Constraint__Group_0_2_2__1__Impl(); 17551 rule__Call__Group__0__Impl();
11699 17552
11700 state._fsp--; 17553 state._fsp--;
17554 if (state.failed) return ;
17555 pushFollow(FOLLOW_2);
17556 rule__Call__Group__1();
11701 17557
17558 state._fsp--;
17559 if (state.failed) return ;
11702 17560
11703 } 17561 }
11704 17562
@@ -11714,35 +17572,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11714 } 17572 }
11715 return ; 17573 return ;
11716 } 17574 }
11717 // $ANTLR end "rule__Constraint__Group_0_2_2__1" 17575 // $ANTLR end "rule__Call__Group__0"
11718 17576
11719 17577
11720 // $ANTLR start "rule__Constraint__Group_0_2_2__1__Impl" 17578 // $ANTLR start "rule__Call__Group__0__Impl"
11721 // InternalSolverLanguage.g:3746:1: rule__Constraint__Group_0_2_2__1__Impl : ( ( rule__Constraint__ParamsAssignment_0_2_2_1 ) ) ; 17579 // InternalSolverLanguage.g:5184:1: rule__Call__Group__0__Impl : ( ( rule__Call__FunctorAssignment_0 ) ) ;
11722 public final void rule__Constraint__Group_0_2_2__1__Impl() throws RecognitionException { 17580 public final void rule__Call__Group__0__Impl() throws RecognitionException {
11723 17581
11724 int stackSize = keepStackSize(); 17582 int stackSize = keepStackSize();
11725 17583
11726 try { 17584 try {
11727 // InternalSolverLanguage.g:3750:1: ( ( ( rule__Constraint__ParamsAssignment_0_2_2_1 ) ) ) 17585 // InternalSolverLanguage.g:5188:1: ( ( ( rule__Call__FunctorAssignment_0 ) ) )
11728 // InternalSolverLanguage.g:3751:1: ( ( rule__Constraint__ParamsAssignment_0_2_2_1 ) ) 17586 // InternalSolverLanguage.g:5189:1: ( ( rule__Call__FunctorAssignment_0 ) )
11729 { 17587 {
11730 // InternalSolverLanguage.g:3751:1: ( ( rule__Constraint__ParamsAssignment_0_2_2_1 ) ) 17588 // InternalSolverLanguage.g:5189:1: ( ( rule__Call__FunctorAssignment_0 ) )
11731 // InternalSolverLanguage.g:3752:2: ( rule__Constraint__ParamsAssignment_0_2_2_1 ) 17589 // InternalSolverLanguage.g:5190:2: ( rule__Call__FunctorAssignment_0 )
11732 { 17590 {
11733 before(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_2_1()); 17591 if ( state.backtracking==0 ) {
11734 // InternalSolverLanguage.g:3753:2: ( rule__Constraint__ParamsAssignment_0_2_2_1 ) 17592 before(grammarAccess.getCallAccess().getFunctorAssignment_0());
11735 // InternalSolverLanguage.g:3753:3: rule__Constraint__ParamsAssignment_0_2_2_1 17593 }
17594 // InternalSolverLanguage.g:5191:2: ( rule__Call__FunctorAssignment_0 )
17595 // InternalSolverLanguage.g:5191:3: rule__Call__FunctorAssignment_0
11736 { 17596 {
11737 pushFollow(FOLLOW_2); 17597 pushFollow(FOLLOW_2);
11738 rule__Constraint__ParamsAssignment_0_2_2_1(); 17598 rule__Call__FunctorAssignment_0();
11739 17599
11740 state._fsp--; 17600 state._fsp--;
11741 17601 if (state.failed) return ;
11742 17602
11743 } 17603 }
11744 17604
11745 after(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_2_1()); 17605 if ( state.backtracking==0 ) {
17606 after(grammarAccess.getCallAccess().getFunctorAssignment_0());
17607 }
11746 17608
11747 } 17609 }
11748 17610
@@ -11761,29 +17623,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11761 } 17623 }
11762 return ; 17624 return ;
11763 } 17625 }
11764 // $ANTLR end "rule__Constraint__Group_0_2_2__1__Impl" 17626 // $ANTLR end "rule__Call__Group__0__Impl"
11765 17627
11766 17628
11767 // $ANTLR start "rule__Constraint__Group_1__0" 17629 // $ANTLR start "rule__Call__Group__1"
11768 // InternalSolverLanguage.g:3762:1: rule__Constraint__Group_1__0 : rule__Constraint__Group_1__0__Impl rule__Constraint__Group_1__1 ; 17630 // InternalSolverLanguage.g:5199:1: rule__Call__Group__1 : rule__Call__Group__1__Impl rule__Call__Group__2 ;
11769 public final void rule__Constraint__Group_1__0() throws RecognitionException { 17631 public final void rule__Call__Group__1() throws RecognitionException {
11770 17632
11771 int stackSize = keepStackSize(); 17633 int stackSize = keepStackSize();
11772 17634
11773 try { 17635 try {
11774 // InternalSolverLanguage.g:3766:1: ( rule__Constraint__Group_1__0__Impl rule__Constraint__Group_1__1 ) 17636 // InternalSolverLanguage.g:5203:1: ( rule__Call__Group__1__Impl rule__Call__Group__2 )
11775 // InternalSolverLanguage.g:3767:2: rule__Constraint__Group_1__0__Impl rule__Constraint__Group_1__1 17637 // InternalSolverLanguage.g:5204:2: rule__Call__Group__1__Impl rule__Call__Group__2
11776 { 17638 {
11777 pushFollow(FOLLOW_30); 17639 pushFollow(FOLLOW_35);
11778 rule__Constraint__Group_1__0__Impl(); 17640 rule__Call__Group__1__Impl();
11779 17641
11780 state._fsp--; 17642 state._fsp--;
11781 17643 if (state.failed) return ;
11782 pushFollow(FOLLOW_2); 17644 pushFollow(FOLLOW_2);
11783 rule__Constraint__Group_1__1(); 17645 rule__Call__Group__2();
11784 17646
11785 state._fsp--; 17647 state._fsp--;
11786 17648 if (state.failed) return ;
11787 17649
11788 } 17650 }
11789 17651
@@ -11799,35 +17661,134 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11799 } 17661 }
11800 return ; 17662 return ;
11801 } 17663 }
11802 // $ANTLR end "rule__Constraint__Group_1__0" 17664 // $ANTLR end "rule__Call__Group__1"
11803 17665
11804 17666
11805 // $ANTLR start "rule__Constraint__Group_1__0__Impl" 17667 // $ANTLR start "rule__Call__Group__1__Impl"
11806 // InternalSolverLanguage.g:3774:1: rule__Constraint__Group_1__0__Impl : ( ( rule__Constraint__ClosureTypeAssignment_1_0 ) ) ; 17668 // InternalSolverLanguage.g:5211:1: rule__Call__Group__1__Impl : ( ( rule__Call__Alternatives_1 )? ) ;
11807 public final void rule__Constraint__Group_1__0__Impl() throws RecognitionException { 17669 public final void rule__Call__Group__1__Impl() throws RecognitionException {
11808 17670
11809 int stackSize = keepStackSize(); 17671 int stackSize = keepStackSize();
11810 17672
11811 try { 17673 try {
11812 // InternalSolverLanguage.g:3778:1: ( ( ( rule__Constraint__ClosureTypeAssignment_1_0 ) ) ) 17674 // InternalSolverLanguage.g:5215:1: ( ( ( rule__Call__Alternatives_1 )? ) )
11813 // InternalSolverLanguage.g:3779:1: ( ( rule__Constraint__ClosureTypeAssignment_1_0 ) ) 17675 // InternalSolverLanguage.g:5216:1: ( ( rule__Call__Alternatives_1 )? )
11814 { 17676 {
11815 // InternalSolverLanguage.g:3779:1: ( ( rule__Constraint__ClosureTypeAssignment_1_0 ) ) 17677 // InternalSolverLanguage.g:5216:1: ( ( rule__Call__Alternatives_1 )? )
11816 // InternalSolverLanguage.g:3780:2: ( rule__Constraint__ClosureTypeAssignment_1_0 ) 17678 // InternalSolverLanguage.g:5217:2: ( rule__Call__Alternatives_1 )?
11817 { 17679 {
11818 before(grammarAccess.getConstraintAccess().getClosureTypeAssignment_1_0()); 17680 if ( state.backtracking==0 ) {
11819 // InternalSolverLanguage.g:3781:2: ( rule__Constraint__ClosureTypeAssignment_1_0 ) 17681 before(grammarAccess.getCallAccess().getAlternatives_1());
11820 // InternalSolverLanguage.g:3781:3: rule__Constraint__ClosureTypeAssignment_1_0 17682 }
17683 // InternalSolverLanguage.g:5218:2: ( rule__Call__Alternatives_1 )?
17684 int alt40=2;
17685 int LA40_0 = input.LA(1);
17686
17687 if ( ((LA40_0>=RULE_STAR && LA40_0<=RULE_PLUS)) ) {
17688 alt40=1;
17689 }
17690 switch (alt40) {
17691 case 1 :
17692 // InternalSolverLanguage.g:5218:3: rule__Call__Alternatives_1
17693 {
17694 pushFollow(FOLLOW_2);
17695 rule__Call__Alternatives_1();
17696
17697 state._fsp--;
17698 if (state.failed) return ;
17699
17700 }
17701 break;
17702
17703 }
17704
17705 if ( state.backtracking==0 ) {
17706 after(grammarAccess.getCallAccess().getAlternatives_1());
17707 }
17708
17709 }
17710
17711
17712 }
17713
17714 }
17715 catch (RecognitionException re) {
17716 reportError(re);
17717 recover(input,re);
17718 }
17719 finally {
17720
17721 restoreStackSize(stackSize);
17722
17723 }
17724 return ;
17725 }
17726 // $ANTLR end "rule__Call__Group__1__Impl"
17727
17728
17729 // $ANTLR start "rule__Call__Group__2"
17730 // InternalSolverLanguage.g:5226:1: rule__Call__Group__2 : rule__Call__Group__2__Impl ;
17731 public final void rule__Call__Group__2() throws RecognitionException {
17732
17733 int stackSize = keepStackSize();
17734
17735 try {
17736 // InternalSolverLanguage.g:5230:1: ( rule__Call__Group__2__Impl )
17737 // InternalSolverLanguage.g:5231:2: rule__Call__Group__2__Impl
11821 { 17738 {
11822 pushFollow(FOLLOW_2); 17739 pushFollow(FOLLOW_2);
11823 rule__Constraint__ClosureTypeAssignment_1_0(); 17740 rule__Call__Group__2__Impl();
11824 17741
11825 state._fsp--; 17742 state._fsp--;
17743 if (state.failed) return ;
17744
17745 }
17746
17747 }
17748 catch (RecognitionException re) {
17749 reportError(re);
17750 recover(input,re);
17751 }
17752 finally {
17753
17754 restoreStackSize(stackSize);
17755
17756 }
17757 return ;
17758 }
17759 // $ANTLR end "rule__Call__Group__2"
17760
17761
17762 // $ANTLR start "rule__Call__Group__2__Impl"
17763 // InternalSolverLanguage.g:5237:1: rule__Call__Group__2__Impl : ( ( rule__Call__ArgumentListAssignment_2 ) ) ;
17764 public final void rule__Call__Group__2__Impl() throws RecognitionException {
17765
17766 int stackSize = keepStackSize();
17767
17768 try {
17769 // InternalSolverLanguage.g:5241:1: ( ( ( rule__Call__ArgumentListAssignment_2 ) ) )
17770 // InternalSolverLanguage.g:5242:1: ( ( rule__Call__ArgumentListAssignment_2 ) )
17771 {
17772 // InternalSolverLanguage.g:5242:1: ( ( rule__Call__ArgumentListAssignment_2 ) )
17773 // InternalSolverLanguage.g:5243:2: ( rule__Call__ArgumentListAssignment_2 )
17774 {
17775 if ( state.backtracking==0 ) {
17776 before(grammarAccess.getCallAccess().getArgumentListAssignment_2());
17777 }
17778 // InternalSolverLanguage.g:5244:2: ( rule__Call__ArgumentListAssignment_2 )
17779 // InternalSolverLanguage.g:5244:3: rule__Call__ArgumentListAssignment_2
17780 {
17781 pushFollow(FOLLOW_2);
17782 rule__Call__ArgumentListAssignment_2();
11826 17783
17784 state._fsp--;
17785 if (state.failed) return ;
11827 17786
11828 } 17787 }
11829 17788
11830 after(grammarAccess.getConstraintAccess().getClosureTypeAssignment_1_0()); 17789 if ( state.backtracking==0 ) {
17790 after(grammarAccess.getCallAccess().getArgumentListAssignment_2());
17791 }
11831 17792
11832 } 17793 }
11833 17794
@@ -11846,29 +17807,108 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11846 } 17807 }
11847 return ; 17808 return ;
11848 } 17809 }
11849 // $ANTLR end "rule__Constraint__Group_1__0__Impl" 17810 // $ANTLR end "rule__Call__Group__2__Impl"
11850 17811
11851 17812
11852 // $ANTLR start "rule__Constraint__Group_1__1" 17813 // $ANTLR start "rule__ArgumentList__Group__0"
11853 // InternalSolverLanguage.g:3789:1: rule__Constraint__Group_1__1 : rule__Constraint__Group_1__1__Impl rule__Constraint__Group_1__2 ; 17814 // InternalSolverLanguage.g:5253:1: rule__ArgumentList__Group__0 : rule__ArgumentList__Group__0__Impl rule__ArgumentList__Group__1 ;
11854 public final void rule__Constraint__Group_1__1() throws RecognitionException { 17815 public final void rule__ArgumentList__Group__0() throws RecognitionException {
11855 17816
11856 int stackSize = keepStackSize(); 17817 int stackSize = keepStackSize();
11857 17818
11858 try { 17819 try {
11859 // InternalSolverLanguage.g:3793:1: ( rule__Constraint__Group_1__1__Impl rule__Constraint__Group_1__2 ) 17820 // InternalSolverLanguage.g:5257:1: ( rule__ArgumentList__Group__0__Impl rule__ArgumentList__Group__1 )
11860 // InternalSolverLanguage.g:3794:2: rule__Constraint__Group_1__1__Impl rule__Constraint__Group_1__2 17821 // InternalSolverLanguage.g:5258:2: rule__ArgumentList__Group__0__Impl rule__ArgumentList__Group__1
11861 { 17822 {
11862 pushFollow(FOLLOW_31); 17823 pushFollow(FOLLOW_12);
11863 rule__Constraint__Group_1__1__Impl(); 17824 rule__ArgumentList__Group__0__Impl();
11864 17825
11865 state._fsp--; 17826 state._fsp--;
11866 17827 if (state.failed) return ;
11867 pushFollow(FOLLOW_2); 17828 pushFollow(FOLLOW_2);
11868 rule__Constraint__Group_1__2(); 17829 rule__ArgumentList__Group__1();
17830
17831 state._fsp--;
17832 if (state.failed) return ;
17833
17834 }
17835
17836 }
17837 catch (RecognitionException re) {
17838 reportError(re);
17839 recover(input,re);
17840 }
17841 finally {
17842
17843 restoreStackSize(stackSize);
17844
17845 }
17846 return ;
17847 }
17848 // $ANTLR end "rule__ArgumentList__Group__0"
17849
17850
17851 // $ANTLR start "rule__ArgumentList__Group__0__Impl"
17852 // InternalSolverLanguage.g:5265:1: rule__ArgumentList__Group__0__Impl : ( () ) ;
17853 public final void rule__ArgumentList__Group__0__Impl() throws RecognitionException {
17854
17855 int stackSize = keepStackSize();
17856
17857 try {
17858 // InternalSolverLanguage.g:5269:1: ( ( () ) )
17859 // InternalSolverLanguage.g:5270:1: ( () )
17860 {
17861 // InternalSolverLanguage.g:5270:1: ( () )
17862 // InternalSolverLanguage.g:5271:2: ()
17863 {
17864 if ( state.backtracking==0 ) {
17865 before(grammarAccess.getArgumentListAccess().getArgumentListAction_0());
17866 }
17867 // InternalSolverLanguage.g:5272:2: ()
17868 // InternalSolverLanguage.g:5272:3:
17869 {
17870 }
17871
17872 if ( state.backtracking==0 ) {
17873 after(grammarAccess.getArgumentListAccess().getArgumentListAction_0());
17874 }
17875
17876 }
17877
17878
17879 }
17880
17881 }
17882 finally {
17883
17884 restoreStackSize(stackSize);
17885
17886 }
17887 return ;
17888 }
17889 // $ANTLR end "rule__ArgumentList__Group__0__Impl"
17890
17891
17892 // $ANTLR start "rule__ArgumentList__Group__1"
17893 // InternalSolverLanguage.g:5280:1: rule__ArgumentList__Group__1 : rule__ArgumentList__Group__1__Impl rule__ArgumentList__Group__2 ;
17894 public final void rule__ArgumentList__Group__1() throws RecognitionException {
17895
17896 int stackSize = keepStackSize();
17897
17898 try {
17899 // InternalSolverLanguage.g:5284:1: ( rule__ArgumentList__Group__1__Impl rule__ArgumentList__Group__2 )
17900 // InternalSolverLanguage.g:5285:2: rule__ArgumentList__Group__1__Impl rule__ArgumentList__Group__2
17901 {
17902 pushFollow(FOLLOW_36);
17903 rule__ArgumentList__Group__1__Impl();
11869 17904
11870 state._fsp--; 17905 state._fsp--;
17906 if (state.failed) return ;
17907 pushFollow(FOLLOW_2);
17908 rule__ArgumentList__Group__2();
11871 17909
17910 state._fsp--;
17911 if (state.failed) return ;
11872 17912
11873 } 17913 }
11874 17914
@@ -11884,25 +17924,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11884 } 17924 }
11885 return ; 17925 return ;
11886 } 17926 }
11887 // $ANTLR end "rule__Constraint__Group_1__1" 17927 // $ANTLR end "rule__ArgumentList__Group__1"
11888 17928
11889 17929
11890 // $ANTLR start "rule__Constraint__Group_1__1__Impl" 17930 // $ANTLR start "rule__ArgumentList__Group__1__Impl"
11891 // InternalSolverLanguage.g:3801:1: rule__Constraint__Group_1__1__Impl : ( '(' ) ; 17931 // InternalSolverLanguage.g:5292:1: rule__ArgumentList__Group__1__Impl : ( '(' ) ;
11892 public final void rule__Constraint__Group_1__1__Impl() throws RecognitionException { 17932 public final void rule__ArgumentList__Group__1__Impl() throws RecognitionException {
11893 17933
11894 int stackSize = keepStackSize(); 17934 int stackSize = keepStackSize();
11895 17935
11896 try { 17936 try {
11897 // InternalSolverLanguage.g:3805:1: ( ( '(' ) ) 17937 // InternalSolverLanguage.g:5296:1: ( ( '(' ) )
11898 // InternalSolverLanguage.g:3806:1: ( '(' ) 17938 // InternalSolverLanguage.g:5297:1: ( '(' )
11899 { 17939 {
11900 // InternalSolverLanguage.g:3806:1: ( '(' ) 17940 // InternalSolverLanguage.g:5297:1: ( '(' )
11901 // InternalSolverLanguage.g:3807:2: '(' 17941 // InternalSolverLanguage.g:5298:2: '('
11902 { 17942 {
11903 before(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1()); 17943 if ( state.backtracking==0 ) {
11904 match(input,18,FOLLOW_2); 17944 before(grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1());
11905 after(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1()); 17945 }
17946 match(input,61,FOLLOW_2); if (state.failed) return ;
17947 if ( state.backtracking==0 ) {
17948 after(grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1());
17949 }
11906 17950
11907 } 17951 }
11908 17952
@@ -11921,29 +17965,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11921 } 17965 }
11922 return ; 17966 return ;
11923 } 17967 }
11924 // $ANTLR end "rule__Constraint__Group_1__1__Impl" 17968 // $ANTLR end "rule__ArgumentList__Group__1__Impl"
11925 17969
11926 17970
11927 // $ANTLR start "rule__Constraint__Group_1__2" 17971 // $ANTLR start "rule__ArgumentList__Group__2"
11928 // InternalSolverLanguage.g:3816:1: rule__Constraint__Group_1__2 : rule__Constraint__Group_1__2__Impl rule__Constraint__Group_1__3 ; 17972 // InternalSolverLanguage.g:5307:1: rule__ArgumentList__Group__2 : rule__ArgumentList__Group__2__Impl rule__ArgumentList__Group__3 ;
11929 public final void rule__Constraint__Group_1__2() throws RecognitionException { 17973 public final void rule__ArgumentList__Group__2() throws RecognitionException {
11930 17974
11931 int stackSize = keepStackSize(); 17975 int stackSize = keepStackSize();
11932 17976
11933 try { 17977 try {
11934 // InternalSolverLanguage.g:3820:1: ( rule__Constraint__Group_1__2__Impl rule__Constraint__Group_1__3 ) 17978 // InternalSolverLanguage.g:5311:1: ( rule__ArgumentList__Group__2__Impl rule__ArgumentList__Group__3 )
11935 // InternalSolverLanguage.g:3821:2: rule__Constraint__Group_1__2__Impl rule__Constraint__Group_1__3 17979 // InternalSolverLanguage.g:5312:2: rule__ArgumentList__Group__2__Impl rule__ArgumentList__Group__3
11936 { 17980 {
11937 pushFollow(FOLLOW_31); 17981 pushFollow(FOLLOW_36);
11938 rule__Constraint__Group_1__2__Impl(); 17982 rule__ArgumentList__Group__2__Impl();
11939 17983
11940 state._fsp--; 17984 state._fsp--;
11941 17985 if (state.failed) return ;
11942 pushFollow(FOLLOW_2); 17986 pushFollow(FOLLOW_2);
11943 rule__Constraint__Group_1__3(); 17987 rule__ArgumentList__Group__3();
11944 17988
11945 state._fsp--; 17989 state._fsp--;
11946 17990 if (state.failed) return ;
11947 17991
11948 } 17992 }
11949 17993
@@ -11959,46 +18003,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
11959 } 18003 }
11960 return ; 18004 return ;
11961 } 18005 }
11962 // $ANTLR end "rule__Constraint__Group_1__2" 18006 // $ANTLR end "rule__ArgumentList__Group__2"
11963 18007
11964 18008
11965 // $ANTLR start "rule__Constraint__Group_1__2__Impl" 18009 // $ANTLR start "rule__ArgumentList__Group__2__Impl"
11966 // InternalSolverLanguage.g:3828:1: rule__Constraint__Group_1__2__Impl : ( ( rule__Constraint__ParamsAssignment_1_2 )? ) ; 18010 // InternalSolverLanguage.g:5319:1: rule__ArgumentList__Group__2__Impl : ( ( rule__ArgumentList__Group_2__0 )? ) ;
11967 public final void rule__Constraint__Group_1__2__Impl() throws RecognitionException { 18011 public final void rule__ArgumentList__Group__2__Impl() throws RecognitionException {
11968 18012
11969 int stackSize = keepStackSize(); 18013 int stackSize = keepStackSize();
11970 18014
11971 try { 18015 try {
11972 // InternalSolverLanguage.g:3832:1: ( ( ( rule__Constraint__ParamsAssignment_1_2 )? ) ) 18016 // InternalSolverLanguage.g:5323:1: ( ( ( rule__ArgumentList__Group_2__0 )? ) )
11973 // InternalSolverLanguage.g:3833:1: ( ( rule__Constraint__ParamsAssignment_1_2 )? ) 18017 // InternalSolverLanguage.g:5324:1: ( ( rule__ArgumentList__Group_2__0 )? )
11974 { 18018 {
11975 // InternalSolverLanguage.g:3833:1: ( ( rule__Constraint__ParamsAssignment_1_2 )? ) 18019 // InternalSolverLanguage.g:5324:1: ( ( rule__ArgumentList__Group_2__0 )? )
11976 // InternalSolverLanguage.g:3834:2: ( rule__Constraint__ParamsAssignment_1_2 )? 18020 // InternalSolverLanguage.g:5325:2: ( rule__ArgumentList__Group_2__0 )?
11977 { 18021 {
11978 before(grammarAccess.getConstraintAccess().getParamsAssignment_1_2()); 18022 if ( state.backtracking==0 ) {
11979 // InternalSolverLanguage.g:3835:2: ( rule__Constraint__ParamsAssignment_1_2 )? 18023 before(grammarAccess.getArgumentListAccess().getGroup_2());
11980 int alt36=2; 18024 }
11981 int LA36_0 = input.LA(1); 18025 // InternalSolverLanguage.g:5326:2: ( rule__ArgumentList__Group_2__0 )?
18026 int alt41=2;
18027 int LA41_0 = input.LA(1);
11982 18028
11983 if ( ((LA36_0>=RULE_INT && LA36_0<=RULE_STRING)||(LA36_0>=11 && LA36_0<=13)||LA36_0==27) ) { 18029 if ( ((LA41_0>=RULE_INT && LA41_0<=RULE_QUOTED_ID)||LA41_0==RULE_ID||LA41_0==RULE_STRING||LA41_0==16||(LA41_0>=26 && LA41_0<=27)||(LA41_0>=29 && LA41_0<=42)||LA41_0==57||LA41_0==61||LA41_0==63||(LA41_0>=66 && LA41_0<=67)) ) {
11984 alt36=1; 18030 alt41=1;
11985 } 18031 }
11986 switch (alt36) { 18032 switch (alt41) {
11987 case 1 : 18033 case 1 :
11988 // InternalSolverLanguage.g:3835:3: rule__Constraint__ParamsAssignment_1_2 18034 // InternalSolverLanguage.g:5326:3: rule__ArgumentList__Group_2__0
11989 { 18035 {
11990 pushFollow(FOLLOW_2); 18036 pushFollow(FOLLOW_2);
11991 rule__Constraint__ParamsAssignment_1_2(); 18037 rule__ArgumentList__Group_2__0();
11992 18038
11993 state._fsp--; 18039 state._fsp--;
11994 18040 if (state.failed) return ;
11995 18041
11996 } 18042 }
11997 break; 18043 break;
11998 18044
11999 } 18045 }
12000 18046
12001 after(grammarAccess.getConstraintAccess().getParamsAssignment_1_2()); 18047 if ( state.backtracking==0 ) {
18048 after(grammarAccess.getArgumentListAccess().getGroup_2());
18049 }
12002 18050
12003 } 18051 }
12004 18052
@@ -12017,28 +18065,153 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12017 } 18065 }
12018 return ; 18066 return ;
12019 } 18067 }
12020 // $ANTLR end "rule__Constraint__Group_1__2__Impl" 18068 // $ANTLR end "rule__ArgumentList__Group__2__Impl"
12021 18069
12022 18070
12023 // $ANTLR start "rule__Constraint__Group_1__3" 18071 // $ANTLR start "rule__ArgumentList__Group__3"
12024 // InternalSolverLanguage.g:3843:1: rule__Constraint__Group_1__3 : rule__Constraint__Group_1__3__Impl rule__Constraint__Group_1__4 ; 18072 // InternalSolverLanguage.g:5334:1: rule__ArgumentList__Group__3 : rule__ArgumentList__Group__3__Impl ;
12025 public final void rule__Constraint__Group_1__3() throws RecognitionException { 18073 public final void rule__ArgumentList__Group__3() throws RecognitionException {
12026 18074
12027 int stackSize = keepStackSize(); 18075 int stackSize = keepStackSize();
12028 18076
12029 try { 18077 try {
12030 // InternalSolverLanguage.g:3847:1: ( rule__Constraint__Group_1__3__Impl rule__Constraint__Group_1__4 ) 18078 // InternalSolverLanguage.g:5338:1: ( rule__ArgumentList__Group__3__Impl )
12031 // InternalSolverLanguage.g:3848:2: rule__Constraint__Group_1__3__Impl rule__Constraint__Group_1__4 18079 // InternalSolverLanguage.g:5339:2: rule__ArgumentList__Group__3__Impl
12032 { 18080 {
12033 pushFollow(FOLLOW_31); 18081 pushFollow(FOLLOW_2);
12034 rule__Constraint__Group_1__3__Impl(); 18082 rule__ArgumentList__Group__3__Impl();
12035 18083
12036 state._fsp--; 18084 state._fsp--;
18085 if (state.failed) return ;
18086
18087 }
12037 18088
18089 }
18090 catch (RecognitionException re) {
18091 reportError(re);
18092 recover(input,re);
18093 }
18094 finally {
18095
18096 restoreStackSize(stackSize);
18097
18098 }
18099 return ;
18100 }
18101 // $ANTLR end "rule__ArgumentList__Group__3"
18102
18103
18104 // $ANTLR start "rule__ArgumentList__Group__3__Impl"
18105 // InternalSolverLanguage.g:5345:1: rule__ArgumentList__Group__3__Impl : ( ')' ) ;
18106 public final void rule__ArgumentList__Group__3__Impl() throws RecognitionException {
18107
18108 int stackSize = keepStackSize();
18109
18110 try {
18111 // InternalSolverLanguage.g:5349:1: ( ( ')' ) )
18112 // InternalSolverLanguage.g:5350:1: ( ')' )
18113 {
18114 // InternalSolverLanguage.g:5350:1: ( ')' )
18115 // InternalSolverLanguage.g:5351:2: ')'
18116 {
18117 if ( state.backtracking==0 ) {
18118 before(grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3());
18119 }
18120 match(input,62,FOLLOW_2); if (state.failed) return ;
18121 if ( state.backtracking==0 ) {
18122 after(grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3());
18123 }
18124
18125 }
18126
18127
18128 }
18129
18130 }
18131 catch (RecognitionException re) {
18132 reportError(re);
18133 recover(input,re);
18134 }
18135 finally {
18136
18137 restoreStackSize(stackSize);
18138
18139 }
18140 return ;
18141 }
18142 // $ANTLR end "rule__ArgumentList__Group__3__Impl"
18143
18144
18145 // $ANTLR start "rule__ArgumentList__Group_2__0"
18146 // InternalSolverLanguage.g:5361:1: rule__ArgumentList__Group_2__0 : rule__ArgumentList__Group_2__0__Impl rule__ArgumentList__Group_2__1 ;
18147 public final void rule__ArgumentList__Group_2__0() throws RecognitionException {
18148
18149 int stackSize = keepStackSize();
18150
18151 try {
18152 // InternalSolverLanguage.g:5365:1: ( rule__ArgumentList__Group_2__0__Impl rule__ArgumentList__Group_2__1 )
18153 // InternalSolverLanguage.g:5366:2: rule__ArgumentList__Group_2__0__Impl rule__ArgumentList__Group_2__1
18154 {
18155 pushFollow(FOLLOW_22);
18156 rule__ArgumentList__Group_2__0__Impl();
18157
18158 state._fsp--;
18159 if (state.failed) return ;
18160 pushFollow(FOLLOW_2);
18161 rule__ArgumentList__Group_2__1();
18162
18163 state._fsp--;
18164 if (state.failed) return ;
18165
18166 }
18167
18168 }
18169 catch (RecognitionException re) {
18170 reportError(re);
18171 recover(input,re);
18172 }
18173 finally {
18174
18175 restoreStackSize(stackSize);
18176
18177 }
18178 return ;
18179 }
18180 // $ANTLR end "rule__ArgumentList__Group_2__0"
18181
18182
18183 // $ANTLR start "rule__ArgumentList__Group_2__0__Impl"
18184 // InternalSolverLanguage.g:5373:1: rule__ArgumentList__Group_2__0__Impl : ( ( rule__ArgumentList__ArgumentsAssignment_2_0 ) ) ;
18185 public final void rule__ArgumentList__Group_2__0__Impl() throws RecognitionException {
18186
18187 int stackSize = keepStackSize();
18188
18189 try {
18190 // InternalSolverLanguage.g:5377:1: ( ( ( rule__ArgumentList__ArgumentsAssignment_2_0 ) ) )
18191 // InternalSolverLanguage.g:5378:1: ( ( rule__ArgumentList__ArgumentsAssignment_2_0 ) )
18192 {
18193 // InternalSolverLanguage.g:5378:1: ( ( rule__ArgumentList__ArgumentsAssignment_2_0 ) )
18194 // InternalSolverLanguage.g:5379:2: ( rule__ArgumentList__ArgumentsAssignment_2_0 )
18195 {
18196 if ( state.backtracking==0 ) {
18197 before(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_0());
18198 }
18199 // InternalSolverLanguage.g:5380:2: ( rule__ArgumentList__ArgumentsAssignment_2_0 )
18200 // InternalSolverLanguage.g:5380:3: rule__ArgumentList__ArgumentsAssignment_2_0
18201 {
12038 pushFollow(FOLLOW_2); 18202 pushFollow(FOLLOW_2);
12039 rule__Constraint__Group_1__4(); 18203 rule__ArgumentList__ArgumentsAssignment_2_0();
12040 18204
12041 state._fsp--; 18205 state._fsp--;
18206 if (state.failed) return ;
18207
18208 }
18209
18210 if ( state.backtracking==0 ) {
18211 after(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_0());
18212 }
18213
18214 }
12042 18215
12043 18216
12044 } 18217 }
@@ -12055,53 +18228,90 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12055 } 18228 }
12056 return ; 18229 return ;
12057 } 18230 }
12058 // $ANTLR end "rule__Constraint__Group_1__3" 18231 // $ANTLR end "rule__ArgumentList__Group_2__0__Impl"
12059 18232
12060 18233
12061 // $ANTLR start "rule__Constraint__Group_1__3__Impl" 18234 // $ANTLR start "rule__ArgumentList__Group_2__1"
12062 // InternalSolverLanguage.g:3855:1: rule__Constraint__Group_1__3__Impl : ( ( rule__Constraint__Group_1_3__0 )* ) ; 18235 // InternalSolverLanguage.g:5388:1: rule__ArgumentList__Group_2__1 : rule__ArgumentList__Group_2__1__Impl ;
12063 public final void rule__Constraint__Group_1__3__Impl() throws RecognitionException { 18236 public final void rule__ArgumentList__Group_2__1() throws RecognitionException {
12064 18237
12065 int stackSize = keepStackSize(); 18238 int stackSize = keepStackSize();
12066 18239
12067 try { 18240 try {
12068 // InternalSolverLanguage.g:3859:1: ( ( ( rule__Constraint__Group_1_3__0 )* ) ) 18241 // InternalSolverLanguage.g:5392:1: ( rule__ArgumentList__Group_2__1__Impl )
12069 // InternalSolverLanguage.g:3860:1: ( ( rule__Constraint__Group_1_3__0 )* ) 18242 // InternalSolverLanguage.g:5393:2: rule__ArgumentList__Group_2__1__Impl
12070 { 18243 {
12071 // InternalSolverLanguage.g:3860:1: ( ( rule__Constraint__Group_1_3__0 )* ) 18244 pushFollow(FOLLOW_2);
12072 // InternalSolverLanguage.g:3861:2: ( rule__Constraint__Group_1_3__0 )* 18245 rule__ArgumentList__Group_2__1__Impl();
18246
18247 state._fsp--;
18248 if (state.failed) return ;
18249
18250 }
18251
18252 }
18253 catch (RecognitionException re) {
18254 reportError(re);
18255 recover(input,re);
18256 }
18257 finally {
18258
18259 restoreStackSize(stackSize);
18260
18261 }
18262 return ;
18263 }
18264 // $ANTLR end "rule__ArgumentList__Group_2__1"
18265
18266
18267 // $ANTLR start "rule__ArgumentList__Group_2__1__Impl"
18268 // InternalSolverLanguage.g:5399:1: rule__ArgumentList__Group_2__1__Impl : ( ( rule__ArgumentList__Group_2_1__0 )* ) ;
18269 public final void rule__ArgumentList__Group_2__1__Impl() throws RecognitionException {
18270
18271 int stackSize = keepStackSize();
18272
18273 try {
18274 // InternalSolverLanguage.g:5403:1: ( ( ( rule__ArgumentList__Group_2_1__0 )* ) )
18275 // InternalSolverLanguage.g:5404:1: ( ( rule__ArgumentList__Group_2_1__0 )* )
12073 { 18276 {
12074 before(grammarAccess.getConstraintAccess().getGroup_1_3()); 18277 // InternalSolverLanguage.g:5404:1: ( ( rule__ArgumentList__Group_2_1__0 )* )
12075 // InternalSolverLanguage.g:3862:2: ( rule__Constraint__Group_1_3__0 )* 18278 // InternalSolverLanguage.g:5405:2: ( rule__ArgumentList__Group_2_1__0 )*
12076 loop37: 18279 {
18280 if ( state.backtracking==0 ) {
18281 before(grammarAccess.getArgumentListAccess().getGroup_2_1());
18282 }
18283 // InternalSolverLanguage.g:5406:2: ( rule__ArgumentList__Group_2_1__0 )*
18284 loop42:
12077 do { 18285 do {
12078 int alt37=2; 18286 int alt42=2;
12079 int LA37_0 = input.LA(1); 18287 int LA42_0 = input.LA(1);
12080 18288
12081 if ( (LA37_0==20) ) { 18289 if ( (LA42_0==56) ) {
12082 alt37=1; 18290 alt42=1;
12083 } 18291 }
12084 18292
12085 18293
12086 switch (alt37) { 18294 switch (alt42) {
12087 case 1 : 18295 case 1 :
12088 // InternalSolverLanguage.g:3862:3: rule__Constraint__Group_1_3__0 18296 // InternalSolverLanguage.g:5406:3: rule__ArgumentList__Group_2_1__0
12089 { 18297 {
12090 pushFollow(FOLLOW_15); 18298 pushFollow(FOLLOW_23);
12091 rule__Constraint__Group_1_3__0(); 18299 rule__ArgumentList__Group_2_1__0();
12092 18300
12093 state._fsp--; 18301 state._fsp--;
12094 18302 if (state.failed) return ;
12095 18303
12096 } 18304 }
12097 break; 18305 break;
12098 18306
12099 default : 18307 default :
12100 break loop37; 18308 break loop42;
12101 } 18309 }
12102 } while (true); 18310 } while (true);
12103 18311
12104 after(grammarAccess.getConstraintAccess().getGroup_1_3()); 18312 if ( state.backtracking==0 ) {
18313 after(grammarAccess.getArgumentListAccess().getGroup_2_1());
18314 }
12105 18315
12106 } 18316 }
12107 18317
@@ -12120,24 +18330,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12120 } 18330 }
12121 return ; 18331 return ;
12122 } 18332 }
12123 // $ANTLR end "rule__Constraint__Group_1__3__Impl" 18333 // $ANTLR end "rule__ArgumentList__Group_2__1__Impl"
12124 18334
12125 18335
12126 // $ANTLR start "rule__Constraint__Group_1__4" 18336 // $ANTLR start "rule__ArgumentList__Group_2_1__0"
12127 // InternalSolverLanguage.g:3870:1: rule__Constraint__Group_1__4 : rule__Constraint__Group_1__4__Impl ; 18337 // InternalSolverLanguage.g:5415:1: rule__ArgumentList__Group_2_1__0 : rule__ArgumentList__Group_2_1__0__Impl rule__ArgumentList__Group_2_1__1 ;
12128 public final void rule__Constraint__Group_1__4() throws RecognitionException { 18338 public final void rule__ArgumentList__Group_2_1__0() throws RecognitionException {
12129 18339
12130 int stackSize = keepStackSize(); 18340 int stackSize = keepStackSize();
12131 18341
12132 try { 18342 try {
12133 // InternalSolverLanguage.g:3874:1: ( rule__Constraint__Group_1__4__Impl ) 18343 // InternalSolverLanguage.g:5419:1: ( rule__ArgumentList__Group_2_1__0__Impl rule__ArgumentList__Group_2_1__1 )
12134 // InternalSolverLanguage.g:3875:2: rule__Constraint__Group_1__4__Impl 18344 // InternalSolverLanguage.g:5420:2: rule__ArgumentList__Group_2_1__0__Impl rule__ArgumentList__Group_2_1__1
12135 { 18345 {
12136 pushFollow(FOLLOW_2); 18346 pushFollow(FOLLOW_37);
12137 rule__Constraint__Group_1__4__Impl(); 18347 rule__ArgumentList__Group_2_1__0__Impl();
12138 18348
12139 state._fsp--; 18349 state._fsp--;
18350 if (state.failed) return ;
18351 pushFollow(FOLLOW_2);
18352 rule__ArgumentList__Group_2_1__1();
12140 18353
18354 state._fsp--;
18355 if (state.failed) return ;
12141 18356
12142 } 18357 }
12143 18358
@@ -12153,25 +18368,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12153 } 18368 }
12154 return ; 18369 return ;
12155 } 18370 }
12156 // $ANTLR end "rule__Constraint__Group_1__4" 18371 // $ANTLR end "rule__ArgumentList__Group_2_1__0"
12157 18372
12158 18373
12159 // $ANTLR start "rule__Constraint__Group_1__4__Impl" 18374 // $ANTLR start "rule__ArgumentList__Group_2_1__0__Impl"
12160 // InternalSolverLanguage.g:3881:1: rule__Constraint__Group_1__4__Impl : ( ')' ) ; 18375 // InternalSolverLanguage.g:5427:1: rule__ArgumentList__Group_2_1__0__Impl : ( ',' ) ;
12161 public final void rule__Constraint__Group_1__4__Impl() throws RecognitionException { 18376 public final void rule__ArgumentList__Group_2_1__0__Impl() throws RecognitionException {
12162 18377
12163 int stackSize = keepStackSize(); 18378 int stackSize = keepStackSize();
12164 18379
12165 try { 18380 try {
12166 // InternalSolverLanguage.g:3885:1: ( ( ')' ) ) 18381 // InternalSolverLanguage.g:5431:1: ( ( ',' ) )
12167 // InternalSolverLanguage.g:3886:1: ( ')' ) 18382 // InternalSolverLanguage.g:5432:1: ( ',' )
12168 { 18383 {
12169 // InternalSolverLanguage.g:3886:1: ( ')' ) 18384 // InternalSolverLanguage.g:5432:1: ( ',' )
12170 // InternalSolverLanguage.g:3887:2: ')' 18385 // InternalSolverLanguage.g:5433:2: ','
12171 { 18386 {
12172 before(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4()); 18387 if ( state.backtracking==0 ) {
12173 match(input,19,FOLLOW_2); 18388 before(grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0());
12174 after(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4()); 18389 }
18390 match(input,56,FOLLOW_2); if (state.failed) return ;
18391 if ( state.backtracking==0 ) {
18392 after(grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0());
18393 }
12175 18394
12176 } 18395 }
12177 18396
@@ -12190,29 +18409,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12190 } 18409 }
12191 return ; 18410 return ;
12192 } 18411 }
12193 // $ANTLR end "rule__Constraint__Group_1__4__Impl" 18412 // $ANTLR end "rule__ArgumentList__Group_2_1__0__Impl"
12194 18413
12195 18414
12196 // $ANTLR start "rule__Constraint__Group_1_3__0" 18415 // $ANTLR start "rule__ArgumentList__Group_2_1__1"
12197 // InternalSolverLanguage.g:3897:1: rule__Constraint__Group_1_3__0 : rule__Constraint__Group_1_3__0__Impl rule__Constraint__Group_1_3__1 ; 18416 // InternalSolverLanguage.g:5442:1: rule__ArgumentList__Group_2_1__1 : rule__ArgumentList__Group_2_1__1__Impl ;
12198 public final void rule__Constraint__Group_1_3__0() throws RecognitionException { 18417 public final void rule__ArgumentList__Group_2_1__1() throws RecognitionException {
12199 18418
12200 int stackSize = keepStackSize(); 18419 int stackSize = keepStackSize();
12201 18420
12202 try { 18421 try {
12203 // InternalSolverLanguage.g:3901:1: ( rule__Constraint__Group_1_3__0__Impl rule__Constraint__Group_1_3__1 ) 18422 // InternalSolverLanguage.g:5446:1: ( rule__ArgumentList__Group_2_1__1__Impl )
12204 // InternalSolverLanguage.g:3902:2: rule__Constraint__Group_1_3__0__Impl rule__Constraint__Group_1_3__1 18423 // InternalSolverLanguage.g:5447:2: rule__ArgumentList__Group_2_1__1__Impl
12205 { 18424 {
12206 pushFollow(FOLLOW_32);
12207 rule__Constraint__Group_1_3__0__Impl();
12208
12209 state._fsp--;
12210
12211 pushFollow(FOLLOW_2); 18425 pushFollow(FOLLOW_2);
12212 rule__Constraint__Group_1_3__1(); 18426 rule__ArgumentList__Group_2_1__1__Impl();
12213 18427
12214 state._fsp--; 18428 state._fsp--;
12215 18429 if (state.failed) return ;
12216 18430
12217 } 18431 }
12218 18432
@@ -12228,25 +18442,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12228 } 18442 }
12229 return ; 18443 return ;
12230 } 18444 }
12231 // $ANTLR end "rule__Constraint__Group_1_3__0" 18445 // $ANTLR end "rule__ArgumentList__Group_2_1__1"
12232 18446
12233 18447
12234 // $ANTLR start "rule__Constraint__Group_1_3__0__Impl" 18448 // $ANTLR start "rule__ArgumentList__Group_2_1__1__Impl"
12235 // InternalSolverLanguage.g:3909:1: rule__Constraint__Group_1_3__0__Impl : ( ',' ) ; 18449 // InternalSolverLanguage.g:5453:1: rule__ArgumentList__Group_2_1__1__Impl : ( ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) ) ;
12236 public final void rule__Constraint__Group_1_3__0__Impl() throws RecognitionException { 18450 public final void rule__ArgumentList__Group_2_1__1__Impl() throws RecognitionException {
12237 18451
12238 int stackSize = keepStackSize(); 18452 int stackSize = keepStackSize();
12239 18453
12240 try { 18454 try {
12241 // InternalSolverLanguage.g:3913:1: ( ( ',' ) ) 18455 // InternalSolverLanguage.g:5457:1: ( ( ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) ) )
12242 // InternalSolverLanguage.g:3914:1: ( ',' ) 18456 // InternalSolverLanguage.g:5458:1: ( ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) )
12243 { 18457 {
12244 // InternalSolverLanguage.g:3914:1: ( ',' ) 18458 // InternalSolverLanguage.g:5458:1: ( ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) )
12245 // InternalSolverLanguage.g:3915:2: ',' 18459 // InternalSolverLanguage.g:5459:2: ( rule__ArgumentList__ArgumentsAssignment_2_1_1 )
18460 {
18461 if ( state.backtracking==0 ) {
18462 before(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_1_1());
18463 }
18464 // InternalSolverLanguage.g:5460:2: ( rule__ArgumentList__ArgumentsAssignment_2_1_1 )
18465 // InternalSolverLanguage.g:5460:3: rule__ArgumentList__ArgumentsAssignment_2_1_1
12246 { 18466 {
12247 before(grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0()); 18467 pushFollow(FOLLOW_2);
12248 match(input,20,FOLLOW_2); 18468 rule__ArgumentList__ArgumentsAssignment_2_1_1();
12249 after(grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0()); 18469
18470 state._fsp--;
18471 if (state.failed) return ;
18472
18473 }
18474
18475 if ( state.backtracking==0 ) {
18476 after(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_1_1());
18477 }
12250 18478
12251 } 18479 }
12252 18480
@@ -12265,24 +18493,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12265 } 18493 }
12266 return ; 18494 return ;
12267 } 18495 }
12268 // $ANTLR end "rule__Constraint__Group_1_3__0__Impl" 18496 // $ANTLR end "rule__ArgumentList__Group_2_1__1__Impl"
12269 18497
12270 18498
12271 // $ANTLR start "rule__Constraint__Group_1_3__1" 18499 // $ANTLR start "rule__StarArgument__Group__0"
12272 // InternalSolverLanguage.g:3924:1: rule__Constraint__Group_1_3__1 : rule__Constraint__Group_1_3__1__Impl ; 18500 // InternalSolverLanguage.g:5469:1: rule__StarArgument__Group__0 : rule__StarArgument__Group__0__Impl rule__StarArgument__Group__1 ;
12273 public final void rule__Constraint__Group_1_3__1() throws RecognitionException { 18501 public final void rule__StarArgument__Group__0() throws RecognitionException {
12274 18502
12275 int stackSize = keepStackSize(); 18503 int stackSize = keepStackSize();
12276 18504
12277 try { 18505 try {
12278 // InternalSolverLanguage.g:3928:1: ( rule__Constraint__Group_1_3__1__Impl ) 18506 // InternalSolverLanguage.g:5473:1: ( rule__StarArgument__Group__0__Impl rule__StarArgument__Group__1 )
12279 // InternalSolverLanguage.g:3929:2: rule__Constraint__Group_1_3__1__Impl 18507 // InternalSolverLanguage.g:5474:2: rule__StarArgument__Group__0__Impl rule__StarArgument__Group__1
12280 { 18508 {
12281 pushFollow(FOLLOW_2); 18509 pushFollow(FOLLOW_38);
12282 rule__Constraint__Group_1_3__1__Impl(); 18510 rule__StarArgument__Group__0__Impl();
12283 18511
12284 state._fsp--; 18512 state._fsp--;
18513 if (state.failed) return ;
18514 pushFollow(FOLLOW_2);
18515 rule__StarArgument__Group__1();
12285 18516
18517 state._fsp--;
18518 if (state.failed) return ;
12286 18519
12287 } 18520 }
12288 18521
@@ -12298,35 +18531,103 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12298 } 18531 }
12299 return ; 18532 return ;
12300 } 18533 }
12301 // $ANTLR end "rule__Constraint__Group_1_3__1" 18534 // $ANTLR end "rule__StarArgument__Group__0"
12302 18535
12303 18536
12304 // $ANTLR start "rule__Constraint__Group_1_3__1__Impl" 18537 // $ANTLR start "rule__StarArgument__Group__0__Impl"
12305 // InternalSolverLanguage.g:3935:1: rule__Constraint__Group_1_3__1__Impl : ( ( rule__Constraint__ParamsAssignment_1_3_1 ) ) ; 18538 // InternalSolverLanguage.g:5481:1: rule__StarArgument__Group__0__Impl : ( () ) ;
12306 public final void rule__Constraint__Group_1_3__1__Impl() throws RecognitionException { 18539 public final void rule__StarArgument__Group__0__Impl() throws RecognitionException {
12307 18540
12308 int stackSize = keepStackSize(); 18541 int stackSize = keepStackSize();
12309 18542
12310 try { 18543 try {
12311 // InternalSolverLanguage.g:3939:1: ( ( ( rule__Constraint__ParamsAssignment_1_3_1 ) ) ) 18544 // InternalSolverLanguage.g:5485:1: ( ( () ) )
12312 // InternalSolverLanguage.g:3940:1: ( ( rule__Constraint__ParamsAssignment_1_3_1 ) ) 18545 // InternalSolverLanguage.g:5486:1: ( () )
18546 {
18547 // InternalSolverLanguage.g:5486:1: ( () )
18548 // InternalSolverLanguage.g:5487:2: ()
12313 { 18549 {
12314 // InternalSolverLanguage.g:3940:1: ( ( rule__Constraint__ParamsAssignment_1_3_1 ) ) 18550 if ( state.backtracking==0 ) {
12315 // InternalSolverLanguage.g:3941:2: ( rule__Constraint__ParamsAssignment_1_3_1 ) 18551 before(grammarAccess.getStarArgumentAccess().getStarArgumentAction_0());
18552 }
18553 // InternalSolverLanguage.g:5488:2: ()
18554 // InternalSolverLanguage.g:5488:3:
12316 { 18555 {
12317 before(grammarAccess.getConstraintAccess().getParamsAssignment_1_3_1()); 18556 }
12318 // InternalSolverLanguage.g:3942:2: ( rule__Constraint__ParamsAssignment_1_3_1 ) 18557
12319 // InternalSolverLanguage.g:3942:3: rule__Constraint__ParamsAssignment_1_3_1 18558 if ( state.backtracking==0 ) {
18559 after(grammarAccess.getStarArgumentAccess().getStarArgumentAction_0());
18560 }
18561
18562 }
18563
18564
18565 }
18566
18567 }
18568 finally {
18569
18570 restoreStackSize(stackSize);
18571
18572 }
18573 return ;
18574 }
18575 // $ANTLR end "rule__StarArgument__Group__0__Impl"
18576
18577
18578 // $ANTLR start "rule__StarArgument__Group__1"
18579 // InternalSolverLanguage.g:5496:1: rule__StarArgument__Group__1 : rule__StarArgument__Group__1__Impl ;
18580 public final void rule__StarArgument__Group__1() throws RecognitionException {
18581
18582 int stackSize = keepStackSize();
18583
18584 try {
18585 // InternalSolverLanguage.g:5500:1: ( rule__StarArgument__Group__1__Impl )
18586 // InternalSolverLanguage.g:5501:2: rule__StarArgument__Group__1__Impl
12320 { 18587 {
12321 pushFollow(FOLLOW_2); 18588 pushFollow(FOLLOW_2);
12322 rule__Constraint__ParamsAssignment_1_3_1(); 18589 rule__StarArgument__Group__1__Impl();
12323 18590
12324 state._fsp--; 18591 state._fsp--;
12325 18592 if (state.failed) return ;
12326 18593
12327 } 18594 }
12328 18595
12329 after(grammarAccess.getConstraintAccess().getParamsAssignment_1_3_1()); 18596 }
18597 catch (RecognitionException re) {
18598 reportError(re);
18599 recover(input,re);
18600 }
18601 finally {
18602
18603 restoreStackSize(stackSize);
18604
18605 }
18606 return ;
18607 }
18608 // $ANTLR end "rule__StarArgument__Group__1"
18609
18610
18611 // $ANTLR start "rule__StarArgument__Group__1__Impl"
18612 // InternalSolverLanguage.g:5507:1: rule__StarArgument__Group__1__Impl : ( '*' ) ;
18613 public final void rule__StarArgument__Group__1__Impl() throws RecognitionException {
18614
18615 int stackSize = keepStackSize();
18616
18617 try {
18618 // InternalSolverLanguage.g:5511:1: ( ( '*' ) )
18619 // InternalSolverLanguage.g:5512:1: ( '*' )
18620 {
18621 // InternalSolverLanguage.g:5512:1: ( '*' )
18622 // InternalSolverLanguage.g:5513:2: '*'
18623 {
18624 if ( state.backtracking==0 ) {
18625 before(grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1());
18626 }
18627 match(input,16,FOLLOW_2); if (state.failed) return ;
18628 if ( state.backtracking==0 ) {
18629 after(grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1());
18630 }
12330 18631
12331 } 18632 }
12332 18633
@@ -12345,29 +18646,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12345 } 18646 }
12346 return ; 18647 return ;
12347 } 18648 }
12348 // $ANTLR end "rule__Constraint__Group_1_3__1__Impl" 18649 // $ANTLR end "rule__StarArgument__Group__1__Impl"
12349 18650
12350 18651
12351 // $ANTLR start "rule__ClosureType__Group_0__0" 18652 // $ANTLR start "rule__TypedArgument__Group__0"
12352 // InternalSolverLanguage.g:3951:1: rule__ClosureType__Group_0__0 : rule__ClosureType__Group_0__0__Impl rule__ClosureType__Group_0__1 ; 18653 // InternalSolverLanguage.g:5523:1: rule__TypedArgument__Group__0 : rule__TypedArgument__Group__0__Impl rule__TypedArgument__Group__1 ;
12353 public final void rule__ClosureType__Group_0__0() throws RecognitionException { 18654 public final void rule__TypedArgument__Group__0() throws RecognitionException {
12354 18655
12355 int stackSize = keepStackSize(); 18656 int stackSize = keepStackSize();
12356 18657
12357 try { 18658 try {
12358 // InternalSolverLanguage.g:3955:1: ( rule__ClosureType__Group_0__0__Impl rule__ClosureType__Group_0__1 ) 18659 // InternalSolverLanguage.g:5527:1: ( rule__TypedArgument__Group__0__Impl rule__TypedArgument__Group__1 )
12359 // InternalSolverLanguage.g:3956:2: rule__ClosureType__Group_0__0__Impl rule__ClosureType__Group_0__1 18660 // InternalSolverLanguage.g:5528:2: rule__TypedArgument__Group__0__Impl rule__TypedArgument__Group__1
12360 { 18661 {
12361 pushFollow(FOLLOW_33); 18662 pushFollow(FOLLOW_9);
12362 rule__ClosureType__Group_0__0__Impl(); 18663 rule__TypedArgument__Group__0__Impl();
12363 18664
12364 state._fsp--; 18665 state._fsp--;
12365 18666 if (state.failed) return ;
12366 pushFollow(FOLLOW_2); 18667 pushFollow(FOLLOW_2);
12367 rule__ClosureType__Group_0__1(); 18668 rule__TypedArgument__Group__1();
12368 18669
12369 state._fsp--; 18670 state._fsp--;
12370 18671 if (state.failed) return ;
12371 18672
12372 } 18673 }
12373 18674
@@ -12383,29 +18684,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12383 } 18684 }
12384 return ; 18685 return ;
12385 } 18686 }
12386 // $ANTLR end "rule__ClosureType__Group_0__0" 18687 // $ANTLR end "rule__TypedArgument__Group__0"
12387 18688
12388 18689
12389 // $ANTLR start "rule__ClosureType__Group_0__0__Impl" 18690 // $ANTLR start "rule__TypedArgument__Group__0__Impl"
12390 // InternalSolverLanguage.g:3963:1: rule__ClosureType__Group_0__0__Impl : ( () ) ; 18691 // InternalSolverLanguage.g:5535:1: rule__TypedArgument__Group__0__Impl : ( ( rule__TypedArgument__TypeAssignment_0 ) ) ;
12391 public final void rule__ClosureType__Group_0__0__Impl() throws RecognitionException { 18692 public final void rule__TypedArgument__Group__0__Impl() throws RecognitionException {
12392 18693
12393 int stackSize = keepStackSize(); 18694 int stackSize = keepStackSize();
12394 18695
12395 try { 18696 try {
12396 // InternalSolverLanguage.g:3967:1: ( ( () ) ) 18697 // InternalSolverLanguage.g:5539:1: ( ( ( rule__TypedArgument__TypeAssignment_0 ) ) )
12397 // InternalSolverLanguage.g:3968:1: ( () ) 18698 // InternalSolverLanguage.g:5540:1: ( ( rule__TypedArgument__TypeAssignment_0 ) )
12398 { 18699 {
12399 // InternalSolverLanguage.g:3968:1: ( () ) 18700 // InternalSolverLanguage.g:5540:1: ( ( rule__TypedArgument__TypeAssignment_0 ) )
12400 // InternalSolverLanguage.g:3969:2: () 18701 // InternalSolverLanguage.g:5541:2: ( rule__TypedArgument__TypeAssignment_0 )
12401 { 18702 {
12402 before(grammarAccess.getClosureTypeAccess().getReflexiveClosureAction_0_0()); 18703 if ( state.backtracking==0 ) {
12403 // InternalSolverLanguage.g:3970:2: () 18704 before(grammarAccess.getTypedArgumentAccess().getTypeAssignment_0());
12404 // InternalSolverLanguage.g:3970:3: 18705 }
18706 // InternalSolverLanguage.g:5542:2: ( rule__TypedArgument__TypeAssignment_0 )
18707 // InternalSolverLanguage.g:5542:3: rule__TypedArgument__TypeAssignment_0
12405 { 18708 {
18709 pushFollow(FOLLOW_2);
18710 rule__TypedArgument__TypeAssignment_0();
18711
18712 state._fsp--;
18713 if (state.failed) return ;
18714
12406 } 18715 }
12407 18716
12408 after(grammarAccess.getClosureTypeAccess().getReflexiveClosureAction_0_0()); 18717 if ( state.backtracking==0 ) {
18718 after(grammarAccess.getTypedArgumentAccess().getTypeAssignment_0());
18719 }
12409 18720
12410 } 18721 }
12411 18722
@@ -12413,6 +18724,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12413 } 18724 }
12414 18725
12415 } 18726 }
18727 catch (RecognitionException re) {
18728 reportError(re);
18729 recover(input,re);
18730 }
12416 finally { 18731 finally {
12417 18732
12418 restoreStackSize(stackSize); 18733 restoreStackSize(stackSize);
@@ -12420,24 +18735,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12420 } 18735 }
12421 return ; 18736 return ;
12422 } 18737 }
12423 // $ANTLR end "rule__ClosureType__Group_0__0__Impl" 18738 // $ANTLR end "rule__TypedArgument__Group__0__Impl"
12424 18739
12425 18740
12426 // $ANTLR start "rule__ClosureType__Group_0__1" 18741 // $ANTLR start "rule__TypedArgument__Group__1"
12427 // InternalSolverLanguage.g:3978:1: rule__ClosureType__Group_0__1 : rule__ClosureType__Group_0__1__Impl ; 18742 // InternalSolverLanguage.g:5550:1: rule__TypedArgument__Group__1 : rule__TypedArgument__Group__1__Impl ;
12428 public final void rule__ClosureType__Group_0__1() throws RecognitionException { 18743 public final void rule__TypedArgument__Group__1() throws RecognitionException {
12429 18744
12430 int stackSize = keepStackSize(); 18745 int stackSize = keepStackSize();
12431 18746
12432 try { 18747 try {
12433 // InternalSolverLanguage.g:3982:1: ( rule__ClosureType__Group_0__1__Impl ) 18748 // InternalSolverLanguage.g:5554:1: ( rule__TypedArgument__Group__1__Impl )
12434 // InternalSolverLanguage.g:3983:2: rule__ClosureType__Group_0__1__Impl 18749 // InternalSolverLanguage.g:5555:2: rule__TypedArgument__Group__1__Impl
12435 { 18750 {
12436 pushFollow(FOLLOW_2); 18751 pushFollow(FOLLOW_2);
12437 rule__ClosureType__Group_0__1__Impl(); 18752 rule__TypedArgument__Group__1__Impl();
12438 18753
12439 state._fsp--; 18754 state._fsp--;
12440 18755 if (state.failed) return ;
12441 18756
12442 } 18757 }
12443 18758
@@ -12453,25 +18768,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12453 } 18768 }
12454 return ; 18769 return ;
12455 } 18770 }
12456 // $ANTLR end "rule__ClosureType__Group_0__1" 18771 // $ANTLR end "rule__TypedArgument__Group__1"
12457 18772
12458 18773
12459 // $ANTLR start "rule__ClosureType__Group_0__1__Impl" 18774 // $ANTLR start "rule__TypedArgument__Group__1__Impl"
12460 // InternalSolverLanguage.g:3989:1: rule__ClosureType__Group_0__1__Impl : ( '*' ) ; 18775 // InternalSolverLanguage.g:5561:1: rule__TypedArgument__Group__1__Impl : ( ( rule__TypedArgument__VariableAssignment_1 ) ) ;
12461 public final void rule__ClosureType__Group_0__1__Impl() throws RecognitionException { 18776 public final void rule__TypedArgument__Group__1__Impl() throws RecognitionException {
12462 18777
12463 int stackSize = keepStackSize(); 18778 int stackSize = keepStackSize();
12464 18779
12465 try { 18780 try {
12466 // InternalSolverLanguage.g:3993:1: ( ( '*' ) ) 18781 // InternalSolverLanguage.g:5565:1: ( ( ( rule__TypedArgument__VariableAssignment_1 ) ) )
12467 // InternalSolverLanguage.g:3994:1: ( '*' ) 18782 // InternalSolverLanguage.g:5566:1: ( ( rule__TypedArgument__VariableAssignment_1 ) )
12468 { 18783 {
12469 // InternalSolverLanguage.g:3994:1: ( '*' ) 18784 // InternalSolverLanguage.g:5566:1: ( ( rule__TypedArgument__VariableAssignment_1 ) )
12470 // InternalSolverLanguage.g:3995:2: '*' 18785 // InternalSolverLanguage.g:5567:2: ( rule__TypedArgument__VariableAssignment_1 )
12471 { 18786 {
12472 before(grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1()); 18787 if ( state.backtracking==0 ) {
12473 match(input,31,FOLLOW_2); 18788 before(grammarAccess.getTypedArgumentAccess().getVariableAssignment_1());
12474 after(grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1()); 18789 }
18790 // InternalSolverLanguage.g:5568:2: ( rule__TypedArgument__VariableAssignment_1 )
18791 // InternalSolverLanguage.g:5568:3: rule__TypedArgument__VariableAssignment_1
18792 {
18793 pushFollow(FOLLOW_2);
18794 rule__TypedArgument__VariableAssignment_1();
18795
18796 state._fsp--;
18797 if (state.failed) return ;
18798
18799 }
18800
18801 if ( state.backtracking==0 ) {
18802 after(grammarAccess.getTypedArgumentAccess().getVariableAssignment_1());
18803 }
12475 18804
12476 } 18805 }
12477 18806
@@ -12490,29 +18819,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12490 } 18819 }
12491 return ; 18820 return ;
12492 } 18821 }
12493 // $ANTLR end "rule__ClosureType__Group_0__1__Impl" 18822 // $ANTLR end "rule__TypedArgument__Group__1__Impl"
12494 18823
12495 18824
12496 // $ANTLR start "rule__ClosureType__Group_1__0" 18825 // $ANTLR start "rule__TypedStarArgument__Group__0"
12497 // InternalSolverLanguage.g:4005:1: rule__ClosureType__Group_1__0 : rule__ClosureType__Group_1__0__Impl rule__ClosureType__Group_1__1 ; 18826 // InternalSolverLanguage.g:5577:1: rule__TypedStarArgument__Group__0 : rule__TypedStarArgument__Group__0__Impl rule__TypedStarArgument__Group__1 ;
12498 public final void rule__ClosureType__Group_1__0() throws RecognitionException { 18827 public final void rule__TypedStarArgument__Group__0() throws RecognitionException {
12499 18828
12500 int stackSize = keepStackSize(); 18829 int stackSize = keepStackSize();
12501 18830
12502 try { 18831 try {
12503 // InternalSolverLanguage.g:4009:1: ( rule__ClosureType__Group_1__0__Impl rule__ClosureType__Group_1__1 ) 18832 // InternalSolverLanguage.g:5581:1: ( rule__TypedStarArgument__Group__0__Impl rule__TypedStarArgument__Group__1 )
12504 // InternalSolverLanguage.g:4010:2: rule__ClosureType__Group_1__0__Impl rule__ClosureType__Group_1__1 18833 // InternalSolverLanguage.g:5582:2: rule__TypedStarArgument__Group__0__Impl rule__TypedStarArgument__Group__1
12505 { 18834 {
12506 pushFollow(FOLLOW_34); 18835 pushFollow(FOLLOW_38);
12507 rule__ClosureType__Group_1__0__Impl(); 18836 rule__TypedStarArgument__Group__0__Impl();
12508 18837
12509 state._fsp--; 18838 state._fsp--;
12510 18839 if (state.failed) return ;
12511 pushFollow(FOLLOW_2); 18840 pushFollow(FOLLOW_2);
12512 rule__ClosureType__Group_1__1(); 18841 rule__TypedStarArgument__Group__1();
12513 18842
12514 state._fsp--; 18843 state._fsp--;
12515 18844 if (state.failed) return ;
12516 18845
12517 } 18846 }
12518 18847
@@ -12528,29 +18857,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12528 } 18857 }
12529 return ; 18858 return ;
12530 } 18859 }
12531 // $ANTLR end "rule__ClosureType__Group_1__0" 18860 // $ANTLR end "rule__TypedStarArgument__Group__0"
12532 18861
12533 18862
12534 // $ANTLR start "rule__ClosureType__Group_1__0__Impl" 18863 // $ANTLR start "rule__TypedStarArgument__Group__0__Impl"
12535 // InternalSolverLanguage.g:4017:1: rule__ClosureType__Group_1__0__Impl : ( () ) ; 18864 // InternalSolverLanguage.g:5589:1: rule__TypedStarArgument__Group__0__Impl : ( ( rule__TypedStarArgument__TypeAssignment_0 ) ) ;
12536 public final void rule__ClosureType__Group_1__0__Impl() throws RecognitionException { 18865 public final void rule__TypedStarArgument__Group__0__Impl() throws RecognitionException {
12537 18866
12538 int stackSize = keepStackSize(); 18867 int stackSize = keepStackSize();
12539 18868
12540 try { 18869 try {
12541 // InternalSolverLanguage.g:4021:1: ( ( () ) ) 18870 // InternalSolverLanguage.g:5593:1: ( ( ( rule__TypedStarArgument__TypeAssignment_0 ) ) )
12542 // InternalSolverLanguage.g:4022:1: ( () ) 18871 // InternalSolverLanguage.g:5594:1: ( ( rule__TypedStarArgument__TypeAssignment_0 ) )
12543 { 18872 {
12544 // InternalSolverLanguage.g:4022:1: ( () ) 18873 // InternalSolverLanguage.g:5594:1: ( ( rule__TypedStarArgument__TypeAssignment_0 ) )
12545 // InternalSolverLanguage.g:4023:2: () 18874 // InternalSolverLanguage.g:5595:2: ( rule__TypedStarArgument__TypeAssignment_0 )
12546 { 18875 {
12547 before(grammarAccess.getClosureTypeAccess().getIrreflexiveClosureAction_1_0()); 18876 if ( state.backtracking==0 ) {
12548 // InternalSolverLanguage.g:4024:2: () 18877 before(grammarAccess.getTypedStarArgumentAccess().getTypeAssignment_0());
12549 // InternalSolverLanguage.g:4024:3: 18878 }
18879 // InternalSolverLanguage.g:5596:2: ( rule__TypedStarArgument__TypeAssignment_0 )
18880 // InternalSolverLanguage.g:5596:3: rule__TypedStarArgument__TypeAssignment_0
12550 { 18881 {
18882 pushFollow(FOLLOW_2);
18883 rule__TypedStarArgument__TypeAssignment_0();
18884
18885 state._fsp--;
18886 if (state.failed) return ;
18887
12551 } 18888 }
12552 18889
12553 after(grammarAccess.getClosureTypeAccess().getIrreflexiveClosureAction_1_0()); 18890 if ( state.backtracking==0 ) {
18891 after(grammarAccess.getTypedStarArgumentAccess().getTypeAssignment_0());
18892 }
12554 18893
12555 } 18894 }
12556 18895
@@ -12558,6 +18897,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12558 } 18897 }
12559 18898
12560 } 18899 }
18900 catch (RecognitionException re) {
18901 reportError(re);
18902 recover(input,re);
18903 }
12561 finally { 18904 finally {
12562 18905
12563 restoreStackSize(stackSize); 18906 restoreStackSize(stackSize);
@@ -12565,24 +18908,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12565 } 18908 }
12566 return ; 18909 return ;
12567 } 18910 }
12568 // $ANTLR end "rule__ClosureType__Group_1__0__Impl" 18911 // $ANTLR end "rule__TypedStarArgument__Group__0__Impl"
12569 18912
12570 18913
12571 // $ANTLR start "rule__ClosureType__Group_1__1" 18914 // $ANTLR start "rule__TypedStarArgument__Group__1"
12572 // InternalSolverLanguage.g:4032:1: rule__ClosureType__Group_1__1 : rule__ClosureType__Group_1__1__Impl ; 18915 // InternalSolverLanguage.g:5604:1: rule__TypedStarArgument__Group__1 : rule__TypedStarArgument__Group__1__Impl ;
12573 public final void rule__ClosureType__Group_1__1() throws RecognitionException { 18916 public final void rule__TypedStarArgument__Group__1() throws RecognitionException {
12574 18917
12575 int stackSize = keepStackSize(); 18918 int stackSize = keepStackSize();
12576 18919
12577 try { 18920 try {
12578 // InternalSolverLanguage.g:4036:1: ( rule__ClosureType__Group_1__1__Impl ) 18921 // InternalSolverLanguage.g:5608:1: ( rule__TypedStarArgument__Group__1__Impl )
12579 // InternalSolverLanguage.g:4037:2: rule__ClosureType__Group_1__1__Impl 18922 // InternalSolverLanguage.g:5609:2: rule__TypedStarArgument__Group__1__Impl
12580 { 18923 {
12581 pushFollow(FOLLOW_2); 18924 pushFollow(FOLLOW_2);
12582 rule__ClosureType__Group_1__1__Impl(); 18925 rule__TypedStarArgument__Group__1__Impl();
12583 18926
12584 state._fsp--; 18927 state._fsp--;
12585 18928 if (state.failed) return ;
12586 18929
12587 } 18930 }
12588 18931
@@ -12598,25 +18941,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12598 } 18941 }
12599 return ; 18942 return ;
12600 } 18943 }
12601 // $ANTLR end "rule__ClosureType__Group_1__1" 18944 // $ANTLR end "rule__TypedStarArgument__Group__1"
12602 18945
12603 18946
12604 // $ANTLR start "rule__ClosureType__Group_1__1__Impl" 18947 // $ANTLR start "rule__TypedStarArgument__Group__1__Impl"
12605 // InternalSolverLanguage.g:4043:1: rule__ClosureType__Group_1__1__Impl : ( '+' ) ; 18948 // InternalSolverLanguage.g:5615:1: rule__TypedStarArgument__Group__1__Impl : ( '*' ) ;
12606 public final void rule__ClosureType__Group_1__1__Impl() throws RecognitionException { 18949 public final void rule__TypedStarArgument__Group__1__Impl() throws RecognitionException {
12607 18950
12608 int stackSize = keepStackSize(); 18951 int stackSize = keepStackSize();
12609 18952
12610 try { 18953 try {
12611 // InternalSolverLanguage.g:4047:1: ( ( '+' ) ) 18954 // InternalSolverLanguage.g:5619:1: ( ( '*' ) )
12612 // InternalSolverLanguage.g:4048:1: ( '+' ) 18955 // InternalSolverLanguage.g:5620:1: ( '*' )
12613 { 18956 {
12614 // InternalSolverLanguage.g:4048:1: ( '+' ) 18957 // InternalSolverLanguage.g:5620:1: ( '*' )
12615 // InternalSolverLanguage.g:4049:2: '+' 18958 // InternalSolverLanguage.g:5621:2: '*'
12616 { 18959 {
12617 before(grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1()); 18960 if ( state.backtracking==0 ) {
12618 match(input,30,FOLLOW_2); 18961 before(grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1());
12619 after(grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1()); 18962 }
18963 match(input,16,FOLLOW_2); if (state.failed) return ;
18964 if ( state.backtracking==0 ) {
18965 after(grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1());
18966 }
12620 18967
12621 } 18968 }
12622 18969
@@ -12635,29 +18982,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12635 } 18982 }
12636 return ; 18983 return ;
12637 } 18984 }
12638 // $ANTLR end "rule__ClosureType__Group_1__1__Impl" 18985 // $ANTLR end "rule__TypedStarArgument__Group__1__Impl"
12639 18986
12640 18987
12641 // $ANTLR start "rule__AllInstances__Group__0" 18988 // $ANTLR start "rule__Interval__Group__0"
12642 // InternalSolverLanguage.g:4059:1: rule__AllInstances__Group__0 : rule__AllInstances__Group__0__Impl rule__AllInstances__Group__1 ; 18989 // InternalSolverLanguage.g:5631:1: rule__Interval__Group__0 : rule__Interval__Group__0__Impl rule__Interval__Group__1 ;
12643 public final void rule__AllInstances__Group__0() throws RecognitionException { 18990 public final void rule__Interval__Group__0() throws RecognitionException {
12644 18991
12645 int stackSize = keepStackSize(); 18992 int stackSize = keepStackSize();
12646 18993
12647 try { 18994 try {
12648 // InternalSolverLanguage.g:4063:1: ( rule__AllInstances__Group__0__Impl rule__AllInstances__Group__1 ) 18995 // InternalSolverLanguage.g:5635:1: ( rule__Interval__Group__0__Impl rule__Interval__Group__1 )
12649 // InternalSolverLanguage.g:4064:2: rule__AllInstances__Group__0__Impl rule__AllInstances__Group__1 18996 // InternalSolverLanguage.g:5636:2: rule__Interval__Group__0__Impl rule__Interval__Group__1
12650 { 18997 {
12651 pushFollow(FOLLOW_26); 18998 pushFollow(FOLLOW_7);
12652 rule__AllInstances__Group__0__Impl(); 18999 rule__Interval__Group__0__Impl();
12653 19000
12654 state._fsp--; 19001 state._fsp--;
12655 19002 if (state.failed) return ;
12656 pushFollow(FOLLOW_2); 19003 pushFollow(FOLLOW_2);
12657 rule__AllInstances__Group__1(); 19004 rule__Interval__Group__1();
12658 19005
12659 state._fsp--; 19006 state._fsp--;
12660 19007 if (state.failed) return ;
12661 19008
12662 } 19009 }
12663 19010
@@ -12673,25 +19020,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12673 } 19020 }
12674 return ; 19021 return ;
12675 } 19022 }
12676 // $ANTLR end "rule__AllInstances__Group__0" 19023 // $ANTLR end "rule__Interval__Group__0"
12677 19024
12678 19025
12679 // $ANTLR start "rule__AllInstances__Group__0__Impl" 19026 // $ANTLR start "rule__Interval__Group__0__Impl"
12680 // InternalSolverLanguage.g:4071:1: rule__AllInstances__Group__0__Impl : ( ':' ) ; 19027 // InternalSolverLanguage.g:5643:1: rule__Interval__Group__0__Impl : ( '[' ) ;
12681 public final void rule__AllInstances__Group__0__Impl() throws RecognitionException { 19028 public final void rule__Interval__Group__0__Impl() throws RecognitionException {
12682 19029
12683 int stackSize = keepStackSize(); 19030 int stackSize = keepStackSize();
12684 19031
12685 try { 19032 try {
12686 // InternalSolverLanguage.g:4075:1: ( ( ':' ) ) 19033 // InternalSolverLanguage.g:5647:1: ( ( '[' ) )
12687 // InternalSolverLanguage.g:4076:1: ( ':' ) 19034 // InternalSolverLanguage.g:5648:1: ( '[' )
12688 { 19035 {
12689 // InternalSolverLanguage.g:4076:1: ( ':' ) 19036 // InternalSolverLanguage.g:5648:1: ( '[' )
12690 // InternalSolverLanguage.g:4077:2: ':' 19037 // InternalSolverLanguage.g:5649:2: '['
12691 { 19038 {
12692 before(grammarAccess.getAllInstancesAccess().getColonKeyword_0()); 19039 if ( state.backtracking==0 ) {
12693 match(input,17,FOLLOW_2); 19040 before(grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0());
12694 after(grammarAccess.getAllInstancesAccess().getColonKeyword_0()); 19041 }
19042 match(input,63,FOLLOW_2); if (state.failed) return ;
19043 if ( state.backtracking==0 ) {
19044 after(grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0());
19045 }
12695 19046
12696 } 19047 }
12697 19048
@@ -12710,24 +19061,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12710 } 19061 }
12711 return ; 19062 return ;
12712 } 19063 }
12713 // $ANTLR end "rule__AllInstances__Group__0__Impl" 19064 // $ANTLR end "rule__Interval__Group__0__Impl"
12714 19065
12715 19066
12716 // $ANTLR start "rule__AllInstances__Group__1" 19067 // $ANTLR start "rule__Interval__Group__1"
12717 // InternalSolverLanguage.g:4086:1: rule__AllInstances__Group__1 : rule__AllInstances__Group__1__Impl ; 19068 // InternalSolverLanguage.g:5658:1: rule__Interval__Group__1 : rule__Interval__Group__1__Impl rule__Interval__Group__2 ;
12718 public final void rule__AllInstances__Group__1() throws RecognitionException { 19069 public final void rule__Interval__Group__1() throws RecognitionException {
12719 19070
12720 int stackSize = keepStackSize(); 19071 int stackSize = keepStackSize();
12721 19072
12722 try { 19073 try {
12723 // InternalSolverLanguage.g:4090:1: ( rule__AllInstances__Group__1__Impl ) 19074 // InternalSolverLanguage.g:5662:1: ( rule__Interval__Group__1__Impl rule__Interval__Group__2 )
12724 // InternalSolverLanguage.g:4091:2: rule__AllInstances__Group__1__Impl 19075 // InternalSolverLanguage.g:5663:2: rule__Interval__Group__1__Impl rule__Interval__Group__2
12725 { 19076 {
12726 pushFollow(FOLLOW_2); 19077 pushFollow(FOLLOW_39);
12727 rule__AllInstances__Group__1__Impl(); 19078 rule__Interval__Group__1__Impl();
12728 19079
12729 state._fsp--; 19080 state._fsp--;
19081 if (state.failed) return ;
19082 pushFollow(FOLLOW_2);
19083 rule__Interval__Group__2();
12730 19084
19085 state._fsp--;
19086 if (state.failed) return ;
12731 19087
12732 } 19088 }
12733 19089
@@ -12743,35 +19099,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12743 } 19099 }
12744 return ; 19100 return ;
12745 } 19101 }
12746 // $ANTLR end "rule__AllInstances__Group__1" 19102 // $ANTLR end "rule__Interval__Group__1"
12747 19103
12748 19104
12749 // $ANTLR start "rule__AllInstances__Group__1__Impl" 19105 // $ANTLR start "rule__Interval__Group__1__Impl"
12750 // InternalSolverLanguage.g:4097:1: rule__AllInstances__Group__1__Impl : ( ( rule__AllInstances__SymbolAssignment_1 ) ) ; 19106 // InternalSolverLanguage.g:5670:1: rule__Interval__Group__1__Impl : ( ( rule__Interval__LowerBoundAssignment_1 ) ) ;
12751 public final void rule__AllInstances__Group__1__Impl() throws RecognitionException { 19107 public final void rule__Interval__Group__1__Impl() throws RecognitionException {
12752 19108
12753 int stackSize = keepStackSize(); 19109 int stackSize = keepStackSize();
12754 19110
12755 try { 19111 try {
12756 // InternalSolverLanguage.g:4101:1: ( ( ( rule__AllInstances__SymbolAssignment_1 ) ) ) 19112 // InternalSolverLanguage.g:5674:1: ( ( ( rule__Interval__LowerBoundAssignment_1 ) ) )
12757 // InternalSolverLanguage.g:4102:1: ( ( rule__AllInstances__SymbolAssignment_1 ) ) 19113 // InternalSolverLanguage.g:5675:1: ( ( rule__Interval__LowerBoundAssignment_1 ) )
12758 { 19114 {
12759 // InternalSolverLanguage.g:4102:1: ( ( rule__AllInstances__SymbolAssignment_1 ) ) 19115 // InternalSolverLanguage.g:5675:1: ( ( rule__Interval__LowerBoundAssignment_1 ) )
12760 // InternalSolverLanguage.g:4103:2: ( rule__AllInstances__SymbolAssignment_1 ) 19116 // InternalSolverLanguage.g:5676:2: ( rule__Interval__LowerBoundAssignment_1 )
12761 { 19117 {
12762 before(grammarAccess.getAllInstancesAccess().getSymbolAssignment_1()); 19118 if ( state.backtracking==0 ) {
12763 // InternalSolverLanguage.g:4104:2: ( rule__AllInstances__SymbolAssignment_1 ) 19119 before(grammarAccess.getIntervalAccess().getLowerBoundAssignment_1());
12764 // InternalSolverLanguage.g:4104:3: rule__AllInstances__SymbolAssignment_1 19120 }
19121 // InternalSolverLanguage.g:5677:2: ( rule__Interval__LowerBoundAssignment_1 )
19122 // InternalSolverLanguage.g:5677:3: rule__Interval__LowerBoundAssignment_1
12765 { 19123 {
12766 pushFollow(FOLLOW_2); 19124 pushFollow(FOLLOW_2);
12767 rule__AllInstances__SymbolAssignment_1(); 19125 rule__Interval__LowerBoundAssignment_1();
12768 19126
12769 state._fsp--; 19127 state._fsp--;
12770 19128 if (state.failed) return ;
12771 19129
12772 } 19130 }
12773 19131
12774 after(grammarAccess.getAllInstancesAccess().getSymbolAssignment_1()); 19132 if ( state.backtracking==0 ) {
19133 after(grammarAccess.getIntervalAccess().getLowerBoundAssignment_1());
19134 }
12775 19135
12776 } 19136 }
12777 19137
@@ -12790,28 +19150,69 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12790 } 19150 }
12791 return ; 19151 return ;
12792 } 19152 }
12793 // $ANTLR end "rule__AllInstances__Group__1__Impl" 19153 // $ANTLR end "rule__Interval__Group__1__Impl"
12794 19154
12795 19155
12796 // $ANTLR start "rule__AllObjects__Group__0" 19156 // $ANTLR start "rule__Interval__Group__2"
12797 // InternalSolverLanguage.g:4113:1: rule__AllObjects__Group__0 : rule__AllObjects__Group__0__Impl rule__AllObjects__Group__1 ; 19157 // InternalSolverLanguage.g:5685:1: rule__Interval__Group__2 : rule__Interval__Group__2__Impl rule__Interval__Group__3 ;
12798 public final void rule__AllObjects__Group__0() throws RecognitionException { 19158 public final void rule__Interval__Group__2() throws RecognitionException {
12799 19159
12800 int stackSize = keepStackSize(); 19160 int stackSize = keepStackSize();
12801 19161
12802 try { 19162 try {
12803 // InternalSolverLanguage.g:4117:1: ( rule__AllObjects__Group__0__Impl rule__AllObjects__Group__1 ) 19163 // InternalSolverLanguage.g:5689:1: ( rule__Interval__Group__2__Impl rule__Interval__Group__3 )
12804 // InternalSolverLanguage.g:4118:2: rule__AllObjects__Group__0__Impl rule__AllObjects__Group__1 19164 // InternalSolverLanguage.g:5690:2: rule__Interval__Group__2__Impl rule__Interval__Group__3
12805 { 19165 {
12806 pushFollow(FOLLOW_16); 19166 pushFollow(FOLLOW_7);
12807 rule__AllObjects__Group__0__Impl(); 19167 rule__Interval__Group__2__Impl();
12808 19168
12809 state._fsp--; 19169 state._fsp--;
12810 19170 if (state.failed) return ;
12811 pushFollow(FOLLOW_2); 19171 pushFollow(FOLLOW_2);
12812 rule__AllObjects__Group__1(); 19172 rule__Interval__Group__3();
12813 19173
12814 state._fsp--; 19174 state._fsp--;
19175 if (state.failed) return ;
19176
19177 }
19178
19179 }
19180 catch (RecognitionException re) {
19181 reportError(re);
19182 recover(input,re);
19183 }
19184 finally {
19185
19186 restoreStackSize(stackSize);
19187
19188 }
19189 return ;
19190 }
19191 // $ANTLR end "rule__Interval__Group__2"
19192
19193
19194 // $ANTLR start "rule__Interval__Group__2__Impl"
19195 // InternalSolverLanguage.g:5697:1: rule__Interval__Group__2__Impl : ( '..' ) ;
19196 public final void rule__Interval__Group__2__Impl() throws RecognitionException {
19197
19198 int stackSize = keepStackSize();
19199
19200 try {
19201 // InternalSolverLanguage.g:5701:1: ( ( '..' ) )
19202 // InternalSolverLanguage.g:5702:1: ( '..' )
19203 {
19204 // InternalSolverLanguage.g:5702:1: ( '..' )
19205 // InternalSolverLanguage.g:5703:2: '..'
19206 {
19207 if ( state.backtracking==0 ) {
19208 before(grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2());
19209 }
19210 match(input,64,FOLLOW_2); if (state.failed) return ;
19211 if ( state.backtracking==0 ) {
19212 after(grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2());
19213 }
19214
19215 }
12815 19216
12816 19217
12817 } 19218 }
@@ -12828,29 +19229,77 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12828 } 19229 }
12829 return ; 19230 return ;
12830 } 19231 }
12831 // $ANTLR end "rule__AllObjects__Group__0" 19232 // $ANTLR end "rule__Interval__Group__2__Impl"
12832 19233
12833 19234
12834 // $ANTLR start "rule__AllObjects__Group__0__Impl" 19235 // $ANTLR start "rule__Interval__Group__3"
12835 // InternalSolverLanguage.g:4125:1: rule__AllObjects__Group__0__Impl : ( () ) ; 19236 // InternalSolverLanguage.g:5712:1: rule__Interval__Group__3 : rule__Interval__Group__3__Impl rule__Interval__Group__4 ;
12836 public final void rule__AllObjects__Group__0__Impl() throws RecognitionException { 19237 public final void rule__Interval__Group__3() throws RecognitionException {
12837 19238
12838 int stackSize = keepStackSize(); 19239 int stackSize = keepStackSize();
12839 19240
12840 try { 19241 try {
12841 // InternalSolverLanguage.g:4129:1: ( ( () ) ) 19242 // InternalSolverLanguage.g:5716:1: ( rule__Interval__Group__3__Impl rule__Interval__Group__4 )
12842 // InternalSolverLanguage.g:4130:1: ( () ) 19243 // InternalSolverLanguage.g:5717:2: rule__Interval__Group__3__Impl rule__Interval__Group__4
12843 { 19244 {
12844 // InternalSolverLanguage.g:4130:1: ( () ) 19245 pushFollow(FOLLOW_40);
12845 // InternalSolverLanguage.g:4131:2: () 19246 rule__Interval__Group__3__Impl();
19247
19248 state._fsp--;
19249 if (state.failed) return ;
19250 pushFollow(FOLLOW_2);
19251 rule__Interval__Group__4();
19252
19253 state._fsp--;
19254 if (state.failed) return ;
19255
19256 }
19257
19258 }
19259 catch (RecognitionException re) {
19260 reportError(re);
19261 recover(input,re);
19262 }
19263 finally {
19264
19265 restoreStackSize(stackSize);
19266
19267 }
19268 return ;
19269 }
19270 // $ANTLR end "rule__Interval__Group__3"
19271
19272
19273 // $ANTLR start "rule__Interval__Group__3__Impl"
19274 // InternalSolverLanguage.g:5724:1: rule__Interval__Group__3__Impl : ( ( rule__Interval__UpperBoundAssignment_3 ) ) ;
19275 public final void rule__Interval__Group__3__Impl() throws RecognitionException {
19276
19277 int stackSize = keepStackSize();
19278
19279 try {
19280 // InternalSolverLanguage.g:5728:1: ( ( ( rule__Interval__UpperBoundAssignment_3 ) ) )
19281 // InternalSolverLanguage.g:5729:1: ( ( rule__Interval__UpperBoundAssignment_3 ) )
12846 { 19282 {
12847 before(grammarAccess.getAllObjectsAccess().getAllObjectsAction_0()); 19283 // InternalSolverLanguage.g:5729:1: ( ( rule__Interval__UpperBoundAssignment_3 ) )
12848 // InternalSolverLanguage.g:4132:2: () 19284 // InternalSolverLanguage.g:5730:2: ( rule__Interval__UpperBoundAssignment_3 )
12849 // InternalSolverLanguage.g:4132:3:
12850 { 19285 {
19286 if ( state.backtracking==0 ) {
19287 before(grammarAccess.getIntervalAccess().getUpperBoundAssignment_3());
19288 }
19289 // InternalSolverLanguage.g:5731:2: ( rule__Interval__UpperBoundAssignment_3 )
19290 // InternalSolverLanguage.g:5731:3: rule__Interval__UpperBoundAssignment_3
19291 {
19292 pushFollow(FOLLOW_2);
19293 rule__Interval__UpperBoundAssignment_3();
19294
19295 state._fsp--;
19296 if (state.failed) return ;
19297
12851 } 19298 }
12852 19299
12853 after(grammarAccess.getAllObjectsAccess().getAllObjectsAction_0()); 19300 if ( state.backtracking==0 ) {
19301 after(grammarAccess.getIntervalAccess().getUpperBoundAssignment_3());
19302 }
12854 19303
12855 } 19304 }
12856 19305
@@ -12858,6 +19307,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12858 } 19307 }
12859 19308
12860 } 19309 }
19310 catch (RecognitionException re) {
19311 reportError(re);
19312 recover(input,re);
19313 }
12861 finally { 19314 finally {
12862 19315
12863 restoreStackSize(stackSize); 19316 restoreStackSize(stackSize);
@@ -12865,24 +19318,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12865 } 19318 }
12866 return ; 19319 return ;
12867 } 19320 }
12868 // $ANTLR end "rule__AllObjects__Group__0__Impl" 19321 // $ANTLR end "rule__Interval__Group__3__Impl"
12869 19322
12870 19323
12871 // $ANTLR start "rule__AllObjects__Group__1" 19324 // $ANTLR start "rule__Interval__Group__4"
12872 // InternalSolverLanguage.g:4140:1: rule__AllObjects__Group__1 : rule__AllObjects__Group__1__Impl ; 19325 // InternalSolverLanguage.g:5739:1: rule__Interval__Group__4 : rule__Interval__Group__4__Impl ;
12873 public final void rule__AllObjects__Group__1() throws RecognitionException { 19326 public final void rule__Interval__Group__4() throws RecognitionException {
12874 19327
12875 int stackSize = keepStackSize(); 19328 int stackSize = keepStackSize();
12876 19329
12877 try { 19330 try {
12878 // InternalSolverLanguage.g:4144:1: ( rule__AllObjects__Group__1__Impl ) 19331 // InternalSolverLanguage.g:5743:1: ( rule__Interval__Group__4__Impl )
12879 // InternalSolverLanguage.g:4145:2: rule__AllObjects__Group__1__Impl 19332 // InternalSolverLanguage.g:5744:2: rule__Interval__Group__4__Impl
12880 { 19333 {
12881 pushFollow(FOLLOW_2); 19334 pushFollow(FOLLOW_2);
12882 rule__AllObjects__Group__1__Impl(); 19335 rule__Interval__Group__4__Impl();
12883 19336
12884 state._fsp--; 19337 state._fsp--;
12885 19338 if (state.failed) return ;
12886 19339
12887 } 19340 }
12888 19341
@@ -12898,25 +19351,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12898 } 19351 }
12899 return ; 19352 return ;
12900 } 19353 }
12901 // $ANTLR end "rule__AllObjects__Group__1" 19354 // $ANTLR end "rule__Interval__Group__4"
12902 19355
12903 19356
12904 // $ANTLR start "rule__AllObjects__Group__1__Impl" 19357 // $ANTLR start "rule__Interval__Group__4__Impl"
12905 // InternalSolverLanguage.g:4151:1: rule__AllObjects__Group__1__Impl : ( '*' ) ; 19358 // InternalSolverLanguage.g:5750:1: rule__Interval__Group__4__Impl : ( ']' ) ;
12906 public final void rule__AllObjects__Group__1__Impl() throws RecognitionException { 19359 public final void rule__Interval__Group__4__Impl() throws RecognitionException {
12907 19360
12908 int stackSize = keepStackSize(); 19361 int stackSize = keepStackSize();
12909 19362
12910 try { 19363 try {
12911 // InternalSolverLanguage.g:4155:1: ( ( '*' ) ) 19364 // InternalSolverLanguage.g:5754:1: ( ( ']' ) )
12912 // InternalSolverLanguage.g:4156:1: ( '*' ) 19365 // InternalSolverLanguage.g:5755:1: ( ']' )
12913 { 19366 {
12914 // InternalSolverLanguage.g:4156:1: ( '*' ) 19367 // InternalSolverLanguage.g:5755:1: ( ']' )
12915 // InternalSolverLanguage.g:4157:2: '*' 19368 // InternalSolverLanguage.g:5756:2: ']'
12916 { 19369 {
12917 before(grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1()); 19370 if ( state.backtracking==0 ) {
12918 match(input,31,FOLLOW_2); 19371 before(grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4());
12919 after(grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1()); 19372 }
19373 match(input,65,FOLLOW_2); if (state.failed) return ;
19374 if ( state.backtracking==0 ) {
19375 after(grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4());
19376 }
12920 19377
12921 } 19378 }
12922 19379
@@ -12935,33 +19392,107 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12935 } 19392 }
12936 return ; 19393 return ;
12937 } 19394 }
12938 // $ANTLR end "rule__AllObjects__Group__1__Impl" 19395 // $ANTLR end "rule__Interval__Group__4__Impl"
12939 19396
12940 19397
12941 // $ANTLR start "rule__DefaultInterpretation__Group__0" 19398 // $ANTLR start "rule__InfinityLiteral__Group__0"
12942 // InternalSolverLanguage.g:4167:1: rule__DefaultInterpretation__Group__0 : rule__DefaultInterpretation__Group__0__Impl rule__DefaultInterpretation__Group__1 ; 19399 // InternalSolverLanguage.g:5766:1: rule__InfinityLiteral__Group__0 : rule__InfinityLiteral__Group__0__Impl rule__InfinityLiteral__Group__1 ;
12943 public final void rule__DefaultInterpretation__Group__0() throws RecognitionException { 19400 public final void rule__InfinityLiteral__Group__0() throws RecognitionException {
12944 19401
12945 int stackSize = keepStackSize(); 19402 int stackSize = keepStackSize();
12946 19403
12947 try { 19404 try {
12948 // InternalSolverLanguage.g:4171:1: ( rule__DefaultInterpretation__Group__0__Impl rule__DefaultInterpretation__Group__1 ) 19405 // InternalSolverLanguage.g:5770:1: ( rule__InfinityLiteral__Group__0__Impl rule__InfinityLiteral__Group__1 )
12949 // InternalSolverLanguage.g:4172:2: rule__DefaultInterpretation__Group__0__Impl rule__DefaultInterpretation__Group__1 19406 // InternalSolverLanguage.g:5771:2: rule__InfinityLiteral__Group__0__Impl rule__InfinityLiteral__Group__1
12950 { 19407 {
12951 pushFollow(FOLLOW_26); 19408 pushFollow(FOLLOW_41);
12952 rule__DefaultInterpretation__Group__0__Impl(); 19409 rule__InfinityLiteral__Group__0__Impl();
12953 19410
12954 state._fsp--; 19411 state._fsp--;
12955 19412 if (state.failed) return ;
12956 pushFollow(FOLLOW_2); 19413 pushFollow(FOLLOW_2);
12957 rule__DefaultInterpretation__Group__1(); 19414 rule__InfinityLiteral__Group__1();
12958 19415
12959 state._fsp--; 19416 state._fsp--;
19417 if (state.failed) return ;
19418
19419 }
19420
19421 }
19422 catch (RecognitionException re) {
19423 reportError(re);
19424 recover(input,re);
19425 }
19426 finally {
19427
19428 restoreStackSize(stackSize);
19429
19430 }
19431 return ;
19432 }
19433 // $ANTLR end "rule__InfinityLiteral__Group__0"
19434
19435
19436 // $ANTLR start "rule__InfinityLiteral__Group__0__Impl"
19437 // InternalSolverLanguage.g:5778:1: rule__InfinityLiteral__Group__0__Impl : ( () ) ;
19438 public final void rule__InfinityLiteral__Group__0__Impl() throws RecognitionException {
19439
19440 int stackSize = keepStackSize();
19441
19442 try {
19443 // InternalSolverLanguage.g:5782:1: ( ( () ) )
19444 // InternalSolverLanguage.g:5783:1: ( () )
19445 {
19446 // InternalSolverLanguage.g:5783:1: ( () )
19447 // InternalSolverLanguage.g:5784:2: ()
19448 {
19449 if ( state.backtracking==0 ) {
19450 before(grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0());
19451 }
19452 // InternalSolverLanguage.g:5785:2: ()
19453 // InternalSolverLanguage.g:5785:3:
19454 {
19455 }
19456
19457 if ( state.backtracking==0 ) {
19458 after(grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0());
19459 }
19460
19461 }
12960 19462
12961 19463
12962 } 19464 }
12963 19465
12964 } 19466 }
19467 finally {
19468
19469 restoreStackSize(stackSize);
19470
19471 }
19472 return ;
19473 }
19474 // $ANTLR end "rule__InfinityLiteral__Group__0__Impl"
19475
19476
19477 // $ANTLR start "rule__InfinityLiteral__Group__1"
19478 // InternalSolverLanguage.g:5793:1: rule__InfinityLiteral__Group__1 : rule__InfinityLiteral__Group__1__Impl ;
19479 public final void rule__InfinityLiteral__Group__1() throws RecognitionException {
19480
19481 int stackSize = keepStackSize();
19482
19483 try {
19484 // InternalSolverLanguage.g:5797:1: ( rule__InfinityLiteral__Group__1__Impl )
19485 // InternalSolverLanguage.g:5798:2: rule__InfinityLiteral__Group__1__Impl
19486 {
19487 pushFollow(FOLLOW_2);
19488 rule__InfinityLiteral__Group__1__Impl();
19489
19490 state._fsp--;
19491 if (state.failed) return ;
19492
19493 }
19494
19495 }
12965 catch (RecognitionException re) { 19496 catch (RecognitionException re) {
12966 reportError(re); 19497 reportError(re);
12967 recover(input,re); 19498 recover(input,re);
@@ -12973,25 +19504,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
12973 } 19504 }
12974 return ; 19505 return ;
12975 } 19506 }
12976 // $ANTLR end "rule__DefaultInterpretation__Group__0" 19507 // $ANTLR end "rule__InfinityLiteral__Group__1"
12977 19508
12978 19509
12979 // $ANTLR start "rule__DefaultInterpretation__Group__0__Impl" 19510 // $ANTLR start "rule__InfinityLiteral__Group__1__Impl"
12980 // InternalSolverLanguage.g:4179:1: rule__DefaultInterpretation__Group__0__Impl : ( 'default' ) ; 19511 // InternalSolverLanguage.g:5804:1: rule__InfinityLiteral__Group__1__Impl : ( 'inf' ) ;
12981 public final void rule__DefaultInterpretation__Group__0__Impl() throws RecognitionException { 19512 public final void rule__InfinityLiteral__Group__1__Impl() throws RecognitionException {
12982 19513
12983 int stackSize = keepStackSize(); 19514 int stackSize = keepStackSize();
12984 19515
12985 try { 19516 try {
12986 // InternalSolverLanguage.g:4183:1: ( ( 'default' ) ) 19517 // InternalSolverLanguage.g:5808:1: ( ( 'inf' ) )
12987 // InternalSolverLanguage.g:4184:1: ( 'default' ) 19518 // InternalSolverLanguage.g:5809:1: ( 'inf' )
12988 { 19519 {
12989 // InternalSolverLanguage.g:4184:1: ( 'default' ) 19520 // InternalSolverLanguage.g:5809:1: ( 'inf' )
12990 // InternalSolverLanguage.g:4185:2: 'default' 19521 // InternalSolverLanguage.g:5810:2: 'inf'
12991 { 19522 {
12992 before(grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0()); 19523 if ( state.backtracking==0 ) {
12993 match(input,32,FOLLOW_2); 19524 before(grammarAccess.getInfinityLiteralAccess().getInfKeyword_1());
12994 after(grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0()); 19525 }
19526 match(input,66,FOLLOW_2); if (state.failed) return ;
19527 if ( state.backtracking==0 ) {
19528 after(grammarAccess.getInfinityLiteralAccess().getInfKeyword_1());
19529 }
12995 19530
12996 } 19531 }
12997 19532
@@ -13010,24 +19545,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13010 } 19545 }
13011 return ; 19546 return ;
13012 } 19547 }
13013 // $ANTLR end "rule__DefaultInterpretation__Group__0__Impl" 19548 // $ANTLR end "rule__InfinityLiteral__Group__1__Impl"
13014 19549
13015 19550
13016 // $ANTLR start "rule__DefaultInterpretation__Group__1" 19551 // $ANTLR start "rule__EmptyIntervalLiteral__Group__0"
13017 // InternalSolverLanguage.g:4194:1: rule__DefaultInterpretation__Group__1 : rule__DefaultInterpretation__Group__1__Impl ; 19552 // InternalSolverLanguage.g:5820:1: rule__EmptyIntervalLiteral__Group__0 : rule__EmptyIntervalLiteral__Group__0__Impl rule__EmptyIntervalLiteral__Group__1 ;
13018 public final void rule__DefaultInterpretation__Group__1() throws RecognitionException { 19553 public final void rule__EmptyIntervalLiteral__Group__0() throws RecognitionException {
13019 19554
13020 int stackSize = keepStackSize(); 19555 int stackSize = keepStackSize();
13021 19556
13022 try { 19557 try {
13023 // InternalSolverLanguage.g:4198:1: ( rule__DefaultInterpretation__Group__1__Impl ) 19558 // InternalSolverLanguage.g:5824:1: ( rule__EmptyIntervalLiteral__Group__0__Impl rule__EmptyIntervalLiteral__Group__1 )
13024 // InternalSolverLanguage.g:4199:2: rule__DefaultInterpretation__Group__1__Impl 19559 // InternalSolverLanguage.g:5825:2: rule__EmptyIntervalLiteral__Group__0__Impl rule__EmptyIntervalLiteral__Group__1
13025 { 19560 {
13026 pushFollow(FOLLOW_2); 19561 pushFollow(FOLLOW_42);
13027 rule__DefaultInterpretation__Group__1__Impl(); 19562 rule__EmptyIntervalLiteral__Group__0__Impl();
13028 19563
13029 state._fsp--; 19564 state._fsp--;
19565 if (state.failed) return ;
19566 pushFollow(FOLLOW_2);
19567 rule__EmptyIntervalLiteral__Group__1();
13030 19568
19569 state._fsp--;
19570 if (state.failed) return ;
13031 19571
13032 } 19572 }
13033 19573
@@ -13043,35 +19583,103 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13043 } 19583 }
13044 return ; 19584 return ;
13045 } 19585 }
13046 // $ANTLR end "rule__DefaultInterpretation__Group__1" 19586 // $ANTLR end "rule__EmptyIntervalLiteral__Group__0"
13047 19587
13048 19588
13049 // $ANTLR start "rule__DefaultInterpretation__Group__1__Impl" 19589 // $ANTLR start "rule__EmptyIntervalLiteral__Group__0__Impl"
13050 // InternalSolverLanguage.g:4205:1: rule__DefaultInterpretation__Group__1__Impl : ( ( rule__DefaultInterpretation__InterpretationAssignment_1 ) ) ; 19590 // InternalSolverLanguage.g:5832:1: rule__EmptyIntervalLiteral__Group__0__Impl : ( () ) ;
13051 public final void rule__DefaultInterpretation__Group__1__Impl() throws RecognitionException { 19591 public final void rule__EmptyIntervalLiteral__Group__0__Impl() throws RecognitionException {
13052 19592
13053 int stackSize = keepStackSize(); 19593 int stackSize = keepStackSize();
13054 19594
13055 try { 19595 try {
13056 // InternalSolverLanguage.g:4209:1: ( ( ( rule__DefaultInterpretation__InterpretationAssignment_1 ) ) ) 19596 // InternalSolverLanguage.g:5836:1: ( ( () ) )
13057 // InternalSolverLanguage.g:4210:1: ( ( rule__DefaultInterpretation__InterpretationAssignment_1 ) ) 19597 // InternalSolverLanguage.g:5837:1: ( () )
13058 { 19598 {
13059 // InternalSolverLanguage.g:4210:1: ( ( rule__DefaultInterpretation__InterpretationAssignment_1 ) ) 19599 // InternalSolverLanguage.g:5837:1: ( () )
13060 // InternalSolverLanguage.g:4211:2: ( rule__DefaultInterpretation__InterpretationAssignment_1 ) 19600 // InternalSolverLanguage.g:5838:2: ()
13061 { 19601 {
13062 before(grammarAccess.getDefaultInterpretationAccess().getInterpretationAssignment_1()); 19602 if ( state.backtracking==0 ) {
13063 // InternalSolverLanguage.g:4212:2: ( rule__DefaultInterpretation__InterpretationAssignment_1 ) 19603 before(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0());
13064 // InternalSolverLanguage.g:4212:3: rule__DefaultInterpretation__InterpretationAssignment_1 19604 }
19605 // InternalSolverLanguage.g:5839:2: ()
19606 // InternalSolverLanguage.g:5839:3:
19607 {
19608 }
19609
19610 if ( state.backtracking==0 ) {
19611 after(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0());
19612 }
19613
19614 }
19615
19616
19617 }
19618
19619 }
19620 finally {
19621
19622 restoreStackSize(stackSize);
19623
19624 }
19625 return ;
19626 }
19627 // $ANTLR end "rule__EmptyIntervalLiteral__Group__0__Impl"
19628
19629
19630 // $ANTLR start "rule__EmptyIntervalLiteral__Group__1"
19631 // InternalSolverLanguage.g:5847:1: rule__EmptyIntervalLiteral__Group__1 : rule__EmptyIntervalLiteral__Group__1__Impl ;
19632 public final void rule__EmptyIntervalLiteral__Group__1() throws RecognitionException {
19633
19634 int stackSize = keepStackSize();
19635
19636 try {
19637 // InternalSolverLanguage.g:5851:1: ( rule__EmptyIntervalLiteral__Group__1__Impl )
19638 // InternalSolverLanguage.g:5852:2: rule__EmptyIntervalLiteral__Group__1__Impl
13065 { 19639 {
13066 pushFollow(FOLLOW_2); 19640 pushFollow(FOLLOW_2);
13067 rule__DefaultInterpretation__InterpretationAssignment_1(); 19641 rule__EmptyIntervalLiteral__Group__1__Impl();
13068 19642
13069 state._fsp--; 19643 state._fsp--;
13070 19644 if (state.failed) return ;
13071 19645
13072 } 19646 }
13073 19647
13074 after(grammarAccess.getDefaultInterpretationAccess().getInterpretationAssignment_1()); 19648 }
19649 catch (RecognitionException re) {
19650 reportError(re);
19651 recover(input,re);
19652 }
19653 finally {
19654
19655 restoreStackSize(stackSize);
19656
19657 }
19658 return ;
19659 }
19660 // $ANTLR end "rule__EmptyIntervalLiteral__Group__1"
19661
19662
19663 // $ANTLR start "rule__EmptyIntervalLiteral__Group__1__Impl"
19664 // InternalSolverLanguage.g:5858:1: rule__EmptyIntervalLiteral__Group__1__Impl : ( 'empty' ) ;
19665 public final void rule__EmptyIntervalLiteral__Group__1__Impl() throws RecognitionException {
19666
19667 int stackSize = keepStackSize();
19668
19669 try {
19670 // InternalSolverLanguage.g:5862:1: ( ( 'empty' ) )
19671 // InternalSolverLanguage.g:5863:1: ( 'empty' )
19672 {
19673 // InternalSolverLanguage.g:5863:1: ( 'empty' )
19674 // InternalSolverLanguage.g:5864:2: 'empty'
19675 {
19676 if ( state.backtracking==0 ) {
19677 before(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1());
19678 }
19679 match(input,67,FOLLOW_2); if (state.failed) return ;
19680 if ( state.backtracking==0 ) {
19681 after(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1());
19682 }
13075 19683
13076 } 19684 }
13077 19685
@@ -13090,29 +19698,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13090 } 19698 }
13091 return ; 19699 return ;
13092 } 19700 }
13093 // $ANTLR end "rule__DefaultInterpretation__Group__1__Impl" 19701 // $ANTLR end "rule__EmptyIntervalLiteral__Group__1__Impl"
13094 19702
13095 19703
13096 // $ANTLR start "rule__ClassInterpretation__Group__0" 19704 // $ANTLR start "rule__ClassDefinition__Group__0"
13097 // InternalSolverLanguage.g:4221:1: rule__ClassInterpretation__Group__0 : rule__ClassInterpretation__Group__0__Impl rule__ClassInterpretation__Group__1 ; 19705 // InternalSolverLanguage.g:5874:1: rule__ClassDefinition__Group__0 : rule__ClassDefinition__Group__0__Impl rule__ClassDefinition__Group__1 ;
13098 public final void rule__ClassInterpretation__Group__0() throws RecognitionException { 19706 public final void rule__ClassDefinition__Group__0() throws RecognitionException {
13099 19707
13100 int stackSize = keepStackSize(); 19708 int stackSize = keepStackSize();
13101 19709
13102 try { 19710 try {
13103 // InternalSolverLanguage.g:4225:1: ( rule__ClassInterpretation__Group__0__Impl rule__ClassInterpretation__Group__1 ) 19711 // InternalSolverLanguage.g:5878:1: ( rule__ClassDefinition__Group__0__Impl rule__ClassDefinition__Group__1 )
13104 // InternalSolverLanguage.g:4226:2: rule__ClassInterpretation__Group__0__Impl rule__ClassInterpretation__Group__1 19712 // InternalSolverLanguage.g:5879:2: rule__ClassDefinition__Group__0__Impl rule__ClassDefinition__Group__1
13105 { 19713 {
13106 pushFollow(FOLLOW_35); 19714 pushFollow(FOLLOW_43);
13107 rule__ClassInterpretation__Group__0__Impl(); 19715 rule__ClassDefinition__Group__0__Impl();
13108 19716
13109 state._fsp--; 19717 state._fsp--;
13110 19718 if (state.failed) return ;
13111 pushFollow(FOLLOW_2); 19719 pushFollow(FOLLOW_2);
13112 rule__ClassInterpretation__Group__1(); 19720 rule__ClassDefinition__Group__1();
13113 19721
13114 state._fsp--; 19722 state._fsp--;
13115 19723 if (state.failed) return ;
13116 19724
13117 } 19725 }
13118 19726
@@ -13128,46 +19736,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13128 } 19736 }
13129 return ; 19737 return ;
13130 } 19738 }
13131 // $ANTLR end "rule__ClassInterpretation__Group__0" 19739 // $ANTLR end "rule__ClassDefinition__Group__0"
13132 19740
13133 19741
13134 // $ANTLR start "rule__ClassInterpretation__Group__0__Impl" 19742 // $ANTLR start "rule__ClassDefinition__Group__0__Impl"
13135 // InternalSolverLanguage.g:4233:1: rule__ClassInterpretation__Group__0__Impl : ( ( rule__ClassInterpretation__AbstractAssignment_0 )? ) ; 19743 // InternalSolverLanguage.g:5886:1: rule__ClassDefinition__Group__0__Impl : ( ( rule__ClassDefinition__AbstractAssignment_0 )? ) ;
13136 public final void rule__ClassInterpretation__Group__0__Impl() throws RecognitionException { 19744 public final void rule__ClassDefinition__Group__0__Impl() throws RecognitionException {
13137 19745
13138 int stackSize = keepStackSize(); 19746 int stackSize = keepStackSize();
13139 19747
13140 try { 19748 try {
13141 // InternalSolverLanguage.g:4237:1: ( ( ( rule__ClassInterpretation__AbstractAssignment_0 )? ) ) 19749 // InternalSolverLanguage.g:5890:1: ( ( ( rule__ClassDefinition__AbstractAssignment_0 )? ) )
13142 // InternalSolverLanguage.g:4238:1: ( ( rule__ClassInterpretation__AbstractAssignment_0 )? ) 19750 // InternalSolverLanguage.g:5891:1: ( ( rule__ClassDefinition__AbstractAssignment_0 )? )
13143 { 19751 {
13144 // InternalSolverLanguage.g:4238:1: ( ( rule__ClassInterpretation__AbstractAssignment_0 )? ) 19752 // InternalSolverLanguage.g:5891:1: ( ( rule__ClassDefinition__AbstractAssignment_0 )? )
13145 // InternalSolverLanguage.g:4239:2: ( rule__ClassInterpretation__AbstractAssignment_0 )? 19753 // InternalSolverLanguage.g:5892:2: ( rule__ClassDefinition__AbstractAssignment_0 )?
13146 { 19754 {
13147 before(grammarAccess.getClassInterpretationAccess().getAbstractAssignment_0()); 19755 if ( state.backtracking==0 ) {
13148 // InternalSolverLanguage.g:4240:2: ( rule__ClassInterpretation__AbstractAssignment_0 )? 19756 before(grammarAccess.getClassDefinitionAccess().getAbstractAssignment_0());
13149 int alt38=2; 19757 }
13150 int LA38_0 = input.LA(1); 19758 // InternalSolverLanguage.g:5893:2: ( rule__ClassDefinition__AbstractAssignment_0 )?
19759 int alt43=2;
19760 int LA43_0 = input.LA(1);
13151 19761
13152 if ( (LA38_0==40) ) { 19762 if ( (LA43_0==73) ) {
13153 alt38=1; 19763 alt43=1;
13154 } 19764 }
13155 switch (alt38) { 19765 switch (alt43) {
13156 case 1 : 19766 case 1 :
13157 // InternalSolverLanguage.g:4240:3: rule__ClassInterpretation__AbstractAssignment_0 19767 // InternalSolverLanguage.g:5893:3: rule__ClassDefinition__AbstractAssignment_0
13158 { 19768 {
13159 pushFollow(FOLLOW_2); 19769 pushFollow(FOLLOW_2);
13160 rule__ClassInterpretation__AbstractAssignment_0(); 19770 rule__ClassDefinition__AbstractAssignment_0();
13161 19771
13162 state._fsp--; 19772 state._fsp--;
13163 19773 if (state.failed) return ;
13164 19774
13165 } 19775 }
13166 break; 19776 break;
13167 19777
13168 } 19778 }
13169 19779
13170 after(grammarAccess.getClassInterpretationAccess().getAbstractAssignment_0()); 19780 if ( state.backtracking==0 ) {
19781 after(grammarAccess.getClassDefinitionAccess().getAbstractAssignment_0());
19782 }
13171 19783
13172 } 19784 }
13173 19785
@@ -13186,29 +19798,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13186 } 19798 }
13187 return ; 19799 return ;
13188 } 19800 }
13189 // $ANTLR end "rule__ClassInterpretation__Group__0__Impl" 19801 // $ANTLR end "rule__ClassDefinition__Group__0__Impl"
13190 19802
13191 19803
13192 // $ANTLR start "rule__ClassInterpretation__Group__1" 19804 // $ANTLR start "rule__ClassDefinition__Group__1"
13193 // InternalSolverLanguage.g:4248:1: rule__ClassInterpretation__Group__1 : rule__ClassInterpretation__Group__1__Impl rule__ClassInterpretation__Group__2 ; 19805 // InternalSolverLanguage.g:5901:1: rule__ClassDefinition__Group__1 : rule__ClassDefinition__Group__1__Impl rule__ClassDefinition__Group__2 ;
13194 public final void rule__ClassInterpretation__Group__1() throws RecognitionException { 19806 public final void rule__ClassDefinition__Group__1() throws RecognitionException {
13195 19807
13196 int stackSize = keepStackSize(); 19808 int stackSize = keepStackSize();
13197 19809
13198 try { 19810 try {
13199 // InternalSolverLanguage.g:4252:1: ( rule__ClassInterpretation__Group__1__Impl rule__ClassInterpretation__Group__2 ) 19811 // InternalSolverLanguage.g:5905:1: ( rule__ClassDefinition__Group__1__Impl rule__ClassDefinition__Group__2 )
13200 // InternalSolverLanguage.g:4253:2: rule__ClassInterpretation__Group__1__Impl rule__ClassInterpretation__Group__2 19812 // InternalSolverLanguage.g:5906:2: rule__ClassDefinition__Group__1__Impl rule__ClassDefinition__Group__2
13201 { 19813 {
13202 pushFollow(FOLLOW_17); 19814 pushFollow(FOLLOW_44);
13203 rule__ClassInterpretation__Group__1__Impl(); 19815 rule__ClassDefinition__Group__1__Impl();
13204 19816
13205 state._fsp--; 19817 state._fsp--;
13206 19818 if (state.failed) return ;
13207 pushFollow(FOLLOW_2); 19819 pushFollow(FOLLOW_2);
13208 rule__ClassInterpretation__Group__2(); 19820 rule__ClassDefinition__Group__2();
13209 19821
13210 state._fsp--; 19822 state._fsp--;
13211 19823 if (state.failed) return ;
13212 19824
13213 } 19825 }
13214 19826
@@ -13224,25 +19836,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13224 } 19836 }
13225 return ; 19837 return ;
13226 } 19838 }
13227 // $ANTLR end "rule__ClassInterpretation__Group__1" 19839 // $ANTLR end "rule__ClassDefinition__Group__1"
13228 19840
13229 19841
13230 // $ANTLR start "rule__ClassInterpretation__Group__1__Impl" 19842 // $ANTLR start "rule__ClassDefinition__Group__1__Impl"
13231 // InternalSolverLanguage.g:4260:1: rule__ClassInterpretation__Group__1__Impl : ( 'class' ) ; 19843 // InternalSolverLanguage.g:5913:1: rule__ClassDefinition__Group__1__Impl : ( 'class' ) ;
13232 public final void rule__ClassInterpretation__Group__1__Impl() throws RecognitionException { 19844 public final void rule__ClassDefinition__Group__1__Impl() throws RecognitionException {
13233 19845
13234 int stackSize = keepStackSize(); 19846 int stackSize = keepStackSize();
13235 19847
13236 try { 19848 try {
13237 // InternalSolverLanguage.g:4264:1: ( ( 'class' ) ) 19849 // InternalSolverLanguage.g:5917:1: ( ( 'class' ) )
13238 // InternalSolverLanguage.g:4265:1: ( 'class' ) 19850 // InternalSolverLanguage.g:5918:1: ( 'class' )
13239 { 19851 {
13240 // InternalSolverLanguage.g:4265:1: ( 'class' ) 19852 // InternalSolverLanguage.g:5918:1: ( 'class' )
13241 // InternalSolverLanguage.g:4266:2: 'class' 19853 // InternalSolverLanguage.g:5919:2: 'class'
13242 { 19854 {
13243 before(grammarAccess.getClassInterpretationAccess().getClassKeyword_1()); 19855 if ( state.backtracking==0 ) {
13244 match(input,33,FOLLOW_2); 19856 before(grammarAccess.getClassDefinitionAccess().getClassKeyword_1());
13245 after(grammarAccess.getClassInterpretationAccess().getClassKeyword_1()); 19857 }
19858 match(input,68,FOLLOW_2); if (state.failed) return ;
19859 if ( state.backtracking==0 ) {
19860 after(grammarAccess.getClassDefinitionAccess().getClassKeyword_1());
19861 }
13246 19862
13247 } 19863 }
13248 19864
@@ -13261,29 +19877,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13261 } 19877 }
13262 return ; 19878 return ;
13263 } 19879 }
13264 // $ANTLR end "rule__ClassInterpretation__Group__1__Impl" 19880 // $ANTLR end "rule__ClassDefinition__Group__1__Impl"
13265 19881
13266 19882
13267 // $ANTLR start "rule__ClassInterpretation__Group__2" 19883 // $ANTLR start "rule__ClassDefinition__Group__2"
13268 // InternalSolverLanguage.g:4275:1: rule__ClassInterpretation__Group__2 : rule__ClassInterpretation__Group__2__Impl rule__ClassInterpretation__Group__3 ; 19884 // InternalSolverLanguage.g:5928:1: rule__ClassDefinition__Group__2 : rule__ClassDefinition__Group__2__Impl rule__ClassDefinition__Group__3 ;
13269 public final void rule__ClassInterpretation__Group__2() throws RecognitionException { 19885 public final void rule__ClassDefinition__Group__2() throws RecognitionException {
13270 19886
13271 int stackSize = keepStackSize(); 19887 int stackSize = keepStackSize();
13272 19888
13273 try { 19889 try {
13274 // InternalSolverLanguage.g:4279:1: ( rule__ClassInterpretation__Group__2__Impl rule__ClassInterpretation__Group__3 ) 19890 // InternalSolverLanguage.g:5932:1: ( rule__ClassDefinition__Group__2__Impl rule__ClassDefinition__Group__3 )
13275 // InternalSolverLanguage.g:4280:2: rule__ClassInterpretation__Group__2__Impl rule__ClassInterpretation__Group__3 19891 // InternalSolverLanguage.g:5933:2: rule__ClassDefinition__Group__2__Impl rule__ClassDefinition__Group__3
13276 { 19892 {
13277 pushFollow(FOLLOW_36); 19893 pushFollow(FOLLOW_45);
13278 rule__ClassInterpretation__Group__2__Impl(); 19894 rule__ClassDefinition__Group__2__Impl();
13279 19895
13280 state._fsp--; 19896 state._fsp--;
13281 19897 if (state.failed) return ;
13282 pushFollow(FOLLOW_2); 19898 pushFollow(FOLLOW_2);
13283 rule__ClassInterpretation__Group__3(); 19899 rule__ClassDefinition__Group__3();
13284 19900
13285 state._fsp--; 19901 state._fsp--;
13286 19902 if (state.failed) return ;
13287 19903
13288 } 19904 }
13289 19905
@@ -13299,35 +19915,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13299 } 19915 }
13300 return ; 19916 return ;
13301 } 19917 }
13302 // $ANTLR end "rule__ClassInterpretation__Group__2" 19918 // $ANTLR end "rule__ClassDefinition__Group__2"
13303 19919
13304 19920
13305 // $ANTLR start "rule__ClassInterpretation__Group__2__Impl" 19921 // $ANTLR start "rule__ClassDefinition__Group__2__Impl"
13306 // InternalSolverLanguage.g:4287:1: rule__ClassInterpretation__Group__2__Impl : ( ( rule__ClassInterpretation__SymbolAssignment_2 ) ) ; 19922 // InternalSolverLanguage.g:5940:1: rule__ClassDefinition__Group__2__Impl : ( ( rule__ClassDefinition__NameAssignment_2 ) ) ;
13307 public final void rule__ClassInterpretation__Group__2__Impl() throws RecognitionException { 19923 public final void rule__ClassDefinition__Group__2__Impl() throws RecognitionException {
13308 19924
13309 int stackSize = keepStackSize(); 19925 int stackSize = keepStackSize();
13310 19926
13311 try { 19927 try {
13312 // InternalSolverLanguage.g:4291:1: ( ( ( rule__ClassInterpretation__SymbolAssignment_2 ) ) ) 19928 // InternalSolverLanguage.g:5944:1: ( ( ( rule__ClassDefinition__NameAssignment_2 ) ) )
13313 // InternalSolverLanguage.g:4292:1: ( ( rule__ClassInterpretation__SymbolAssignment_2 ) ) 19929 // InternalSolverLanguage.g:5945:1: ( ( rule__ClassDefinition__NameAssignment_2 ) )
13314 { 19930 {
13315 // InternalSolverLanguage.g:4292:1: ( ( rule__ClassInterpretation__SymbolAssignment_2 ) ) 19931 // InternalSolverLanguage.g:5945:1: ( ( rule__ClassDefinition__NameAssignment_2 ) )
13316 // InternalSolverLanguage.g:4293:2: ( rule__ClassInterpretation__SymbolAssignment_2 ) 19932 // InternalSolverLanguage.g:5946:2: ( rule__ClassDefinition__NameAssignment_2 )
13317 { 19933 {
13318 before(grammarAccess.getClassInterpretationAccess().getSymbolAssignment_2()); 19934 if ( state.backtracking==0 ) {
13319 // InternalSolverLanguage.g:4294:2: ( rule__ClassInterpretation__SymbolAssignment_2 ) 19935 before(grammarAccess.getClassDefinitionAccess().getNameAssignment_2());
13320 // InternalSolverLanguage.g:4294:3: rule__ClassInterpretation__SymbolAssignment_2 19936 }
19937 // InternalSolverLanguage.g:5947:2: ( rule__ClassDefinition__NameAssignment_2 )
19938 // InternalSolverLanguage.g:5947:3: rule__ClassDefinition__NameAssignment_2
13321 { 19939 {
13322 pushFollow(FOLLOW_2); 19940 pushFollow(FOLLOW_2);
13323 rule__ClassInterpretation__SymbolAssignment_2(); 19941 rule__ClassDefinition__NameAssignment_2();
13324 19942
13325 state._fsp--; 19943 state._fsp--;
13326 19944 if (state.failed) return ;
13327 19945
13328 } 19946 }
13329 19947
13330 after(grammarAccess.getClassInterpretationAccess().getSymbolAssignment_2()); 19948 if ( state.backtracking==0 ) {
19949 after(grammarAccess.getClassDefinitionAccess().getNameAssignment_2());
19950 }
13331 19951
13332 } 19952 }
13333 19953
@@ -13346,29 +19966,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13346 } 19966 }
13347 return ; 19967 return ;
13348 } 19968 }
13349 // $ANTLR end "rule__ClassInterpretation__Group__2__Impl" 19969 // $ANTLR end "rule__ClassDefinition__Group__2__Impl"
13350 19970
13351 19971
13352 // $ANTLR start "rule__ClassInterpretation__Group__3" 19972 // $ANTLR start "rule__ClassDefinition__Group__3"
13353 // InternalSolverLanguage.g:4302:1: rule__ClassInterpretation__Group__3 : rule__ClassInterpretation__Group__3__Impl rule__ClassInterpretation__Group__4 ; 19973 // InternalSolverLanguage.g:5955:1: rule__ClassDefinition__Group__3 : rule__ClassDefinition__Group__3__Impl rule__ClassDefinition__Group__4 ;
13354 public final void rule__ClassInterpretation__Group__3() throws RecognitionException { 19974 public final void rule__ClassDefinition__Group__3() throws RecognitionException {
13355 19975
13356 int stackSize = keepStackSize(); 19976 int stackSize = keepStackSize();
13357 19977
13358 try { 19978 try {
13359 // InternalSolverLanguage.g:4306:1: ( rule__ClassInterpretation__Group__3__Impl rule__ClassInterpretation__Group__4 ) 19979 // InternalSolverLanguage.g:5959:1: ( rule__ClassDefinition__Group__3__Impl rule__ClassDefinition__Group__4 )
13360 // InternalSolverLanguage.g:4307:2: rule__ClassInterpretation__Group__3__Impl rule__ClassInterpretation__Group__4 19980 // InternalSolverLanguage.g:5960:2: rule__ClassDefinition__Group__3__Impl rule__ClassDefinition__Group__4
13361 { 19981 {
13362 pushFollow(FOLLOW_36); 19982 pushFollow(FOLLOW_45);
13363 rule__ClassInterpretation__Group__3__Impl(); 19983 rule__ClassDefinition__Group__3__Impl();
13364 19984
13365 state._fsp--; 19985 state._fsp--;
13366 19986 if (state.failed) return ;
13367 pushFollow(FOLLOW_2); 19987 pushFollow(FOLLOW_2);
13368 rule__ClassInterpretation__Group__4(); 19988 rule__ClassDefinition__Group__4();
13369 19989
13370 state._fsp--; 19990 state._fsp--;
13371 19991 if (state.failed) return ;
13372 19992
13373 } 19993 }
13374 19994
@@ -13384,46 +20004,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13384 } 20004 }
13385 return ; 20005 return ;
13386 } 20006 }
13387 // $ANTLR end "rule__ClassInterpretation__Group__3" 20007 // $ANTLR end "rule__ClassDefinition__Group__3"
13388 20008
13389 20009
13390 // $ANTLR start "rule__ClassInterpretation__Group__3__Impl" 20010 // $ANTLR start "rule__ClassDefinition__Group__3__Impl"
13391 // InternalSolverLanguage.g:4314:1: rule__ClassInterpretation__Group__3__Impl : ( ( rule__ClassInterpretation__Group_3__0 )? ) ; 20011 // InternalSolverLanguage.g:5967:1: rule__ClassDefinition__Group__3__Impl : ( ( rule__ClassDefinition__Group_3__0 )? ) ;
13392 public final void rule__ClassInterpretation__Group__3__Impl() throws RecognitionException { 20012 public final void rule__ClassDefinition__Group__3__Impl() throws RecognitionException {
13393 20013
13394 int stackSize = keepStackSize(); 20014 int stackSize = keepStackSize();
13395 20015
13396 try { 20016 try {
13397 // InternalSolverLanguage.g:4318:1: ( ( ( rule__ClassInterpretation__Group_3__0 )? ) ) 20017 // InternalSolverLanguage.g:5971:1: ( ( ( rule__ClassDefinition__Group_3__0 )? ) )
13398 // InternalSolverLanguage.g:4319:1: ( ( rule__ClassInterpretation__Group_3__0 )? ) 20018 // InternalSolverLanguage.g:5972:1: ( ( rule__ClassDefinition__Group_3__0 )? )
13399 { 20019 {
13400 // InternalSolverLanguage.g:4319:1: ( ( rule__ClassInterpretation__Group_3__0 )? ) 20020 // InternalSolverLanguage.g:5972:1: ( ( rule__ClassDefinition__Group_3__0 )? )
13401 // InternalSolverLanguage.g:4320:2: ( rule__ClassInterpretation__Group_3__0 )? 20021 // InternalSolverLanguage.g:5973:2: ( rule__ClassDefinition__Group_3__0 )?
13402 { 20022 {
13403 before(grammarAccess.getClassInterpretationAccess().getGroup_3()); 20023 if ( state.backtracking==0 ) {
13404 // InternalSolverLanguage.g:4321:2: ( rule__ClassInterpretation__Group_3__0 )? 20024 before(grammarAccess.getClassDefinitionAccess().getGroup_3());
13405 int alt39=2; 20025 }
13406 int LA39_0 = input.LA(1); 20026 // InternalSolverLanguage.g:5974:2: ( rule__ClassDefinition__Group_3__0 )?
20027 int alt44=2;
20028 int LA44_0 = input.LA(1);
13407 20029
13408 if ( (LA39_0==36) ) { 20030 if ( (LA44_0==69) ) {
13409 alt39=1; 20031 alt44=1;
13410 } 20032 }
13411 switch (alt39) { 20033 switch (alt44) {
13412 case 1 : 20034 case 1 :
13413 // InternalSolverLanguage.g:4321:3: rule__ClassInterpretation__Group_3__0 20035 // InternalSolverLanguage.g:5974:3: rule__ClassDefinition__Group_3__0
13414 { 20036 {
13415 pushFollow(FOLLOW_2); 20037 pushFollow(FOLLOW_2);
13416 rule__ClassInterpretation__Group_3__0(); 20038 rule__ClassDefinition__Group_3__0();
13417 20039
13418 state._fsp--; 20040 state._fsp--;
13419 20041 if (state.failed) return ;
13420 20042
13421 } 20043 }
13422 break; 20044 break;
13423 20045
13424 } 20046 }
13425 20047
13426 after(grammarAccess.getClassInterpretationAccess().getGroup_3()); 20048 if ( state.backtracking==0 ) {
20049 after(grammarAccess.getClassDefinitionAccess().getGroup_3());
20050 }
13427 20051
13428 } 20052 }
13429 20053
@@ -13442,29 +20066,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13442 } 20066 }
13443 return ; 20067 return ;
13444 } 20068 }
13445 // $ANTLR end "rule__ClassInterpretation__Group__3__Impl" 20069 // $ANTLR end "rule__ClassDefinition__Group__3__Impl"
13446 20070
13447 20071
13448 // $ANTLR start "rule__ClassInterpretation__Group__4" 20072 // $ANTLR start "rule__ClassDefinition__Group__4"
13449 // InternalSolverLanguage.g:4329:1: rule__ClassInterpretation__Group__4 : rule__ClassInterpretation__Group__4__Impl rule__ClassInterpretation__Group__5 ; 20073 // InternalSolverLanguage.g:5982:1: rule__ClassDefinition__Group__4 : rule__ClassDefinition__Group__4__Impl rule__ClassDefinition__Group__5 ;
13450 public final void rule__ClassInterpretation__Group__4() throws RecognitionException { 20074 public final void rule__ClassDefinition__Group__4() throws RecognitionException {
13451 20075
13452 int stackSize = keepStackSize(); 20076 int stackSize = keepStackSize();
13453 20077
13454 try { 20078 try {
13455 // InternalSolverLanguage.g:4333:1: ( rule__ClassInterpretation__Group__4__Impl rule__ClassInterpretation__Group__5 ) 20079 // InternalSolverLanguage.g:5986:1: ( rule__ClassDefinition__Group__4__Impl rule__ClassDefinition__Group__5 )
13456 // InternalSolverLanguage.g:4334:2: rule__ClassInterpretation__Group__4__Impl rule__ClassInterpretation__Group__5 20080 // InternalSolverLanguage.g:5987:2: rule__ClassDefinition__Group__4__Impl rule__ClassDefinition__Group__5
13457 { 20081 {
13458 pushFollow(FOLLOW_37); 20082 pushFollow(FOLLOW_46);
13459 rule__ClassInterpretation__Group__4__Impl(); 20083 rule__ClassDefinition__Group__4__Impl();
13460 20084
13461 state._fsp--; 20085 state._fsp--;
13462 20086 if (state.failed) return ;
13463 pushFollow(FOLLOW_2); 20087 pushFollow(FOLLOW_2);
13464 rule__ClassInterpretation__Group__5(); 20088 rule__ClassDefinition__Group__5();
13465 20089
13466 state._fsp--; 20090 state._fsp--;
13467 20091 if (state.failed) return ;
13468 20092
13469 } 20093 }
13470 20094
@@ -13480,25 +20104,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13480 } 20104 }
13481 return ; 20105 return ;
13482 } 20106 }
13483 // $ANTLR end "rule__ClassInterpretation__Group__4" 20107 // $ANTLR end "rule__ClassDefinition__Group__4"
13484 20108
13485 20109
13486 // $ANTLR start "rule__ClassInterpretation__Group__4__Impl" 20110 // $ANTLR start "rule__ClassDefinition__Group__4__Impl"
13487 // InternalSolverLanguage.g:4341:1: rule__ClassInterpretation__Group__4__Impl : ( '{' ) ; 20111 // InternalSolverLanguage.g:5994:1: rule__ClassDefinition__Group__4__Impl : ( '{' ) ;
13488 public final void rule__ClassInterpretation__Group__4__Impl() throws RecognitionException { 20112 public final void rule__ClassDefinition__Group__4__Impl() throws RecognitionException {
13489 20113
13490 int stackSize = keepStackSize(); 20114 int stackSize = keepStackSize();
13491 20115
13492 try { 20116 try {
13493 // InternalSolverLanguage.g:4345:1: ( ( '{' ) ) 20117 // InternalSolverLanguage.g:5998:1: ( ( '{' ) )
13494 // InternalSolverLanguage.g:4346:1: ( '{' ) 20118 // InternalSolverLanguage.g:5999:1: ( '{' )
13495 { 20119 {
13496 // InternalSolverLanguage.g:4346:1: ( '{' ) 20120 // InternalSolverLanguage.g:5999:1: ( '{' )
13497 // InternalSolverLanguage.g:4347:2: '{' 20121 // InternalSolverLanguage.g:6000:2: '{'
13498 { 20122 {
13499 before(grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4()); 20123 if ( state.backtracking==0 ) {
13500 match(input,34,FOLLOW_2); 20124 before(grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4());
13501 after(grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4()); 20125 }
20126 match(input,58,FOLLOW_2); if (state.failed) return ;
20127 if ( state.backtracking==0 ) {
20128 after(grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4());
20129 }
13502 20130
13503 } 20131 }
13504 20132
@@ -13517,29 +20145,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13517 } 20145 }
13518 return ; 20146 return ;
13519 } 20147 }
13520 // $ANTLR end "rule__ClassInterpretation__Group__4__Impl" 20148 // $ANTLR end "rule__ClassDefinition__Group__4__Impl"
13521 20149
13522 20150
13523 // $ANTLR start "rule__ClassInterpretation__Group__5" 20151 // $ANTLR start "rule__ClassDefinition__Group__5"
13524 // InternalSolverLanguage.g:4356:1: rule__ClassInterpretation__Group__5 : rule__ClassInterpretation__Group__5__Impl rule__ClassInterpretation__Group__6 ; 20152 // InternalSolverLanguage.g:6009:1: rule__ClassDefinition__Group__5 : rule__ClassDefinition__Group__5__Impl rule__ClassDefinition__Group__6 ;
13525 public final void rule__ClassInterpretation__Group__5() throws RecognitionException { 20153 public final void rule__ClassDefinition__Group__5() throws RecognitionException {
13526 20154
13527 int stackSize = keepStackSize(); 20155 int stackSize = keepStackSize();
13528 20156
13529 try { 20157 try {
13530 // InternalSolverLanguage.g:4360:1: ( rule__ClassInterpretation__Group__5__Impl rule__ClassInterpretation__Group__6 ) 20158 // InternalSolverLanguage.g:6013:1: ( rule__ClassDefinition__Group__5__Impl rule__ClassDefinition__Group__6 )
13531 // InternalSolverLanguage.g:4361:2: rule__ClassInterpretation__Group__5__Impl rule__ClassInterpretation__Group__6 20159 // InternalSolverLanguage.g:6014:2: rule__ClassDefinition__Group__5__Impl rule__ClassDefinition__Group__6
13532 { 20160 {
13533 pushFollow(FOLLOW_37); 20161 pushFollow(FOLLOW_46);
13534 rule__ClassInterpretation__Group__5__Impl(); 20162 rule__ClassDefinition__Group__5__Impl();
13535 20163
13536 state._fsp--; 20164 state._fsp--;
13537 20165 if (state.failed) return ;
13538 pushFollow(FOLLOW_2); 20166 pushFollow(FOLLOW_2);
13539 rule__ClassInterpretation__Group__6(); 20167 rule__ClassDefinition__Group__6();
13540 20168
13541 state._fsp--; 20169 state._fsp--;
13542 20170 if (state.failed) return ;
13543 20171
13544 } 20172 }
13545 20173
@@ -13555,53 +20183,57 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13555 } 20183 }
13556 return ; 20184 return ;
13557 } 20185 }
13558 // $ANTLR end "rule__ClassInterpretation__Group__5" 20186 // $ANTLR end "rule__ClassDefinition__Group__5"
13559 20187
13560 20188
13561 // $ANTLR start "rule__ClassInterpretation__Group__5__Impl" 20189 // $ANTLR start "rule__ClassDefinition__Group__5__Impl"
13562 // InternalSolverLanguage.g:4368:1: rule__ClassInterpretation__Group__5__Impl : ( ( rule__ClassInterpretation__FieltAssignment_5 )* ) ; 20190 // InternalSolverLanguage.g:6021:1: rule__ClassDefinition__Group__5__Impl : ( ( rule__ClassDefinition__MembersAssignment_5 )* ) ;
13563 public final void rule__ClassInterpretation__Group__5__Impl() throws RecognitionException { 20191 public final void rule__ClassDefinition__Group__5__Impl() throws RecognitionException {
13564 20192
13565 int stackSize = keepStackSize(); 20193 int stackSize = keepStackSize();
13566 20194
13567 try { 20195 try {
13568 // InternalSolverLanguage.g:4372:1: ( ( ( rule__ClassInterpretation__FieltAssignment_5 )* ) ) 20196 // InternalSolverLanguage.g:6025:1: ( ( ( rule__ClassDefinition__MembersAssignment_5 )* ) )
13569 // InternalSolverLanguage.g:4373:1: ( ( rule__ClassInterpretation__FieltAssignment_5 )* ) 20197 // InternalSolverLanguage.g:6026:1: ( ( rule__ClassDefinition__MembersAssignment_5 )* )
13570 { 20198 {
13571 // InternalSolverLanguage.g:4373:1: ( ( rule__ClassInterpretation__FieltAssignment_5 )* ) 20199 // InternalSolverLanguage.g:6026:1: ( ( rule__ClassDefinition__MembersAssignment_5 )* )
13572 // InternalSolverLanguage.g:4374:2: ( rule__ClassInterpretation__FieltAssignment_5 )* 20200 // InternalSolverLanguage.g:6027:2: ( rule__ClassDefinition__MembersAssignment_5 )*
13573 { 20201 {
13574 before(grammarAccess.getClassInterpretationAccess().getFieltAssignment_5()); 20202 if ( state.backtracking==0 ) {
13575 // InternalSolverLanguage.g:4375:2: ( rule__ClassInterpretation__FieltAssignment_5 )* 20203 before(grammarAccess.getClassDefinitionAccess().getMembersAssignment_5());
13576 loop40: 20204 }
20205 // InternalSolverLanguage.g:6028:2: ( rule__ClassDefinition__MembersAssignment_5 )*
20206 loop45:
13577 do { 20207 do {
13578 int alt40=2; 20208 int alt45=2;
13579 int LA40_0 = input.LA(1); 20209 int LA45_0 = input.LA(1);
13580 20210
13581 if ( (LA40_0==RULE_ID||LA40_0==41) ) { 20211 if ( (LA45_0==RULE_QUOTED_ID||LA45_0==RULE_ID||LA45_0==74) ) {
13582 alt40=1; 20212 alt45=1;
13583 } 20213 }
13584 20214
13585 20215
13586 switch (alt40) { 20216 switch (alt45) {
13587 case 1 : 20217 case 1 :
13588 // InternalSolverLanguage.g:4375:3: rule__ClassInterpretation__FieltAssignment_5 20218 // InternalSolverLanguage.g:6028:3: rule__ClassDefinition__MembersAssignment_5
13589 { 20219 {
13590 pushFollow(FOLLOW_38); 20220 pushFollow(FOLLOW_47);
13591 rule__ClassInterpretation__FieltAssignment_5(); 20221 rule__ClassDefinition__MembersAssignment_5();
13592 20222
13593 state._fsp--; 20223 state._fsp--;
13594 20224 if (state.failed) return ;
13595 20225
13596 } 20226 }
13597 break; 20227 break;
13598 20228
13599 default : 20229 default :
13600 break loop40; 20230 break loop45;
13601 } 20231 }
13602 } while (true); 20232 } while (true);
13603 20233
13604 after(grammarAccess.getClassInterpretationAccess().getFieltAssignment_5()); 20234 if ( state.backtracking==0 ) {
20235 after(grammarAccess.getClassDefinitionAccess().getMembersAssignment_5());
20236 }
13605 20237
13606 } 20238 }
13607 20239
@@ -13620,24 +20252,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13620 } 20252 }
13621 return ; 20253 return ;
13622 } 20254 }
13623 // $ANTLR end "rule__ClassInterpretation__Group__5__Impl" 20255 // $ANTLR end "rule__ClassDefinition__Group__5__Impl"
13624 20256
13625 20257
13626 // $ANTLR start "rule__ClassInterpretation__Group__6" 20258 // $ANTLR start "rule__ClassDefinition__Group__6"
13627 // InternalSolverLanguage.g:4383:1: rule__ClassInterpretation__Group__6 : rule__ClassInterpretation__Group__6__Impl ; 20259 // InternalSolverLanguage.g:6036:1: rule__ClassDefinition__Group__6 : rule__ClassDefinition__Group__6__Impl ;
13628 public final void rule__ClassInterpretation__Group__6() throws RecognitionException { 20260 public final void rule__ClassDefinition__Group__6() throws RecognitionException {
13629 20261
13630 int stackSize = keepStackSize(); 20262 int stackSize = keepStackSize();
13631 20263
13632 try { 20264 try {
13633 // InternalSolverLanguage.g:4387:1: ( rule__ClassInterpretation__Group__6__Impl ) 20265 // InternalSolverLanguage.g:6040:1: ( rule__ClassDefinition__Group__6__Impl )
13634 // InternalSolverLanguage.g:4388:2: rule__ClassInterpretation__Group__6__Impl 20266 // InternalSolverLanguage.g:6041:2: rule__ClassDefinition__Group__6__Impl
13635 { 20267 {
13636 pushFollow(FOLLOW_2); 20268 pushFollow(FOLLOW_2);
13637 rule__ClassInterpretation__Group__6__Impl(); 20269 rule__ClassDefinition__Group__6__Impl();
13638 20270
13639 state._fsp--; 20271 state._fsp--;
13640 20272 if (state.failed) return ;
13641 20273
13642 } 20274 }
13643 20275
@@ -13653,25 +20285,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13653 } 20285 }
13654 return ; 20286 return ;
13655 } 20287 }
13656 // $ANTLR end "rule__ClassInterpretation__Group__6" 20288 // $ANTLR end "rule__ClassDefinition__Group__6"
13657 20289
13658 20290
13659 // $ANTLR start "rule__ClassInterpretation__Group__6__Impl" 20291 // $ANTLR start "rule__ClassDefinition__Group__6__Impl"
13660 // InternalSolverLanguage.g:4394:1: rule__ClassInterpretation__Group__6__Impl : ( '}' ) ; 20292 // InternalSolverLanguage.g:6047:1: rule__ClassDefinition__Group__6__Impl : ( '}' ) ;
13661 public final void rule__ClassInterpretation__Group__6__Impl() throws RecognitionException { 20293 public final void rule__ClassDefinition__Group__6__Impl() throws RecognitionException {
13662 20294
13663 int stackSize = keepStackSize(); 20295 int stackSize = keepStackSize();
13664 20296
13665 try { 20297 try {
13666 // InternalSolverLanguage.g:4398:1: ( ( '}' ) ) 20298 // InternalSolverLanguage.g:6051:1: ( ( '}' ) )
13667 // InternalSolverLanguage.g:4399:1: ( '}' ) 20299 // InternalSolverLanguage.g:6052:1: ( '}' )
13668 { 20300 {
13669 // InternalSolverLanguage.g:4399:1: ( '}' ) 20301 // InternalSolverLanguage.g:6052:1: ( '}' )
13670 // InternalSolverLanguage.g:4400:2: '}' 20302 // InternalSolverLanguage.g:6053:2: '}'
13671 { 20303 {
13672 before(grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6()); 20304 if ( state.backtracking==0 ) {
13673 match(input,35,FOLLOW_2); 20305 before(grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6());
13674 after(grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6()); 20306 }
20307 match(input,59,FOLLOW_2); if (state.failed) return ;
20308 if ( state.backtracking==0 ) {
20309 after(grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6());
20310 }
13675 20311
13676 } 20312 }
13677 20313
@@ -13690,29 +20326,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13690 } 20326 }
13691 return ; 20327 return ;
13692 } 20328 }
13693 // $ANTLR end "rule__ClassInterpretation__Group__6__Impl" 20329 // $ANTLR end "rule__ClassDefinition__Group__6__Impl"
13694 20330
13695 20331
13696 // $ANTLR start "rule__ClassInterpretation__Group_3__0" 20332 // $ANTLR start "rule__ClassDefinition__Group_3__0"
13697 // InternalSolverLanguage.g:4410:1: rule__ClassInterpretation__Group_3__0 : rule__ClassInterpretation__Group_3__0__Impl rule__ClassInterpretation__Group_3__1 ; 20333 // InternalSolverLanguage.g:6063:1: rule__ClassDefinition__Group_3__0 : rule__ClassDefinition__Group_3__0__Impl rule__ClassDefinition__Group_3__1 ;
13698 public final void rule__ClassInterpretation__Group_3__0() throws RecognitionException { 20334 public final void rule__ClassDefinition__Group_3__0() throws RecognitionException {
13699 20335
13700 int stackSize = keepStackSize(); 20336 int stackSize = keepStackSize();
13701 20337
13702 try { 20338 try {
13703 // InternalSolverLanguage.g:4414:1: ( rule__ClassInterpretation__Group_3__0__Impl rule__ClassInterpretation__Group_3__1 ) 20339 // InternalSolverLanguage.g:6067:1: ( rule__ClassDefinition__Group_3__0__Impl rule__ClassDefinition__Group_3__1 )
13704 // InternalSolverLanguage.g:4415:2: rule__ClassInterpretation__Group_3__0__Impl rule__ClassInterpretation__Group_3__1 20340 // InternalSolverLanguage.g:6068:2: rule__ClassDefinition__Group_3__0__Impl rule__ClassDefinition__Group_3__1
13705 { 20341 {
13706 pushFollow(FOLLOW_17); 20342 pushFollow(FOLLOW_9);
13707 rule__ClassInterpretation__Group_3__0__Impl(); 20343 rule__ClassDefinition__Group_3__0__Impl();
13708 20344
13709 state._fsp--; 20345 state._fsp--;
13710 20346 if (state.failed) return ;
13711 pushFollow(FOLLOW_2); 20347 pushFollow(FOLLOW_2);
13712 rule__ClassInterpretation__Group_3__1(); 20348 rule__ClassDefinition__Group_3__1();
13713 20349
13714 state._fsp--; 20350 state._fsp--;
13715 20351 if (state.failed) return ;
13716 20352
13717 } 20353 }
13718 20354
@@ -13728,25 +20364,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13728 } 20364 }
13729 return ; 20365 return ;
13730 } 20366 }
13731 // $ANTLR end "rule__ClassInterpretation__Group_3__0" 20367 // $ANTLR end "rule__ClassDefinition__Group_3__0"
13732 20368
13733 20369
13734 // $ANTLR start "rule__ClassInterpretation__Group_3__0__Impl" 20370 // $ANTLR start "rule__ClassDefinition__Group_3__0__Impl"
13735 // InternalSolverLanguage.g:4422:1: rule__ClassInterpretation__Group_3__0__Impl : ( 'extends' ) ; 20371 // InternalSolverLanguage.g:6075:1: rule__ClassDefinition__Group_3__0__Impl : ( 'extends' ) ;
13736 public final void rule__ClassInterpretation__Group_3__0__Impl() throws RecognitionException { 20372 public final void rule__ClassDefinition__Group_3__0__Impl() throws RecognitionException {
13737 20373
13738 int stackSize = keepStackSize(); 20374 int stackSize = keepStackSize();
13739 20375
13740 try { 20376 try {
13741 // InternalSolverLanguage.g:4426:1: ( ( 'extends' ) ) 20377 // InternalSolverLanguage.g:6079:1: ( ( 'extends' ) )
13742 // InternalSolverLanguage.g:4427:1: ( 'extends' ) 20378 // InternalSolverLanguage.g:6080:1: ( 'extends' )
13743 { 20379 {
13744 // InternalSolverLanguage.g:4427:1: ( 'extends' ) 20380 // InternalSolverLanguage.g:6080:1: ( 'extends' )
13745 // InternalSolverLanguage.g:4428:2: 'extends' 20381 // InternalSolverLanguage.g:6081:2: 'extends'
13746 { 20382 {
13747 before(grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0()); 20383 if ( state.backtracking==0 ) {
13748 match(input,36,FOLLOW_2); 20384 before(grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0());
13749 after(grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0()); 20385 }
20386 match(input,69,FOLLOW_2); if (state.failed) return ;
20387 if ( state.backtracking==0 ) {
20388 after(grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0());
20389 }
13750 20390
13751 } 20391 }
13752 20392
@@ -13765,24 +20405,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13765 } 20405 }
13766 return ; 20406 return ;
13767 } 20407 }
13768 // $ANTLR end "rule__ClassInterpretation__Group_3__0__Impl" 20408 // $ANTLR end "rule__ClassDefinition__Group_3__0__Impl"
13769 20409
13770 20410
13771 // $ANTLR start "rule__ClassInterpretation__Group_3__1" 20411 // $ANTLR start "rule__ClassDefinition__Group_3__1"
13772 // InternalSolverLanguage.g:4437:1: rule__ClassInterpretation__Group_3__1 : rule__ClassInterpretation__Group_3__1__Impl ; 20412 // InternalSolverLanguage.g:6090:1: rule__ClassDefinition__Group_3__1 : rule__ClassDefinition__Group_3__1__Impl rule__ClassDefinition__Group_3__2 ;
13773 public final void rule__ClassInterpretation__Group_3__1() throws RecognitionException { 20413 public final void rule__ClassDefinition__Group_3__1() throws RecognitionException {
13774 20414
13775 int stackSize = keepStackSize(); 20415 int stackSize = keepStackSize();
13776 20416
13777 try { 20417 try {
13778 // InternalSolverLanguage.g:4441:1: ( rule__ClassInterpretation__Group_3__1__Impl ) 20418 // InternalSolverLanguage.g:6094:1: ( rule__ClassDefinition__Group_3__1__Impl rule__ClassDefinition__Group_3__2 )
13779 // InternalSolverLanguage.g:4442:2: rule__ClassInterpretation__Group_3__1__Impl 20419 // InternalSolverLanguage.g:6095:2: rule__ClassDefinition__Group_3__1__Impl rule__ClassDefinition__Group_3__2
13780 { 20420 {
13781 pushFollow(FOLLOW_2); 20421 pushFollow(FOLLOW_22);
13782 rule__ClassInterpretation__Group_3__1__Impl(); 20422 rule__ClassDefinition__Group_3__1__Impl();
13783 20423
13784 state._fsp--; 20424 state._fsp--;
20425 if (state.failed) return ;
20426 pushFollow(FOLLOW_2);
20427 rule__ClassDefinition__Group_3__2();
13785 20428
20429 state._fsp--;
20430 if (state.failed) return ;
13786 20431
13787 } 20432 }
13788 20433
@@ -13798,81 +20443,182 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13798 } 20443 }
13799 return ; 20444 return ;
13800 } 20445 }
13801 // $ANTLR end "rule__ClassInterpretation__Group_3__1" 20446 // $ANTLR end "rule__ClassDefinition__Group_3__1"
13802 20447
13803 20448
13804 // $ANTLR start "rule__ClassInterpretation__Group_3__1__Impl" 20449 // $ANTLR start "rule__ClassDefinition__Group_3__1__Impl"
13805 // InternalSolverLanguage.g:4448:1: rule__ClassInterpretation__Group_3__1__Impl : ( ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 ) ) ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 )* ) ) ; 20450 // InternalSolverLanguage.g:6102:1: rule__ClassDefinition__Group_3__1__Impl : ( ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) ) ;
13806 public final void rule__ClassInterpretation__Group_3__1__Impl() throws RecognitionException { 20451 public final void rule__ClassDefinition__Group_3__1__Impl() throws RecognitionException {
13807 20452
13808 int stackSize = keepStackSize(); 20453 int stackSize = keepStackSize();
13809 20454
13810 try { 20455 try {
13811 // InternalSolverLanguage.g:4452:1: ( ( ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 ) ) ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 )* ) ) ) 20456 // InternalSolverLanguage.g:6106:1: ( ( ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) ) )
13812 // InternalSolverLanguage.g:4453:1: ( ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 ) ) ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 )* ) ) 20457 // InternalSolverLanguage.g:6107:1: ( ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) )
13813 {
13814 // InternalSolverLanguage.g:4453:1: ( ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 ) ) ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 )* ) )
13815 // InternalSolverLanguage.g:4454:2: ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 ) ) ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 )* )
13816 { 20458 {
13817 // InternalSolverLanguage.g:4454:2: ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 ) ) 20459 // InternalSolverLanguage.g:6107:1: ( ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) )
13818 // InternalSolverLanguage.g:4455:3: ( rule__ClassInterpretation__SupertypesAssignment_3_1 ) 20460 // InternalSolverLanguage.g:6108:2: ( rule__ClassDefinition__SuperclassesAssignment_3_1 )
13819 { 20461 {
13820 before(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); 20462 if ( state.backtracking==0 ) {
13821 // InternalSolverLanguage.g:4456:3: ( rule__ClassInterpretation__SupertypesAssignment_3_1 ) 20463 before(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_1());
13822 // InternalSolverLanguage.g:4456:4: rule__ClassInterpretation__SupertypesAssignment_3_1 20464 }
20465 // InternalSolverLanguage.g:6109:2: ( rule__ClassDefinition__SuperclassesAssignment_3_1 )
20466 // InternalSolverLanguage.g:6109:3: rule__ClassDefinition__SuperclassesAssignment_3_1
13823 { 20467 {
13824 pushFollow(FOLLOW_39); 20468 pushFollow(FOLLOW_2);
13825 rule__ClassInterpretation__SupertypesAssignment_3_1(); 20469 rule__ClassDefinition__SuperclassesAssignment_3_1();
13826 20470
13827 state._fsp--; 20471 state._fsp--;
20472 if (state.failed) return ;
20473
20474 }
13828 20475
20476 if ( state.backtracking==0 ) {
20477 after(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_1());
20478 }
13829 20479
13830 } 20480 }
13831 20481
13832 after(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1());
13833 20482
13834 } 20483 }
13835 20484
13836 // InternalSolverLanguage.g:4459:2: ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 )* ) 20485 }
13837 // InternalSolverLanguage.g:4460:3: ( rule__ClassInterpretation__SupertypesAssignment_3_1 )* 20486 catch (RecognitionException re) {
20487 reportError(re);
20488 recover(input,re);
20489 }
20490 finally {
20491
20492 restoreStackSize(stackSize);
20493
20494 }
20495 return ;
20496 }
20497 // $ANTLR end "rule__ClassDefinition__Group_3__1__Impl"
20498
20499
20500 // $ANTLR start "rule__ClassDefinition__Group_3__2"
20501 // InternalSolverLanguage.g:6117:1: rule__ClassDefinition__Group_3__2 : rule__ClassDefinition__Group_3__2__Impl ;
20502 public final void rule__ClassDefinition__Group_3__2() throws RecognitionException {
20503
20504 int stackSize = keepStackSize();
20505
20506 try {
20507 // InternalSolverLanguage.g:6121:1: ( rule__ClassDefinition__Group_3__2__Impl )
20508 // InternalSolverLanguage.g:6122:2: rule__ClassDefinition__Group_3__2__Impl
20509 {
20510 pushFollow(FOLLOW_2);
20511 rule__ClassDefinition__Group_3__2__Impl();
20512
20513 state._fsp--;
20514 if (state.failed) return ;
20515
20516 }
20517
20518 }
20519 catch (RecognitionException re) {
20520 reportError(re);
20521 recover(input,re);
20522 }
20523 finally {
20524
20525 restoreStackSize(stackSize);
20526
20527 }
20528 return ;
20529 }
20530 // $ANTLR end "rule__ClassDefinition__Group_3__2"
20531
20532
20533 // $ANTLR start "rule__ClassDefinition__Group_3__2__Impl"
20534 // InternalSolverLanguage.g:6128:1: rule__ClassDefinition__Group_3__2__Impl : ( ( rule__ClassDefinition__Group_3_2__0 )* ) ;
20535 public final void rule__ClassDefinition__Group_3__2__Impl() throws RecognitionException {
20536
20537 int stackSize = keepStackSize();
20538
20539 try {
20540 // InternalSolverLanguage.g:6132:1: ( ( ( rule__ClassDefinition__Group_3_2__0 )* ) )
20541 // InternalSolverLanguage.g:6133:1: ( ( rule__ClassDefinition__Group_3_2__0 )* )
20542 {
20543 // InternalSolverLanguage.g:6133:1: ( ( rule__ClassDefinition__Group_3_2__0 )* )
20544 // InternalSolverLanguage.g:6134:2: ( rule__ClassDefinition__Group_3_2__0 )*
13838 { 20545 {
13839 before(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); 20546 if ( state.backtracking==0 ) {
13840 // InternalSolverLanguage.g:4461:3: ( rule__ClassInterpretation__SupertypesAssignment_3_1 )* 20547 before(grammarAccess.getClassDefinitionAccess().getGroup_3_2());
13841 loop41: 20548 }
20549 // InternalSolverLanguage.g:6135:2: ( rule__ClassDefinition__Group_3_2__0 )*
20550 loop46:
13842 do { 20551 do {
13843 int alt41=2; 20552 int alt46=2;
13844 int LA41_0 = input.LA(1); 20553 int LA46_0 = input.LA(1);
13845 20554
13846 if ( (LA41_0==RULE_ID) ) { 20555 if ( (LA46_0==56) ) {
13847 alt41=1; 20556 alt46=1;
13848 } 20557 }
13849 20558
13850 20559
13851 switch (alt41) { 20560 switch (alt46) {
13852 case 1 : 20561 case 1 :
13853 // InternalSolverLanguage.g:4461:4: rule__ClassInterpretation__SupertypesAssignment_3_1 20562 // InternalSolverLanguage.g:6135:3: rule__ClassDefinition__Group_3_2__0
13854 { 20563 {
13855 pushFollow(FOLLOW_39); 20564 pushFollow(FOLLOW_23);
13856 rule__ClassInterpretation__SupertypesAssignment_3_1(); 20565 rule__ClassDefinition__Group_3_2__0();
13857 20566
13858 state._fsp--; 20567 state._fsp--;
13859 20568 if (state.failed) return ;
13860 20569
13861 } 20570 }
13862 break; 20571 break;
13863 20572
13864 default : 20573 default :
13865 break loop41; 20574 break loop46;
13866 } 20575 }
13867 } while (true); 20576 } while (true);
13868 20577
13869 after(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); 20578 if ( state.backtracking==0 ) {
20579 after(grammarAccess.getClassDefinitionAccess().getGroup_3_2());
20580 }
13870 20581
13871 } 20582 }
13872 20583
13873 20584
13874 } 20585 }
13875 20586
20587 }
20588 catch (RecognitionException re) {
20589 reportError(re);
20590 recover(input,re);
20591 }
20592 finally {
20593
20594 restoreStackSize(stackSize);
20595
20596 }
20597 return ;
20598 }
20599 // $ANTLR end "rule__ClassDefinition__Group_3__2__Impl"
20600
20601
20602 // $ANTLR start "rule__ClassDefinition__Group_3_2__0"
20603 // InternalSolverLanguage.g:6144:1: rule__ClassDefinition__Group_3_2__0 : rule__ClassDefinition__Group_3_2__0__Impl rule__ClassDefinition__Group_3_2__1 ;
20604 public final void rule__ClassDefinition__Group_3_2__0() throws RecognitionException {
20605
20606 int stackSize = keepStackSize();
20607
20608 try {
20609 // InternalSolverLanguage.g:6148:1: ( rule__ClassDefinition__Group_3_2__0__Impl rule__ClassDefinition__Group_3_2__1 )
20610 // InternalSolverLanguage.g:6149:2: rule__ClassDefinition__Group_3_2__0__Impl rule__ClassDefinition__Group_3_2__1
20611 {
20612 pushFollow(FOLLOW_9);
20613 rule__ClassDefinition__Group_3_2__0__Impl();
20614
20615 state._fsp--;
20616 if (state.failed) return ;
20617 pushFollow(FOLLOW_2);
20618 rule__ClassDefinition__Group_3_2__1();
20619
20620 state._fsp--;
20621 if (state.failed) return ;
13876 20622
13877 } 20623 }
13878 20624
@@ -13888,28 +20634,115 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13888 } 20634 }
13889 return ; 20635 return ;
13890 } 20636 }
13891 // $ANTLR end "rule__ClassInterpretation__Group_3__1__Impl" 20637 // $ANTLR end "rule__ClassDefinition__Group_3_2__0"
13892 20638
13893 20639
13894 // $ANTLR start "rule__EnumInterpretation__Group__0" 20640 // $ANTLR start "rule__ClassDefinition__Group_3_2__0__Impl"
13895 // InternalSolverLanguage.g:4471:1: rule__EnumInterpretation__Group__0 : rule__EnumInterpretation__Group__0__Impl rule__EnumInterpretation__Group__1 ; 20641 // InternalSolverLanguage.g:6156:1: rule__ClassDefinition__Group_3_2__0__Impl : ( ',' ) ;
13896 public final void rule__EnumInterpretation__Group__0() throws RecognitionException { 20642 public final void rule__ClassDefinition__Group_3_2__0__Impl() throws RecognitionException {
13897 20643
13898 int stackSize = keepStackSize(); 20644 int stackSize = keepStackSize();
13899 20645
13900 try { 20646 try {
13901 // InternalSolverLanguage.g:4475:1: ( rule__EnumInterpretation__Group__0__Impl rule__EnumInterpretation__Group__1 ) 20647 // InternalSolverLanguage.g:6160:1: ( ( ',' ) )
13902 // InternalSolverLanguage.g:4476:2: rule__EnumInterpretation__Group__0__Impl rule__EnumInterpretation__Group__1 20648 // InternalSolverLanguage.g:6161:1: ( ',' )
13903 { 20649 {
13904 pushFollow(FOLLOW_17); 20650 // InternalSolverLanguage.g:6161:1: ( ',' )
13905 rule__EnumInterpretation__Group__0__Impl(); 20651 // InternalSolverLanguage.g:6162:2: ','
20652 {
20653 if ( state.backtracking==0 ) {
20654 before(grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0());
20655 }
20656 match(input,56,FOLLOW_2); if (state.failed) return ;
20657 if ( state.backtracking==0 ) {
20658 after(grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0());
20659 }
20660
20661 }
20662
20663
20664 }
20665
20666 }
20667 catch (RecognitionException re) {
20668 reportError(re);
20669 recover(input,re);
20670 }
20671 finally {
20672
20673 restoreStackSize(stackSize);
20674
20675 }
20676 return ;
20677 }
20678 // $ANTLR end "rule__ClassDefinition__Group_3_2__0__Impl"
20679
20680
20681 // $ANTLR start "rule__ClassDefinition__Group_3_2__1"
20682 // InternalSolverLanguage.g:6171:1: rule__ClassDefinition__Group_3_2__1 : rule__ClassDefinition__Group_3_2__1__Impl ;
20683 public final void rule__ClassDefinition__Group_3_2__1() throws RecognitionException {
20684
20685 int stackSize = keepStackSize();
20686
20687 try {
20688 // InternalSolverLanguage.g:6175:1: ( rule__ClassDefinition__Group_3_2__1__Impl )
20689 // InternalSolverLanguage.g:6176:2: rule__ClassDefinition__Group_3_2__1__Impl
20690 {
20691 pushFollow(FOLLOW_2);
20692 rule__ClassDefinition__Group_3_2__1__Impl();
13906 20693
13907 state._fsp--; 20694 state._fsp--;
20695 if (state.failed) return ;
20696
20697 }
20698
20699 }
20700 catch (RecognitionException re) {
20701 reportError(re);
20702 recover(input,re);
20703 }
20704 finally {
20705
20706 restoreStackSize(stackSize);
20707
20708 }
20709 return ;
20710 }
20711 // $ANTLR end "rule__ClassDefinition__Group_3_2__1"
20712
20713
20714 // $ANTLR start "rule__ClassDefinition__Group_3_2__1__Impl"
20715 // InternalSolverLanguage.g:6182:1: rule__ClassDefinition__Group_3_2__1__Impl : ( ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) ) ;
20716 public final void rule__ClassDefinition__Group_3_2__1__Impl() throws RecognitionException {
13908 20717
20718 int stackSize = keepStackSize();
20719
20720 try {
20721 // InternalSolverLanguage.g:6186:1: ( ( ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) ) )
20722 // InternalSolverLanguage.g:6187:1: ( ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) )
20723 {
20724 // InternalSolverLanguage.g:6187:1: ( ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) )
20725 // InternalSolverLanguage.g:6188:2: ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 )
20726 {
20727 if ( state.backtracking==0 ) {
20728 before(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_2_1());
20729 }
20730 // InternalSolverLanguage.g:6189:2: ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 )
20731 // InternalSolverLanguage.g:6189:3: rule__ClassDefinition__SuperclassesAssignment_3_2_1
20732 {
13909 pushFollow(FOLLOW_2); 20733 pushFollow(FOLLOW_2);
13910 rule__EnumInterpretation__Group__1(); 20734 rule__ClassDefinition__SuperclassesAssignment_3_2_1();
13911 20735
13912 state._fsp--; 20736 state._fsp--;
20737 if (state.failed) return ;
20738
20739 }
20740
20741 if ( state.backtracking==0 ) {
20742 after(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_2_1());
20743 }
20744
20745 }
13913 20746
13914 20747
13915 } 20748 }
@@ -13926,25 +20759,88 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13926 } 20759 }
13927 return ; 20760 return ;
13928 } 20761 }
13929 // $ANTLR end "rule__EnumInterpretation__Group__0" 20762 // $ANTLR end "rule__ClassDefinition__Group_3_2__1__Impl"
13930 20763
13931 20764
13932 // $ANTLR start "rule__EnumInterpretation__Group__0__Impl" 20765 // $ANTLR start "rule__MemberDefinition__Group__0"
13933 // InternalSolverLanguage.g:4483:1: rule__EnumInterpretation__Group__0__Impl : ( 'enum' ) ; 20766 // InternalSolverLanguage.g:6198:1: rule__MemberDefinition__Group__0 : rule__MemberDefinition__Group__0__Impl rule__MemberDefinition__Group__1 ;
13934 public final void rule__EnumInterpretation__Group__0__Impl() throws RecognitionException { 20767 public final void rule__MemberDefinition__Group__0() throws RecognitionException {
13935 20768
13936 int stackSize = keepStackSize(); 20769 int stackSize = keepStackSize();
13937 20770
13938 try { 20771 try {
13939 // InternalSolverLanguage.g:4487:1: ( ( 'enum' ) ) 20772 // InternalSolverLanguage.g:6202:1: ( rule__MemberDefinition__Group__0__Impl rule__MemberDefinition__Group__1 )
13940 // InternalSolverLanguage.g:4488:1: ( 'enum' ) 20773 // InternalSolverLanguage.g:6203:2: rule__MemberDefinition__Group__0__Impl rule__MemberDefinition__Group__1
13941 { 20774 {
13942 // InternalSolverLanguage.g:4488:1: ( 'enum' ) 20775 pushFollow(FOLLOW_48);
13943 // InternalSolverLanguage.g:4489:2: 'enum' 20776 rule__MemberDefinition__Group__0__Impl();
20777
20778 state._fsp--;
20779 if (state.failed) return ;
20780 pushFollow(FOLLOW_2);
20781 rule__MemberDefinition__Group__1();
20782
20783 state._fsp--;
20784 if (state.failed) return ;
20785
20786 }
20787
20788 }
20789 catch (RecognitionException re) {
20790 reportError(re);
20791 recover(input,re);
20792 }
20793 finally {
20794
20795 restoreStackSize(stackSize);
20796
20797 }
20798 return ;
20799 }
20800 // $ANTLR end "rule__MemberDefinition__Group__0"
20801
20802
20803 // $ANTLR start "rule__MemberDefinition__Group__0__Impl"
20804 // InternalSolverLanguage.g:6210:1: rule__MemberDefinition__Group__0__Impl : ( ( rule__MemberDefinition__ContainmentAssignment_0 )? ) ;
20805 public final void rule__MemberDefinition__Group__0__Impl() throws RecognitionException {
20806
20807 int stackSize = keepStackSize();
20808
20809 try {
20810 // InternalSolverLanguage.g:6214:1: ( ( ( rule__MemberDefinition__ContainmentAssignment_0 )? ) )
20811 // InternalSolverLanguage.g:6215:1: ( ( rule__MemberDefinition__ContainmentAssignment_0 )? )
13944 { 20812 {
13945 before(grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0()); 20813 // InternalSolverLanguage.g:6215:1: ( ( rule__MemberDefinition__ContainmentAssignment_0 )? )
13946 match(input,37,FOLLOW_2); 20814 // InternalSolverLanguage.g:6216:2: ( rule__MemberDefinition__ContainmentAssignment_0 )?
13947 after(grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0()); 20815 {
20816 if ( state.backtracking==0 ) {
20817 before(grammarAccess.getMemberDefinitionAccess().getContainmentAssignment_0());
20818 }
20819 // InternalSolverLanguage.g:6217:2: ( rule__MemberDefinition__ContainmentAssignment_0 )?
20820 int alt47=2;
20821 int LA47_0 = input.LA(1);
20822
20823 if ( (LA47_0==74) ) {
20824 alt47=1;
20825 }
20826 switch (alt47) {
20827 case 1 :
20828 // InternalSolverLanguage.g:6217:3: rule__MemberDefinition__ContainmentAssignment_0
20829 {
20830 pushFollow(FOLLOW_2);
20831 rule__MemberDefinition__ContainmentAssignment_0();
20832
20833 state._fsp--;
20834 if (state.failed) return ;
20835
20836 }
20837 break;
20838
20839 }
20840
20841 if ( state.backtracking==0 ) {
20842 after(grammarAccess.getMemberDefinitionAccess().getContainmentAssignment_0());
20843 }
13948 20844
13949 } 20845 }
13950 20846
@@ -13963,29 +20859,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
13963 } 20859 }
13964 return ; 20860 return ;
13965 } 20861 }
13966 // $ANTLR end "rule__EnumInterpretation__Group__0__Impl" 20862 // $ANTLR end "rule__MemberDefinition__Group__0__Impl"
13967 20863
13968 20864
13969 // $ANTLR start "rule__EnumInterpretation__Group__1" 20865 // $ANTLR start "rule__MemberDefinition__Group__1"
13970 // InternalSolverLanguage.g:4498:1: rule__EnumInterpretation__Group__1 : rule__EnumInterpretation__Group__1__Impl rule__EnumInterpretation__Group__2 ; 20866 // InternalSolverLanguage.g:6225:1: rule__MemberDefinition__Group__1 : rule__MemberDefinition__Group__1__Impl rule__MemberDefinition__Group__2 ;
13971 public final void rule__EnumInterpretation__Group__1() throws RecognitionException { 20867 public final void rule__MemberDefinition__Group__1() throws RecognitionException {
13972 20868
13973 int stackSize = keepStackSize(); 20869 int stackSize = keepStackSize();
13974 20870
13975 try { 20871 try {
13976 // InternalSolverLanguage.g:4502:1: ( rule__EnumInterpretation__Group__1__Impl rule__EnumInterpretation__Group__2 ) 20872 // InternalSolverLanguage.g:6229:1: ( rule__MemberDefinition__Group__1__Impl rule__MemberDefinition__Group__2 )
13977 // InternalSolverLanguage.g:4503:2: rule__EnumInterpretation__Group__1__Impl rule__EnumInterpretation__Group__2 20873 // InternalSolverLanguage.g:6230:2: rule__MemberDefinition__Group__1__Impl rule__MemberDefinition__Group__2
13978 { 20874 {
13979 pushFollow(FOLLOW_40); 20875 pushFollow(FOLLOW_49);
13980 rule__EnumInterpretation__Group__1__Impl(); 20876 rule__MemberDefinition__Group__1__Impl();
13981 20877
13982 state._fsp--; 20878 state._fsp--;
13983 20879 if (state.failed) return ;
13984 pushFollow(FOLLOW_2); 20880 pushFollow(FOLLOW_2);
13985 rule__EnumInterpretation__Group__2(); 20881 rule__MemberDefinition__Group__2();
13986 20882
13987 state._fsp--; 20883 state._fsp--;
13988 20884 if (state.failed) return ;
13989 20885
13990 } 20886 }
13991 20887
@@ -14001,38 +20897,80 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14001 } 20897 }
14002 return ; 20898 return ;
14003 } 20899 }
14004 // $ANTLR end "rule__EnumInterpretation__Group__1" 20900 // $ANTLR end "rule__MemberDefinition__Group__1"
14005 20901
14006 20902
14007 // $ANTLR start "rule__EnumInterpretation__Group__1__Impl" 20903 // $ANTLR start "rule__MemberDefinition__Group__1__Impl"
14008 // InternalSolverLanguage.g:4510:1: rule__EnumInterpretation__Group__1__Impl : ( ( rule__EnumInterpretation__SymbolAssignment_1 ) ) ; 20904 // InternalSolverLanguage.g:6237:1: rule__MemberDefinition__Group__1__Impl : ( ( rule__MemberDefinition__TypeAssignment_1 ) ) ;
14009 public final void rule__EnumInterpretation__Group__1__Impl() throws RecognitionException { 20905 public final void rule__MemberDefinition__Group__1__Impl() throws RecognitionException {
14010 20906
14011 int stackSize = keepStackSize(); 20907 int stackSize = keepStackSize();
14012 20908
14013 try { 20909 try {
14014 // InternalSolverLanguage.g:4514:1: ( ( ( rule__EnumInterpretation__SymbolAssignment_1 ) ) ) 20910 // InternalSolverLanguage.g:6241:1: ( ( ( rule__MemberDefinition__TypeAssignment_1 ) ) )
14015 // InternalSolverLanguage.g:4515:1: ( ( rule__EnumInterpretation__SymbolAssignment_1 ) ) 20911 // InternalSolverLanguage.g:6242:1: ( ( rule__MemberDefinition__TypeAssignment_1 ) )
14016 { 20912 {
14017 // InternalSolverLanguage.g:4515:1: ( ( rule__EnumInterpretation__SymbolAssignment_1 ) ) 20913 // InternalSolverLanguage.g:6242:1: ( ( rule__MemberDefinition__TypeAssignment_1 ) )
14018 // InternalSolverLanguage.g:4516:2: ( rule__EnumInterpretation__SymbolAssignment_1 ) 20914 // InternalSolverLanguage.g:6243:2: ( rule__MemberDefinition__TypeAssignment_1 )
14019 { 20915 {
14020 before(grammarAccess.getEnumInterpretationAccess().getSymbolAssignment_1()); 20916 if ( state.backtracking==0 ) {
14021 // InternalSolverLanguage.g:4517:2: ( rule__EnumInterpretation__SymbolAssignment_1 ) 20917 before(grammarAccess.getMemberDefinitionAccess().getTypeAssignment_1());
14022 // InternalSolverLanguage.g:4517:3: rule__EnumInterpretation__SymbolAssignment_1 20918 }
20919 // InternalSolverLanguage.g:6244:2: ( rule__MemberDefinition__TypeAssignment_1 )
20920 // InternalSolverLanguage.g:6244:3: rule__MemberDefinition__TypeAssignment_1
14023 { 20921 {
14024 pushFollow(FOLLOW_2); 20922 pushFollow(FOLLOW_2);
14025 rule__EnumInterpretation__SymbolAssignment_1(); 20923 rule__MemberDefinition__TypeAssignment_1();
14026 20924
14027 state._fsp--; 20925 state._fsp--;
20926 if (state.failed) return ;
20927
20928 }
14028 20929
20930 if ( state.backtracking==0 ) {
20931 after(grammarAccess.getMemberDefinitionAccess().getTypeAssignment_1());
20932 }
14029 20933
14030 } 20934 }
14031 20935
14032 after(grammarAccess.getEnumInterpretationAccess().getSymbolAssignment_1());
14033 20936
14034 } 20937 }
14035 20938
20939 }
20940 catch (RecognitionException re) {
20941 reportError(re);
20942 recover(input,re);
20943 }
20944 finally {
20945
20946 restoreStackSize(stackSize);
20947
20948 }
20949 return ;
20950 }
20951 // $ANTLR end "rule__MemberDefinition__Group__1__Impl"
20952
20953
20954 // $ANTLR start "rule__MemberDefinition__Group__2"
20955 // InternalSolverLanguage.g:6252:1: rule__MemberDefinition__Group__2 : rule__MemberDefinition__Group__2__Impl rule__MemberDefinition__Group__3 ;
20956 public final void rule__MemberDefinition__Group__2() throws RecognitionException {
20957
20958 int stackSize = keepStackSize();
20959
20960 try {
20961 // InternalSolverLanguage.g:6256:1: ( rule__MemberDefinition__Group__2__Impl rule__MemberDefinition__Group__3 )
20962 // InternalSolverLanguage.g:6257:2: rule__MemberDefinition__Group__2__Impl rule__MemberDefinition__Group__3
20963 {
20964 pushFollow(FOLLOW_49);
20965 rule__MemberDefinition__Group__2__Impl();
20966
20967 state._fsp--;
20968 if (state.failed) return ;
20969 pushFollow(FOLLOW_2);
20970 rule__MemberDefinition__Group__3();
20971
20972 state._fsp--;
20973 if (state.failed) return ;
14036 20974
14037 } 20975 }
14038 20976
@@ -14048,28 +20986,141 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14048 } 20986 }
14049 return ; 20987 return ;
14050 } 20988 }
14051 // $ANTLR end "rule__EnumInterpretation__Group__1__Impl" 20989 // $ANTLR end "rule__MemberDefinition__Group__2"
14052 20990
14053 20991
14054 // $ANTLR start "rule__EnumInterpretation__Group__2" 20992 // $ANTLR start "rule__MemberDefinition__Group__2__Impl"
14055 // InternalSolverLanguage.g:4525:1: rule__EnumInterpretation__Group__2 : rule__EnumInterpretation__Group__2__Impl rule__EnumInterpretation__Group__3 ; 20993 // InternalSolverLanguage.g:6264:1: rule__MemberDefinition__Group__2__Impl : ( ( rule__MemberDefinition__MultiplicityAssignment_2 )? ) ;
14056 public final void rule__EnumInterpretation__Group__2() throws RecognitionException { 20994 public final void rule__MemberDefinition__Group__2__Impl() throws RecognitionException {
14057 20995
14058 int stackSize = keepStackSize(); 20996 int stackSize = keepStackSize();
14059 20997
14060 try { 20998 try {
14061 // InternalSolverLanguage.g:4529:1: ( rule__EnumInterpretation__Group__2__Impl rule__EnumInterpretation__Group__3 ) 20999 // InternalSolverLanguage.g:6268:1: ( ( ( rule__MemberDefinition__MultiplicityAssignment_2 )? ) )
14062 // InternalSolverLanguage.g:4530:2: rule__EnumInterpretation__Group__2__Impl rule__EnumInterpretation__Group__3 21000 // InternalSolverLanguage.g:6269:1: ( ( rule__MemberDefinition__MultiplicityAssignment_2 )? )
14063 { 21001 {
14064 pushFollow(FOLLOW_18); 21002 // InternalSolverLanguage.g:6269:1: ( ( rule__MemberDefinition__MultiplicityAssignment_2 )? )
14065 rule__EnumInterpretation__Group__2__Impl(); 21003 // InternalSolverLanguage.g:6270:2: ( rule__MemberDefinition__MultiplicityAssignment_2 )?
21004 {
21005 if ( state.backtracking==0 ) {
21006 before(grammarAccess.getMemberDefinitionAccess().getMultiplicityAssignment_2());
21007 }
21008 // InternalSolverLanguage.g:6271:2: ( rule__MemberDefinition__MultiplicityAssignment_2 )?
21009 int alt48=2;
21010 int LA48_0 = input.LA(1);
21011
21012 if ( (LA48_0==63) ) {
21013 alt48=1;
21014 }
21015 switch (alt48) {
21016 case 1 :
21017 // InternalSolverLanguage.g:6271:3: rule__MemberDefinition__MultiplicityAssignment_2
21018 {
21019 pushFollow(FOLLOW_2);
21020 rule__MemberDefinition__MultiplicityAssignment_2();
21021
21022 state._fsp--;
21023 if (state.failed) return ;
21024
21025 }
21026 break;
21027
21028 }
21029
21030 if ( state.backtracking==0 ) {
21031 after(grammarAccess.getMemberDefinitionAccess().getMultiplicityAssignment_2());
21032 }
21033
21034 }
21035
21036
21037 }
21038
21039 }
21040 catch (RecognitionException re) {
21041 reportError(re);
21042 recover(input,re);
21043 }
21044 finally {
21045
21046 restoreStackSize(stackSize);
21047
21048 }
21049 return ;
21050 }
21051 // $ANTLR end "rule__MemberDefinition__Group__2__Impl"
21052
21053
21054 // $ANTLR start "rule__MemberDefinition__Group__3"
21055 // InternalSolverLanguage.g:6279:1: rule__MemberDefinition__Group__3 : rule__MemberDefinition__Group__3__Impl rule__MemberDefinition__Group__4 ;
21056 public final void rule__MemberDefinition__Group__3() throws RecognitionException {
21057
21058 int stackSize = keepStackSize();
21059
21060 try {
21061 // InternalSolverLanguage.g:6283:1: ( rule__MemberDefinition__Group__3__Impl rule__MemberDefinition__Group__4 )
21062 // InternalSolverLanguage.g:6284:2: rule__MemberDefinition__Group__3__Impl rule__MemberDefinition__Group__4
21063 {
21064 pushFollow(FOLLOW_50);
21065 rule__MemberDefinition__Group__3__Impl();
21066
21067 state._fsp--;
21068 if (state.failed) return ;
21069 pushFollow(FOLLOW_2);
21070 rule__MemberDefinition__Group__4();
14066 21071
14067 state._fsp--; 21072 state._fsp--;
21073 if (state.failed) return ;
14068 21074
21075 }
21076
21077 }
21078 catch (RecognitionException re) {
21079 reportError(re);
21080 recover(input,re);
21081 }
21082 finally {
21083
21084 restoreStackSize(stackSize);
21085
21086 }
21087 return ;
21088 }
21089 // $ANTLR end "rule__MemberDefinition__Group__3"
21090
21091
21092 // $ANTLR start "rule__MemberDefinition__Group__3__Impl"
21093 // InternalSolverLanguage.g:6291:1: rule__MemberDefinition__Group__3__Impl : ( ( rule__MemberDefinition__NameAssignment_3 ) ) ;
21094 public final void rule__MemberDefinition__Group__3__Impl() throws RecognitionException {
21095
21096 int stackSize = keepStackSize();
21097
21098 try {
21099 // InternalSolverLanguage.g:6295:1: ( ( ( rule__MemberDefinition__NameAssignment_3 ) ) )
21100 // InternalSolverLanguage.g:6296:1: ( ( rule__MemberDefinition__NameAssignment_3 ) )
21101 {
21102 // InternalSolverLanguage.g:6296:1: ( ( rule__MemberDefinition__NameAssignment_3 ) )
21103 // InternalSolverLanguage.g:6297:2: ( rule__MemberDefinition__NameAssignment_3 )
21104 {
21105 if ( state.backtracking==0 ) {
21106 before(grammarAccess.getMemberDefinitionAccess().getNameAssignment_3());
21107 }
21108 // InternalSolverLanguage.g:6298:2: ( rule__MemberDefinition__NameAssignment_3 )
21109 // InternalSolverLanguage.g:6298:3: rule__MemberDefinition__NameAssignment_3
21110 {
14069 pushFollow(FOLLOW_2); 21111 pushFollow(FOLLOW_2);
14070 rule__EnumInterpretation__Group__3(); 21112 rule__MemberDefinition__NameAssignment_3();
14071 21113
14072 state._fsp--; 21114 state._fsp--;
21115 if (state.failed) return ;
21116
21117 }
21118
21119 if ( state.backtracking==0 ) {
21120 after(grammarAccess.getMemberDefinitionAccess().getNameAssignment_3());
21121 }
21122
21123 }
14073 21124
14074 21125
14075 } 21126 }
@@ -14086,25 +21137,88 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14086 } 21137 }
14087 return ; 21138 return ;
14088 } 21139 }
14089 // $ANTLR end "rule__EnumInterpretation__Group__2" 21140 // $ANTLR end "rule__MemberDefinition__Group__3__Impl"
14090 21141
14091 21142
14092 // $ANTLR start "rule__EnumInterpretation__Group__2__Impl" 21143 // $ANTLR start "rule__MemberDefinition__Group__4"
14093 // InternalSolverLanguage.g:4537:1: rule__EnumInterpretation__Group__2__Impl : ( '{' ) ; 21144 // InternalSolverLanguage.g:6306:1: rule__MemberDefinition__Group__4 : rule__MemberDefinition__Group__4__Impl rule__MemberDefinition__Group__5 ;
14094 public final void rule__EnumInterpretation__Group__2__Impl() throws RecognitionException { 21145 public final void rule__MemberDefinition__Group__4() throws RecognitionException {
14095 21146
14096 int stackSize = keepStackSize(); 21147 int stackSize = keepStackSize();
14097 21148
14098 try { 21149 try {
14099 // InternalSolverLanguage.g:4541:1: ( ( '{' ) ) 21150 // InternalSolverLanguage.g:6310:1: ( rule__MemberDefinition__Group__4__Impl rule__MemberDefinition__Group__5 )
14100 // InternalSolverLanguage.g:4542:1: ( '{' ) 21151 // InternalSolverLanguage.g:6311:2: rule__MemberDefinition__Group__4__Impl rule__MemberDefinition__Group__5
14101 { 21152 {
14102 // InternalSolverLanguage.g:4542:1: ( '{' ) 21153 pushFollow(FOLLOW_50);
14103 // InternalSolverLanguage.g:4543:2: '{' 21154 rule__MemberDefinition__Group__4__Impl();
21155
21156 state._fsp--;
21157 if (state.failed) return ;
21158 pushFollow(FOLLOW_2);
21159 rule__MemberDefinition__Group__5();
21160
21161 state._fsp--;
21162 if (state.failed) return ;
21163
21164 }
21165
21166 }
21167 catch (RecognitionException re) {
21168 reportError(re);
21169 recover(input,re);
21170 }
21171 finally {
21172
21173 restoreStackSize(stackSize);
21174
21175 }
21176 return ;
21177 }
21178 // $ANTLR end "rule__MemberDefinition__Group__4"
21179
21180
21181 // $ANTLR start "rule__MemberDefinition__Group__4__Impl"
21182 // InternalSolverLanguage.g:6318:1: rule__MemberDefinition__Group__4__Impl : ( ( rule__MemberDefinition__Group_4__0 )? ) ;
21183 public final void rule__MemberDefinition__Group__4__Impl() throws RecognitionException {
21184
21185 int stackSize = keepStackSize();
21186
21187 try {
21188 // InternalSolverLanguage.g:6322:1: ( ( ( rule__MemberDefinition__Group_4__0 )? ) )
21189 // InternalSolverLanguage.g:6323:1: ( ( rule__MemberDefinition__Group_4__0 )? )
14104 { 21190 {
14105 before(grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2()); 21191 // InternalSolverLanguage.g:6323:1: ( ( rule__MemberDefinition__Group_4__0 )? )
14106 match(input,34,FOLLOW_2); 21192 // InternalSolverLanguage.g:6324:2: ( rule__MemberDefinition__Group_4__0 )?
14107 after(grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2()); 21193 {
21194 if ( state.backtracking==0 ) {
21195 before(grammarAccess.getMemberDefinitionAccess().getGroup_4());
21196 }
21197 // InternalSolverLanguage.g:6325:2: ( rule__MemberDefinition__Group_4__0 )?
21198 int alt49=2;
21199 int LA49_0 = input.LA(1);
21200
21201 if ( (LA49_0==70) ) {
21202 alt49=1;
21203 }
21204 switch (alt49) {
21205 case 1 :
21206 // InternalSolverLanguage.g:6325:3: rule__MemberDefinition__Group_4__0
21207 {
21208 pushFollow(FOLLOW_2);
21209 rule__MemberDefinition__Group_4__0();
21210
21211 state._fsp--;
21212 if (state.failed) return ;
21213
21214 }
21215 break;
21216
21217 }
21218
21219 if ( state.backtracking==0 ) {
21220 after(grammarAccess.getMemberDefinitionAccess().getGroup_4());
21221 }
14108 21222
14109 } 21223 }
14110 21224
@@ -14123,28 +21237,160 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14123 } 21237 }
14124 return ; 21238 return ;
14125 } 21239 }
14126 // $ANTLR end "rule__EnumInterpretation__Group__2__Impl" 21240 // $ANTLR end "rule__MemberDefinition__Group__4__Impl"
14127 21241
14128 21242
14129 // $ANTLR start "rule__EnumInterpretation__Group__3" 21243 // $ANTLR start "rule__MemberDefinition__Group__5"
14130 // InternalSolverLanguage.g:4552:1: rule__EnumInterpretation__Group__3 : rule__EnumInterpretation__Group__3__Impl rule__EnumInterpretation__Group__4 ; 21244 // InternalSolverLanguage.g:6333:1: rule__MemberDefinition__Group__5 : rule__MemberDefinition__Group__5__Impl ;
14131 public final void rule__EnumInterpretation__Group__3() throws RecognitionException { 21245 public final void rule__MemberDefinition__Group__5() throws RecognitionException {
14132 21246
14133 int stackSize = keepStackSize(); 21247 int stackSize = keepStackSize();
14134 21248
14135 try { 21249 try {
14136 // InternalSolverLanguage.g:4556:1: ( rule__EnumInterpretation__Group__3__Impl rule__EnumInterpretation__Group__4 ) 21250 // InternalSolverLanguage.g:6337:1: ( rule__MemberDefinition__Group__5__Impl )
14137 // InternalSolverLanguage.g:4557:2: rule__EnumInterpretation__Group__3__Impl rule__EnumInterpretation__Group__4 21251 // InternalSolverLanguage.g:6338:2: rule__MemberDefinition__Group__5__Impl
14138 { 21252 {
14139 pushFollow(FOLLOW_41); 21253 pushFollow(FOLLOW_2);
14140 rule__EnumInterpretation__Group__3__Impl(); 21254 rule__MemberDefinition__Group__5__Impl();
14141 21255
14142 state._fsp--; 21256 state._fsp--;
21257 if (state.failed) return ;
21258
21259 }
21260
21261 }
21262 catch (RecognitionException re) {
21263 reportError(re);
21264 recover(input,re);
21265 }
21266 finally {
21267
21268 restoreStackSize(stackSize);
21269
21270 }
21271 return ;
21272 }
21273 // $ANTLR end "rule__MemberDefinition__Group__5"
14143 21274
21275
21276 // $ANTLR start "rule__MemberDefinition__Group__5__Impl"
21277 // InternalSolverLanguage.g:6344:1: rule__MemberDefinition__Group__5__Impl : ( ( ';' )? ) ;
21278 public final void rule__MemberDefinition__Group__5__Impl() throws RecognitionException {
21279
21280 int stackSize = keepStackSize();
21281
21282 try {
21283 // InternalSolverLanguage.g:6348:1: ( ( ( ';' )? ) )
21284 // InternalSolverLanguage.g:6349:1: ( ( ';' )? )
21285 {
21286 // InternalSolverLanguage.g:6349:1: ( ( ';' )? )
21287 // InternalSolverLanguage.g:6350:2: ( ';' )?
21288 {
21289 if ( state.backtracking==0 ) {
21290 before(grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5());
21291 }
21292 // InternalSolverLanguage.g:6351:2: ( ';' )?
21293 int alt50=2;
21294 int LA50_0 = input.LA(1);
21295
21296 if ( (LA50_0==54) ) {
21297 alt50=1;
21298 }
21299 switch (alt50) {
21300 case 1 :
21301 // InternalSolverLanguage.g:6351:3: ';'
21302 {
21303 match(input,54,FOLLOW_2); if (state.failed) return ;
21304
21305 }
21306 break;
21307
21308 }
21309
21310 if ( state.backtracking==0 ) {
21311 after(grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5());
21312 }
21313
21314 }
21315
21316
21317 }
21318
21319 }
21320 catch (RecognitionException re) {
21321 reportError(re);
21322 recover(input,re);
21323 }
21324 finally {
21325
21326 restoreStackSize(stackSize);
21327
21328 }
21329 return ;
21330 }
21331 // $ANTLR end "rule__MemberDefinition__Group__5__Impl"
21332
21333
21334 // $ANTLR start "rule__MemberDefinition__Group_4__0"
21335 // InternalSolverLanguage.g:6360:1: rule__MemberDefinition__Group_4__0 : rule__MemberDefinition__Group_4__0__Impl rule__MemberDefinition__Group_4__1 ;
21336 public final void rule__MemberDefinition__Group_4__0() throws RecognitionException {
21337
21338 int stackSize = keepStackSize();
21339
21340 try {
21341 // InternalSolverLanguage.g:6364:1: ( rule__MemberDefinition__Group_4__0__Impl rule__MemberDefinition__Group_4__1 )
21342 // InternalSolverLanguage.g:6365:2: rule__MemberDefinition__Group_4__0__Impl rule__MemberDefinition__Group_4__1
21343 {
21344 pushFollow(FOLLOW_9);
21345 rule__MemberDefinition__Group_4__0__Impl();
21346
21347 state._fsp--;
21348 if (state.failed) return ;
14144 pushFollow(FOLLOW_2); 21349 pushFollow(FOLLOW_2);
14145 rule__EnumInterpretation__Group__4(); 21350 rule__MemberDefinition__Group_4__1();
14146 21351
14147 state._fsp--; 21352 state._fsp--;
21353 if (state.failed) return ;
21354
21355 }
21356
21357 }
21358 catch (RecognitionException re) {
21359 reportError(re);
21360 recover(input,re);
21361 }
21362 finally {
21363
21364 restoreStackSize(stackSize);
21365
21366 }
21367 return ;
21368 }
21369 // $ANTLR end "rule__MemberDefinition__Group_4__0"
21370
21371
21372 // $ANTLR start "rule__MemberDefinition__Group_4__0__Impl"
21373 // InternalSolverLanguage.g:6372:1: rule__MemberDefinition__Group_4__0__Impl : ( 'opposite' ) ;
21374 public final void rule__MemberDefinition__Group_4__0__Impl() throws RecognitionException {
21375
21376 int stackSize = keepStackSize();
21377
21378 try {
21379 // InternalSolverLanguage.g:6376:1: ( ( 'opposite' ) )
21380 // InternalSolverLanguage.g:6377:1: ( 'opposite' )
21381 {
21382 // InternalSolverLanguage.g:6377:1: ( 'opposite' )
21383 // InternalSolverLanguage.g:6378:2: 'opposite'
21384 {
21385 if ( state.backtracking==0 ) {
21386 before(grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0());
21387 }
21388 match(input,70,FOLLOW_2); if (state.failed) return ;
21389 if ( state.backtracking==0 ) {
21390 after(grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0());
21391 }
21392
21393 }
14148 21394
14149 21395
14150 } 21396 }
@@ -14161,78 +21407,230 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14161 } 21407 }
14162 return ; 21408 return ;
14163 } 21409 }
14164 // $ANTLR end "rule__EnumInterpretation__Group__3" 21410 // $ANTLR end "rule__MemberDefinition__Group_4__0__Impl"
14165 21411
14166 21412
14167 // $ANTLR start "rule__EnumInterpretation__Group__3__Impl" 21413 // $ANTLR start "rule__MemberDefinition__Group_4__1"
14168 // InternalSolverLanguage.g:4564:1: rule__EnumInterpretation__Group__3__Impl : ( ( ( rule__EnumInterpretation__ObjectsAssignment_3 ) ) ( ( rule__EnumInterpretation__ObjectsAssignment_3 )* ) ) ; 21414 // InternalSolverLanguage.g:6387:1: rule__MemberDefinition__Group_4__1 : rule__MemberDefinition__Group_4__1__Impl ;
14169 public final void rule__EnumInterpretation__Group__3__Impl() throws RecognitionException { 21415 public final void rule__MemberDefinition__Group_4__1() throws RecognitionException {
14170 21416
14171 int stackSize = keepStackSize(); 21417 int stackSize = keepStackSize();
14172 21418
14173 try { 21419 try {
14174 // InternalSolverLanguage.g:4568:1: ( ( ( ( rule__EnumInterpretation__ObjectsAssignment_3 ) ) ( ( rule__EnumInterpretation__ObjectsAssignment_3 )* ) ) ) 21420 // InternalSolverLanguage.g:6391:1: ( rule__MemberDefinition__Group_4__1__Impl )
14175 // InternalSolverLanguage.g:4569:1: ( ( ( rule__EnumInterpretation__ObjectsAssignment_3 ) ) ( ( rule__EnumInterpretation__ObjectsAssignment_3 )* ) ) 21421 // InternalSolverLanguage.g:6392:2: rule__MemberDefinition__Group_4__1__Impl
14176 { 21422 {
14177 // InternalSolverLanguage.g:4569:1: ( ( ( rule__EnumInterpretation__ObjectsAssignment_3 ) ) ( ( rule__EnumInterpretation__ObjectsAssignment_3 )* ) ) 21423 pushFollow(FOLLOW_2);
14178 // InternalSolverLanguage.g:4570:2: ( ( rule__EnumInterpretation__ObjectsAssignment_3 ) ) ( ( rule__EnumInterpretation__ObjectsAssignment_3 )* ) 21424 rule__MemberDefinition__Group_4__1__Impl();
21425
21426 state._fsp--;
21427 if (state.failed) return ;
21428
21429 }
21430
21431 }
21432 catch (RecognitionException re) {
21433 reportError(re);
21434 recover(input,re);
21435 }
21436 finally {
21437
21438 restoreStackSize(stackSize);
21439
21440 }
21441 return ;
21442 }
21443 // $ANTLR end "rule__MemberDefinition__Group_4__1"
21444
21445
21446 // $ANTLR start "rule__MemberDefinition__Group_4__1__Impl"
21447 // InternalSolverLanguage.g:6398:1: rule__MemberDefinition__Group_4__1__Impl : ( ( rule__MemberDefinition__OppositeAssignment_4_1 ) ) ;
21448 public final void rule__MemberDefinition__Group_4__1__Impl() throws RecognitionException {
21449
21450 int stackSize = keepStackSize();
21451
21452 try {
21453 // InternalSolverLanguage.g:6402:1: ( ( ( rule__MemberDefinition__OppositeAssignment_4_1 ) ) )
21454 // InternalSolverLanguage.g:6403:1: ( ( rule__MemberDefinition__OppositeAssignment_4_1 ) )
14179 { 21455 {
14180 // InternalSolverLanguage.g:4570:2: ( ( rule__EnumInterpretation__ObjectsAssignment_3 ) ) 21456 // InternalSolverLanguage.g:6403:1: ( ( rule__MemberDefinition__OppositeAssignment_4_1 ) )
14181 // InternalSolverLanguage.g:4571:3: ( rule__EnumInterpretation__ObjectsAssignment_3 ) 21457 // InternalSolverLanguage.g:6404:2: ( rule__MemberDefinition__OppositeAssignment_4_1 )
14182 { 21458 {
14183 before(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); 21459 if ( state.backtracking==0 ) {
14184 // InternalSolverLanguage.g:4572:3: ( rule__EnumInterpretation__ObjectsAssignment_3 ) 21460 before(grammarAccess.getMemberDefinitionAccess().getOppositeAssignment_4_1());
14185 // InternalSolverLanguage.g:4572:4: rule__EnumInterpretation__ObjectsAssignment_3 21461 }
21462 // InternalSolverLanguage.g:6405:2: ( rule__MemberDefinition__OppositeAssignment_4_1 )
21463 // InternalSolverLanguage.g:6405:3: rule__MemberDefinition__OppositeAssignment_4_1
14186 { 21464 {
14187 pushFollow(FOLLOW_42); 21465 pushFollow(FOLLOW_2);
14188 rule__EnumInterpretation__ObjectsAssignment_3(); 21466 rule__MemberDefinition__OppositeAssignment_4_1();
14189 21467
14190 state._fsp--; 21468 state._fsp--;
21469 if (state.failed) return ;
14191 21470
21471 }
21472
21473 if ( state.backtracking==0 ) {
21474 after(grammarAccess.getMemberDefinitionAccess().getOppositeAssignment_4_1());
21475 }
14192 21476
14193 } 21477 }
14194 21478
14195 after(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3());
14196 21479
14197 } 21480 }
14198 21481
14199 // InternalSolverLanguage.g:4575:2: ( ( rule__EnumInterpretation__ObjectsAssignment_3 )* ) 21482 }
14200 // InternalSolverLanguage.g:4576:3: ( rule__EnumInterpretation__ObjectsAssignment_3 )* 21483 catch (RecognitionException re) {
21484 reportError(re);
21485 recover(input,re);
21486 }
21487 finally {
21488
21489 restoreStackSize(stackSize);
21490
21491 }
21492 return ;
21493 }
21494 // $ANTLR end "rule__MemberDefinition__Group_4__1__Impl"
21495
21496
21497 // $ANTLR start "rule__ManyMultiplicity__Group__0"
21498 // InternalSolverLanguage.g:6414:1: rule__ManyMultiplicity__Group__0 : rule__ManyMultiplicity__Group__0__Impl rule__ManyMultiplicity__Group__1 ;
21499 public final void rule__ManyMultiplicity__Group__0() throws RecognitionException {
21500
21501 int stackSize = keepStackSize();
21502
21503 try {
21504 // InternalSolverLanguage.g:6418:1: ( rule__ManyMultiplicity__Group__0__Impl rule__ManyMultiplicity__Group__1 )
21505 // InternalSolverLanguage.g:6419:2: rule__ManyMultiplicity__Group__0__Impl rule__ManyMultiplicity__Group__1
14201 { 21506 {
14202 before(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); 21507 pushFollow(FOLLOW_51);
14203 // InternalSolverLanguage.g:4577:3: ( rule__EnumInterpretation__ObjectsAssignment_3 )* 21508 rule__ManyMultiplicity__Group__0__Impl();
14204 loop42:
14205 do {
14206 int alt42=2;
14207 int LA42_0 = input.LA(1);
14208 21509
14209 if ( (LA42_0==27) ) { 21510 state._fsp--;
14210 alt42=1; 21511 if (state.failed) return ;
14211 } 21512 pushFollow(FOLLOW_2);
21513 rule__ManyMultiplicity__Group__1();
14212 21514
21515 state._fsp--;
21516 if (state.failed) return ;
14213 21517
14214 switch (alt42) { 21518 }
14215 case 1 :
14216 // InternalSolverLanguage.g:4577:4: rule__EnumInterpretation__ObjectsAssignment_3
14217 {
14218 pushFollow(FOLLOW_42);
14219 rule__EnumInterpretation__ObjectsAssignment_3();
14220 21519
14221 state._fsp--; 21520 }
21521 catch (RecognitionException re) {
21522 reportError(re);
21523 recover(input,re);
21524 }
21525 finally {
14222 21526
21527 restoreStackSize(stackSize);
14223 21528
14224 } 21529 }
14225 break; 21530 return ;
21531 }
21532 // $ANTLR end "rule__ManyMultiplicity__Group__0"
14226 21533
14227 default :
14228 break loop42;
14229 }
14230 } while (true);
14231 21534
14232 after(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); 21535 // $ANTLR start "rule__ManyMultiplicity__Group__0__Impl"
21536 // InternalSolverLanguage.g:6426:1: rule__ManyMultiplicity__Group__0__Impl : ( () ) ;
21537 public final void rule__ManyMultiplicity__Group__0__Impl() throws RecognitionException {
21538
21539 int stackSize = keepStackSize();
21540
21541 try {
21542 // InternalSolverLanguage.g:6430:1: ( ( () ) )
21543 // InternalSolverLanguage.g:6431:1: ( () )
21544 {
21545 // InternalSolverLanguage.g:6431:1: ( () )
21546 // InternalSolverLanguage.g:6432:2: ()
21547 {
21548 if ( state.backtracking==0 ) {
21549 before(grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0());
21550 }
21551 // InternalSolverLanguage.g:6433:2: ()
21552 // InternalSolverLanguage.g:6433:3:
21553 {
21554 }
21555
21556 if ( state.backtracking==0 ) {
21557 after(grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0());
21558 }
21559
21560 }
21561
14233 21562
14234 } 21563 }
14235 21564
21565 }
21566 finally {
21567
21568 restoreStackSize(stackSize);
21569
21570 }
21571 return ;
21572 }
21573 // $ANTLR end "rule__ManyMultiplicity__Group__0__Impl"
21574
21575
21576 // $ANTLR start "rule__ManyMultiplicity__Group__1"
21577 // InternalSolverLanguage.g:6441:1: rule__ManyMultiplicity__Group__1 : rule__ManyMultiplicity__Group__1__Impl rule__ManyMultiplicity__Group__2 ;
21578 public final void rule__ManyMultiplicity__Group__1() throws RecognitionException {
21579
21580 int stackSize = keepStackSize();
21581
21582 try {
21583 // InternalSolverLanguage.g:6445:1: ( rule__ManyMultiplicity__Group__1__Impl rule__ManyMultiplicity__Group__2 )
21584 // InternalSolverLanguage.g:6446:2: rule__ManyMultiplicity__Group__1__Impl rule__ManyMultiplicity__Group__2
21585 {
21586 pushFollow(FOLLOW_40);
21587 rule__ManyMultiplicity__Group__1__Impl();
21588
21589 state._fsp--;
21590 if (state.failed) return ;
21591 pushFollow(FOLLOW_2);
21592 rule__ManyMultiplicity__Group__2();
21593
21594 state._fsp--;
21595 if (state.failed) return ;
21596
21597 }
21598
21599 }
21600 catch (RecognitionException re) {
21601 reportError(re);
21602 recover(input,re);
21603 }
21604 finally {
21605
21606 restoreStackSize(stackSize);
21607
21608 }
21609 return ;
21610 }
21611 // $ANTLR end "rule__ManyMultiplicity__Group__1"
21612
21613
21614 // $ANTLR start "rule__ManyMultiplicity__Group__1__Impl"
21615 // InternalSolverLanguage.g:6453:1: rule__ManyMultiplicity__Group__1__Impl : ( '[' ) ;
21616 public final void rule__ManyMultiplicity__Group__1__Impl() throws RecognitionException {
21617
21618 int stackSize = keepStackSize();
21619
21620 try {
21621 // InternalSolverLanguage.g:6457:1: ( ( '[' ) )
21622 // InternalSolverLanguage.g:6458:1: ( '[' )
21623 {
21624 // InternalSolverLanguage.g:6458:1: ( '[' )
21625 // InternalSolverLanguage.g:6459:2: '['
21626 {
21627 if ( state.backtracking==0 ) {
21628 before(grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1());
21629 }
21630 match(input,63,FOLLOW_2); if (state.failed) return ;
21631 if ( state.backtracking==0 ) {
21632 after(grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1());
21633 }
14236 21634
14237 } 21635 }
14238 21636
@@ -14251,24 +21649,103 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14251 } 21649 }
14252 return ; 21650 return ;
14253 } 21651 }
14254 // $ANTLR end "rule__EnumInterpretation__Group__3__Impl" 21652 // $ANTLR end "rule__ManyMultiplicity__Group__1__Impl"
14255 21653
14256 21654
14257 // $ANTLR start "rule__EnumInterpretation__Group__4" 21655 // $ANTLR start "rule__ManyMultiplicity__Group__2"
14258 // InternalSolverLanguage.g:4586:1: rule__EnumInterpretation__Group__4 : rule__EnumInterpretation__Group__4__Impl ; 21656 // InternalSolverLanguage.g:6468:1: rule__ManyMultiplicity__Group__2 : rule__ManyMultiplicity__Group__2__Impl ;
14259 public final void rule__EnumInterpretation__Group__4() throws RecognitionException { 21657 public final void rule__ManyMultiplicity__Group__2() throws RecognitionException {
14260 21658
14261 int stackSize = keepStackSize(); 21659 int stackSize = keepStackSize();
14262 21660
14263 try { 21661 try {
14264 // InternalSolverLanguage.g:4590:1: ( rule__EnumInterpretation__Group__4__Impl ) 21662 // InternalSolverLanguage.g:6472:1: ( rule__ManyMultiplicity__Group__2__Impl )
14265 // InternalSolverLanguage.g:4591:2: rule__EnumInterpretation__Group__4__Impl 21663 // InternalSolverLanguage.g:6473:2: rule__ManyMultiplicity__Group__2__Impl
14266 { 21664 {
14267 pushFollow(FOLLOW_2); 21665 pushFollow(FOLLOW_2);
14268 rule__EnumInterpretation__Group__4__Impl(); 21666 rule__ManyMultiplicity__Group__2__Impl();
21667
21668 state._fsp--;
21669 if (state.failed) return ;
21670
21671 }
21672
21673 }
21674 catch (RecognitionException re) {
21675 reportError(re);
21676 recover(input,re);
21677 }
21678 finally {
21679
21680 restoreStackSize(stackSize);
21681
21682 }
21683 return ;
21684 }
21685 // $ANTLR end "rule__ManyMultiplicity__Group__2"
21686
21687
21688 // $ANTLR start "rule__ManyMultiplicity__Group__2__Impl"
21689 // InternalSolverLanguage.g:6479:1: rule__ManyMultiplicity__Group__2__Impl : ( ']' ) ;
21690 public final void rule__ManyMultiplicity__Group__2__Impl() throws RecognitionException {
21691
21692 int stackSize = keepStackSize();
21693
21694 try {
21695 // InternalSolverLanguage.g:6483:1: ( ( ']' ) )
21696 // InternalSolverLanguage.g:6484:1: ( ']' )
21697 {
21698 // InternalSolverLanguage.g:6484:1: ( ']' )
21699 // InternalSolverLanguage.g:6485:2: ']'
21700 {
21701 if ( state.backtracking==0 ) {
21702 before(grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2());
21703 }
21704 match(input,65,FOLLOW_2); if (state.failed) return ;
21705 if ( state.backtracking==0 ) {
21706 after(grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2());
21707 }
21708
21709 }
21710
21711
21712 }
21713
21714 }
21715 catch (RecognitionException re) {
21716 reportError(re);
21717 recover(input,re);
21718 }
21719 finally {
21720
21721 restoreStackSize(stackSize);
21722
21723 }
21724 return ;
21725 }
21726 // $ANTLR end "rule__ManyMultiplicity__Group__2__Impl"
21727
21728
21729 // $ANTLR start "rule__ExactMultiplicity__Group__0"
21730 // InternalSolverLanguage.g:6495:1: rule__ExactMultiplicity__Group__0 : rule__ExactMultiplicity__Group__0__Impl rule__ExactMultiplicity__Group__1 ;
21731 public final void rule__ExactMultiplicity__Group__0() throws RecognitionException {
21732
21733 int stackSize = keepStackSize();
21734
21735 try {
21736 // InternalSolverLanguage.g:6499:1: ( rule__ExactMultiplicity__Group__0__Impl rule__ExactMultiplicity__Group__1 )
21737 // InternalSolverLanguage.g:6500:2: rule__ExactMultiplicity__Group__0__Impl rule__ExactMultiplicity__Group__1
21738 {
21739 pushFollow(FOLLOW_52);
21740 rule__ExactMultiplicity__Group__0__Impl();
14269 21741
14270 state._fsp--; 21742 state._fsp--;
21743 if (state.failed) return ;
21744 pushFollow(FOLLOW_2);
21745 rule__ExactMultiplicity__Group__1();
14271 21746
21747 state._fsp--;
21748 if (state.failed) return ;
14272 21749
14273 } 21750 }
14274 21751
@@ -14284,25 +21761,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14284 } 21761 }
14285 return ; 21762 return ;
14286 } 21763 }
14287 // $ANTLR end "rule__EnumInterpretation__Group__4" 21764 // $ANTLR end "rule__ExactMultiplicity__Group__0"
14288 21765
14289 21766
14290 // $ANTLR start "rule__EnumInterpretation__Group__4__Impl" 21767 // $ANTLR start "rule__ExactMultiplicity__Group__0__Impl"
14291 // InternalSolverLanguage.g:4597:1: rule__EnumInterpretation__Group__4__Impl : ( '}' ) ; 21768 // InternalSolverLanguage.g:6507:1: rule__ExactMultiplicity__Group__0__Impl : ( '[' ) ;
14292 public final void rule__EnumInterpretation__Group__4__Impl() throws RecognitionException { 21769 public final void rule__ExactMultiplicity__Group__0__Impl() throws RecognitionException {
14293 21770
14294 int stackSize = keepStackSize(); 21771 int stackSize = keepStackSize();
14295 21772
14296 try { 21773 try {
14297 // InternalSolverLanguage.g:4601:1: ( ( '}' ) ) 21774 // InternalSolverLanguage.g:6511:1: ( ( '[' ) )
14298 // InternalSolverLanguage.g:4602:1: ( '}' ) 21775 // InternalSolverLanguage.g:6512:1: ( '[' )
14299 { 21776 {
14300 // InternalSolverLanguage.g:4602:1: ( '}' ) 21777 // InternalSolverLanguage.g:6512:1: ( '[' )
14301 // InternalSolverLanguage.g:4603:2: '}' 21778 // InternalSolverLanguage.g:6513:2: '['
14302 { 21779 {
14303 before(grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4()); 21780 if ( state.backtracking==0 ) {
14304 match(input,35,FOLLOW_2); 21781 before(grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0());
14305 after(grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4()); 21782 }
21783 match(input,63,FOLLOW_2); if (state.failed) return ;
21784 if ( state.backtracking==0 ) {
21785 after(grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0());
21786 }
14306 21787
14307 } 21788 }
14308 21789
@@ -14321,28 +21802,79 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14321 } 21802 }
14322 return ; 21803 return ;
14323 } 21804 }
14324 // $ANTLR end "rule__EnumInterpretation__Group__4__Impl" 21805 // $ANTLR end "rule__ExactMultiplicity__Group__0__Impl"
14325 21806
14326 21807
14327 // $ANTLR start "rule__FieldRelationInterpretation__Group__0" 21808 // $ANTLR start "rule__ExactMultiplicity__Group__1"
14328 // InternalSolverLanguage.g:4613:1: rule__FieldRelationInterpretation__Group__0 : rule__FieldRelationInterpretation__Group__0__Impl rule__FieldRelationInterpretation__Group__1 ; 21809 // InternalSolverLanguage.g:6522:1: rule__ExactMultiplicity__Group__1 : rule__ExactMultiplicity__Group__1__Impl rule__ExactMultiplicity__Group__2 ;
14329 public final void rule__FieldRelationInterpretation__Group__0() throws RecognitionException { 21810 public final void rule__ExactMultiplicity__Group__1() throws RecognitionException {
14330 21811
14331 int stackSize = keepStackSize(); 21812 int stackSize = keepStackSize();
14332 21813
14333 try { 21814 try {
14334 // InternalSolverLanguage.g:4617:1: ( rule__FieldRelationInterpretation__Group__0__Impl rule__FieldRelationInterpretation__Group__1 ) 21815 // InternalSolverLanguage.g:6526:1: ( rule__ExactMultiplicity__Group__1__Impl rule__ExactMultiplicity__Group__2 )
14335 // InternalSolverLanguage.g:4618:2: rule__FieldRelationInterpretation__Group__0__Impl rule__FieldRelationInterpretation__Group__1 21816 // InternalSolverLanguage.g:6527:2: rule__ExactMultiplicity__Group__1__Impl rule__ExactMultiplicity__Group__2
14336 { 21817 {
14337 pushFollow(FOLLOW_43); 21818 pushFollow(FOLLOW_40);
14338 rule__FieldRelationInterpretation__Group__0__Impl(); 21819 rule__ExactMultiplicity__Group__1__Impl();
21820
21821 state._fsp--;
21822 if (state.failed) return ;
21823 pushFollow(FOLLOW_2);
21824 rule__ExactMultiplicity__Group__2();
14339 21825
14340 state._fsp--; 21826 state._fsp--;
21827 if (state.failed) return ;
21828
21829 }
14341 21830
21831 }
21832 catch (RecognitionException re) {
21833 reportError(re);
21834 recover(input,re);
21835 }
21836 finally {
21837
21838 restoreStackSize(stackSize);
21839
21840 }
21841 return ;
21842 }
21843 // $ANTLR end "rule__ExactMultiplicity__Group__1"
21844
21845
21846 // $ANTLR start "rule__ExactMultiplicity__Group__1__Impl"
21847 // InternalSolverLanguage.g:6534:1: rule__ExactMultiplicity__Group__1__Impl : ( ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) ) ;
21848 public final void rule__ExactMultiplicity__Group__1__Impl() throws RecognitionException {
21849
21850 int stackSize = keepStackSize();
21851
21852 try {
21853 // InternalSolverLanguage.g:6538:1: ( ( ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) ) )
21854 // InternalSolverLanguage.g:6539:1: ( ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) )
21855 {
21856 // InternalSolverLanguage.g:6539:1: ( ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) )
21857 // InternalSolverLanguage.g:6540:2: ( rule__ExactMultiplicity__MultiplicityAssignment_1 )
21858 {
21859 if ( state.backtracking==0 ) {
21860 before(grammarAccess.getExactMultiplicityAccess().getMultiplicityAssignment_1());
21861 }
21862 // InternalSolverLanguage.g:6541:2: ( rule__ExactMultiplicity__MultiplicityAssignment_1 )
21863 // InternalSolverLanguage.g:6541:3: rule__ExactMultiplicity__MultiplicityAssignment_1
21864 {
14342 pushFollow(FOLLOW_2); 21865 pushFollow(FOLLOW_2);
14343 rule__FieldRelationInterpretation__Group__1(); 21866 rule__ExactMultiplicity__MultiplicityAssignment_1();
14344 21867
14345 state._fsp--; 21868 state._fsp--;
21869 if (state.failed) return ;
21870
21871 }
21872
21873 if ( state.backtracking==0 ) {
21874 after(grammarAccess.getExactMultiplicityAccess().getMultiplicityAssignment_1());
21875 }
21876
21877 }
14346 21878
14347 21879
14348 } 21880 }
@@ -14359,46 +21891,141 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14359 } 21891 }
14360 return ; 21892 return ;
14361 } 21893 }
14362 // $ANTLR end "rule__FieldRelationInterpretation__Group__0" 21894 // $ANTLR end "rule__ExactMultiplicity__Group__1__Impl"
14363 21895
14364 21896
14365 // $ANTLR start "rule__FieldRelationInterpretation__Group__0__Impl" 21897 // $ANTLR start "rule__ExactMultiplicity__Group__2"
14366 // InternalSolverLanguage.g:4625:1: rule__FieldRelationInterpretation__Group__0__Impl : ( ( rule__FieldRelationInterpretation__ContainmentAssignment_0 )? ) ; 21898 // InternalSolverLanguage.g:6549:1: rule__ExactMultiplicity__Group__2 : rule__ExactMultiplicity__Group__2__Impl ;
14367 public final void rule__FieldRelationInterpretation__Group__0__Impl() throws RecognitionException { 21899 public final void rule__ExactMultiplicity__Group__2() throws RecognitionException {
14368 21900
14369 int stackSize = keepStackSize(); 21901 int stackSize = keepStackSize();
14370 21902
14371 try { 21903 try {
14372 // InternalSolverLanguage.g:4629:1: ( ( ( rule__FieldRelationInterpretation__ContainmentAssignment_0 )? ) ) 21904 // InternalSolverLanguage.g:6553:1: ( rule__ExactMultiplicity__Group__2__Impl )
14373 // InternalSolverLanguage.g:4630:1: ( ( rule__FieldRelationInterpretation__ContainmentAssignment_0 )? ) 21905 // InternalSolverLanguage.g:6554:2: rule__ExactMultiplicity__Group__2__Impl
14374 { 21906 {
14375 // InternalSolverLanguage.g:4630:1: ( ( rule__FieldRelationInterpretation__ContainmentAssignment_0 )? ) 21907 pushFollow(FOLLOW_2);
14376 // InternalSolverLanguage.g:4631:2: ( rule__FieldRelationInterpretation__ContainmentAssignment_0 )? 21908 rule__ExactMultiplicity__Group__2__Impl();
21909
21910 state._fsp--;
21911 if (state.failed) return ;
21912
21913 }
21914
21915 }
21916 catch (RecognitionException re) {
21917 reportError(re);
21918 recover(input,re);
21919 }
21920 finally {
21921
21922 restoreStackSize(stackSize);
21923
21924 }
21925 return ;
21926 }
21927 // $ANTLR end "rule__ExactMultiplicity__Group__2"
21928
21929
21930 // $ANTLR start "rule__ExactMultiplicity__Group__2__Impl"
21931 // InternalSolverLanguage.g:6560:1: rule__ExactMultiplicity__Group__2__Impl : ( ']' ) ;
21932 public final void rule__ExactMultiplicity__Group__2__Impl() throws RecognitionException {
21933
21934 int stackSize = keepStackSize();
21935
21936 try {
21937 // InternalSolverLanguage.g:6564:1: ( ( ']' ) )
21938 // InternalSolverLanguage.g:6565:1: ( ']' )
14377 { 21939 {
14378 before(grammarAccess.getFieldRelationInterpretationAccess().getContainmentAssignment_0()); 21940 // InternalSolverLanguage.g:6565:1: ( ']' )
14379 // InternalSolverLanguage.g:4632:2: ( rule__FieldRelationInterpretation__ContainmentAssignment_0 )? 21941 // InternalSolverLanguage.g:6566:2: ']'
14380 int alt43=2; 21942 {
14381 int LA43_0 = input.LA(1); 21943 if ( state.backtracking==0 ) {
21944 before(grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2());
21945 }
21946 match(input,65,FOLLOW_2); if (state.failed) return ;
21947 if ( state.backtracking==0 ) {
21948 after(grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2());
21949 }
14382 21950
14383 if ( (LA43_0==41) ) {
14384 alt43=1;
14385 } 21951 }
14386 switch (alt43) {
14387 case 1 :
14388 // InternalSolverLanguage.g:4632:3: rule__FieldRelationInterpretation__ContainmentAssignment_0
14389 {
14390 pushFollow(FOLLOW_2);
14391 rule__FieldRelationInterpretation__ContainmentAssignment_0();
14392 21952
14393 state._fsp--;
14394 21953
21954 }
14395 21955
14396 } 21956 }
14397 break; 21957 catch (RecognitionException re) {
21958 reportError(re);
21959 recover(input,re);
21960 }
21961 finally {
21962
21963 restoreStackSize(stackSize);
21964
21965 }
21966 return ;
21967 }
21968 // $ANTLR end "rule__ExactMultiplicity__Group__2__Impl"
21969
21970
21971 // $ANTLR start "rule__BoundedMultiplicity__Group__0"
21972 // InternalSolverLanguage.g:6576:1: rule__BoundedMultiplicity__Group__0 : rule__BoundedMultiplicity__Group__0__Impl rule__BoundedMultiplicity__Group__1 ;
21973 public final void rule__BoundedMultiplicity__Group__0() throws RecognitionException {
21974
21975 int stackSize = keepStackSize();
21976
21977 try {
21978 // InternalSolverLanguage.g:6580:1: ( rule__BoundedMultiplicity__Group__0__Impl rule__BoundedMultiplicity__Group__1 )
21979 // InternalSolverLanguage.g:6581:2: rule__BoundedMultiplicity__Group__0__Impl rule__BoundedMultiplicity__Group__1
21980 {
21981 pushFollow(FOLLOW_53);
21982 rule__BoundedMultiplicity__Group__0__Impl();
21983
21984 state._fsp--;
21985 if (state.failed) return ;
21986 pushFollow(FOLLOW_2);
21987 rule__BoundedMultiplicity__Group__1();
21988
21989 state._fsp--;
21990 if (state.failed) return ;
14398 21991
14399 } 21992 }
14400 21993
14401 after(grammarAccess.getFieldRelationInterpretationAccess().getContainmentAssignment_0()); 21994 }
21995 catch (RecognitionException re) {
21996 reportError(re);
21997 recover(input,re);
21998 }
21999 finally {
22000
22001 restoreStackSize(stackSize);
22002
22003 }
22004 return ;
22005 }
22006 // $ANTLR end "rule__BoundedMultiplicity__Group__0"
22007
22008
22009 // $ANTLR start "rule__BoundedMultiplicity__Group__0__Impl"
22010 // InternalSolverLanguage.g:6588:1: rule__BoundedMultiplicity__Group__0__Impl : ( '[' ) ;
22011 public final void rule__BoundedMultiplicity__Group__0__Impl() throws RecognitionException {
22012
22013 int stackSize = keepStackSize();
22014
22015 try {
22016 // InternalSolverLanguage.g:6592:1: ( ( '[' ) )
22017 // InternalSolverLanguage.g:6593:1: ( '[' )
22018 {
22019 // InternalSolverLanguage.g:6593:1: ( '[' )
22020 // InternalSolverLanguage.g:6594:2: '['
22021 {
22022 if ( state.backtracking==0 ) {
22023 before(grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0());
22024 }
22025 match(input,63,FOLLOW_2); if (state.failed) return ;
22026 if ( state.backtracking==0 ) {
22027 after(grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0());
22028 }
14402 22029
14403 } 22030 }
14404 22031
@@ -14417,29 +22044,118 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14417 } 22044 }
14418 return ; 22045 return ;
14419 } 22046 }
14420 // $ANTLR end "rule__FieldRelationInterpretation__Group__0__Impl" 22047 // $ANTLR end "rule__BoundedMultiplicity__Group__0__Impl"
14421 22048
14422 22049
14423 // $ANTLR start "rule__FieldRelationInterpretation__Group__1" 22050 // $ANTLR start "rule__BoundedMultiplicity__Group__1"
14424 // InternalSolverLanguage.g:4640:1: rule__FieldRelationInterpretation__Group__1 : rule__FieldRelationInterpretation__Group__1__Impl rule__FieldRelationInterpretation__Group__2 ; 22051 // InternalSolverLanguage.g:6603:1: rule__BoundedMultiplicity__Group__1 : rule__BoundedMultiplicity__Group__1__Impl rule__BoundedMultiplicity__Group__2 ;
14425 public final void rule__FieldRelationInterpretation__Group__1() throws RecognitionException { 22052 public final void rule__BoundedMultiplicity__Group__1() throws RecognitionException {
14426 22053
14427 int stackSize = keepStackSize(); 22054 int stackSize = keepStackSize();
14428 22055
14429 try { 22056 try {
14430 // InternalSolverLanguage.g:4644:1: ( rule__FieldRelationInterpretation__Group__1__Impl rule__FieldRelationInterpretation__Group__2 ) 22057 // InternalSolverLanguage.g:6607:1: ( rule__BoundedMultiplicity__Group__1__Impl rule__BoundedMultiplicity__Group__2 )
14431 // InternalSolverLanguage.g:4645:2: rule__FieldRelationInterpretation__Group__1__Impl rule__FieldRelationInterpretation__Group__2 22058 // InternalSolverLanguage.g:6608:2: rule__BoundedMultiplicity__Group__1__Impl rule__BoundedMultiplicity__Group__2
14432 { 22059 {
14433 pushFollow(FOLLOW_25); 22060 pushFollow(FOLLOW_39);
14434 rule__FieldRelationInterpretation__Group__1__Impl(); 22061 rule__BoundedMultiplicity__Group__1__Impl();
14435 22062
14436 state._fsp--; 22063 state._fsp--;
22064 if (state.failed) return ;
22065 pushFollow(FOLLOW_2);
22066 rule__BoundedMultiplicity__Group__2();
22067
22068 state._fsp--;
22069 if (state.failed) return ;
22070
22071 }
22072
22073 }
22074 catch (RecognitionException re) {
22075 reportError(re);
22076 recover(input,re);
22077 }
22078 finally {
22079
22080 restoreStackSize(stackSize);
14437 22081
22082 }
22083 return ;
22084 }
22085 // $ANTLR end "rule__BoundedMultiplicity__Group__1"
22086
22087
22088 // $ANTLR start "rule__BoundedMultiplicity__Group__1__Impl"
22089 // InternalSolverLanguage.g:6615:1: rule__BoundedMultiplicity__Group__1__Impl : ( ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) ) ;
22090 public final void rule__BoundedMultiplicity__Group__1__Impl() throws RecognitionException {
22091
22092 int stackSize = keepStackSize();
22093
22094 try {
22095 // InternalSolverLanguage.g:6619:1: ( ( ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) ) )
22096 // InternalSolverLanguage.g:6620:1: ( ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) )
22097 {
22098 // InternalSolverLanguage.g:6620:1: ( ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) )
22099 // InternalSolverLanguage.g:6621:2: ( rule__BoundedMultiplicity__LowerBoundAssignment_1 )
22100 {
22101 if ( state.backtracking==0 ) {
22102 before(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundAssignment_1());
22103 }
22104 // InternalSolverLanguage.g:6622:2: ( rule__BoundedMultiplicity__LowerBoundAssignment_1 )
22105 // InternalSolverLanguage.g:6622:3: rule__BoundedMultiplicity__LowerBoundAssignment_1
22106 {
14438 pushFollow(FOLLOW_2); 22107 pushFollow(FOLLOW_2);
14439 rule__FieldRelationInterpretation__Group__2(); 22108 rule__BoundedMultiplicity__LowerBoundAssignment_1();
22109
22110 state._fsp--;
22111 if (state.failed) return ;
22112
22113 }
22114
22115 if ( state.backtracking==0 ) {
22116 after(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundAssignment_1());
22117 }
22118
22119 }
22120
22121
22122 }
22123
22124 }
22125 catch (RecognitionException re) {
22126 reportError(re);
22127 recover(input,re);
22128 }
22129 finally {
22130
22131 restoreStackSize(stackSize);
22132
22133 }
22134 return ;
22135 }
22136 // $ANTLR end "rule__BoundedMultiplicity__Group__1__Impl"
22137
22138
22139 // $ANTLR start "rule__BoundedMultiplicity__Group__2"
22140 // InternalSolverLanguage.g:6630:1: rule__BoundedMultiplicity__Group__2 : rule__BoundedMultiplicity__Group__2__Impl rule__BoundedMultiplicity__Group__3 ;
22141 public final void rule__BoundedMultiplicity__Group__2() throws RecognitionException {
22142
22143 int stackSize = keepStackSize();
22144
22145 try {
22146 // InternalSolverLanguage.g:6634:1: ( rule__BoundedMultiplicity__Group__2__Impl rule__BoundedMultiplicity__Group__3 )
22147 // InternalSolverLanguage.g:6635:2: rule__BoundedMultiplicity__Group__2__Impl rule__BoundedMultiplicity__Group__3
22148 {
22149 pushFollow(FOLLOW_52);
22150 rule__BoundedMultiplicity__Group__2__Impl();
14440 22151
14441 state._fsp--; 22152 state._fsp--;
22153 if (state.failed) return ;
22154 pushFollow(FOLLOW_2);
22155 rule__BoundedMultiplicity__Group__3();
14442 22156
22157 state._fsp--;
22158 if (state.failed) return ;
14443 22159
14444 } 22160 }
14445 22161
@@ -14455,35 +22171,118 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14455 } 22171 }
14456 return ; 22172 return ;
14457 } 22173 }
14458 // $ANTLR end "rule__FieldRelationInterpretation__Group__1" 22174 // $ANTLR end "rule__BoundedMultiplicity__Group__2"
14459 22175
14460 22176
14461 // $ANTLR start "rule__FieldRelationInterpretation__Group__1__Impl" 22177 // $ANTLR start "rule__BoundedMultiplicity__Group__2__Impl"
14462 // InternalSolverLanguage.g:4652:1: rule__FieldRelationInterpretation__Group__1__Impl : ( ( rule__FieldRelationInterpretation__SymbolAssignment_1 ) ) ; 22178 // InternalSolverLanguage.g:6642:1: rule__BoundedMultiplicity__Group__2__Impl : ( '..' ) ;
14463 public final void rule__FieldRelationInterpretation__Group__1__Impl() throws RecognitionException { 22179 public final void rule__BoundedMultiplicity__Group__2__Impl() throws RecognitionException {
14464 22180
14465 int stackSize = keepStackSize(); 22181 int stackSize = keepStackSize();
14466 22182
14467 try { 22183 try {
14468 // InternalSolverLanguage.g:4656:1: ( ( ( rule__FieldRelationInterpretation__SymbolAssignment_1 ) ) ) 22184 // InternalSolverLanguage.g:6646:1: ( ( '..' ) )
14469 // InternalSolverLanguage.g:4657:1: ( ( rule__FieldRelationInterpretation__SymbolAssignment_1 ) ) 22185 // InternalSolverLanguage.g:6647:1: ( '..' )
14470 { 22186 {
14471 // InternalSolverLanguage.g:4657:1: ( ( rule__FieldRelationInterpretation__SymbolAssignment_1 ) ) 22187 // InternalSolverLanguage.g:6647:1: ( '..' )
14472 // InternalSolverLanguage.g:4658:2: ( rule__FieldRelationInterpretation__SymbolAssignment_1 ) 22188 // InternalSolverLanguage.g:6648:2: '..'
14473 { 22189 {
14474 before(grammarAccess.getFieldRelationInterpretationAccess().getSymbolAssignment_1()); 22190 if ( state.backtracking==0 ) {
14475 // InternalSolverLanguage.g:4659:2: ( rule__FieldRelationInterpretation__SymbolAssignment_1 ) 22191 before(grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2());
14476 // InternalSolverLanguage.g:4659:3: rule__FieldRelationInterpretation__SymbolAssignment_1 22192 }
22193 match(input,64,FOLLOW_2); if (state.failed) return ;
22194 if ( state.backtracking==0 ) {
22195 after(grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2());
22196 }
22197
22198 }
22199
22200
22201 }
22202
22203 }
22204 catch (RecognitionException re) {
22205 reportError(re);
22206 recover(input,re);
22207 }
22208 finally {
22209
22210 restoreStackSize(stackSize);
22211
22212 }
22213 return ;
22214 }
22215 // $ANTLR end "rule__BoundedMultiplicity__Group__2__Impl"
22216
22217
22218 // $ANTLR start "rule__BoundedMultiplicity__Group__3"
22219 // InternalSolverLanguage.g:6657:1: rule__BoundedMultiplicity__Group__3 : rule__BoundedMultiplicity__Group__3__Impl rule__BoundedMultiplicity__Group__4 ;
22220 public final void rule__BoundedMultiplicity__Group__3() throws RecognitionException {
22221
22222 int stackSize = keepStackSize();
22223
22224 try {
22225 // InternalSolverLanguage.g:6661:1: ( rule__BoundedMultiplicity__Group__3__Impl rule__BoundedMultiplicity__Group__4 )
22226 // InternalSolverLanguage.g:6662:2: rule__BoundedMultiplicity__Group__3__Impl rule__BoundedMultiplicity__Group__4
14477 { 22227 {
22228 pushFollow(FOLLOW_40);
22229 rule__BoundedMultiplicity__Group__3__Impl();
22230
22231 state._fsp--;
22232 if (state.failed) return ;
14478 pushFollow(FOLLOW_2); 22233 pushFollow(FOLLOW_2);
14479 rule__FieldRelationInterpretation__SymbolAssignment_1(); 22234 rule__BoundedMultiplicity__Group__4();
14480 22235
14481 state._fsp--; 22236 state._fsp--;
22237 if (state.failed) return ;
22238
22239 }
22240
22241 }
22242 catch (RecognitionException re) {
22243 reportError(re);
22244 recover(input,re);
22245 }
22246 finally {
14482 22247
22248 restoreStackSize(stackSize);
22249
22250 }
22251 return ;
22252 }
22253 // $ANTLR end "rule__BoundedMultiplicity__Group__3"
22254
22255
22256 // $ANTLR start "rule__BoundedMultiplicity__Group__3__Impl"
22257 // InternalSolverLanguage.g:6669:1: rule__BoundedMultiplicity__Group__3__Impl : ( ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) ) ;
22258 public final void rule__BoundedMultiplicity__Group__3__Impl() throws RecognitionException {
22259
22260 int stackSize = keepStackSize();
22261
22262 try {
22263 // InternalSolverLanguage.g:6673:1: ( ( ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) ) )
22264 // InternalSolverLanguage.g:6674:1: ( ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) )
22265 {
22266 // InternalSolverLanguage.g:6674:1: ( ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) )
22267 // InternalSolverLanguage.g:6675:2: ( rule__BoundedMultiplicity__UpperBoundAssignment_3 )
22268 {
22269 if ( state.backtracking==0 ) {
22270 before(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundAssignment_3());
22271 }
22272 // InternalSolverLanguage.g:6676:2: ( rule__BoundedMultiplicity__UpperBoundAssignment_3 )
22273 // InternalSolverLanguage.g:6676:3: rule__BoundedMultiplicity__UpperBoundAssignment_3
22274 {
22275 pushFollow(FOLLOW_2);
22276 rule__BoundedMultiplicity__UpperBoundAssignment_3();
22277
22278 state._fsp--;
22279 if (state.failed) return ;
14483 22280
14484 } 22281 }
14485 22282
14486 after(grammarAccess.getFieldRelationInterpretationAccess().getSymbolAssignment_1()); 22283 if ( state.backtracking==0 ) {
22284 after(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundAssignment_3());
22285 }
14487 22286
14488 } 22287 }
14489 22288
@@ -14502,29 +22301,103 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14502 } 22301 }
14503 return ; 22302 return ;
14504 } 22303 }
14505 // $ANTLR end "rule__FieldRelationInterpretation__Group__1__Impl" 22304 // $ANTLR end "rule__BoundedMultiplicity__Group__3__Impl"
14506 22305
14507 22306
14508 // $ANTLR start "rule__FieldRelationInterpretation__Group__2" 22307 // $ANTLR start "rule__BoundedMultiplicity__Group__4"
14509 // InternalSolverLanguage.g:4667:1: rule__FieldRelationInterpretation__Group__2 : rule__FieldRelationInterpretation__Group__2__Impl rule__FieldRelationInterpretation__Group__3 ; 22308 // InternalSolverLanguage.g:6684:1: rule__BoundedMultiplicity__Group__4 : rule__BoundedMultiplicity__Group__4__Impl ;
14510 public final void rule__FieldRelationInterpretation__Group__2() throws RecognitionException { 22309 public final void rule__BoundedMultiplicity__Group__4() throws RecognitionException {
14511 22310
14512 int stackSize = keepStackSize(); 22311 int stackSize = keepStackSize();
14513 22312
14514 try { 22313 try {
14515 // InternalSolverLanguage.g:4671:1: ( rule__FieldRelationInterpretation__Group__2__Impl rule__FieldRelationInterpretation__Group__3 ) 22314 // InternalSolverLanguage.g:6688:1: ( rule__BoundedMultiplicity__Group__4__Impl )
14516 // InternalSolverLanguage.g:4672:2: rule__FieldRelationInterpretation__Group__2__Impl rule__FieldRelationInterpretation__Group__3 22315 // InternalSolverLanguage.g:6689:2: rule__BoundedMultiplicity__Group__4__Impl
14517 { 22316 {
14518 pushFollow(FOLLOW_44); 22317 pushFollow(FOLLOW_2);
14519 rule__FieldRelationInterpretation__Group__2__Impl(); 22318 rule__BoundedMultiplicity__Group__4__Impl();
14520 22319
14521 state._fsp--; 22320 state._fsp--;
22321 if (state.failed) return ;
14522 22322
14523 pushFollow(FOLLOW_2); 22323 }
14524 rule__FieldRelationInterpretation__Group__3(); 22324
22325 }
22326 catch (RecognitionException re) {
22327 reportError(re);
22328 recover(input,re);
22329 }
22330 finally {
22331
22332 restoreStackSize(stackSize);
22333
22334 }
22335 return ;
22336 }
22337 // $ANTLR end "rule__BoundedMultiplicity__Group__4"
22338
22339
22340 // $ANTLR start "rule__BoundedMultiplicity__Group__4__Impl"
22341 // InternalSolverLanguage.g:6695:1: rule__BoundedMultiplicity__Group__4__Impl : ( ']' ) ;
22342 public final void rule__BoundedMultiplicity__Group__4__Impl() throws RecognitionException {
22343
22344 int stackSize = keepStackSize();
22345
22346 try {
22347 // InternalSolverLanguage.g:6699:1: ( ( ']' ) )
22348 // InternalSolverLanguage.g:6700:1: ( ']' )
22349 {
22350 // InternalSolverLanguage.g:6700:1: ( ']' )
22351 // InternalSolverLanguage.g:6701:2: ']'
22352 {
22353 if ( state.backtracking==0 ) {
22354 before(grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4());
22355 }
22356 match(input,65,FOLLOW_2); if (state.failed) return ;
22357 if ( state.backtracking==0 ) {
22358 after(grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4());
22359 }
22360
22361 }
22362
22363
22364 }
22365
22366 }
22367 catch (RecognitionException re) {
22368 reportError(re);
22369 recover(input,re);
22370 }
22371 finally {
22372
22373 restoreStackSize(stackSize);
22374
22375 }
22376 return ;
22377 }
22378 // $ANTLR end "rule__BoundedMultiplicity__Group__4__Impl"
22379
22380
22381 // $ANTLR start "rule__ExactScopeDefinition__Group__0"
22382 // InternalSolverLanguage.g:6711:1: rule__ExactScopeDefinition__Group__0 : rule__ExactScopeDefinition__Group__0__Impl rule__ExactScopeDefinition__Group__1 ;
22383 public final void rule__ExactScopeDefinition__Group__0() throws RecognitionException {
22384
22385 int stackSize = keepStackSize();
22386
22387 try {
22388 // InternalSolverLanguage.g:6715:1: ( rule__ExactScopeDefinition__Group__0__Impl rule__ExactScopeDefinition__Group__1 )
22389 // InternalSolverLanguage.g:6716:2: rule__ExactScopeDefinition__Group__0__Impl rule__ExactScopeDefinition__Group__1
22390 {
22391 pushFollow(FOLLOW_9);
22392 rule__ExactScopeDefinition__Group__0__Impl();
14525 22393
14526 state._fsp--; 22394 state._fsp--;
22395 if (state.failed) return ;
22396 pushFollow(FOLLOW_2);
22397 rule__ExactScopeDefinition__Group__1();
14527 22398
22399 state._fsp--;
22400 if (state.failed) return ;
14528 22401
14529 } 22402 }
14530 22403
@@ -14540,25 +22413,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14540 } 22413 }
14541 return ; 22414 return ;
14542 } 22415 }
14543 // $ANTLR end "rule__FieldRelationInterpretation__Group__2" 22416 // $ANTLR end "rule__ExactScopeDefinition__Group__0"
14544 22417
14545 22418
14546 // $ANTLR start "rule__FieldRelationInterpretation__Group__2__Impl" 22419 // $ANTLR start "rule__ExactScopeDefinition__Group__0__Impl"
14547 // InternalSolverLanguage.g:4679:1: rule__FieldRelationInterpretation__Group__2__Impl : ( ':' ) ; 22420 // InternalSolverLanguage.g:6723:1: rule__ExactScopeDefinition__Group__0__Impl : ( 'scope' ) ;
14548 public final void rule__FieldRelationInterpretation__Group__2__Impl() throws RecognitionException { 22421 public final void rule__ExactScopeDefinition__Group__0__Impl() throws RecognitionException {
14549 22422
14550 int stackSize = keepStackSize(); 22423 int stackSize = keepStackSize();
14551 22424
14552 try { 22425 try {
14553 // InternalSolverLanguage.g:4683:1: ( ( ':' ) ) 22426 // InternalSolverLanguage.g:6727:1: ( ( 'scope' ) )
14554 // InternalSolverLanguage.g:4684:1: ( ':' ) 22427 // InternalSolverLanguage.g:6728:1: ( 'scope' )
14555 { 22428 {
14556 // InternalSolverLanguage.g:4684:1: ( ':' ) 22429 // InternalSolverLanguage.g:6728:1: ( 'scope' )
14557 // InternalSolverLanguage.g:4685:2: ':' 22430 // InternalSolverLanguage.g:6729:2: 'scope'
14558 { 22431 {
14559 before(grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2()); 22432 if ( state.backtracking==0 ) {
14560 match(input,17,FOLLOW_2); 22433 before(grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0());
14561 after(grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2()); 22434 }
22435 match(input,71,FOLLOW_2); if (state.failed) return ;
22436 if ( state.backtracking==0 ) {
22437 after(grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0());
22438 }
14562 22439
14563 } 22440 }
14564 22441
@@ -14577,28 +22454,79 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14577 } 22454 }
14578 return ; 22455 return ;
14579 } 22456 }
14580 // $ANTLR end "rule__FieldRelationInterpretation__Group__2__Impl" 22457 // $ANTLR end "rule__ExactScopeDefinition__Group__0__Impl"
14581 22458
14582 22459
14583 // $ANTLR start "rule__FieldRelationInterpretation__Group__3" 22460 // $ANTLR start "rule__ExactScopeDefinition__Group__1"
14584 // InternalSolverLanguage.g:4694:1: rule__FieldRelationInterpretation__Group__3 : rule__FieldRelationInterpretation__Group__3__Impl rule__FieldRelationInterpretation__Group__4 ; 22461 // InternalSolverLanguage.g:6738:1: rule__ExactScopeDefinition__Group__1 : rule__ExactScopeDefinition__Group__1__Impl rule__ExactScopeDefinition__Group__2 ;
14585 public final void rule__FieldRelationInterpretation__Group__3() throws RecognitionException { 22462 public final void rule__ExactScopeDefinition__Group__1() throws RecognitionException {
14586 22463
14587 int stackSize = keepStackSize(); 22464 int stackSize = keepStackSize();
14588 22465
14589 try { 22466 try {
14590 // InternalSolverLanguage.g:4698:1: ( rule__FieldRelationInterpretation__Group__3__Impl rule__FieldRelationInterpretation__Group__4 ) 22467 // InternalSolverLanguage.g:6742:1: ( rule__ExactScopeDefinition__Group__1__Impl rule__ExactScopeDefinition__Group__2 )
14591 // InternalSolverLanguage.g:4699:2: rule__FieldRelationInterpretation__Group__3__Impl rule__FieldRelationInterpretation__Group__4 22468 // InternalSolverLanguage.g:6743:2: rule__ExactScopeDefinition__Group__1__Impl rule__ExactScopeDefinition__Group__2
14592 { 22469 {
14593 pushFollow(FOLLOW_44); 22470 pushFollow(FOLLOW_54);
14594 rule__FieldRelationInterpretation__Group__3__Impl(); 22471 rule__ExactScopeDefinition__Group__1__Impl();
22472
22473 state._fsp--;
22474 if (state.failed) return ;
22475 pushFollow(FOLLOW_2);
22476 rule__ExactScopeDefinition__Group__2();
14595 22477
14596 state._fsp--; 22478 state._fsp--;
22479 if (state.failed) return ;
14597 22480
22481 }
22482
22483 }
22484 catch (RecognitionException re) {
22485 reportError(re);
22486 recover(input,re);
22487 }
22488 finally {
22489
22490 restoreStackSize(stackSize);
22491
22492 }
22493 return ;
22494 }
22495 // $ANTLR end "rule__ExactScopeDefinition__Group__1"
22496
22497
22498 // $ANTLR start "rule__ExactScopeDefinition__Group__1__Impl"
22499 // InternalSolverLanguage.g:6750:1: rule__ExactScopeDefinition__Group__1__Impl : ( ( rule__ExactScopeDefinition__TypeAssignment_1 ) ) ;
22500 public final void rule__ExactScopeDefinition__Group__1__Impl() throws RecognitionException {
22501
22502 int stackSize = keepStackSize();
22503
22504 try {
22505 // InternalSolverLanguage.g:6754:1: ( ( ( rule__ExactScopeDefinition__TypeAssignment_1 ) ) )
22506 // InternalSolverLanguage.g:6755:1: ( ( rule__ExactScopeDefinition__TypeAssignment_1 ) )
22507 {
22508 // InternalSolverLanguage.g:6755:1: ( ( rule__ExactScopeDefinition__TypeAssignment_1 ) )
22509 // InternalSolverLanguage.g:6756:2: ( rule__ExactScopeDefinition__TypeAssignment_1 )
22510 {
22511 if ( state.backtracking==0 ) {
22512 before(grammarAccess.getExactScopeDefinitionAccess().getTypeAssignment_1());
22513 }
22514 // InternalSolverLanguage.g:6757:2: ( rule__ExactScopeDefinition__TypeAssignment_1 )
22515 // InternalSolverLanguage.g:6757:3: rule__ExactScopeDefinition__TypeAssignment_1
22516 {
14598 pushFollow(FOLLOW_2); 22517 pushFollow(FOLLOW_2);
14599 rule__FieldRelationInterpretation__Group__4(); 22518 rule__ExactScopeDefinition__TypeAssignment_1();
14600 22519
14601 state._fsp--; 22520 state._fsp--;
22521 if (state.failed) return ;
22522
22523 }
22524
22525 if ( state.backtracking==0 ) {
22526 after(grammarAccess.getExactScopeDefinitionAccess().getTypeAssignment_1());
22527 }
22528
22529 }
14602 22530
14603 22531
14604 } 22532 }
@@ -14615,49 +22543,103 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14615 } 22543 }
14616 return ; 22544 return ;
14617 } 22545 }
14618 // $ANTLR end "rule__FieldRelationInterpretation__Group__3" 22546 // $ANTLR end "rule__ExactScopeDefinition__Group__1__Impl"
14619 22547
14620 22548
14621 // $ANTLR start "rule__FieldRelationInterpretation__Group__3__Impl" 22549 // $ANTLR start "rule__ExactScopeDefinition__Group__2"
14622 // InternalSolverLanguage.g:4706:1: rule__FieldRelationInterpretation__Group__3__Impl : ( ( rule__FieldRelationInterpretation__MultiplicityAssignment_3 )? ) ; 22550 // InternalSolverLanguage.g:6765:1: rule__ExactScopeDefinition__Group__2 : rule__ExactScopeDefinition__Group__2__Impl rule__ExactScopeDefinition__Group__3 ;
14623 public final void rule__FieldRelationInterpretation__Group__3__Impl() throws RecognitionException { 22551 public final void rule__ExactScopeDefinition__Group__2() throws RecognitionException {
14624 22552
14625 int stackSize = keepStackSize(); 22553 int stackSize = keepStackSize();
14626 22554
14627 try { 22555 try {
14628 // InternalSolverLanguage.g:4710:1: ( ( ( rule__FieldRelationInterpretation__MultiplicityAssignment_3 )? ) ) 22556 // InternalSolverLanguage.g:6769:1: ( rule__ExactScopeDefinition__Group__2__Impl rule__ExactScopeDefinition__Group__3 )
14629 // InternalSolverLanguage.g:4711:1: ( ( rule__FieldRelationInterpretation__MultiplicityAssignment_3 )? ) 22557 // InternalSolverLanguage.g:6770:2: rule__ExactScopeDefinition__Group__2__Impl rule__ExactScopeDefinition__Group__3
14630 { 22558 {
14631 // InternalSolverLanguage.g:4711:1: ( ( rule__FieldRelationInterpretation__MultiplicityAssignment_3 )? ) 22559 pushFollow(FOLLOW_53);
14632 // InternalSolverLanguage.g:4712:2: ( rule__FieldRelationInterpretation__MultiplicityAssignment_3 )? 22560 rule__ExactScopeDefinition__Group__2__Impl();
14633 { 22561
14634 before(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityAssignment_3()); 22562 state._fsp--;
14635 // InternalSolverLanguage.g:4713:2: ( rule__FieldRelationInterpretation__MultiplicityAssignment_3 )? 22563 if (state.failed) return ;
14636 int alt44=2; 22564 pushFollow(FOLLOW_2);
14637 int LA44_0 = input.LA(1); 22565 rule__ExactScopeDefinition__Group__3();
22566
22567 state._fsp--;
22568 if (state.failed) return ;
14638 22569
14639 if ( (LA44_0==RULE_INT) ) {
14640 alt44=1;
14641 } 22570 }
14642 switch (alt44) {
14643 case 1 :
14644 // InternalSolverLanguage.g:4713:3: rule__FieldRelationInterpretation__MultiplicityAssignment_3
14645 {
14646 pushFollow(FOLLOW_2);
14647 rule__FieldRelationInterpretation__MultiplicityAssignment_3();
14648 22571
14649 state._fsp--; 22572 }
22573 catch (RecognitionException re) {
22574 reportError(re);
22575 recover(input,re);
22576 }
22577 finally {
14650 22578
22579 restoreStackSize(stackSize);
14651 22580
14652 } 22581 }
14653 break; 22582 return ;
22583 }
22584 // $ANTLR end "rule__ExactScopeDefinition__Group__2"
22585
22586
22587 // $ANTLR start "rule__ExactScopeDefinition__Group__2__Impl"
22588 // InternalSolverLanguage.g:6777:1: rule__ExactScopeDefinition__Group__2__Impl : ( '==' ) ;
22589 public final void rule__ExactScopeDefinition__Group__2__Impl() throws RecognitionException {
22590
22591 int stackSize = keepStackSize();
22592
22593 try {
22594 // InternalSolverLanguage.g:6781:1: ( ( '==' ) )
22595 // InternalSolverLanguage.g:6782:1: ( '==' )
22596 {
22597 // InternalSolverLanguage.g:6782:1: ( '==' )
22598 // InternalSolverLanguage.g:6783:2: '=='
22599 {
22600 if ( state.backtracking==0 ) {
22601 before(grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2());
22602 }
22603 match(input,19,FOLLOW_2); if (state.failed) return ;
22604 if ( state.backtracking==0 ) {
22605 after(grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2());
22606 }
14654 22607
14655 } 22608 }
14656 22609
14657 after(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityAssignment_3());
14658 22610
14659 } 22611 }
14660 22612
22613 }
22614 catch (RecognitionException re) {
22615 reportError(re);
22616 recover(input,re);
22617 }
22618 finally {
22619
22620 restoreStackSize(stackSize);
22621
22622 }
22623 return ;
22624 }
22625 // $ANTLR end "rule__ExactScopeDefinition__Group__2__Impl"
22626
22627
22628 // $ANTLR start "rule__ExactScopeDefinition__Group__3"
22629 // InternalSolverLanguage.g:6792:1: rule__ExactScopeDefinition__Group__3 : rule__ExactScopeDefinition__Group__3__Impl ;
22630 public final void rule__ExactScopeDefinition__Group__3() throws RecognitionException {
22631
22632 int stackSize = keepStackSize();
22633
22634 try {
22635 // InternalSolverLanguage.g:6796:1: ( rule__ExactScopeDefinition__Group__3__Impl )
22636 // InternalSolverLanguage.g:6797:2: rule__ExactScopeDefinition__Group__3__Impl
22637 {
22638 pushFollow(FOLLOW_2);
22639 rule__ExactScopeDefinition__Group__3__Impl();
22640
22641 state._fsp--;
22642 if (state.failed) return ;
14661 22643
14662 } 22644 }
14663 22645
@@ -14673,24 +22655,80 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14673 } 22655 }
14674 return ; 22656 return ;
14675 } 22657 }
14676 // $ANTLR end "rule__FieldRelationInterpretation__Group__3__Impl" 22658 // $ANTLR end "rule__ExactScopeDefinition__Group__3"
14677 22659
14678 22660
14679 // $ANTLR start "rule__FieldRelationInterpretation__Group__4" 22661 // $ANTLR start "rule__ExactScopeDefinition__Group__3__Impl"
14680 // InternalSolverLanguage.g:4721:1: rule__FieldRelationInterpretation__Group__4 : rule__FieldRelationInterpretation__Group__4__Impl ; 22662 // InternalSolverLanguage.g:6803:1: rule__ExactScopeDefinition__Group__3__Impl : ( ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) ) ;
14681 public final void rule__FieldRelationInterpretation__Group__4() throws RecognitionException { 22663 public final void rule__ExactScopeDefinition__Group__3__Impl() throws RecognitionException {
14682 22664
14683 int stackSize = keepStackSize(); 22665 int stackSize = keepStackSize();
14684 22666
14685 try { 22667 try {
14686 // InternalSolverLanguage.g:4725:1: ( rule__FieldRelationInterpretation__Group__4__Impl ) 22668 // InternalSolverLanguage.g:6807:1: ( ( ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) ) )
14687 // InternalSolverLanguage.g:4726:2: rule__FieldRelationInterpretation__Group__4__Impl 22669 // InternalSolverLanguage.g:6808:1: ( ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) )
22670 {
22671 // InternalSolverLanguage.g:6808:1: ( ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) )
22672 // InternalSolverLanguage.g:6809:2: ( rule__ExactScopeDefinition__ExactScopeAssignment_3 )
22673 {
22674 if ( state.backtracking==0 ) {
22675 before(grammarAccess.getExactScopeDefinitionAccess().getExactScopeAssignment_3());
22676 }
22677 // InternalSolverLanguage.g:6810:2: ( rule__ExactScopeDefinition__ExactScopeAssignment_3 )
22678 // InternalSolverLanguage.g:6810:3: rule__ExactScopeDefinition__ExactScopeAssignment_3
14688 { 22679 {
14689 pushFollow(FOLLOW_2); 22680 pushFollow(FOLLOW_2);
14690 rule__FieldRelationInterpretation__Group__4__Impl(); 22681 rule__ExactScopeDefinition__ExactScopeAssignment_3();
22682
22683 state._fsp--;
22684 if (state.failed) return ;
22685
22686 }
22687
22688 if ( state.backtracking==0 ) {
22689 after(grammarAccess.getExactScopeDefinitionAccess().getExactScopeAssignment_3());
22690 }
22691
22692 }
22693
22694
22695 }
22696
22697 }
22698 catch (RecognitionException re) {
22699 reportError(re);
22700 recover(input,re);
22701 }
22702 finally {
22703
22704 restoreStackSize(stackSize);
22705
22706 }
22707 return ;
22708 }
22709 // $ANTLR end "rule__ExactScopeDefinition__Group__3__Impl"
22710
22711
22712 // $ANTLR start "rule__BoundedScopeDefinition__Group__0"
22713 // InternalSolverLanguage.g:6819:1: rule__BoundedScopeDefinition__Group__0 : rule__BoundedScopeDefinition__Group__0__Impl rule__BoundedScopeDefinition__Group__1 ;
22714 public final void rule__BoundedScopeDefinition__Group__0() throws RecognitionException {
22715
22716 int stackSize = keepStackSize();
22717
22718 try {
22719 // InternalSolverLanguage.g:6823:1: ( rule__BoundedScopeDefinition__Group__0__Impl rule__BoundedScopeDefinition__Group__1 )
22720 // InternalSolverLanguage.g:6824:2: rule__BoundedScopeDefinition__Group__0__Impl rule__BoundedScopeDefinition__Group__1
22721 {
22722 pushFollow(FOLLOW_55);
22723 rule__BoundedScopeDefinition__Group__0__Impl();
14691 22724
14692 state._fsp--; 22725 state._fsp--;
22726 if (state.failed) return ;
22727 pushFollow(FOLLOW_2);
22728 rule__BoundedScopeDefinition__Group__1();
14693 22729
22730 state._fsp--;
22731 if (state.failed) return ;
14694 22732
14695 } 22733 }
14696 22734
@@ -14706,35 +22744,118 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14706 } 22744 }
14707 return ; 22745 return ;
14708 } 22746 }
14709 // $ANTLR end "rule__FieldRelationInterpretation__Group__4" 22747 // $ANTLR end "rule__BoundedScopeDefinition__Group__0"
14710 22748
14711 22749
14712 // $ANTLR start "rule__FieldRelationInterpretation__Group__4__Impl" 22750 // $ANTLR start "rule__BoundedScopeDefinition__Group__0__Impl"
14713 // InternalSolverLanguage.g:4732:1: rule__FieldRelationInterpretation__Group__4__Impl : ( ( rule__FieldRelationInterpretation__TargetAssignment_4 ) ) ; 22751 // InternalSolverLanguage.g:6831:1: rule__BoundedScopeDefinition__Group__0__Impl : ( 'scope' ) ;
14714 public final void rule__FieldRelationInterpretation__Group__4__Impl() throws RecognitionException { 22752 public final void rule__BoundedScopeDefinition__Group__0__Impl() throws RecognitionException {
14715 22753
14716 int stackSize = keepStackSize(); 22754 int stackSize = keepStackSize();
14717 22755
14718 try { 22756 try {
14719 // InternalSolverLanguage.g:4736:1: ( ( ( rule__FieldRelationInterpretation__TargetAssignment_4 ) ) ) 22757 // InternalSolverLanguage.g:6835:1: ( ( 'scope' ) )
14720 // InternalSolverLanguage.g:4737:1: ( ( rule__FieldRelationInterpretation__TargetAssignment_4 ) ) 22758 // InternalSolverLanguage.g:6836:1: ( 'scope' )
14721 { 22759 {
14722 // InternalSolverLanguage.g:4737:1: ( ( rule__FieldRelationInterpretation__TargetAssignment_4 ) ) 22760 // InternalSolverLanguage.g:6836:1: ( 'scope' )
14723 // InternalSolverLanguage.g:4738:2: ( rule__FieldRelationInterpretation__TargetAssignment_4 ) 22761 // InternalSolverLanguage.g:6837:2: 'scope'
14724 { 22762 {
14725 before(grammarAccess.getFieldRelationInterpretationAccess().getTargetAssignment_4()); 22763 if ( state.backtracking==0 ) {
14726 // InternalSolverLanguage.g:4739:2: ( rule__FieldRelationInterpretation__TargetAssignment_4 ) 22764 before(grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0());
14727 // InternalSolverLanguage.g:4739:3: rule__FieldRelationInterpretation__TargetAssignment_4 22765 }
22766 match(input,71,FOLLOW_2); if (state.failed) return ;
22767 if ( state.backtracking==0 ) {
22768 after(grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0());
22769 }
22770
22771 }
22772
22773
22774 }
22775
22776 }
22777 catch (RecognitionException re) {
22778 reportError(re);
22779 recover(input,re);
22780 }
22781 finally {
22782
22783 restoreStackSize(stackSize);
22784
22785 }
22786 return ;
22787 }
22788 // $ANTLR end "rule__BoundedScopeDefinition__Group__0__Impl"
22789
22790
22791 // $ANTLR start "rule__BoundedScopeDefinition__Group__1"
22792 // InternalSolverLanguage.g:6846:1: rule__BoundedScopeDefinition__Group__1 : rule__BoundedScopeDefinition__Group__1__Impl rule__BoundedScopeDefinition__Group__2 ;
22793 public final void rule__BoundedScopeDefinition__Group__1() throws RecognitionException {
22794
22795 int stackSize = keepStackSize();
22796
22797 try {
22798 // InternalSolverLanguage.g:6850:1: ( rule__BoundedScopeDefinition__Group__1__Impl rule__BoundedScopeDefinition__Group__2 )
22799 // InternalSolverLanguage.g:6851:2: rule__BoundedScopeDefinition__Group__1__Impl rule__BoundedScopeDefinition__Group__2
14728 { 22800 {
22801 pushFollow(FOLLOW_13);
22802 rule__BoundedScopeDefinition__Group__1__Impl();
22803
22804 state._fsp--;
22805 if (state.failed) return ;
14729 pushFollow(FOLLOW_2); 22806 pushFollow(FOLLOW_2);
14730 rule__FieldRelationInterpretation__TargetAssignment_4(); 22807 rule__BoundedScopeDefinition__Group__2();
14731 22808
14732 state._fsp--; 22809 state._fsp--;
22810 if (state.failed) return ;
22811
22812 }
22813
22814 }
22815 catch (RecognitionException re) {
22816 reportError(re);
22817 recover(input,re);
22818 }
22819 finally {
14733 22820
22821 restoreStackSize(stackSize);
14734 22822
22823 }
22824 return ;
22825 }
22826 // $ANTLR end "rule__BoundedScopeDefinition__Group__1"
22827
22828
22829 // $ANTLR start "rule__BoundedScopeDefinition__Group__1__Impl"
22830 // InternalSolverLanguage.g:6858:1: rule__BoundedScopeDefinition__Group__1__Impl : ( ( rule__BoundedScopeDefinition__Alternatives_1 ) ) ;
22831 public final void rule__BoundedScopeDefinition__Group__1__Impl() throws RecognitionException {
22832
22833 int stackSize = keepStackSize();
22834
22835 try {
22836 // InternalSolverLanguage.g:6862:1: ( ( ( rule__BoundedScopeDefinition__Alternatives_1 ) ) )
22837 // InternalSolverLanguage.g:6863:1: ( ( rule__BoundedScopeDefinition__Alternatives_1 ) )
22838 {
22839 // InternalSolverLanguage.g:6863:1: ( ( rule__BoundedScopeDefinition__Alternatives_1 ) )
22840 // InternalSolverLanguage.g:6864:2: ( rule__BoundedScopeDefinition__Alternatives_1 )
22841 {
22842 if ( state.backtracking==0 ) {
22843 before(grammarAccess.getBoundedScopeDefinitionAccess().getAlternatives_1());
14735 } 22844 }
22845 // InternalSolverLanguage.g:6865:2: ( rule__BoundedScopeDefinition__Alternatives_1 )
22846 // InternalSolverLanguage.g:6865:3: rule__BoundedScopeDefinition__Alternatives_1
22847 {
22848 pushFollow(FOLLOW_2);
22849 rule__BoundedScopeDefinition__Alternatives_1();
14736 22850
14737 after(grammarAccess.getFieldRelationInterpretationAccess().getTargetAssignment_4()); 22851 state._fsp--;
22852 if (state.failed) return ;
22853
22854 }
22855
22856 if ( state.backtracking==0 ) {
22857 after(grammarAccess.getBoundedScopeDefinitionAccess().getAlternatives_1());
22858 }
14738 22859
14739 } 22860 }
14740 22861
@@ -14753,29 +22874,103 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14753 } 22874 }
14754 return ; 22875 return ;
14755 } 22876 }
14756 // $ANTLR end "rule__FieldRelationInterpretation__Group__4__Impl" 22877 // $ANTLR end "rule__BoundedScopeDefinition__Group__1__Impl"
14757 22878
14758 22879
14759 // $ANTLR start "rule__GlobalRelationInterpretation__Group__0" 22880 // $ANTLR start "rule__BoundedScopeDefinition__Group__2"
14760 // InternalSolverLanguage.g:4748:1: rule__GlobalRelationInterpretation__Group__0 : rule__GlobalRelationInterpretation__Group__0__Impl rule__GlobalRelationInterpretation__Group__1 ; 22881 // InternalSolverLanguage.g:6873:1: rule__BoundedScopeDefinition__Group__2 : rule__BoundedScopeDefinition__Group__2__Impl ;
14761 public final void rule__GlobalRelationInterpretation__Group__0() throws RecognitionException { 22882 public final void rule__BoundedScopeDefinition__Group__2() throws RecognitionException {
14762 22883
14763 int stackSize = keepStackSize(); 22884 int stackSize = keepStackSize();
14764 22885
14765 try { 22886 try {
14766 // InternalSolverLanguage.g:4752:1: ( rule__GlobalRelationInterpretation__Group__0__Impl rule__GlobalRelationInterpretation__Group__1 ) 22887 // InternalSolverLanguage.g:6877:1: ( rule__BoundedScopeDefinition__Group__2__Impl )
14767 // InternalSolverLanguage.g:4753:2: rule__GlobalRelationInterpretation__Group__0__Impl rule__GlobalRelationInterpretation__Group__1 22888 // InternalSolverLanguage.g:6878:2: rule__BoundedScopeDefinition__Group__2__Impl
14768 { 22889 {
14769 pushFollow(FOLLOW_45); 22890 pushFollow(FOLLOW_2);
14770 rule__GlobalRelationInterpretation__Group__0__Impl(); 22891 rule__BoundedScopeDefinition__Group__2__Impl();
14771 22892
14772 state._fsp--; 22893 state._fsp--;
22894 if (state.failed) return ;
14773 22895
14774 pushFollow(FOLLOW_2); 22896 }
14775 rule__GlobalRelationInterpretation__Group__1(); 22897
22898 }
22899 catch (RecognitionException re) {
22900 reportError(re);
22901 recover(input,re);
22902 }
22903 finally {
22904
22905 restoreStackSize(stackSize);
22906
22907 }
22908 return ;
22909 }
22910 // $ANTLR end "rule__BoundedScopeDefinition__Group__2"
22911
22912
22913 // $ANTLR start "rule__BoundedScopeDefinition__Group__2__Impl"
22914 // InternalSolverLanguage.g:6884:1: rule__BoundedScopeDefinition__Group__2__Impl : ( '.' ) ;
22915 public final void rule__BoundedScopeDefinition__Group__2__Impl() throws RecognitionException {
22916
22917 int stackSize = keepStackSize();
22918
22919 try {
22920 // InternalSolverLanguage.g:6888:1: ( ( '.' ) )
22921 // InternalSolverLanguage.g:6889:1: ( '.' )
22922 {
22923 // InternalSolverLanguage.g:6889:1: ( '.' )
22924 // InternalSolverLanguage.g:6890:2: '.'
22925 {
22926 if ( state.backtracking==0 ) {
22927 before(grammarAccess.getBoundedScopeDefinitionAccess().getFullStopKeyword_2());
22928 }
22929 match(input,50,FOLLOW_2); if (state.failed) return ;
22930 if ( state.backtracking==0 ) {
22931 after(grammarAccess.getBoundedScopeDefinitionAccess().getFullStopKeyword_2());
22932 }
22933
22934 }
22935
22936
22937 }
22938
22939 }
22940 catch (RecognitionException re) {
22941 reportError(re);
22942 recover(input,re);
22943 }
22944 finally {
22945
22946 restoreStackSize(stackSize);
22947
22948 }
22949 return ;
22950 }
22951 // $ANTLR end "rule__BoundedScopeDefinition__Group__2__Impl"
22952
22953
22954 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__0"
22955 // InternalSolverLanguage.g:6900:1: rule__BoundedScopeDefinition__Group_1_0__0 : rule__BoundedScopeDefinition__Group_1_0__0__Impl rule__BoundedScopeDefinition__Group_1_0__1 ;
22956 public final void rule__BoundedScopeDefinition__Group_1_0__0() throws RecognitionException {
22957
22958 int stackSize = keepStackSize();
22959
22960 try {
22961 // InternalSolverLanguage.g:6904:1: ( rule__BoundedScopeDefinition__Group_1_0__0__Impl rule__BoundedScopeDefinition__Group_1_0__1 )
22962 // InternalSolverLanguage.g:6905:2: rule__BoundedScopeDefinition__Group_1_0__0__Impl rule__BoundedScopeDefinition__Group_1_0__1
22963 {
22964 pushFollow(FOLLOW_55);
22965 rule__BoundedScopeDefinition__Group_1_0__0__Impl();
14776 22966
14777 state._fsp--; 22967 state._fsp--;
22968 if (state.failed) return ;
22969 pushFollow(FOLLOW_2);
22970 rule__BoundedScopeDefinition__Group_1_0__1();
14778 22971
22972 state._fsp--;
22973 if (state.failed) return ;
14779 22974
14780 } 22975 }
14781 22976
@@ -14791,46 +22986,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14791 } 22986 }
14792 return ; 22987 return ;
14793 } 22988 }
14794 // $ANTLR end "rule__GlobalRelationInterpretation__Group__0" 22989 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0__0"
14795 22990
14796 22991
14797 // $ANTLR start "rule__GlobalRelationInterpretation__Group__0__Impl" 22992 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__0__Impl"
14798 // InternalSolverLanguage.g:4760:1: rule__GlobalRelationInterpretation__Group__0__Impl : ( ( rule__GlobalRelationInterpretation__ContainmentAssignment_0 )? ) ; 22993 // InternalSolverLanguage.g:6912:1: rule__BoundedScopeDefinition__Group_1_0__0__Impl : ( ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? ) ;
14799 public final void rule__GlobalRelationInterpretation__Group__0__Impl() throws RecognitionException { 22994 public final void rule__BoundedScopeDefinition__Group_1_0__0__Impl() throws RecognitionException {
14800 22995
14801 int stackSize = keepStackSize(); 22996 int stackSize = keepStackSize();
14802 22997
14803 try { 22998 try {
14804 // InternalSolverLanguage.g:4764:1: ( ( ( rule__GlobalRelationInterpretation__ContainmentAssignment_0 )? ) ) 22999 // InternalSolverLanguage.g:6916:1: ( ( ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? ) )
14805 // InternalSolverLanguage.g:4765:1: ( ( rule__GlobalRelationInterpretation__ContainmentAssignment_0 )? ) 23000 // InternalSolverLanguage.g:6917:1: ( ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? )
14806 { 23001 {
14807 // InternalSolverLanguage.g:4765:1: ( ( rule__GlobalRelationInterpretation__ContainmentAssignment_0 )? ) 23002 // InternalSolverLanguage.g:6917:1: ( ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? )
14808 // InternalSolverLanguage.g:4766:2: ( rule__GlobalRelationInterpretation__ContainmentAssignment_0 )? 23003 // InternalSolverLanguage.g:6918:2: ( rule__BoundedScopeDefinition__Group_1_0_0__0 )?
14809 { 23004 {
14810 before(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentAssignment_0()); 23005 if ( state.backtracking==0 ) {
14811 // InternalSolverLanguage.g:4767:2: ( rule__GlobalRelationInterpretation__ContainmentAssignment_0 )? 23006 before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0_0());
14812 int alt45=2; 23007 }
14813 int LA45_0 = input.LA(1); 23008 // InternalSolverLanguage.g:6919:2: ( rule__BoundedScopeDefinition__Group_1_0_0__0 )?
23009 int alt51=2;
23010 int LA51_0 = input.LA(1);
14814 23011
14815 if ( (LA45_0==41) ) { 23012 if ( (LA51_0==RULE_INT) ) {
14816 alt45=1; 23013 alt51=1;
14817 } 23014 }
14818 switch (alt45) { 23015 switch (alt51) {
14819 case 1 : 23016 case 1 :
14820 // InternalSolverLanguage.g:4767:3: rule__GlobalRelationInterpretation__ContainmentAssignment_0 23017 // InternalSolverLanguage.g:6919:3: rule__BoundedScopeDefinition__Group_1_0_0__0
14821 { 23018 {
14822 pushFollow(FOLLOW_2); 23019 pushFollow(FOLLOW_2);
14823 rule__GlobalRelationInterpretation__ContainmentAssignment_0(); 23020 rule__BoundedScopeDefinition__Group_1_0_0__0();
14824 23021
14825 state._fsp--; 23022 state._fsp--;
14826 23023 if (state.failed) return ;
14827 23024
14828 } 23025 }
14829 break; 23026 break;
14830 23027
14831 } 23028 }
14832 23029
14833 after(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentAssignment_0()); 23030 if ( state.backtracking==0 ) {
23031 after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0_0());
23032 }
14834 23033
14835 } 23034 }
14836 23035
@@ -14849,29 +23048,118 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14849 } 23048 }
14850 return ; 23049 return ;
14851 } 23050 }
14852 // $ANTLR end "rule__GlobalRelationInterpretation__Group__0__Impl" 23051 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0__0__Impl"
14853 23052
14854 23053
14855 // $ANTLR start "rule__GlobalRelationInterpretation__Group__1" 23054 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__1"
14856 // InternalSolverLanguage.g:4775:1: rule__GlobalRelationInterpretation__Group__1 : rule__GlobalRelationInterpretation__Group__1__Impl rule__GlobalRelationInterpretation__Group__2 ; 23055 // InternalSolverLanguage.g:6927:1: rule__BoundedScopeDefinition__Group_1_0__1 : rule__BoundedScopeDefinition__Group_1_0__1__Impl rule__BoundedScopeDefinition__Group_1_0__2 ;
14857 public final void rule__GlobalRelationInterpretation__Group__1() throws RecognitionException { 23056 public final void rule__BoundedScopeDefinition__Group_1_0__1() throws RecognitionException {
14858 23057
14859 int stackSize = keepStackSize(); 23058 int stackSize = keepStackSize();
14860 23059
14861 try { 23060 try {
14862 // InternalSolverLanguage.g:4779:1: ( rule__GlobalRelationInterpretation__Group__1__Impl rule__GlobalRelationInterpretation__Group__2 ) 23061 // InternalSolverLanguage.g:6931:1: ( rule__BoundedScopeDefinition__Group_1_0__1__Impl rule__BoundedScopeDefinition__Group_1_0__2 )
14863 // InternalSolverLanguage.g:4780:2: rule__GlobalRelationInterpretation__Group__1__Impl rule__GlobalRelationInterpretation__Group__2 23062 // InternalSolverLanguage.g:6932:2: rule__BoundedScopeDefinition__Group_1_0__1__Impl rule__BoundedScopeDefinition__Group_1_0__2
14864 { 23063 {
14865 pushFollow(FOLLOW_17); 23064 pushFollow(FOLLOW_56);
14866 rule__GlobalRelationInterpretation__Group__1__Impl(); 23065 rule__BoundedScopeDefinition__Group_1_0__1__Impl();
14867 23066
14868 state._fsp--; 23067 state._fsp--;
23068 if (state.failed) return ;
23069 pushFollow(FOLLOW_2);
23070 rule__BoundedScopeDefinition__Group_1_0__2();
23071
23072 state._fsp--;
23073 if (state.failed) return ;
23074
23075 }
23076
23077 }
23078 catch (RecognitionException re) {
23079 reportError(re);
23080 recover(input,re);
23081 }
23082 finally {
23083
23084 restoreStackSize(stackSize);
23085
23086 }
23087 return ;
23088 }
23089 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0__1"
14869 23090
23091
23092 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__1__Impl"
23093 // InternalSolverLanguage.g:6939:1: rule__BoundedScopeDefinition__Group_1_0__1__Impl : ( ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) ) ;
23094 public final void rule__BoundedScopeDefinition__Group_1_0__1__Impl() throws RecognitionException {
23095
23096 int stackSize = keepStackSize();
23097
23098 try {
23099 // InternalSolverLanguage.g:6943:1: ( ( ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) ) )
23100 // InternalSolverLanguage.g:6944:1: ( ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) )
23101 {
23102 // InternalSolverLanguage.g:6944:1: ( ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) )
23103 // InternalSolverLanguage.g:6945:2: ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 )
23104 {
23105 if ( state.backtracking==0 ) {
23106 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_0_1());
23107 }
23108 // InternalSolverLanguage.g:6946:2: ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 )
23109 // InternalSolverLanguage.g:6946:3: rule__BoundedScopeDefinition__TypeAssignment_1_0_1
23110 {
14870 pushFollow(FOLLOW_2); 23111 pushFollow(FOLLOW_2);
14871 rule__GlobalRelationInterpretation__Group__2(); 23112 rule__BoundedScopeDefinition__TypeAssignment_1_0_1();
23113
23114 state._fsp--;
23115 if (state.failed) return ;
23116
23117 }
23118
23119 if ( state.backtracking==0 ) {
23120 after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_0_1());
23121 }
23122
23123 }
23124
23125
23126 }
23127
23128 }
23129 catch (RecognitionException re) {
23130 reportError(re);
23131 recover(input,re);
23132 }
23133 finally {
23134
23135 restoreStackSize(stackSize);
23136
23137 }
23138 return ;
23139 }
23140 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0__1__Impl"
23141
23142
23143 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__2"
23144 // InternalSolverLanguage.g:6954:1: rule__BoundedScopeDefinition__Group_1_0__2 : rule__BoundedScopeDefinition__Group_1_0__2__Impl rule__BoundedScopeDefinition__Group_1_0__3 ;
23145 public final void rule__BoundedScopeDefinition__Group_1_0__2() throws RecognitionException {
23146
23147 int stackSize = keepStackSize();
23148
23149 try {
23150 // InternalSolverLanguage.g:6958:1: ( rule__BoundedScopeDefinition__Group_1_0__2__Impl rule__BoundedScopeDefinition__Group_1_0__3 )
23151 // InternalSolverLanguage.g:6959:2: rule__BoundedScopeDefinition__Group_1_0__2__Impl rule__BoundedScopeDefinition__Group_1_0__3
23152 {
23153 pushFollow(FOLLOW_53);
23154 rule__BoundedScopeDefinition__Group_1_0__2__Impl();
14872 23155
14873 state._fsp--; 23156 state._fsp--;
23157 if (state.failed) return ;
23158 pushFollow(FOLLOW_2);
23159 rule__BoundedScopeDefinition__Group_1_0__3();
14874 23160
23161 state._fsp--;
23162 if (state.failed) return ;
14875 23163
14876 } 23164 }
14877 23165
@@ -14887,25 +23175,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14887 } 23175 }
14888 return ; 23176 return ;
14889 } 23177 }
14890 // $ANTLR end "rule__GlobalRelationInterpretation__Group__1" 23178 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0__2"
14891 23179
14892 23180
14893 // $ANTLR start "rule__GlobalRelationInterpretation__Group__1__Impl" 23181 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__2__Impl"
14894 // InternalSolverLanguage.g:4787:1: rule__GlobalRelationInterpretation__Group__1__Impl : ( 'relation' ) ; 23182 // InternalSolverLanguage.g:6966:1: rule__BoundedScopeDefinition__Group_1_0__2__Impl : ( '<=' ) ;
14895 public final void rule__GlobalRelationInterpretation__Group__1__Impl() throws RecognitionException { 23183 public final void rule__BoundedScopeDefinition__Group_1_0__2__Impl() throws RecognitionException {
14896 23184
14897 int stackSize = keepStackSize(); 23185 int stackSize = keepStackSize();
14898 23186
14899 try { 23187 try {
14900 // InternalSolverLanguage.g:4791:1: ( ( 'relation' ) ) 23188 // InternalSolverLanguage.g:6970:1: ( ( '<=' ) )
14901 // InternalSolverLanguage.g:4792:1: ( 'relation' ) 23189 // InternalSolverLanguage.g:6971:1: ( '<=' )
14902 { 23190 {
14903 // InternalSolverLanguage.g:4792:1: ( 'relation' ) 23191 // InternalSolverLanguage.g:6971:1: ( '<=' )
14904 // InternalSolverLanguage.g:4793:2: 'relation' 23192 // InternalSolverLanguage.g:6972:2: '<='
14905 { 23193 {
14906 before(grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); 23194 if ( state.backtracking==0 ) {
14907 match(input,38,FOLLOW_2); 23195 before(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2());
14908 after(grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); 23196 }
23197 match(input,22,FOLLOW_2); if (state.failed) return ;
23198 if ( state.backtracking==0 ) {
23199 after(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2());
23200 }
14909 23201
14910 } 23202 }
14911 23203
@@ -14924,28 +23216,74 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14924 } 23216 }
14925 return ; 23217 return ;
14926 } 23218 }
14927 // $ANTLR end "rule__GlobalRelationInterpretation__Group__1__Impl" 23219 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0__2__Impl"
14928 23220
14929 23221
14930 // $ANTLR start "rule__GlobalRelationInterpretation__Group__2" 23222 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__3"
14931 // InternalSolverLanguage.g:4802:1: rule__GlobalRelationInterpretation__Group__2 : rule__GlobalRelationInterpretation__Group__2__Impl rule__GlobalRelationInterpretation__Group__3 ; 23223 // InternalSolverLanguage.g:6981:1: rule__BoundedScopeDefinition__Group_1_0__3 : rule__BoundedScopeDefinition__Group_1_0__3__Impl ;
14932 public final void rule__GlobalRelationInterpretation__Group__2() throws RecognitionException { 23224 public final void rule__BoundedScopeDefinition__Group_1_0__3() throws RecognitionException {
14933 23225
14934 int stackSize = keepStackSize(); 23226 int stackSize = keepStackSize();
14935 23227
14936 try { 23228 try {
14937 // InternalSolverLanguage.g:4806:1: ( rule__GlobalRelationInterpretation__Group__2__Impl rule__GlobalRelationInterpretation__Group__3 ) 23229 // InternalSolverLanguage.g:6985:1: ( rule__BoundedScopeDefinition__Group_1_0__3__Impl )
14938 // InternalSolverLanguage.g:4807:2: rule__GlobalRelationInterpretation__Group__2__Impl rule__GlobalRelationInterpretation__Group__3 23230 // InternalSolverLanguage.g:6986:2: rule__BoundedScopeDefinition__Group_1_0__3__Impl
14939 { 23231 {
14940 pushFollow(FOLLOW_25); 23232 pushFollow(FOLLOW_2);
14941 rule__GlobalRelationInterpretation__Group__2__Impl(); 23233 rule__BoundedScopeDefinition__Group_1_0__3__Impl();
14942 23234
14943 state._fsp--; 23235 state._fsp--;
23236 if (state.failed) return ;
14944 23237
23238 }
23239
23240 }
23241 catch (RecognitionException re) {
23242 reportError(re);
23243 recover(input,re);
23244 }
23245 finally {
23246
23247 restoreStackSize(stackSize);
23248
23249 }
23250 return ;
23251 }
23252 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0__3"
23253
23254
23255 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__3__Impl"
23256 // InternalSolverLanguage.g:6992:1: rule__BoundedScopeDefinition__Group_1_0__3__Impl : ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) ) ;
23257 public final void rule__BoundedScopeDefinition__Group_1_0__3__Impl() throws RecognitionException {
23258
23259 int stackSize = keepStackSize();
23260
23261 try {
23262 // InternalSolverLanguage.g:6996:1: ( ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) ) )
23263 // InternalSolverLanguage.g:6997:1: ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) )
23264 {
23265 // InternalSolverLanguage.g:6997:1: ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) )
23266 // InternalSolverLanguage.g:6998:2: ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 )
23267 {
23268 if ( state.backtracking==0 ) {
23269 before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_0_3());
23270 }
23271 // InternalSolverLanguage.g:6999:2: ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 )
23272 // InternalSolverLanguage.g:6999:3: rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3
23273 {
14945 pushFollow(FOLLOW_2); 23274 pushFollow(FOLLOW_2);
14946 rule__GlobalRelationInterpretation__Group__3(); 23275 rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3();
14947 23276
14948 state._fsp--; 23277 state._fsp--;
23278 if (state.failed) return ;
23279
23280 }
23281
23282 if ( state.backtracking==0 ) {
23283 after(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_0_3());
23284 }
23285
23286 }
14949 23287
14950 23288
14951 } 23289 }
@@ -14962,38 +23300,113 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
14962 } 23300 }
14963 return ; 23301 return ;
14964 } 23302 }
14965 // $ANTLR end "rule__GlobalRelationInterpretation__Group__2" 23303 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0__3__Impl"
14966 23304
14967 23305
14968 // $ANTLR start "rule__GlobalRelationInterpretation__Group__2__Impl" 23306 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0_0__0"
14969 // InternalSolverLanguage.g:4814:1: rule__GlobalRelationInterpretation__Group__2__Impl : ( ( rule__GlobalRelationInterpretation__SymbolAssignment_2 ) ) ; 23307 // InternalSolverLanguage.g:7008:1: rule__BoundedScopeDefinition__Group_1_0_0__0 : rule__BoundedScopeDefinition__Group_1_0_0__0__Impl rule__BoundedScopeDefinition__Group_1_0_0__1 ;
14970 public final void rule__GlobalRelationInterpretation__Group__2__Impl() throws RecognitionException { 23308 public final void rule__BoundedScopeDefinition__Group_1_0_0__0() throws RecognitionException {
14971 23309
14972 int stackSize = keepStackSize(); 23310 int stackSize = keepStackSize();
14973 23311
14974 try { 23312 try {
14975 // InternalSolverLanguage.g:4818:1: ( ( ( rule__GlobalRelationInterpretation__SymbolAssignment_2 ) ) ) 23313 // InternalSolverLanguage.g:7012:1: ( rule__BoundedScopeDefinition__Group_1_0_0__0__Impl rule__BoundedScopeDefinition__Group_1_0_0__1 )
14976 // InternalSolverLanguage.g:4819:1: ( ( rule__GlobalRelationInterpretation__SymbolAssignment_2 ) ) 23314 // InternalSolverLanguage.g:7013:2: rule__BoundedScopeDefinition__Group_1_0_0__0__Impl rule__BoundedScopeDefinition__Group_1_0_0__1
14977 { 23315 {
14978 // InternalSolverLanguage.g:4819:1: ( ( rule__GlobalRelationInterpretation__SymbolAssignment_2 ) ) 23316 pushFollow(FOLLOW_56);
14979 // InternalSolverLanguage.g:4820:2: ( rule__GlobalRelationInterpretation__SymbolAssignment_2 ) 23317 rule__BoundedScopeDefinition__Group_1_0_0__0__Impl();
23318
23319 state._fsp--;
23320 if (state.failed) return ;
23321 pushFollow(FOLLOW_2);
23322 rule__BoundedScopeDefinition__Group_1_0_0__1();
23323
23324 state._fsp--;
23325 if (state.failed) return ;
23326
23327 }
23328
23329 }
23330 catch (RecognitionException re) {
23331 reportError(re);
23332 recover(input,re);
23333 }
23334 finally {
23335
23336 restoreStackSize(stackSize);
23337
23338 }
23339 return ;
23340 }
23341 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0_0__0"
23342
23343
23344 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0_0__0__Impl"
23345 // InternalSolverLanguage.g:7020:1: rule__BoundedScopeDefinition__Group_1_0_0__0__Impl : ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) ) ;
23346 public final void rule__BoundedScopeDefinition__Group_1_0_0__0__Impl() throws RecognitionException {
23347
23348 int stackSize = keepStackSize();
23349
23350 try {
23351 // InternalSolverLanguage.g:7024:1: ( ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) ) )
23352 // InternalSolverLanguage.g:7025:1: ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) )
23353 {
23354 // InternalSolverLanguage.g:7025:1: ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) )
23355 // InternalSolverLanguage.g:7026:2: ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 )
14980 { 23356 {
14981 before(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolAssignment_2()); 23357 if ( state.backtracking==0 ) {
14982 // InternalSolverLanguage.g:4821:2: ( rule__GlobalRelationInterpretation__SymbolAssignment_2 ) 23358 before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0_0());
14983 // InternalSolverLanguage.g:4821:3: rule__GlobalRelationInterpretation__SymbolAssignment_2 23359 }
23360 // InternalSolverLanguage.g:7027:2: ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 )
23361 // InternalSolverLanguage.g:7027:3: rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0
14984 { 23362 {
14985 pushFollow(FOLLOW_2); 23363 pushFollow(FOLLOW_2);
14986 rule__GlobalRelationInterpretation__SymbolAssignment_2(); 23364 rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0();
14987 23365
14988 state._fsp--; 23366 state._fsp--;
23367 if (state.failed) return ;
23368
23369 }
14989 23370
23371 if ( state.backtracking==0 ) {
23372 after(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0_0());
23373 }
14990 23374
14991 } 23375 }
14992 23376
14993 after(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolAssignment_2());
14994 23377
14995 } 23378 }
14996 23379
23380 }
23381 catch (RecognitionException re) {
23382 reportError(re);
23383 recover(input,re);
23384 }
23385 finally {
23386
23387 restoreStackSize(stackSize);
23388
23389 }
23390 return ;
23391 }
23392 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0_0__0__Impl"
23393
23394
23395 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0_0__1"
23396 // InternalSolverLanguage.g:7035:1: rule__BoundedScopeDefinition__Group_1_0_0__1 : rule__BoundedScopeDefinition__Group_1_0_0__1__Impl ;
23397 public final void rule__BoundedScopeDefinition__Group_1_0_0__1() throws RecognitionException {
23398
23399 int stackSize = keepStackSize();
23400
23401 try {
23402 // InternalSolverLanguage.g:7039:1: ( rule__BoundedScopeDefinition__Group_1_0_0__1__Impl )
23403 // InternalSolverLanguage.g:7040:2: rule__BoundedScopeDefinition__Group_1_0_0__1__Impl
23404 {
23405 pushFollow(FOLLOW_2);
23406 rule__BoundedScopeDefinition__Group_1_0_0__1__Impl();
23407
23408 state._fsp--;
23409 if (state.failed) return ;
14997 23410
14998 } 23411 }
14999 23412
@@ -15009,29 +23422,159 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15009 } 23422 }
15010 return ; 23423 return ;
15011 } 23424 }
15012 // $ANTLR end "rule__GlobalRelationInterpretation__Group__2__Impl" 23425 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0_0__1"
15013 23426
15014 23427
15015 // $ANTLR start "rule__GlobalRelationInterpretation__Group__3" 23428 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0_0__1__Impl"
15016 // InternalSolverLanguage.g:4829:1: rule__GlobalRelationInterpretation__Group__3 : rule__GlobalRelationInterpretation__Group__3__Impl rule__GlobalRelationInterpretation__Group__4 ; 23429 // InternalSolverLanguage.g:7046:1: rule__BoundedScopeDefinition__Group_1_0_0__1__Impl : ( '<=' ) ;
15017 public final void rule__GlobalRelationInterpretation__Group__3() throws RecognitionException { 23430 public final void rule__BoundedScopeDefinition__Group_1_0_0__1__Impl() throws RecognitionException {
15018 23431
15019 int stackSize = keepStackSize(); 23432 int stackSize = keepStackSize();
15020 23433
15021 try { 23434 try {
15022 // InternalSolverLanguage.g:4833:1: ( rule__GlobalRelationInterpretation__Group__3__Impl rule__GlobalRelationInterpretation__Group__4 ) 23435 // InternalSolverLanguage.g:7050:1: ( ( '<=' ) )
15023 // InternalSolverLanguage.g:4834:2: rule__GlobalRelationInterpretation__Group__3__Impl rule__GlobalRelationInterpretation__Group__4 23436 // InternalSolverLanguage.g:7051:1: ( '<=' )
15024 { 23437 {
15025 pushFollow(FOLLOW_44); 23438 // InternalSolverLanguage.g:7051:1: ( '<=' )
15026 rule__GlobalRelationInterpretation__Group__3__Impl(); 23439 // InternalSolverLanguage.g:7052:2: '<='
23440 {
23441 if ( state.backtracking==0 ) {
23442 before(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1());
23443 }
23444 match(input,22,FOLLOW_2); if (state.failed) return ;
23445 if ( state.backtracking==0 ) {
23446 after(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1());
23447 }
23448
23449 }
23450
23451
23452 }
23453
23454 }
23455 catch (RecognitionException re) {
23456 reportError(re);
23457 recover(input,re);
23458 }
23459 finally {
23460
23461 restoreStackSize(stackSize);
23462
23463 }
23464 return ;
23465 }
23466 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0_0__1__Impl"
23467
23468
23469 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__0"
23470 // InternalSolverLanguage.g:7062:1: rule__BoundedScopeDefinition__Group_1_1__0 : rule__BoundedScopeDefinition__Group_1_1__0__Impl rule__BoundedScopeDefinition__Group_1_1__1 ;
23471 public final void rule__BoundedScopeDefinition__Group_1_1__0() throws RecognitionException {
23472
23473 int stackSize = keepStackSize();
23474
23475 try {
23476 // InternalSolverLanguage.g:7066:1: ( rule__BoundedScopeDefinition__Group_1_1__0__Impl rule__BoundedScopeDefinition__Group_1_1__1 )
23477 // InternalSolverLanguage.g:7067:2: rule__BoundedScopeDefinition__Group_1_1__0__Impl rule__BoundedScopeDefinition__Group_1_1__1
23478 {
23479 pushFollow(FOLLOW_57);
23480 rule__BoundedScopeDefinition__Group_1_1__0__Impl();
15027 23481
15028 state._fsp--; 23482 state._fsp--;
23483 if (state.failed) return ;
23484 pushFollow(FOLLOW_2);
23485 rule__BoundedScopeDefinition__Group_1_1__1();
23486
23487 state._fsp--;
23488 if (state.failed) return ;
23489
23490 }
23491
23492 }
23493 catch (RecognitionException re) {
23494 reportError(re);
23495 recover(input,re);
23496 }
23497 finally {
23498
23499 restoreStackSize(stackSize);
23500
23501 }
23502 return ;
23503 }
23504 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1__0"
23505
23506
23507 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__0__Impl"
23508 // InternalSolverLanguage.g:7074:1: rule__BoundedScopeDefinition__Group_1_1__0__Impl : ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) ) ;
23509 public final void rule__BoundedScopeDefinition__Group_1_1__0__Impl() throws RecognitionException {
15029 23510
23511 int stackSize = keepStackSize();
23512
23513 try {
23514 // InternalSolverLanguage.g:7078:1: ( ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) ) )
23515 // InternalSolverLanguage.g:7079:1: ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) )
23516 {
23517 // InternalSolverLanguage.g:7079:1: ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) )
23518 // InternalSolverLanguage.g:7080:2: ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 )
23519 {
23520 if ( state.backtracking==0 ) {
23521 before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_1_0());
23522 }
23523 // InternalSolverLanguage.g:7081:2: ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 )
23524 // InternalSolverLanguage.g:7081:3: rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0
23525 {
15030 pushFollow(FOLLOW_2); 23526 pushFollow(FOLLOW_2);
15031 rule__GlobalRelationInterpretation__Group__4(); 23527 rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0();
23528
23529 state._fsp--;
23530 if (state.failed) return ;
23531
23532 }
23533
23534 if ( state.backtracking==0 ) {
23535 after(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_1_0());
23536 }
23537
23538 }
23539
23540
23541 }
23542
23543 }
23544 catch (RecognitionException re) {
23545 reportError(re);
23546 recover(input,re);
23547 }
23548 finally {
23549
23550 restoreStackSize(stackSize);
23551
23552 }
23553 return ;
23554 }
23555 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1__0__Impl"
23556
23557
23558 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__1"
23559 // InternalSolverLanguage.g:7089:1: rule__BoundedScopeDefinition__Group_1_1__1 : rule__BoundedScopeDefinition__Group_1_1__1__Impl rule__BoundedScopeDefinition__Group_1_1__2 ;
23560 public final void rule__BoundedScopeDefinition__Group_1_1__1() throws RecognitionException {
23561
23562 int stackSize = keepStackSize();
23563
23564 try {
23565 // InternalSolverLanguage.g:7093:1: ( rule__BoundedScopeDefinition__Group_1_1__1__Impl rule__BoundedScopeDefinition__Group_1_1__2 )
23566 // InternalSolverLanguage.g:7094:2: rule__BoundedScopeDefinition__Group_1_1__1__Impl rule__BoundedScopeDefinition__Group_1_1__2
23567 {
23568 pushFollow(FOLLOW_9);
23569 rule__BoundedScopeDefinition__Group_1_1__1__Impl();
15032 23570
15033 state._fsp--; 23571 state._fsp--;
23572 if (state.failed) return ;
23573 pushFollow(FOLLOW_2);
23574 rule__BoundedScopeDefinition__Group_1_1__2();
15034 23575
23576 state._fsp--;
23577 if (state.failed) return ;
15035 23578
15036 } 23579 }
15037 23580
@@ -15047,25 +23590,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15047 } 23590 }
15048 return ; 23591 return ;
15049 } 23592 }
15050 // $ANTLR end "rule__GlobalRelationInterpretation__Group__3" 23593 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1__1"
15051 23594
15052 23595
15053 // $ANTLR start "rule__GlobalRelationInterpretation__Group__3__Impl" 23596 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__1__Impl"
15054 // InternalSolverLanguage.g:4841:1: rule__GlobalRelationInterpretation__Group__3__Impl : ( ':' ) ; 23597 // InternalSolverLanguage.g:7101:1: rule__BoundedScopeDefinition__Group_1_1__1__Impl : ( '>=' ) ;
15055 public final void rule__GlobalRelationInterpretation__Group__3__Impl() throws RecognitionException { 23598 public final void rule__BoundedScopeDefinition__Group_1_1__1__Impl() throws RecognitionException {
15056 23599
15057 int stackSize = keepStackSize(); 23600 int stackSize = keepStackSize();
15058 23601
15059 try { 23602 try {
15060 // InternalSolverLanguage.g:4845:1: ( ( ':' ) ) 23603 // InternalSolverLanguage.g:7105:1: ( ( '>=' ) )
15061 // InternalSolverLanguage.g:4846:1: ( ':' ) 23604 // InternalSolverLanguage.g:7106:1: ( '>=' )
15062 { 23605 {
15063 // InternalSolverLanguage.g:4846:1: ( ':' ) 23606 // InternalSolverLanguage.g:7106:1: ( '>=' )
15064 // InternalSolverLanguage.g:4847:2: ':' 23607 // InternalSolverLanguage.g:7107:2: '>='
15065 { 23608 {
15066 before(grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3()); 23609 if ( state.backtracking==0 ) {
15067 match(input,17,FOLLOW_2); 23610 before(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
15068 after(grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3()); 23611 }
23612 match(input,24,FOLLOW_2); if (state.failed) return ;
23613 if ( state.backtracking==0 ) {
23614 after(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
23615 }
15069 23616
15070 } 23617 }
15071 23618
@@ -15084,29 +23631,113 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15084 } 23631 }
15085 return ; 23632 return ;
15086 } 23633 }
15087 // $ANTLR end "rule__GlobalRelationInterpretation__Group__3__Impl" 23634 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1__1__Impl"
15088 23635
15089 23636
15090 // $ANTLR start "rule__GlobalRelationInterpretation__Group__4" 23637 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__2"
15091 // InternalSolverLanguage.g:4856:1: rule__GlobalRelationInterpretation__Group__4 : rule__GlobalRelationInterpretation__Group__4__Impl rule__GlobalRelationInterpretation__Group__5 ; 23638 // InternalSolverLanguage.g:7116:1: rule__BoundedScopeDefinition__Group_1_1__2 : rule__BoundedScopeDefinition__Group_1_1__2__Impl rule__BoundedScopeDefinition__Group_1_1__3 ;
15092 public final void rule__GlobalRelationInterpretation__Group__4() throws RecognitionException { 23639 public final void rule__BoundedScopeDefinition__Group_1_1__2() throws RecognitionException {
15093 23640
15094 int stackSize = keepStackSize(); 23641 int stackSize = keepStackSize();
15095 23642
15096 try { 23643 try {
15097 // InternalSolverLanguage.g:4860:1: ( rule__GlobalRelationInterpretation__Group__4__Impl rule__GlobalRelationInterpretation__Group__5 ) 23644 // InternalSolverLanguage.g:7120:1: ( rule__BoundedScopeDefinition__Group_1_1__2__Impl rule__BoundedScopeDefinition__Group_1_1__3 )
15098 // InternalSolverLanguage.g:4861:2: rule__GlobalRelationInterpretation__Group__4__Impl rule__GlobalRelationInterpretation__Group__5 23645 // InternalSolverLanguage.g:7121:2: rule__BoundedScopeDefinition__Group_1_1__2__Impl rule__BoundedScopeDefinition__Group_1_1__3
15099 { 23646 {
15100 pushFollow(FOLLOW_44); 23647 pushFollow(FOLLOW_57);
15101 rule__GlobalRelationInterpretation__Group__4__Impl(); 23648 rule__BoundedScopeDefinition__Group_1_1__2__Impl();
15102 23649
15103 state._fsp--; 23650 state._fsp--;
23651 if (state.failed) return ;
23652 pushFollow(FOLLOW_2);
23653 rule__BoundedScopeDefinition__Group_1_1__3();
15104 23654
23655 state._fsp--;
23656 if (state.failed) return ;
23657
23658 }
23659
23660 }
23661 catch (RecognitionException re) {
23662 reportError(re);
23663 recover(input,re);
23664 }
23665 finally {
23666
23667 restoreStackSize(stackSize);
23668
23669 }
23670 return ;
23671 }
23672 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1__2"
23673
23674
23675 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__2__Impl"
23676 // InternalSolverLanguage.g:7128:1: rule__BoundedScopeDefinition__Group_1_1__2__Impl : ( ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) ) ;
23677 public final void rule__BoundedScopeDefinition__Group_1_1__2__Impl() throws RecognitionException {
23678
23679 int stackSize = keepStackSize();
23680
23681 try {
23682 // InternalSolverLanguage.g:7132:1: ( ( ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) ) )
23683 // InternalSolverLanguage.g:7133:1: ( ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) )
23684 {
23685 // InternalSolverLanguage.g:7133:1: ( ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) )
23686 // InternalSolverLanguage.g:7134:2: ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 )
23687 {
23688 if ( state.backtracking==0 ) {
23689 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_1_2());
23690 }
23691 // InternalSolverLanguage.g:7135:2: ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 )
23692 // InternalSolverLanguage.g:7135:3: rule__BoundedScopeDefinition__TypeAssignment_1_1_2
23693 {
15105 pushFollow(FOLLOW_2); 23694 pushFollow(FOLLOW_2);
15106 rule__GlobalRelationInterpretation__Group__5(); 23695 rule__BoundedScopeDefinition__TypeAssignment_1_1_2();
15107 23696
15108 state._fsp--; 23697 state._fsp--;
23698 if (state.failed) return ;
23699
23700 }
23701
23702 if ( state.backtracking==0 ) {
23703 after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_1_2());
23704 }
23705
23706 }
23707
23708
23709 }
23710
23711 }
23712 catch (RecognitionException re) {
23713 reportError(re);
23714 recover(input,re);
23715 }
23716 finally {
23717
23718 restoreStackSize(stackSize);
23719
23720 }
23721 return ;
23722 }
23723 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1__2__Impl"
23724
15109 23725
23726 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__3"
23727 // InternalSolverLanguage.g:7143:1: rule__BoundedScopeDefinition__Group_1_1__3 : rule__BoundedScopeDefinition__Group_1_1__3__Impl ;
23728 public final void rule__BoundedScopeDefinition__Group_1_1__3() throws RecognitionException {
23729
23730 int stackSize = keepStackSize();
23731
23732 try {
23733 // InternalSolverLanguage.g:7147:1: ( rule__BoundedScopeDefinition__Group_1_1__3__Impl )
23734 // InternalSolverLanguage.g:7148:2: rule__BoundedScopeDefinition__Group_1_1__3__Impl
23735 {
23736 pushFollow(FOLLOW_2);
23737 rule__BoundedScopeDefinition__Group_1_1__3__Impl();
23738
23739 state._fsp--;
23740 if (state.failed) return ;
15110 23741
15111 } 23742 }
15112 23743
@@ -15122,46 +23753,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15122 } 23753 }
15123 return ; 23754 return ;
15124 } 23755 }
15125 // $ANTLR end "rule__GlobalRelationInterpretation__Group__4" 23756 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1__3"
15126 23757
15127 23758
15128 // $ANTLR start "rule__GlobalRelationInterpretation__Group__4__Impl" 23759 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__3__Impl"
15129 // InternalSolverLanguage.g:4868:1: rule__GlobalRelationInterpretation__Group__4__Impl : ( ( rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 )? ) ; 23760 // InternalSolverLanguage.g:7154:1: rule__BoundedScopeDefinition__Group_1_1__3__Impl : ( ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? ) ;
15130 public final void rule__GlobalRelationInterpretation__Group__4__Impl() throws RecognitionException { 23761 public final void rule__BoundedScopeDefinition__Group_1_1__3__Impl() throws RecognitionException {
15131 23762
15132 int stackSize = keepStackSize(); 23763 int stackSize = keepStackSize();
15133 23764
15134 try { 23765 try {
15135 // InternalSolverLanguage.g:4872:1: ( ( ( rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 )? ) ) 23766 // InternalSolverLanguage.g:7158:1: ( ( ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? ) )
15136 // InternalSolverLanguage.g:4873:1: ( ( rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 )? ) 23767 // InternalSolverLanguage.g:7159:1: ( ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? )
15137 { 23768 {
15138 // InternalSolverLanguage.g:4873:1: ( ( rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 )? ) 23769 // InternalSolverLanguage.g:7159:1: ( ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? )
15139 // InternalSolverLanguage.g:4874:2: ( rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 )? 23770 // InternalSolverLanguage.g:7160:2: ( rule__BoundedScopeDefinition__Group_1_1_3__0 )?
15140 { 23771 {
15141 before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityAssignment_4()); 23772 if ( state.backtracking==0 ) {
15142 // InternalSolverLanguage.g:4875:2: ( rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 )? 23773 before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1_3());
15143 int alt46=2; 23774 }
15144 int LA46_0 = input.LA(1); 23775 // InternalSolverLanguage.g:7161:2: ( rule__BoundedScopeDefinition__Group_1_1_3__0 )?
23776 int alt52=2;
23777 int LA52_0 = input.LA(1);
15145 23778
15146 if ( (LA46_0==RULE_INT) ) { 23779 if ( (LA52_0==24) ) {
15147 alt46=1; 23780 alt52=1;
15148 } 23781 }
15149 switch (alt46) { 23782 switch (alt52) {
15150 case 1 : 23783 case 1 :
15151 // InternalSolverLanguage.g:4875:3: rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 23784 // InternalSolverLanguage.g:7161:3: rule__BoundedScopeDefinition__Group_1_1_3__0
15152 { 23785 {
15153 pushFollow(FOLLOW_2); 23786 pushFollow(FOLLOW_2);
15154 rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4(); 23787 rule__BoundedScopeDefinition__Group_1_1_3__0();
15155 23788
15156 state._fsp--; 23789 state._fsp--;
15157 23790 if (state.failed) return ;
15158 23791
15159 } 23792 }
15160 break; 23793 break;
15161 23794
15162 } 23795 }
15163 23796
15164 after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityAssignment_4()); 23797 if ( state.backtracking==0 ) {
23798 after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1_3());
23799 }
15165 23800
15166 } 23801 }
15167 23802
@@ -15180,28 +23815,153 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15180 } 23815 }
15181 return ; 23816 return ;
15182 } 23817 }
15183 // $ANTLR end "rule__GlobalRelationInterpretation__Group__4__Impl" 23818 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1__3__Impl"
15184 23819
15185 23820
15186 // $ANTLR start "rule__GlobalRelationInterpretation__Group__5" 23821 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1_3__0"
15187 // InternalSolverLanguage.g:4883:1: rule__GlobalRelationInterpretation__Group__5 : rule__GlobalRelationInterpretation__Group__5__Impl rule__GlobalRelationInterpretation__Group__6 ; 23822 // InternalSolverLanguage.g:7170:1: rule__BoundedScopeDefinition__Group_1_1_3__0 : rule__BoundedScopeDefinition__Group_1_1_3__0__Impl rule__BoundedScopeDefinition__Group_1_1_3__1 ;
15188 public final void rule__GlobalRelationInterpretation__Group__5() throws RecognitionException { 23823 public final void rule__BoundedScopeDefinition__Group_1_1_3__0() throws RecognitionException {
15189 23824
15190 int stackSize = keepStackSize(); 23825 int stackSize = keepStackSize();
15191 23826
15192 try { 23827 try {
15193 // InternalSolverLanguage.g:4887:1: ( rule__GlobalRelationInterpretation__Group__5__Impl rule__GlobalRelationInterpretation__Group__6 ) 23828 // InternalSolverLanguage.g:7174:1: ( rule__BoundedScopeDefinition__Group_1_1_3__0__Impl rule__BoundedScopeDefinition__Group_1_1_3__1 )
15194 // InternalSolverLanguage.g:4888:2: rule__GlobalRelationInterpretation__Group__5__Impl rule__GlobalRelationInterpretation__Group__6 23829 // InternalSolverLanguage.g:7175:2: rule__BoundedScopeDefinition__Group_1_1_3__0__Impl rule__BoundedScopeDefinition__Group_1_1_3__1
15195 { 23830 {
15196 pushFollow(FOLLOW_44); 23831 pushFollow(FOLLOW_53);
15197 rule__GlobalRelationInterpretation__Group__5__Impl(); 23832 rule__BoundedScopeDefinition__Group_1_1_3__0__Impl();
15198 23833
15199 state._fsp--; 23834 state._fsp--;
23835 if (state.failed) return ;
23836 pushFollow(FOLLOW_2);
23837 rule__BoundedScopeDefinition__Group_1_1_3__1();
23838
23839 state._fsp--;
23840 if (state.failed) return ;
23841
23842 }
23843
23844 }
23845 catch (RecognitionException re) {
23846 reportError(re);
23847 recover(input,re);
23848 }
23849 finally {
23850
23851 restoreStackSize(stackSize);
15200 23852
23853 }
23854 return ;
23855 }
23856 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1_3__0"
23857
23858
23859 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1_3__0__Impl"
23860 // InternalSolverLanguage.g:7182:1: rule__BoundedScopeDefinition__Group_1_1_3__0__Impl : ( '>=' ) ;
23861 public final void rule__BoundedScopeDefinition__Group_1_1_3__0__Impl() throws RecognitionException {
23862
23863 int stackSize = keepStackSize();
23864
23865 try {
23866 // InternalSolverLanguage.g:7186:1: ( ( '>=' ) )
23867 // InternalSolverLanguage.g:7187:1: ( '>=' )
23868 {
23869 // InternalSolverLanguage.g:7187:1: ( '>=' )
23870 // InternalSolverLanguage.g:7188:2: '>='
23871 {
23872 if ( state.backtracking==0 ) {
23873 before(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0());
23874 }
23875 match(input,24,FOLLOW_2); if (state.failed) return ;
23876 if ( state.backtracking==0 ) {
23877 after(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0());
23878 }
23879
23880 }
23881
23882
23883 }
23884
23885 }
23886 catch (RecognitionException re) {
23887 reportError(re);
23888 recover(input,re);
23889 }
23890 finally {
23891
23892 restoreStackSize(stackSize);
23893
23894 }
23895 return ;
23896 }
23897 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1_3__0__Impl"
23898
23899
23900 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1_3__1"
23901 // InternalSolverLanguage.g:7197:1: rule__BoundedScopeDefinition__Group_1_1_3__1 : rule__BoundedScopeDefinition__Group_1_1_3__1__Impl ;
23902 public final void rule__BoundedScopeDefinition__Group_1_1_3__1() throws RecognitionException {
23903
23904 int stackSize = keepStackSize();
23905
23906 try {
23907 // InternalSolverLanguage.g:7201:1: ( rule__BoundedScopeDefinition__Group_1_1_3__1__Impl )
23908 // InternalSolverLanguage.g:7202:2: rule__BoundedScopeDefinition__Group_1_1_3__1__Impl
23909 {
23910 pushFollow(FOLLOW_2);
23911 rule__BoundedScopeDefinition__Group_1_1_3__1__Impl();
23912
23913 state._fsp--;
23914 if (state.failed) return ;
23915
23916 }
23917
23918 }
23919 catch (RecognitionException re) {
23920 reportError(re);
23921 recover(input,re);
23922 }
23923 finally {
23924
23925 restoreStackSize(stackSize);
23926
23927 }
23928 return ;
23929 }
23930 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1_3__1"
23931
23932
23933 // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1_3__1__Impl"
23934 // InternalSolverLanguage.g:7208:1: rule__BoundedScopeDefinition__Group_1_1_3__1__Impl : ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) ) ;
23935 public final void rule__BoundedScopeDefinition__Group_1_1_3__1__Impl() throws RecognitionException {
23936
23937 int stackSize = keepStackSize();
23938
23939 try {
23940 // InternalSolverLanguage.g:7212:1: ( ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) ) )
23941 // InternalSolverLanguage.g:7213:1: ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) )
23942 {
23943 // InternalSolverLanguage.g:7213:1: ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) )
23944 // InternalSolverLanguage.g:7214:2: ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 )
23945 {
23946 if ( state.backtracking==0 ) {
23947 before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_3_1());
23948 }
23949 // InternalSolverLanguage.g:7215:2: ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 )
23950 // InternalSolverLanguage.g:7215:3: rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1
23951 {
15201 pushFollow(FOLLOW_2); 23952 pushFollow(FOLLOW_2);
15202 rule__GlobalRelationInterpretation__Group__6(); 23953 rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1();
15203 23954
15204 state._fsp--; 23955 state._fsp--;
23956 if (state.failed) return ;
23957
23958 }
23959
23960 if ( state.backtracking==0 ) {
23961 after(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_3_1());
23962 }
23963
23964 }
15205 23965
15206 23966
15207 } 23967 }
@@ -15218,35 +23978,156 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15218 } 23978 }
15219 return ; 23979 return ;
15220 } 23980 }
15221 // $ANTLR end "rule__GlobalRelationInterpretation__Group__5" 23981 // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1_3__1__Impl"
15222 23982
15223 23983
15224 // $ANTLR start "rule__GlobalRelationInterpretation__Group__5__Impl" 23984 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__0"
15225 // InternalSolverLanguage.g:4895:1: rule__GlobalRelationInterpretation__Group__5__Impl : ( ( rule__GlobalRelationInterpretation__SourceAssignment_5 ) ) ; 23985 // InternalSolverLanguage.g:7224:1: rule__LowerBoundedScopeDefinition__Group__0 : rule__LowerBoundedScopeDefinition__Group__0__Impl rule__LowerBoundedScopeDefinition__Group__1 ;
15226 public final void rule__GlobalRelationInterpretation__Group__5__Impl() throws RecognitionException { 23986 public final void rule__LowerBoundedScopeDefinition__Group__0() throws RecognitionException {
15227 23987
15228 int stackSize = keepStackSize(); 23988 int stackSize = keepStackSize();
15229 23989
15230 try { 23990 try {
15231 // InternalSolverLanguage.g:4899:1: ( ( ( rule__GlobalRelationInterpretation__SourceAssignment_5 ) ) ) 23991 // InternalSolverLanguage.g:7228:1: ( rule__LowerBoundedScopeDefinition__Group__0__Impl rule__LowerBoundedScopeDefinition__Group__1 )
15232 // InternalSolverLanguage.g:4900:1: ( ( rule__GlobalRelationInterpretation__SourceAssignment_5 ) ) 23992 // InternalSolverLanguage.g:7229:2: rule__LowerBoundedScopeDefinition__Group__0__Impl rule__LowerBoundedScopeDefinition__Group__1
15233 { 23993 {
15234 // InternalSolverLanguage.g:4900:1: ( ( rule__GlobalRelationInterpretation__SourceAssignment_5 ) ) 23994 pushFollow(FOLLOW_55);
15235 // InternalSolverLanguage.g:4901:2: ( rule__GlobalRelationInterpretation__SourceAssignment_5 ) 23995 rule__LowerBoundedScopeDefinition__Group__0__Impl();
23996
23997 state._fsp--;
23998 if (state.failed) return ;
23999 pushFollow(FOLLOW_2);
24000 rule__LowerBoundedScopeDefinition__Group__1();
24001
24002 state._fsp--;
24003 if (state.failed) return ;
24004
24005 }
24006
24007 }
24008 catch (RecognitionException re) {
24009 reportError(re);
24010 recover(input,re);
24011 }
24012 finally {
24013
24014 restoreStackSize(stackSize);
24015
24016 }
24017 return ;
24018 }
24019 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group__0"
24020
24021
24022 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__0__Impl"
24023 // InternalSolverLanguage.g:7236:1: rule__LowerBoundedScopeDefinition__Group__0__Impl : ( 'scope' ) ;
24024 public final void rule__LowerBoundedScopeDefinition__Group__0__Impl() throws RecognitionException {
24025
24026 int stackSize = keepStackSize();
24027
24028 try {
24029 // InternalSolverLanguage.g:7240:1: ( ( 'scope' ) )
24030 // InternalSolverLanguage.g:7241:1: ( 'scope' )
24031 {
24032 // InternalSolverLanguage.g:7241:1: ( 'scope' )
24033 // InternalSolverLanguage.g:7242:2: 'scope'
15236 { 24034 {
15237 before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceAssignment_5()); 24035 if ( state.backtracking==0 ) {
15238 // InternalSolverLanguage.g:4902:2: ( rule__GlobalRelationInterpretation__SourceAssignment_5 ) 24036 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0());
15239 // InternalSolverLanguage.g:4902:3: rule__GlobalRelationInterpretation__SourceAssignment_5 24037 }
24038 match(input,71,FOLLOW_2); if (state.failed) return ;
24039 if ( state.backtracking==0 ) {
24040 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0());
24041 }
24042
24043 }
24044
24045
24046 }
24047
24048 }
24049 catch (RecognitionException re) {
24050 reportError(re);
24051 recover(input,re);
24052 }
24053 finally {
24054
24055 restoreStackSize(stackSize);
24056
24057 }
24058 return ;
24059 }
24060 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group__0__Impl"
24061
24062
24063 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__1"
24064 // InternalSolverLanguage.g:7251:1: rule__LowerBoundedScopeDefinition__Group__1 : rule__LowerBoundedScopeDefinition__Group__1__Impl rule__LowerBoundedScopeDefinition__Group__2 ;
24065 public final void rule__LowerBoundedScopeDefinition__Group__1() throws RecognitionException {
24066
24067 int stackSize = keepStackSize();
24068
24069 try {
24070 // InternalSolverLanguage.g:7255:1: ( rule__LowerBoundedScopeDefinition__Group__1__Impl rule__LowerBoundedScopeDefinition__Group__2 )
24071 // InternalSolverLanguage.g:7256:2: rule__LowerBoundedScopeDefinition__Group__1__Impl rule__LowerBoundedScopeDefinition__Group__2
15240 { 24072 {
24073 pushFollow(FOLLOW_13);
24074 rule__LowerBoundedScopeDefinition__Group__1__Impl();
24075
24076 state._fsp--;
24077 if (state.failed) return ;
15241 pushFollow(FOLLOW_2); 24078 pushFollow(FOLLOW_2);
15242 rule__GlobalRelationInterpretation__SourceAssignment_5(); 24079 rule__LowerBoundedScopeDefinition__Group__2();
15243 24080
15244 state._fsp--; 24081 state._fsp--;
24082 if (state.failed) return ;
24083
24084 }
24085
24086 }
24087 catch (RecognitionException re) {
24088 reportError(re);
24089 recover(input,re);
24090 }
24091 finally {
15245 24092
24093 restoreStackSize(stackSize);
24094
24095 }
24096 return ;
24097 }
24098 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group__1"
24099
24100
24101 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__1__Impl"
24102 // InternalSolverLanguage.g:7263:1: rule__LowerBoundedScopeDefinition__Group__1__Impl : ( ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) ) ;
24103 public final void rule__LowerBoundedScopeDefinition__Group__1__Impl() throws RecognitionException {
24104
24105 int stackSize = keepStackSize();
24106
24107 try {
24108 // InternalSolverLanguage.g:7267:1: ( ( ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) ) )
24109 // InternalSolverLanguage.g:7268:1: ( ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) )
24110 {
24111 // InternalSolverLanguage.g:7268:1: ( ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) )
24112 // InternalSolverLanguage.g:7269:2: ( rule__LowerBoundedScopeDefinition__Alternatives_1 )
24113 {
24114 if ( state.backtracking==0 ) {
24115 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getAlternatives_1());
24116 }
24117 // InternalSolverLanguage.g:7270:2: ( rule__LowerBoundedScopeDefinition__Alternatives_1 )
24118 // InternalSolverLanguage.g:7270:3: rule__LowerBoundedScopeDefinition__Alternatives_1
24119 {
24120 pushFollow(FOLLOW_2);
24121 rule__LowerBoundedScopeDefinition__Alternatives_1();
24122
24123 state._fsp--;
24124 if (state.failed) return ;
15246 24125
15247 } 24126 }
15248 24127
15249 after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceAssignment_5()); 24128 if ( state.backtracking==0 ) {
24129 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getAlternatives_1());
24130 }
15250 24131
15251 } 24132 }
15252 24133
@@ -15265,28 +24146,153 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15265 } 24146 }
15266 return ; 24147 return ;
15267 } 24148 }
15268 // $ANTLR end "rule__GlobalRelationInterpretation__Group__5__Impl" 24149 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group__1__Impl"
15269 24150
15270 24151
15271 // $ANTLR start "rule__GlobalRelationInterpretation__Group__6" 24152 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__2"
15272 // InternalSolverLanguage.g:4910:1: rule__GlobalRelationInterpretation__Group__6 : rule__GlobalRelationInterpretation__Group__6__Impl rule__GlobalRelationInterpretation__Group__7 ; 24153 // InternalSolverLanguage.g:7278:1: rule__LowerBoundedScopeDefinition__Group__2 : rule__LowerBoundedScopeDefinition__Group__2__Impl ;
15273 public final void rule__GlobalRelationInterpretation__Group__6() throws RecognitionException { 24154 public final void rule__LowerBoundedScopeDefinition__Group__2() throws RecognitionException {
15274 24155
15275 int stackSize = keepStackSize(); 24156 int stackSize = keepStackSize();
15276 24157
15277 try { 24158 try {
15278 // InternalSolverLanguage.g:4914:1: ( rule__GlobalRelationInterpretation__Group__6__Impl rule__GlobalRelationInterpretation__Group__7 ) 24159 // InternalSolverLanguage.g:7282:1: ( rule__LowerBoundedScopeDefinition__Group__2__Impl )
15279 // InternalSolverLanguage.g:4915:2: rule__GlobalRelationInterpretation__Group__6__Impl rule__GlobalRelationInterpretation__Group__7 24160 // InternalSolverLanguage.g:7283:2: rule__LowerBoundedScopeDefinition__Group__2__Impl
15280 { 24161 {
15281 pushFollow(FOLLOW_44); 24162 pushFollow(FOLLOW_2);
15282 rule__GlobalRelationInterpretation__Group__6__Impl(); 24163 rule__LowerBoundedScopeDefinition__Group__2__Impl();
15283 24164
15284 state._fsp--; 24165 state._fsp--;
24166 if (state.failed) return ;
24167
24168 }
24169
24170 }
24171 catch (RecognitionException re) {
24172 reportError(re);
24173 recover(input,re);
24174 }
24175 finally {
24176
24177 restoreStackSize(stackSize);
24178
24179 }
24180 return ;
24181 }
24182 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group__2"
24183
24184
24185 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__2__Impl"
24186 // InternalSolverLanguage.g:7289:1: rule__LowerBoundedScopeDefinition__Group__2__Impl : ( '.' ) ;
24187 public final void rule__LowerBoundedScopeDefinition__Group__2__Impl() throws RecognitionException {
24188
24189 int stackSize = keepStackSize();
24190
24191 try {
24192 // InternalSolverLanguage.g:7293:1: ( ( '.' ) )
24193 // InternalSolverLanguage.g:7294:1: ( '.' )
24194 {
24195 // InternalSolverLanguage.g:7294:1: ( '.' )
24196 // InternalSolverLanguage.g:7295:2: '.'
24197 {
24198 if ( state.backtracking==0 ) {
24199 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getFullStopKeyword_2());
24200 }
24201 match(input,50,FOLLOW_2); if (state.failed) return ;
24202 if ( state.backtracking==0 ) {
24203 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getFullStopKeyword_2());
24204 }
24205
24206 }
24207
24208
24209 }
24210
24211 }
24212 catch (RecognitionException re) {
24213 reportError(re);
24214 recover(input,re);
24215 }
24216 finally {
24217
24218 restoreStackSize(stackSize);
24219
24220 }
24221 return ;
24222 }
24223 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group__2__Impl"
24224
24225
24226 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__0"
24227 // InternalSolverLanguage.g:7305:1: rule__LowerBoundedScopeDefinition__Group_1_0__0 : rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl rule__LowerBoundedScopeDefinition__Group_1_0__1 ;
24228 public final void rule__LowerBoundedScopeDefinition__Group_1_0__0() throws RecognitionException {
24229
24230 int stackSize = keepStackSize();
24231
24232 try {
24233 // InternalSolverLanguage.g:7309:1: ( rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl rule__LowerBoundedScopeDefinition__Group_1_0__1 )
24234 // InternalSolverLanguage.g:7310:2: rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl rule__LowerBoundedScopeDefinition__Group_1_0__1
24235 {
24236 pushFollow(FOLLOW_56);
24237 rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl();
24238
24239 state._fsp--;
24240 if (state.failed) return ;
24241 pushFollow(FOLLOW_2);
24242 rule__LowerBoundedScopeDefinition__Group_1_0__1();
24243
24244 state._fsp--;
24245 if (state.failed) return ;
24246
24247 }
24248
24249 }
24250 catch (RecognitionException re) {
24251 reportError(re);
24252 recover(input,re);
24253 }
24254 finally {
24255
24256 restoreStackSize(stackSize);
24257
24258 }
24259 return ;
24260 }
24261 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_0__0"
15285 24262
24263
24264 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl"
24265 // InternalSolverLanguage.g:7317:1: rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl : ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) ) ;
24266 public final void rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl() throws RecognitionException {
24267
24268 int stackSize = keepStackSize();
24269
24270 try {
24271 // InternalSolverLanguage.g:7321:1: ( ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) ) )
24272 // InternalSolverLanguage.g:7322:1: ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) )
24273 {
24274 // InternalSolverLanguage.g:7322:1: ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) )
24275 // InternalSolverLanguage.g:7323:2: ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 )
24276 {
24277 if ( state.backtracking==0 ) {
24278 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0());
24279 }
24280 // InternalSolverLanguage.g:7324:2: ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 )
24281 // InternalSolverLanguage.g:7324:3: rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0
24282 {
15286 pushFollow(FOLLOW_2); 24283 pushFollow(FOLLOW_2);
15287 rule__GlobalRelationInterpretation__Group__7(); 24284 rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0();
15288 24285
15289 state._fsp--; 24286 state._fsp--;
24287 if (state.failed) return ;
24288
24289 }
24290
24291 if ( state.backtracking==0 ) {
24292 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0());
24293 }
24294
24295 }
15290 24296
15291 24297
15292 } 24298 }
@@ -15303,46 +24309,151 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15303 } 24309 }
15304 return ; 24310 return ;
15305 } 24311 }
15306 // $ANTLR end "rule__GlobalRelationInterpretation__Group__6" 24312 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl"
15307 24313
15308 24314
15309 // $ANTLR start "rule__GlobalRelationInterpretation__Group__6__Impl" 24315 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__1"
15310 // InternalSolverLanguage.g:4922:1: rule__GlobalRelationInterpretation__Group__6__Impl : ( ( rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 )? ) ; 24316 // InternalSolverLanguage.g:7332:1: rule__LowerBoundedScopeDefinition__Group_1_0__1 : rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl rule__LowerBoundedScopeDefinition__Group_1_0__2 ;
15311 public final void rule__GlobalRelationInterpretation__Group__6__Impl() throws RecognitionException { 24317 public final void rule__LowerBoundedScopeDefinition__Group_1_0__1() throws RecognitionException {
15312 24318
15313 int stackSize = keepStackSize(); 24319 int stackSize = keepStackSize();
15314 24320
15315 try { 24321 try {
15316 // InternalSolverLanguage.g:4926:1: ( ( ( rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 )? ) ) 24322 // InternalSolverLanguage.g:7336:1: ( rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl rule__LowerBoundedScopeDefinition__Group_1_0__2 )
15317 // InternalSolverLanguage.g:4927:1: ( ( rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 )? ) 24323 // InternalSolverLanguage.g:7337:2: rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl rule__LowerBoundedScopeDefinition__Group_1_0__2
15318 { 24324 {
15319 // InternalSolverLanguage.g:4927:1: ( ( rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 )? ) 24325 pushFollow(FOLLOW_9);
15320 // InternalSolverLanguage.g:4928:2: ( rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 )? 24326 rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl();
24327
24328 state._fsp--;
24329 if (state.failed) return ;
24330 pushFollow(FOLLOW_2);
24331 rule__LowerBoundedScopeDefinition__Group_1_0__2();
24332
24333 state._fsp--;
24334 if (state.failed) return ;
24335
24336 }
24337
24338 }
24339 catch (RecognitionException re) {
24340 reportError(re);
24341 recover(input,re);
24342 }
24343 finally {
24344
24345 restoreStackSize(stackSize);
24346
24347 }
24348 return ;
24349 }
24350 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_0__1"
24351
24352
24353 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl"
24354 // InternalSolverLanguage.g:7344:1: rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl : ( '<=' ) ;
24355 public final void rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl() throws RecognitionException {
24356
24357 int stackSize = keepStackSize();
24358
24359 try {
24360 // InternalSolverLanguage.g:7348:1: ( ( '<=' ) )
24361 // InternalSolverLanguage.g:7349:1: ( '<=' )
15321 { 24362 {
15322 before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityAssignment_6()); 24363 // InternalSolverLanguage.g:7349:1: ( '<=' )
15323 // InternalSolverLanguage.g:4929:2: ( rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 )? 24364 // InternalSolverLanguage.g:7350:2: '<='
15324 int alt47=2; 24365 {
15325 int LA47_0 = input.LA(1); 24366 if ( state.backtracking==0 ) {
24367 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1());
24368 }
24369 match(input,22,FOLLOW_2); if (state.failed) return ;
24370 if ( state.backtracking==0 ) {
24371 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1());
24372 }
15326 24373
15327 if ( (LA47_0==RULE_INT) ) {
15328 alt47=1;
15329 } 24374 }
15330 switch (alt47) {
15331 case 1 :
15332 // InternalSolverLanguage.g:4929:3: rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6
15333 {
15334 pushFollow(FOLLOW_2);
15335 rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6();
15336 24375
15337 state._fsp--;
15338 24376
24377 }
15339 24378
15340 } 24379 }
15341 break; 24380 catch (RecognitionException re) {
24381 reportError(re);
24382 recover(input,re);
24383 }
24384 finally {
24385
24386 restoreStackSize(stackSize);
24387
24388 }
24389 return ;
24390 }
24391 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl"
24392
24393
24394 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__2"
24395 // InternalSolverLanguage.g:7359:1: rule__LowerBoundedScopeDefinition__Group_1_0__2 : rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl ;
24396 public final void rule__LowerBoundedScopeDefinition__Group_1_0__2() throws RecognitionException {
24397
24398 int stackSize = keepStackSize();
24399
24400 try {
24401 // InternalSolverLanguage.g:7363:1: ( rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl )
24402 // InternalSolverLanguage.g:7364:2: rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl
24403 {
24404 pushFollow(FOLLOW_2);
24405 rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl();
24406
24407 state._fsp--;
24408 if (state.failed) return ;
24409
24410 }
24411
24412 }
24413 catch (RecognitionException re) {
24414 reportError(re);
24415 recover(input,re);
24416 }
24417 finally {
24418
24419 restoreStackSize(stackSize);
24420
24421 }
24422 return ;
24423 }
24424 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_0__2"
24425
24426
24427 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl"
24428 // InternalSolverLanguage.g:7370:1: rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl : ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) ) ;
24429 public final void rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl() throws RecognitionException {
24430
24431 int stackSize = keepStackSize();
24432
24433 try {
24434 // InternalSolverLanguage.g:7374:1: ( ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) ) )
24435 // InternalSolverLanguage.g:7375:1: ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) )
24436 {
24437 // InternalSolverLanguage.g:7375:1: ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) )
24438 // InternalSolverLanguage.g:7376:2: ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 )
24439 {
24440 if ( state.backtracking==0 ) {
24441 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_0_2());
24442 }
24443 // InternalSolverLanguage.g:7377:2: ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 )
24444 // InternalSolverLanguage.g:7377:3: rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2
24445 {
24446 pushFollow(FOLLOW_2);
24447 rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2();
24448
24449 state._fsp--;
24450 if (state.failed) return ;
15342 24451
15343 } 24452 }
15344 24453
15345 after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityAssignment_6()); 24454 if ( state.backtracking==0 ) {
24455 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_0_2());
24456 }
15346 24457
15347 } 24458 }
15348 24459
@@ -15361,23 +24472,79 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15361 } 24472 }
15362 return ; 24473 return ;
15363 } 24474 }
15364 // $ANTLR end "rule__GlobalRelationInterpretation__Group__6__Impl" 24475 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl"
15365 24476
15366 24477
15367 // $ANTLR start "rule__GlobalRelationInterpretation__Group__7" 24478 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__0"
15368 // InternalSolverLanguage.g:4937:1: rule__GlobalRelationInterpretation__Group__7 : rule__GlobalRelationInterpretation__Group__7__Impl ; 24479 // InternalSolverLanguage.g:7386:1: rule__LowerBoundedScopeDefinition__Group_1_1__0 : rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl rule__LowerBoundedScopeDefinition__Group_1_1__1 ;
15369 public final void rule__GlobalRelationInterpretation__Group__7() throws RecognitionException { 24480 public final void rule__LowerBoundedScopeDefinition__Group_1_1__0() throws RecognitionException {
15370 24481
15371 int stackSize = keepStackSize(); 24482 int stackSize = keepStackSize();
15372 24483
15373 try { 24484 try {
15374 // InternalSolverLanguage.g:4941:1: ( rule__GlobalRelationInterpretation__Group__7__Impl ) 24485 // InternalSolverLanguage.g:7390:1: ( rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl rule__LowerBoundedScopeDefinition__Group_1_1__1 )
15375 // InternalSolverLanguage.g:4942:2: rule__GlobalRelationInterpretation__Group__7__Impl 24486 // InternalSolverLanguage.g:7391:2: rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl rule__LowerBoundedScopeDefinition__Group_1_1__1
15376 { 24487 {
24488 pushFollow(FOLLOW_57);
24489 rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl();
24490
24491 state._fsp--;
24492 if (state.failed) return ;
15377 pushFollow(FOLLOW_2); 24493 pushFollow(FOLLOW_2);
15378 rule__GlobalRelationInterpretation__Group__7__Impl(); 24494 rule__LowerBoundedScopeDefinition__Group_1_1__1();
15379 24495
15380 state._fsp--; 24496 state._fsp--;
24497 if (state.failed) return ;
24498
24499 }
24500
24501 }
24502 catch (RecognitionException re) {
24503 reportError(re);
24504 recover(input,re);
24505 }
24506 finally {
24507
24508 restoreStackSize(stackSize);
24509
24510 }
24511 return ;
24512 }
24513 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_1__0"
24514
24515
24516 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl"
24517 // InternalSolverLanguage.g:7398:1: rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl : ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) ) ;
24518 public final void rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl() throws RecognitionException {
24519
24520 int stackSize = keepStackSize();
24521
24522 try {
24523 // InternalSolverLanguage.g:7402:1: ( ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) ) )
24524 // InternalSolverLanguage.g:7403:1: ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) )
24525 {
24526 // InternalSolverLanguage.g:7403:1: ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) )
24527 // InternalSolverLanguage.g:7404:2: ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 )
24528 {
24529 if ( state.backtracking==0 ) {
24530 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_1_0());
24531 }
24532 // InternalSolverLanguage.g:7405:2: ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 )
24533 // InternalSolverLanguage.g:7405:3: rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0
24534 {
24535 pushFollow(FOLLOW_2);
24536 rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0();
24537
24538 state._fsp--;
24539 if (state.failed) return ;
24540
24541 }
24542
24543 if ( state.backtracking==0 ) {
24544 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_1_0());
24545 }
24546
24547 }
15381 24548
15382 24549
15383 } 24550 }
@@ -15394,35 +24561,151 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15394 } 24561 }
15395 return ; 24562 return ;
15396 } 24563 }
15397 // $ANTLR end "rule__GlobalRelationInterpretation__Group__7" 24564 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl"
15398 24565
15399 24566
15400 // $ANTLR start "rule__GlobalRelationInterpretation__Group__7__Impl" 24567 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__1"
15401 // InternalSolverLanguage.g:4948:1: rule__GlobalRelationInterpretation__Group__7__Impl : ( ( rule__GlobalRelationInterpretation__TargetAssignment_7 ) ) ; 24568 // InternalSolverLanguage.g:7413:1: rule__LowerBoundedScopeDefinition__Group_1_1__1 : rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl rule__LowerBoundedScopeDefinition__Group_1_1__2 ;
15402 public final void rule__GlobalRelationInterpretation__Group__7__Impl() throws RecognitionException { 24569 public final void rule__LowerBoundedScopeDefinition__Group_1_1__1() throws RecognitionException {
15403 24570
15404 int stackSize = keepStackSize(); 24571 int stackSize = keepStackSize();
15405 24572
15406 try { 24573 try {
15407 // InternalSolverLanguage.g:4952:1: ( ( ( rule__GlobalRelationInterpretation__TargetAssignment_7 ) ) ) 24574 // InternalSolverLanguage.g:7417:1: ( rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl rule__LowerBoundedScopeDefinition__Group_1_1__2 )
15408 // InternalSolverLanguage.g:4953:1: ( ( rule__GlobalRelationInterpretation__TargetAssignment_7 ) ) 24575 // InternalSolverLanguage.g:7418:2: rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl rule__LowerBoundedScopeDefinition__Group_1_1__2
15409 { 24576 {
15410 // InternalSolverLanguage.g:4953:1: ( ( rule__GlobalRelationInterpretation__TargetAssignment_7 ) ) 24577 pushFollow(FOLLOW_53);
15411 // InternalSolverLanguage.g:4954:2: ( rule__GlobalRelationInterpretation__TargetAssignment_7 ) 24578 rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl();
24579
24580 state._fsp--;
24581 if (state.failed) return ;
24582 pushFollow(FOLLOW_2);
24583 rule__LowerBoundedScopeDefinition__Group_1_1__2();
24584
24585 state._fsp--;
24586 if (state.failed) return ;
24587
24588 }
24589
24590 }
24591 catch (RecognitionException re) {
24592 reportError(re);
24593 recover(input,re);
24594 }
24595 finally {
24596
24597 restoreStackSize(stackSize);
24598
24599 }
24600 return ;
24601 }
24602 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_1__1"
24603
24604
24605 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl"
24606 // InternalSolverLanguage.g:7425:1: rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl : ( '>=' ) ;
24607 public final void rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl() throws RecognitionException {
24608
24609 int stackSize = keepStackSize();
24610
24611 try {
24612 // InternalSolverLanguage.g:7429:1: ( ( '>=' ) )
24613 // InternalSolverLanguage.g:7430:1: ( '>=' )
24614 {
24615 // InternalSolverLanguage.g:7430:1: ( '>=' )
24616 // InternalSolverLanguage.g:7431:2: '>='
15412 { 24617 {
15413 before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetAssignment_7()); 24618 if ( state.backtracking==0 ) {
15414 // InternalSolverLanguage.g:4955:2: ( rule__GlobalRelationInterpretation__TargetAssignment_7 ) 24619 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
15415 // InternalSolverLanguage.g:4955:3: rule__GlobalRelationInterpretation__TargetAssignment_7 24620 }
24621 match(input,24,FOLLOW_2); if (state.failed) return ;
24622 if ( state.backtracking==0 ) {
24623 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
24624 }
24625
24626 }
24627
24628
24629 }
24630
24631 }
24632 catch (RecognitionException re) {
24633 reportError(re);
24634 recover(input,re);
24635 }
24636 finally {
24637
24638 restoreStackSize(stackSize);
24639
24640 }
24641 return ;
24642 }
24643 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl"
24644
24645
24646 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__2"
24647 // InternalSolverLanguage.g:7440:1: rule__LowerBoundedScopeDefinition__Group_1_1__2 : rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl ;
24648 public final void rule__LowerBoundedScopeDefinition__Group_1_1__2() throws RecognitionException {
24649
24650 int stackSize = keepStackSize();
24651
24652 try {
24653 // InternalSolverLanguage.g:7444:1: ( rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl )
24654 // InternalSolverLanguage.g:7445:2: rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl
15416 { 24655 {
15417 pushFollow(FOLLOW_2); 24656 pushFollow(FOLLOW_2);
15418 rule__GlobalRelationInterpretation__TargetAssignment_7(); 24657 rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl();
15419 24658
15420 state._fsp--; 24659 state._fsp--;
24660 if (state.failed) return ;
24661
24662 }
24663
24664 }
24665 catch (RecognitionException re) {
24666 reportError(re);
24667 recover(input,re);
24668 }
24669 finally {
24670
24671 restoreStackSize(stackSize);
24672
24673 }
24674 return ;
24675 }
24676 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_1__2"
15421 24677
15422 24678
24679 // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl"
24680 // InternalSolverLanguage.g:7451:1: rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl : ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) ) ;
24681 public final void rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl() throws RecognitionException {
24682
24683 int stackSize = keepStackSize();
24684
24685 try {
24686 // InternalSolverLanguage.g:7455:1: ( ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) ) )
24687 // InternalSolverLanguage.g:7456:1: ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) )
24688 {
24689 // InternalSolverLanguage.g:7456:1: ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) )
24690 // InternalSolverLanguage.g:7457:2: ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 )
24691 {
24692 if ( state.backtracking==0 ) {
24693 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_2());
24694 }
24695 // InternalSolverLanguage.g:7458:2: ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 )
24696 // InternalSolverLanguage.g:7458:3: rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2
24697 {
24698 pushFollow(FOLLOW_2);
24699 rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2();
24700
24701 state._fsp--;
24702 if (state.failed) return ;
24703
15423 } 24704 }
15424 24705
15425 after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetAssignment_7()); 24706 if ( state.backtracking==0 ) {
24707 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_2());
24708 }
15426 24709
15427 } 24710 }
15428 24711
@@ -15441,29 +24724,113 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15441 } 24724 }
15442 return ; 24725 return ;
15443 } 24726 }
15444 // $ANTLR end "rule__GlobalRelationInterpretation__Group__7__Impl" 24727 // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl"
15445 24728
15446 24729
15447 // $ANTLR start "rule__MultiplicityDefinition__Group__0" 24730 // $ANTLR start "rule__ObjectiveDefinition__Group__0"
15448 // InternalSolverLanguage.g:4964:1: rule__MultiplicityDefinition__Group__0 : rule__MultiplicityDefinition__Group__0__Impl rule__MultiplicityDefinition__Group__1 ; 24731 // InternalSolverLanguage.g:7467:1: rule__ObjectiveDefinition__Group__0 : rule__ObjectiveDefinition__Group__0__Impl rule__ObjectiveDefinition__Group__1 ;
15449 public final void rule__MultiplicityDefinition__Group__0() throws RecognitionException { 24732 public final void rule__ObjectiveDefinition__Group__0() throws RecognitionException {
15450 24733
15451 int stackSize = keepStackSize(); 24734 int stackSize = keepStackSize();
15452 24735
15453 try { 24736 try {
15454 // InternalSolverLanguage.g:4968:1: ( rule__MultiplicityDefinition__Group__0__Impl rule__MultiplicityDefinition__Group__1 ) 24737 // InternalSolverLanguage.g:7471:1: ( rule__ObjectiveDefinition__Group__0__Impl rule__ObjectiveDefinition__Group__1 )
15455 // InternalSolverLanguage.g:4969:2: rule__MultiplicityDefinition__Group__0__Impl rule__MultiplicityDefinition__Group__1 24738 // InternalSolverLanguage.g:7472:2: rule__ObjectiveDefinition__Group__0__Impl rule__ObjectiveDefinition__Group__1
15456 { 24739 {
15457 pushFollow(FOLLOW_46); 24740 pushFollow(FOLLOW_7);
15458 rule__MultiplicityDefinition__Group__0__Impl(); 24741 rule__ObjectiveDefinition__Group__0__Impl();
24742
24743 state._fsp--;
24744 if (state.failed) return ;
24745 pushFollow(FOLLOW_2);
24746 rule__ObjectiveDefinition__Group__1();
15459 24747
15460 state._fsp--; 24748 state._fsp--;
24749 if (state.failed) return ;
24750
24751 }
24752
24753 }
24754 catch (RecognitionException re) {
24755 reportError(re);
24756 recover(input,re);
24757 }
24758 finally {
24759
24760 restoreStackSize(stackSize);
24761
24762 }
24763 return ;
24764 }
24765 // $ANTLR end "rule__ObjectiveDefinition__Group__0"
24766
24767
24768 // $ANTLR start "rule__ObjectiveDefinition__Group__0__Impl"
24769 // InternalSolverLanguage.g:7479:1: rule__ObjectiveDefinition__Group__0__Impl : ( ( rule__ObjectiveDefinition__KindAssignment_0 ) ) ;
24770 public final void rule__ObjectiveDefinition__Group__0__Impl() throws RecognitionException {
15461 24771
24772 int stackSize = keepStackSize();
24773
24774 try {
24775 // InternalSolverLanguage.g:7483:1: ( ( ( rule__ObjectiveDefinition__KindAssignment_0 ) ) )
24776 // InternalSolverLanguage.g:7484:1: ( ( rule__ObjectiveDefinition__KindAssignment_0 ) )
24777 {
24778 // InternalSolverLanguage.g:7484:1: ( ( rule__ObjectiveDefinition__KindAssignment_0 ) )
24779 // InternalSolverLanguage.g:7485:2: ( rule__ObjectiveDefinition__KindAssignment_0 )
24780 {
24781 if ( state.backtracking==0 ) {
24782 before(grammarAccess.getObjectiveDefinitionAccess().getKindAssignment_0());
24783 }
24784 // InternalSolverLanguage.g:7486:2: ( rule__ObjectiveDefinition__KindAssignment_0 )
24785 // InternalSolverLanguage.g:7486:3: rule__ObjectiveDefinition__KindAssignment_0
24786 {
15462 pushFollow(FOLLOW_2); 24787 pushFollow(FOLLOW_2);
15463 rule__MultiplicityDefinition__Group__1(); 24788 rule__ObjectiveDefinition__KindAssignment_0();
15464 24789
15465 state._fsp--; 24790 state._fsp--;
24791 if (state.failed) return ;
24792
24793 }
24794
24795 if ( state.backtracking==0 ) {
24796 after(grammarAccess.getObjectiveDefinitionAccess().getKindAssignment_0());
24797 }
24798
24799 }
24800
24801
24802 }
24803
24804 }
24805 catch (RecognitionException re) {
24806 reportError(re);
24807 recover(input,re);
24808 }
24809 finally {
24810
24811 restoreStackSize(stackSize);
24812
24813 }
24814 return ;
24815 }
24816 // $ANTLR end "rule__ObjectiveDefinition__Group__0__Impl"
24817
24818
24819 // $ANTLR start "rule__ObjectiveDefinition__Group__1"
24820 // InternalSolverLanguage.g:7494:1: rule__ObjectiveDefinition__Group__1 : rule__ObjectiveDefinition__Group__1__Impl ;
24821 public final void rule__ObjectiveDefinition__Group__1() throws RecognitionException {
24822
24823 int stackSize = keepStackSize();
24824
24825 try {
24826 // InternalSolverLanguage.g:7498:1: ( rule__ObjectiveDefinition__Group__1__Impl )
24827 // InternalSolverLanguage.g:7499:2: rule__ObjectiveDefinition__Group__1__Impl
24828 {
24829 pushFollow(FOLLOW_2);
24830 rule__ObjectiveDefinition__Group__1__Impl();
15466 24831
24832 state._fsp--;
24833 if (state.failed) return ;
15467 24834
15468 } 24835 }
15469 24836
@@ -15479,38 +24846,80 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15479 } 24846 }
15480 return ; 24847 return ;
15481 } 24848 }
15482 // $ANTLR end "rule__MultiplicityDefinition__Group__0" 24849 // $ANTLR end "rule__ObjectiveDefinition__Group__1"
15483 24850
15484 24851
15485 // $ANTLR start "rule__MultiplicityDefinition__Group__0__Impl" 24852 // $ANTLR start "rule__ObjectiveDefinition__Group__1__Impl"
15486 // InternalSolverLanguage.g:4976:1: rule__MultiplicityDefinition__Group__0__Impl : ( ( rule__MultiplicityDefinition__LowerAssignment_0 ) ) ; 24853 // InternalSolverLanguage.g:7505:1: rule__ObjectiveDefinition__Group__1__Impl : ( ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) ) ;
15487 public final void rule__MultiplicityDefinition__Group__0__Impl() throws RecognitionException { 24854 public final void rule__ObjectiveDefinition__Group__1__Impl() throws RecognitionException {
15488 24855
15489 int stackSize = keepStackSize(); 24856 int stackSize = keepStackSize();
15490 24857
15491 try { 24858 try {
15492 // InternalSolverLanguage.g:4980:1: ( ( ( rule__MultiplicityDefinition__LowerAssignment_0 ) ) ) 24859 // InternalSolverLanguage.g:7509:1: ( ( ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) ) )
15493 // InternalSolverLanguage.g:4981:1: ( ( rule__MultiplicityDefinition__LowerAssignment_0 ) ) 24860 // InternalSolverLanguage.g:7510:1: ( ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) )
15494 { 24861 {
15495 // InternalSolverLanguage.g:4981:1: ( ( rule__MultiplicityDefinition__LowerAssignment_0 ) ) 24862 // InternalSolverLanguage.g:7510:1: ( ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) )
15496 // InternalSolverLanguage.g:4982:2: ( rule__MultiplicityDefinition__LowerAssignment_0 ) 24863 // InternalSolverLanguage.g:7511:2: ( rule__ObjectiveDefinition__ObjectiveAssignment_1 )
15497 { 24864 {
15498 before(grammarAccess.getMultiplicityDefinitionAccess().getLowerAssignment_0()); 24865 if ( state.backtracking==0 ) {
15499 // InternalSolverLanguage.g:4983:2: ( rule__MultiplicityDefinition__LowerAssignment_0 ) 24866 before(grammarAccess.getObjectiveDefinitionAccess().getObjectiveAssignment_1());
15500 // InternalSolverLanguage.g:4983:3: rule__MultiplicityDefinition__LowerAssignment_0 24867 }
24868 // InternalSolverLanguage.g:7512:2: ( rule__ObjectiveDefinition__ObjectiveAssignment_1 )
24869 // InternalSolverLanguage.g:7512:3: rule__ObjectiveDefinition__ObjectiveAssignment_1
15501 { 24870 {
15502 pushFollow(FOLLOW_2); 24871 pushFollow(FOLLOW_2);
15503 rule__MultiplicityDefinition__LowerAssignment_0(); 24872 rule__ObjectiveDefinition__ObjectiveAssignment_1();
15504 24873
15505 state._fsp--; 24874 state._fsp--;
24875 if (state.failed) return ;
15506 24876
24877 }
24878
24879 if ( state.backtracking==0 ) {
24880 after(grammarAccess.getObjectiveDefinitionAccess().getObjectiveAssignment_1());
24881 }
15507 24882
15508 } 24883 }
15509 24884
15510 after(grammarAccess.getMultiplicityDefinitionAccess().getLowerAssignment_0());
15511 24885
15512 } 24886 }
15513 24887
24888 }
24889 catch (RecognitionException re) {
24890 reportError(re);
24891 recover(input,re);
24892 }
24893 finally {
24894
24895 restoreStackSize(stackSize);
24896
24897 }
24898 return ;
24899 }
24900 // $ANTLR end "rule__ObjectiveDefinition__Group__1__Impl"
24901
24902
24903 // $ANTLR start "rule__Real__Group__0"
24904 // InternalSolverLanguage.g:7521:1: rule__Real__Group__0 : rule__Real__Group__0__Impl rule__Real__Group__1 ;
24905 public final void rule__Real__Group__0() throws RecognitionException {
24906
24907 int stackSize = keepStackSize();
24908
24909 try {
24910 // InternalSolverLanguage.g:7525:1: ( rule__Real__Group__0__Impl rule__Real__Group__1 )
24911 // InternalSolverLanguage.g:7526:2: rule__Real__Group__0__Impl rule__Real__Group__1
24912 {
24913 pushFollow(FOLLOW_13);
24914 rule__Real__Group__0__Impl();
24915
24916 state._fsp--;
24917 if (state.failed) return ;
24918 pushFollow(FOLLOW_2);
24919 rule__Real__Group__1();
24920
24921 state._fsp--;
24922 if (state.failed) return ;
15514 24923
15515 } 24924 }
15516 24925
@@ -15526,29 +24935,239 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15526 } 24935 }
15527 return ; 24936 return ;
15528 } 24937 }
15529 // $ANTLR end "rule__MultiplicityDefinition__Group__0__Impl" 24938 // $ANTLR end "rule__Real__Group__0"
15530 24939
15531 24940
15532 // $ANTLR start "rule__MultiplicityDefinition__Group__1" 24941 // $ANTLR start "rule__Real__Group__0__Impl"
15533 // InternalSolverLanguage.g:4991:1: rule__MultiplicityDefinition__Group__1 : rule__MultiplicityDefinition__Group__1__Impl rule__MultiplicityDefinition__Group__2 ; 24942 // InternalSolverLanguage.g:7533:1: rule__Real__Group__0__Impl : ( RULE_INT ) ;
15534 public final void rule__MultiplicityDefinition__Group__1() throws RecognitionException { 24943 public final void rule__Real__Group__0__Impl() throws RecognitionException {
15535 24944
15536 int stackSize = keepStackSize(); 24945 int stackSize = keepStackSize();
15537 24946
15538 try { 24947 try {
15539 // InternalSolverLanguage.g:4995:1: ( rule__MultiplicityDefinition__Group__1__Impl rule__MultiplicityDefinition__Group__2 ) 24948 // InternalSolverLanguage.g:7537:1: ( ( RULE_INT ) )
15540 // InternalSolverLanguage.g:4996:2: rule__MultiplicityDefinition__Group__1__Impl rule__MultiplicityDefinition__Group__2 24949 // InternalSolverLanguage.g:7538:1: ( RULE_INT )
15541 { 24950 {
15542 pushFollow(FOLLOW_47); 24951 // InternalSolverLanguage.g:7538:1: ( RULE_INT )
15543 rule__MultiplicityDefinition__Group__1__Impl(); 24952 // InternalSolverLanguage.g:7539:2: RULE_INT
24953 {
24954 if ( state.backtracking==0 ) {
24955 before(grammarAccess.getRealAccess().getINTTerminalRuleCall_0());
24956 }
24957 match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
24958 if ( state.backtracking==0 ) {
24959 after(grammarAccess.getRealAccess().getINTTerminalRuleCall_0());
24960 }
24961
24962 }
24963
24964
24965 }
24966
24967 }
24968 catch (RecognitionException re) {
24969 reportError(re);
24970 recover(input,re);
24971 }
24972 finally {
24973
24974 restoreStackSize(stackSize);
24975
24976 }
24977 return ;
24978 }
24979 // $ANTLR end "rule__Real__Group__0__Impl"
24980
24981
24982 // $ANTLR start "rule__Real__Group__1"
24983 // InternalSolverLanguage.g:7548:1: rule__Real__Group__1 : rule__Real__Group__1__Impl ;
24984 public final void rule__Real__Group__1() throws RecognitionException {
24985
24986 int stackSize = keepStackSize();
24987
24988 try {
24989 // InternalSolverLanguage.g:7552:1: ( rule__Real__Group__1__Impl )
24990 // InternalSolverLanguage.g:7553:2: rule__Real__Group__1__Impl
24991 {
24992 pushFollow(FOLLOW_2);
24993 rule__Real__Group__1__Impl();
15544 24994
15545 state._fsp--; 24995 state._fsp--;
24996 if (state.failed) return ;
24997
24998 }
15546 24999
25000 }
25001 catch (RecognitionException re) {
25002 reportError(re);
25003 recover(input,re);
25004 }
25005 finally {
25006
25007 restoreStackSize(stackSize);
25008
25009 }
25010 return ;
25011 }
25012 // $ANTLR end "rule__Real__Group__1"
25013
25014
25015 // $ANTLR start "rule__Real__Group__1__Impl"
25016 // InternalSolverLanguage.g:7559:1: rule__Real__Group__1__Impl : ( ( rule__Real__Group_1__0 )? ) ;
25017 public final void rule__Real__Group__1__Impl() throws RecognitionException {
25018
25019 int stackSize = keepStackSize();
25020
25021 try {
25022 // InternalSolverLanguage.g:7563:1: ( ( ( rule__Real__Group_1__0 )? ) )
25023 // InternalSolverLanguage.g:7564:1: ( ( rule__Real__Group_1__0 )? )
25024 {
25025 // InternalSolverLanguage.g:7564:1: ( ( rule__Real__Group_1__0 )? )
25026 // InternalSolverLanguage.g:7565:2: ( rule__Real__Group_1__0 )?
25027 {
25028 if ( state.backtracking==0 ) {
25029 before(grammarAccess.getRealAccess().getGroup_1());
25030 }
25031 // InternalSolverLanguage.g:7566:2: ( rule__Real__Group_1__0 )?
25032 int alt53=2;
25033 int LA53_0 = input.LA(1);
25034
25035 if ( (LA53_0==50) ) {
25036 alt53=1;
25037 }
25038 switch (alt53) {
25039 case 1 :
25040 // InternalSolverLanguage.g:7566:3: rule__Real__Group_1__0
25041 {
25042 pushFollow(FOLLOW_2);
25043 rule__Real__Group_1__0();
25044
25045 state._fsp--;
25046 if (state.failed) return ;
25047
25048 }
25049 break;
25050
25051 }
25052
25053 if ( state.backtracking==0 ) {
25054 after(grammarAccess.getRealAccess().getGroup_1());
25055 }
25056
25057 }
25058
25059
25060 }
25061
25062 }
25063 catch (RecognitionException re) {
25064 reportError(re);
25065 recover(input,re);
25066 }
25067 finally {
25068
25069 restoreStackSize(stackSize);
25070
25071 }
25072 return ;
25073 }
25074 // $ANTLR end "rule__Real__Group__1__Impl"
25075
25076
25077 // $ANTLR start "rule__Real__Group_1__0"
25078 // InternalSolverLanguage.g:7575:1: rule__Real__Group_1__0 : rule__Real__Group_1__0__Impl rule__Real__Group_1__1 ;
25079 public final void rule__Real__Group_1__0() throws RecognitionException {
25080
25081 int stackSize = keepStackSize();
25082
25083 try {
25084 // InternalSolverLanguage.g:7579:1: ( rule__Real__Group_1__0__Impl rule__Real__Group_1__1 )
25085 // InternalSolverLanguage.g:7580:2: rule__Real__Group_1__0__Impl rule__Real__Group_1__1
25086 {
25087 pushFollow(FOLLOW_53);
25088 rule__Real__Group_1__0__Impl();
25089
25090 state._fsp--;
25091 if (state.failed) return ;
15547 pushFollow(FOLLOW_2); 25092 pushFollow(FOLLOW_2);
15548 rule__MultiplicityDefinition__Group__2(); 25093 rule__Real__Group_1__1();
15549 25094
15550 state._fsp--; 25095 state._fsp--;
25096 if (state.failed) return ;
25097
25098 }
25099
25100 }
25101 catch (RecognitionException re) {
25102 reportError(re);
25103 recover(input,re);
25104 }
25105 finally {
25106
25107 restoreStackSize(stackSize);
25108
25109 }
25110 return ;
25111 }
25112 // $ANTLR end "rule__Real__Group_1__0"
25113
15551 25114
25115 // $ANTLR start "rule__Real__Group_1__0__Impl"
25116 // InternalSolverLanguage.g:7587:1: rule__Real__Group_1__0__Impl : ( '.' ) ;
25117 public final void rule__Real__Group_1__0__Impl() throws RecognitionException {
25118
25119 int stackSize = keepStackSize();
25120
25121 try {
25122 // InternalSolverLanguage.g:7591:1: ( ( '.' ) )
25123 // InternalSolverLanguage.g:7592:1: ( '.' )
25124 {
25125 // InternalSolverLanguage.g:7592:1: ( '.' )
25126 // InternalSolverLanguage.g:7593:2: '.'
25127 {
25128 if ( state.backtracking==0 ) {
25129 before(grammarAccess.getRealAccess().getFullStopKeyword_1_0());
25130 }
25131 match(input,50,FOLLOW_2); if (state.failed) return ;
25132 if ( state.backtracking==0 ) {
25133 after(grammarAccess.getRealAccess().getFullStopKeyword_1_0());
25134 }
25135
25136 }
25137
25138
25139 }
25140
25141 }
25142 catch (RecognitionException re) {
25143 reportError(re);
25144 recover(input,re);
25145 }
25146 finally {
25147
25148 restoreStackSize(stackSize);
25149
25150 }
25151 return ;
25152 }
25153 // $ANTLR end "rule__Real__Group_1__0__Impl"
25154
25155
25156 // $ANTLR start "rule__Real__Group_1__1"
25157 // InternalSolverLanguage.g:7602:1: rule__Real__Group_1__1 : rule__Real__Group_1__1__Impl ;
25158 public final void rule__Real__Group_1__1() throws RecognitionException {
25159
25160 int stackSize = keepStackSize();
25161
25162 try {
25163 // InternalSolverLanguage.g:7606:1: ( rule__Real__Group_1__1__Impl )
25164 // InternalSolverLanguage.g:7607:2: rule__Real__Group_1__1__Impl
25165 {
25166 pushFollow(FOLLOW_2);
25167 rule__Real__Group_1__1__Impl();
25168
25169 state._fsp--;
25170 if (state.failed) return ;
15552 25171
15553 } 25172 }
15554 25173
@@ -15564,25 +25183,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15564 } 25183 }
15565 return ; 25184 return ;
15566 } 25185 }
15567 // $ANTLR end "rule__MultiplicityDefinition__Group__1" 25186 // $ANTLR end "rule__Real__Group_1__1"
15568 25187
15569 25188
15570 // $ANTLR start "rule__MultiplicityDefinition__Group__1__Impl" 25189 // $ANTLR start "rule__Real__Group_1__1__Impl"
15571 // InternalSolverLanguage.g:5003:1: rule__MultiplicityDefinition__Group__1__Impl : ( '..' ) ; 25190 // InternalSolverLanguage.g:7613:1: rule__Real__Group_1__1__Impl : ( RULE_INT ) ;
15572 public final void rule__MultiplicityDefinition__Group__1__Impl() throws RecognitionException { 25191 public final void rule__Real__Group_1__1__Impl() throws RecognitionException {
15573 25192
15574 int stackSize = keepStackSize(); 25193 int stackSize = keepStackSize();
15575 25194
15576 try { 25195 try {
15577 // InternalSolverLanguage.g:5007:1: ( ( '..' ) ) 25196 // InternalSolverLanguage.g:7617:1: ( ( RULE_INT ) )
15578 // InternalSolverLanguage.g:5008:1: ( '..' ) 25197 // InternalSolverLanguage.g:7618:1: ( RULE_INT )
15579 { 25198 {
15580 // InternalSolverLanguage.g:5008:1: ( '..' ) 25199 // InternalSolverLanguage.g:7618:1: ( RULE_INT )
15581 // InternalSolverLanguage.g:5009:2: '..' 25200 // InternalSolverLanguage.g:7619:2: RULE_INT
15582 { 25201 {
15583 before(grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1()); 25202 if ( state.backtracking==0 ) {
15584 match(input,39,FOLLOW_2); 25203 before(grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1());
15585 after(grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1()); 25204 }
25205 match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
25206 if ( state.backtracking==0 ) {
25207 after(grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1());
25208 }
15586 25209
15587 } 25210 }
15588 25211
@@ -15601,25 +25224,104 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15601 } 25224 }
15602 return ; 25225 return ;
15603 } 25226 }
15604 // $ANTLR end "rule__MultiplicityDefinition__Group__1__Impl" 25227 // $ANTLR end "rule__Real__Group_1__1__Impl"
15605 25228
15606 25229
15607 // $ANTLR start "rule__MultiplicityDefinition__Group__2" 25230 // $ANTLR start "rule__QualifiedName__Group_0__0"
15608 // InternalSolverLanguage.g:5018:1: rule__MultiplicityDefinition__Group__2 : rule__MultiplicityDefinition__Group__2__Impl ; 25231 // InternalSolverLanguage.g:7629:1: rule__QualifiedName__Group_0__0 : rule__QualifiedName__Group_0__0__Impl rule__QualifiedName__Group_0__1 ;
15609 public final void rule__MultiplicityDefinition__Group__2() throws RecognitionException { 25232 public final void rule__QualifiedName__Group_0__0() throws RecognitionException {
15610 25233
15611 int stackSize = keepStackSize(); 25234 int stackSize = keepStackSize();
15612 25235
15613 try { 25236 try {
15614 // InternalSolverLanguage.g:5022:1: ( rule__MultiplicityDefinition__Group__2__Impl ) 25237 // InternalSolverLanguage.g:7633:1: ( rule__QualifiedName__Group_0__0__Impl rule__QualifiedName__Group_0__1 )
15615 // InternalSolverLanguage.g:5023:2: rule__MultiplicityDefinition__Group__2__Impl 25238 // InternalSolverLanguage.g:7634:2: rule__QualifiedName__Group_0__0__Impl rule__QualifiedName__Group_0__1
15616 { 25239 {
25240 pushFollow(FOLLOW_13);
25241 rule__QualifiedName__Group_0__0__Impl();
25242
25243 state._fsp--;
25244 if (state.failed) return ;
15617 pushFollow(FOLLOW_2); 25245 pushFollow(FOLLOW_2);
15618 rule__MultiplicityDefinition__Group__2__Impl(); 25246 rule__QualifiedName__Group_0__1();
15619 25247
15620 state._fsp--; 25248 state._fsp--;
25249 if (state.failed) return ;
25250
25251 }
25252
25253 }
25254 catch (RecognitionException re) {
25255 reportError(re);
25256 recover(input,re);
25257 }
25258 finally {
25259
25260 restoreStackSize(stackSize);
25261
25262 }
25263 return ;
25264 }
25265 // $ANTLR end "rule__QualifiedName__Group_0__0"
25266
25267
25268 // $ANTLR start "rule__QualifiedName__Group_0__0__Impl"
25269 // InternalSolverLanguage.g:7641:1: rule__QualifiedName__Group_0__0__Impl : ( RULE_ID ) ;
25270 public final void rule__QualifiedName__Group_0__0__Impl() throws RecognitionException {
25271
25272 int stackSize = keepStackSize();
25273
25274 try {
25275 // InternalSolverLanguage.g:7645:1: ( ( RULE_ID ) )
25276 // InternalSolverLanguage.g:7646:1: ( RULE_ID )
25277 {
25278 // InternalSolverLanguage.g:7646:1: ( RULE_ID )
25279 // InternalSolverLanguage.g:7647:2: RULE_ID
25280 {
25281 if ( state.backtracking==0 ) {
25282 before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0());
25283 }
25284 match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
25285 if ( state.backtracking==0 ) {
25286 after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0());
25287 }
25288
25289 }
25290
25291
25292 }
25293
25294 }
25295 catch (RecognitionException re) {
25296 reportError(re);
25297 recover(input,re);
25298 }
25299 finally {
25300
25301 restoreStackSize(stackSize);
25302
25303 }
25304 return ;
25305 }
25306 // $ANTLR end "rule__QualifiedName__Group_0__0__Impl"
15621 25307
15622 25308
25309 // $ANTLR start "rule__QualifiedName__Group_0__1"
25310 // InternalSolverLanguage.g:7656:1: rule__QualifiedName__Group_0__1 : rule__QualifiedName__Group_0__1__Impl ;
25311 public final void rule__QualifiedName__Group_0__1() throws RecognitionException {
25312
25313 int stackSize = keepStackSize();
25314
25315 try {
25316 // InternalSolverLanguage.g:7660:1: ( rule__QualifiedName__Group_0__1__Impl )
25317 // InternalSolverLanguage.g:7661:2: rule__QualifiedName__Group_0__1__Impl
25318 {
25319 pushFollow(FOLLOW_2);
25320 rule__QualifiedName__Group_0__1__Impl();
25321
25322 state._fsp--;
25323 if (state.failed) return ;
25324
15623 } 25325 }
15624 25326
15625 } 25327 }
@@ -15634,38 +25336,178 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15634 } 25336 }
15635 return ; 25337 return ;
15636 } 25338 }
15637 // $ANTLR end "rule__MultiplicityDefinition__Group__2" 25339 // $ANTLR end "rule__QualifiedName__Group_0__1"
15638 25340
15639 25341
15640 // $ANTLR start "rule__MultiplicityDefinition__Group__2__Impl" 25342 // $ANTLR start "rule__QualifiedName__Group_0__1__Impl"
15641 // InternalSolverLanguage.g:5029:1: rule__MultiplicityDefinition__Group__2__Impl : ( ( rule__MultiplicityDefinition__Alternatives_2 ) ) ; 25343 // InternalSolverLanguage.g:7667:1: rule__QualifiedName__Group_0__1__Impl : ( ( rule__QualifiedName__Group_0_1__0 )* ) ;
15642 public final void rule__MultiplicityDefinition__Group__2__Impl() throws RecognitionException { 25344 public final void rule__QualifiedName__Group_0__1__Impl() throws RecognitionException {
15643 25345
15644 int stackSize = keepStackSize(); 25346 int stackSize = keepStackSize();
15645 25347
15646 try { 25348 try {
15647 // InternalSolverLanguage.g:5033:1: ( ( ( rule__MultiplicityDefinition__Alternatives_2 ) ) ) 25349 // InternalSolverLanguage.g:7671:1: ( ( ( rule__QualifiedName__Group_0_1__0 )* ) )
15648 // InternalSolverLanguage.g:5034:1: ( ( rule__MultiplicityDefinition__Alternatives_2 ) ) 25350 // InternalSolverLanguage.g:7672:1: ( ( rule__QualifiedName__Group_0_1__0 )* )
15649 { 25351 {
15650 // InternalSolverLanguage.g:5034:1: ( ( rule__MultiplicityDefinition__Alternatives_2 ) ) 25352 // InternalSolverLanguage.g:7672:1: ( ( rule__QualifiedName__Group_0_1__0 )* )
15651 // InternalSolverLanguage.g:5035:2: ( rule__MultiplicityDefinition__Alternatives_2 ) 25353 // InternalSolverLanguage.g:7673:2: ( rule__QualifiedName__Group_0_1__0 )*
15652 { 25354 {
15653 before(grammarAccess.getMultiplicityDefinitionAccess().getAlternatives_2()); 25355 if ( state.backtracking==0 ) {
15654 // InternalSolverLanguage.g:5036:2: ( rule__MultiplicityDefinition__Alternatives_2 ) 25356 before(grammarAccess.getQualifiedNameAccess().getGroup_0_1());
15655 // InternalSolverLanguage.g:5036:3: rule__MultiplicityDefinition__Alternatives_2 25357 }
25358 // InternalSolverLanguage.g:7674:2: ( rule__QualifiedName__Group_0_1__0 )*
25359 loop54:
25360 do {
25361 int alt54=2;
25362 int LA54_0 = input.LA(1);
25363
25364 if ( (LA54_0==50) ) {
25365 int LA54_2 = input.LA(2);
25366
25367 if ( (LA54_2==RULE_ID) ) {
25368 alt54=1;
25369 }
25370
25371
25372 }
25373
25374
25375 switch (alt54) {
25376 case 1 :
25377 // InternalSolverLanguage.g:7674:3: rule__QualifiedName__Group_0_1__0
25378 {
25379 pushFollow(FOLLOW_58);
25380 rule__QualifiedName__Group_0_1__0();
25381
25382 state._fsp--;
25383 if (state.failed) return ;
25384
25385 }
25386 break;
25387
25388 default :
25389 break loop54;
25390 }
25391 } while (true);
25392
25393 if ( state.backtracking==0 ) {
25394 after(grammarAccess.getQualifiedNameAccess().getGroup_0_1());
25395 }
25396
25397 }
25398
25399
25400 }
25401
25402 }
25403 catch (RecognitionException re) {
25404 reportError(re);
25405 recover(input,re);
25406 }
25407 finally {
25408
25409 restoreStackSize(stackSize);
25410
25411 }
25412 return ;
25413 }
25414 // $ANTLR end "rule__QualifiedName__Group_0__1__Impl"
25415
25416
25417 // $ANTLR start "rule__QualifiedName__Group_0_1__0"
25418 // InternalSolverLanguage.g:7683:1: rule__QualifiedName__Group_0_1__0 : rule__QualifiedName__Group_0_1__0__Impl rule__QualifiedName__Group_0_1__1 ;
25419 public final void rule__QualifiedName__Group_0_1__0() throws RecognitionException {
25420
25421 int stackSize = keepStackSize();
25422
25423 try {
25424 // InternalSolverLanguage.g:7687:1: ( rule__QualifiedName__Group_0_1__0__Impl rule__QualifiedName__Group_0_1__1 )
25425 // InternalSolverLanguage.g:7688:2: rule__QualifiedName__Group_0_1__0__Impl rule__QualifiedName__Group_0_1__1
15656 { 25426 {
25427 pushFollow(FOLLOW_44);
25428 rule__QualifiedName__Group_0_1__0__Impl();
25429
25430 state._fsp--;
25431 if (state.failed) return ;
15657 pushFollow(FOLLOW_2); 25432 pushFollow(FOLLOW_2);
15658 rule__MultiplicityDefinition__Alternatives_2(); 25433 rule__QualifiedName__Group_0_1__1();
15659 25434
15660 state._fsp--; 25435 state._fsp--;
25436 if (state.failed) return ;
25437
25438 }
25439
25440 }
25441 catch (RecognitionException re) {
25442 reportError(re);
25443 recover(input,re);
25444 }
25445 finally {
25446
25447 restoreStackSize(stackSize);
25448
25449 }
25450 return ;
25451 }
25452 // $ANTLR end "rule__QualifiedName__Group_0_1__0"
15661 25453
15662 25454
25455 // $ANTLR start "rule__QualifiedName__Group_0_1__0__Impl"
25456 // InternalSolverLanguage.g:7695:1: rule__QualifiedName__Group_0_1__0__Impl : ( '.' ) ;
25457 public final void rule__QualifiedName__Group_0_1__0__Impl() throws RecognitionException {
25458
25459 int stackSize = keepStackSize();
25460
25461 try {
25462 // InternalSolverLanguage.g:7699:1: ( ( '.' ) )
25463 // InternalSolverLanguage.g:7700:1: ( '.' )
25464 {
25465 // InternalSolverLanguage.g:7700:1: ( '.' )
25466 // InternalSolverLanguage.g:7701:2: '.'
25467 {
25468 if ( state.backtracking==0 ) {
25469 before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0());
25470 }
25471 match(input,50,FOLLOW_2); if (state.failed) return ;
25472 if ( state.backtracking==0 ) {
25473 after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0());
25474 }
25475
15663 } 25476 }
15664 25477
15665 after(grammarAccess.getMultiplicityDefinitionAccess().getAlternatives_2());
15666 25478
15667 } 25479 }
15668 25480
25481 }
25482 catch (RecognitionException re) {
25483 reportError(re);
25484 recover(input,re);
25485 }
25486 finally {
25487
25488 restoreStackSize(stackSize);
25489
25490 }
25491 return ;
25492 }
25493 // $ANTLR end "rule__QualifiedName__Group_0_1__0__Impl"
25494
25495
25496 // $ANTLR start "rule__QualifiedName__Group_0_1__1"
25497 // InternalSolverLanguage.g:7710:1: rule__QualifiedName__Group_0_1__1 : rule__QualifiedName__Group_0_1__1__Impl ;
25498 public final void rule__QualifiedName__Group_0_1__1() throws RecognitionException {
25499
25500 int stackSize = keepStackSize();
25501
25502 try {
25503 // InternalSolverLanguage.g:7714:1: ( rule__QualifiedName__Group_0_1__1__Impl )
25504 // InternalSolverLanguage.g:7715:2: rule__QualifiedName__Group_0_1__1__Impl
25505 {
25506 pushFollow(FOLLOW_2);
25507 rule__QualifiedName__Group_0_1__1__Impl();
25508
25509 state._fsp--;
25510 if (state.failed) return ;
15669 25511
15670 } 25512 }
15671 25513
@@ -15681,29 +25523,74 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15681 } 25523 }
15682 return ; 25524 return ;
15683 } 25525 }
15684 // $ANTLR end "rule__MultiplicityDefinition__Group__2__Impl" 25526 // $ANTLR end "rule__QualifiedName__Group_0_1__1"
25527
25528
25529 // $ANTLR start "rule__QualifiedName__Group_0_1__1__Impl"
25530 // InternalSolverLanguage.g:7721:1: rule__QualifiedName__Group_0_1__1__Impl : ( RULE_ID ) ;
25531 public final void rule__QualifiedName__Group_0_1__1__Impl() throws RecognitionException {
25532
25533 int stackSize = keepStackSize();
25534
25535 try {
25536 // InternalSolverLanguage.g:7725:1: ( ( RULE_ID ) )
25537 // InternalSolverLanguage.g:7726:1: ( RULE_ID )
25538 {
25539 // InternalSolverLanguage.g:7726:1: ( RULE_ID )
25540 // InternalSolverLanguage.g:7727:2: RULE_ID
25541 {
25542 if ( state.backtracking==0 ) {
25543 before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1());
25544 }
25545 match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
25546 if ( state.backtracking==0 ) {
25547 after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1());
25548 }
25549
25550 }
25551
25552
25553 }
25554
25555 }
25556 catch (RecognitionException re) {
25557 reportError(re);
25558 recover(input,re);
25559 }
25560 finally {
25561
25562 restoreStackSize(stackSize);
25563
25564 }
25565 return ;
25566 }
25567 // $ANTLR end "rule__QualifiedName__Group_0_1__1__Impl"
15685 25568
15686 25569
15687 // $ANTLR start "rule__Problem__StatementsAssignment" 25570 // $ANTLR start "rule__Problem__StatementsAssignment"
15688 // InternalSolverLanguage.g:5045:1: rule__Problem__StatementsAssignment : ( ruleStatement ) ; 25571 // InternalSolverLanguage.g:7737:1: rule__Problem__StatementsAssignment : ( ruleStatement ) ;
15689 public final void rule__Problem__StatementsAssignment() throws RecognitionException { 25572 public final void rule__Problem__StatementsAssignment() throws RecognitionException {
15690 25573
15691 int stackSize = keepStackSize(); 25574 int stackSize = keepStackSize();
15692 25575
15693 try { 25576 try {
15694 // InternalSolverLanguage.g:5049:1: ( ( ruleStatement ) ) 25577 // InternalSolverLanguage.g:7741:1: ( ( ruleStatement ) )
15695 // InternalSolverLanguage.g:5050:2: ( ruleStatement ) 25578 // InternalSolverLanguage.g:7742:2: ( ruleStatement )
15696 { 25579 {
15697 // InternalSolverLanguage.g:5050:2: ( ruleStatement ) 25580 // InternalSolverLanguage.g:7742:2: ( ruleStatement )
15698 // InternalSolverLanguage.g:5051:3: ruleStatement 25581 // InternalSolverLanguage.g:7743:3: ruleStatement
15699 { 25582 {
15700 before(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); 25583 if ( state.backtracking==0 ) {
25584 before(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0());
25585 }
15701 pushFollow(FOLLOW_2); 25586 pushFollow(FOLLOW_2);
15702 ruleStatement(); 25587 ruleStatement();
15703 25588
15704 state._fsp--; 25589 state._fsp--;
15705 25590 if (state.failed) return ;
15706 after(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); 25591 if ( state.backtracking==0 ) {
25592 after(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0());
25593 }
15707 25594
15708 } 25595 }
15709 25596
@@ -15725,26 +25612,75 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15725 // $ANTLR end "rule__Problem__StatementsAssignment" 25612 // $ANTLR end "rule__Problem__StatementsAssignment"
15726 25613
15727 25614
15728 // $ANTLR start "rule__BasicInterpretation__SymbolAssignment_0" 25615 // $ANTLR start "rule__AssertionOrDefinition__RangeAssignment_1_0_1_1"
15729 // InternalSolverLanguage.g:5060:1: rule__BasicInterpretation__SymbolAssignment_0 : ( ruleSymbol ) ; 25616 // InternalSolverLanguage.g:7752:1: rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 : ( ruleExpression ) ;
15730 public final void rule__BasicInterpretation__SymbolAssignment_0() throws RecognitionException { 25617 public final void rule__AssertionOrDefinition__RangeAssignment_1_0_1_1() throws RecognitionException {
15731 25618
15732 int stackSize = keepStackSize(); 25619 int stackSize = keepStackSize();
15733 25620
15734 try { 25621 try {
15735 // InternalSolverLanguage.g:5064:1: ( ( ruleSymbol ) ) 25622 // InternalSolverLanguage.g:7756:1: ( ( ruleExpression ) )
15736 // InternalSolverLanguage.g:5065:2: ( ruleSymbol ) 25623 // InternalSolverLanguage.g:7757:2: ( ruleExpression )
15737 { 25624 {
15738 // InternalSolverLanguage.g:5065:2: ( ruleSymbol ) 25625 // InternalSolverLanguage.g:7757:2: ( ruleExpression )
15739 // InternalSolverLanguage.g:5066:3: ruleSymbol 25626 // InternalSolverLanguage.g:7758:3: ruleExpression
15740 { 25627 {
15741 before(grammarAccess.getBasicInterpretationAccess().getSymbolSymbolParserRuleCall_0_0()); 25628 if ( state.backtracking==0 ) {
25629 before(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0());
25630 }
15742 pushFollow(FOLLOW_2); 25631 pushFollow(FOLLOW_2);
15743 ruleSymbol(); 25632 ruleExpression();
15744 25633
15745 state._fsp--; 25634 state._fsp--;
25635 if (state.failed) return ;
25636 if ( state.backtracking==0 ) {
25637 after(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0());
25638 }
25639
25640 }
25641
25642
25643 }
25644
25645 }
25646 catch (RecognitionException re) {
25647 reportError(re);
25648 recover(input,re);
25649 }
25650 finally {
25651
25652 restoreStackSize(stackSize);
25653
25654 }
25655 return ;
25656 }
25657 // $ANTLR end "rule__AssertionOrDefinition__RangeAssignment_1_0_1_1"
25658
25659
25660 // $ANTLR start "rule__AssertionOrDefinition__BodyAssignment_1_1_2"
25661 // InternalSolverLanguage.g:7767:1: rule__AssertionOrDefinition__BodyAssignment_1_1_2 : ( ruleExpression ) ;
25662 public final void rule__AssertionOrDefinition__BodyAssignment_1_1_2() throws RecognitionException {
25663
25664 int stackSize = keepStackSize();
25665
25666 try {
25667 // InternalSolverLanguage.g:7771:1: ( ( ruleExpression ) )
25668 // InternalSolverLanguage.g:7772:2: ( ruleExpression )
25669 {
25670 // InternalSolverLanguage.g:7772:2: ( ruleExpression )
25671 // InternalSolverLanguage.g:7773:3: ruleExpression
25672 {
25673 if ( state.backtracking==0 ) {
25674 before(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0());
25675 }
25676 pushFollow(FOLLOW_2);
25677 ruleExpression();
15746 25678
15747 after(grammarAccess.getBasicInterpretationAccess().getSymbolSymbolParserRuleCall_0_0()); 25679 state._fsp--;
25680 if (state.failed) return ;
25681 if ( state.backtracking==0 ) {
25682 after(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0());
25683 }
15748 25684
15749 } 25685 }
15750 25686
@@ -15763,29 +25699,245 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15763 } 25699 }
15764 return ; 25700 return ;
15765 } 25701 }
15766 // $ANTLR end "rule__BasicInterpretation__SymbolAssignment_0" 25702 // $ANTLR end "rule__AssertionOrDefinition__BodyAssignment_1_1_2"
15767 25703
15768 25704
15769 // $ANTLR start "rule__BasicInterpretation__ObjectsAssignment_1_1_0" 25705 // $ANTLR start "rule__AssertionOrDefinition__BodyAssignment_1_2_2"
15770 // InternalSolverLanguage.g:5075:1: rule__BasicInterpretation__ObjectsAssignment_1_1_0 : ( ruleComplexObject ) ; 25706 // InternalSolverLanguage.g:7782:1: rule__AssertionOrDefinition__BodyAssignment_1_2_2 : ( ruleExpression ) ;
15771 public final void rule__BasicInterpretation__ObjectsAssignment_1_1_0() throws RecognitionException { 25707 public final void rule__AssertionOrDefinition__BodyAssignment_1_2_2() throws RecognitionException {
15772 25708
15773 int stackSize = keepStackSize(); 25709 int stackSize = keepStackSize();
15774 25710
15775 try { 25711 try {
15776 // InternalSolverLanguage.g:5079:1: ( ( ruleComplexObject ) ) 25712 // InternalSolverLanguage.g:7786:1: ( ( ruleExpression ) )
15777 // InternalSolverLanguage.g:5080:2: ( ruleComplexObject ) 25713 // InternalSolverLanguage.g:7787:2: ( ruleExpression )
15778 { 25714 {
15779 // InternalSolverLanguage.g:5080:2: ( ruleComplexObject ) 25715 // InternalSolverLanguage.g:7787:2: ( ruleExpression )
15780 // InternalSolverLanguage.g:5081:3: ruleComplexObject 25716 // InternalSolverLanguage.g:7788:3: ruleExpression
15781 { 25717 {
15782 before(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0()); 25718 if ( state.backtracking==0 ) {
25719 before(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0());
25720 }
15783 pushFollow(FOLLOW_2); 25721 pushFollow(FOLLOW_2);
15784 ruleComplexObject(); 25722 ruleExpression();
15785 25723
15786 state._fsp--; 25724 state._fsp--;
25725 if (state.failed) return ;
25726 if ( state.backtracking==0 ) {
25727 after(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0());
25728 }
25729
25730 }
15787 25731
15788 after(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0()); 25732
25733 }
25734
25735 }
25736 catch (RecognitionException re) {
25737 reportError(re);
25738 recover(input,re);
25739 }
25740 finally {
25741
25742 restoreStackSize(stackSize);
25743
25744 }
25745 return ;
25746 }
25747 // $ANTLR end "rule__AssertionOrDefinition__BodyAssignment_1_2_2"
25748
25749
25750 // $ANTLR start "rule__PredicateDefinition__FunctionalAssignment_0_0_0"
25751 // InternalSolverLanguage.g:7797:1: rule__PredicateDefinition__FunctionalAssignment_0_0_0 : ( ( 'functional' ) ) ;
25752 public final void rule__PredicateDefinition__FunctionalAssignment_0_0_0() throws RecognitionException {
25753
25754 int stackSize = keepStackSize();
25755
25756 try {
25757 // InternalSolverLanguage.g:7801:1: ( ( ( 'functional' ) ) )
25758 // InternalSolverLanguage.g:7802:2: ( ( 'functional' ) )
25759 {
25760 // InternalSolverLanguage.g:7802:2: ( ( 'functional' ) )
25761 // InternalSolverLanguage.g:7803:3: ( 'functional' )
25762 {
25763 if ( state.backtracking==0 ) {
25764 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0());
25765 }
25766 // InternalSolverLanguage.g:7804:3: ( 'functional' )
25767 // InternalSolverLanguage.g:7805:4: 'functional'
25768 {
25769 if ( state.backtracking==0 ) {
25770 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0());
25771 }
25772 match(input,72,FOLLOW_2); if (state.failed) return ;
25773 if ( state.backtracking==0 ) {
25774 after(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0());
25775 }
25776
25777 }
25778
25779 if ( state.backtracking==0 ) {
25780 after(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0());
25781 }
25782
25783 }
25784
25785
25786 }
25787
25788 }
25789 catch (RecognitionException re) {
25790 reportError(re);
25791 recover(input,re);
25792 }
25793 finally {
25794
25795 restoreStackSize(stackSize);
25796
25797 }
25798 return ;
25799 }
25800 // $ANTLR end "rule__PredicateDefinition__FunctionalAssignment_0_0_0"
25801
25802
25803 // $ANTLR start "rule__PredicateDefinition__ErrorAssignment_0_0_1"
25804 // InternalSolverLanguage.g:7816:1: rule__PredicateDefinition__ErrorAssignment_0_0_1 : ( ( 'error' ) ) ;
25805 public final void rule__PredicateDefinition__ErrorAssignment_0_0_1() throws RecognitionException {
25806
25807 int stackSize = keepStackSize();
25808
25809 try {
25810 // InternalSolverLanguage.g:7820:1: ( ( ( 'error' ) ) )
25811 // InternalSolverLanguage.g:7821:2: ( ( 'error' ) )
25812 {
25813 // InternalSolverLanguage.g:7821:2: ( ( 'error' ) )
25814 // InternalSolverLanguage.g:7822:3: ( 'error' )
25815 {
25816 if ( state.backtracking==0 ) {
25817 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0());
25818 }
25819 // InternalSolverLanguage.g:7823:3: ( 'error' )
25820 // InternalSolverLanguage.g:7824:4: 'error'
25821 {
25822 if ( state.backtracking==0 ) {
25823 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0());
25824 }
25825 match(input,42,FOLLOW_2); if (state.failed) return ;
25826 if ( state.backtracking==0 ) {
25827 after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0());
25828 }
25829
25830 }
25831
25832 if ( state.backtracking==0 ) {
25833 after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0());
25834 }
25835
25836 }
25837
25838
25839 }
25840
25841 }
25842 catch (RecognitionException re) {
25843 reportError(re);
25844 recover(input,re);
25845 }
25846 finally {
25847
25848 restoreStackSize(stackSize);
25849
25850 }
25851 return ;
25852 }
25853 // $ANTLR end "rule__PredicateDefinition__ErrorAssignment_0_0_1"
25854
25855
25856 // $ANTLR start "rule__PredicateDefinition__ErrorAssignment_0_1_0"
25857 // InternalSolverLanguage.g:7835:1: rule__PredicateDefinition__ErrorAssignment_0_1_0 : ( ( 'error' ) ) ;
25858 public final void rule__PredicateDefinition__ErrorAssignment_0_1_0() throws RecognitionException {
25859
25860 int stackSize = keepStackSize();
25861
25862 try {
25863 // InternalSolverLanguage.g:7839:1: ( ( ( 'error' ) ) )
25864 // InternalSolverLanguage.g:7840:2: ( ( 'error' ) )
25865 {
25866 // InternalSolverLanguage.g:7840:2: ( ( 'error' ) )
25867 // InternalSolverLanguage.g:7841:3: ( 'error' )
25868 {
25869 if ( state.backtracking==0 ) {
25870 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0());
25871 }
25872 // InternalSolverLanguage.g:7842:3: ( 'error' )
25873 // InternalSolverLanguage.g:7843:4: 'error'
25874 {
25875 if ( state.backtracking==0 ) {
25876 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0());
25877 }
25878 match(input,42,FOLLOW_2); if (state.failed) return ;
25879 if ( state.backtracking==0 ) {
25880 after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0());
25881 }
25882
25883 }
25884
25885 if ( state.backtracking==0 ) {
25886 after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0());
25887 }
25888
25889 }
25890
25891
25892 }
25893
25894 }
25895 catch (RecognitionException re) {
25896 reportError(re);
25897 recover(input,re);
25898 }
25899 finally {
25900
25901 restoreStackSize(stackSize);
25902
25903 }
25904 return ;
25905 }
25906 // $ANTLR end "rule__PredicateDefinition__ErrorAssignment_0_1_0"
25907
25908
25909 // $ANTLR start "rule__PredicateDefinition__FunctionalAssignment_0_1_1"
25910 // InternalSolverLanguage.g:7854:1: rule__PredicateDefinition__FunctionalAssignment_0_1_1 : ( ( 'functional' ) ) ;
25911 public final void rule__PredicateDefinition__FunctionalAssignment_0_1_1() throws RecognitionException {
25912
25913 int stackSize = keepStackSize();
25914
25915 try {
25916 // InternalSolverLanguage.g:7858:1: ( ( ( 'functional' ) ) )
25917 // InternalSolverLanguage.g:7859:2: ( ( 'functional' ) )
25918 {
25919 // InternalSolverLanguage.g:7859:2: ( ( 'functional' ) )
25920 // InternalSolverLanguage.g:7860:3: ( 'functional' )
25921 {
25922 if ( state.backtracking==0 ) {
25923 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0());
25924 }
25925 // InternalSolverLanguage.g:7861:3: ( 'functional' )
25926 // InternalSolverLanguage.g:7862:4: 'functional'
25927 {
25928 if ( state.backtracking==0 ) {
25929 before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0());
25930 }
25931 match(input,72,FOLLOW_2); if (state.failed) return ;
25932 if ( state.backtracking==0 ) {
25933 after(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0());
25934 }
25935
25936 }
25937
25938 if ( state.backtracking==0 ) {
25939 after(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0());
25940 }
15789 25941
15790 } 25942 }
15791 25943
@@ -15804,29 +25956,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15804 } 25956 }
15805 return ; 25957 return ;
15806 } 25958 }
15807 // $ANTLR end "rule__BasicInterpretation__ObjectsAssignment_1_1_0" 25959 // $ANTLR end "rule__PredicateDefinition__FunctionalAssignment_0_1_1"
15808 25960
15809 25961
15810 // $ANTLR start "rule__BasicInterpretation__ObjectsAssignment_1_1_1_1" 25962 // $ANTLR start "rule__PredicateDefinition__HeadAssignment_1"
15811 // InternalSolverLanguage.g:5090:1: rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 : ( ruleComplexObject ) ; 25963 // InternalSolverLanguage.g:7873:1: rule__PredicateDefinition__HeadAssignment_1 : ( ruleCall ) ;
15812 public final void rule__BasicInterpretation__ObjectsAssignment_1_1_1_1() throws RecognitionException { 25964 public final void rule__PredicateDefinition__HeadAssignment_1() throws RecognitionException {
15813 25965
15814 int stackSize = keepStackSize(); 25966 int stackSize = keepStackSize();
15815 25967
15816 try { 25968 try {
15817 // InternalSolverLanguage.g:5094:1: ( ( ruleComplexObject ) ) 25969 // InternalSolverLanguage.g:7877:1: ( ( ruleCall ) )
15818 // InternalSolverLanguage.g:5095:2: ( ruleComplexObject ) 25970 // InternalSolverLanguage.g:7878:2: ( ruleCall )
15819 { 25971 {
15820 // InternalSolverLanguage.g:5095:2: ( ruleComplexObject ) 25972 // InternalSolverLanguage.g:7878:2: ( ruleCall )
15821 // InternalSolverLanguage.g:5096:3: ruleComplexObject 25973 // InternalSolverLanguage.g:7879:3: ruleCall
15822 { 25974 {
15823 before(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0()); 25975 if ( state.backtracking==0 ) {
25976 before(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0());
25977 }
15824 pushFollow(FOLLOW_2); 25978 pushFollow(FOLLOW_2);
15825 ruleComplexObject(); 25979 ruleCall();
15826 25980
15827 state._fsp--; 25981 state._fsp--;
25982 if (state.failed) return ;
25983 if ( state.backtracking==0 ) {
25984 after(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0());
25985 }
25986
25987 }
25988
25989
25990 }
15828 25991
15829 after(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0()); 25992 }
25993 catch (RecognitionException re) {
25994 reportError(re);
25995 recover(input,re);
25996 }
25997 finally {
25998
25999 restoreStackSize(stackSize);
26000
26001 }
26002 return ;
26003 }
26004 // $ANTLR end "rule__PredicateDefinition__HeadAssignment_1"
26005
26006
26007 // $ANTLR start "rule__PredicateDefinition__BodyAssignment_3"
26008 // InternalSolverLanguage.g:7888:1: rule__PredicateDefinition__BodyAssignment_3 : ( ruleExpression ) ;
26009 public final void rule__PredicateDefinition__BodyAssignment_3() throws RecognitionException {
26010
26011 int stackSize = keepStackSize();
26012
26013 try {
26014 // InternalSolverLanguage.g:7892:1: ( ( ruleExpression ) )
26015 // InternalSolverLanguage.g:7893:2: ( ruleExpression )
26016 {
26017 // InternalSolverLanguage.g:7893:2: ( ruleExpression )
26018 // InternalSolverLanguage.g:7894:3: ruleExpression
26019 {
26020 if ( state.backtracking==0 ) {
26021 before(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
26022 }
26023 pushFollow(FOLLOW_2);
26024 ruleExpression();
26025
26026 state._fsp--;
26027 if (state.failed) return ;
26028 if ( state.backtracking==0 ) {
26029 after(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
26030 }
15830 26031
15831 } 26032 }
15832 26033
@@ -15845,29 +26046,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15845 } 26046 }
15846 return ; 26047 return ;
15847 } 26048 }
15848 // $ANTLR end "rule__BasicInterpretation__ObjectsAssignment_1_1_1_1" 26049 // $ANTLR end "rule__PredicateDefinition__BodyAssignment_3"
15849 26050
15850 26051
15851 // $ANTLR start "rule__BasicInterpretation__ValueAssignment_3" 26052 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1"
15852 // InternalSolverLanguage.g:5105:1: rule__BasicInterpretation__ValueAssignment_3 : ( ruleTruthValue ) ; 26053 // InternalSolverLanguage.g:7903:1: rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 : ( ruleArgumentList ) ;
15853 public final void rule__BasicInterpretation__ValueAssignment_3() throws RecognitionException { 26054 public final void rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1() throws RecognitionException {
15854 26055
15855 int stackSize = keepStackSize(); 26056 int stackSize = keepStackSize();
15856 26057
15857 try { 26058 try {
15858 // InternalSolverLanguage.g:5109:1: ( ( ruleTruthValue ) ) 26059 // InternalSolverLanguage.g:7907:1: ( ( ruleArgumentList ) )
15859 // InternalSolverLanguage.g:5110:2: ( ruleTruthValue ) 26060 // InternalSolverLanguage.g:7908:2: ( ruleArgumentList )
15860 { 26061 {
15861 // InternalSolverLanguage.g:5110:2: ( ruleTruthValue ) 26062 // InternalSolverLanguage.g:7908:2: ( ruleArgumentList )
15862 // InternalSolverLanguage.g:5111:3: ruleTruthValue 26063 // InternalSolverLanguage.g:7909:3: ruleArgumentList
15863 { 26064 {
15864 before(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0()); 26065 if ( state.backtracking==0 ) {
26066 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0());
26067 }
15865 pushFollow(FOLLOW_2); 26068 pushFollow(FOLLOW_2);
15866 ruleTruthValue(); 26069 ruleArgumentList();
15867 26070
15868 state._fsp--; 26071 state._fsp--;
26072 if (state.failed) return ;
26073 if ( state.backtracking==0 ) {
26074 after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0());
26075 }
26076
26077 }
26078
26079
26080 }
26081
26082 }
26083 catch (RecognitionException re) {
26084 reportError(re);
26085 recover(input,re);
26086 }
26087 finally {
26088
26089 restoreStackSize(stackSize);
26090
26091 }
26092 return ;
26093 }
26094 // $ANTLR end "rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1"
26095
26096
26097 // $ANTLR start "rule__UnnamedErrorPrediateDefinition__BodyAssignment_3"
26098 // InternalSolverLanguage.g:7918:1: rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 : ( ruleExpression ) ;
26099 public final void rule__UnnamedErrorPrediateDefinition__BodyAssignment_3() throws RecognitionException {
26100
26101 int stackSize = keepStackSize();
26102
26103 try {
26104 // InternalSolverLanguage.g:7922:1: ( ( ruleExpression ) )
26105 // InternalSolverLanguage.g:7923:2: ( ruleExpression )
26106 {
26107 // InternalSolverLanguage.g:7923:2: ( ruleExpression )
26108 // InternalSolverLanguage.g:7924:3: ruleExpression
26109 {
26110 if ( state.backtracking==0 ) {
26111 before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
26112 }
26113 pushFollow(FOLLOW_2);
26114 ruleExpression();
15869 26115
15870 after(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0()); 26116 state._fsp--;
26117 if (state.failed) return ;
26118 if ( state.backtracking==0 ) {
26119 after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
26120 }
15871 26121
15872 } 26122 }
15873 26123
@@ -15886,25 +26136,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15886 } 26136 }
15887 return ; 26137 return ;
15888 } 26138 }
15889 // $ANTLR end "rule__BasicInterpretation__ValueAssignment_3" 26139 // $ANTLR end "rule__UnnamedErrorPrediateDefinition__BodyAssignment_3"
15890 26140
15891 26141
15892 // $ANTLR start "rule__ModelSymbol__NameAssignment" 26142 // $ANTLR start "rule__DefaultDefinition__HeadAssignment_1"
15893 // InternalSolverLanguage.g:5120:1: rule__ModelSymbol__NameAssignment : ( RULE_ID ) ; 26143 // InternalSolverLanguage.g:7933:1: rule__DefaultDefinition__HeadAssignment_1 : ( ruleCall ) ;
15894 public final void rule__ModelSymbol__NameAssignment() throws RecognitionException { 26144 public final void rule__DefaultDefinition__HeadAssignment_1() throws RecognitionException {
15895 26145
15896 int stackSize = keepStackSize(); 26146 int stackSize = keepStackSize();
15897 26147
15898 try { 26148 try {
15899 // InternalSolverLanguage.g:5124:1: ( ( RULE_ID ) ) 26149 // InternalSolverLanguage.g:7937:1: ( ( ruleCall ) )
15900 // InternalSolverLanguage.g:5125:2: ( RULE_ID ) 26150 // InternalSolverLanguage.g:7938:2: ( ruleCall )
15901 { 26151 {
15902 // InternalSolverLanguage.g:5125:2: ( RULE_ID ) 26152 // InternalSolverLanguage.g:7938:2: ( ruleCall )
15903 // InternalSolverLanguage.g:5126:3: RULE_ID 26153 // InternalSolverLanguage.g:7939:3: ruleCall
15904 { 26154 {
15905 before(grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0()); 26155 if ( state.backtracking==0 ) {
15906 match(input,RULE_ID,FOLLOW_2); 26156 before(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0());
15907 after(grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0()); 26157 }
26158 pushFollow(FOLLOW_2);
26159 ruleCall();
26160
26161 state._fsp--;
26162 if (state.failed) return ;
26163 if ( state.backtracking==0 ) {
26164 after(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0());
26165 }
15908 26166
15909 } 26167 }
15910 26168
@@ -15923,25 +26181,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15923 } 26181 }
15924 return ; 26182 return ;
15925 } 26183 }
15926 // $ANTLR end "rule__ModelSymbol__NameAssignment" 26184 // $ANTLR end "rule__DefaultDefinition__HeadAssignment_1"
15927 26185
15928 26186
15929 // $ANTLR start "rule__NamedObject__NameAssignment_1" 26187 // $ANTLR start "rule__DefaultDefinition__RangeAssignment_3"
15930 // InternalSolverLanguage.g:5135:1: rule__NamedObject__NameAssignment_1 : ( RULE_ID ) ; 26188 // InternalSolverLanguage.g:7948:1: rule__DefaultDefinition__RangeAssignment_3 : ( ruleExpression ) ;
15931 public final void rule__NamedObject__NameAssignment_1() throws RecognitionException { 26189 public final void rule__DefaultDefinition__RangeAssignment_3() throws RecognitionException {
15932 26190
15933 int stackSize = keepStackSize(); 26191 int stackSize = keepStackSize();
15934 26192
15935 try { 26193 try {
15936 // InternalSolverLanguage.g:5139:1: ( ( RULE_ID ) ) 26194 // InternalSolverLanguage.g:7952:1: ( ( ruleExpression ) )
15937 // InternalSolverLanguage.g:5140:2: ( RULE_ID ) 26195 // InternalSolverLanguage.g:7953:2: ( ruleExpression )
15938 { 26196 {
15939 // InternalSolverLanguage.g:5140:2: ( RULE_ID ) 26197 // InternalSolverLanguage.g:7953:2: ( ruleExpression )
15940 // InternalSolverLanguage.g:5141:3: RULE_ID 26198 // InternalSolverLanguage.g:7954:3: ruleExpression
15941 { 26199 {
15942 before(grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0()); 26200 if ( state.backtracking==0 ) {
15943 match(input,RULE_ID,FOLLOW_2); 26201 before(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0());
15944 after(grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0()); 26202 }
26203 pushFollow(FOLLOW_2);
26204 ruleExpression();
26205
26206 state._fsp--;
26207 if (state.failed) return ;
26208 if ( state.backtracking==0 ) {
26209 after(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0());
26210 }
15945 26211
15946 } 26212 }
15947 26213
@@ -15960,25 +26226,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15960 } 26226 }
15961 return ; 26227 return ;
15962 } 26228 }
15963 // $ANTLR end "rule__NamedObject__NameAssignment_1" 26229 // $ANTLR end "rule__DefaultDefinition__RangeAssignment_3"
15964 26230
15965 26231
15966 // $ANTLR start "rule__UnnamedObject__NameAssignment" 26232 // $ANTLR start "rule__ExternPredicateDefinition__HeadAssignment_1"
15967 // InternalSolverLanguage.g:5150:1: rule__UnnamedObject__NameAssignment : ( RULE_ID ) ; 26233 // InternalSolverLanguage.g:7963:1: rule__ExternPredicateDefinition__HeadAssignment_1 : ( ruleCall ) ;
15968 public final void rule__UnnamedObject__NameAssignment() throws RecognitionException { 26234 public final void rule__ExternPredicateDefinition__HeadAssignment_1() throws RecognitionException {
15969 26235
15970 int stackSize = keepStackSize(); 26236 int stackSize = keepStackSize();
15971 26237
15972 try { 26238 try {
15973 // InternalSolverLanguage.g:5154:1: ( ( RULE_ID ) ) 26239 // InternalSolverLanguage.g:7967:1: ( ( ruleCall ) )
15974 // InternalSolverLanguage.g:5155:2: ( RULE_ID ) 26240 // InternalSolverLanguage.g:7968:2: ( ruleCall )
15975 { 26241 {
15976 // InternalSolverLanguage.g:5155:2: ( RULE_ID ) 26242 // InternalSolverLanguage.g:7968:2: ( ruleCall )
15977 // InternalSolverLanguage.g:5156:3: RULE_ID 26243 // InternalSolverLanguage.g:7969:3: ruleCall
15978 { 26244 {
15979 before(grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0()); 26245 if ( state.backtracking==0 ) {
15980 match(input,RULE_ID,FOLLOW_2); 26246 before(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0());
15981 after(grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0()); 26247 }
26248 pushFollow(FOLLOW_2);
26249 ruleCall();
26250
26251 state._fsp--;
26252 if (state.failed) return ;
26253 if ( state.backtracking==0 ) {
26254 after(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0());
26255 }
15982 26256
15983 } 26257 }
15984 26258
@@ -15997,29 +26271,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
15997 } 26271 }
15998 return ; 26272 return ;
15999 } 26273 }
16000 // $ANTLR end "rule__UnnamedObject__NameAssignment" 26274 // $ANTLR end "rule__ExternPredicateDefinition__HeadAssignment_1"
16001 26275
16002 26276
16003 // $ANTLR start "rule__BooleanObject__ValueAssignment" 26277 // $ANTLR start "rule__MetricDefinition__TypeAssignment_0"
16004 // InternalSolverLanguage.g:5165:1: rule__BooleanObject__ValueAssignment : ( ruleBooleanValue ) ; 26278 // InternalSolverLanguage.g:7978:1: rule__MetricDefinition__TypeAssignment_0 : ( ruleMetricType ) ;
16005 public final void rule__BooleanObject__ValueAssignment() throws RecognitionException { 26279 public final void rule__MetricDefinition__TypeAssignment_0() throws RecognitionException {
16006 26280
16007 int stackSize = keepStackSize(); 26281 int stackSize = keepStackSize();
16008 26282
16009 try { 26283 try {
16010 // InternalSolverLanguage.g:5169:1: ( ( ruleBooleanValue ) ) 26284 // InternalSolverLanguage.g:7982:1: ( ( ruleMetricType ) )
16011 // InternalSolverLanguage.g:5170:2: ( ruleBooleanValue ) 26285 // InternalSolverLanguage.g:7983:2: ( ruleMetricType )
16012 { 26286 {
16013 // InternalSolverLanguage.g:5170:2: ( ruleBooleanValue ) 26287 // InternalSolverLanguage.g:7983:2: ( ruleMetricType )
16014 // InternalSolverLanguage.g:5171:3: ruleBooleanValue 26288 // InternalSolverLanguage.g:7984:3: ruleMetricType
16015 { 26289 {
16016 before(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0()); 26290 if ( state.backtracking==0 ) {
26291 before(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0());
26292 }
16017 pushFollow(FOLLOW_2); 26293 pushFollow(FOLLOW_2);
16018 ruleBooleanValue(); 26294 ruleMetricType();
16019 26295
16020 state._fsp--; 26296 state._fsp--;
26297 if (state.failed) return ;
26298 if ( state.backtracking==0 ) {
26299 after(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0());
26300 }
26301
26302 }
16021 26303
16022 after(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0()); 26304
26305 }
26306
26307 }
26308 catch (RecognitionException re) {
26309 reportError(re);
26310 recover(input,re);
26311 }
26312 finally {
26313
26314 restoreStackSize(stackSize);
26315
26316 }
26317 return ;
26318 }
26319 // $ANTLR end "rule__MetricDefinition__TypeAssignment_0"
26320
26321
26322 // $ANTLR start "rule__MetricDefinition__HeadAssignment_1"
26323 // InternalSolverLanguage.g:7993:1: rule__MetricDefinition__HeadAssignment_1 : ( ruleExpression ) ;
26324 public final void rule__MetricDefinition__HeadAssignment_1() throws RecognitionException {
26325
26326 int stackSize = keepStackSize();
26327
26328 try {
26329 // InternalSolverLanguage.g:7997:1: ( ( ruleExpression ) )
26330 // InternalSolverLanguage.g:7998:2: ( ruleExpression )
26331 {
26332 // InternalSolverLanguage.g:7998:2: ( ruleExpression )
26333 // InternalSolverLanguage.g:7999:3: ruleExpression
26334 {
26335 if ( state.backtracking==0 ) {
26336 before(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0());
26337 }
26338 pushFollow(FOLLOW_2);
26339 ruleExpression();
26340
26341 state._fsp--;
26342 if (state.failed) return ;
26343 if ( state.backtracking==0 ) {
26344 after(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0());
26345 }
16023 26346
16024 } 26347 }
16025 26348
@@ -16038,29 +26361,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16038 } 26361 }
16039 return ; 26362 return ;
16040 } 26363 }
16041 // $ANTLR end "rule__BooleanObject__ValueAssignment" 26364 // $ANTLR end "rule__MetricDefinition__HeadAssignment_1"
16042 26365
16043 26366
16044 // $ANTLR start "rule__IntObject__ValueAssignment" 26367 // $ANTLR start "rule__MetricDefinition__BodyAssignment_3"
16045 // InternalSolverLanguage.g:5180:1: rule__IntObject__ValueAssignment : ( ruleINTLiteral ) ; 26368 // InternalSolverLanguage.g:8008:1: rule__MetricDefinition__BodyAssignment_3 : ( ruleExpression ) ;
16046 public final void rule__IntObject__ValueAssignment() throws RecognitionException { 26369 public final void rule__MetricDefinition__BodyAssignment_3() throws RecognitionException {
16047 26370
16048 int stackSize = keepStackSize(); 26371 int stackSize = keepStackSize();
16049 26372
16050 try { 26373 try {
16051 // InternalSolverLanguage.g:5184:1: ( ( ruleINTLiteral ) ) 26374 // InternalSolverLanguage.g:8012:1: ( ( ruleExpression ) )
16052 // InternalSolverLanguage.g:5185:2: ( ruleINTLiteral ) 26375 // InternalSolverLanguage.g:8013:2: ( ruleExpression )
16053 { 26376 {
16054 // InternalSolverLanguage.g:5185:2: ( ruleINTLiteral ) 26377 // InternalSolverLanguage.g:8013:2: ( ruleExpression )
16055 // InternalSolverLanguage.g:5186:3: ruleINTLiteral 26378 // InternalSolverLanguage.g:8014:3: ruleExpression
16056 { 26379 {
16057 before(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0()); 26380 if ( state.backtracking==0 ) {
26381 before(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
26382 }
16058 pushFollow(FOLLOW_2); 26383 pushFollow(FOLLOW_2);
16059 ruleINTLiteral(); 26384 ruleExpression();
16060 26385
16061 state._fsp--; 26386 state._fsp--;
26387 if (state.failed) return ;
26388 if ( state.backtracking==0 ) {
26389 after(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
26390 }
26391
26392 }
26393
26394
26395 }
26396
26397 }
26398 catch (RecognitionException re) {
26399 reportError(re);
26400 recover(input,re);
26401 }
26402 finally {
26403
26404 restoreStackSize(stackSize);
26405
26406 }
26407 return ;
26408 }
26409 // $ANTLR end "rule__MetricDefinition__BodyAssignment_3"
26410
26411
26412 // $ANTLR start "rule__ExternMetricDefinition__TypeAssignment_1"
26413 // InternalSolverLanguage.g:8023:1: rule__ExternMetricDefinition__TypeAssignment_1 : ( ruleMetricType ) ;
26414 public final void rule__ExternMetricDefinition__TypeAssignment_1() throws RecognitionException {
26415
26416 int stackSize = keepStackSize();
26417
26418 try {
26419 // InternalSolverLanguage.g:8027:1: ( ( ruleMetricType ) )
26420 // InternalSolverLanguage.g:8028:2: ( ruleMetricType )
26421 {
26422 // InternalSolverLanguage.g:8028:2: ( ruleMetricType )
26423 // InternalSolverLanguage.g:8029:3: ruleMetricType
26424 {
26425 if ( state.backtracking==0 ) {
26426 before(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0());
26427 }
26428 pushFollow(FOLLOW_2);
26429 ruleMetricType();
16062 26430
16063 after(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0()); 26431 state._fsp--;
26432 if (state.failed) return ;
26433 if ( state.backtracking==0 ) {
26434 after(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0());
26435 }
16064 26436
16065 } 26437 }
16066 26438
@@ -16079,29 +26451,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16079 } 26451 }
16080 return ; 26452 return ;
16081 } 26453 }
16082 // $ANTLR end "rule__IntObject__ValueAssignment" 26454 // $ANTLR end "rule__ExternMetricDefinition__TypeAssignment_1"
16083 26455
16084 26456
16085 // $ANTLR start "rule__RealObject__ValueAssignment" 26457 // $ANTLR start "rule__ExternMetricDefinition__HeadAssignment_2"
16086 // InternalSolverLanguage.g:5195:1: rule__RealObject__ValueAssignment : ( ruleREALLiteral ) ; 26458 // InternalSolverLanguage.g:8038:1: rule__ExternMetricDefinition__HeadAssignment_2 : ( ruleCall ) ;
16087 public final void rule__RealObject__ValueAssignment() throws RecognitionException { 26459 public final void rule__ExternMetricDefinition__HeadAssignment_2() throws RecognitionException {
16088 26460
16089 int stackSize = keepStackSize(); 26461 int stackSize = keepStackSize();
16090 26462
16091 try { 26463 try {
16092 // InternalSolverLanguage.g:5199:1: ( ( ruleREALLiteral ) ) 26464 // InternalSolverLanguage.g:8042:1: ( ( ruleCall ) )
16093 // InternalSolverLanguage.g:5200:2: ( ruleREALLiteral ) 26465 // InternalSolverLanguage.g:8043:2: ( ruleCall )
16094 { 26466 {
16095 // InternalSolverLanguage.g:5200:2: ( ruleREALLiteral ) 26467 // InternalSolverLanguage.g:8043:2: ( ruleCall )
16096 // InternalSolverLanguage.g:5201:3: ruleREALLiteral 26468 // InternalSolverLanguage.g:8044:3: ruleCall
16097 { 26469 {
16098 before(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0()); 26470 if ( state.backtracking==0 ) {
26471 before(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0());
26472 }
16099 pushFollow(FOLLOW_2); 26473 pushFollow(FOLLOW_2);
16100 ruleREALLiteral(); 26474 ruleCall();
16101 26475
16102 state._fsp--; 26476 state._fsp--;
26477 if (state.failed) return ;
26478 if ( state.backtracking==0 ) {
26479 after(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0());
26480 }
26481
26482 }
16103 26483
16104 after(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0()); 26484
26485 }
26486
26487 }
26488 catch (RecognitionException re) {
26489 reportError(re);
26490 recover(input,re);
26491 }
26492 finally {
26493
26494 restoreStackSize(stackSize);
26495
26496 }
26497 return ;
26498 }
26499 // $ANTLR end "rule__ExternMetricDefinition__HeadAssignment_2"
26500
26501
26502 // $ANTLR start "rule__IfElse__ConditionAssignment_1"
26503 // InternalSolverLanguage.g:8053:1: rule__IfElse__ConditionAssignment_1 : ( ruleExpression ) ;
26504 public final void rule__IfElse__ConditionAssignment_1() throws RecognitionException {
26505
26506 int stackSize = keepStackSize();
26507
26508 try {
26509 // InternalSolverLanguage.g:8057:1: ( ( ruleExpression ) )
26510 // InternalSolverLanguage.g:8058:2: ( ruleExpression )
26511 {
26512 // InternalSolverLanguage.g:8058:2: ( ruleExpression )
26513 // InternalSolverLanguage.g:8059:3: ruleExpression
26514 {
26515 if ( state.backtracking==0 ) {
26516 before(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0());
26517 }
26518 pushFollow(FOLLOW_2);
26519 ruleExpression();
26520
26521 state._fsp--;
26522 if (state.failed) return ;
26523 if ( state.backtracking==0 ) {
26524 after(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0());
26525 }
16105 26526
16106 } 26527 }
16107 26528
@@ -16120,25 +26541,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16120 } 26541 }
16121 return ; 26542 return ;
16122 } 26543 }
16123 // $ANTLR end "rule__RealObject__ValueAssignment" 26544 // $ANTLR end "rule__IfElse__ConditionAssignment_1"
16124 26545
16125 26546
16126 // $ANTLR start "rule__StringObject__ValueAssignment" 26547 // $ANTLR start "rule__IfElse__ThenAssignment_3"
16127 // InternalSolverLanguage.g:5210:1: rule__StringObject__ValueAssignment : ( RULE_STRING ) ; 26548 // InternalSolverLanguage.g:8068:1: rule__IfElse__ThenAssignment_3 : ( ruleExpression ) ;
16128 public final void rule__StringObject__ValueAssignment() throws RecognitionException { 26549 public final void rule__IfElse__ThenAssignment_3() throws RecognitionException {
16129 26550
16130 int stackSize = keepStackSize(); 26551 int stackSize = keepStackSize();
16131 26552
16132 try { 26553 try {
16133 // InternalSolverLanguage.g:5214:1: ( ( RULE_STRING ) ) 26554 // InternalSolverLanguage.g:8072:1: ( ( ruleExpression ) )
16134 // InternalSolverLanguage.g:5215:2: ( RULE_STRING ) 26555 // InternalSolverLanguage.g:8073:2: ( ruleExpression )
16135 { 26556 {
16136 // InternalSolverLanguage.g:5215:2: ( RULE_STRING ) 26557 // InternalSolverLanguage.g:8073:2: ( ruleExpression )
16137 // InternalSolverLanguage.g:5216:3: RULE_STRING 26558 // InternalSolverLanguage.g:8074:3: ruleExpression
16138 { 26559 {
16139 before(grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0()); 26560 if ( state.backtracking==0 ) {
16140 match(input,RULE_STRING,FOLLOW_2); 26561 before(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0());
16141 after(grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0()); 26562 }
26563 pushFollow(FOLLOW_2);
26564 ruleExpression();
26565
26566 state._fsp--;
26567 if (state.failed) return ;
26568 if ( state.backtracking==0 ) {
26569 after(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0());
26570 }
26571
26572 }
26573
26574
26575 }
26576
26577 }
26578 catch (RecognitionException re) {
26579 reportError(re);
26580 recover(input,re);
26581 }
26582 finally {
26583
26584 restoreStackSize(stackSize);
26585
26586 }
26587 return ;
26588 }
26589 // $ANTLR end "rule__IfElse__ThenAssignment_3"
26590
26591
26592 // $ANTLR start "rule__IfElse__ElseAssignment_5"
26593 // InternalSolverLanguage.g:8083:1: rule__IfElse__ElseAssignment_5 : ( ruleExpression ) ;
26594 public final void rule__IfElse__ElseAssignment_5() throws RecognitionException {
26595
26596 int stackSize = keepStackSize();
26597
26598 try {
26599 // InternalSolverLanguage.g:8087:1: ( ( ruleExpression ) )
26600 // InternalSolverLanguage.g:8088:2: ( ruleExpression )
26601 {
26602 // InternalSolverLanguage.g:8088:2: ( ruleExpression )
26603 // InternalSolverLanguage.g:8089:3: ruleExpression
26604 {
26605 if ( state.backtracking==0 ) {
26606 before(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0());
26607 }
26608 pushFollow(FOLLOW_2);
26609 ruleExpression();
26610
26611 state._fsp--;
26612 if (state.failed) return ;
26613 if ( state.backtracking==0 ) {
26614 after(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0());
26615 }
16142 26616
16143 } 26617 }
16144 26618
@@ -16157,33 +26631,123 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16157 } 26631 }
16158 return ; 26632 return ;
16159 } 26633 }
16160 // $ANTLR end "rule__StringObject__ValueAssignment" 26634 // $ANTLR end "rule__IfElse__ElseAssignment_5"
16161 26635
16162 26636
16163 // $ANTLR start "rule__Predicate__IsErrorAssignment_0" 26637 // $ANTLR start "rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1"
16164 // InternalSolverLanguage.g:5225:1: rule__Predicate__IsErrorAssignment_0 : ( ( 'error' ) ) ; 26638 // InternalSolverLanguage.g:8098:1: rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 : ( ruleConjunctiveExpression ) ;
16165 public final void rule__Predicate__IsErrorAssignment_0() throws RecognitionException { 26639 public final void rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1() throws RecognitionException {
16166 26640
16167 int stackSize = keepStackSize(); 26641 int stackSize = keepStackSize();
16168 26642
16169 try { 26643 try {
16170 // InternalSolverLanguage.g:5229:1: ( ( ( 'error' ) ) ) 26644 // InternalSolverLanguage.g:8102:1: ( ( ruleConjunctiveExpression ) )
16171 // InternalSolverLanguage.g:5230:2: ( ( 'error' ) ) 26645 // InternalSolverLanguage.g:8103:2: ( ruleConjunctiveExpression )
16172 { 26646 {
16173 // InternalSolverLanguage.g:5230:2: ( ( 'error' ) ) 26647 // InternalSolverLanguage.g:8103:2: ( ruleConjunctiveExpression )
16174 // InternalSolverLanguage.g:5231:3: ( 'error' ) 26648 // InternalSolverLanguage.g:8104:3: ruleConjunctiveExpression
16175 { 26649 {
16176 before(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); 26650 if ( state.backtracking==0 ) {
16177 // InternalSolverLanguage.g:5232:3: ( 'error' ) 26651 before(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0());
16178 // InternalSolverLanguage.g:5233:4: 'error' 26652 }
26653 pushFollow(FOLLOW_2);
26654 ruleConjunctiveExpression();
26655
26656 state._fsp--;
26657 if (state.failed) return ;
26658 if ( state.backtracking==0 ) {
26659 after(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0());
26660 }
26661
26662 }
26663
26664
26665 }
26666
26667 }
26668 catch (RecognitionException re) {
26669 reportError(re);
26670 recover(input,re);
26671 }
26672 finally {
26673
26674 restoreStackSize(stackSize);
26675
26676 }
26677 return ;
26678 }
26679 // $ANTLR end "rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1"
26680
26681
26682 // $ANTLR start "rule__DisjunctiveExpression__BodyAssignment_1_1_2"
26683 // InternalSolverLanguage.g:8113:1: rule__DisjunctiveExpression__BodyAssignment_1_1_2 : ( ruleConjunctiveExpression ) ;
26684 public final void rule__DisjunctiveExpression__BodyAssignment_1_1_2() throws RecognitionException {
26685
26686 int stackSize = keepStackSize();
26687
26688 try {
26689 // InternalSolverLanguage.g:8117:1: ( ( ruleConjunctiveExpression ) )
26690 // InternalSolverLanguage.g:8118:2: ( ruleConjunctiveExpression )
26691 {
26692 // InternalSolverLanguage.g:8118:2: ( ruleConjunctiveExpression )
26693 // InternalSolverLanguage.g:8119:3: ruleConjunctiveExpression
16179 { 26694 {
16180 before(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); 26695 if ( state.backtracking==0 ) {
16181 match(input,16,FOLLOW_2); 26696 before(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0());
16182 after(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); 26697 }
26698 pushFollow(FOLLOW_2);
26699 ruleConjunctiveExpression();
26700
26701 state._fsp--;
26702 if (state.failed) return ;
26703 if ( state.backtracking==0 ) {
26704 after(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0());
26705 }
16183 26706
16184 } 26707 }
16185 26708
16186 after(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); 26709
26710 }
26711
26712 }
26713 catch (RecognitionException re) {
26714 reportError(re);
26715 recover(input,re);
26716 }
26717 finally {
26718
26719 restoreStackSize(stackSize);
26720
26721 }
26722 return ;
26723 }
26724 // $ANTLR end "rule__DisjunctiveExpression__BodyAssignment_1_1_2"
26725
26726
26727 // $ANTLR start "rule__DisjunctiveExpression__CasesAssignment_1_1_4_1"
26728 // InternalSolverLanguage.g:8128:1: rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 : ( ruleCase ) ;
26729 public final void rule__DisjunctiveExpression__CasesAssignment_1_1_4_1() throws RecognitionException {
26730
26731 int stackSize = keepStackSize();
26732
26733 try {
26734 // InternalSolverLanguage.g:8132:1: ( ( ruleCase ) )
26735 // InternalSolverLanguage.g:8133:2: ( ruleCase )
26736 {
26737 // InternalSolverLanguage.g:8133:2: ( ruleCase )
26738 // InternalSolverLanguage.g:8134:3: ruleCase
26739 {
26740 if ( state.backtracking==0 ) {
26741 before(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0());
26742 }
26743 pushFollow(FOLLOW_2);
26744 ruleCase();
26745
26746 state._fsp--;
26747 if (state.failed) return ;
26748 if ( state.backtracking==0 ) {
26749 after(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0());
26750 }
16187 26751
16188 } 26752 }
16189 26753
@@ -16202,29 +26766,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16202 } 26766 }
16203 return ; 26767 return ;
16204 } 26768 }
16205 // $ANTLR end "rule__Predicate__IsErrorAssignment_0" 26769 // $ANTLR end "rule__DisjunctiveExpression__CasesAssignment_1_1_4_1"
16206 26770
16207 26771
16208 // $ANTLR start "rule__Predicate__SymbolAssignment_1" 26772 // $ANTLR start "rule__Case__ConditionAssignment_0"
16209 // InternalSolverLanguage.g:5244:1: rule__Predicate__SymbolAssignment_1 : ( ruleModelSymbol ) ; 26773 // InternalSolverLanguage.g:8143:1: rule__Case__ConditionAssignment_0 : ( ruleConjunctiveExpression ) ;
16210 public final void rule__Predicate__SymbolAssignment_1() throws RecognitionException { 26774 public final void rule__Case__ConditionAssignment_0() throws RecognitionException {
16211 26775
16212 int stackSize = keepStackSize(); 26776 int stackSize = keepStackSize();
16213 26777
16214 try { 26778 try {
16215 // InternalSolverLanguage.g:5248:1: ( ( ruleModelSymbol ) ) 26779 // InternalSolverLanguage.g:8147:1: ( ( ruleConjunctiveExpression ) )
16216 // InternalSolverLanguage.g:5249:2: ( ruleModelSymbol ) 26780 // InternalSolverLanguage.g:8148:2: ( ruleConjunctiveExpression )
16217 { 26781 {
16218 // InternalSolverLanguage.g:5249:2: ( ruleModelSymbol ) 26782 // InternalSolverLanguage.g:8148:2: ( ruleConjunctiveExpression )
16219 // InternalSolverLanguage.g:5250:3: ruleModelSymbol 26783 // InternalSolverLanguage.g:8149:3: ruleConjunctiveExpression
16220 { 26784 {
16221 before(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0()); 26785 if ( state.backtracking==0 ) {
26786 before(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0());
26787 }
16222 pushFollow(FOLLOW_2); 26788 pushFollow(FOLLOW_2);
16223 ruleModelSymbol(); 26789 ruleConjunctiveExpression();
16224 26790
16225 state._fsp--; 26791 state._fsp--;
26792 if (state.failed) return ;
26793 if ( state.backtracking==0 ) {
26794 after(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0());
26795 }
26796
26797 }
16226 26798
16227 after(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0()); 26799
26800 }
26801
26802 }
26803 catch (RecognitionException re) {
26804 reportError(re);
26805 recover(input,re);
26806 }
26807 finally {
26808
26809 restoreStackSize(stackSize);
26810
26811 }
26812 return ;
26813 }
26814 // $ANTLR end "rule__Case__ConditionAssignment_0"
26815
26816
26817 // $ANTLR start "rule__Case__BodyAssignment_2"
26818 // InternalSolverLanguage.g:8158:1: rule__Case__BodyAssignment_2 : ( ruleConjunctiveExpression ) ;
26819 public final void rule__Case__BodyAssignment_2() throws RecognitionException {
26820
26821 int stackSize = keepStackSize();
26822
26823 try {
26824 // InternalSolverLanguage.g:8162:1: ( ( ruleConjunctiveExpression ) )
26825 // InternalSolverLanguage.g:8163:2: ( ruleConjunctiveExpression )
26826 {
26827 // InternalSolverLanguage.g:8163:2: ( ruleConjunctiveExpression )
26828 // InternalSolverLanguage.g:8164:3: ruleConjunctiveExpression
26829 {
26830 if ( state.backtracking==0 ) {
26831 before(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0());
26832 }
26833 pushFollow(FOLLOW_2);
26834 ruleConjunctiveExpression();
26835
26836 state._fsp--;
26837 if (state.failed) return ;
26838 if ( state.backtracking==0 ) {
26839 after(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0());
26840 }
16228 26841
16229 } 26842 }
16230 26843
@@ -16243,29 +26856,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16243 } 26856 }
16244 return ; 26857 return ;
16245 } 26858 }
16246 // $ANTLR end "rule__Predicate__SymbolAssignment_1" 26859 // $ANTLR end "rule__Case__BodyAssignment_2"
16247 26860
16248 26861
16249 // $ANTLR start "rule__Predicate__ParametersAssignment_2_1_0" 26862 // $ANTLR start "rule__ConjunctiveExpression__ChildrenAssignment_1_1_1"
16250 // InternalSolverLanguage.g:5259:1: rule__Predicate__ParametersAssignment_2_1_0 : ( ruleParameter ) ; 26863 // InternalSolverLanguage.g:8173:1: rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 : ( ruleComparisonExpression ) ;
16251 public final void rule__Predicate__ParametersAssignment_2_1_0() throws RecognitionException { 26864 public final void rule__ConjunctiveExpression__ChildrenAssignment_1_1_1() throws RecognitionException {
16252 26865
16253 int stackSize = keepStackSize(); 26866 int stackSize = keepStackSize();
16254 26867
16255 try { 26868 try {
16256 // InternalSolverLanguage.g:5263:1: ( ( ruleParameter ) ) 26869 // InternalSolverLanguage.g:8177:1: ( ( ruleComparisonExpression ) )
16257 // InternalSolverLanguage.g:5264:2: ( ruleParameter ) 26870 // InternalSolverLanguage.g:8178:2: ( ruleComparisonExpression )
16258 { 26871 {
16259 // InternalSolverLanguage.g:5264:2: ( ruleParameter ) 26872 // InternalSolverLanguage.g:8178:2: ( ruleComparisonExpression )
16260 // InternalSolverLanguage.g:5265:3: ruleParameter 26873 // InternalSolverLanguage.g:8179:3: ruleComparisonExpression
16261 { 26874 {
16262 before(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0()); 26875 if ( state.backtracking==0 ) {
26876 before(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0());
26877 }
16263 pushFollow(FOLLOW_2); 26878 pushFollow(FOLLOW_2);
16264 ruleParameter(); 26879 ruleComparisonExpression();
16265 26880
16266 state._fsp--; 26881 state._fsp--;
26882 if (state.failed) return ;
26883 if ( state.backtracking==0 ) {
26884 after(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0());
26885 }
26886
26887 }
26888
26889
26890 }
16267 26891
16268 after(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0()); 26892 }
26893 catch (RecognitionException re) {
26894 reportError(re);
26895 recover(input,re);
26896 }
26897 finally {
26898
26899 restoreStackSize(stackSize);
26900
26901 }
26902 return ;
26903 }
26904 // $ANTLR end "rule__ConjunctiveExpression__ChildrenAssignment_1_1_1"
26905
26906
26907 // $ANTLR start "rule__ComparisonExpression__OpAssignment_1_1"
26908 // InternalSolverLanguage.g:8188:1: rule__ComparisonExpression__OpAssignment_1_1 : ( ruleComparisonOperator ) ;
26909 public final void rule__ComparisonExpression__OpAssignment_1_1() throws RecognitionException {
26910
26911 int stackSize = keepStackSize();
26912
26913 try {
26914 // InternalSolverLanguage.g:8192:1: ( ( ruleComparisonOperator ) )
26915 // InternalSolverLanguage.g:8193:2: ( ruleComparisonOperator )
26916 {
26917 // InternalSolverLanguage.g:8193:2: ( ruleComparisonOperator )
26918 // InternalSolverLanguage.g:8194:3: ruleComparisonOperator
26919 {
26920 if ( state.backtracking==0 ) {
26921 before(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0());
26922 }
26923 pushFollow(FOLLOW_2);
26924 ruleComparisonOperator();
26925
26926 state._fsp--;
26927 if (state.failed) return ;
26928 if ( state.backtracking==0 ) {
26929 after(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0());
26930 }
16269 26931
16270 } 26932 }
16271 26933
@@ -16284,29 +26946,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16284 } 26946 }
16285 return ; 26947 return ;
16286 } 26948 }
16287 // $ANTLR end "rule__Predicate__ParametersAssignment_2_1_0" 26949 // $ANTLR end "rule__ComparisonExpression__OpAssignment_1_1"
16288 26950
16289 26951
16290 // $ANTLR start "rule__Predicate__ParametersAssignment_2_1_1_1" 26952 // $ANTLR start "rule__ComparisonExpression__RightAssignment_1_2"
16291 // InternalSolverLanguage.g:5274:1: rule__Predicate__ParametersAssignment_2_1_1_1 : ( ruleParameter ) ; 26953 // InternalSolverLanguage.g:8203:1: rule__ComparisonExpression__RightAssignment_1_2 : ( ruleAdditiveExpression ) ;
16292 public final void rule__Predicate__ParametersAssignment_2_1_1_1() throws RecognitionException { 26954 public final void rule__ComparisonExpression__RightAssignment_1_2() throws RecognitionException {
16293 26955
16294 int stackSize = keepStackSize(); 26956 int stackSize = keepStackSize();
16295 26957
16296 try { 26958 try {
16297 // InternalSolverLanguage.g:5278:1: ( ( ruleParameter ) ) 26959 // InternalSolverLanguage.g:8207:1: ( ( ruleAdditiveExpression ) )
16298 // InternalSolverLanguage.g:5279:2: ( ruleParameter ) 26960 // InternalSolverLanguage.g:8208:2: ( ruleAdditiveExpression )
16299 { 26961 {
16300 // InternalSolverLanguage.g:5279:2: ( ruleParameter ) 26962 // InternalSolverLanguage.g:8208:2: ( ruleAdditiveExpression )
16301 // InternalSolverLanguage.g:5280:3: ruleParameter 26963 // InternalSolverLanguage.g:8209:3: ruleAdditiveExpression
16302 { 26964 {
16303 before(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0()); 26965 if ( state.backtracking==0 ) {
26966 before(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0());
26967 }
16304 pushFollow(FOLLOW_2); 26968 pushFollow(FOLLOW_2);
16305 ruleParameter(); 26969 ruleAdditiveExpression();
16306 26970
16307 state._fsp--; 26971 state._fsp--;
26972 if (state.failed) return ;
26973 if ( state.backtracking==0 ) {
26974 after(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0());
26975 }
26976
26977 }
16308 26978
16309 after(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0()); 26979
26980 }
26981
26982 }
26983 catch (RecognitionException re) {
26984 reportError(re);
26985 recover(input,re);
26986 }
26987 finally {
26988
26989 restoreStackSize(stackSize);
26990
26991 }
26992 return ;
26993 }
26994 // $ANTLR end "rule__ComparisonExpression__RightAssignment_1_2"
26995
26996
26997 // $ANTLR start "rule__AdditiveExpression__OpAssignment_1_1"
26998 // InternalSolverLanguage.g:8218:1: rule__AdditiveExpression__OpAssignment_1_1 : ( ruleAdditiveBinaryOperator ) ;
26999 public final void rule__AdditiveExpression__OpAssignment_1_1() throws RecognitionException {
27000
27001 int stackSize = keepStackSize();
27002
27003 try {
27004 // InternalSolverLanguage.g:8222:1: ( ( ruleAdditiveBinaryOperator ) )
27005 // InternalSolverLanguage.g:8223:2: ( ruleAdditiveBinaryOperator )
27006 {
27007 // InternalSolverLanguage.g:8223:2: ( ruleAdditiveBinaryOperator )
27008 // InternalSolverLanguage.g:8224:3: ruleAdditiveBinaryOperator
27009 {
27010 if ( state.backtracking==0 ) {
27011 before(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0());
27012 }
27013 pushFollow(FOLLOW_2);
27014 ruleAdditiveBinaryOperator();
27015
27016 state._fsp--;
27017 if (state.failed) return ;
27018 if ( state.backtracking==0 ) {
27019 after(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0());
27020 }
16310 27021
16311 } 27022 }
16312 27023
@@ -16325,29 +27036,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16325 } 27036 }
16326 return ; 27037 return ;
16327 } 27038 }
16328 // $ANTLR end "rule__Predicate__ParametersAssignment_2_1_1_1" 27039 // $ANTLR end "rule__AdditiveExpression__OpAssignment_1_1"
16329 27040
16330 27041
16331 // $ANTLR start "rule__Predicate__BodiesAssignment_4_1_0" 27042 // $ANTLR start "rule__AdditiveExpression__RightAssignment_1_2"
16332 // InternalSolverLanguage.g:5289:1: rule__Predicate__BodiesAssignment_4_1_0 : ( rulePatternBody ) ; 27043 // InternalSolverLanguage.g:8233:1: rule__AdditiveExpression__RightAssignment_1_2 : ( ruleMultiplicativeExpression ) ;
16333 public final void rule__Predicate__BodiesAssignment_4_1_0() throws RecognitionException { 27044 public final void rule__AdditiveExpression__RightAssignment_1_2() throws RecognitionException {
16334 27045
16335 int stackSize = keepStackSize(); 27046 int stackSize = keepStackSize();
16336 27047
16337 try { 27048 try {
16338 // InternalSolverLanguage.g:5293:1: ( ( rulePatternBody ) ) 27049 // InternalSolverLanguage.g:8237:1: ( ( ruleMultiplicativeExpression ) )
16339 // InternalSolverLanguage.g:5294:2: ( rulePatternBody ) 27050 // InternalSolverLanguage.g:8238:2: ( ruleMultiplicativeExpression )
16340 { 27051 {
16341 // InternalSolverLanguage.g:5294:2: ( rulePatternBody ) 27052 // InternalSolverLanguage.g:8238:2: ( ruleMultiplicativeExpression )
16342 // InternalSolverLanguage.g:5295:3: rulePatternBody 27053 // InternalSolverLanguage.g:8239:3: ruleMultiplicativeExpression
16343 { 27054 {
16344 before(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0()); 27055 if ( state.backtracking==0 ) {
27056 before(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0());
27057 }
16345 pushFollow(FOLLOW_2); 27058 pushFollow(FOLLOW_2);
16346 rulePatternBody(); 27059 ruleMultiplicativeExpression();
16347 27060
16348 state._fsp--; 27061 state._fsp--;
27062 if (state.failed) return ;
27063 if ( state.backtracking==0 ) {
27064 after(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0());
27065 }
27066
27067 }
16349 27068
16350 after(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0()); 27069
27070 }
27071
27072 }
27073 catch (RecognitionException re) {
27074 reportError(re);
27075 recover(input,re);
27076 }
27077 finally {
27078
27079 restoreStackSize(stackSize);
27080
27081 }
27082 return ;
27083 }
27084 // $ANTLR end "rule__AdditiveExpression__RightAssignment_1_2"
27085
27086
27087 // $ANTLR start "rule__MultiplicativeExpression__OpAssignment_1_1"
27088 // InternalSolverLanguage.g:8248:1: rule__MultiplicativeExpression__OpAssignment_1_1 : ( ruleMultiplicativeBinaryOperator ) ;
27089 public final void rule__MultiplicativeExpression__OpAssignment_1_1() throws RecognitionException {
27090
27091 int stackSize = keepStackSize();
27092
27093 try {
27094 // InternalSolverLanguage.g:8252:1: ( ( ruleMultiplicativeBinaryOperator ) )
27095 // InternalSolverLanguage.g:8253:2: ( ruleMultiplicativeBinaryOperator )
27096 {
27097 // InternalSolverLanguage.g:8253:2: ( ruleMultiplicativeBinaryOperator )
27098 // InternalSolverLanguage.g:8254:3: ruleMultiplicativeBinaryOperator
27099 {
27100 if ( state.backtracking==0 ) {
27101 before(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0());
27102 }
27103 pushFollow(FOLLOW_2);
27104 ruleMultiplicativeBinaryOperator();
27105
27106 state._fsp--;
27107 if (state.failed) return ;
27108 if ( state.backtracking==0 ) {
27109 after(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0());
27110 }
16351 27111
16352 } 27112 }
16353 27113
@@ -16366,29 +27126,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16366 } 27126 }
16367 return ; 27127 return ;
16368 } 27128 }
16369 // $ANTLR end "rule__Predicate__BodiesAssignment_4_1_0" 27129 // $ANTLR end "rule__MultiplicativeExpression__OpAssignment_1_1"
16370 27130
16371 27131
16372 // $ANTLR start "rule__Predicate__BodiesAssignment_4_1_1_1" 27132 // $ANTLR start "rule__MultiplicativeExpression__RightAssignment_1_2"
16373 // InternalSolverLanguage.g:5304:1: rule__Predicate__BodiesAssignment_4_1_1_1 : ( rulePatternBody ) ; 27133 // InternalSolverLanguage.g:8263:1: rule__MultiplicativeExpression__RightAssignment_1_2 : ( ruleExponentialExpression ) ;
16374 public final void rule__Predicate__BodiesAssignment_4_1_1_1() throws RecognitionException { 27134 public final void rule__MultiplicativeExpression__RightAssignment_1_2() throws RecognitionException {
16375 27135
16376 int stackSize = keepStackSize(); 27136 int stackSize = keepStackSize();
16377 27137
16378 try { 27138 try {
16379 // InternalSolverLanguage.g:5308:1: ( ( rulePatternBody ) ) 27139 // InternalSolverLanguage.g:8267:1: ( ( ruleExponentialExpression ) )
16380 // InternalSolverLanguage.g:5309:2: ( rulePatternBody ) 27140 // InternalSolverLanguage.g:8268:2: ( ruleExponentialExpression )
16381 { 27141 {
16382 // InternalSolverLanguage.g:5309:2: ( rulePatternBody ) 27142 // InternalSolverLanguage.g:8268:2: ( ruleExponentialExpression )
16383 // InternalSolverLanguage.g:5310:3: rulePatternBody 27143 // InternalSolverLanguage.g:8269:3: ruleExponentialExpression
16384 { 27144 {
16385 before(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0()); 27145 if ( state.backtracking==0 ) {
27146 before(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0());
27147 }
16386 pushFollow(FOLLOW_2); 27148 pushFollow(FOLLOW_2);
16387 rulePatternBody(); 27149 ruleExponentialExpression();
16388 27150
16389 state._fsp--; 27151 state._fsp--;
27152 if (state.failed) return ;
27153 if ( state.backtracking==0 ) {
27154 after(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0());
27155 }
27156
27157 }
27158
27159
27160 }
27161
27162 }
27163 catch (RecognitionException re) {
27164 reportError(re);
27165 recover(input,re);
27166 }
27167 finally {
27168
27169 restoreStackSize(stackSize);
27170
27171 }
27172 return ;
27173 }
27174 // $ANTLR end "rule__MultiplicativeExpression__RightAssignment_1_2"
27175
27176
27177 // $ANTLR start "rule__ExponentialExpression__OpAssignment_1_1"
27178 // InternalSolverLanguage.g:8278:1: rule__ExponentialExpression__OpAssignment_1_1 : ( ruleExponentialOp ) ;
27179 public final void rule__ExponentialExpression__OpAssignment_1_1() throws RecognitionException {
27180
27181 int stackSize = keepStackSize();
27182
27183 try {
27184 // InternalSolverLanguage.g:8282:1: ( ( ruleExponentialOp ) )
27185 // InternalSolverLanguage.g:8283:2: ( ruleExponentialOp )
27186 {
27187 // InternalSolverLanguage.g:8283:2: ( ruleExponentialOp )
27188 // InternalSolverLanguage.g:8284:3: ruleExponentialOp
27189 {
27190 if ( state.backtracking==0 ) {
27191 before(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0());
27192 }
27193 pushFollow(FOLLOW_2);
27194 ruleExponentialOp();
16390 27195
16391 after(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0()); 27196 state._fsp--;
27197 if (state.failed) return ;
27198 if ( state.backtracking==0 ) {
27199 after(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0());
27200 }
16392 27201
16393 } 27202 }
16394 27203
@@ -16407,29 +27216,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16407 } 27216 }
16408 return ; 27217 return ;
16409 } 27218 }
16410 // $ANTLR end "rule__Predicate__BodiesAssignment_4_1_1_1" 27219 // $ANTLR end "rule__ExponentialExpression__OpAssignment_1_1"
16411 27220
16412 27221
16413 // $ANTLR start "rule__Parameter__VariableAssignment_0" 27222 // $ANTLR start "rule__ExponentialExpression__RightAssignment_1_2"
16414 // InternalSolverLanguage.g:5319:1: rule__Parameter__VariableAssignment_0 : ( ruleVariable ) ; 27223 // InternalSolverLanguage.g:8293:1: rule__ExponentialExpression__RightAssignment_1_2 : ( ruleExponentialExpression ) ;
16415 public final void rule__Parameter__VariableAssignment_0() throws RecognitionException { 27224 public final void rule__ExponentialExpression__RightAssignment_1_2() throws RecognitionException {
16416 27225
16417 int stackSize = keepStackSize(); 27226 int stackSize = keepStackSize();
16418 27227
16419 try { 27228 try {
16420 // InternalSolverLanguage.g:5323:1: ( ( ruleVariable ) ) 27229 // InternalSolverLanguage.g:8297:1: ( ( ruleExponentialExpression ) )
16421 // InternalSolverLanguage.g:5324:2: ( ruleVariable ) 27230 // InternalSolverLanguage.g:8298:2: ( ruleExponentialExpression )
16422 { 27231 {
16423 // InternalSolverLanguage.g:5324:2: ( ruleVariable ) 27232 // InternalSolverLanguage.g:8298:2: ( ruleExponentialExpression )
16424 // InternalSolverLanguage.g:5325:3: ruleVariable 27233 // InternalSolverLanguage.g:8299:3: ruleExponentialExpression
16425 { 27234 {
16426 before(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0()); 27235 if ( state.backtracking==0 ) {
27236 before(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0());
27237 }
16427 pushFollow(FOLLOW_2); 27238 pushFollow(FOLLOW_2);
16428 ruleVariable(); 27239 ruleExponentialExpression();
16429 27240
16430 state._fsp--; 27241 state._fsp--;
27242 if (state.failed) return ;
27243 if ( state.backtracking==0 ) {
27244 after(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0());
27245 }
27246
27247 }
16431 27248
16432 after(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0()); 27249
27250 }
27251
27252 }
27253 catch (RecognitionException re) {
27254 reportError(re);
27255 recover(input,re);
27256 }
27257 finally {
27258
27259 restoreStackSize(stackSize);
27260
27261 }
27262 return ;
27263 }
27264 // $ANTLR end "rule__ExponentialExpression__RightAssignment_1_2"
27265
27266
27267 // $ANTLR start "rule__UnaryExpression__OpAssignment_1_1"
27268 // InternalSolverLanguage.g:8308:1: rule__UnaryExpression__OpAssignment_1_1 : ( ruleUnaryOp ) ;
27269 public final void rule__UnaryExpression__OpAssignment_1_1() throws RecognitionException {
27270
27271 int stackSize = keepStackSize();
27272
27273 try {
27274 // InternalSolverLanguage.g:8312:1: ( ( ruleUnaryOp ) )
27275 // InternalSolverLanguage.g:8313:2: ( ruleUnaryOp )
27276 {
27277 // InternalSolverLanguage.g:8313:2: ( ruleUnaryOp )
27278 // InternalSolverLanguage.g:8314:3: ruleUnaryOp
27279 {
27280 if ( state.backtracking==0 ) {
27281 before(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0());
27282 }
27283 pushFollow(FOLLOW_2);
27284 ruleUnaryOp();
27285
27286 state._fsp--;
27287 if (state.failed) return ;
27288 if ( state.backtracking==0 ) {
27289 after(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0());
27290 }
16433 27291
16434 } 27292 }
16435 27293
@@ -16448,29 +27306,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16448 } 27306 }
16449 return ; 27307 return ;
16450 } 27308 }
16451 // $ANTLR end "rule__Parameter__VariableAssignment_0" 27309 // $ANTLR end "rule__UnaryExpression__OpAssignment_1_1"
16452 27310
16453 27311
16454 // $ANTLR start "rule__Parameter__TypeAssignment_1_1" 27312 // $ANTLR start "rule__UnaryExpression__BodyAssignment_1_2"
16455 // InternalSolverLanguage.g:5334:1: rule__Parameter__TypeAssignment_1_1 : ( ruleSymbol ) ; 27313 // InternalSolverLanguage.g:8323:1: rule__UnaryExpression__BodyAssignment_1_2 : ( ruleAggregationExpression ) ;
16456 public final void rule__Parameter__TypeAssignment_1_1() throws RecognitionException { 27314 public final void rule__UnaryExpression__BodyAssignment_1_2() throws RecognitionException {
16457 27315
16458 int stackSize = keepStackSize(); 27316 int stackSize = keepStackSize();
16459 27317
16460 try { 27318 try {
16461 // InternalSolverLanguage.g:5338:1: ( ( ruleSymbol ) ) 27319 // InternalSolverLanguage.g:8327:1: ( ( ruleAggregationExpression ) )
16462 // InternalSolverLanguage.g:5339:2: ( ruleSymbol ) 27320 // InternalSolverLanguage.g:8328:2: ( ruleAggregationExpression )
16463 { 27321 {
16464 // InternalSolverLanguage.g:5339:2: ( ruleSymbol ) 27322 // InternalSolverLanguage.g:8328:2: ( ruleAggregationExpression )
16465 // InternalSolverLanguage.g:5340:3: ruleSymbol 27323 // InternalSolverLanguage.g:8329:3: ruleAggregationExpression
16466 { 27324 {
16467 before(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0()); 27325 if ( state.backtracking==0 ) {
27326 before(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0());
27327 }
16468 pushFollow(FOLLOW_2); 27328 pushFollow(FOLLOW_2);
16469 ruleSymbol(); 27329 ruleAggregationExpression();
16470 27330
16471 state._fsp--; 27331 state._fsp--;
27332 if (state.failed) return ;
27333 if ( state.backtracking==0 ) {
27334 after(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0());
27335 }
27336
27337 }
27338
27339
27340 }
27341
27342 }
27343 catch (RecognitionException re) {
27344 reportError(re);
27345 recover(input,re);
27346 }
27347 finally {
27348
27349 restoreStackSize(stackSize);
27350
27351 }
27352 return ;
27353 }
27354 // $ANTLR end "rule__UnaryExpression__BodyAssignment_1_2"
27355
27356
27357 // $ANTLR start "rule__Count__BodyAssignment_2"
27358 // InternalSolverLanguage.g:8338:1: rule__Count__BodyAssignment_2 : ( ruleExpression ) ;
27359 public final void rule__Count__BodyAssignment_2() throws RecognitionException {
27360
27361 int stackSize = keepStackSize();
27362
27363 try {
27364 // InternalSolverLanguage.g:8342:1: ( ( ruleExpression ) )
27365 // InternalSolverLanguage.g:8343:2: ( ruleExpression )
27366 {
27367 // InternalSolverLanguage.g:8343:2: ( ruleExpression )
27368 // InternalSolverLanguage.g:8344:3: ruleExpression
27369 {
27370 if ( state.backtracking==0 ) {
27371 before(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0());
27372 }
27373 pushFollow(FOLLOW_2);
27374 ruleExpression();
16472 27375
16473 after(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0()); 27376 state._fsp--;
27377 if (state.failed) return ;
27378 if ( state.backtracking==0 ) {
27379 after(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0());
27380 }
16474 27381
16475 } 27382 }
16476 27383
@@ -16489,29 +27396,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16489 } 27396 }
16490 return ; 27397 return ;
16491 } 27398 }
16492 // $ANTLR end "rule__Parameter__TypeAssignment_1_1" 27399 // $ANTLR end "rule__Count__BodyAssignment_2"
16493 27400
16494 27401
16495 // $ANTLR start "rule__PatternBody__ConstraintsAssignment_1_1" 27402 // $ANTLR start "rule__Aggregation__OpAssignment_0"
16496 // InternalSolverLanguage.g:5349:1: rule__PatternBody__ConstraintsAssignment_1_1 : ( ruleConstraint ) ; 27403 // InternalSolverLanguage.g:8353:1: rule__Aggregation__OpAssignment_0 : ( ruleAggregationOp ) ;
16497 public final void rule__PatternBody__ConstraintsAssignment_1_1() throws RecognitionException { 27404 public final void rule__Aggregation__OpAssignment_0() throws RecognitionException {
16498 27405
16499 int stackSize = keepStackSize(); 27406 int stackSize = keepStackSize();
16500 27407
16501 try { 27408 try {
16502 // InternalSolverLanguage.g:5353:1: ( ( ruleConstraint ) ) 27409 // InternalSolverLanguage.g:8357:1: ( ( ruleAggregationOp ) )
16503 // InternalSolverLanguage.g:5354:2: ( ruleConstraint ) 27410 // InternalSolverLanguage.g:8358:2: ( ruleAggregationOp )
16504 { 27411 {
16505 // InternalSolverLanguage.g:5354:2: ( ruleConstraint ) 27412 // InternalSolverLanguage.g:8358:2: ( ruleAggregationOp )
16506 // InternalSolverLanguage.g:5355:3: ruleConstraint 27413 // InternalSolverLanguage.g:8359:3: ruleAggregationOp
16507 { 27414 {
16508 before(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0()); 27415 if ( state.backtracking==0 ) {
27416 before(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0());
27417 }
16509 pushFollow(FOLLOW_2); 27418 pushFollow(FOLLOW_2);
16510 ruleConstraint(); 27419 ruleAggregationOp();
16511 27420
16512 state._fsp--; 27421 state._fsp--;
27422 if (state.failed) return ;
27423 if ( state.backtracking==0 ) {
27424 after(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0());
27425 }
27426
27427 }
27428
27429
27430 }
27431
27432 }
27433 catch (RecognitionException re) {
27434 reportError(re);
27435 recover(input,re);
27436 }
27437 finally {
27438
27439 restoreStackSize(stackSize);
27440
27441 }
27442 return ;
27443 }
27444 // $ANTLR end "rule__Aggregation__OpAssignment_0"
27445
27446
27447 // $ANTLR start "rule__Aggregation__BodyAssignment_2"
27448 // InternalSolverLanguage.g:8368:1: rule__Aggregation__BodyAssignment_2 : ( ruleExpression ) ;
27449 public final void rule__Aggregation__BodyAssignment_2() throws RecognitionException {
27450
27451 int stackSize = keepStackSize();
27452
27453 try {
27454 // InternalSolverLanguage.g:8372:1: ( ( ruleExpression ) )
27455 // InternalSolverLanguage.g:8373:2: ( ruleExpression )
27456 {
27457 // InternalSolverLanguage.g:8373:2: ( ruleExpression )
27458 // InternalSolverLanguage.g:8374:3: ruleExpression
27459 {
27460 if ( state.backtracking==0 ) {
27461 before(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0());
27462 }
27463 pushFollow(FOLLOW_2);
27464 ruleExpression();
16513 27465
16514 after(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0()); 27466 state._fsp--;
27467 if (state.failed) return ;
27468 if ( state.backtracking==0 ) {
27469 after(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0());
27470 }
16515 27471
16516 } 27472 }
16517 27473
@@ -16530,29 +27486,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16530 } 27486 }
16531 return ; 27487 return ;
16532 } 27488 }
16533 // $ANTLR end "rule__PatternBody__ConstraintsAssignment_1_1" 27489 // $ANTLR end "rule__Aggregation__BodyAssignment_2"
16534 27490
16535 27491
16536 // $ANTLR start "rule__Constraint__PolarityAssignment_0_0" 27492 // $ANTLR start "rule__Aggregation__ConditionAssignment_4"
16537 // InternalSolverLanguage.g:5364:1: rule__Constraint__PolarityAssignment_0_0 : ( rulePolarity ) ; 27493 // InternalSolverLanguage.g:8383:1: rule__Aggregation__ConditionAssignment_4 : ( ruleExpression ) ;
16538 public final void rule__Constraint__PolarityAssignment_0_0() throws RecognitionException { 27494 public final void rule__Aggregation__ConditionAssignment_4() throws RecognitionException {
16539 27495
16540 int stackSize = keepStackSize(); 27496 int stackSize = keepStackSize();
16541 27497
16542 try { 27498 try {
16543 // InternalSolverLanguage.g:5368:1: ( ( rulePolarity ) ) 27499 // InternalSolverLanguage.g:8387:1: ( ( ruleExpression ) )
16544 // InternalSolverLanguage.g:5369:2: ( rulePolarity ) 27500 // InternalSolverLanguage.g:8388:2: ( ruleExpression )
16545 { 27501 {
16546 // InternalSolverLanguage.g:5369:2: ( rulePolarity ) 27502 // InternalSolverLanguage.g:8388:2: ( ruleExpression )
16547 // InternalSolverLanguage.g:5370:3: rulePolarity 27503 // InternalSolverLanguage.g:8389:3: ruleExpression
16548 { 27504 {
16549 before(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0()); 27505 if ( state.backtracking==0 ) {
27506 before(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0());
27507 }
16550 pushFollow(FOLLOW_2); 27508 pushFollow(FOLLOW_2);
16551 rulePolarity(); 27509 ruleExpression();
16552 27510
16553 state._fsp--; 27511 state._fsp--;
27512 if (state.failed) return ;
27513 if ( state.backtracking==0 ) {
27514 after(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0());
27515 }
27516
27517 }
27518
27519
27520 }
27521
27522 }
27523 catch (RecognitionException re) {
27524 reportError(re);
27525 recover(input,re);
27526 }
27527 finally {
27528
27529 restoreStackSize(stackSize);
27530
27531 }
27532 return ;
27533 }
27534 // $ANTLR end "rule__Aggregation__ConditionAssignment_4"
27535
27536
27537 // $ANTLR start "rule__AtomicExpression__ArgumentListAssignment_0_1_1"
27538 // InternalSolverLanguage.g:8398:1: rule__AtomicExpression__ArgumentListAssignment_0_1_1 : ( ruleArgumentList ) ;
27539 public final void rule__AtomicExpression__ArgumentListAssignment_0_1_1() throws RecognitionException {
27540
27541 int stackSize = keepStackSize();
27542
27543 try {
27544 // InternalSolverLanguage.g:8402:1: ( ( ruleArgumentList ) )
27545 // InternalSolverLanguage.g:8403:2: ( ruleArgumentList )
27546 {
27547 // InternalSolverLanguage.g:8403:2: ( ruleArgumentList )
27548 // InternalSolverLanguage.g:8404:3: ruleArgumentList
27549 {
27550 if ( state.backtracking==0 ) {
27551 before(grammarAccess.getAtomicExpressionAccess().getArgumentListArgumentListParserRuleCall_0_1_1_0());
27552 }
27553 pushFollow(FOLLOW_2);
27554 ruleArgumentList();
16554 27555
16555 after(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0()); 27556 state._fsp--;
27557 if (state.failed) return ;
27558 if ( state.backtracking==0 ) {
27559 after(grammarAccess.getAtomicExpressionAccess().getArgumentListArgumentListParserRuleCall_0_1_1_0());
27560 }
16556 27561
16557 } 27562 }
16558 27563
@@ -16571,29 +27576,74 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16571 } 27576 }
16572 return ; 27577 return ;
16573 } 27578 }
16574 // $ANTLR end "rule__Constraint__PolarityAssignment_0_0" 27579 // $ANTLR end "rule__AtomicExpression__ArgumentListAssignment_0_1_1"
16575 27580
16576 27581
16577 // $ANTLR start "rule__Constraint__SymbolAssignment_0_1" 27582 // $ANTLR start "rule__Call__FunctorAssignment_0"
16578 // InternalSolverLanguage.g:5379:1: rule__Constraint__SymbolAssignment_0_1 : ( ruleModelSymbol ) ; 27583 // InternalSolverLanguage.g:8413:1: rule__Call__FunctorAssignment_0 : ( ruleReference ) ;
16579 public final void rule__Constraint__SymbolAssignment_0_1() throws RecognitionException { 27584 public final void rule__Call__FunctorAssignment_0() throws RecognitionException {
16580 27585
16581 int stackSize = keepStackSize(); 27586 int stackSize = keepStackSize();
16582 27587
16583 try { 27588 try {
16584 // InternalSolverLanguage.g:5383:1: ( ( ruleModelSymbol ) ) 27589 // InternalSolverLanguage.g:8417:1: ( ( ruleReference ) )
16585 // InternalSolverLanguage.g:5384:2: ( ruleModelSymbol ) 27590 // InternalSolverLanguage.g:8418:2: ( ruleReference )
16586 { 27591 {
16587 // InternalSolverLanguage.g:5384:2: ( ruleModelSymbol ) 27592 // InternalSolverLanguage.g:8418:2: ( ruleReference )
16588 // InternalSolverLanguage.g:5385:3: ruleModelSymbol 27593 // InternalSolverLanguage.g:8419:3: ruleReference
16589 { 27594 {
16590 before(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0()); 27595 if ( state.backtracking==0 ) {
27596 before(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0());
27597 }
16591 pushFollow(FOLLOW_2); 27598 pushFollow(FOLLOW_2);
16592 ruleModelSymbol(); 27599 ruleReference();
16593 27600
16594 state._fsp--; 27601 state._fsp--;
27602 if (state.failed) return ;
27603 if ( state.backtracking==0 ) {
27604 after(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0());
27605 }
27606
27607 }
16595 27608
16596 after(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0()); 27609
27610 }
27611
27612 }
27613 catch (RecognitionException re) {
27614 reportError(re);
27615 recover(input,re);
27616 }
27617 finally {
27618
27619 restoreStackSize(stackSize);
27620
27621 }
27622 return ;
27623 }
27624 // $ANTLR end "rule__Call__FunctorAssignment_0"
27625
27626
27627 // $ANTLR start "rule__Call__TransitiveClosureAssignment_1_0"
27628 // InternalSolverLanguage.g:8428:1: rule__Call__TransitiveClosureAssignment_1_0 : ( RULE_STAR ) ;
27629 public final void rule__Call__TransitiveClosureAssignment_1_0() throws RecognitionException {
27630
27631 int stackSize = keepStackSize();
27632
27633 try {
27634 // InternalSolverLanguage.g:8432:1: ( ( RULE_STAR ) )
27635 // InternalSolverLanguage.g:8433:2: ( RULE_STAR )
27636 {
27637 // InternalSolverLanguage.g:8433:2: ( RULE_STAR )
27638 // InternalSolverLanguage.g:8434:3: RULE_STAR
27639 {
27640 if ( state.backtracking==0 ) {
27641 before(grammarAccess.getCallAccess().getTransitiveClosureSTARTerminalRuleCall_1_0_0());
27642 }
27643 match(input,RULE_STAR,FOLLOW_2); if (state.failed) return ;
27644 if ( state.backtracking==0 ) {
27645 after(grammarAccess.getCallAccess().getTransitiveClosureSTARTerminalRuleCall_1_0_0());
27646 }
16597 27647
16598 } 27648 }
16599 27649
@@ -16612,29 +27662,119 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16612 } 27662 }
16613 return ; 27663 return ;
16614 } 27664 }
16615 // $ANTLR end "rule__Constraint__SymbolAssignment_0_1" 27665 // $ANTLR end "rule__Call__TransitiveClosureAssignment_1_0"
16616 27666
16617 27667
16618 // $ANTLR start "rule__Constraint__ParamsAssignment_0_2_1" 27668 // $ANTLR start "rule__Call__ReflexiveTransitiveClosureAssignment_1_1"
16619 // InternalSolverLanguage.g:5394:1: rule__Constraint__ParamsAssignment_0_2_1 : ( ruleLiteral ) ; 27669 // InternalSolverLanguage.g:8443:1: rule__Call__ReflexiveTransitiveClosureAssignment_1_1 : ( RULE_PLUS ) ;
16620 public final void rule__Constraint__ParamsAssignment_0_2_1() throws RecognitionException { 27670 public final void rule__Call__ReflexiveTransitiveClosureAssignment_1_1() throws RecognitionException {
16621 27671
16622 int stackSize = keepStackSize(); 27672 int stackSize = keepStackSize();
16623 27673
16624 try { 27674 try {
16625 // InternalSolverLanguage.g:5398:1: ( ( ruleLiteral ) ) 27675 // InternalSolverLanguage.g:8447:1: ( ( RULE_PLUS ) )
16626 // InternalSolverLanguage.g:5399:2: ( ruleLiteral ) 27676 // InternalSolverLanguage.g:8448:2: ( RULE_PLUS )
16627 { 27677 {
16628 // InternalSolverLanguage.g:5399:2: ( ruleLiteral ) 27678 // InternalSolverLanguage.g:8448:2: ( RULE_PLUS )
16629 // InternalSolverLanguage.g:5400:3: ruleLiteral 27679 // InternalSolverLanguage.g:8449:3: RULE_PLUS
16630 { 27680 {
16631 before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0()); 27681 if ( state.backtracking==0 ) {
27682 before(grammarAccess.getCallAccess().getReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0());
27683 }
27684 match(input,RULE_PLUS,FOLLOW_2); if (state.failed) return ;
27685 if ( state.backtracking==0 ) {
27686 after(grammarAccess.getCallAccess().getReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0());
27687 }
27688
27689 }
27690
27691
27692 }
27693
27694 }
27695 catch (RecognitionException re) {
27696 reportError(re);
27697 recover(input,re);
27698 }
27699 finally {
27700
27701 restoreStackSize(stackSize);
27702
27703 }
27704 return ;
27705 }
27706 // $ANTLR end "rule__Call__ReflexiveTransitiveClosureAssignment_1_1"
27707
27708
27709 // $ANTLR start "rule__Call__ArgumentListAssignment_2"
27710 // InternalSolverLanguage.g:8458:1: rule__Call__ArgumentListAssignment_2 : ( ruleArgumentList ) ;
27711 public final void rule__Call__ArgumentListAssignment_2() throws RecognitionException {
27712
27713 int stackSize = keepStackSize();
27714
27715 try {
27716 // InternalSolverLanguage.g:8462:1: ( ( ruleArgumentList ) )
27717 // InternalSolverLanguage.g:8463:2: ( ruleArgumentList )
27718 {
27719 // InternalSolverLanguage.g:8463:2: ( ruleArgumentList )
27720 // InternalSolverLanguage.g:8464:3: ruleArgumentList
27721 {
27722 if ( state.backtracking==0 ) {
27723 before(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0());
27724 }
16632 pushFollow(FOLLOW_2); 27725 pushFollow(FOLLOW_2);
16633 ruleLiteral(); 27726 ruleArgumentList();
16634 27727
16635 state._fsp--; 27728 state._fsp--;
27729 if (state.failed) return ;
27730 if ( state.backtracking==0 ) {
27731 after(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0());
27732 }
27733
27734 }
16636 27735
16637 after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0()); 27736
27737 }
27738
27739 }
27740 catch (RecognitionException re) {
27741 reportError(re);
27742 recover(input,re);
27743 }
27744 finally {
27745
27746 restoreStackSize(stackSize);
27747
27748 }
27749 return ;
27750 }
27751 // $ANTLR end "rule__Call__ArgumentListAssignment_2"
27752
27753
27754 // $ANTLR start "rule__ArgumentList__ArgumentsAssignment_2_0"
27755 // InternalSolverLanguage.g:8473:1: rule__ArgumentList__ArgumentsAssignment_2_0 : ( ruleArgument ) ;
27756 public final void rule__ArgumentList__ArgumentsAssignment_2_0() throws RecognitionException {
27757
27758 int stackSize = keepStackSize();
27759
27760 try {
27761 // InternalSolverLanguage.g:8477:1: ( ( ruleArgument ) )
27762 // InternalSolverLanguage.g:8478:2: ( ruleArgument )
27763 {
27764 // InternalSolverLanguage.g:8478:2: ( ruleArgument )
27765 // InternalSolverLanguage.g:8479:3: ruleArgument
27766 {
27767 if ( state.backtracking==0 ) {
27768 before(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0());
27769 }
27770 pushFollow(FOLLOW_2);
27771 ruleArgument();
27772
27773 state._fsp--;
27774 if (state.failed) return ;
27775 if ( state.backtracking==0 ) {
27776 after(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0());
27777 }
16638 27778
16639 } 27779 }
16640 27780
@@ -16653,29 +27793,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16653 } 27793 }
16654 return ; 27794 return ;
16655 } 27795 }
16656 // $ANTLR end "rule__Constraint__ParamsAssignment_0_2_1" 27796 // $ANTLR end "rule__ArgumentList__ArgumentsAssignment_2_0"
16657 27797
16658 27798
16659 // $ANTLR start "rule__Constraint__ParamsAssignment_0_2_2_1" 27799 // $ANTLR start "rule__ArgumentList__ArgumentsAssignment_2_1_1"
16660 // InternalSolverLanguage.g:5409:1: rule__Constraint__ParamsAssignment_0_2_2_1 : ( ruleLiteral ) ; 27800 // InternalSolverLanguage.g:8488:1: rule__ArgumentList__ArgumentsAssignment_2_1_1 : ( ruleArgument ) ;
16661 public final void rule__Constraint__ParamsAssignment_0_2_2_1() throws RecognitionException { 27801 public final void rule__ArgumentList__ArgumentsAssignment_2_1_1() throws RecognitionException {
16662 27802
16663 int stackSize = keepStackSize(); 27803 int stackSize = keepStackSize();
16664 27804
16665 try { 27805 try {
16666 // InternalSolverLanguage.g:5413:1: ( ( ruleLiteral ) ) 27806 // InternalSolverLanguage.g:8492:1: ( ( ruleArgument ) )
16667 // InternalSolverLanguage.g:5414:2: ( ruleLiteral ) 27807 // InternalSolverLanguage.g:8493:2: ( ruleArgument )
16668 { 27808 {
16669 // InternalSolverLanguage.g:5414:2: ( ruleLiteral ) 27809 // InternalSolverLanguage.g:8493:2: ( ruleArgument )
16670 // InternalSolverLanguage.g:5415:3: ruleLiteral 27810 // InternalSolverLanguage.g:8494:3: ruleArgument
16671 { 27811 {
16672 before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0()); 27812 if ( state.backtracking==0 ) {
27813 before(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0());
27814 }
16673 pushFollow(FOLLOW_2); 27815 pushFollow(FOLLOW_2);
16674 ruleLiteral(); 27816 ruleArgument();
16675 27817
16676 state._fsp--; 27818 state._fsp--;
27819 if (state.failed) return ;
27820 if ( state.backtracking==0 ) {
27821 after(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0());
27822 }
27823
27824 }
16677 27825
16678 after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0()); 27826
27827 }
27828
27829 }
27830 catch (RecognitionException re) {
27831 reportError(re);
27832 recover(input,re);
27833 }
27834 finally {
27835
27836 restoreStackSize(stackSize);
27837
27838 }
27839 return ;
27840 }
27841 // $ANTLR end "rule__ArgumentList__ArgumentsAssignment_2_1_1"
27842
27843
27844 // $ANTLR start "rule__ExpressionArgument__BodyAssignment"
27845 // InternalSolverLanguage.g:8503:1: rule__ExpressionArgument__BodyAssignment : ( ruleComparisonExpression ) ;
27846 public final void rule__ExpressionArgument__BodyAssignment() throws RecognitionException {
27847
27848 int stackSize = keepStackSize();
27849
27850 try {
27851 // InternalSolverLanguage.g:8507:1: ( ( ruleComparisonExpression ) )
27852 // InternalSolverLanguage.g:8508:2: ( ruleComparisonExpression )
27853 {
27854 // InternalSolverLanguage.g:8508:2: ( ruleComparisonExpression )
27855 // InternalSolverLanguage.g:8509:3: ruleComparisonExpression
27856 {
27857 if ( state.backtracking==0 ) {
27858 before(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0());
27859 }
27860 pushFollow(FOLLOW_2);
27861 ruleComparisonExpression();
27862
27863 state._fsp--;
27864 if (state.failed) return ;
27865 if ( state.backtracking==0 ) {
27866 after(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0());
27867 }
16679 27868
16680 } 27869 }
16681 27870
@@ -16694,29 +27883,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16694 } 27883 }
16695 return ; 27884 return ;
16696 } 27885 }
16697 // $ANTLR end "rule__Constraint__ParamsAssignment_0_2_2_1" 27886 // $ANTLR end "rule__ExpressionArgument__BodyAssignment"
16698 27887
16699 27888
16700 // $ANTLR start "rule__Constraint__ClosureTypeAssignment_1_0" 27889 // $ANTLR start "rule__TypedArgument__TypeAssignment_0"
16701 // InternalSolverLanguage.g:5424:1: rule__Constraint__ClosureTypeAssignment_1_0 : ( ruleClosureType ) ; 27890 // InternalSolverLanguage.g:8518:1: rule__TypedArgument__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ;
16702 public final void rule__Constraint__ClosureTypeAssignment_1_0() throws RecognitionException { 27891 public final void rule__TypedArgument__TypeAssignment_0() throws RecognitionException {
16703 27892
16704 int stackSize = keepStackSize(); 27893 int stackSize = keepStackSize();
16705 27894
16706 try { 27895 try {
16707 // InternalSolverLanguage.g:5428:1: ( ( ruleClosureType ) ) 27896 // InternalSolverLanguage.g:8522:1: ( ( ( ruleQualifiedName ) ) )
16708 // InternalSolverLanguage.g:5429:2: ( ruleClosureType ) 27897 // InternalSolverLanguage.g:8523:2: ( ( ruleQualifiedName ) )
16709 { 27898 {
16710 // InternalSolverLanguage.g:5429:2: ( ruleClosureType ) 27899 // InternalSolverLanguage.g:8523:2: ( ( ruleQualifiedName ) )
16711 // InternalSolverLanguage.g:5430:3: ruleClosureType 27900 // InternalSolverLanguage.g:8524:3: ( ruleQualifiedName )
16712 { 27901 {
16713 before(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0()); 27902 if ( state.backtracking==0 ) {
27903 before(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0());
27904 }
27905 // InternalSolverLanguage.g:8525:3: ( ruleQualifiedName )
27906 // InternalSolverLanguage.g:8526:4: ruleQualifiedName
27907 {
27908 if ( state.backtracking==0 ) {
27909 before(grammarAccess.getTypedArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1());
27910 }
16714 pushFollow(FOLLOW_2); 27911 pushFollow(FOLLOW_2);
16715 ruleClosureType(); 27912 ruleQualifiedName();
16716 27913
16717 state._fsp--; 27914 state._fsp--;
27915 if (state.failed) return ;
27916 if ( state.backtracking==0 ) {
27917 after(grammarAccess.getTypedArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1());
27918 }
27919
27920 }
16718 27921
16719 after(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0()); 27922 if ( state.backtracking==0 ) {
27923 after(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0());
27924 }
16720 27925
16721 } 27926 }
16722 27927
@@ -16735,29 +27940,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16735 } 27940 }
16736 return ; 27941 return ;
16737 } 27942 }
16738 // $ANTLR end "rule__Constraint__ClosureTypeAssignment_1_0" 27943 // $ANTLR end "rule__TypedArgument__TypeAssignment_0"
16739 27944
16740 27945
16741 // $ANTLR start "rule__Constraint__ParamsAssignment_1_2" 27946 // $ANTLR start "rule__TypedArgument__VariableAssignment_1"
16742 // InternalSolverLanguage.g:5439:1: rule__Constraint__ParamsAssignment_1_2 : ( ruleLiteral ) ; 27947 // InternalSolverLanguage.g:8537:1: rule__TypedArgument__VariableAssignment_1 : ( ( ruleQualifiedName ) ) ;
16743 public final void rule__Constraint__ParamsAssignment_1_2() throws RecognitionException { 27948 public final void rule__TypedArgument__VariableAssignment_1() throws RecognitionException {
16744 27949
16745 int stackSize = keepStackSize(); 27950 int stackSize = keepStackSize();
16746 27951
16747 try { 27952 try {
16748 // InternalSolverLanguage.g:5443:1: ( ( ruleLiteral ) ) 27953 // InternalSolverLanguage.g:8541:1: ( ( ( ruleQualifiedName ) ) )
16749 // InternalSolverLanguage.g:5444:2: ( ruleLiteral ) 27954 // InternalSolverLanguage.g:8542:2: ( ( ruleQualifiedName ) )
16750 { 27955 {
16751 // InternalSolverLanguage.g:5444:2: ( ruleLiteral ) 27956 // InternalSolverLanguage.g:8542:2: ( ( ruleQualifiedName ) )
16752 // InternalSolverLanguage.g:5445:3: ruleLiteral 27957 // InternalSolverLanguage.g:8543:3: ( ruleQualifiedName )
16753 { 27958 {
16754 before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0()); 27959 if ( state.backtracking==0 ) {
27960 before(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0());
27961 }
27962 // InternalSolverLanguage.g:8544:3: ( ruleQualifiedName )
27963 // InternalSolverLanguage.g:8545:4: ruleQualifiedName
27964 {
27965 if ( state.backtracking==0 ) {
27966 before(grammarAccess.getTypedArgumentAccess().getVariableNamedElementQualifiedNameParserRuleCall_1_0_1());
27967 }
16755 pushFollow(FOLLOW_2); 27968 pushFollow(FOLLOW_2);
16756 ruleLiteral(); 27969 ruleQualifiedName();
16757 27970
16758 state._fsp--; 27971 state._fsp--;
27972 if (state.failed) return ;
27973 if ( state.backtracking==0 ) {
27974 after(grammarAccess.getTypedArgumentAccess().getVariableNamedElementQualifiedNameParserRuleCall_1_0_1());
27975 }
27976
27977 }
16759 27978
16760 after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0()); 27979 if ( state.backtracking==0 ) {
27980 after(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0());
27981 }
16761 27982
16762 } 27983 }
16763 27984
@@ -16776,29 +27997,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16776 } 27997 }
16777 return ; 27998 return ;
16778 } 27999 }
16779 // $ANTLR end "rule__Constraint__ParamsAssignment_1_2" 28000 // $ANTLR end "rule__TypedArgument__VariableAssignment_1"
16780 28001
16781 28002
16782 // $ANTLR start "rule__Constraint__ParamsAssignment_1_3_1" 28003 // $ANTLR start "rule__TypedStarArgument__TypeAssignment_0"
16783 // InternalSolverLanguage.g:5454:1: rule__Constraint__ParamsAssignment_1_3_1 : ( ruleLiteral ) ; 28004 // InternalSolverLanguage.g:8556:1: rule__TypedStarArgument__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ;
16784 public final void rule__Constraint__ParamsAssignment_1_3_1() throws RecognitionException { 28005 public final void rule__TypedStarArgument__TypeAssignment_0() throws RecognitionException {
16785 28006
16786 int stackSize = keepStackSize(); 28007 int stackSize = keepStackSize();
16787 28008
16788 try { 28009 try {
16789 // InternalSolverLanguage.g:5458:1: ( ( ruleLiteral ) ) 28010 // InternalSolverLanguage.g:8560:1: ( ( ( ruleQualifiedName ) ) )
16790 // InternalSolverLanguage.g:5459:2: ( ruleLiteral ) 28011 // InternalSolverLanguage.g:8561:2: ( ( ruleQualifiedName ) )
16791 { 28012 {
16792 // InternalSolverLanguage.g:5459:2: ( ruleLiteral ) 28013 // InternalSolverLanguage.g:8561:2: ( ( ruleQualifiedName ) )
16793 // InternalSolverLanguage.g:5460:3: ruleLiteral 28014 // InternalSolverLanguage.g:8562:3: ( ruleQualifiedName )
16794 { 28015 {
16795 before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0()); 28016 if ( state.backtracking==0 ) {
28017 before(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0());
28018 }
28019 // InternalSolverLanguage.g:8563:3: ( ruleQualifiedName )
28020 // InternalSolverLanguage.g:8564:4: ruleQualifiedName
28021 {
28022 if ( state.backtracking==0 ) {
28023 before(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1());
28024 }
16796 pushFollow(FOLLOW_2); 28025 pushFollow(FOLLOW_2);
16797 ruleLiteral(); 28026 ruleQualifiedName();
16798 28027
16799 state._fsp--; 28028 state._fsp--;
28029 if (state.failed) return ;
28030 if ( state.backtracking==0 ) {
28031 after(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1());
28032 }
16800 28033
16801 after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0()); 28034 }
28035
28036 if ( state.backtracking==0 ) {
28037 after(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0());
28038 }
16802 28039
16803 } 28040 }
16804 28041
@@ -16817,25 +28054,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16817 } 28054 }
16818 return ; 28055 return ;
16819 } 28056 }
16820 // $ANTLR end "rule__Constraint__ParamsAssignment_1_3_1" 28057 // $ANTLR end "rule__TypedStarArgument__TypeAssignment_0"
16821 28058
16822 28059
16823 // $ANTLR start "rule__Variable__NameAssignment" 28060 // $ANTLR start "rule__Reference__ReferredAssignment"
16824 // InternalSolverLanguage.g:5469:1: rule__Variable__NameAssignment : ( RULE_ID ) ; 28061 // InternalSolverLanguage.g:8575:1: rule__Reference__ReferredAssignment : ( ( ruleQualifiedName ) ) ;
16825 public final void rule__Variable__NameAssignment() throws RecognitionException { 28062 public final void rule__Reference__ReferredAssignment() throws RecognitionException {
16826 28063
16827 int stackSize = keepStackSize(); 28064 int stackSize = keepStackSize();
16828 28065
16829 try { 28066 try {
16830 // InternalSolverLanguage.g:5473:1: ( ( RULE_ID ) ) 28067 // InternalSolverLanguage.g:8579:1: ( ( ( ruleQualifiedName ) ) )
16831 // InternalSolverLanguage.g:5474:2: ( RULE_ID ) 28068 // InternalSolverLanguage.g:8580:2: ( ( ruleQualifiedName ) )
28069 {
28070 // InternalSolverLanguage.g:8580:2: ( ( ruleQualifiedName ) )
28071 // InternalSolverLanguage.g:8581:3: ( ruleQualifiedName )
16832 { 28072 {
16833 // InternalSolverLanguage.g:5474:2: ( RULE_ID ) 28073 if ( state.backtracking==0 ) {
16834 // InternalSolverLanguage.g:5475:3: RULE_ID 28074 before(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0());
28075 }
28076 // InternalSolverLanguage.g:8582:3: ( ruleQualifiedName )
28077 // InternalSolverLanguage.g:8583:4: ruleQualifiedName
16835 { 28078 {
16836 before(grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0()); 28079 if ( state.backtracking==0 ) {
16837 match(input,RULE_ID,FOLLOW_2); 28080 before(grammarAccess.getReferenceAccess().getReferredNamedElementQualifiedNameParserRuleCall_0_1());
16838 after(grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0()); 28081 }
28082 pushFollow(FOLLOW_2);
28083 ruleQualifiedName();
28084
28085 state._fsp--;
28086 if (state.failed) return ;
28087 if ( state.backtracking==0 ) {
28088 after(grammarAccess.getReferenceAccess().getReferredNamedElementQualifiedNameParserRuleCall_0_1());
28089 }
28090
28091 }
28092
28093 if ( state.backtracking==0 ) {
28094 after(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0());
28095 }
16839 28096
16840 } 28097 }
16841 28098
@@ -16854,29 +28111,123 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16854 } 28111 }
16855 return ; 28112 return ;
16856 } 28113 }
16857 // $ANTLR end "rule__Variable__NameAssignment" 28114 // $ANTLR end "rule__Reference__ReferredAssignment"
16858 28115
16859 28116
16860 // $ANTLR start "rule__AllInstances__SymbolAssignment_1" 28117 // $ANTLR start "rule__Interval__LowerBoundAssignment_1"
16861 // InternalSolverLanguage.g:5484:1: rule__AllInstances__SymbolAssignment_1 : ( ruleSymbol ) ; 28118 // InternalSolverLanguage.g:8594:1: rule__Interval__LowerBoundAssignment_1 : ( ruleExpression ) ;
16862 public final void rule__AllInstances__SymbolAssignment_1() throws RecognitionException { 28119 public final void rule__Interval__LowerBoundAssignment_1() throws RecognitionException {
16863 28120
16864 int stackSize = keepStackSize(); 28121 int stackSize = keepStackSize();
16865 28122
16866 try { 28123 try {
16867 // InternalSolverLanguage.g:5488:1: ( ( ruleSymbol ) ) 28124 // InternalSolverLanguage.g:8598:1: ( ( ruleExpression ) )
16868 // InternalSolverLanguage.g:5489:2: ( ruleSymbol ) 28125 // InternalSolverLanguage.g:8599:2: ( ruleExpression )
16869 { 28126 {
16870 // InternalSolverLanguage.g:5489:2: ( ruleSymbol ) 28127 // InternalSolverLanguage.g:8599:2: ( ruleExpression )
16871 // InternalSolverLanguage.g:5490:3: ruleSymbol 28128 // InternalSolverLanguage.g:8600:3: ruleExpression
16872 { 28129 {
16873 before(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0()); 28130 if ( state.backtracking==0 ) {
28131 before(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0());
28132 }
16874 pushFollow(FOLLOW_2); 28133 pushFollow(FOLLOW_2);
16875 ruleSymbol(); 28134 ruleExpression();
16876 28135
16877 state._fsp--; 28136 state._fsp--;
28137 if (state.failed) return ;
28138 if ( state.backtracking==0 ) {
28139 after(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0());
28140 }
28141
28142 }
16878 28143
16879 after(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0()); 28144
28145 }
28146
28147 }
28148 catch (RecognitionException re) {
28149 reportError(re);
28150 recover(input,re);
28151 }
28152 finally {
28153
28154 restoreStackSize(stackSize);
28155
28156 }
28157 return ;
28158 }
28159 // $ANTLR end "rule__Interval__LowerBoundAssignment_1"
28160
28161
28162 // $ANTLR start "rule__Interval__UpperBoundAssignment_3"
28163 // InternalSolverLanguage.g:8609:1: rule__Interval__UpperBoundAssignment_3 : ( ruleExpression ) ;
28164 public final void rule__Interval__UpperBoundAssignment_3() throws RecognitionException {
28165
28166 int stackSize = keepStackSize();
28167
28168 try {
28169 // InternalSolverLanguage.g:8613:1: ( ( ruleExpression ) )
28170 // InternalSolverLanguage.g:8614:2: ( ruleExpression )
28171 {
28172 // InternalSolverLanguage.g:8614:2: ( ruleExpression )
28173 // InternalSolverLanguage.g:8615:3: ruleExpression
28174 {
28175 if ( state.backtracking==0 ) {
28176 before(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0());
28177 }
28178 pushFollow(FOLLOW_2);
28179 ruleExpression();
28180
28181 state._fsp--;
28182 if (state.failed) return ;
28183 if ( state.backtracking==0 ) {
28184 after(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0());
28185 }
28186
28187 }
28188
28189
28190 }
28191
28192 }
28193 catch (RecognitionException re) {
28194 reportError(re);
28195 recover(input,re);
28196 }
28197 finally {
28198
28199 restoreStackSize(stackSize);
28200
28201 }
28202 return ;
28203 }
28204 // $ANTLR end "rule__Interval__UpperBoundAssignment_3"
28205
28206
28207 // $ANTLR start "rule__LogicLiteral__ValueAssignment"
28208 // InternalSolverLanguage.g:8624:1: rule__LogicLiteral__ValueAssignment : ( ruleLogicValue ) ;
28209 public final void rule__LogicLiteral__ValueAssignment() throws RecognitionException {
28210
28211 int stackSize = keepStackSize();
28212
28213 try {
28214 // InternalSolverLanguage.g:8628:1: ( ( ruleLogicValue ) )
28215 // InternalSolverLanguage.g:8629:2: ( ruleLogicValue )
28216 {
28217 // InternalSolverLanguage.g:8629:2: ( ruleLogicValue )
28218 // InternalSolverLanguage.g:8630:3: ruleLogicValue
28219 {
28220 if ( state.backtracking==0 ) {
28221 before(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0());
28222 }
28223 pushFollow(FOLLOW_2);
28224 ruleLogicValue();
28225
28226 state._fsp--;
28227 if (state.failed) return ;
28228 if ( state.backtracking==0 ) {
28229 after(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0());
28230 }
16880 28231
16881 } 28232 }
16882 28233
@@ -16895,29 +28246,74 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16895 } 28246 }
16896 return ; 28247 return ;
16897 } 28248 }
16898 // $ANTLR end "rule__AllInstances__SymbolAssignment_1" 28249 // $ANTLR end "rule__LogicLiteral__ValueAssignment"
16899 28250
16900 28251
16901 // $ANTLR start "rule__DefaultInterpretation__InterpretationAssignment_1" 28252 // $ANTLR start "rule__NumericLiteral__ValueAssignment"
16902 // InternalSolverLanguage.g:5499:1: rule__DefaultInterpretation__InterpretationAssignment_1 : ( ruleBasicInterpretation ) ; 28253 // InternalSolverLanguage.g:8639:1: rule__NumericLiteral__ValueAssignment : ( ruleReal ) ;
16903 public final void rule__DefaultInterpretation__InterpretationAssignment_1() throws RecognitionException { 28254 public final void rule__NumericLiteral__ValueAssignment() throws RecognitionException {
16904 28255
16905 int stackSize = keepStackSize(); 28256 int stackSize = keepStackSize();
16906 28257
16907 try { 28258 try {
16908 // InternalSolverLanguage.g:5503:1: ( ( ruleBasicInterpretation ) ) 28259 // InternalSolverLanguage.g:8643:1: ( ( ruleReal ) )
16909 // InternalSolverLanguage.g:5504:2: ( ruleBasicInterpretation ) 28260 // InternalSolverLanguage.g:8644:2: ( ruleReal )
16910 { 28261 {
16911 // InternalSolverLanguage.g:5504:2: ( ruleBasicInterpretation ) 28262 // InternalSolverLanguage.g:8644:2: ( ruleReal )
16912 // InternalSolverLanguage.g:5505:3: ruleBasicInterpretation 28263 // InternalSolverLanguage.g:8645:3: ruleReal
16913 { 28264 {
16914 before(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0()); 28265 if ( state.backtracking==0 ) {
28266 before(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0());
28267 }
16915 pushFollow(FOLLOW_2); 28268 pushFollow(FOLLOW_2);
16916 ruleBasicInterpretation(); 28269 ruleReal();
16917 28270
16918 state._fsp--; 28271 state._fsp--;
28272 if (state.failed) return ;
28273 if ( state.backtracking==0 ) {
28274 after(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0());
28275 }
16919 28276
16920 after(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0()); 28277 }
28278
28279
28280 }
28281
28282 }
28283 catch (RecognitionException re) {
28284 reportError(re);
28285 recover(input,re);
28286 }
28287 finally {
28288
28289 restoreStackSize(stackSize);
28290
28291 }
28292 return ;
28293 }
28294 // $ANTLR end "rule__NumericLiteral__ValueAssignment"
28295
28296
28297 // $ANTLR start "rule__StringLiteral__ValueAssignment"
28298 // InternalSolverLanguage.g:8654:1: rule__StringLiteral__ValueAssignment : ( RULE_STRING ) ;
28299 public final void rule__StringLiteral__ValueAssignment() throws RecognitionException {
28300
28301 int stackSize = keepStackSize();
28302
28303 try {
28304 // InternalSolverLanguage.g:8658:1: ( ( RULE_STRING ) )
28305 // InternalSolverLanguage.g:8659:2: ( RULE_STRING )
28306 {
28307 // InternalSolverLanguage.g:8659:2: ( RULE_STRING )
28308 // InternalSolverLanguage.g:8660:3: RULE_STRING
28309 {
28310 if ( state.backtracking==0 ) {
28311 before(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0());
28312 }
28313 match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
28314 if ( state.backtracking==0 ) {
28315 after(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0());
28316 }
16921 28317
16922 } 28318 }
16923 28319
@@ -16936,33 +28332,82 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16936 } 28332 }
16937 return ; 28333 return ;
16938 } 28334 }
16939 // $ANTLR end "rule__DefaultInterpretation__InterpretationAssignment_1" 28335 // $ANTLR end "rule__StringLiteral__ValueAssignment"
16940 28336
16941 28337
16942 // $ANTLR start "rule__ClassInterpretation__AbstractAssignment_0" 28338 // $ANTLR start "rule__ClassDefinition__AbstractAssignment_0"
16943 // InternalSolverLanguage.g:5514:1: rule__ClassInterpretation__AbstractAssignment_0 : ( ( 'abstract' ) ) ; 28339 // InternalSolverLanguage.g:8669:1: rule__ClassDefinition__AbstractAssignment_0 : ( ( 'abstract' ) ) ;
16944 public final void rule__ClassInterpretation__AbstractAssignment_0() throws RecognitionException { 28340 public final void rule__ClassDefinition__AbstractAssignment_0() throws RecognitionException {
16945 28341
16946 int stackSize = keepStackSize(); 28342 int stackSize = keepStackSize();
16947 28343
16948 try { 28344 try {
16949 // InternalSolverLanguage.g:5518:1: ( ( ( 'abstract' ) ) ) 28345 // InternalSolverLanguage.g:8673:1: ( ( ( 'abstract' ) ) )
16950 // InternalSolverLanguage.g:5519:2: ( ( 'abstract' ) ) 28346 // InternalSolverLanguage.g:8674:2: ( ( 'abstract' ) )
16951 { 28347 {
16952 // InternalSolverLanguage.g:5519:2: ( ( 'abstract' ) ) 28348 // InternalSolverLanguage.g:8674:2: ( ( 'abstract' ) )
16953 // InternalSolverLanguage.g:5520:3: ( 'abstract' ) 28349 // InternalSolverLanguage.g:8675:3: ( 'abstract' )
16954 { 28350 {
16955 before(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); 28351 if ( state.backtracking==0 ) {
16956 // InternalSolverLanguage.g:5521:3: ( 'abstract' ) 28352 before(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0());
16957 // InternalSolverLanguage.g:5522:4: 'abstract' 28353 }
28354 // InternalSolverLanguage.g:8676:3: ( 'abstract' )
28355 // InternalSolverLanguage.g:8677:4: 'abstract'
16958 { 28356 {
16959 before(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); 28357 if ( state.backtracking==0 ) {
16960 match(input,40,FOLLOW_2); 28358 before(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0());
16961 after(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); 28359 }
28360 match(input,73,FOLLOW_2); if (state.failed) return ;
28361 if ( state.backtracking==0 ) {
28362 after(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0());
28363 }
16962 28364
16963 } 28365 }
16964 28366
16965 after(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); 28367 if ( state.backtracking==0 ) {
28368 after(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0());
28369 }
28370
28371 }
28372
28373
28374 }
28375
28376 }
28377 catch (RecognitionException re) {
28378 reportError(re);
28379 recover(input,re);
28380 }
28381 finally {
28382
28383 restoreStackSize(stackSize);
28384
28385 }
28386 return ;
28387 }
28388 // $ANTLR end "rule__ClassDefinition__AbstractAssignment_0"
28389
28390
28391 // $ANTLR start "rule__ClassDefinition__NameAssignment_2"
28392 // InternalSolverLanguage.g:8688:1: rule__ClassDefinition__NameAssignment_2 : ( RULE_ID ) ;
28393 public final void rule__ClassDefinition__NameAssignment_2() throws RecognitionException {
28394
28395 int stackSize = keepStackSize();
28396
28397 try {
28398 // InternalSolverLanguage.g:8692:1: ( ( RULE_ID ) )
28399 // InternalSolverLanguage.g:8693:2: ( RULE_ID )
28400 {
28401 // InternalSolverLanguage.g:8693:2: ( RULE_ID )
28402 // InternalSolverLanguage.g:8694:3: RULE_ID
28403 {
28404 if ( state.backtracking==0 ) {
28405 before(grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0());
28406 }
28407 match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
28408 if ( state.backtracking==0 ) {
28409 after(grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0());
28410 }
16966 28411
16967 } 28412 }
16968 28413
@@ -16981,29 +28426,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
16981 } 28426 }
16982 return ; 28427 return ;
16983 } 28428 }
16984 // $ANTLR end "rule__ClassInterpretation__AbstractAssignment_0" 28429 // $ANTLR end "rule__ClassDefinition__NameAssignment_2"
16985 28430
16986 28431
16987 // $ANTLR start "rule__ClassInterpretation__SymbolAssignment_2" 28432 // $ANTLR start "rule__ClassDefinition__SuperclassesAssignment_3_1"
16988 // InternalSolverLanguage.g:5533:1: rule__ClassInterpretation__SymbolAssignment_2 : ( ruleModelSymbol ) ; 28433 // InternalSolverLanguage.g:8703:1: rule__ClassDefinition__SuperclassesAssignment_3_1 : ( ( ruleQualifiedName ) ) ;
16989 public final void rule__ClassInterpretation__SymbolAssignment_2() throws RecognitionException { 28434 public final void rule__ClassDefinition__SuperclassesAssignment_3_1() throws RecognitionException {
16990 28435
16991 int stackSize = keepStackSize(); 28436 int stackSize = keepStackSize();
16992 28437
16993 try { 28438 try {
16994 // InternalSolverLanguage.g:5537:1: ( ( ruleModelSymbol ) ) 28439 // InternalSolverLanguage.g:8707:1: ( ( ( ruleQualifiedName ) ) )
16995 // InternalSolverLanguage.g:5538:2: ( ruleModelSymbol ) 28440 // InternalSolverLanguage.g:8708:2: ( ( ruleQualifiedName ) )
16996 { 28441 {
16997 // InternalSolverLanguage.g:5538:2: ( ruleModelSymbol ) 28442 // InternalSolverLanguage.g:8708:2: ( ( ruleQualifiedName ) )
16998 // InternalSolverLanguage.g:5539:3: ruleModelSymbol 28443 // InternalSolverLanguage.g:8709:3: ( ruleQualifiedName )
28444 {
28445 if ( state.backtracking==0 ) {
28446 before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0());
28447 }
28448 // InternalSolverLanguage.g:8710:3: ( ruleQualifiedName )
28449 // InternalSolverLanguage.g:8711:4: ruleQualifiedName
16999 { 28450 {
17000 before(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); 28451 if ( state.backtracking==0 ) {
28452 before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1());
28453 }
17001 pushFollow(FOLLOW_2); 28454 pushFollow(FOLLOW_2);
17002 ruleModelSymbol(); 28455 ruleQualifiedName();
17003 28456
17004 state._fsp--; 28457 state._fsp--;
28458 if (state.failed) return ;
28459 if ( state.backtracking==0 ) {
28460 after(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1());
28461 }
28462
28463 }
17005 28464
17006 after(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); 28465 if ( state.backtracking==0 ) {
28466 after(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0());
28467 }
17007 28468
17008 } 28469 }
17009 28470
@@ -17022,29 +28483,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17022 } 28483 }
17023 return ; 28484 return ;
17024 } 28485 }
17025 // $ANTLR end "rule__ClassInterpretation__SymbolAssignment_2" 28486 // $ANTLR end "rule__ClassDefinition__SuperclassesAssignment_3_1"
17026 28487
17027 28488
17028 // $ANTLR start "rule__ClassInterpretation__SupertypesAssignment_3_1" 28489 // $ANTLR start "rule__ClassDefinition__SuperclassesAssignment_3_2_1"
17029 // InternalSolverLanguage.g:5548:1: rule__ClassInterpretation__SupertypesAssignment_3_1 : ( ruleModelSymbol ) ; 28490 // InternalSolverLanguage.g:8722:1: rule__ClassDefinition__SuperclassesAssignment_3_2_1 : ( ( ruleQualifiedName ) ) ;
17030 public final void rule__ClassInterpretation__SupertypesAssignment_3_1() throws RecognitionException { 28491 public final void rule__ClassDefinition__SuperclassesAssignment_3_2_1() throws RecognitionException {
17031 28492
17032 int stackSize = keepStackSize(); 28493 int stackSize = keepStackSize();
17033 28494
17034 try { 28495 try {
17035 // InternalSolverLanguage.g:5552:1: ( ( ruleModelSymbol ) ) 28496 // InternalSolverLanguage.g:8726:1: ( ( ( ruleQualifiedName ) ) )
17036 // InternalSolverLanguage.g:5553:2: ( ruleModelSymbol ) 28497 // InternalSolverLanguage.g:8727:2: ( ( ruleQualifiedName ) )
28498 {
28499 // InternalSolverLanguage.g:8727:2: ( ( ruleQualifiedName ) )
28500 // InternalSolverLanguage.g:8728:3: ( ruleQualifiedName )
17037 { 28501 {
17038 // InternalSolverLanguage.g:5553:2: ( ruleModelSymbol ) 28502 if ( state.backtracking==0 ) {
17039 // InternalSolverLanguage.g:5554:3: ruleModelSymbol 28503 before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0());
28504 }
28505 // InternalSolverLanguage.g:8729:3: ( ruleQualifiedName )
28506 // InternalSolverLanguage.g:8730:4: ruleQualifiedName
17040 { 28507 {
17041 before(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0()); 28508 if ( state.backtracking==0 ) {
28509 before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1());
28510 }
17042 pushFollow(FOLLOW_2); 28511 pushFollow(FOLLOW_2);
17043 ruleModelSymbol(); 28512 ruleQualifiedName();
17044 28513
17045 state._fsp--; 28514 state._fsp--;
28515 if (state.failed) return ;
28516 if ( state.backtracking==0 ) {
28517 after(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1());
28518 }
17046 28519
17047 after(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0()); 28520 }
28521
28522 if ( state.backtracking==0 ) {
28523 after(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0());
28524 }
17048 28525
17049 } 28526 }
17050 28527
@@ -17063,29 +28540,86 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17063 } 28540 }
17064 return ; 28541 return ;
17065 } 28542 }
17066 // $ANTLR end "rule__ClassInterpretation__SupertypesAssignment_3_1" 28543 // $ANTLR end "rule__ClassDefinition__SuperclassesAssignment_3_2_1"
17067 28544
17068 28545
17069 // $ANTLR start "rule__ClassInterpretation__FieltAssignment_5" 28546 // $ANTLR start "rule__ClassDefinition__MembersAssignment_5"
17070 // InternalSolverLanguage.g:5563:1: rule__ClassInterpretation__FieltAssignment_5 : ( ruleFieldRelationInterpretation ) ; 28547 // InternalSolverLanguage.g:8741:1: rule__ClassDefinition__MembersAssignment_5 : ( ruleMemberDefinition ) ;
17071 public final void rule__ClassInterpretation__FieltAssignment_5() throws RecognitionException { 28548 public final void rule__ClassDefinition__MembersAssignment_5() throws RecognitionException {
17072 28549
17073 int stackSize = keepStackSize(); 28550 int stackSize = keepStackSize();
17074 28551
17075 try { 28552 try {
17076 // InternalSolverLanguage.g:5567:1: ( ( ruleFieldRelationInterpretation ) ) 28553 // InternalSolverLanguage.g:8745:1: ( ( ruleMemberDefinition ) )
17077 // InternalSolverLanguage.g:5568:2: ( ruleFieldRelationInterpretation ) 28554 // InternalSolverLanguage.g:8746:2: ( ruleMemberDefinition )
17078 { 28555 {
17079 // InternalSolverLanguage.g:5568:2: ( ruleFieldRelationInterpretation ) 28556 // InternalSolverLanguage.g:8746:2: ( ruleMemberDefinition )
17080 // InternalSolverLanguage.g:5569:3: ruleFieldRelationInterpretation 28557 // InternalSolverLanguage.g:8747:3: ruleMemberDefinition
17081 { 28558 {
17082 before(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0()); 28559 if ( state.backtracking==0 ) {
28560 before(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0());
28561 }
17083 pushFollow(FOLLOW_2); 28562 pushFollow(FOLLOW_2);
17084 ruleFieldRelationInterpretation(); 28563 ruleMemberDefinition();
17085 28564
17086 state._fsp--; 28565 state._fsp--;
28566 if (state.failed) return ;
28567 if ( state.backtracking==0 ) {
28568 after(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0());
28569 }
28570
28571 }
17087 28572
17088 after(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0()); 28573
28574 }
28575
28576 }
28577 catch (RecognitionException re) {
28578 reportError(re);
28579 recover(input,re);
28580 }
28581 finally {
28582
28583 restoreStackSize(stackSize);
28584
28585 }
28586 return ;
28587 }
28588 // $ANTLR end "rule__ClassDefinition__MembersAssignment_5"
28589
28590
28591 // $ANTLR start "rule__MemberDefinition__ContainmentAssignment_0"
28592 // InternalSolverLanguage.g:8756:1: rule__MemberDefinition__ContainmentAssignment_0 : ( ( 'contains' ) ) ;
28593 public final void rule__MemberDefinition__ContainmentAssignment_0() throws RecognitionException {
28594
28595 int stackSize = keepStackSize();
28596
28597 try {
28598 // InternalSolverLanguage.g:8760:1: ( ( ( 'contains' ) ) )
28599 // InternalSolverLanguage.g:8761:2: ( ( 'contains' ) )
28600 {
28601 // InternalSolverLanguage.g:8761:2: ( ( 'contains' ) )
28602 // InternalSolverLanguage.g:8762:3: ( 'contains' )
28603 {
28604 if ( state.backtracking==0 ) {
28605 before(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0());
28606 }
28607 // InternalSolverLanguage.g:8763:3: ( 'contains' )
28608 // InternalSolverLanguage.g:8764:4: 'contains'
28609 {
28610 if ( state.backtracking==0 ) {
28611 before(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0());
28612 }
28613 match(input,74,FOLLOW_2); if (state.failed) return ;
28614 if ( state.backtracking==0 ) {
28615 after(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0());
28616 }
28617
28618 }
28619
28620 if ( state.backtracking==0 ) {
28621 after(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0());
28622 }
17089 28623
17090 } 28624 }
17091 28625
@@ -17104,29 +28638,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17104 } 28638 }
17105 return ; 28639 return ;
17106 } 28640 }
17107 // $ANTLR end "rule__ClassInterpretation__FieltAssignment_5" 28641 // $ANTLR end "rule__MemberDefinition__ContainmentAssignment_0"
17108 28642
17109 28643
17110 // $ANTLR start "rule__EnumInterpretation__SymbolAssignment_1" 28644 // $ANTLR start "rule__MemberDefinition__TypeAssignment_1"
17111 // InternalSolverLanguage.g:5578:1: rule__EnumInterpretation__SymbolAssignment_1 : ( ruleModelSymbol ) ; 28645 // InternalSolverLanguage.g:8775:1: rule__MemberDefinition__TypeAssignment_1 : ( ( ruleQualifiedName ) ) ;
17112 public final void rule__EnumInterpretation__SymbolAssignment_1() throws RecognitionException { 28646 public final void rule__MemberDefinition__TypeAssignment_1() throws RecognitionException {
17113 28647
17114 int stackSize = keepStackSize(); 28648 int stackSize = keepStackSize();
17115 28649
17116 try { 28650 try {
17117 // InternalSolverLanguage.g:5582:1: ( ( ruleModelSymbol ) ) 28651 // InternalSolverLanguage.g:8779:1: ( ( ( ruleQualifiedName ) ) )
17118 // InternalSolverLanguage.g:5583:2: ( ruleModelSymbol ) 28652 // InternalSolverLanguage.g:8780:2: ( ( ruleQualifiedName ) )
17119 { 28653 {
17120 // InternalSolverLanguage.g:5583:2: ( ruleModelSymbol ) 28654 // InternalSolverLanguage.g:8780:2: ( ( ruleQualifiedName ) )
17121 // InternalSolverLanguage.g:5584:3: ruleModelSymbol 28655 // InternalSolverLanguage.g:8781:3: ( ruleQualifiedName )
17122 { 28656 {
17123 before(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); 28657 if ( state.backtracking==0 ) {
28658 before(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0());
28659 }
28660 // InternalSolverLanguage.g:8782:3: ( ruleQualifiedName )
28661 // InternalSolverLanguage.g:8783:4: ruleQualifiedName
28662 {
28663 if ( state.backtracking==0 ) {
28664 before(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1());
28665 }
17124 pushFollow(FOLLOW_2); 28666 pushFollow(FOLLOW_2);
17125 ruleModelSymbol(); 28667 ruleQualifiedName();
17126 28668
17127 state._fsp--; 28669 state._fsp--;
28670 if (state.failed) return ;
28671 if ( state.backtracking==0 ) {
28672 after(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1());
28673 }
17128 28674
17129 after(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); 28675 }
28676
28677 if ( state.backtracking==0 ) {
28678 after(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0());
28679 }
17130 28680
17131 } 28681 }
17132 28682
@@ -17145,29 +28695,74 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17145 } 28695 }
17146 return ; 28696 return ;
17147 } 28697 }
17148 // $ANTLR end "rule__EnumInterpretation__SymbolAssignment_1" 28698 // $ANTLR end "rule__MemberDefinition__TypeAssignment_1"
17149 28699
17150 28700
17151 // $ANTLR start "rule__EnumInterpretation__ObjectsAssignment_3" 28701 // $ANTLR start "rule__MemberDefinition__MultiplicityAssignment_2"
17152 // InternalSolverLanguage.g:5593:1: rule__EnumInterpretation__ObjectsAssignment_3 : ( ruleNamedObject ) ; 28702 // InternalSolverLanguage.g:8794:1: rule__MemberDefinition__MultiplicityAssignment_2 : ( ruleMultiplicity ) ;
17153 public final void rule__EnumInterpretation__ObjectsAssignment_3() throws RecognitionException { 28703 public final void rule__MemberDefinition__MultiplicityAssignment_2() throws RecognitionException {
17154 28704
17155 int stackSize = keepStackSize(); 28705 int stackSize = keepStackSize();
17156 28706
17157 try { 28707 try {
17158 // InternalSolverLanguage.g:5597:1: ( ( ruleNamedObject ) ) 28708 // InternalSolverLanguage.g:8798:1: ( ( ruleMultiplicity ) )
17159 // InternalSolverLanguage.g:5598:2: ( ruleNamedObject ) 28709 // InternalSolverLanguage.g:8799:2: ( ruleMultiplicity )
17160 { 28710 {
17161 // InternalSolverLanguage.g:5598:2: ( ruleNamedObject ) 28711 // InternalSolverLanguage.g:8799:2: ( ruleMultiplicity )
17162 // InternalSolverLanguage.g:5599:3: ruleNamedObject 28712 // InternalSolverLanguage.g:8800:3: ruleMultiplicity
17163 { 28713 {
17164 before(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0()); 28714 if ( state.backtracking==0 ) {
28715 before(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0());
28716 }
17165 pushFollow(FOLLOW_2); 28717 pushFollow(FOLLOW_2);
17166 ruleNamedObject(); 28718 ruleMultiplicity();
17167 28719
17168 state._fsp--; 28720 state._fsp--;
28721 if (state.failed) return ;
28722 if ( state.backtracking==0 ) {
28723 after(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0());
28724 }
28725
28726 }
28727
28728
28729 }
28730
28731 }
28732 catch (RecognitionException re) {
28733 reportError(re);
28734 recover(input,re);
28735 }
28736 finally {
28737
28738 restoreStackSize(stackSize);
28739
28740 }
28741 return ;
28742 }
28743 // $ANTLR end "rule__MemberDefinition__MultiplicityAssignment_2"
17169 28744
17170 after(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0()); 28745
28746 // $ANTLR start "rule__MemberDefinition__NameAssignment_3"
28747 // InternalSolverLanguage.g:8809:1: rule__MemberDefinition__NameAssignment_3 : ( RULE_ID ) ;
28748 public final void rule__MemberDefinition__NameAssignment_3() throws RecognitionException {
28749
28750 int stackSize = keepStackSize();
28751
28752 try {
28753 // InternalSolverLanguage.g:8813:1: ( ( RULE_ID ) )
28754 // InternalSolverLanguage.g:8814:2: ( RULE_ID )
28755 {
28756 // InternalSolverLanguage.g:8814:2: ( RULE_ID )
28757 // InternalSolverLanguage.g:8815:3: RULE_ID
28758 {
28759 if ( state.backtracking==0 ) {
28760 before(grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0());
28761 }
28762 match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
28763 if ( state.backtracking==0 ) {
28764 after(grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0());
28765 }
17171 28766
17172 } 28767 }
17173 28768
@@ -17186,33 +28781,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17186 } 28781 }
17187 return ; 28782 return ;
17188 } 28783 }
17189 // $ANTLR end "rule__EnumInterpretation__ObjectsAssignment_3" 28784 // $ANTLR end "rule__MemberDefinition__NameAssignment_3"
17190 28785
17191 28786
17192 // $ANTLR start "rule__FieldRelationInterpretation__ContainmentAssignment_0" 28787 // $ANTLR start "rule__MemberDefinition__OppositeAssignment_4_1"
17193 // InternalSolverLanguage.g:5608:1: rule__FieldRelationInterpretation__ContainmentAssignment_0 : ( ( 'containment' ) ) ; 28788 // InternalSolverLanguage.g:8824:1: rule__MemberDefinition__OppositeAssignment_4_1 : ( ( ruleQualifiedName ) ) ;
17194 public final void rule__FieldRelationInterpretation__ContainmentAssignment_0() throws RecognitionException { 28789 public final void rule__MemberDefinition__OppositeAssignment_4_1() throws RecognitionException {
17195 28790
17196 int stackSize = keepStackSize(); 28791 int stackSize = keepStackSize();
17197 28792
17198 try { 28793 try {
17199 // InternalSolverLanguage.g:5612:1: ( ( ( 'containment' ) ) ) 28794 // InternalSolverLanguage.g:8828:1: ( ( ( ruleQualifiedName ) ) )
17200 // InternalSolverLanguage.g:5613:2: ( ( 'containment' ) ) 28795 // InternalSolverLanguage.g:8829:2: ( ( ruleQualifiedName ) )
17201 { 28796 {
17202 // InternalSolverLanguage.g:5613:2: ( ( 'containment' ) ) 28797 // InternalSolverLanguage.g:8829:2: ( ( ruleQualifiedName ) )
17203 // InternalSolverLanguage.g:5614:3: ( 'containment' ) 28798 // InternalSolverLanguage.g:8830:3: ( ruleQualifiedName )
17204 { 28799 {
17205 before(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); 28800 if ( state.backtracking==0 ) {
17206 // InternalSolverLanguage.g:5615:3: ( 'containment' ) 28801 before(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0());
17207 // InternalSolverLanguage.g:5616:4: 'containment' 28802 }
28803 // InternalSolverLanguage.g:8831:3: ( ruleQualifiedName )
28804 // InternalSolverLanguage.g:8832:4: ruleQualifiedName
17208 { 28805 {
17209 before(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); 28806 if ( state.backtracking==0 ) {
17210 match(input,41,FOLLOW_2); 28807 before(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1());
17211 after(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); 28808 }
28809 pushFollow(FOLLOW_2);
28810 ruleQualifiedName();
17212 28811
28812 state._fsp--;
28813 if (state.failed) return ;
28814 if ( state.backtracking==0 ) {
28815 after(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1());
17213 } 28816 }
17214 28817
17215 after(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); 28818 }
28819
28820 if ( state.backtracking==0 ) {
28821 after(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0());
28822 }
17216 28823
17217 } 28824 }
17218 28825
@@ -17231,29 +28838,74 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17231 } 28838 }
17232 return ; 28839 return ;
17233 } 28840 }
17234 // $ANTLR end "rule__FieldRelationInterpretation__ContainmentAssignment_0" 28841 // $ANTLR end "rule__MemberDefinition__OppositeAssignment_4_1"
17235 28842
17236 28843
17237 // $ANTLR start "rule__FieldRelationInterpretation__SymbolAssignment_1" 28844 // $ANTLR start "rule__ExactMultiplicity__MultiplicityAssignment_1"
17238 // InternalSolverLanguage.g:5627:1: rule__FieldRelationInterpretation__SymbolAssignment_1 : ( ruleModelSymbol ) ; 28845 // InternalSolverLanguage.g:8843:1: rule__ExactMultiplicity__MultiplicityAssignment_1 : ( ruleUpperMultiplicty ) ;
17239 public final void rule__FieldRelationInterpretation__SymbolAssignment_1() throws RecognitionException { 28846 public final void rule__ExactMultiplicity__MultiplicityAssignment_1() throws RecognitionException {
17240 28847
17241 int stackSize = keepStackSize(); 28848 int stackSize = keepStackSize();
17242 28849
17243 try { 28850 try {
17244 // InternalSolverLanguage.g:5631:1: ( ( ruleModelSymbol ) ) 28851 // InternalSolverLanguage.g:8847:1: ( ( ruleUpperMultiplicty ) )
17245 // InternalSolverLanguage.g:5632:2: ( ruleModelSymbol ) 28852 // InternalSolverLanguage.g:8848:2: ( ruleUpperMultiplicty )
17246 { 28853 {
17247 // InternalSolverLanguage.g:5632:2: ( ruleModelSymbol ) 28854 // InternalSolverLanguage.g:8848:2: ( ruleUpperMultiplicty )
17248 // InternalSolverLanguage.g:5633:3: ruleModelSymbol 28855 // InternalSolverLanguage.g:8849:3: ruleUpperMultiplicty
17249 { 28856 {
17250 before(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); 28857 if ( state.backtracking==0 ) {
28858 before(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0());
28859 }
17251 pushFollow(FOLLOW_2); 28860 pushFollow(FOLLOW_2);
17252 ruleModelSymbol(); 28861 ruleUpperMultiplicty();
17253 28862
17254 state._fsp--; 28863 state._fsp--;
28864 if (state.failed) return ;
28865 if ( state.backtracking==0 ) {
28866 after(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0());
28867 }
28868
28869 }
28870
28871
28872 }
28873
28874 }
28875 catch (RecognitionException re) {
28876 reportError(re);
28877 recover(input,re);
28878 }
28879 finally {
28880
28881 restoreStackSize(stackSize);
28882
28883 }
28884 return ;
28885 }
28886 // $ANTLR end "rule__ExactMultiplicity__MultiplicityAssignment_1"
28887
17255 28888
17256 after(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); 28889 // $ANTLR start "rule__BoundedMultiplicity__LowerBoundAssignment_1"
28890 // InternalSolverLanguage.g:8858:1: rule__BoundedMultiplicity__LowerBoundAssignment_1 : ( RULE_INT ) ;
28891 public final void rule__BoundedMultiplicity__LowerBoundAssignment_1() throws RecognitionException {
28892
28893 int stackSize = keepStackSize();
28894
28895 try {
28896 // InternalSolverLanguage.g:8862:1: ( ( RULE_INT ) )
28897 // InternalSolverLanguage.g:8863:2: ( RULE_INT )
28898 {
28899 // InternalSolverLanguage.g:8863:2: ( RULE_INT )
28900 // InternalSolverLanguage.g:8864:3: RULE_INT
28901 {
28902 if ( state.backtracking==0 ) {
28903 before(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0());
28904 }
28905 match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
28906 if ( state.backtracking==0 ) {
28907 after(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0());
28908 }
17257 28909
17258 } 28910 }
17259 28911
@@ -17272,29 +28924,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17272 } 28924 }
17273 return ; 28925 return ;
17274 } 28926 }
17275 // $ANTLR end "rule__FieldRelationInterpretation__SymbolAssignment_1" 28927 // $ANTLR end "rule__BoundedMultiplicity__LowerBoundAssignment_1"
17276 28928
17277 28929
17278 // $ANTLR start "rule__FieldRelationInterpretation__MultiplicityAssignment_3" 28930 // $ANTLR start "rule__BoundedMultiplicity__UpperBoundAssignment_3"
17279 // InternalSolverLanguage.g:5642:1: rule__FieldRelationInterpretation__MultiplicityAssignment_3 : ( ruleMultiplicityDefinition ) ; 28931 // InternalSolverLanguage.g:8873:1: rule__BoundedMultiplicity__UpperBoundAssignment_3 : ( ruleUpperMultiplicty ) ;
17280 public final void rule__FieldRelationInterpretation__MultiplicityAssignment_3() throws RecognitionException { 28932 public final void rule__BoundedMultiplicity__UpperBoundAssignment_3() throws RecognitionException {
17281 28933
17282 int stackSize = keepStackSize(); 28934 int stackSize = keepStackSize();
17283 28935
17284 try { 28936 try {
17285 // InternalSolverLanguage.g:5646:1: ( ( ruleMultiplicityDefinition ) ) 28937 // InternalSolverLanguage.g:8877:1: ( ( ruleUpperMultiplicty ) )
17286 // InternalSolverLanguage.g:5647:2: ( ruleMultiplicityDefinition ) 28938 // InternalSolverLanguage.g:8878:2: ( ruleUpperMultiplicty )
17287 { 28939 {
17288 // InternalSolverLanguage.g:5647:2: ( ruleMultiplicityDefinition ) 28940 // InternalSolverLanguage.g:8878:2: ( ruleUpperMultiplicty )
17289 // InternalSolverLanguage.g:5648:3: ruleMultiplicityDefinition 28941 // InternalSolverLanguage.g:8879:3: ruleUpperMultiplicty
17290 { 28942 {
17291 before(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0()); 28943 if ( state.backtracking==0 ) {
28944 before(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0());
28945 }
17292 pushFollow(FOLLOW_2); 28946 pushFollow(FOLLOW_2);
17293 ruleMultiplicityDefinition(); 28947 ruleUpperMultiplicty();
17294 28948
17295 state._fsp--; 28949 state._fsp--;
17296 28950 if (state.failed) return ;
17297 after(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0()); 28951 if ( state.backtracking==0 ) {
28952 after(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0());
28953 }
17298 28954
17299 } 28955 }
17300 28956
@@ -17313,29 +28969,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17313 } 28969 }
17314 return ; 28970 return ;
17315 } 28971 }
17316 // $ANTLR end "rule__FieldRelationInterpretation__MultiplicityAssignment_3" 28972 // $ANTLR end "rule__BoundedMultiplicity__UpperBoundAssignment_3"
17317 28973
17318 28974
17319 // $ANTLR start "rule__FieldRelationInterpretation__TargetAssignment_4" 28975 // $ANTLR start "rule__ExactScopeDefinition__TypeAssignment_1"
17320 // InternalSolverLanguage.g:5657:1: rule__FieldRelationInterpretation__TargetAssignment_4 : ( ruleSymbol ) ; 28976 // InternalSolverLanguage.g:8888:1: rule__ExactScopeDefinition__TypeAssignment_1 : ( ( ruleQualifiedName ) ) ;
17321 public final void rule__FieldRelationInterpretation__TargetAssignment_4() throws RecognitionException { 28977 public final void rule__ExactScopeDefinition__TypeAssignment_1() throws RecognitionException {
17322 28978
17323 int stackSize = keepStackSize(); 28979 int stackSize = keepStackSize();
17324 28980
17325 try { 28981 try {
17326 // InternalSolverLanguage.g:5661:1: ( ( ruleSymbol ) ) 28982 // InternalSolverLanguage.g:8892:1: ( ( ( ruleQualifiedName ) ) )
17327 // InternalSolverLanguage.g:5662:2: ( ruleSymbol ) 28983 // InternalSolverLanguage.g:8893:2: ( ( ruleQualifiedName ) )
17328 { 28984 {
17329 // InternalSolverLanguage.g:5662:2: ( ruleSymbol ) 28985 // InternalSolverLanguage.g:8893:2: ( ( ruleQualifiedName ) )
17330 // InternalSolverLanguage.g:5663:3: ruleSymbol 28986 // InternalSolverLanguage.g:8894:3: ( ruleQualifiedName )
17331 { 28987 {
17332 before(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0()); 28988 if ( state.backtracking==0 ) {
28989 before(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0());
28990 }
28991 // InternalSolverLanguage.g:8895:3: ( ruleQualifiedName )
28992 // InternalSolverLanguage.g:8896:4: ruleQualifiedName
28993 {
28994 if ( state.backtracking==0 ) {
28995 before(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1());
28996 }
17333 pushFollow(FOLLOW_2); 28997 pushFollow(FOLLOW_2);
17334 ruleSymbol(); 28998 ruleQualifiedName();
17335 28999
17336 state._fsp--; 29000 state._fsp--;
29001 if (state.failed) return ;
29002 if ( state.backtracking==0 ) {
29003 after(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1());
29004 }
17337 29005
17338 after(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0()); 29006 }
29007
29008 if ( state.backtracking==0 ) {
29009 after(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0());
29010 }
17339 29011
17340 } 29012 }
17341 29013
@@ -17354,33 +29026,70 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17354 } 29026 }
17355 return ; 29027 return ;
17356 } 29028 }
17357 // $ANTLR end "rule__FieldRelationInterpretation__TargetAssignment_4" 29029 // $ANTLR end "rule__ExactScopeDefinition__TypeAssignment_1"
17358 29030
17359 29031
17360 // $ANTLR start "rule__GlobalRelationInterpretation__ContainmentAssignment_0" 29032 // $ANTLR start "rule__ExactScopeDefinition__ExactScopeAssignment_3"
17361 // InternalSolverLanguage.g:5672:1: rule__GlobalRelationInterpretation__ContainmentAssignment_0 : ( ( 'containment' ) ) ; 29033 // InternalSolverLanguage.g:8907:1: rule__ExactScopeDefinition__ExactScopeAssignment_3 : ( RULE_INT ) ;
17362 public final void rule__GlobalRelationInterpretation__ContainmentAssignment_0() throws RecognitionException { 29034 public final void rule__ExactScopeDefinition__ExactScopeAssignment_3() throws RecognitionException {
17363 29035
17364 int stackSize = keepStackSize(); 29036 int stackSize = keepStackSize();
17365 29037
17366 try { 29038 try {
17367 // InternalSolverLanguage.g:5676:1: ( ( ( 'containment' ) ) ) 29039 // InternalSolverLanguage.g:8911:1: ( ( RULE_INT ) )
17368 // InternalSolverLanguage.g:5677:2: ( ( 'containment' ) ) 29040 // InternalSolverLanguage.g:8912:2: ( RULE_INT )
17369 { 29041 {
17370 // InternalSolverLanguage.g:5677:2: ( ( 'containment' ) ) 29042 // InternalSolverLanguage.g:8912:2: ( RULE_INT )
17371 // InternalSolverLanguage.g:5678:3: ( 'containment' ) 29043 // InternalSolverLanguage.g:8913:3: RULE_INT
17372 { 29044 {
17373 before(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); 29045 if ( state.backtracking==0 ) {
17374 // InternalSolverLanguage.g:5679:3: ( 'containment' ) 29046 before(grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0());
17375 // InternalSolverLanguage.g:5680:4: 'containment' 29047 }
17376 { 29048 match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
17377 before(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); 29049 if ( state.backtracking==0 ) {
17378 match(input,41,FOLLOW_2); 29050 after(grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0());
17379 after(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); 29051 }
29052
29053 }
29054
17380 29055
17381 } 29056 }
17382 29057
17383 after(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); 29058 }
29059 catch (RecognitionException re) {
29060 reportError(re);
29061 recover(input,re);
29062 }
29063 finally {
29064
29065 restoreStackSize(stackSize);
29066
29067 }
29068 return ;
29069 }
29070 // $ANTLR end "rule__ExactScopeDefinition__ExactScopeAssignment_3"
29071
29072
29073 // $ANTLR start "rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0"
29074 // InternalSolverLanguage.g:8922:1: rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 : ( RULE_INT ) ;
29075 public final void rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0() throws RecognitionException {
29076
29077 int stackSize = keepStackSize();
29078
29079 try {
29080 // InternalSolverLanguage.g:8926:1: ( ( RULE_INT ) )
29081 // InternalSolverLanguage.g:8927:2: ( RULE_INT )
29082 {
29083 // InternalSolverLanguage.g:8927:2: ( RULE_INT )
29084 // InternalSolverLanguage.g:8928:3: RULE_INT
29085 {
29086 if ( state.backtracking==0 ) {
29087 before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0());
29088 }
29089 match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
29090 if ( state.backtracking==0 ) {
29091 after(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0());
29092 }
17384 29093
17385 } 29094 }
17386 29095
@@ -17399,29 +29108,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17399 } 29108 }
17400 return ; 29109 return ;
17401 } 29110 }
17402 // $ANTLR end "rule__GlobalRelationInterpretation__ContainmentAssignment_0" 29111 // $ANTLR end "rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0"
17403 29112
17404 29113
17405 // $ANTLR start "rule__GlobalRelationInterpretation__SymbolAssignment_2" 29114 // $ANTLR start "rule__BoundedScopeDefinition__TypeAssignment_1_0_1"
17406 // InternalSolverLanguage.g:5691:1: rule__GlobalRelationInterpretation__SymbolAssignment_2 : ( ruleModelSymbol ) ; 29115 // InternalSolverLanguage.g:8937:1: rule__BoundedScopeDefinition__TypeAssignment_1_0_1 : ( ( ruleQualifiedName ) ) ;
17407 public final void rule__GlobalRelationInterpretation__SymbolAssignment_2() throws RecognitionException { 29116 public final void rule__BoundedScopeDefinition__TypeAssignment_1_0_1() throws RecognitionException {
17408 29117
17409 int stackSize = keepStackSize(); 29118 int stackSize = keepStackSize();
17410 29119
17411 try { 29120 try {
17412 // InternalSolverLanguage.g:5695:1: ( ( ruleModelSymbol ) ) 29121 // InternalSolverLanguage.g:8941:1: ( ( ( ruleQualifiedName ) ) )
17413 // InternalSolverLanguage.g:5696:2: ( ruleModelSymbol ) 29122 // InternalSolverLanguage.g:8942:2: ( ( ruleQualifiedName ) )
17414 { 29123 {
17415 // InternalSolverLanguage.g:5696:2: ( ruleModelSymbol ) 29124 // InternalSolverLanguage.g:8942:2: ( ( ruleQualifiedName ) )
17416 // InternalSolverLanguage.g:5697:3: ruleModelSymbol 29125 // InternalSolverLanguage.g:8943:3: ( ruleQualifiedName )
17417 { 29126 {
17418 before(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); 29127 if ( state.backtracking==0 ) {
29128 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0());
29129 }
29130 // InternalSolverLanguage.g:8944:3: ( ruleQualifiedName )
29131 // InternalSolverLanguage.g:8945:4: ruleQualifiedName
29132 {
29133 if ( state.backtracking==0 ) {
29134 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1());
29135 }
17419 pushFollow(FOLLOW_2); 29136 pushFollow(FOLLOW_2);
17420 ruleModelSymbol(); 29137 ruleQualifiedName();
17421 29138
17422 state._fsp--; 29139 state._fsp--;
29140 if (state.failed) return ;
29141 if ( state.backtracking==0 ) {
29142 after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1());
29143 }
17423 29144
17424 after(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); 29145 }
29146
29147 if ( state.backtracking==0 ) {
29148 after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0());
29149 }
17425 29150
17426 } 29151 }
17427 29152
@@ -17440,29 +29165,70 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17440 } 29165 }
17441 return ; 29166 return ;
17442 } 29167 }
17443 // $ANTLR end "rule__GlobalRelationInterpretation__SymbolAssignment_2" 29168 // $ANTLR end "rule__BoundedScopeDefinition__TypeAssignment_1_0_1"
17444 29169
17445 29170
17446 // $ANTLR start "rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4" 29171 // $ANTLR start "rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3"
17447 // InternalSolverLanguage.g:5706:1: rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 : ( ruleMultiplicityDefinition ) ; 29172 // InternalSolverLanguage.g:8956:1: rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 : ( RULE_INT ) ;
17448 public final void rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4() throws RecognitionException { 29173 public final void rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3() throws RecognitionException {
17449 29174
17450 int stackSize = keepStackSize(); 29175 int stackSize = keepStackSize();
17451 29176
17452 try { 29177 try {
17453 // InternalSolverLanguage.g:5710:1: ( ( ruleMultiplicityDefinition ) ) 29178 // InternalSolverLanguage.g:8960:1: ( ( RULE_INT ) )
17454 // InternalSolverLanguage.g:5711:2: ( ruleMultiplicityDefinition ) 29179 // InternalSolverLanguage.g:8961:2: ( RULE_INT )
17455 { 29180 {
17456 // InternalSolverLanguage.g:5711:2: ( ruleMultiplicityDefinition ) 29181 // InternalSolverLanguage.g:8961:2: ( RULE_INT )
17457 // InternalSolverLanguage.g:5712:3: ruleMultiplicityDefinition 29182 // InternalSolverLanguage.g:8962:3: RULE_INT
17458 { 29183 {
17459 before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0()); 29184 if ( state.backtracking==0 ) {
17460 pushFollow(FOLLOW_2); 29185 before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0());
17461 ruleMultiplicityDefinition(); 29186 }
29187 match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
29188 if ( state.backtracking==0 ) {
29189 after(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0());
29190 }
29191
29192 }
17462 29193
17463 state._fsp--;
17464 29194
17465 after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0()); 29195 }
29196
29197 }
29198 catch (RecognitionException re) {
29199 reportError(re);
29200 recover(input,re);
29201 }
29202 finally {
29203
29204 restoreStackSize(stackSize);
29205
29206 }
29207 return ;
29208 }
29209 // $ANTLR end "rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3"
29210
29211
29212 // $ANTLR start "rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0"
29213 // InternalSolverLanguage.g:8971:1: rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 : ( RULE_INT ) ;
29214 public final void rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0() throws RecognitionException {
29215
29216 int stackSize = keepStackSize();
29217
29218 try {
29219 // InternalSolverLanguage.g:8975:1: ( ( RULE_INT ) )
29220 // InternalSolverLanguage.g:8976:2: ( RULE_INT )
29221 {
29222 // InternalSolverLanguage.g:8976:2: ( RULE_INT )
29223 // InternalSolverLanguage.g:8977:3: RULE_INT
29224 {
29225 if ( state.backtracking==0 ) {
29226 before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0());
29227 }
29228 match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
29229 if ( state.backtracking==0 ) {
29230 after(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0());
29231 }
17466 29232
17467 } 29233 }
17468 29234
@@ -17481,29 +29247,127 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17481 } 29247 }
17482 return ; 29248 return ;
17483 } 29249 }
17484 // $ANTLR end "rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4" 29250 // $ANTLR end "rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0"
17485 29251
17486 29252
17487 // $ANTLR start "rule__GlobalRelationInterpretation__SourceAssignment_5" 29253 // $ANTLR start "rule__BoundedScopeDefinition__TypeAssignment_1_1_2"
17488 // InternalSolverLanguage.g:5721:1: rule__GlobalRelationInterpretation__SourceAssignment_5 : ( ruleSymbol ) ; 29254 // InternalSolverLanguage.g:8986:1: rule__BoundedScopeDefinition__TypeAssignment_1_1_2 : ( ( ruleQualifiedName ) ) ;
17489 public final void rule__GlobalRelationInterpretation__SourceAssignment_5() throws RecognitionException { 29255 public final void rule__BoundedScopeDefinition__TypeAssignment_1_1_2() throws RecognitionException {
17490 29256
17491 int stackSize = keepStackSize(); 29257 int stackSize = keepStackSize();
17492 29258
17493 try { 29259 try {
17494 // InternalSolverLanguage.g:5725:1: ( ( ruleSymbol ) ) 29260 // InternalSolverLanguage.g:8990:1: ( ( ( ruleQualifiedName ) ) )
17495 // InternalSolverLanguage.g:5726:2: ( ruleSymbol ) 29261 // InternalSolverLanguage.g:8991:2: ( ( ruleQualifiedName ) )
29262 {
29263 // InternalSolverLanguage.g:8991:2: ( ( ruleQualifiedName ) )
29264 // InternalSolverLanguage.g:8992:3: ( ruleQualifiedName )
17496 { 29265 {
17497 // InternalSolverLanguage.g:5726:2: ( ruleSymbol ) 29266 if ( state.backtracking==0 ) {
17498 // InternalSolverLanguage.g:5727:3: ruleSymbol 29267 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0());
29268 }
29269 // InternalSolverLanguage.g:8993:3: ( ruleQualifiedName )
29270 // InternalSolverLanguage.g:8994:4: ruleQualifiedName
17499 { 29271 {
17500 before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0()); 29272 if ( state.backtracking==0 ) {
29273 before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1());
29274 }
17501 pushFollow(FOLLOW_2); 29275 pushFollow(FOLLOW_2);
17502 ruleSymbol(); 29276 ruleQualifiedName();
17503 29277
17504 state._fsp--; 29278 state._fsp--;
29279 if (state.failed) return ;
29280 if ( state.backtracking==0 ) {
29281 after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1());
29282 }
29283
29284 }
29285
29286 if ( state.backtracking==0 ) {
29287 after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0());
29288 }
29289
29290 }
29291
29292
29293 }
29294
29295 }
29296 catch (RecognitionException re) {
29297 reportError(re);
29298 recover(input,re);
29299 }
29300 finally {
29301
29302 restoreStackSize(stackSize);
29303
29304 }
29305 return ;
29306 }
29307 // $ANTLR end "rule__BoundedScopeDefinition__TypeAssignment_1_1_2"
29308
29309
29310 // $ANTLR start "rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1"
29311 // InternalSolverLanguage.g:9005:1: rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 : ( RULE_INT ) ;
29312 public final void rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1() throws RecognitionException {
29313
29314 int stackSize = keepStackSize();
29315
29316 try {
29317 // InternalSolverLanguage.g:9009:1: ( ( RULE_INT ) )
29318 // InternalSolverLanguage.g:9010:2: ( RULE_INT )
29319 {
29320 // InternalSolverLanguage.g:9010:2: ( RULE_INT )
29321 // InternalSolverLanguage.g:9011:3: RULE_INT
29322 {
29323 if ( state.backtracking==0 ) {
29324 before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0());
29325 }
29326 match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
29327 if ( state.backtracking==0 ) {
29328 after(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0());
29329 }
29330
29331 }
29332
29333
29334 }
29335
29336 }
29337 catch (RecognitionException re) {
29338 reportError(re);
29339 recover(input,re);
29340 }
29341 finally {
29342
29343 restoreStackSize(stackSize);
29344
29345 }
29346 return ;
29347 }
29348 // $ANTLR end "rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1"
29349
17505 29350
17506 after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0()); 29351 // $ANTLR start "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0"
29352 // InternalSolverLanguage.g:9020:1: rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 : ( RULE_INT ) ;
29353 public final void rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0() throws RecognitionException {
29354
29355 int stackSize = keepStackSize();
29356
29357 try {
29358 // InternalSolverLanguage.g:9024:1: ( ( RULE_INT ) )
29359 // InternalSolverLanguage.g:9025:2: ( RULE_INT )
29360 {
29361 // InternalSolverLanguage.g:9025:2: ( RULE_INT )
29362 // InternalSolverLanguage.g:9026:3: RULE_INT
29363 {
29364 if ( state.backtracking==0 ) {
29365 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0());
29366 }
29367 match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
29368 if ( state.backtracking==0 ) {
29369 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0());
29370 }
17507 29371
17508 } 29372 }
17509 29373
@@ -17522,29 +29386,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17522 } 29386 }
17523 return ; 29387 return ;
17524 } 29388 }
17525 // $ANTLR end "rule__GlobalRelationInterpretation__SourceAssignment_5" 29389 // $ANTLR end "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0"
17526 29390
17527 29391
17528 // $ANTLR start "rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6" 29392 // $ANTLR start "rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2"
17529 // InternalSolverLanguage.g:5736:1: rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 : ( ruleMultiplicityDefinition ) ; 29393 // InternalSolverLanguage.g:9035:1: rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 : ( ( ruleQualifiedName ) ) ;
17530 public final void rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6() throws RecognitionException { 29394 public final void rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2() throws RecognitionException {
17531 29395
17532 int stackSize = keepStackSize(); 29396 int stackSize = keepStackSize();
17533 29397
17534 try { 29398 try {
17535 // InternalSolverLanguage.g:5740:1: ( ( ruleMultiplicityDefinition ) ) 29399 // InternalSolverLanguage.g:9039:1: ( ( ( ruleQualifiedName ) ) )
17536 // InternalSolverLanguage.g:5741:2: ( ruleMultiplicityDefinition ) 29400 // InternalSolverLanguage.g:9040:2: ( ( ruleQualifiedName ) )
17537 { 29401 {
17538 // InternalSolverLanguage.g:5741:2: ( ruleMultiplicityDefinition ) 29402 // InternalSolverLanguage.g:9040:2: ( ( ruleQualifiedName ) )
17539 // InternalSolverLanguage.g:5742:3: ruleMultiplicityDefinition 29403 // InternalSolverLanguage.g:9041:3: ( ruleQualifiedName )
17540 { 29404 {
17541 before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0()); 29405 if ( state.backtracking==0 ) {
29406 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0());
29407 }
29408 // InternalSolverLanguage.g:9042:3: ( ruleQualifiedName )
29409 // InternalSolverLanguage.g:9043:4: ruleQualifiedName
29410 {
29411 if ( state.backtracking==0 ) {
29412 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1());
29413 }
17542 pushFollow(FOLLOW_2); 29414 pushFollow(FOLLOW_2);
17543 ruleMultiplicityDefinition(); 29415 ruleQualifiedName();
17544 29416
17545 state._fsp--; 29417 state._fsp--;
29418 if (state.failed) return ;
29419 if ( state.backtracking==0 ) {
29420 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1());
29421 }
17546 29422
17547 after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0()); 29423 }
29424
29425 if ( state.backtracking==0 ) {
29426 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0());
29427 }
17548 29428
17549 } 29429 }
17550 29430
@@ -17563,29 +29443,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17563 } 29443 }
17564 return ; 29444 return ;
17565 } 29445 }
17566 // $ANTLR end "rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6" 29446 // $ANTLR end "rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2"
17567 29447
17568 29448
17569 // $ANTLR start "rule__GlobalRelationInterpretation__TargetAssignment_7" 29449 // $ANTLR start "rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0"
17570 // InternalSolverLanguage.g:5751:1: rule__GlobalRelationInterpretation__TargetAssignment_7 : ( ruleSymbol ) ; 29450 // InternalSolverLanguage.g:9054:1: rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 : ( ( ruleQualifiedName ) ) ;
17571 public final void rule__GlobalRelationInterpretation__TargetAssignment_7() throws RecognitionException { 29451 public final void rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0() throws RecognitionException {
17572 29452
17573 int stackSize = keepStackSize(); 29453 int stackSize = keepStackSize();
17574 29454
17575 try { 29455 try {
17576 // InternalSolverLanguage.g:5755:1: ( ( ruleSymbol ) ) 29456 // InternalSolverLanguage.g:9058:1: ( ( ( ruleQualifiedName ) ) )
17577 // InternalSolverLanguage.g:5756:2: ( ruleSymbol ) 29457 // InternalSolverLanguage.g:9059:2: ( ( ruleQualifiedName ) )
29458 {
29459 // InternalSolverLanguage.g:9059:2: ( ( ruleQualifiedName ) )
29460 // InternalSolverLanguage.g:9060:3: ( ruleQualifiedName )
17578 { 29461 {
17579 // InternalSolverLanguage.g:5756:2: ( ruleSymbol ) 29462 if ( state.backtracking==0 ) {
17580 // InternalSolverLanguage.g:5757:3: ruleSymbol 29463 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0());
29464 }
29465 // InternalSolverLanguage.g:9061:3: ( ruleQualifiedName )
29466 // InternalSolverLanguage.g:9062:4: ruleQualifiedName
17581 { 29467 {
17582 before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0()); 29468 if ( state.backtracking==0 ) {
29469 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1());
29470 }
17583 pushFollow(FOLLOW_2); 29471 pushFollow(FOLLOW_2);
17584 ruleSymbol(); 29472 ruleQualifiedName();
17585 29473
17586 state._fsp--; 29474 state._fsp--;
29475 if (state.failed) return ;
29476 if ( state.backtracking==0 ) {
29477 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1());
29478 }
29479
29480 }
17587 29481
17588 after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0()); 29482 if ( state.backtracking==0 ) {
29483 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0());
29484 }
17589 29485
17590 } 29486 }
17591 29487
@@ -17604,25 +29500,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17604 } 29500 }
17605 return ; 29501 return ;
17606 } 29502 }
17607 // $ANTLR end "rule__GlobalRelationInterpretation__TargetAssignment_7" 29503 // $ANTLR end "rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0"
17608 29504
17609 29505
17610 // $ANTLR start "rule__MultiplicityDefinition__LowerAssignment_0" 29506 // $ANTLR start "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2"
17611 // InternalSolverLanguage.g:5766:1: rule__MultiplicityDefinition__LowerAssignment_0 : ( RULE_INT ) ; 29507 // InternalSolverLanguage.g:9073:1: rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 : ( RULE_INT ) ;
17612 public final void rule__MultiplicityDefinition__LowerAssignment_0() throws RecognitionException { 29508 public final void rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2() throws RecognitionException {
17613 29509
17614 int stackSize = keepStackSize(); 29510 int stackSize = keepStackSize();
17615 29511
17616 try { 29512 try {
17617 // InternalSolverLanguage.g:5770:1: ( ( RULE_INT ) ) 29513 // InternalSolverLanguage.g:9077:1: ( ( RULE_INT ) )
17618 // InternalSolverLanguage.g:5771:2: ( RULE_INT ) 29514 // InternalSolverLanguage.g:9078:2: ( RULE_INT )
17619 { 29515 {
17620 // InternalSolverLanguage.g:5771:2: ( RULE_INT ) 29516 // InternalSolverLanguage.g:9078:2: ( RULE_INT )
17621 // InternalSolverLanguage.g:5772:3: RULE_INT 29517 // InternalSolverLanguage.g:9079:3: RULE_INT
17622 { 29518 {
17623 before(grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0()); 29519 if ( state.backtracking==0 ) {
17624 match(input,RULE_INT,FOLLOW_2); 29520 before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0());
17625 after(grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0()); 29521 }
29522 match(input,RULE_INT,FOLLOW_2); if (state.failed) return ;
29523 if ( state.backtracking==0 ) {
29524 after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0());
29525 }
17626 29526
17627 } 29527 }
17628 29528
@@ -17641,25 +29541,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17641 } 29541 }
17642 return ; 29542 return ;
17643 } 29543 }
17644 // $ANTLR end "rule__MultiplicityDefinition__LowerAssignment_0" 29544 // $ANTLR end "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2"
17645 29545
17646 29546
17647 // $ANTLR start "rule__MultiplicityDefinition__UpperAssignment_2_0" 29547 // $ANTLR start "rule__ObjectiveDefinition__KindAssignment_0"
17648 // InternalSolverLanguage.g:5781:1: rule__MultiplicityDefinition__UpperAssignment_2_0 : ( RULE_INT ) ; 29548 // InternalSolverLanguage.g:9088:1: rule__ObjectiveDefinition__KindAssignment_0 : ( ruleObjectiveKind ) ;
17649 public final void rule__MultiplicityDefinition__UpperAssignment_2_0() throws RecognitionException { 29549 public final void rule__ObjectiveDefinition__KindAssignment_0() throws RecognitionException {
17650 29550
17651 int stackSize = keepStackSize(); 29551 int stackSize = keepStackSize();
17652 29552
17653 try { 29553 try {
17654 // InternalSolverLanguage.g:5785:1: ( ( RULE_INT ) ) 29554 // InternalSolverLanguage.g:9092:1: ( ( ruleObjectiveKind ) )
17655 // InternalSolverLanguage.g:5786:2: ( RULE_INT ) 29555 // InternalSolverLanguage.g:9093:2: ( ruleObjectiveKind )
17656 { 29556 {
17657 // InternalSolverLanguage.g:5786:2: ( RULE_INT ) 29557 // InternalSolverLanguage.g:9093:2: ( ruleObjectiveKind )
17658 // InternalSolverLanguage.g:5787:3: RULE_INT 29558 // InternalSolverLanguage.g:9094:3: ruleObjectiveKind
17659 { 29559 {
17660 before(grammarAccess.getMultiplicityDefinitionAccess().getUpperINTTerminalRuleCall_2_0_0()); 29560 if ( state.backtracking==0 ) {
17661 match(input,RULE_INT,FOLLOW_2); 29561 before(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0());
17662 after(grammarAccess.getMultiplicityDefinitionAccess().getUpperINTTerminalRuleCall_2_0_0()); 29562 }
29563 pushFollow(FOLLOW_2);
29564 ruleObjectiveKind();
29565
29566 state._fsp--;
29567 if (state.failed) return ;
29568 if ( state.backtracking==0 ) {
29569 after(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0());
29570 }
17663 29571
17664 } 29572 }
17665 29573
@@ -17678,33 +29586,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17678 } 29586 }
17679 return ; 29587 return ;
17680 } 29588 }
17681 // $ANTLR end "rule__MultiplicityDefinition__UpperAssignment_2_0" 29589 // $ANTLR end "rule__ObjectiveDefinition__KindAssignment_0"
17682 29590
17683 29591
17684 // $ANTLR start "rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1" 29592 // $ANTLR start "rule__ObjectiveDefinition__ObjectiveAssignment_1"
17685 // InternalSolverLanguage.g:5796:1: rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 : ( ( '*' ) ) ; 29593 // InternalSolverLanguage.g:9103:1: rule__ObjectiveDefinition__ObjectiveAssignment_1 : ( ruleExpression ) ;
17686 public final void rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1() throws RecognitionException { 29594 public final void rule__ObjectiveDefinition__ObjectiveAssignment_1() throws RecognitionException {
17687 29595
17688 int stackSize = keepStackSize(); 29596 int stackSize = keepStackSize();
17689 29597
17690 try { 29598 try {
17691 // InternalSolverLanguage.g:5800:1: ( ( ( '*' ) ) ) 29599 // InternalSolverLanguage.g:9107:1: ( ( ruleExpression ) )
17692 // InternalSolverLanguage.g:5801:2: ( ( '*' ) ) 29600 // InternalSolverLanguage.g:9108:2: ( ruleExpression )
17693 { 29601 {
17694 // InternalSolverLanguage.g:5801:2: ( ( '*' ) ) 29602 // InternalSolverLanguage.g:9108:2: ( ruleExpression )
17695 // InternalSolverLanguage.g:5802:3: ( '*' ) 29603 // InternalSolverLanguage.g:9109:3: ruleExpression
17696 { 29604 {
17697 before(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); 29605 if ( state.backtracking==0 ) {
17698 // InternalSolverLanguage.g:5803:3: ( '*' ) 29606 before(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0());
17699 // InternalSolverLanguage.g:5804:4: '*'
17700 {
17701 before(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0());
17702 match(input,31,FOLLOW_2);
17703 after(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0());
17704
17705 } 29607 }
29608 pushFollow(FOLLOW_2);
29609 ruleExpression();
17706 29610
17707 after(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); 29611 state._fsp--;
29612 if (state.failed) return ;
29613 if ( state.backtracking==0 ) {
29614 after(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0());
29615 }
17708 29616
17709 } 29617 }
17710 29618
@@ -17723,27 +29631,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17723 } 29631 }
17724 return ; 29632 return ;
17725 } 29633 }
17726 // $ANTLR end "rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1" 29634 // $ANTLR end "rule__ObjectiveDefinition__ObjectiveAssignment_1"
17727 29635
17728 // Delegated rules 29636 // Delegated rules
17729 29637
17730 29638
17731 protected DFA2 dfa2 = new DFA2(this); 29639 protected DFA2 dfa2 = new DFA2(this);
17732 static final String dfa_1s = "\11\uffff"; 29640 protected DFA11 dfa11 = new DFA11(this);
17733 static final String dfa_2s = "\1\5\1\21\2\uffff\1\4\2\21\1\4\1\21"; 29641 protected DFA14 dfa14 = new DFA14(this);
17734 static final String dfa_3s = "\1\51\1\34\2\uffff\1\37\1\24\1\34\1\37\1\24"; 29642 static final String dfa_1s = "\15\uffff";
17735 static final String dfa_4s = "\2\uffff\1\1\1\2\5\uffff"; 29643 static final String dfa_2s = "\1\4\1\uffff\1\5\2\uffff\1\5\7\uffff";
17736 static final String dfa_5s = "\11\uffff}>"; 29644 static final String dfa_3s = "\1\111\1\uffff\1\110\2\uffff\1\22\7\uffff";
29645 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";
29646 static final String dfa_5s = "\15\uffff}>";
17737 static final String[] dfa_6s = { 29647 static final String[] dfa_6s = {
17738 "\1\1\12\uffff\1\3\4\uffff\6\2\5\uffff\2\2\3\uffff\2\2\1\uffff\2\2", 29648 "\2\1\1\uffff\1\1\2\uffff\1\1\6\uffff\2\6\7\uffff\2\1\1\uffff\15\1\1\2\2\11\3\uffff\1\4\1\5\1\uffff\1\1\5\uffff\1\1\3\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\7\2\uffff\1\10\1\3\1\7",
17739 "\1\2\1\4\11\uffff\1\3", 29649 "",
29650 "\1\3\1\1\1\3\7\uffff\2\1\2\uffff\12\1\20\uffff\3\1\6\uffff\3\1\4\uffff\1\12\12\uffff\1\3",
17740 "", 29651 "",
17741 "", 29652 "",
17742 "\1\2\1\5\1\2\4\uffff\3\2\3\uffff\1\2\1\uffff\1\6\7\uffff\1\2\3\uffff\1\2", 29653 "\1\13\1\uffff\1\13\11\uffff\2\14",
17743 "\1\3\1\uffff\1\6\1\7", 29654 "",
17744 "\1\2\12\uffff\1\3", 29655 "",
17745 "\1\2\1\10\1\2\4\uffff\3\2\3\uffff\1\2\11\uffff\1\2\3\uffff\1\2", 29656 "",
17746 "\1\3\1\uffff\1\6\1\7" 29657 "",
29658 "",
29659 "",
29660 ""
17747 }; 29661 };
17748 29662
17749 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); 29663 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
@@ -17767,57 +29681,161 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP
17767 this.transition = dfa_6; 29681 this.transition = dfa_6;
17768 } 29682 }
17769 public String getDescription() { 29683 public String getDescription() {
17770 return "1152:1: rule__Statement__Alternatives : ( ( ruleInterpretation ) | ( rulePredicate ) );"; 29684 return "1513:1: rule__Statement__Alternatives_0 : ( ( ruleAssertionOrDefinition ) | ( rulePredicateDefinition ) | ( ruleUnnamedErrorPrediateDefinition ) | ( ruleDefaultDefinition ) | ( ruleExternPredicateDefinition ) | ( ruleMetricDefinition ) | ( ruleExternMetricDefinition ) | ( ruleClassDefinition ) | ( ruleScopeDefinition ) | ( ruleObjectiveDefinition ) );";
29685 }
29686 }
29687 static final String dfa_7s = "\12\uffff";
29688 static final String dfa_8s = "\1\uffff\2\3\4\uffff\1\11\1\3\1\uffff";
29689 static final String dfa_9s = "\1\4\2\5\2\uffff\1\7\1\uffff\1\4\1\5\1\uffff";
29690 static final String dfa_10s = "\1\103\2\76\2\uffff\1\7\1\uffff\1\103\1\76\1\uffff";
29691 static final String dfa_11s = "\3\uffff\1\1\1\2\1\uffff\1\3\2\uffff\1\4";
29692 static final String dfa_12s = "\12\uffff}>";
29693 static final String[] dfa_13s = {
29694 "\1\3\1\2\1\uffff\1\1\2\uffff\1\3\5\uffff\1\4\11\uffff\2\3\1\uffff\16\3\16\uffff\1\3\3\uffff\1\3\1\uffff\1\3\2\uffff\2\3",
29695 "\1\6\1\uffff\1\6\7\uffff\1\3\1\7\2\uffff\12\3\25\uffff\1\5\5\uffff\1\3\4\uffff\2\3",
29696 "\1\6\1\uffff\1\6\7\uffff\1\3\1\7\2\uffff\12\3\33\uffff\1\3\4\uffff\2\3",
29697 "",
29698 "",
29699 "\1\10",
29700 "",
29701 "\2\3\1\uffff\1\3\2\uffff\1\3\17\uffff\2\3\1\uffff\16\3\15\uffff\1\11\1\3\3\uffff\1\3\1\11\1\3\2\uffff\2\3",
29702 "\1\6\1\uffff\1\6\7\uffff\1\3\1\7\2\uffff\12\3\25\uffff\1\5\5\uffff\1\3\4\uffff\2\3",
29703 ""
29704 };
29705
29706 static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s);
29707 static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s);
29708 static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s);
29709 static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s);
29710 static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s);
29711 static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s);
29712 static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s);
29713
29714 class DFA11 extends DFA {
29715
29716 public DFA11(BaseRecognizer recognizer) {
29717 this.recognizer = recognizer;
29718 this.decisionNumber = 11;
29719 this.eot = dfa_7;
29720 this.eof = dfa_8;
29721 this.min = dfa_9;
29722 this.max = dfa_10;
29723 this.accept = dfa_11;
29724 this.special = dfa_12;
29725 this.transition = dfa_13;
29726 }
29727 public String getDescription() {
29728 return "1774:1: rule__Argument__Alternatives : ( ( ruleExpressionArgument ) | ( ruleStarArgument ) | ( ruleTypedArgument ) | ( ruleTypedStarArgument ) );";
29729 }
29730 }
29731 static final String dfa_14s = "\17\uffff";
29732 static final String dfa_15s = "\15\uffff\1\6\1\uffff";
29733 static final String dfa_16s = "\1\107\1\4\2\23\1\26\1\7\3\uffff\1\5\1\23\2\26\1\6\1\26";
29734 static final String dfa_17s = "\1\107\1\7\1\62\2\30\1\7\3\uffff\1\7\3\62\1\7\1\62";
29735 static final String dfa_18s = "\6\uffff\1\3\1\2\1\1\6\uffff";
29736 static final String dfa_19s = "\17\uffff}>";
29737 static final String[] dfa_20s = {
29738 "\1\1",
29739 "\1\4\1\3\1\uffff\1\2",
29740 "\1\10\2\uffff\1\7\1\uffff\1\6\31\uffff\1\5",
29741 "\1\10\2\uffff\1\7\1\uffff\1\6",
29742 "\1\11\1\uffff\1\7",
29743 "\1\12",
29744 "",
29745 "",
29746 "",
29747 "\1\14\1\uffff\1\13",
29748 "\1\10\2\uffff\1\7\1\uffff\1\6\31\uffff\1\5",
29749 "\1\7\33\uffff\1\15",
29750 "\1\7\33\uffff\1\6",
29751 "\1\6\1\16",
29752 "\1\7\33\uffff\1\15"
29753 };
29754
29755 static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s);
29756 static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s);
29757 static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s);
29758 static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s);
29759 static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s);
29760 static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s);
29761 static final short[][] dfa_20 = unpackEncodedStringArray(dfa_20s);
29762
29763 class DFA14 extends DFA {
29764
29765 public DFA14(BaseRecognizer recognizer) {
29766 this.recognizer = recognizer;
29767 this.decisionNumber = 14;
29768 this.eot = dfa_14;
29769 this.eof = dfa_15;
29770 this.min = dfa_16;
29771 this.max = dfa_17;
29772 this.accept = dfa_18;
29773 this.special = dfa_19;
29774 this.transition = dfa_20;
29775 }
29776 public String getDescription() {
29777 return "1873:1: rule__ScopeDefinition__Alternatives : ( ( ruleExactScopeDefinition ) | ( ruleBoundedScopeDefinition ) | ( ruleLowerBoundedScopeDefinition ) );";
17771 } 29778 }
17772 } 29779 }
17773 29780
17774 29781
17775 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); 29782 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
17776 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); 29783 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
17777 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000036307E10022L}); 29784 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0xA20B1FFFEC0604B2L,0x000000000000039CL});
17778 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x00000000C0002022L}); 29785 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000040L});
17779 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000000010L}); 29786 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000E00000000000L});
17780 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000004000L}); 29787 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000200000000000L});
17781 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000001000L}); 29788 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0xA20807FFEC0004B0L,0x000000000000000CL});
17782 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000800L}); 29789 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000400000000000L});
17783 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000008000L}); 29790 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x00000000000000A0L});
17784 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000010000L}); 29791 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000040000000000L});
17785 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000060000L}); 29792 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
17786 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000019800L}); 29793 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x2000000000000000L});
17787 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x00000000880A3870L}); 29794 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0004000000000000L});
17788 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000100000L}); 29795 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000800000000000L});
17789 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000100002L}); 29796 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000060000L});
17790 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000088023870L}); 29797 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0010000000000000L});
17791 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000020L}); 29798 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0020000000000000L});
17792 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000008000000L}); 29799 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x00C0000000000000L});
17793 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000036307E10020L}); 29800 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0040000000000000L});
17794 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000010040000L}); 29801 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0040000000000002L});
17795 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x00000000C0003820L}); 29802 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0080000000000000L});
17796 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000080020L}); 29803 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0100000000000000L});
17797 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000020000000L}); 29804 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0100000000000002L});
17798 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000020000002L}); 29805 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000003F80000L});
17799 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000000020000L}); 29806 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x000000000C000000L});
17800 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000007E00020L}); 29807 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x000000000C000002L});
17801 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000040000000L}); 29808 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000010010000L});
17802 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000040002000L}); 29809 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000010010002L});
17803 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000040002020L}); 29810 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000008000L});
17804 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000000040000L}); 29811 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0xA20007FE000004B0L,0x000000000000000CL});
17805 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000008183870L}); 29812 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0400000000000000L});
17806 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000008003870L}); 29813 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0800000000000000L});
17807 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000080000000L}); 29814 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x1000000000000000L});
17808 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x00000000C0002020L}); 29815 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x4000000000000000L});
17809 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000010200000000L}); 29816 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x2000000000000300L});
17810 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000001400000000L}); 29817 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0xE20807FFEC0104B0L,0x000000000000000CL});
17811 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000020800000020L}); 29818 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0xA20807FFEC0104B0L,0x000000000000000CL});
17812 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000020000000022L}); 29819 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000010000L});
17813 public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000022L}); 29820 public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
17814 public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000400000000L}); 29821 public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
17815 public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000800000000L}); 29822 public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
17816 public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000008000002L}); 29823 public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
17817 public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000020000000020L}); 29824 public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000210L});
17818 public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000007E00030L}); 29825 public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000000080L});
17819 public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000036307E00020L}); 29826 public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0400000000000000L,0x0000000000000020L});
17820 public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000008000000000L}); 29827 public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x08000000000000A0L,0x0000000000000400L});
17821 public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000080000010L}); 29828 public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x00000000000000A2L,0x0000000000000400L});
29829 public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x00000000000000A0L,0x0000000000000400L});
29830 public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x8000000000000080L});
29831 public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0040000000000000L,0x0000000000000040L});
29832 public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x8000000000000000L});
29833 public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000010010L});
29834 public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000010L});
29835 public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000080000L});
29836 public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x00000000000000B0L});
29837 public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000000400000L});
29838 public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000001000000L});
29839 public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0004000000000002L});
17822 29840
17823} \ No newline at end of file 29841} \ No newline at end of file
diff --git a/Application/org.eclipse.viatra.solver.language.tests/src-gen/org/eclipse/viatra/solver/language/tests/SolverLanguageInjectorProvider.java b/Application/org.eclipse.viatra.solver.language.tests/src-gen/org/eclipse/viatra/solver/language/tests/SolverLanguageInjectorProvider.java
index f6f7cc26..4473215d 100644
--- a/Application/org.eclipse.viatra.solver.language.tests/src-gen/org/eclipse/viatra/solver/language/tests/SolverLanguageInjectorProvider.java
+++ b/Application/org.eclipse.viatra.solver.language.tests/src-gen/org/eclipse/viatra/solver/language/tests/SolverLanguageInjectorProvider.java
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.tests; 4package org.eclipse.viatra.solver.language.tests;
5 5
diff --git a/Application/org.eclipse.viatra.solver.language.ui.tests/META-INF/MANIFEST.MF b/Application/org.eclipse.viatra.solver.language.ui.tests/META-INF/MANIFEST.MF
index c95da7ee..4e8cb680 100644
--- a/Application/org.eclipse.viatra.solver.language.ui.tests/META-INF/MANIFEST.MF
+++ b/Application/org.eclipse.viatra.solver.language.ui.tests/META-INF/MANIFEST.MF
@@ -13,6 +13,7 @@ Require-Bundle: org.eclipse.viatra.solver.language.ui,
13 org.eclipse.xtext.junit4, 13 org.eclipse.xtext.junit4,
14 org.eclipse.xtext.xbase.junit, 14 org.eclipse.xtext.xbase.junit,
15 org.eclipse.core.runtime, 15 org.eclipse.core.runtime,
16 org.eclipse.ui.workbench;resolution:=optional 16 org.eclipse.ui.workbench;resolution:=optional,
17 org.eclipse.xtext.ui.testing
17Bundle-RequiredExecutionEnvironment: JavaSE-1.8 18Bundle-RequiredExecutionEnvironment: JavaSE-1.8
18Export-Package: org.eclipse.viatra.solver.language.ui.tests;x-internal=true 19Export-Package: org.eclipse.viatra.solver.language.ui.tests;x-internal=true
diff --git a/Application/org.eclipse.viatra.solver.language.ui.tests/src-gen/org/eclipse/viatra/solver/language/ui/tests/SolverLanguageUiInjectorProvider.java b/Application/org.eclipse.viatra.solver.language.ui.tests/src-gen/org/eclipse/viatra/solver/language/ui/tests/SolverLanguageUiInjectorProvider.java
index 189af4be..f03347ef 100644
--- a/Application/org.eclipse.viatra.solver.language.ui.tests/src-gen/org/eclipse/viatra/solver/language/ui/tests/SolverLanguageUiInjectorProvider.java
+++ b/Application/org.eclipse.viatra.solver.language.ui.tests/src-gen/org/eclipse/viatra/solver/language/ui/tests/SolverLanguageUiInjectorProvider.java
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.ui.tests; 4package org.eclipse.viatra.solver.language.ui.tests;
5 5
diff --git a/Application/org.eclipse.viatra.solver.language.ui/META-INF/MANIFEST.MF b/Application/org.eclipse.viatra.solver.language.ui/META-INF/MANIFEST.MF
index 95a8bf0f..6c493315 100644
--- a/Application/org.eclipse.viatra.solver.language.ui/META-INF/MANIFEST.MF
+++ b/Application/org.eclipse.viatra.solver.language.ui/META-INF/MANIFEST.MF
@@ -20,7 +20,8 @@ Require-Bundle: org.eclipse.viatra.solver.language,
20 org.eclipse.xtend.lib;bundle-version="2.14.0";resolution:=optional 20 org.eclipse.xtend.lib;bundle-version="2.14.0";resolution:=optional
21Import-Package: org.apache.log4j 21Import-Package: org.apache.log4j
22Bundle-RequiredExecutionEnvironment: JavaSE-1.8 22Bundle-RequiredExecutionEnvironment: JavaSE-1.8
23Export-Package: org.eclipse.viatra.solver.language.ui.quickfix, 23Export-Package: org.eclipse.viatra.solver.language.ui.contentassist,
24 org.eclipse.viatra.solver.language.ui.contentassist, 24 org.eclipse.viatra.solver.language.ui.internal,
25 org.eclipse.viatra.solver.language.ui.internal 25 org.eclipse.viatra.solver.language.ui.quickfix,
26 org.eclipse.viatra.solver.language.validation
26Bundle-Activator: org.eclipse.viatra.solver.language.ui.internal.LanguageActivator 27Bundle-Activator: org.eclipse.viatra.solver.language.ui.internal.LanguageActivator
diff --git a/Application/org.eclipse.viatra.solver.language.ui/plugin.xml_gen b/Application/org.eclipse.viatra.solver.language.ui/plugin.xml_gen
new file mode 100644
index 00000000..cb670619
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.ui/plugin.xml_gen
@@ -0,0 +1,434 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3<plugin>
4 <extension
5 point="org.eclipse.ui.editors">
6 <editor
7 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
8 contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
9 default="true"
10 extensions="vsc"
11 id="org.eclipse.viatra.solver.language.SolverLanguage"
12 name="SolverLanguage Editor">
13 </editor>
14 </extension>
15 <extension
16 point="org.eclipse.ui.handlers">
17 <handler
18 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
19 commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
20 <activeWhen>
21 <reference
22 definitionId="org.eclipse.viatra.solver.language.SolverLanguage.Editor.opened">
23 </reference>
24 </activeWhen>
25 </handler>
26 <handler
27 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
28 commandId="org.eclipse.viatra.solver.language.SolverLanguage.validate">
29 <activeWhen>
30 <reference
31 definitionId="org.eclipse.viatra.solver.language.SolverLanguage.Editor.opened">
32 </reference>
33 </activeWhen>
34 </handler>
35 <!-- copy qualified name -->
36 <handler
37 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
38 commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
39 <activeWhen>
40 <reference definitionId="org.eclipse.viatra.solver.language.SolverLanguage.Editor.opened" />
41 </activeWhen>
42 </handler>
43 <handler
44 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
45 commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
46 <activeWhen>
47 <and>
48 <reference definitionId="org.eclipse.viatra.solver.language.SolverLanguage.XtextEditor.opened" />
49 <iterate>
50 <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
51 </iterate>
52 </and>
53 </activeWhen>
54 </handler>
55 </extension>
56 <extension point="org.eclipse.core.expressions.definitions">
57 <definition id="org.eclipse.viatra.solver.language.SolverLanguage.Editor.opened">
58 <and>
59 <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
60 <with variable="activeEditor">
61 <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
62 value="org.eclipse.viatra.solver.language.SolverLanguage"
63 forcePluginActivation="true"/>
64 </with>
65 </and>
66 </definition>
67 <definition id="org.eclipse.viatra.solver.language.SolverLanguage.XtextEditor.opened">
68 <and>
69 <reference definitionId="isXtextEditorActive"/>
70 <with variable="activeEditor">
71 <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
72 value="org.eclipse.viatra.solver.language.SolverLanguage"
73 forcePluginActivation="true"/>
74 </with>
75 </and>
76 </definition>
77 </extension>
78 <extension
79 point="org.eclipse.ui.preferencePages">
80 <page
81 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
82 id="org.eclipse.viatra.solver.language.SolverLanguage"
83 name="SolverLanguage">
84 <keywordReference id="org.eclipse.viatra.solver.language.ui.keyword_SolverLanguage"/>
85 </page>
86 <page
87 category="org.eclipse.viatra.solver.language.SolverLanguage"
88 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
89 id="org.eclipse.viatra.solver.language.SolverLanguage.coloring"
90 name="Syntax Coloring">
91 <keywordReference id="org.eclipse.viatra.solver.language.ui.keyword_SolverLanguage"/>
92 </page>
93 <page
94 category="org.eclipse.viatra.solver.language.SolverLanguage"
95 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
96 id="org.eclipse.viatra.solver.language.SolverLanguage.templates"
97 name="Templates">
98 <keywordReference id="org.eclipse.viatra.solver.language.ui.keyword_SolverLanguage"/>
99 </page>
100 </extension>
101 <extension
102 point="org.eclipse.ui.propertyPages">
103 <page
104 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
105 id="org.eclipse.viatra.solver.language.SolverLanguage"
106 name="SolverLanguage">
107 <keywordReference id="org.eclipse.viatra.solver.language.ui.keyword_SolverLanguage"/>
108 <enabledWhen>
109 <adapt type="org.eclipse.core.resources.IProject"/>
110 </enabledWhen>
111 <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
112 </page>
113 </extension>
114 <extension
115 point="org.eclipse.ui.keywords">
116 <keyword
117 id="org.eclipse.viatra.solver.language.ui.keyword_SolverLanguage"
118 label="SolverLanguage"/>
119 </extension>
120 <extension
121 point="org.eclipse.ui.commands">
122 <command
123 description="Trigger expensive validation"
124 id="org.eclipse.viatra.solver.language.SolverLanguage.validate"
125 name="Validate">
126 </command>
127 <!-- copy qualified name -->
128 <command
129 id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
130 categoryId="org.eclipse.ui.category.edit"
131 description="Copy the qualified name for the selected element"
132 name="Copy Qualified Name">
133 </command>
134 <command
135 id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
136 categoryId="org.eclipse.ui.category.edit"
137 description="Copy the qualified name for the selected element"
138 name="Copy Qualified Name">
139 </command>
140 </extension>
141 <extension point="org.eclipse.ui.menus">
142 <menuContribution
143 locationURI="popup:#TextEditorContext?after=group.edit">
144 <command
145 commandId="org.eclipse.viatra.solver.language.SolverLanguage.validate"
146 style="push"
147 tooltip="Trigger expensive validation">
148 <visibleWhen checkEnabled="false">
149 <reference
150 definitionId="org.eclipse.viatra.solver.language.SolverLanguage.Editor.opened">
151 </reference>
152 </visibleWhen>
153 </command>
154 </menuContribution>
155 <!-- copy qualified name -->
156 <menuContribution locationURI="popup:#TextEditorContext?after=copy">
157 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
158 style="push" tooltip="Copy Qualified Name">
159 <visibleWhen checkEnabled="false">
160 <reference definitionId="org.eclipse.viatra.solver.language.SolverLanguage.Editor.opened" />
161 </visibleWhen>
162 </command>
163 </menuContribution>
164 <menuContribution locationURI="menu:edit?after=copy">
165 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
166 style="push" tooltip="Copy Qualified Name">
167 <visibleWhen checkEnabled="false">
168 <reference definitionId="org.eclipse.viatra.solver.language.SolverLanguage.Editor.opened" />
169 </visibleWhen>
170 </command>
171 </menuContribution>
172 <menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
173 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
174 style="push" tooltip="Copy Qualified Name">
175 <visibleWhen checkEnabled="false">
176 <and>
177 <reference definitionId="org.eclipse.viatra.solver.language.SolverLanguage.XtextEditor.opened" />
178 <iterate>
179 <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
180 </iterate>
181 </and>
182 </visibleWhen>
183 </command>
184 </menuContribution>
185 </extension>
186 <extension point="org.eclipse.ui.menus">
187 <menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
188 <command commandId="org.eclipse.xtext.ui.editor.FindReferences">
189 <visibleWhen checkEnabled="false">
190 <reference definitionId="org.eclipse.viatra.solver.language.SolverLanguage.Editor.opened">
191 </reference>
192 </visibleWhen>
193 </command>
194 </menuContribution>
195 </extension>
196 <extension point="org.eclipse.ui.handlers">
197 <handler
198 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
199 commandId="org.eclipse.xtext.ui.editor.FindReferences">
200 <activeWhen>
201 <reference
202 definitionId="org.eclipse.viatra.solver.language.SolverLanguage.Editor.opened">
203 </reference>
204 </activeWhen>
205 </handler>
206 </extension>
207 <extension point="org.eclipse.core.contenttype.contentTypes">
208 <content-type
209 base-type="org.eclipse.core.runtime.text"
210 file-extensions="vsc"
211 id="org.eclipse.viatra.solver.language.SolverLanguage.contenttype"
212 name="SolverLanguage File"
213 priority="normal">
214 </content-type>
215 </extension>
216 <!-- adding resource factories -->
217 <extension
218 point="org.eclipse.emf.ecore.extension_parser">
219 <parser
220 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
221 type="vsc">
222 </parser>
223 </extension>
224 <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
225 <resourceServiceProvider
226 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
227 uriExtension="vsc">
228 </resourceServiceProvider>
229 </extension>
230 <!-- marker definitions for org.eclipse.viatra.solver.language.SolverLanguage -->
231 <extension
232 id="solverlanguage.check.fast"
233 name="SolverLanguage Problem"
234 point="org.eclipse.core.resources.markers">
235 <super type="org.eclipse.xtext.ui.check.fast"/>
236 <persistent value="true"/>
237 </extension>
238 <extension
239 id="solverlanguage.check.normal"
240 name="SolverLanguage Problem"
241 point="org.eclipse.core.resources.markers">
242 <super type="org.eclipse.xtext.ui.check.normal"/>
243 <persistent value="true"/>
244 </extension>
245 <extension
246 id="solverlanguage.check.expensive"
247 name="SolverLanguage Problem"
248 point="org.eclipse.core.resources.markers">
249 <super type="org.eclipse.xtext.ui.check.expensive"/>
250 <persistent value="true"/>
251 </extension>
252 <extension point="org.eclipse.ui.preferencePages">
253 <page
254 category="org.eclipse.viatra.solver.language.SolverLanguage"
255 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.validation.ValidatorPreferencePage"
256 id="org.eclipse.viatra.solver.language.SolverLanguage.validator.preferencePage"
257 name="Errors/Warnings">
258 <keywordReference id="org.eclipse.viatra.solver.language.ui.keyword_SolverLanguage"/>
259 </page>
260 </extension>
261 <extension point="org.eclipse.xtext.builder.participant">
262 <participant
263 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
264 fileExtensions="vsc"/>
265 </extension>
266 <extension point="org.eclipse.ui.preferencePages">
267 <page
268 category="org.eclipse.viatra.solver.language.SolverLanguage"
269 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
270 id="org.eclipse.viatra.solver.language.SolverLanguage.compiler.preferencePage"
271 name="Compiler">
272 <keywordReference id="org.eclipse.viatra.solver.language.ui.keyword_SolverLanguage"/>
273 </page>
274 </extension>
275 <extension point="org.eclipse.ui.propertyPages">
276 <page
277 category="org.eclipse.viatra.solver.language.SolverLanguage"
278 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
279 id="org.eclipse.viatra.solver.language.SolverLanguage.compiler.propertyPage"
280 name="Compiler">
281 <keywordReference id="org.eclipse.viatra.solver.language.ui.keyword_SolverLanguage"/>
282 <enabledWhen>
283 <adapt type="org.eclipse.core.resources.IProject"/>
284 </enabledWhen>
285 <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
286 </page>
287 </extension>
288 <extension point="org.eclipse.ui.menus">
289 <menuContribution locationURI="popup:#TextEditorContext?after=xtext.ui.openDeclaration">
290 <command
291 commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand"
292 id="org.eclipse.viatra.solver.language.SolverLanguage.OpenGeneratedCode"
293 style="push">
294 <visibleWhen checkEnabled="false">
295 <reference definitionId="org.eclipse.viatra.solver.language.SolverLanguage.Editor.opened" />
296 </visibleWhen>
297 </command>
298 </menuContribution>
299 </extension>
300 <extension point="org.eclipse.ui.handlers">
301 <handler
302 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler"
303 commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand">
304 <activeWhen>
305 <reference definitionId="org.eclipse.viatra.solver.language.SolverLanguage.Editor.opened" />
306 </activeWhen>
307 </handler>
308 </extension>
309 <!-- Quick Outline -->
310 <extension
311 point="org.eclipse.ui.handlers">
312 <handler
313 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
314 commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
315 <activeWhen>
316 <reference
317 definitionId="org.eclipse.viatra.solver.language.SolverLanguage.Editor.opened">
318 </reference>
319 </activeWhen>
320 </handler>
321 </extension>
322 <extension
323 point="org.eclipse.ui.commands">
324 <command
325 description="Open the quick outline."
326 id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
327 name="Quick Outline">
328 </command>
329 </extension>
330 <extension point="org.eclipse.ui.menus">
331 <menuContribution
332 locationURI="popup:#TextEditorContext?after=group.open">
333 <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
334 style="push"
335 tooltip="Open Quick Outline">
336 <visibleWhen checkEnabled="false">
337 <reference definitionId="org.eclipse.viatra.solver.language.SolverLanguage.Editor.opened"/>
338 </visibleWhen>
339 </command>
340 </menuContribution>
341 </extension>
342 <!-- quickfix marker resolution generator for org.eclipse.viatra.solver.language.SolverLanguage -->
343 <extension
344 point="org.eclipse.ui.ide.markerResolution">
345 <markerResolutionGenerator
346 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
347 markerType="org.eclipse.viatra.solver.language.ui.solverlanguage.check.fast">
348 <attribute
349 name="FIXABLE_KEY"
350 value="true">
351 </attribute>
352 </markerResolutionGenerator>
353 <markerResolutionGenerator
354 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
355 markerType="org.eclipse.viatra.solver.language.ui.solverlanguage.check.normal">
356 <attribute
357 name="FIXABLE_KEY"
358 value="true">
359 </attribute>
360 </markerResolutionGenerator>
361 <markerResolutionGenerator
362 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
363 markerType="org.eclipse.viatra.solver.language.ui.solverlanguage.check.expensive">
364 <attribute
365 name="FIXABLE_KEY"
366 value="true">
367 </attribute>
368 </markerResolutionGenerator>
369 </extension>
370 <!-- Rename Refactoring -->
371 <extension point="org.eclipse.ui.handlers">
372 <handler
373 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
374 commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
375 <activeWhen>
376 <reference
377 definitionId="org.eclipse.viatra.solver.language.SolverLanguage.Editor.opened">
378 </reference>
379 </activeWhen>
380 </handler>
381 </extension>
382 <extension point="org.eclipse.ui.menus">
383 <menuContribution
384 locationURI="popup:#TextEditorContext?after=group.edit">
385 <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
386 style="push">
387 <visibleWhen checkEnabled="false">
388 <reference
389 definitionId="org.eclipse.viatra.solver.language.SolverLanguage.Editor.opened">
390 </reference>
391 </visibleWhen>
392 </command>
393 </menuContribution>
394 </extension>
395 <extension point="org.eclipse.ui.preferencePages">
396 <page
397 category="org.eclipse.viatra.solver.language.SolverLanguage"
398 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
399 id="org.eclipse.viatra.solver.language.SolverLanguage.refactoring"
400 name="Refactoring">
401 <keywordReference id="org.eclipse.viatra.solver.language.ui.keyword_SolverLanguage"/>
402 </page>
403 </extension>
404 <extension point="org.eclipse.compare.contentViewers">
405 <viewer id="org.eclipse.viatra.solver.language.SolverLanguage.compare.contentViewers"
406 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
407 extensions="vsc">
408 </viewer>
409 <contentTypeBinding
410 contentTypeId="org.eclipse.viatra.solver.language.SolverLanguage.contenttype"
411 contentViewerId="org.eclipse.viatra.solver.language.SolverLanguage.compare.contentViewers" />
412 </extension>
413 <extension point="org.eclipse.compare.contentMergeViewers">
414 <viewer id="org.eclipse.viatra.solver.language.SolverLanguage.compare.contentMergeViewers"
415 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
416 extensions="vsc" label="SolverLanguage Compare">
417 </viewer>
418 <contentTypeBinding
419 contentTypeId="org.eclipse.viatra.solver.language.SolverLanguage.contenttype"
420 contentMergeViewerId="org.eclipse.viatra.solver.language.SolverLanguage.compare.contentMergeViewers" />
421 </extension>
422 <extension point="org.eclipse.ui.editors.documentProviders">
423 <provider id="org.eclipse.viatra.solver.language.SolverLanguage.editors.documentProviders"
424 class="org.eclipse.viatra.solver.language.ui.SolverLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
425 extensions="vsc">
426 </provider>
427 </extension>
428 <extension point="org.eclipse.team.core.fileTypes">
429 <fileTypes
430 extension="vsc"
431 type="text">
432 </fileTypes>
433 </extension>
434</plugin>
diff --git a/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/AbstractSolverLanguageUiModule.java b/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/AbstractSolverLanguageUiModule.java
index cff29f76..e0206f6a 100644
--- a/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/AbstractSolverLanguageUiModule.java
+++ b/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/AbstractSolverLanguageUiModule.java
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.ui; 4package org.eclipse.viatra.solver.language.ui;
5 5
diff --git a/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/SolverLanguageExecutableExtensionFactory.java b/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/SolverLanguageExecutableExtensionFactory.java
index b86c5864..7d189d28 100644
--- a/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/SolverLanguageExecutableExtensionFactory.java
+++ b/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/SolverLanguageExecutableExtensionFactory.java
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.ui; 4package org.eclipse.viatra.solver.language.ui;
5 5
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 776817bc..fbf12ae8 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
@@ -1,10 +1,11 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.ui.contentassist; 4package org.eclipse.viatra.solver.language.ui.contentassist;
5 5
6import org.eclipse.emf.ecore.EObject; 6import org.eclipse.emf.ecore.EObject;
7import org.eclipse.xtext.Assignment; 7import org.eclipse.xtext.Assignment;
8import org.eclipse.xtext.CrossReference;
8import org.eclipse.xtext.RuleCall; 9import org.eclipse.xtext.RuleCall;
9import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider; 10import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider;
10import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext; 11import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
@@ -20,135 +21,237 @@ public abstract class AbstractSolverLanguageProposalProvider extends TerminalsPr
20 public void completeProblem_Statements(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 21 public void completeProblem_Statements(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
21 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 22 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
22 } 23 }
23 public void completeBasicInterpretation_Symbol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 24 public void completeAssertionOrDefinition_Range(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
24 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 25 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
25 } 26 }
26 public void completeBasicInterpretation_Objects(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 27 public void completeAssertionOrDefinition_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
27 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 28 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
28 } 29 }
29 public void completeBasicInterpretation_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 30 public void completePredicateDefinition_Functional(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
31 // subclasses may override
32 }
33 public void completePredicateDefinition_Error(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
34 // subclasses may override
35 }
36 public void completePredicateDefinition_Head(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
30 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 37 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
31 } 38 }
32 public void completeModelSymbol_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 39 public void completePredicateDefinition_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
33 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 40 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
34 } 41 }
35 public void completeNamedObject_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 42 public void completeUnnamedErrorPrediateDefinition_ArgumentList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
36 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 43 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
37 } 44 }
38 public void completeUnnamedObject_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 45 public void completeUnnamedErrorPrediateDefinition_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
39 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 46 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
40 } 47 }
41 public void completeBooleanObject_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 48 public void completeDefaultDefinition_Head(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
42 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 49 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
43 } 50 }
44 public void completeIntObject_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 51 public void completeDefaultDefinition_Range(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
45 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 52 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
46 } 53 }
47 public void completeRealObject_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 54 public void completeExternPredicateDefinition_Head(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
48 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 55 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
49 } 56 }
50 public void completeStringObject_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 57 public void completeMetricDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
51 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 58 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
52 } 59 }
53 public void completePredicate_IsError(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 60 public void completeMetricDefinition_Head(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
54 // subclasses may override 61 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
55 } 62 }
56 public void completePredicate_Symbol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 63 public void completeMetricDefinition_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
57 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 64 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
58 } 65 }
59 public void completePredicate_Parameters(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 66 public void completeExternMetricDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
60 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 67 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
61 } 68 }
62 public void completePredicate_Bodies(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 69 public void completeExternMetricDefinition_Head(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
63 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 70 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
64 } 71 }
65 public void completeParameter_Variable(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 72 public void completeIfElse_Condition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
66 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 73 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
67 } 74 }
68 public void completeParameter_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 75 public void completeIfElse_Then(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
69 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 76 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
70 } 77 }
71 public void completePatternBody_Constraints(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 78 public void completeIfElse_Else(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
72 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 79 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
73 } 80 }
74 public void completeConstraint_Polarity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 81 public void completeDisjunctiveExpression_Children(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
75 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 82 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
76 } 83 }
77 public void completeConstraint_Symbol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 84 public void completeDisjunctiveExpression_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
78 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 85 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
79 } 86 }
80 public void completeConstraint_Params(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 87 public void completeDisjunctiveExpression_Cases(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
81 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 88 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
82 } 89 }
83 public void completeConstraint_ClosureType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 90 public void completeCase_Condition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
84 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 91 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
85 } 92 }
86 public void completeVariable_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 93 public void completeCase_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
87 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 94 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
88 } 95 }
89 public void completeAllInstances_Symbol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 96 public void completeConjunctiveExpression_Children(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
90 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 97 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
91 } 98 }
92 public void completeDefaultInterpretation_Interpretation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 99 public void completeComparisonExpression_Op(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
93 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 100 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
94 } 101 }
95 public void completeClassInterpretation_Abstract(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 102 public void completeComparisonExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
96 // subclasses may override 103 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
97 } 104 }
98 public void completeClassInterpretation_Symbol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 105 public void completeAdditiveExpression_Op(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
99 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 106 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
100 } 107 }
101 public void completeClassInterpretation_Supertypes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 108 public void completeAdditiveExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
102 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 109 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
103 } 110 }
104 public void completeClassInterpretation_Fielt(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 111 public void completeMultiplicativeExpression_Op(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
105 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 112 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
106 } 113 }
107 public void completeEnumInterpretation_Symbol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 114 public void completeMultiplicativeExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
108 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 115 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
109 } 116 }
110 public void completeEnumInterpretation_Objects(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 117 public void completeExponentialExpression_Op(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
111 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 118 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
112 } 119 }
113 public void completeFieldRelationInterpretation_Containment(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 120 public void completeExponentialExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
114 // subclasses may override 121 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
115 } 122 }
116 public void completeFieldRelationInterpretation_Symbol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 123 public void completeUnaryExpression_Op(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
117 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 124 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
118 } 125 }
119 public void completeFieldRelationInterpretation_Multiplicity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 126 public void completeUnaryExpression_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
120 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 127 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
121 } 128 }
122 public void completeFieldRelationInterpretation_Target(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 129 public void completeCount_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
123 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 130 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
124 } 131 }
125 public void completeGlobalRelationInterpretation_Containment(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 132 public void completeAggregation_Op(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
126 // subclasses may override 133 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
127 } 134 }
128 public void completeGlobalRelationInterpretation_Symbol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 135 public void completeAggregation_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
129 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 136 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
130 } 137 }
131 public void completeGlobalRelationInterpretation_SourceMultiplicity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 138 public void completeAggregation_Condition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
132 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 139 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
133 } 140 }
134 public void completeGlobalRelationInterpretation_Source(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 141 public void completeAtomicExpression_ArgumentList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
135 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 142 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
136 } 143 }
137 public void completeGlobalRelationInterpretation_TargetMultiplicity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 144 public void completeCall_Functor(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
138 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 145 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
139 } 146 }
140 public void completeGlobalRelationInterpretation_Target(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 147 public void completeCall_TransitiveClosure(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
141 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 148 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
142 } 149 }
143 public void completeMultiplicityDefinition_Lower(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 150 public void completeCall_ReflexiveTransitiveClosure(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
144 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 151 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
145 } 152 }
146 public void completeMultiplicityDefinition_Upper(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 153 public void completeCall_ArgumentList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
147 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 154 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
148 } 155 }
149 public void completeMultiplicityDefinition_UnlimitedUpper(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 156 public void completeArgumentList_Arguments(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
157 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
158 }
159 public void completeExpressionArgument_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
160 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
161 }
162 public void completeTypedArgument_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
163 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
164 }
165 public void completeTypedArgument_Variable(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
166 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
167 }
168 public void completeTypedStarArgument_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
169 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
170 }
171 public void completeReference_Referred(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
172 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
173 }
174 public void completeInterval_LowerBound(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
175 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
176 }
177 public void completeInterval_UpperBound(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
178 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
179 }
180 public void completeLogicLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
181 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
182 }
183 public void completeNumericLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
184 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
185 }
186 public void completeStringLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
187 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
188 }
189 public void completeClassDefinition_Abstract(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
190 // subclasses may override
191 }
192 public void completeClassDefinition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
193 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
194 }
195 public void completeClassDefinition_Superclasses(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
196 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
197 }
198 public void completeClassDefinition_Members(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
199 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
200 }
201 public void completeMemberDefinition_Containment(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
150 // subclasses may override 202 // subclasses may override
151 } 203 }
204 public void completeMemberDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
205 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
206 }
207 public void completeMemberDefinition_Multiplicity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
208 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
209 }
210 public void completeMemberDefinition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
211 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
212 }
213 public void completeMemberDefinition_Opposite(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
214 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
215 }
216 public void completeExactMultiplicity_Multiplicity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
217 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
218 }
219 public void completeBoundedMultiplicity_LowerBound(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
220 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
221 }
222 public void completeBoundedMultiplicity_UpperBound(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
223 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
224 }
225 public void completeExactScopeDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
226 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
227 }
228 public void completeExactScopeDefinition_ExactScope(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
229 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
230 }
231 public void completeBoundedScopeDefinition_LowerBound(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
232 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
233 }
234 public void completeBoundedScopeDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
235 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
236 }
237 public void completeBoundedScopeDefinition_UpperBound(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
238 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
239 }
240 public void completeLowerBoundedScopeDefinition_LowerBound(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
241 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
242 }
243 public void completeLowerBoundedScopeDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
244 lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
245 }
246 public void completeObjectiveDefinition_Kind(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
247 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
248 }
249 public void completeObjectiveDefinition_Objective(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
250 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
251 }
252 public void completeNamedElement_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
253 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
254 }
152 255
153 public void complete_Problem(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 256 public void complete_Problem(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
154 // subclasses may override 257 // subclasses may override
@@ -156,133 +259,202 @@ public abstract class AbstractSolverLanguageProposalProvider extends TerminalsPr
156 public void complete_Statement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 259 public void complete_Statement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
157 // subclasses may override 260 // subclasses may override
158 } 261 }
159 public void complete_STRING(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 262 public void complete_AssertionOrDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
263 // subclasses may override
264 }
265 public void complete_PredicateDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
160 // subclasses may override 266 // subclasses may override
161 } 267 }
162 public void complete_REALLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 268 public void complete_UnnamedErrorPrediateDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
163 // subclasses may override 269 // subclasses may override
164 } 270 }
165 public void complete_INTLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 271 public void complete_DefaultDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
166 // subclasses may override 272 // subclasses may override
167 } 273 }
168 public void complete_BooleanValue(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 274 public void complete_ExternPredicateDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
169 // subclasses may override 275 // subclasses may override
170 } 276 }
171 public void complete_TruthValue(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 277 public void complete_MetricType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
172 // subclasses may override 278 // subclasses may override
173 } 279 }
174 public void complete_Interpretation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 280 public void complete_MetricDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
175 // subclasses may override 281 // subclasses may override
176 } 282 }
177 public void complete_BasicInterpretation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 283 public void complete_ExternMetricDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
178 // subclasses may override 284 // subclasses may override
179 } 285 }
180 public void complete_Symbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 286 public void complete_Expression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
181 // subclasses may override 287 // subclasses may override
182 } 288 }
183 public void complete_ModelSymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 289 public void complete_IfElse(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
184 // subclasses may override 290 // subclasses may override
185 } 291 }
186 public void complete_PartialitySymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 292 public void complete_DisjunctiveExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
187 // subclasses may override 293 // subclasses may override
188 } 294 }
189 public void complete_ExistSymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 295 public void complete_Case(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
190 // subclasses may override 296 // subclasses may override
191 } 297 }
192 public void complete_EqualsSymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 298 public void complete_ConjunctiveExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
193 // subclasses may override 299 // subclasses may override
194 } 300 }
195 public void complete_DataSymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 301 public void complete_BinaryOperator(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
196 // subclasses may override 302 // subclasses may override
197 } 303 }
198 public void complete_BooleanSymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 304 public void complete_ComparisonOperator(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
199 // subclasses may override 305 // subclasses may override
200 } 306 }
201 public void complete_IntegerSymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 307 public void complete_ComparisonExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
202 // subclasses may override 308 // subclasses may override
203 } 309 }
204 public void complete_RealSymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 310 public void complete_AdditiveBinaryOperator(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
205 // subclasses may override 311 // subclasses may override
206 } 312 }
207 public void complete_StringSymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 313 public void complete_AdditiveExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
208 // subclasses may override 314 // subclasses may override
209 } 315 }
210 public void complete_ComplexObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 316 public void complete_MultiplicativeBinaryOperator(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
211 // subclasses may override 317 // subclasses may override
212 } 318 }
213 public void complete_Object(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 319 public void complete_MultiplicativeExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
214 // subclasses may override 320 // subclasses may override
215 } 321 }
216 public void complete_NamedObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 322 public void complete_ExponentialOp(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
217 // subclasses may override 323 // subclasses may override
218 } 324 }
219 public void complete_UnnamedObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 325 public void complete_ExponentialExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
220 // subclasses may override 326 // subclasses may override
221 } 327 }
222 public void complete_DataObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 328 public void complete_UnaryOp(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
223 // subclasses may override 329 // subclasses may override
224 } 330 }
225 public void complete_BooleanObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 331 public void complete_UnaryExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
226 // subclasses may override 332 // subclasses may override
227 } 333 }
228 public void complete_IntObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 334 public void complete_AggregationExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
229 // subclasses may override 335 // subclasses may override
230 } 336 }
231 public void complete_RealObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 337 public void complete_Count(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
232 // subclasses may override 338 // subclasses may override
233 } 339 }
234 public void complete_StringObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 340 public void complete_AggregationOp(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
235 // subclasses may override 341 // subclasses may override
236 } 342 }
237 public void complete_Predicate(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 343 public void complete_Aggregation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
238 // subclasses may override 344 // subclasses may override
239 } 345 }
240 public void complete_Parameter(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 346 public void complete_AtomicExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
241 // subclasses may override 347 // subclasses may override
242 } 348 }
243 public void complete_PatternBody(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 349 public void complete_Call(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
244 // subclasses may override 350 // subclasses may override
245 } 351 }
246 public void complete_Polarity(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 352 public void complete_ArgumentList(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
247 // subclasses may override 353 // subclasses may override
248 } 354 }
249 public void complete_Constraint(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 355 public void complete_Argument(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
250 // subclasses may override 356 // subclasses may override
251 } 357 }
252 public void complete_ClosureType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 358 public void complete_ExpressionArgument(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
359 // subclasses may override
360 }
361 public void complete_StarArgument(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
362 // subclasses may override
363 }
364 public void complete_TypedArgument(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
365 // subclasses may override
366 }
367 public void complete_TypedStarArgument(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
368 // subclasses may override
369 }
370 public void complete_Reference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
371 // subclasses may override
372 }
373 public void complete_Interval(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
253 // subclasses may override 374 // subclasses may override
254 } 375 }
255 public void complete_Literal(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 376 public void complete_Literal(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
256 // subclasses may override 377 // subclasses may override
257 } 378 }
258 public void complete_Variable(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 379 public void complete_LogicValue(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
259 // subclasses may override 380 // subclasses may override
260 } 381 }
261 public void complete_AllInstances(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 382 public void complete_LogicLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
262 // subclasses may override 383 // subclasses may override
263 } 384 }
264 public void complete_AllObjects(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 385 public void complete_NumericLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
265 // subclasses may override 386 // subclasses may override
266 } 387 }
267 public void complete_DefaultInterpretation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 388 public void complete_InfinityLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
268 // subclasses may override 389 // subclasses may override
269 } 390 }
270 public void complete_CDInterpretation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 391 public void complete_EmptyIntervalLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
392 // subclasses may override
393 }
394 public void complete_StringLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
395 // subclasses may override
396 }
397 public void complete_ClassDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
398 // subclasses may override
399 }
400 public void complete_MemberDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
401 // subclasses may override
402 }
403 public void complete_Multiplicity(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
404 // subclasses may override
405 }
406 public void complete_ManyMultiplicity(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
407 // subclasses may override
408 }
409 public void complete_ExactMultiplicity(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
410 // subclasses may override
411 }
412 public void complete_BoundedMultiplicity(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
413 // subclasses may override
414 }
415 public void complete_ScopeDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
416 // subclasses may override
417 }
418 public void complete_ExactScopeDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
419 // subclasses may override
420 }
421 public void complete_BoundedScopeDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
422 // subclasses may override
423 }
424 public void complete_LowerBoundedScopeDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
425 // subclasses may override
426 }
427 public void complete_ObjectiveKind(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
428 // subclasses may override
429 }
430 public void complete_ObjectiveDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
431 // subclasses may override
432 }
433 public void complete_UpperMultiplicty(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
434 // subclasses may override
435 }
436 public void complete_Real(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
437 // subclasses may override
438 }
439 public void complete_QualifiedName(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
440 // subclasses may override
441 }
442 public void complete_STRING(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
271 // subclasses may override 443 // subclasses may override
272 } 444 }
273 public void complete_ClassInterpretation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 445 public void complete_QUOTED_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
274 // subclasses may override 446 // subclasses may override
275 } 447 }
276 public void complete_EnumInterpretation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 448 public void complete_PLUS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
277 // subclasses may override 449 // subclasses may override
278 } 450 }
279 public void complete_FieldRelationInterpretation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 451 public void complete_STAR(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
280 // subclasses may override 452 // subclasses may override
281 } 453 }
282 public void complete_GlobalRelationInterpretation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 454 public void complete_DOT(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
283 // subclasses may override 455 // subclasses may override
284 } 456 }
285 public void complete_MultiplicityDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 457 public void complete_NamedElement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
286 // subclasses may override 458 // subclasses may override
287 } 459 }
288} 460}
diff --git a/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/internal/LanguageActivator.java b/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/internal/LanguageActivator.java
index 327cfff1..22259126 100644
--- a/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/internal/LanguageActivator.java
+++ b/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/ui/internal/LanguageActivator.java
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.ui.internal; 4package org.eclipse.viatra.solver.language.ui.internal;
5 5
diff --git a/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageValidatorConfigurationBlock.java b/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageValidatorConfigurationBlock.java
index ad6c3a18..a603d3d2 100644
--- a/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageValidatorConfigurationBlock.java
+++ b/Application/org.eclipse.viatra.solver.language.ui/src-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageValidatorConfigurationBlock.java
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.validation; 4package org.eclipse.viatra.solver.language.validation;
5 5
diff --git a/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/SolverLanguageUiModule.xtend b/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/SolverLanguageUiModule.xtend
index 1c165a0a..602646aa 100644
--- a/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/SolverLanguageUiModule.xtend
+++ b/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/SolverLanguageUiModule.xtend
@@ -4,21 +4,17 @@
4package org.eclipse.viatra.solver.language.ui 4package org.eclipse.viatra.solver.language.ui
5 5
6import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor 6import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
7import org.eclipse.xtext.ide.editor.syntaxcoloring.ISemanticHighlightingCalculator
8import org.eclipse.xtext.ui.editor.syntaxcoloring.ITextAttributeProvider
9import org.eclipse.viatra.solver.language.ui.highlight.SolverSemanticHighlightCalculator
10import org.eclipse.viatra.solver.language.ui.highlight.SolverSemanticTextAttributeProvider
11 7
12/** 8/**
13 * Use this class to register components to be used within the Eclipse IDE. 9 * Use this class to register components to be used within the Eclipse IDE.
14 */ 10 */
15@FinalFieldsConstructor 11@FinalFieldsConstructor
16class SolverLanguageUiModule extends AbstractSolverLanguageUiModule { 12class SolverLanguageUiModule extends AbstractSolverLanguageUiModule {
17 def Class<? extends ISemanticHighlightingCalculator> bindISemanticHighlightingCalculator() { 13// def Class<? extends ISemanticHighlightingCalculator> bindISemanticHighlightingCalculator() {
18 SolverSemanticHighlightCalculator 14// SolverSemanticHighlightCalculator
19 } 15// }
20 16//
21 def Class<? extends ITextAttributeProvider> bindITextAttributeProvider() { 17// def Class<? extends ITextAttributeProvider> bindITextAttributeProvider() {
22 SolverSemanticTextAttributeProvider 18// SolverSemanticTextAttributeProvider
23 } 19// }
24} 20}
diff --git a/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/highlight/SolverSemanticHighlightCalculator.xtend b/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticHighlightCalculator.xtend
index cb10ebf4..5242a82e 100644
--- a/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/highlight/SolverSemanticHighlightCalculator.xtend
+++ b/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticHighlightCalculator.xtend
@@ -1,8 +1,8 @@
1package org.eclipse.viatra.solver.language.ui.highlight 1package org.eclipse.viatra.solver.language.ui.syntaxcoloring
2 2
3import java.util.Random 3import java.util.Random
4import java.util.WeakHashMap 4import java.util.WeakHashMap
5import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol 5import org.eclipse.viatra.solver.language.solverLanguage.Reference
6import org.eclipse.xtext.ide.editor.syntaxcoloring.DefaultSemanticHighlightingCalculator 6import org.eclipse.xtext.ide.editor.syntaxcoloring.DefaultSemanticHighlightingCalculator
7import org.eclipse.xtext.ide.editor.syntaxcoloring.IHighlightedPositionAcceptor 7import org.eclipse.xtext.ide.editor.syntaxcoloring.IHighlightedPositionAcceptor
8import org.eclipse.xtext.nodemodel.util.NodeModelUtils 8import org.eclipse.xtext.nodemodel.util.NodeModelUtils
@@ -10,49 +10,50 @@ import org.eclipse.xtext.resource.XtextResource
10import org.eclipse.xtext.util.CancelIndicator 10import org.eclipse.xtext.util.CancelIndicator
11 11
12class SolverSemanticHighlightCalculator extends DefaultSemanticHighlightingCalculator { 12class SolverSemanticHighlightCalculator extends DefaultSemanticHighlightingCalculator {
13 public static val SmybolCode = "SymbolCode" 13 public static val SYMBOL_CODE = "SymbolCode::"
14 14
15 val symbolName2ID = new WeakHashMap<String,String> 15 val symbolName2ID = new WeakHashMap<String, String>
16 16
17 override provideHighlightingFor(XtextResource resource, IHighlightedPositionAcceptor acceptor, CancelIndicator cancelIndicator) { 17 override provideHighlightingFor(XtextResource resource, IHighlightedPositionAcceptor acceptor,
18 CancelIndicator cancelIndicator) {
18 if (resource === null || resource.getParseResult() === null) { 19 if (resource === null || resource.getParseResult() === null) {
19 return 20 return
20 } else { 21 } else {
21 val modelSymbols = resource.allContents.filter(ModelSymbol) 22 val modelSymbols = resource.allContents.filter(Reference)
22 while(modelSymbols.hasNext) { 23 while (modelSymbols.hasNext) {
23 val symbolElement = modelSymbols.next 24 val symbolElement = modelSymbols.next
24 val node = NodeModelUtils::getNode(symbolElement) 25 val node = NodeModelUtils.getNode(symbolElement)
25 acceptor.addPosition( 26 acceptor.addPosition(
26 node.getOffset(), 27 node.getOffset(),
27 node.getLength(), 28 node.getLength(),
28 getSymbolCode(symbolElement.name) 29 getSymbolCode(node.text)
29 ) 30 )
30 } 31 }
31 } 32 }
32 } 33 }
33 34
34 def getSymbolCode(String name) { 35 def getSymbolCode(String name) {
35 if(symbolName2ID.containsKey(name)) { 36 if (symbolName2ID.containsKey(name)) {
36 return symbolName2ID.get(name) 37 return symbolName2ID.get(name)
37 } else { 38 } else {
38 val id = calculateSymbolCode(name) 39 val id = calculateSymbolCode(name)
39 symbolName2ID.put(name,id) 40 symbolName2ID.put(name, id)
40 return id 41 return id
41 } 42 }
42 } 43 }
43 44
44 def String calculateSymbolCode(String name) { 45 def String calculateSymbolCode(String name) {
45 val Random random = new Random(name.hashCode) 46 val Random random = new Random(name.hashCode)
46 val hue = huePick(random.nextFloat) 47 val hue = huePick(random.nextFloat)
47 val saturation = 0.2+random.nextFloat*0.3 48 val saturation = 0.2 + random.nextFloat * 0.3
48 val brightness = random.nextFloat*0.2+0.7f 49 val brightness = random.nextFloat * 0.2 + 0.7f
49 return '''«SmybolCode» «hue» «saturation» «brightness»''' 50 return '''«SYMBOL_CODE» «hue» «saturation» «brightness»'''
50 } 51 }
52
51 private def huePick(float random) { 53 private def huePick(float random) {
52 val pink = 300 54 val pink = 300
53 val tolerance = 10 55 val tolerance = 10
54 val degree = random*(360-2*tolerance) 56 val degree = random * (360 - 2 * tolerance)
55 if(degree<pink-tolerance) return degree 57 if(degree < pink - tolerance) return degree else return degree + 2 * tolerance
56 else return degree+2*tolerance
57 } 58 }
58} \ No newline at end of file 59}
diff --git a/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/highlight/SolverSemanticTextAttributeProvider.xtend b/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticTextAttributeProvider.xtend
index 4eed59ce..ca74a9a2 100644
--- a/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/highlight/SolverSemanticTextAttributeProvider.xtend
+++ b/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticTextAttributeProvider.xtend
@@ -1,4 +1,4 @@
1package org.eclipse.viatra.solver.language.ui.highlight 1package org.eclipse.viatra.solver.language.ui.syntaxcoloring
2 2
3import com.google.inject.Inject 3import com.google.inject.Inject
4import java.util.WeakHashMap 4import java.util.WeakHashMap
@@ -12,34 +12,34 @@ import org.eclipse.xtext.ui.editor.utils.EditorUtils
12import org.eclipse.xtext.ui.editor.utils.TextStyle 12import org.eclipse.xtext.ui.editor.utils.TextStyle
13 13
14class SolverSemanticTextAttributeProvider extends TextAttributeProvider { 14class SolverSemanticTextAttributeProvider extends TextAttributeProvider {
15 15
16 val defaultTextStyle = new TextStyle 16 val defaultTextStyle = new TextStyle
17 val colorID2TextAttribute = new WeakHashMap<String,TextAttribute> 17 val colorID2TextAttribute = new WeakHashMap<String, TextAttribute>
18 18
19 @Inject 19 @Inject
20 new(IHighlightingConfiguration highlightingConfig, IPreferenceStoreAccess preferenceStoreAccess, PreferenceStoreAccessor prefStoreAccessor) { 20 new(IHighlightingConfiguration highlightingConfig, IPreferenceStoreAccess preferenceStoreAccess,
21 PreferenceStoreAccessor prefStoreAccessor) {
21 super(highlightingConfig, preferenceStoreAccess, prefStoreAccessor) 22 super(highlightingConfig, preferenceStoreAccess, prefStoreAccessor)
22 } 23 }
23 24
24
25 override getAttribute(String id) { 25 override getAttribute(String id) {
26 if(isMetamodelElementColorID(id)) { 26 if (isMetamodelElementColorID(id)) {
27 if(colorID2TextAttribute.containsKey(id)) { 27 if (colorID2TextAttribute.containsKey(id)) {
28 return colorID2TextAttribute.get(id) 28 return colorID2TextAttribute.get(id)
29 } else { 29 } else {
30 val style = metamodelElementTextStyle(id) 30 val style = metamodelElementTextStyle(id)
31 colorID2TextAttribute.put(id,style) 31 colorID2TextAttribute.put(id, style)
32 return style 32 return style
33 } 33 }
34 } else { 34 } else {
35 super.getAttribute(id) 35 super.getAttribute(id)
36 } 36 }
37 } 37 }
38 38
39 private def isMetamodelElementColorID(String id) { 39 private def isMetamodelElementColorID(String id) {
40 id.startsWith(SolverSemanticHighlightCalculator::SmybolCode) 40 id.startsWith(SolverSemanticHighlightCalculator.SYMBOL_CODE)
41 } 41 }
42 42
43 private def TextAttribute metamodelElementTextStyle(String id) { 43 private def TextAttribute metamodelElementTextStyle(String id) {
44 val texts = id.split(' ') 44 val texts = id.split(' ')
45 val backgroundColor = new RGB( 45 val backgroundColor = new RGB(
@@ -47,11 +47,9 @@ class SolverSemanticTextAttributeProvider extends TextAttributeProvider {
47 Float.parseFloat(texts.get(2)), 47 Float.parseFloat(texts.get(2)),
48 Float.parseFloat(texts.get(3)) 48 Float.parseFloat(texts.get(3))
49 ) 49 )
50 return new TextAttribute( 50 return new TextAttribute(EditorUtils.colorFromRGB(defaultTextStyle.color),
51 EditorUtils.colorFromRGB(defaultTextStyle.color), 51 EditorUtils.colorFromRGB(backgroundColor), defaultTextStyle.style,
52 EditorUtils.colorFromRGB(backgroundColor),
53 defaultTextStyle.style,
54 EditorUtils.fontFromFontData(defaultTextStyle.getFontData())); 52 EditorUtils.fontFromFontData(defaultTextStyle.getFontData()));
55 } 53 }
56 54
57} \ No newline at end of file 55}
diff --git a/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/validation/SolverLanguageValidator.xtend b/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/validation/SolverLanguageValidator.xtend
new file mode 100644
index 00000000..a7ff7252
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/validation/SolverLanguageValidator.xtend
@@ -0,0 +1,25 @@
1/*
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.validation
5
6
7/**
8 * This class contains custom validation rules.
9 *
10 * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation
11 */
12class SolverLanguageValidator extends AbstractSolverLanguageValidator {
13
14// public static val INVALID_NAME = 'invalidName'
15//
16// @Check
17// def checkGreetingStartsWithCapital(Greeting greeting) {
18// if (!Character.isUpperCase(greeting.name.charAt(0))) {
19// warning('Name should start with a capital',
20// SolverLanguagePackage.Literals.GREETING__NAME,
21// INVALID_NAME)
22// }
23// }
24
25}
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
new file mode 100644
index 00000000..30fff96c
--- /dev/null
+++ 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
new file mode 100644
index 00000000..846152db
--- /dev/null
+++ 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/ui/syntaxcoloring/.gitignore b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.gitignore
new file mode 100644
index 00000000..1764b462
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.gitignore
@@ -0,0 +1,2 @@
1/.SolverSemanticHighlightCalculator.java._trace
2/.SolverSemanticTextAttributeProvider.java._trace
diff --git a/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticHighlightCalculator.java b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticHighlightCalculator.java
new file mode 100644
index 00000000..2935dfd7
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticHighlightCalculator.java
@@ -0,0 +1,83 @@
1package org.eclipse.viatra.solver.language.ui.syntaxcoloring;
2
3import com.google.common.collect.Iterators;
4import java.util.Iterator;
5import java.util.Random;
6import java.util.WeakHashMap;
7import org.eclipse.viatra.solver.language.solverLanguage.Reference;
8import org.eclipse.xtend2.lib.StringConcatenation;
9import org.eclipse.xtext.ide.editor.syntaxcoloring.DefaultSemanticHighlightingCalculator;
10import org.eclipse.xtext.ide.editor.syntaxcoloring.IHighlightedPositionAcceptor;
11import org.eclipse.xtext.nodemodel.ICompositeNode;
12import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
13import org.eclipse.xtext.resource.XtextResource;
14import org.eclipse.xtext.util.CancelIndicator;
15
16@SuppressWarnings("all")
17public class SolverSemanticHighlightCalculator extends DefaultSemanticHighlightingCalculator {
18 public static final String SYMBOL_CODE = "SymbolCode::";
19
20 private final WeakHashMap<String, String> symbolName2ID = new WeakHashMap<String, String>();
21
22 @Override
23 public void provideHighlightingFor(final XtextResource resource, final IHighlightedPositionAcceptor acceptor, final CancelIndicator cancelIndicator) {
24 if (((resource == null) || (resource.getParseResult() == null))) {
25 return;
26 } else {
27 final Iterator<Reference> modelSymbols = Iterators.<Reference>filter(resource.getAllContents(), Reference.class);
28 while (modelSymbols.hasNext()) {
29 {
30 final Reference symbolElement = modelSymbols.next();
31 final ICompositeNode node = NodeModelUtils.getNode(symbolElement);
32 acceptor.addPosition(
33 node.getOffset(),
34 node.getLength(),
35 this.getSymbolCode(node.getText()));
36 }
37 }
38 }
39 }
40
41 public String getSymbolCode(final String name) {
42 boolean _containsKey = this.symbolName2ID.containsKey(name);
43 if (_containsKey) {
44 return this.symbolName2ID.get(name);
45 } else {
46 final String id = this.calculateSymbolCode(name);
47 this.symbolName2ID.put(name, id);
48 return id;
49 }
50 }
51
52 public String calculateSymbolCode(final String name) {
53 int _hashCode = name.hashCode();
54 final Random random = new Random(_hashCode);
55 final float hue = this.huePick(random.nextFloat());
56 float _nextFloat = random.nextFloat();
57 double _multiply = (_nextFloat * 0.3);
58 final double saturation = (0.2 + _multiply);
59 float _nextFloat_1 = random.nextFloat();
60 double _multiply_1 = (_nextFloat_1 * 0.2);
61 final double brightness = (_multiply_1 + 0.7f);
62 StringConcatenation _builder = new StringConcatenation();
63 _builder.append(SolverSemanticHighlightCalculator.SYMBOL_CODE);
64 _builder.append(" ");
65 _builder.append(hue);
66 _builder.append(" ");
67 _builder.append(saturation);
68 _builder.append(" ");
69 _builder.append(brightness);
70 return _builder.toString();
71 }
72
73 private float huePick(final float random) {
74 final int pink = 300;
75 final int tolerance = 10;
76 final float degree = (random * (360 - (2 * tolerance)));
77 if ((degree < (pink - tolerance))) {
78 return degree;
79 } else {
80 return (degree + (2 * tolerance));
81 }
82 }
83}
diff --git a/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticTextAttributeProvider.java b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticTextAttributeProvider.java
new file mode 100644
index 00000000..04824ad1
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticTextAttributeProvider.java
@@ -0,0 +1,63 @@
1package org.eclipse.viatra.solver.language.ui.syntaxcoloring;
2
3import com.google.inject.Inject;
4import java.util.WeakHashMap;
5import org.eclipse.jface.text.TextAttribute;
6import org.eclipse.swt.graphics.Color;
7import org.eclipse.swt.graphics.Font;
8import org.eclipse.swt.graphics.RGB;
9import org.eclipse.viatra.solver.language.ui.syntaxcoloring.SolverSemanticHighlightCalculator;
10import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreAccess;
11import org.eclipse.xtext.ui.editor.syntaxcoloring.IHighlightingConfiguration;
12import org.eclipse.xtext.ui.editor.syntaxcoloring.PreferenceStoreAccessor;
13import org.eclipse.xtext.ui.editor.syntaxcoloring.TextAttributeProvider;
14import org.eclipse.xtext.ui.editor.utils.EditorUtils;
15import org.eclipse.xtext.ui.editor.utils.TextStyle;
16
17@SuppressWarnings("all")
18public class SolverSemanticTextAttributeProvider extends TextAttributeProvider {
19 private final TextStyle defaultTextStyle = new TextStyle();
20
21 private final WeakHashMap<String, TextAttribute> colorID2TextAttribute = new WeakHashMap<String, TextAttribute>();
22
23 @Inject
24 public SolverSemanticTextAttributeProvider(final IHighlightingConfiguration highlightingConfig, final IPreferenceStoreAccess preferenceStoreAccess, final PreferenceStoreAccessor prefStoreAccessor) {
25 super(highlightingConfig, preferenceStoreAccess, prefStoreAccessor);
26 }
27
28 @Override
29 public TextAttribute getAttribute(final String id) {
30 TextAttribute _xifexpression = null;
31 boolean _isMetamodelElementColorID = this.isMetamodelElementColorID(id);
32 if (_isMetamodelElementColorID) {
33 boolean _containsKey = this.colorID2TextAttribute.containsKey(id);
34 if (_containsKey) {
35 return this.colorID2TextAttribute.get(id);
36 } else {
37 final TextAttribute style = this.metamodelElementTextStyle(id);
38 this.colorID2TextAttribute.put(id, style);
39 return style;
40 }
41 } else {
42 _xifexpression = super.getAttribute(id);
43 }
44 return _xifexpression;
45 }
46
47 private boolean isMetamodelElementColorID(final String id) {
48 return id.startsWith(SolverSemanticHighlightCalculator.SYMBOL_CODE);
49 }
50
51 private TextAttribute metamodelElementTextStyle(final String id) {
52 final String[] texts = id.split(" ");
53 float _parseFloat = Float.parseFloat(texts[1]);
54 float _parseFloat_1 = Float.parseFloat(texts[2]);
55 float _parseFloat_2 = Float.parseFloat(texts[3]);
56 final RGB backgroundColor = new RGB(_parseFloat, _parseFloat_1, _parseFloat_2);
57 Color _colorFromRGB = EditorUtils.colorFromRGB(this.defaultTextStyle.getColor());
58 Color _colorFromRGB_1 = EditorUtils.colorFromRGB(backgroundColor);
59 int _style = this.defaultTextStyle.getStyle();
60 Font _fontFromFontData = EditorUtils.fontFromFontData(this.defaultTextStyle.getFontData());
61 return new TextAttribute(_colorFromRGB, _colorFromRGB_1, _style, _fontFromFontData);
62 }
63}
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
new file mode 100644
index 00000000..6d6995bd
--- /dev/null
+++ 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.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.gitignore b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.gitignore
new file mode 100644
index 00000000..f1cb387a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.gitignore
@@ -0,0 +1 @@
/.SolverLanguageValidator.java._trace
diff --git a/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageValidator.java b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageValidator.java
new file mode 100644
index 00000000..2b8f158a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageValidator.java
@@ -0,0 +1,15 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.validation;
5
6import org.eclipse.viatra.solver.language.validation.AbstractSolverLanguageValidator;
7
8/**
9 * This class contains custom validation rules.
10 *
11 * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation
12 */
13@SuppressWarnings("all")
14public class SolverLanguageValidator extends AbstractSolverLanguageValidator {
15}
diff --git a/Application/org.eclipse.viatra.solver.language/META-INF/MANIFEST.MF b/Application/org.eclipse.viatra.solver.language/META-INF/MANIFEST.MF
index 9513cba4..dc13b2d9 100644
--- a/Application/org.eclipse.viatra.solver.language/META-INF/MANIFEST.MF
+++ b/Application/org.eclipse.viatra.solver.language/META-INF/MANIFEST.MF
@@ -16,15 +16,15 @@ Require-Bundle: org.eclipse.xtext,
16 org.eclipse.xtend.lib;bundle-version="2.14.0", 16 org.eclipse.xtend.lib;bundle-version="2.14.0",
17 org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" 17 org.antlr.runtime;bundle-version="[3.2.0,3.2.1)"
18Bundle-RequiredExecutionEnvironment: JavaSE-1.8 18Bundle-RequiredExecutionEnvironment: JavaSE-1.8
19Export-Package: org.eclipse.viatra.solver.language.validation, 19Export-Package: org.eclipse.viatra.solver.language,
20 org.eclipse.viatra.solver.language,
21 org.eclipse.viatra.solver.language.generator, 20 org.eclipse.viatra.solver.language.generator,
22 org.eclipse.viatra.solver.language.services,
23 org.eclipse.viatra.solver.language.solverLanguage.impl,
24 org.eclipse.viatra.solver.language.parser.antlr.internal,
25 org.eclipse.viatra.solver.language.parser.antlr, 21 org.eclipse.viatra.solver.language.parser.antlr,
22 org.eclipse.viatra.solver.language.parser.antlr.internal,
23 org.eclipse.viatra.solver.language.scoping,
26 org.eclipse.viatra.solver.language.serializer, 24 org.eclipse.viatra.solver.language.serializer,
25 org.eclipse.viatra.solver.language.services,
27 org.eclipse.viatra.solver.language.solverLanguage, 26 org.eclipse.viatra.solver.language.solverLanguage,
27 org.eclipse.viatra.solver.language.solverLanguage.impl,
28 org.eclipse.viatra.solver.language.solverLanguage.util, 28 org.eclipse.viatra.solver.language.solverLanguage.util,
29 org.eclipse.viatra.solver.language.scoping 29 org.eclipse.viatra.solver.language.validation
30Import-Package: org.apache.log4j 30Import-Package: org.apache.log4j
diff --git a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore
index c18e4184..aa1c579f 100644
--- a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore
+++ b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore
@@ -6,147 +6,237 @@
6 <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1" 6 <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1"
7 eType="#//Statement" containment="true"/> 7 eType="#//Statement" containment="true"/>
8 </eClassifiers> 8 </eClassifiers>
9 <eClassifiers xsi:type="ecore:EClass" name="Statement"/> 9 <eClassifiers xsi:type="ecore:EClass" name="Statement">
10 <eClassifiers xsi:type="ecore:EClass" name="BooleanValue"/> 10 <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
11 <eClassifiers xsi:type="ecore:EClass" name="TruthValue"/>
12 <eClassifiers xsi:type="ecore:EClass" name="Interpretation" eSuperTypes="#//Statement"/>
13 <eClassifiers xsi:type="ecore:EClass" name="BasicInterpretation" eSuperTypes="#//Interpretation">
14 <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//Symbol"
15 containment="true"/>
16 <eStructuralFeatures xsi:type="ecore:EReference" name="objects" upperBound="-1"
17 eType="#//ComplexObject" containment="true"/>
18 <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//TruthValue"
19 containment="true"/>
20 </eClassifiers>
21 <eClassifiers xsi:type="ecore:EClass" name="Symbol"/>
22 <eClassifiers xsi:type="ecore:EClass" name="ModelSymbol" eSuperTypes="#//Symbol">
23 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
24 </eClassifiers>
25 <eClassifiers xsi:type="ecore:EClass" name="PartialitySymbol" eSuperTypes="#//Symbol"/>
26 <eClassifiers xsi:type="ecore:EClass" name="ExistSymbol" eSuperTypes="#//PartialitySymbol"/>
27 <eClassifiers xsi:type="ecore:EClass" name="EqualsSymbol" eSuperTypes="#//PartialitySymbol"/>
28 <eClassifiers xsi:type="ecore:EClass" name="DataSymbol" eSuperTypes="#//Symbol"/>
29 <eClassifiers xsi:type="ecore:EClass" name="BooleanSymbol" eSuperTypes="#//DataSymbol"/>
30 <eClassifiers xsi:type="ecore:EClass" name="IntegerSymbol" eSuperTypes="#//DataSymbol"/>
31 <eClassifiers xsi:type="ecore:EClass" name="RealSymbol" eSuperTypes="#//DataSymbol"/>
32 <eClassifiers xsi:type="ecore:EClass" name="StringSymbol" eSuperTypes="#//DataSymbol"/>
33 <eClassifiers xsi:type="ecore:EClass" name="ComplexObject"/>
34 <eClassifiers xsi:type="ecore:EClass" name="Object" eSuperTypes="#//ComplexObject"/>
35 <eClassifiers xsi:type="ecore:EClass" name="NamedObject" eSuperTypes="#//Object #//Literal">
36 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> 11 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
12 <eStructuralFeatures xsi:type="ecore:EReference" name="superclasses" unique="false"
13 upperBound="-1" eType="#//NamedElement"/>
14 <eStructuralFeatures xsi:type="ecore:EReference" name="members" upperBound="-1"
15 eType="#//MemberDefinition" containment="true"/>
37 </eClassifiers> 16 </eClassifiers>
38 <eClassifiers xsi:type="ecore:EClass" name="UnnamedObject" eSuperTypes="#//Object"> 17 <eClassifiers xsi:type="ecore:EClass" name="PredicateDefinition" eSuperTypes="#//Statement">
39 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> 18 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Expression"
19 containment="true"/>
20 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
21 containment="true"/>
22 <eStructuralFeatures xsi:type="ecore:EAttribute" name="functional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
23 <eStructuralFeatures xsi:type="ecore:EAttribute" name="error" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
40 </eClassifiers> 24 </eClassifiers>
41 <eClassifiers xsi:type="ecore:EClass" name="DataObject" eSuperTypes="#//Object #//Literal"/> 25 <eClassifiers xsi:type="ecore:EClass" name="UnnamedErrorPrediateDefinition" eSuperTypes="#//Statement">
42 <eClassifiers xsi:type="ecore:EClass" name="BooleanObject" eSuperTypes="#//DataObject"> 26 <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList"
43 <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//BooleanValue" 27 containment="true"/>
28 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
44 containment="true"/> 29 containment="true"/>
45 </eClassifiers> 30 </eClassifiers>
46 <eClassifiers xsi:type="ecore:EClass" name="IntObject" eSuperTypes="#//DataObject"> 31 <eClassifiers xsi:type="ecore:EClass" name="DefaultDefinition" eSuperTypes="#//Statement">
47 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> 32 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Call" containment="true"/>
33 <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression"
34 containment="true"/>
48 </eClassifiers> 35 </eClassifiers>
49 <eClassifiers xsi:type="ecore:EClass" name="RealObject" eSuperTypes="#//DataObject"> 36 <eClassifiers xsi:type="ecore:EClass" name="ExternPredicateDefinition" eSuperTypes="#//Statement">
50 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/> 37 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Call" containment="true"/>
51 </eClassifiers> 38 </eClassifiers>
52 <eClassifiers xsi:type="ecore:EClass" name="StringObject" eSuperTypes="#//DataObject"> 39 <eClassifiers xsi:type="ecore:EEnum" name="MetricType">
53 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> 40 <eLiterals name="INT" literal="int"/>
41 <eLiterals name="REAL" value="1" literal="real"/>
54 </eClassifiers> 42 </eClassifiers>
55 <eClassifiers xsi:type="ecore:EClass" name="Predicate" eSuperTypes="#//Statement"> 43 <eClassifiers xsi:type="ecore:EClass" name="MetricDefinition" eSuperTypes="#//Statement">
56 <eStructuralFeatures xsi:type="ecore:EAttribute" name="isError" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 44 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Expression"
57 <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//ModelSymbol" 45 containment="true"/>
46 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
58 containment="true"/> 47 containment="true"/>
59 <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1" 48 <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//MetricType"/>
60 eType="#//Parameter" containment="true"/>
61 <eStructuralFeatures xsi:type="ecore:EReference" name="bodies" upperBound="-1"
62 eType="#//PatternBody" containment="true"/>
63 </eClassifiers> 49 </eClassifiers>
64 <eClassifiers xsi:type="ecore:EClass" name="Parameter"> 50 <eClassifiers xsi:type="ecore:EClass" name="ExternMetricDefinition" eSuperTypes="#//Statement">
65 <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//Variable" 51 <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//MetricType"/>
52 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Call" containment="true"/>
53 </eClassifiers>
54 <eClassifiers xsi:type="ecore:EClass" name="Expression" eSuperTypes="#//Statement"/>
55 <eClassifiers xsi:type="ecore:EClass" name="IfElse" eSuperTypes="#//Expression">
56 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
66 containment="true"/> 57 containment="true"/>
67 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//Symbol" 58 <eStructuralFeatures xsi:type="ecore:EReference" name="then" eType="#//Expression"
59 containment="true"/>
60 <eStructuralFeatures xsi:type="ecore:EReference" name="else" eType="#//Expression"
68 containment="true"/> 61 containment="true"/>
69 </eClassifiers> 62 </eClassifiers>
70 <eClassifiers xsi:type="ecore:EClass" name="PatternBody"> 63 <eClassifiers xsi:type="ecore:EClass" name="Case" eSuperTypes="#//Expression">
71 <eStructuralFeatures xsi:type="ecore:EReference" name="constraints" upperBound="-1" 64 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
72 eType="#//Constraint" containment="true"/>
73 </eClassifiers>
74 <eClassifiers xsi:type="ecore:EClass" name="Polarity"/>
75 <eClassifiers xsi:type="ecore:EClass" name="Constraint">
76 <eStructuralFeatures xsi:type="ecore:EReference" name="polarity" eType="#//Polarity"
77 containment="true"/> 65 containment="true"/>
78 <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//ModelSymbol" 66 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
79 containment="true"/> 67 containment="true"/>
80 <eStructuralFeatures xsi:type="ecore:EReference" name="params" upperBound="-1" 68 </eClassifiers>
81 eType="#//Literal" containment="true"/> 69 <eClassifiers xsi:type="ecore:EEnum" name="BinaryOperator">
82 <eStructuralFeatures xsi:type="ecore:EReference" name="closureType" eType="#//ClosureType" 70 <eLiterals name="EQ" literal="EQ"/>
71 <eLiterals name="NOT_EQ" value="1" literal="NOT_EQ"/>
72 <eLiterals name="LESS" value="2" literal="LESS"/>
73 <eLiterals name="LESS_EQ" value="3" literal="LESS_EQ"/>
74 <eLiterals name="GREATER" value="4" literal="GREATER"/>
75 <eLiterals name="GREATER_EQ" value="5" literal="GREATER_EQ"/>
76 <eLiterals name="IN" value="6" literal="IN"/>
77 <eLiterals name="ADD" value="7" literal="ADD"/>
78 <eLiterals name="SUB" value="8" literal="SUB"/>
79 <eLiterals name="MUL" value="9" literal="MUL"/>
80 <eLiterals name="DIV" value="10" literal="DIV"/>
81 <eLiterals name="POW" value="11" literal="POW"/>
82 </eClassifiers>
83 <eClassifiers xsi:type="ecore:EEnum" name="UnaryOp">
84 <eLiterals name="NEG" literal="!"/>
85 <eLiterals name="PLUS" value="1" literal="+"/>
86 <eLiterals name="MINUS" value="2" literal="-"/>
87 <eLiterals name="MAY" value="3" literal="may"/>
88 <eLiterals name="MUST" value="4" literal="must"/>
89 <eLiterals name="CURRENT" value="5" literal="current"/>
90 </eClassifiers>
91 <eClassifiers xsi:type="ecore:EClass" name="Count" eSuperTypes="#//Expression">
92 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
83 containment="true"/> 93 containment="true"/>
84 </eClassifiers> 94 </eClassifiers>
85 <eClassifiers xsi:type="ecore:EClass" name="ClosureType"/> 95 <eClassifiers xsi:type="ecore:EEnum" name="AggregationOp">
86 <eClassifiers xsi:type="ecore:EClass" name="Literal"/> 96 <eLiterals name="ONLY" literal="only"/>
87 <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//Literal"> 97 <eLiterals name="SUM" value="1" literal="sum"/>
88 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> 98 <eLiterals name="PROD" value="2" literal="prod"/>
99 <eLiterals name="AVG" value="3" literal="avg"/>
100 <eLiterals name="MIN" value="4" literal="min"/>
101 <eLiterals name="MAX" value="5" literal="max"/>
89 </eClassifiers> 102 </eClassifiers>
90 <eClassifiers xsi:type="ecore:EClass" name="AllInstances" eSuperTypes="#//ComplexObject"> 103 <eClassifiers xsi:type="ecore:EClass" name="Aggregation" eSuperTypes="#//Expression">
91 <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//Symbol" 104 <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//AggregationOp"/>
105 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
106 containment="true"/>
107 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
92 containment="true"/> 108 containment="true"/>
93 </eClassifiers> 109 </eClassifiers>
94 <eClassifiers xsi:type="ecore:EClass" name="AllObjects" eSuperTypes="#//ComplexObject"/> 110 <eClassifiers xsi:type="ecore:EClass" name="Call" eSuperTypes="#//Expression">
95 <eClassifiers xsi:type="ecore:EClass" name="DefaultInterpretation" eSuperTypes="#//Interpretation"> 111 <eStructuralFeatures xsi:type="ecore:EReference" name="functor" eType="#//Reference"
96 <eStructuralFeatures xsi:type="ecore:EReference" name="interpretation" eType="#//BasicInterpretation" 112 containment="true"/>
113 <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList"
97 containment="true"/> 114 containment="true"/>
115 <eStructuralFeatures xsi:type="ecore:EAttribute" name="transitiveClosure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
116 <eStructuralFeatures xsi:type="ecore:EAttribute" name="reflexiveTransitiveClosure"
117 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
98 </eClassifiers> 118 </eClassifiers>
99 <eClassifiers xsi:type="ecore:EClass" name="CDInterpretation" eSuperTypes="#//Interpretation"/> 119 <eClassifiers xsi:type="ecore:EClass" name="ArgumentList">
100 <eClassifiers xsi:type="ecore:EClass" name="ClassInterpretation" eSuperTypes="#//CDInterpretation"> 120 <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
101 <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 121 eType="#//Argument" containment="true"/>
102 <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//ModelSymbol" 122 </eClassifiers>
123 <eClassifiers xsi:type="ecore:EClass" name="Argument"/>
124 <eClassifiers xsi:type="ecore:EClass" name="ExpressionArgument" eSuperTypes="#//Argument">
125 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
103 containment="true"/> 126 containment="true"/>
104 <eStructuralFeatures xsi:type="ecore:EReference" name="supertypes" upperBound="-1"
105 eType="#//ModelSymbol" containment="true"/>
106 <eStructuralFeatures xsi:type="ecore:EReference" name="fielt" upperBound="-1"
107 eType="#//FieldRelationInterpretation" containment="true"/>
108 </eClassifiers> 127 </eClassifiers>
109 <eClassifiers xsi:type="ecore:EClass" name="EnumInterpretation" eSuperTypes="#//CDInterpretation"> 128 <eClassifiers xsi:type="ecore:EClass" name="StarArgument" eSuperTypes="#//Argument"/>
110 <eStructuralFeatures xsi:type="ecore:EReference" name="Symbol" eType="#//ModelSymbol" 129 <eClassifiers xsi:type="ecore:EClass" name="TypedArgument" eSuperTypes="#//Argument">
130 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
131 <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//NamedElement"/>
132 </eClassifiers>
133 <eClassifiers xsi:type="ecore:EClass" name="TypedStarArgument" eSuperTypes="#//Argument">
134 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
135 </eClassifiers>
136 <eClassifiers xsi:type="ecore:EClass" name="Reference" eSuperTypes="#//Expression">
137 <eStructuralFeatures xsi:type="ecore:EReference" name="referred" eType="#//NamedElement"/>
138 </eClassifiers>
139 <eClassifiers xsi:type="ecore:EClass" name="Interval" eSuperTypes="#//Expression">
140 <eStructuralFeatures xsi:type="ecore:EReference" name="lowerBound" eType="#//Expression"
111 containment="true"/> 141 containment="true"/>
112 <eStructuralFeatures xsi:type="ecore:EReference" name="objects" upperBound="-1" 142 <eStructuralFeatures xsi:type="ecore:EReference" name="upperBound" eType="#//Expression"
113 eType="#//NamedObject" containment="true"/> 143 containment="true"/>
144 </eClassifiers>
145 <eClassifiers xsi:type="ecore:EClass" name="Literal" eSuperTypes="#//Expression"/>
146 <eClassifiers xsi:type="ecore:EEnum" name="LogicValue">
147 <eLiterals name="TRUE" literal="true"/>
148 <eLiterals name="FALSE" value="1" literal="false"/>
149 <eLiterals name="UNKNOWN" value="2" literal="unknown"/>
150 <eLiterals name="ERROR" value="3" literal="error"/>
151 </eClassifiers>
152 <eClassifiers xsi:type="ecore:EClass" name="LogicLiteral" eSuperTypes="#//Literal">
153 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/>
154 </eClassifiers>
155 <eClassifiers xsi:type="ecore:EClass" name="NumericLiteral" eSuperTypes="#//Literal">
156 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
157 </eClassifiers>
158 <eClassifiers xsi:type="ecore:EClass" name="InfinityLiteral" eSuperTypes="#//Literal"/>
159 <eClassifiers xsi:type="ecore:EClass" name="EmptyIntervalLiteral" eSuperTypes="#//Literal"/>
160 <eClassifiers xsi:type="ecore:EClass" name="StringLiteral" eSuperTypes="#//Literal">
161 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
114 </eClassifiers> 162 </eClassifiers>
115 <eClassifiers xsi:type="ecore:EClass" name="FieldRelationInterpretation"> 163 <eClassifiers xsi:type="ecore:EClass" name="MemberDefinition">
116 <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 164 <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
117 <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//ModelSymbol" 165 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
166 <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity"
118 containment="true"/> 167 containment="true"/>
119 <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//MultiplicityDefinition" 168 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
120 containment="true"/> 169 <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//NamedElement"/>
121 <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Symbol" 170 </eClassifiers>
171 <eClassifiers xsi:type="ecore:EClass" name="Multiplicity"/>
172 <eClassifiers xsi:type="ecore:EClass" name="ManyMultiplicity" eSuperTypes="#//Multiplicity"/>
173 <eClassifiers xsi:type="ecore:EClass" name="ExactMultiplicity" eSuperTypes="#//Multiplicity">
174 <eStructuralFeatures xsi:type="ecore:EAttribute" name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
175 </eClassifiers>
176 <eClassifiers xsi:type="ecore:EClass" name="BoundedMultiplicity" eSuperTypes="#//Multiplicity">
177 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
178 <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
179 </eClassifiers>
180 <eClassifiers xsi:type="ecore:EClass" name="ScopeDefinition" eSuperTypes="#//Statement">
181 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
182 </eClassifiers>
183 <eClassifiers xsi:type="ecore:EClass" name="ExactScopeDefinition" eSuperTypes="#//ScopeDefinition">
184 <eStructuralFeatures xsi:type="ecore:EAttribute" name="exactScope" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
185 </eClassifiers>
186 <eClassifiers xsi:type="ecore:EClass" name="BoundedScopeDefinition" eSuperTypes="#//ScopeDefinition">
187 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
188 <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
189 </eClassifiers>
190 <eClassifiers xsi:type="ecore:EClass" name="LowerBoundedScopeDefinition" eSuperTypes="#//ScopeDefinition">
191 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
192 </eClassifiers>
193 <eClassifiers xsi:type="ecore:EEnum" name="ObjectiveKind">
194 <eLiterals name="MINIMIZE" literal="minimize"/>
195 <eLiterals name="MAXIMIZE" value="1" literal="maximize"/>
196 </eClassifiers>
197 <eClassifiers xsi:type="ecore:EClass" name="ObjectiveDefinition" eSuperTypes="#//Statement">
198 <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//ObjectiveKind"/>
199 <eStructuralFeatures xsi:type="ecore:EReference" name="objective" eType="#//Expression"
122 containment="true"/> 200 containment="true"/>
123 </eClassifiers> 201 </eClassifiers>
124 <eClassifiers xsi:type="ecore:EClass" name="GlobalRelationInterpretation" eSuperTypes="#//CDInterpretation"> 202 <eClassifiers xsi:type="ecore:EClass" name="NamedElement">
125 <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 203 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
126 <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//ModelSymbol" 204 </eClassifiers>
205 <eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//Statement">
206 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
127 containment="true"/> 207 containment="true"/>
128 <eStructuralFeatures xsi:type="ecore:EReference" name="sourceMultiplicity" eType="#//MultiplicityDefinition" 208 <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression"
129 containment="true"/> 209 containment="true"/>
130 <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//Symbol" 210 </eClassifiers>
211 <eClassifiers xsi:type="ecore:EClass" name="Disjunction" eSuperTypes="#//Expression">
212 <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
213 eType="#//Expression" containment="true"/>
214 </eClassifiers>
215 <eClassifiers xsi:type="ecore:EClass" name="Switch" eSuperTypes="#//Expression">
216 <eStructuralFeatures xsi:type="ecore:EReference" name="cases" upperBound="-1"
217 eType="#//Case" containment="true"/>
218 </eClassifiers>
219 <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//Expression">
220 <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
221 eType="#//Expression" containment="true"/>
222 </eClassifiers>
223 <eClassifiers xsi:type="ecore:EClass" name="Comparison" eSuperTypes="#//Expression">
224 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression"
131 containment="true"/> 225 containment="true"/>
132 <eStructuralFeatures xsi:type="ecore:EReference" name="targetMultiplicity" eType="#//MultiplicityDefinition" 226 <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//BinaryOperator"/>
227 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression"
133 containment="true"/> 228 containment="true"/>
134 <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Symbol" 229 </eClassifiers>
230 <eClassifiers xsi:type="ecore:EClass" name="BinaryExpression" eSuperTypes="#//Expression">
231 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression"
232 containment="true"/>
233 <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//BinaryOperator"/>
234 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression"
135 containment="true"/> 235 containment="true"/>
136 </eClassifiers> 236 </eClassifiers>
137 <eClassifiers xsi:type="ecore:EClass" name="MultiplicityDefinition"> 237 <eClassifiers xsi:type="ecore:EClass" name="UnaryExpression" eSuperTypes="#//Expression">
138 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> 238 <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//UnaryOp"/>
139 <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> 239 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
140 <eStructuralFeatures xsi:type="ecore:EAttribute" name="unlimitedUpper" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 240 containment="true"/>
141 </eClassifiers> 241 </eClassifiers>
142 <eClassifiers xsi:type="ecore:EClass" name="BooleanTrue" eSuperTypes="#//BooleanValue"/>
143 <eClassifiers xsi:type="ecore:EClass" name="BooleanFalse" eSuperTypes="#//BooleanValue"/>
144 <eClassifiers xsi:type="ecore:EClass" name="True" eSuperTypes="#//TruthValue"/>
145 <eClassifiers xsi:type="ecore:EClass" name="False" eSuperTypes="#//TruthValue"/>
146 <eClassifiers xsi:type="ecore:EClass" name="Unknown" eSuperTypes="#//TruthValue"/>
147 <eClassifiers xsi:type="ecore:EClass" name="Error" eSuperTypes="#//TruthValue"/>
148 <eClassifiers xsi:type="ecore:EClass" name="Positive" eSuperTypes="#//Polarity"/>
149 <eClassifiers xsi:type="ecore:EClass" name="Negative" eSuperTypes="#//Polarity"/>
150 <eClassifiers xsi:type="ecore:EClass" name="ReflexiveClosure" eSuperTypes="#//ClosureType"/>
151 <eClassifiers xsi:type="ecore:EClass" name="IrreflexiveClosure" eSuperTypes="#//ClosureType"/>
152</ecore:EPackage> 242</ecore:EPackage>
diff --git a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel
index 1da7a172..4c88d381 100644
--- a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel
+++ b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel
@@ -1,127 +1,210 @@
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.18.0.M3" 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/src-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="6.0" copyrightFields="false" runtimeVersion="2.18"> 6 complianceLevel="8.0" copyrightFields="false" runtimeVersion="2.20">
7 <genPackages prefix="SolverLanguage" basePackage="org.eclipse.viatra.solver.language" 7 <genPackages prefix="SolverLanguage" basePackage="org.eclipse.viatra.solver.language"
8 disposableProviderFactory="true" fileExtensions="vsc" ecorePackage="SolverLanguage.ecore#/"> 8 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">
14 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/EQ"/>
15 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/NOT_EQ"/>
16 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/LESS"/>
17 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/LESS_EQ"/>
18 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/GREATER"/>
19 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/GREATER_EQ"/>
20 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/IN"/>
21 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/ADD"/>
22 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/SUB"/>
23 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/MUL"/>
24 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/DIV"/>
25 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/POW"/>
26 </genEnums>
27 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//UnaryOp">
28 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/NEG"/>
29 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/PLUS"/>
30 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MINUS"/>
31 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MAY"/>
32 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MUST"/>
33 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/CURRENT"/>
34 </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">
44 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/TRUE"/>
45 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/FALSE"/>
46 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/UNKNOWN"/>
47 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/ERROR"/>
48 </genEnums>
49 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//ObjectiveKind">
50 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MINIMIZE"/>
51 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MAXIMIZE"/>
52 </genEnums>
9 <genClasses ecoreClass="SolverLanguage.ecore#//Problem"> 53 <genClasses ecoreClass="SolverLanguage.ecore#//Problem">
10 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Problem/statements"/> 54 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Problem/statements"/>
11 </genClasses> 55 </genClasses>
12 <genClasses ecoreClass="SolverLanguage.ecore#//Statement"/> 56 <genClasses ecoreClass="SolverLanguage.ecore#//Statement">
13 <genClasses ecoreClass="SolverLanguage.ecore#//BooleanValue"/> 57 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Statement/abstract"/>
14 <genClasses ecoreClass="SolverLanguage.ecore#//TruthValue"/> 58 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Statement/name"/>
15 <genClasses ecoreClass="SolverLanguage.ecore#//Interpretation"/> 59 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Statement/superclasses"/>
16 <genClasses ecoreClass="SolverLanguage.ecore#//BasicInterpretation"> 60 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Statement/members"/>
17 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BasicInterpretation/symbol"/> 61 </genClasses>
18 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BasicInterpretation/objects"/> 62 <genClasses ecoreClass="SolverLanguage.ecore#//PredicateDefinition">
19 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BasicInterpretation/value"/> 63 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//PredicateDefinition/head"/>
20 </genClasses> 64 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//PredicateDefinition/body"/>
21 <genClasses ecoreClass="SolverLanguage.ecore#//Symbol"/> 65 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//PredicateDefinition/functional"/>
22 <genClasses ecoreClass="SolverLanguage.ecore#//ModelSymbol"> 66 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//PredicateDefinition/error"/>
23 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ModelSymbol/name"/> 67 </genClasses>
24 </genClasses> 68 <genClasses ecoreClass="SolverLanguage.ecore#//UnnamedErrorPrediateDefinition">
25 <genClasses ecoreClass="SolverLanguage.ecore#//PartialitySymbol"/> 69 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnnamedErrorPrediateDefinition/argumentList"/>
26 <genClasses ecoreClass="SolverLanguage.ecore#//ExistSymbol"/> 70 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnnamedErrorPrediateDefinition/body"/>
27 <genClasses ecoreClass="SolverLanguage.ecore#//EqualsSymbol"/> 71 </genClasses>
28 <genClasses ecoreClass="SolverLanguage.ecore#//DataSymbol"/> 72 <genClasses ecoreClass="SolverLanguage.ecore#//DefaultDefinition">
29 <genClasses ecoreClass="SolverLanguage.ecore#//BooleanSymbol"/> 73 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/head"/>
30 <genClasses ecoreClass="SolverLanguage.ecore#//IntegerSymbol"/> 74 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/range"/>
31 <genClasses ecoreClass="SolverLanguage.ecore#//RealSymbol"/> 75 </genClasses>
32 <genClasses ecoreClass="SolverLanguage.ecore#//StringSymbol"/> 76 <genClasses ecoreClass="SolverLanguage.ecore#//ExternPredicateDefinition">
33 <genClasses ecoreClass="SolverLanguage.ecore#//ComplexObject"/> 77 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternPredicateDefinition/head"/>
34 <genClasses ecoreClass="SolverLanguage.ecore#//Object"/> 78 </genClasses>
35 <genClasses ecoreClass="SolverLanguage.ecore#//NamedObject"> 79 <genClasses ecoreClass="SolverLanguage.ecore#//MetricDefinition">
36 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//NamedObject/name"/> 80 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/head"/>
37 </genClasses> 81 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/body"/>
38 <genClasses ecoreClass="SolverLanguage.ecore#//UnnamedObject"> 82 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MetricDefinition/type"/>
39 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//UnnamedObject/name"/> 83 </genClasses>
40 </genClasses> 84 <genClasses ecoreClass="SolverLanguage.ecore#//ExternMetricDefinition">
41 <genClasses ecoreClass="SolverLanguage.ecore#//DataObject"/> 85 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExternMetricDefinition/type"/>
42 <genClasses ecoreClass="SolverLanguage.ecore#//BooleanObject"> 86 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternMetricDefinition/head"/>
43 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BooleanObject/value"/> 87 </genClasses>
44 </genClasses> 88 <genClasses ecoreClass="SolverLanguage.ecore#//Expression"/>
45 <genClasses ecoreClass="SolverLanguage.ecore#//IntObject"> 89 <genClasses ecoreClass="SolverLanguage.ecore#//IfElse">
46 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//IntObject/value"/> 90 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/condition"/>
47 </genClasses> 91 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/then"/>
48 <genClasses ecoreClass="SolverLanguage.ecore#//RealObject"> 92 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/else"/>
49 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//RealObject/value"/> 93 </genClasses>
50 </genClasses> 94 <genClasses ecoreClass="SolverLanguage.ecore#//Case">
51 <genClasses ecoreClass="SolverLanguage.ecore#//StringObject"> 95 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Case/condition"/>
52 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//StringObject/value"/> 96 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Case/body"/>
53 </genClasses> 97 </genClasses>
54 <genClasses ecoreClass="SolverLanguage.ecore#//Predicate"> 98 <genClasses ecoreClass="SolverLanguage.ecore#//Count">
55 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Predicate/isError"/> 99 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Count/body"/>
56 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Predicate/symbol"/> 100 </genClasses>
57 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Predicate/parameters"/> 101 <genClasses ecoreClass="SolverLanguage.ecore#//Aggregation">
58 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Predicate/bodies"/> 102 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Aggregation/op"/>
59 </genClasses> 103 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/body"/>
60 <genClasses ecoreClass="SolverLanguage.ecore#//Parameter"> 104 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/condition"/>
61 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Parameter/variable"/> 105 </genClasses>
62 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Parameter/type"/> 106 <genClasses ecoreClass="SolverLanguage.ecore#//Call">
63 </genClasses> 107 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Call/functor"/>
64 <genClasses ecoreClass="SolverLanguage.ecore#//PatternBody"> 108 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Call/argumentList"/>
65 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//PatternBody/constraints"/> 109 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Call/transitiveClosure"/>
66 </genClasses> 110 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Call/reflexiveTransitiveClosure"/>
67 <genClasses ecoreClass="SolverLanguage.ecore#//Polarity"/> 111 </genClasses>
68 <genClasses ecoreClass="SolverLanguage.ecore#//Constraint"> 112 <genClasses ecoreClass="SolverLanguage.ecore#//ArgumentList">
69 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Constraint/polarity"/> 113 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ArgumentList/arguments"/>
70 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Constraint/symbol"/> 114 </genClasses>
71 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Constraint/params"/> 115 <genClasses ecoreClass="SolverLanguage.ecore#//Argument"/>
72 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Constraint/closureType"/> 116 <genClasses ecoreClass="SolverLanguage.ecore#//ExpressionArgument">
73 </genClasses> 117 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExpressionArgument/body"/>
74 <genClasses ecoreClass="SolverLanguage.ecore#//ClosureType"/> 118 </genClasses>
119 <genClasses ecoreClass="SolverLanguage.ecore#//StarArgument"/>
120 <genClasses ecoreClass="SolverLanguage.ecore#//TypedArgument">
121 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//TypedArgument/type"/>
122 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//TypedArgument/variable"/>
123 </genClasses>
124 <genClasses ecoreClass="SolverLanguage.ecore#//TypedStarArgument">
125 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//TypedStarArgument/type"/>
126 </genClasses>
127 <genClasses ecoreClass="SolverLanguage.ecore#//Reference">
128 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Reference/referred"/>
129 </genClasses>
130 <genClasses ecoreClass="SolverLanguage.ecore#//Interval">
131 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Interval/lowerBound"/>
132 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Interval/upperBound"/>
133 </genClasses>
75 <genClasses ecoreClass="SolverLanguage.ecore#//Literal"/> 134 <genClasses ecoreClass="SolverLanguage.ecore#//Literal"/>
76 <genClasses ecoreClass="SolverLanguage.ecore#//Variable"> 135 <genClasses ecoreClass="SolverLanguage.ecore#//LogicLiteral">
77 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Variable/name"/> 136 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//LogicLiteral/value"/>
78 </genClasses> 137 </genClasses>
79 <genClasses ecoreClass="SolverLanguage.ecore#//AllInstances"> 138 <genClasses ecoreClass="SolverLanguage.ecore#//NumericLiteral">
80 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//AllInstances/symbol"/> 139 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//NumericLiteral/value"/>
81 </genClasses> 140 </genClasses>
82 <genClasses ecoreClass="SolverLanguage.ecore#//AllObjects"/> 141 <genClasses ecoreClass="SolverLanguage.ecore#//InfinityLiteral"/>
83 <genClasses ecoreClass="SolverLanguage.ecore#//DefaultInterpretation"> 142 <genClasses ecoreClass="SolverLanguage.ecore#//EmptyIntervalLiteral"/>
84 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultInterpretation/interpretation"/> 143 <genClasses ecoreClass="SolverLanguage.ecore#//StringLiteral">
85 </genClasses> 144 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//StringLiteral/value"/>
86 <genClasses ecoreClass="SolverLanguage.ecore#//CDInterpretation"/> 145 </genClasses>
87 <genClasses ecoreClass="SolverLanguage.ecore#//ClassInterpretation"> 146 <genClasses ecoreClass="SolverLanguage.ecore#//MemberDefinition">
88 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ClassInterpretation/abstract"/> 147 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MemberDefinition/containment"/>
89 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ClassInterpretation/symbol"/> 148 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MemberDefinition/type"/>
90 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ClassInterpretation/supertypes"/> 149 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MemberDefinition/multiplicity"/>
91 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ClassInterpretation/fielt"/> 150 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MemberDefinition/name"/>
92 </genClasses> 151 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MemberDefinition/opposite"/>
93 <genClasses ecoreClass="SolverLanguage.ecore#//EnumInterpretation"> 152 </genClasses>
94 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//EnumInterpretation/Symbol"/> 153 <genClasses ecoreClass="SolverLanguage.ecore#//Multiplicity"/>
95 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//EnumInterpretation/objects"/> 154 <genClasses ecoreClass="SolverLanguage.ecore#//ManyMultiplicity"/>
96 </genClasses> 155 <genClasses ecoreClass="SolverLanguage.ecore#//ExactMultiplicity">
97 <genClasses ecoreClass="SolverLanguage.ecore#//FieldRelationInterpretation"> 156 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExactMultiplicity/multiplicity"/>
98 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//FieldRelationInterpretation/containment"/> 157 </genClasses>
99 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//FieldRelationInterpretation/symbol"/> 158 <genClasses ecoreClass="SolverLanguage.ecore#//BoundedMultiplicity">
100 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//FieldRelationInterpretation/multiplicity"/> 159 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedMultiplicity/lowerBound"/>
101 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//FieldRelationInterpretation/target"/> 160 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedMultiplicity/upperBound"/>
102 </genClasses> 161 </genClasses>
103 <genClasses ecoreClass="SolverLanguage.ecore#//GlobalRelationInterpretation"> 162 <genClasses ecoreClass="SolverLanguage.ecore#//ScopeDefinition">
104 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//GlobalRelationInterpretation/containment"/> 163 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ScopeDefinition/type"/>
105 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//GlobalRelationInterpretation/symbol"/> 164 </genClasses>
106 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//GlobalRelationInterpretation/sourceMultiplicity"/> 165 <genClasses ecoreClass="SolverLanguage.ecore#//ExactScopeDefinition">
107 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//GlobalRelationInterpretation/source"/> 166 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExactScopeDefinition/exactScope"/>
108 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//GlobalRelationInterpretation/targetMultiplicity"/> 167 </genClasses>
109 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//GlobalRelationInterpretation/target"/> 168 <genClasses ecoreClass="SolverLanguage.ecore#//BoundedScopeDefinition">
110 </genClasses> 169 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedScopeDefinition/lowerBound"/>
111 <genClasses ecoreClass="SolverLanguage.ecore#//MultiplicityDefinition"> 170 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedScopeDefinition/upperBound"/>
112 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MultiplicityDefinition/lower"/> 171 </genClasses>
113 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MultiplicityDefinition/upper"/> 172 <genClasses ecoreClass="SolverLanguage.ecore#//LowerBoundedScopeDefinition">
114 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MultiplicityDefinition/unlimitedUpper"/> 173 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//LowerBoundedScopeDefinition/lowerBound"/>
115 </genClasses> 174 </genClasses>
116 <genClasses ecoreClass="SolverLanguage.ecore#//BooleanTrue"/> 175 <genClasses ecoreClass="SolverLanguage.ecore#//ObjectiveDefinition">
117 <genClasses ecoreClass="SolverLanguage.ecore#//BooleanFalse"/> 176 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ObjectiveDefinition/kind"/>
118 <genClasses ecoreClass="SolverLanguage.ecore#//True"/> 177 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ObjectiveDefinition/objective"/>
119 <genClasses ecoreClass="SolverLanguage.ecore#//False"/> 178 </genClasses>
120 <genClasses ecoreClass="SolverLanguage.ecore#//Unknown"/> 179 <genClasses ecoreClass="SolverLanguage.ecore#//NamedElement">
121 <genClasses ecoreClass="SolverLanguage.ecore#//Error"/> 180 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//NamedElement/name"/>
122 <genClasses ecoreClass="SolverLanguage.ecore#//Positive"/> 181 </genClasses>
123 <genClasses ecoreClass="SolverLanguage.ecore#//Negative"/> 182 <genClasses ecoreClass="SolverLanguage.ecore#//Assertion">
124 <genClasses ecoreClass="SolverLanguage.ecore#//ReflexiveClosure"/> 183 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Assertion/body"/>
125 <genClasses ecoreClass="SolverLanguage.ecore#//IrreflexiveClosure"/> 184 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Assertion/range"/>
185 </genClasses>
186 <genClasses ecoreClass="SolverLanguage.ecore#//Disjunction">
187 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Disjunction/children"/>
188 </genClasses>
189 <genClasses ecoreClass="SolverLanguage.ecore#//Switch">
190 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Switch/cases"/>
191 </genClasses>
192 <genClasses ecoreClass="SolverLanguage.ecore#//Conjunction">
193 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Conjunction/children"/>
194 </genClasses>
195 <genClasses ecoreClass="SolverLanguage.ecore#//Comparison">
196 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Comparison/left"/>
197 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Comparison/op"/>
198 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Comparison/right"/>
199 </genClasses>
200 <genClasses ecoreClass="SolverLanguage.ecore#//BinaryExpression">
201 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BinaryExpression/left"/>
202 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BinaryExpression/op"/>
203 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BinaryExpression/right"/>
204 </genClasses>
205 <genClasses ecoreClass="SolverLanguage.ecore#//UnaryExpression">
206 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//UnaryExpression/op"/>
207 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnaryExpression/body"/>
208 </genClasses>
126 </genPackages> 209 </genPackages>
127</genmodel:GenModel> 210</genmodel:GenModel>
diff --git a/Application/org.eclipse.viatra.solver.language/plugin.xml_gen b/Application/org.eclipse.viatra.solver.language/plugin.xml_gen
new file mode 100644
index 00000000..ddd0f613
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/plugin.xml_gen
@@ -0,0 +1,10 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3<plugin>
4 <extension point="org.eclipse.emf.ecore.generated_package">
5 <package
6 uri = "http://www.eclipse.org/viatra/solver/language/SolverLanguage"
7 class = "org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage"
8 genModel = "model/generated/SolverLanguage.genmodel" />
9 </extension>
10</plugin>
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java
index cbf67ff9..5b6118ec 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language; 4package org.eclipse.viatra.solver.language;
5 5
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 c999caec..cbdd7c40 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 91347850..33c82701 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
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language; 4package org.eclipse.viatra.solver.language;
5 5
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageAntlrTokenFileProvider.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageAntlrTokenFileProvider.java
index 059473c8..9b5fd45d 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageAntlrTokenFileProvider.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageAntlrTokenFileProvider.java
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.parser.antlr; 4package org.eclipse.viatra.solver.language.parser.antlr;
5 5
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageParser.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageParser.java
index 7155770e..eb746697 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageParser.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageParser.java
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.parser.antlr; 4package org.eclipse.viatra.solver.language.parser.antlr;
5 5
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g
index 501e2e59..3fac9254 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4grammar InternalSolverLanguage; 4grammar InternalSolverLanguage;
5 5
@@ -23,6 +23,7 @@ import org.eclipse.xtext.parser.*;
23import org.eclipse.xtext.parser.impl.*; 23import org.eclipse.xtext.parser.impl.*;
24import org.eclipse.emf.ecore.util.EcoreUtil; 24import org.eclipse.emf.ecore.util.EcoreUtil;
25import org.eclipse.emf.ecore.EObject; 25import org.eclipse.emf.ecore.EObject;
26import org.eclipse.emf.common.util.Enumerator;
26import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; 27import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
27import org.eclipse.xtext.parser.antlr.XtextTokenStream; 28import org.eclipse.xtext.parser.antlr.XtextTokenStream;
28import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; 29import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
@@ -112,35 +113,242 @@ ruleStatement returns [EObject current=null]
112 leaveRule(); 113 leaveRule();
113}: 114}:
114 ( 115 (
116 (
117 {
118 newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0());
119 }
120 this_AssertionOrDefinition_0=ruleAssertionOrDefinition
121 {
122 $current = $this_AssertionOrDefinition_0.current;
123 afterParserOrEnumRuleCall();
124 }
125 |
126 {
127 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1());
128 }
129 this_PredicateDefinition_1=rulePredicateDefinition
130 {
131 $current = $this_PredicateDefinition_1.current;
132 afterParserOrEnumRuleCall();
133 }
134 |
135 {
136 newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2());
137 }
138 this_UnnamedErrorPrediateDefinition_2=ruleUnnamedErrorPrediateDefinition
139 {
140 $current = $this_UnnamedErrorPrediateDefinition_2.current;
141 afterParserOrEnumRuleCall();
142 }
143 |
144 {
145 newCompositeNode(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3());
146 }
147 this_DefaultDefinition_3=ruleDefaultDefinition
148 {
149 $current = $this_DefaultDefinition_3.current;
150 afterParserOrEnumRuleCall();
151 }
152 |
153 {
154 newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4());
155 }
156 this_ExternPredicateDefinition_4=ruleExternPredicateDefinition
157 {
158 $current = $this_ExternPredicateDefinition_4.current;
159 afterParserOrEnumRuleCall();
160 }
161 |
162 {
163 newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5());
164 }
165 this_MetricDefinition_5=ruleMetricDefinition
166 {
167 $current = $this_MetricDefinition_5.current;
168 afterParserOrEnumRuleCall();
169 }
170 |
171 {
172 newCompositeNode(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6());
173 }
174 this_ExternMetricDefinition_6=ruleExternMetricDefinition
175 {
176 $current = $this_ExternMetricDefinition_6.current;
177 afterParserOrEnumRuleCall();
178 }
179 |
180 {
181 newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7());
182 }
183 this_ClassDefinition_7=ruleClassDefinition
184 {
185 $current = $this_ClassDefinition_7.current;
186 afterParserOrEnumRuleCall();
187 }
188 |
189 {
190 newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8());
191 }
192 this_ScopeDefinition_8=ruleScopeDefinition
193 {
194 $current = $this_ScopeDefinition_8.current;
195 afterParserOrEnumRuleCall();
196 }
197 |
198 {
199 newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9());
200 }
201 this_ObjectiveDefinition_9=ruleObjectiveDefinition
202 {
203 $current = $this_ObjectiveDefinition_9.current;
204 afterParserOrEnumRuleCall();
205 }
206 )
207 this_DOT_10=RULE_DOT
115 { 208 {
116 newCompositeNode(grammarAccess.getStatementAccess().getInterpretationParserRuleCall_0()); 209 newLeafNode(this_DOT_10, grammarAccess.getStatementAccess().getDOTTerminalRuleCall_1());
117 }
118 this_Interpretation_0=ruleInterpretation
119 {
120 $current = $this_Interpretation_0.current;
121 afterParserOrEnumRuleCall();
122 } 210 }
123 | 211 )
212;
213
214// Entry rule entryRuleAssertionOrDefinition
215entryRuleAssertionOrDefinition returns [EObject current=null]:
216 { newCompositeNode(grammarAccess.getAssertionOrDefinitionRule()); }
217 iv_ruleAssertionOrDefinition=ruleAssertionOrDefinition
218 { $current=$iv_ruleAssertionOrDefinition.current; }
219 EOF;
220
221// Rule AssertionOrDefinition
222ruleAssertionOrDefinition returns [EObject current=null]
223@init {
224 enterRule();
225}
226@after {
227 leaveRule();
228}:
229 (
124 { 230 {
125 newCompositeNode(grammarAccess.getStatementAccess().getPredicateParserRuleCall_1()); 231 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0());
126 } 232 }
127 this_Predicate_1=rulePredicate 233 this_Expression_0=ruleExpression
128 { 234 {
129 $current = $this_Predicate_1.current; 235 $current = $this_Expression_0.current;
130 afterParserOrEnumRuleCall(); 236 afterParserOrEnumRuleCall();
131 } 237 }
238 (
239 (
240 (
241 {
242 $current = forceCreateModelElementAndSet(
243 grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0(),
244 $current);
245 }
246 )
247 (
248 otherlv_2=':'
249 {
250 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0());
251 }
252 (
253 (
254 {
255 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0());
256 }
257 lv_range_3_0=ruleExpression
258 {
259 if ($current==null) {
260 $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
261 }
262 set(
263 $current,
264 "range",
265 lv_range_3_0,
266 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
267 afterParserOrEnumRuleCall();
268 }
269 )
270 )
271 )?
272 )
273 |
274 (
275 (
276 {
277 $current = forceCreateModelElementAndSet(
278 grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0(),
279 $current);
280 }
281 )
282 otherlv_5=':-'
283 {
284 newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1());
285 }
286 (
287 (
288 {
289 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0());
290 }
291 lv_body_6_0=ruleExpression
292 {
293 if ($current==null) {
294 $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
295 }
296 set(
297 $current,
298 "body",
299 lv_body_6_0,
300 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
301 afterParserOrEnumRuleCall();
302 }
303 )
304 )
305 )
306 |
307 (
308 (
309 {
310 $current = forceCreateModelElementAndSet(
311 grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0(),
312 $current);
313 }
314 )
315 otherlv_8='='
316 {
317 newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1());
318 }
319 (
320 (
321 {
322 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0());
323 }
324 lv_body_9_0=ruleExpression
325 {
326 if ($current==null) {
327 $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
328 }
329 set(
330 $current,
331 "body",
332 lv_body_9_0,
333 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
334 afterParserOrEnumRuleCall();
335 }
336 )
337 )
338 )
339 )
132 ) 340 )
133; 341;
134 342
135// Entry rule entryRuleREALLiteral 343// Entry rule entryRulePredicateDefinition
136entryRuleREALLiteral returns [String current=null]: 344entryRulePredicateDefinition returns [EObject current=null]:
137 { newCompositeNode(grammarAccess.getREALLiteralRule()); } 345 { newCompositeNode(grammarAccess.getPredicateDefinitionRule()); }
138 iv_ruleREALLiteral=ruleREALLiteral 346 iv_rulePredicateDefinition=rulePredicateDefinition
139 { $current=$iv_ruleREALLiteral.current.getText(); } 347 { $current=$iv_rulePredicateDefinition.current; }
140 EOF; 348 EOF;
141 349
142// Rule REALLiteral 350// Rule PredicateDefinition
143ruleREALLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 351rulePredicateDefinition returns [EObject current=null]
144@init { 352@init {
145 enterRule(); 353 enterRule();
146} 354}
@@ -149,43 +357,122 @@ ruleREALLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleTok
149}: 357}:
150 ( 358 (
151 ( 359 (
152 kw='-' 360 (
153 { 361 (
154 $current.merge(kw); 362 (
155 newLeafNode(kw, grammarAccess.getREALLiteralAccess().getHyphenMinusKeyword_0()); 363 lv_functional_0_0='functional'
156 } 364 {
157 )? 365 newLeafNode(lv_functional_0_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0());
158 this_INT_1=RULE_INT 366 }
159 { 367 {
160 $current.merge(this_INT_1); 368 if ($current==null) {
161 } 369 $current = createModelElement(grammarAccess.getPredicateDefinitionRule());
162 { 370 }
163 newLeafNode(this_INT_1, grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_1()); 371 setWithLastConsumed($current, "functional", true, "functional");
164 } 372 }
165 kw='.' 373 )
166 { 374 )
167 $current.merge(kw); 375 (
168 newLeafNode(kw, grammarAccess.getREALLiteralAccess().getFullStopKeyword_2()); 376 (
169 } 377 lv_error_1_0='error'
170 this_INT_3=RULE_INT 378 {
171 { 379 newLeafNode(lv_error_1_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0());
172 $current.merge(this_INT_3); 380 }
173 } 381 {
382 if ($current==null) {
383 $current = createModelElement(grammarAccess.getPredicateDefinitionRule());
384 }
385 setWithLastConsumed($current, "error", true, "error");
386 }
387 )
388 )?
389 )
390 |
391 (
392 (
393 (
394 lv_error_2_0='error'
395 {
396 newLeafNode(lv_error_2_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0());
397 }
398 {
399 if ($current==null) {
400 $current = createModelElement(grammarAccess.getPredicateDefinitionRule());
401 }
402 setWithLastConsumed($current, "error", true, "error");
403 }
404 )
405 )
406 (
407 (
408 lv_functional_3_0='functional'
409 {
410 newLeafNode(lv_functional_3_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0());
411 }
412 {
413 if ($current==null) {
414 $current = createModelElement(grammarAccess.getPredicateDefinitionRule());
415 }
416 setWithLastConsumed($current, "functional", true, "functional");
417 }
418 )
419 )?
420 )
421 )
422 (
423 (
424 {
425 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0());
426 }
427 lv_head_4_0=ruleCall
428 {
429 if ($current==null) {
430 $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
431 }
432 set(
433 $current,
434 "head",
435 lv_head_4_0,
436 "org.eclipse.viatra.solver.language.SolverLanguage.Call");
437 afterParserOrEnumRuleCall();
438 }
439 )
440 )
441 otherlv_5=':-'
174 { 442 {
175 newLeafNode(this_INT_3, grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_3()); 443 newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2());
176 } 444 }
445 (
446 (
447 {
448 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
449 }
450 lv_body_6_0=ruleExpression
451 {
452 if ($current==null) {
453 $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
454 }
455 set(
456 $current,
457 "body",
458 lv_body_6_0,
459 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
460 afterParserOrEnumRuleCall();
461 }
462 )
463 )
177 ) 464 )
178; 465;
179 466
180// Entry rule entryRuleINTLiteral 467// Entry rule entryRuleUnnamedErrorPrediateDefinition
181entryRuleINTLiteral returns [String current=null]: 468entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null]:
182 { newCompositeNode(grammarAccess.getINTLiteralRule()); } 469 { newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); }
183 iv_ruleINTLiteral=ruleINTLiteral 470 iv_ruleUnnamedErrorPrediateDefinition=ruleUnnamedErrorPrediateDefinition
184 { $current=$iv_ruleINTLiteral.current.getText(); } 471 { $current=$iv_ruleUnnamedErrorPrediateDefinition.current; }
185 EOF; 472 EOF;
186 473
187// Rule INTLiteral 474// Rule UnnamedErrorPrediateDefinition
188ruleINTLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 475ruleUnnamedErrorPrediateDefinition returns [EObject current=null]
189@init { 476@init {
190 enterRule(); 477 enterRule();
191} 478}
@@ -193,32 +480,64 @@ ruleINTLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToke
193 leaveRule(); 480 leaveRule();
194}: 481}:
195 ( 482 (
196 ( 483 otherlv_0='error'
197 kw='-'
198 {
199 $current.merge(kw);
200 newLeafNode(kw, grammarAccess.getINTLiteralAccess().getHyphenMinusKeyword_0());
201 }
202 )?
203 this_INT_1=RULE_INT
204 { 484 {
205 $current.merge(this_INT_1); 485 newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0());
206 } 486 }
487 (
488 (
489 {
490 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0());
491 }
492 lv_argumentList_1_0=ruleArgumentList
493 {
494 if ($current==null) {
495 $current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule());
496 }
497 set(
498 $current,
499 "argumentList",
500 lv_argumentList_1_0,
501 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
502 afterParserOrEnumRuleCall();
503 }
504 )
505 )
506 otherlv_2=':-'
207 { 507 {
208 newLeafNode(this_INT_1, grammarAccess.getINTLiteralAccess().getINTTerminalRuleCall_1()); 508 newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2());
209 } 509 }
510 (
511 (
512 {
513 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
514 }
515 lv_body_3_0=ruleExpression
516 {
517 if ($current==null) {
518 $current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule());
519 }
520 set(
521 $current,
522 "body",
523 lv_body_3_0,
524 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
525 afterParserOrEnumRuleCall();
526 }
527 )
528 )
210 ) 529 )
211; 530;
212 531
213// Entry rule entryRuleBooleanValue 532// Entry rule entryRuleDefaultDefinition
214entryRuleBooleanValue returns [EObject current=null]: 533entryRuleDefaultDefinition returns [EObject current=null]:
215 { newCompositeNode(grammarAccess.getBooleanValueRule()); } 534 { newCompositeNode(grammarAccess.getDefaultDefinitionRule()); }
216 iv_ruleBooleanValue=ruleBooleanValue 535 iv_ruleDefaultDefinition=ruleDefaultDefinition
217 { $current=$iv_ruleBooleanValue.current; } 536 { $current=$iv_ruleDefaultDefinition.current; }
218 EOF; 537 EOF;
219 538
220// Rule BooleanValue 539// Rule DefaultDefinition
221ruleBooleanValue returns [EObject current=null] 540ruleDefaultDefinition returns [EObject current=null]
222@init { 541@init {
223 enterRule(); 542 enterRule();
224} 543}
@@ -226,45 +545,64 @@ ruleBooleanValue returns [EObject current=null]
226 leaveRule(); 545 leaveRule();
227}: 546}:
228 ( 547 (
548 otherlv_0='default'
549 {
550 newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0());
551 }
229 ( 552 (
230 ( 553 (
231 { 554 {
232 $current = forceCreateModelElement( 555 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0());
233 grammarAccess.getBooleanValueAccess().getBooleanTrueAction_0_0(), 556 }
234 $current); 557 lv_head_1_0=ruleCall
558 {
559 if ($current==null) {
560 $current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule());
561 }
562 set(
563 $current,
564 "head",
565 lv_head_1_0,
566 "org.eclipse.viatra.solver.language.SolverLanguage.Call");
567 afterParserOrEnumRuleCall();
235 } 568 }
236 ) 569 )
237 otherlv_1='true'
238 {
239 newLeafNode(otherlv_1, grammarAccess.getBooleanValueAccess().getTrueKeyword_0_1());
240 }
241 ) 570 )
242 | 571 otherlv_2=':'
572 {
573 newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2());
574 }
243 ( 575 (
244 otherlv_2='false'
245 {
246 newLeafNode(otherlv_2, grammarAccess.getBooleanValueAccess().getFalseKeyword_1_0());
247 }
248 ( 576 (
249 { 577 {
250 $current = forceCreateModelElement( 578 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0());
251 grammarAccess.getBooleanValueAccess().getBooleanFalseAction_1_1(), 579 }
252 $current); 580 lv_range_3_0=ruleExpression
581 {
582 if ($current==null) {
583 $current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule());
584 }
585 set(
586 $current,
587 "range",
588 lv_range_3_0,
589 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
590 afterParserOrEnumRuleCall();
253 } 591 }
254 ) 592 )
255 ) 593 )
256 ) 594 )
257; 595;
258 596
259// Entry rule entryRuleTruthValue 597// Entry rule entryRuleExternPredicateDefinition
260entryRuleTruthValue returns [EObject current=null]: 598entryRuleExternPredicateDefinition returns [EObject current=null]:
261 { newCompositeNode(grammarAccess.getTruthValueRule()); } 599 { newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); }
262 iv_ruleTruthValue=ruleTruthValue 600 iv_ruleExternPredicateDefinition=ruleExternPredicateDefinition
263 { $current=$iv_ruleTruthValue.current; } 601 { $current=$iv_ruleExternPredicateDefinition.current; }
264 EOF; 602 EOF;
265 603
266// Rule TruthValue 604// Rule ExternPredicateDefinition
267ruleTruthValue returns [EObject current=null] 605ruleExternPredicateDefinition returns [EObject current=null]
268@init { 606@init {
269 enterRule(); 607 enterRule();
270} 608}
@@ -272,73 +610,125 @@ ruleTruthValue returns [EObject current=null]
272 leaveRule(); 610 leaveRule();
273}: 611}:
274 ( 612 (
613 otherlv_0='extern'
614 {
615 newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0());
616 }
275 ( 617 (
276 ( 618 (
277 { 619 {
278 $current = forceCreateModelElement( 620 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0());
279 grammarAccess.getTruthValueAccess().getTrueAction_0_0(), 621 }
280 $current); 622 lv_head_1_0=ruleCall
623 {
624 if ($current==null) {
625 $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule());
626 }
627 set(
628 $current,
629 "head",
630 lv_head_1_0,
631 "org.eclipse.viatra.solver.language.SolverLanguage.Call");
632 afterParserOrEnumRuleCall();
281 } 633 }
282 ) 634 )
283 otherlv_1='true'
284 {
285 newLeafNode(otherlv_1, grammarAccess.getTruthValueAccess().getTrueKeyword_0_1());
286 }
287 ) 635 )
288 | 636 otherlv_2='.'
637 {
638 newLeafNode(otherlv_2, grammarAccess.getExternPredicateDefinitionAccess().getFullStopKeyword_2());
639 }
640 )
641;
642
643// Entry rule entryRuleMetricDefinition
644entryRuleMetricDefinition returns [EObject current=null]:
645 { newCompositeNode(grammarAccess.getMetricDefinitionRule()); }
646 iv_ruleMetricDefinition=ruleMetricDefinition
647 { $current=$iv_ruleMetricDefinition.current; }
648 EOF;
649
650// Rule MetricDefinition
651ruleMetricDefinition returns [EObject current=null]
652@init {
653 enterRule();
654}
655@after {
656 leaveRule();
657}:
658 (
289 ( 659 (
290 ( 660 (
291 { 661 {
292 $current = forceCreateModelElement( 662 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0());
293 grammarAccess.getTruthValueAccess().getFalseAction_1_0(), 663 }
294 $current); 664 lv_type_0_0=ruleMetricType
665 {
666 if ($current==null) {
667 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
668 }
669 set(
670 $current,
671 "type",
672 lv_type_0_0,
673 "org.eclipse.viatra.solver.language.SolverLanguage.MetricType");
674 afterParserOrEnumRuleCall();
295 } 675 }
296 ) 676 )
297 otherlv_3='false'
298 {
299 newLeafNode(otherlv_3, grammarAccess.getTruthValueAccess().getFalseKeyword_1_1());
300 }
301 ) 677 )
302 |
303 ( 678 (
304 ( 679 (
305 { 680 {
306 $current = forceCreateModelElement( 681 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0());
307 grammarAccess.getTruthValueAccess().getUnknownAction_2_0(), 682 }
308 $current); 683 lv_head_1_0=ruleExpression
684 {
685 if ($current==null) {
686 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
687 }
688 set(
689 $current,
690 "head",
691 lv_head_1_0,
692 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
693 afterParserOrEnumRuleCall();
309 } 694 }
310 ) 695 )
311 otherlv_5='unknown'
312 {
313 newLeafNode(otherlv_5, grammarAccess.getTruthValueAccess().getUnknownKeyword_2_1());
314 }
315 ) 696 )
316 | 697 otherlv_2='='
698 {
699 newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2());
700 }
317 ( 701 (
318 ( 702 (
319 { 703 {
320 $current = forceCreateModelElement( 704 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
321 grammarAccess.getTruthValueAccess().getErrorAction_3_0(), 705 }
322 $current); 706 lv_body_3_0=ruleExpression
707 {
708 if ($current==null) {
709 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
710 }
711 set(
712 $current,
713 "body",
714 lv_body_3_0,
715 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
716 afterParserOrEnumRuleCall();
323 } 717 }
324 ) 718 )
325 otherlv_7='error'
326 {
327 newLeafNode(otherlv_7, grammarAccess.getTruthValueAccess().getErrorKeyword_3_1());
328 }
329 ) 719 )
330 ) 720 )
331; 721;
332 722
333// Entry rule entryRuleInterpretation 723// Entry rule entryRuleExternMetricDefinition
334entryRuleInterpretation returns [EObject current=null]: 724entryRuleExternMetricDefinition returns [EObject current=null]:
335 { newCompositeNode(grammarAccess.getInterpretationRule()); } 725 { newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); }
336 iv_ruleInterpretation=ruleInterpretation 726 iv_ruleExternMetricDefinition=ruleExternMetricDefinition
337 { $current=$iv_ruleInterpretation.current; } 727 { $current=$iv_ruleExternMetricDefinition.current; }
338 EOF; 728 EOF;
339 729
340// Rule Interpretation 730// Rule ExternMetricDefinition
341ruleInterpretation returns [EObject current=null] 731ruleExternMetricDefinition returns [EObject current=null]
342@init { 732@init {
343 enterRule(); 733 enterRule();
344} 734}
@@ -346,44 +736,96 @@ ruleInterpretation returns [EObject current=null]
346 leaveRule(); 736 leaveRule();
347}: 737}:
348 ( 738 (
739 otherlv_0='extern'
349 { 740 {
350 newCompositeNode(grammarAccess.getInterpretationAccess().getBasicInterpretationParserRuleCall_0()); 741 newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0());
351 }
352 this_BasicInterpretation_0=ruleBasicInterpretation
353 {
354 $current = $this_BasicInterpretation_0.current;
355 afterParserOrEnumRuleCall();
356 } 742 }
357 | 743 (
744 (
745 {
746 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0());
747 }
748 lv_type_1_0=ruleMetricType
749 {
750 if ($current==null) {
751 $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule());
752 }
753 set(
754 $current,
755 "type",
756 lv_type_1_0,
757 "org.eclipse.viatra.solver.language.SolverLanguage.MetricType");
758 afterParserOrEnumRuleCall();
759 }
760 )
761 )
762 (
763 (
764 {
765 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0());
766 }
767 lv_head_2_0=ruleCall
768 {
769 if ($current==null) {
770 $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule());
771 }
772 set(
773 $current,
774 "head",
775 lv_head_2_0,
776 "org.eclipse.viatra.solver.language.SolverLanguage.Call");
777 afterParserOrEnumRuleCall();
778 }
779 )
780 )
781 )
782;
783
784// Entry rule entryRuleExpression
785entryRuleExpression returns [EObject current=null]:
786 { newCompositeNode(grammarAccess.getExpressionRule()); }
787 iv_ruleExpression=ruleExpression
788 { $current=$iv_ruleExpression.current; }
789 EOF;
790
791// Rule Expression
792ruleExpression returns [EObject current=null]
793@init {
794 enterRule();
795}
796@after {
797 leaveRule();
798}:
799 (
358 { 800 {
359 newCompositeNode(grammarAccess.getInterpretationAccess().getDefaultInterpretationParserRuleCall_1()); 801 newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0());
360 } 802 }
361 this_DefaultInterpretation_1=ruleDefaultInterpretation 803 this_IfElse_0=ruleIfElse
362 { 804 {
363 $current = $this_DefaultInterpretation_1.current; 805 $current = $this_IfElse_0.current;
364 afterParserOrEnumRuleCall(); 806 afterParserOrEnumRuleCall();
365 } 807 }
366 | 808 |
367 { 809 {
368 newCompositeNode(grammarAccess.getInterpretationAccess().getCDInterpretationParserRuleCall_2()); 810 newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1());
369 } 811 }
370 this_CDInterpretation_2=ruleCDInterpretation 812 this_DisjunctiveExpression_1=ruleDisjunctiveExpression
371 { 813 {
372 $current = $this_CDInterpretation_2.current; 814 $current = $this_DisjunctiveExpression_1.current;
373 afterParserOrEnumRuleCall(); 815 afterParserOrEnumRuleCall();
374 } 816 }
375 ) 817 )
376; 818;
377 819
378// Entry rule entryRuleBasicInterpretation 820// Entry rule entryRuleIfElse
379entryRuleBasicInterpretation returns [EObject current=null]: 821entryRuleIfElse returns [EObject current=null]:
380 { newCompositeNode(grammarAccess.getBasicInterpretationRule()); } 822 { newCompositeNode(grammarAccess.getIfElseRule()); }
381 iv_ruleBasicInterpretation=ruleBasicInterpretation 823 iv_ruleIfElse=ruleIfElse
382 { $current=$iv_ruleBasicInterpretation.current; } 824 { $current=$iv_ruleIfElse.current; }
383 EOF; 825 EOF;
384 826
385// Rule BasicInterpretation 827// Rule IfElse
386ruleBasicInterpretation returns [EObject current=null] 828ruleIfElse returns [EObject current=null]
387@init { 829@init {
388 enterRule(); 830 enterRule();
389} 831}
@@ -391,100 +833,260 @@ ruleBasicInterpretation returns [EObject current=null]
391 leaveRule(); 833 leaveRule();
392}: 834}:
393 ( 835 (
836 otherlv_0='if'
837 {
838 newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0());
839 }
394 ( 840 (
395 ( 841 (
396 { 842 {
397 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getSymbolSymbolParserRuleCall_0_0()); 843 newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0());
398 } 844 }
399 lv_symbol_0_0=ruleSymbol 845 lv_condition_1_0=ruleExpression
400 { 846 {
401 if ($current==null) { 847 if ($current==null) {
402 $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); 848 $current = createModelElementForParent(grammarAccess.getIfElseRule());
403 } 849 }
404 set( 850 set(
405 $current, 851 $current,
406 "symbol", 852 "condition",
407 lv_symbol_0_0, 853 lv_condition_1_0,
408 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); 854 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
409 afterParserOrEnumRuleCall(); 855 afterParserOrEnumRuleCall();
410 } 856 }
411 ) 857 )
412 ) 858 )
859 otherlv_2='then'
860 {
861 newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2());
862 }
413 ( 863 (
414 otherlv_1='('
415 {
416 newLeafNode(otherlv_1, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0());
417 }
418 ( 864 (
865 {
866 newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0());
867 }
868 lv_then_3_0=ruleExpression
869 {
870 if ($current==null) {
871 $current = createModelElementForParent(grammarAccess.getIfElseRule());
872 }
873 set(
874 $current,
875 "then",
876 lv_then_3_0,
877 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
878 afterParserOrEnumRuleCall();
879 }
880 )
881 )
882 otherlv_4='else'
883 {
884 newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4());
885 }
886 (
887 (
888 {
889 newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0());
890 }
891 lv_else_5_0=ruleExpression
892 {
893 if ($current==null) {
894 $current = createModelElementForParent(grammarAccess.getIfElseRule());
895 }
896 set(
897 $current,
898 "else",
899 lv_else_5_0,
900 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
901 afterParserOrEnumRuleCall();
902 }
903 )
904 )
905 )
906;
907
908// Entry rule entryRuleDisjunctiveExpression
909entryRuleDisjunctiveExpression returns [EObject current=null]:
910 { newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); }
911 iv_ruleDisjunctiveExpression=ruleDisjunctiveExpression
912 { $current=$iv_ruleDisjunctiveExpression.current; }
913 EOF;
914
915// Rule DisjunctiveExpression
916ruleDisjunctiveExpression returns [EObject current=null]
917@init {
918 enterRule();
919}
920@after {
921 leaveRule();
922}:
923 (
924 {
925 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0());
926 }
927 this_ConjunctiveExpression_0=ruleConjunctiveExpression
928 {
929 $current = $this_ConjunctiveExpression_0.current;
930 afterParserOrEnumRuleCall();
931 }
932 (
933 (
934 (
935 {
936 $current = forceCreateModelElementAndAdd(
937 grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0(),
938 $current);
939 }
940 )
941 (
942 otherlv_2=';'
943 {
944 newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0());
945 }
946 (
947 (
948 {
949 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0());
950 }
951 lv_children_3_0=ruleConjunctiveExpression
952 {
953 if ($current==null) {
954 $current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule());
955 }
956 add(
957 $current,
958 "children",
959 lv_children_3_0,
960 "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression");
961 afterParserOrEnumRuleCall();
962 }
963 )
964 )
965 )+
966 )
967 |
968 (
969 (
970 {
971 $current = forceCreateModelElementAndSet(
972 grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0(),
973 $current);
974 }
975 )
976 otherlv_5='->'
977 {
978 newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1());
979 }
419 ( 980 (
420 ( 981 (
421 { 982 {
422 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0()); 983 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0());
423 } 984 }
424 lv_objects_2_0=ruleComplexObject 985 lv_body_6_0=ruleConjunctiveExpression
425 { 986 {
426 if ($current==null) { 987 if ($current==null) {
427 $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); 988 $current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule());
428 } 989 }
429 add( 990 set(
430 $current, 991 $current,
431 "objects", 992 "body",
432 lv_objects_2_0, 993 lv_body_6_0,
433 "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject"); 994 "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression");
434 afterParserOrEnumRuleCall(); 995 afterParserOrEnumRuleCall();
435 } 996 }
436 ) 997 )
437 ) 998 )
438 ( 999 (
439 otherlv_3=','
440 { 1000 {
441 newLeafNode(otherlv_3, grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0()); 1001 $current = forceCreateModelElementAndAdd(
1002 grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3(),
1003 $current);
1004 }
1005 )
1006 (
1007 otherlv_8=';'
1008 {
1009 newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0());
442 } 1010 }
443 ( 1011 (
444 ( 1012 (
445 { 1013 {
446 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0()); 1014 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0());
447 } 1015 }
448 lv_objects_4_0=ruleComplexObject 1016 lv_cases_9_0=ruleCase
449 { 1017 {
450 if ($current==null) { 1018 if ($current==null) {
451 $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); 1019 $current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule());
452 } 1020 }
453 add( 1021 add(
454 $current, 1022 $current,
455 "objects", 1023 "cases",
456 lv_objects_4_0, 1024 lv_cases_9_0,
457 "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject"); 1025 "org.eclipse.viatra.solver.language.SolverLanguage.Case");
458 afterParserOrEnumRuleCall(); 1026 afterParserOrEnumRuleCall();
459 } 1027 }
460 ) 1028 )
461 ) 1029 )
462 )* 1030 )*
463 )? 1031 )
464 otherlv_5=')'
465 {
466 newLeafNode(otherlv_5, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2());
467 }
468 )? 1032 )?
469 otherlv_6=':' 1033 )
1034;
1035
1036// Entry rule entryRuleCase
1037entryRuleCase returns [EObject current=null]:
1038 { newCompositeNode(grammarAccess.getCaseRule()); }
1039 iv_ruleCase=ruleCase
1040 { $current=$iv_ruleCase.current; }
1041 EOF;
1042
1043// Rule Case
1044ruleCase returns [EObject current=null]
1045@init {
1046 enterRule();
1047}
1048@after {
1049 leaveRule();
1050}:
1051 (
1052 (
1053 (
1054 {
1055 newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0());
1056 }
1057 lv_condition_0_0=ruleConjunctiveExpression
1058 {
1059 if ($current==null) {
1060 $current = createModelElementForParent(grammarAccess.getCaseRule());
1061 }
1062 set(
1063 $current,
1064 "condition",
1065 lv_condition_0_0,
1066 "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression");
1067 afterParserOrEnumRuleCall();
1068 }
1069 )
1070 )
1071 otherlv_1='->'
470 { 1072 {
471 newLeafNode(otherlv_6, grammarAccess.getBasicInterpretationAccess().getColonKeyword_2()); 1073 newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1());
472 } 1074 }
473 ( 1075 (
474 ( 1076 (
475 { 1077 {
476 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0()); 1078 newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0());
477 } 1079 }
478 lv_value_7_0=ruleTruthValue 1080 lv_body_2_0=ruleConjunctiveExpression
479 { 1081 {
480 if ($current==null) { 1082 if ($current==null) {
481 $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); 1083 $current = createModelElementForParent(grammarAccess.getCaseRule());
482 } 1084 }
483 set( 1085 set(
484 $current, 1086 $current,
485 "value", 1087 "body",
486 lv_value_7_0, 1088 lv_body_2_0,
487 "org.eclipse.viatra.solver.language.SolverLanguage.TruthValue"); 1089 "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression");
488 afterParserOrEnumRuleCall(); 1090 afterParserOrEnumRuleCall();
489 } 1091 }
490 ) 1092 )
@@ -492,15 +1094,15 @@ ruleBasicInterpretation returns [EObject current=null]
492 ) 1094 )
493; 1095;
494 1096
495// Entry rule entryRuleSymbol 1097// Entry rule entryRuleConjunctiveExpression
496entryRuleSymbol returns [EObject current=null]: 1098entryRuleConjunctiveExpression returns [EObject current=null]:
497 { newCompositeNode(grammarAccess.getSymbolRule()); } 1099 { newCompositeNode(grammarAccess.getConjunctiveExpressionRule()); }
498 iv_ruleSymbol=ruleSymbol 1100 iv_ruleConjunctiveExpression=ruleConjunctiveExpression
499 { $current=$iv_ruleSymbol.current; } 1101 { $current=$iv_ruleConjunctiveExpression.current; }
500 EOF; 1102 EOF;
501 1103
502// Rule Symbol 1104// Rule ConjunctiveExpression
503ruleSymbol returns [EObject current=null] 1105ruleConjunctiveExpression returns [EObject current=null]
504@init { 1106@init {
505 enterRule(); 1107 enterRule();
506} 1108}
@@ -509,43 +1111,59 @@ ruleSymbol returns [EObject current=null]
509}: 1111}:
510 ( 1112 (
511 { 1113 {
512 newCompositeNode(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0()); 1114 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0());
513 } 1115 }
514 this_ModelSymbol_0=ruleModelSymbol 1116 this_ComparisonExpression_0=ruleComparisonExpression
515 { 1117 {
516 $current = $this_ModelSymbol_0.current; 1118 $current = $this_ComparisonExpression_0.current;
517 afterParserOrEnumRuleCall();
518 }
519 |
520 {
521 newCompositeNode(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1());
522 }
523 this_PartialitySymbol_1=rulePartialitySymbol
524 {
525 $current = $this_PartialitySymbol_1.current;
526 afterParserOrEnumRuleCall();
527 }
528 |
529 {
530 newCompositeNode(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2());
531 }
532 this_DataSymbol_2=ruleDataSymbol
533 {
534 $current = $this_DataSymbol_2.current;
535 afterParserOrEnumRuleCall(); 1119 afterParserOrEnumRuleCall();
536 } 1120 }
1121 (
1122 (
1123 {
1124 $current = forceCreateModelElementAndAdd(
1125 grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0(),
1126 $current);
1127 }
1128 )
1129 (
1130 otherlv_2=','
1131 {
1132 newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0());
1133 }
1134 (
1135 (
1136 {
1137 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0());
1138 }
1139 lv_children_3_0=ruleComparisonExpression
1140 {
1141 if ($current==null) {
1142 $current = createModelElementForParent(grammarAccess.getConjunctiveExpressionRule());
1143 }
1144 add(
1145 $current,
1146 "children",
1147 lv_children_3_0,
1148 "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression");
1149 afterParserOrEnumRuleCall();
1150 }
1151 )
1152 )
1153 )+
1154 )?
537 ) 1155 )
538; 1156;
539 1157
540// Entry rule entryRuleModelSymbol 1158// Entry rule entryRuleComparisonExpression
541entryRuleModelSymbol returns [EObject current=null]: 1159entryRuleComparisonExpression returns [EObject current=null]:
542 { newCompositeNode(grammarAccess.getModelSymbolRule()); } 1160 { newCompositeNode(grammarAccess.getComparisonExpressionRule()); }
543 iv_ruleModelSymbol=ruleModelSymbol 1161 iv_ruleComparisonExpression=ruleComparisonExpression
544 { $current=$iv_ruleModelSymbol.current; } 1162 { $current=$iv_ruleComparisonExpression.current; }
545 EOF; 1163 EOF;
546 1164
547// Rule ModelSymbol 1165// Rule ComparisonExpression
548ruleModelSymbol returns [EObject current=null] 1166ruleComparisonExpression returns [EObject current=null]
549@init { 1167@init {
550 enterRule(); 1168 enterRule();
551} 1169}
@@ -553,34 +1171,73 @@ ruleModelSymbol returns [EObject current=null]
553 leaveRule(); 1171 leaveRule();
554}: 1172}:
555 ( 1173 (
1174 {
1175 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0());
1176 }
1177 this_AdditiveExpression_0=ruleAdditiveExpression
1178 {
1179 $current = $this_AdditiveExpression_0.current;
1180 afterParserOrEnumRuleCall();
1181 }
556 ( 1182 (
557 lv_name_0_0=RULE_ID 1183 (
558 { 1184 {
559 newLeafNode(lv_name_0_0, grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0()); 1185 $current = forceCreateModelElementAndSet(
560 } 1186 grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0(),
561 { 1187 $current);
562 if ($current==null) {
563 $current = createModelElement(grammarAccess.getModelSymbolRule());
564 } 1188 }
565 setWithLastConsumed( 1189 )
566 $current, 1190 (
567 "name", 1191 (
568 lv_name_0_0, 1192 {
569 "org.eclipse.xtext.common.Terminals.ID"); 1193 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0());
570 } 1194 }
571 ) 1195 lv_op_2_0=ruleComparisonOperator
1196 {
1197 if ($current==null) {
1198 $current = createModelElementForParent(grammarAccess.getComparisonExpressionRule());
1199 }
1200 set(
1201 $current,
1202 "op",
1203 lv_op_2_0,
1204 "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator");
1205 afterParserOrEnumRuleCall();
1206 }
1207 )
1208 )
1209 (
1210 (
1211 {
1212 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0());
1213 }
1214 lv_right_3_0=ruleAdditiveExpression
1215 {
1216 if ($current==null) {
1217 $current = createModelElementForParent(grammarAccess.getComparisonExpressionRule());
1218 }
1219 set(
1220 $current,
1221 "right",
1222 lv_right_3_0,
1223 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression");
1224 afterParserOrEnumRuleCall();
1225 }
1226 )
1227 )
1228 )?
572 ) 1229 )
573; 1230;
574 1231
575// Entry rule entryRulePartialitySymbol 1232// Entry rule entryRuleAdditiveExpression
576entryRulePartialitySymbol returns [EObject current=null]: 1233entryRuleAdditiveExpression returns [EObject current=null]:
577 { newCompositeNode(grammarAccess.getPartialitySymbolRule()); } 1234 { newCompositeNode(grammarAccess.getAdditiveExpressionRule()); }
578 iv_rulePartialitySymbol=rulePartialitySymbol 1235 iv_ruleAdditiveExpression=ruleAdditiveExpression
579 { $current=$iv_rulePartialitySymbol.current; } 1236 { $current=$iv_ruleAdditiveExpression.current; }
580 EOF; 1237 EOF;
581 1238
582// Rule PartialitySymbol 1239// Rule AdditiveExpression
583rulePartialitySymbol returns [EObject current=null] 1240ruleAdditiveExpression returns [EObject current=null]
584@init { 1241@init {
585 enterRule(); 1242 enterRule();
586} 1243}
@@ -589,34 +1246,146 @@ rulePartialitySymbol returns [EObject current=null]
589}: 1246}:
590 ( 1247 (
591 { 1248 {
592 newCompositeNode(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0()); 1249 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0());
593 } 1250 }
594 this_ExistSymbol_0=ruleExistSymbol 1251 this_MultiplicativeExpression_0=ruleMultiplicativeExpression
595 { 1252 {
596 $current = $this_ExistSymbol_0.current; 1253 $current = $this_MultiplicativeExpression_0.current;
597 afterParserOrEnumRuleCall(); 1254 afterParserOrEnumRuleCall();
598 } 1255 }
599 | 1256 (
1257 (
1258 {
1259 $current = forceCreateModelElementAndSet(
1260 grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0(),
1261 $current);
1262 }
1263 )
1264 (
1265 (
1266 {
1267 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0());
1268 }
1269 lv_op_2_0=ruleAdditiveBinaryOperator
1270 {
1271 if ($current==null) {
1272 $current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule());
1273 }
1274 set(
1275 $current,
1276 "op",
1277 lv_op_2_0,
1278 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveBinaryOperator");
1279 afterParserOrEnumRuleCall();
1280 }
1281 )
1282 )
1283 (
1284 (
1285 {
1286 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0());
1287 }
1288 lv_right_3_0=ruleMultiplicativeExpression
1289 {
1290 if ($current==null) {
1291 $current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule());
1292 }
1293 set(
1294 $current,
1295 "right",
1296 lv_right_3_0,
1297 "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeExpression");
1298 afterParserOrEnumRuleCall();
1299 }
1300 )
1301 )
1302 )*
1303 )
1304;
1305
1306// Entry rule entryRuleMultiplicativeExpression
1307entryRuleMultiplicativeExpression returns [EObject current=null]:
1308 { newCompositeNode(grammarAccess.getMultiplicativeExpressionRule()); }
1309 iv_ruleMultiplicativeExpression=ruleMultiplicativeExpression
1310 { $current=$iv_ruleMultiplicativeExpression.current; }
1311 EOF;
1312
1313// Rule MultiplicativeExpression
1314ruleMultiplicativeExpression returns [EObject current=null]
1315@init {
1316 enterRule();
1317}
1318@after {
1319 leaveRule();
1320}:
1321 (
600 { 1322 {
601 newCompositeNode(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1()); 1323 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0());
602 } 1324 }
603 this_EqualsSymbol_1=ruleEqualsSymbol 1325 this_ExponentialExpression_0=ruleExponentialExpression
604 { 1326 {
605 $current = $this_EqualsSymbol_1.current; 1327 $current = $this_ExponentialExpression_0.current;
606 afterParserOrEnumRuleCall(); 1328 afterParserOrEnumRuleCall();
607 } 1329 }
1330 (
1331 (
1332 {
1333 $current = forceCreateModelElementAndSet(
1334 grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0(),
1335 $current);
1336 }
1337 )
1338 (
1339 (
1340 {
1341 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0());
1342 }
1343 lv_op_2_0=ruleMultiplicativeBinaryOperator
1344 {
1345 if ($current==null) {
1346 $current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
1347 }
1348 set(
1349 $current,
1350 "op",
1351 lv_op_2_0,
1352 "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeBinaryOperator");
1353 afterParserOrEnumRuleCall();
1354 }
1355 )
1356 )
1357 (
1358 (
1359 {
1360 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0());
1361 }
1362 lv_right_3_0=ruleExponentialExpression
1363 {
1364 if ($current==null) {
1365 $current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
1366 }
1367 set(
1368 $current,
1369 "right",
1370 lv_right_3_0,
1371 "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression");
1372 afterParserOrEnumRuleCall();
1373 }
1374 )
1375 )
1376 )*
608 ) 1377 )
609; 1378;
610 1379
611// Entry rule entryRuleExistSymbol 1380// Entry rule entryRuleExponentialExpression
612entryRuleExistSymbol returns [EObject current=null]: 1381entryRuleExponentialExpression returns [EObject current=null]:
613 { newCompositeNode(grammarAccess.getExistSymbolRule()); } 1382 { newCompositeNode(grammarAccess.getExponentialExpressionRule()); }
614 iv_ruleExistSymbol=ruleExistSymbol 1383 iv_ruleExponentialExpression=ruleExponentialExpression
615 { $current=$iv_ruleExistSymbol.current; } 1384 { $current=$iv_ruleExponentialExpression.current; }
616 EOF; 1385 EOF;
617 1386
618// Rule ExistSymbol 1387// Rule ExponentialExpression
619ruleExistSymbol returns [EObject current=null] 1388ruleExponentialExpression returns [EObject current=null]
620@init { 1389@init {
621 enterRule(); 1390 enterRule();
622} 1391}
@@ -624,29 +1393,73 @@ ruleExistSymbol returns [EObject current=null]
624 leaveRule(); 1393 leaveRule();
625}: 1394}:
626 ( 1395 (
627 otherlv_0='exists'
628 { 1396 {
629 newLeafNode(otherlv_0, grammarAccess.getExistSymbolAccess().getExistsKeyword_0()); 1397 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0());
1398 }
1399 this_UnaryExpression_0=ruleUnaryExpression
1400 {
1401 $current = $this_UnaryExpression_0.current;
1402 afterParserOrEnumRuleCall();
630 } 1403 }
631 ( 1404 (
632 { 1405 (
633 $current = forceCreateModelElement( 1406 {
634 grammarAccess.getExistSymbolAccess().getExistSymbolAction_1(), 1407 $current = forceCreateModelElementAndSet(
635 $current); 1408 grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0(),
636 } 1409 $current);
637 ) 1410 }
1411 )
1412 (
1413 (
1414 {
1415 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0());
1416 }
1417 lv_op_2_0=ruleExponentialOp
1418 {
1419 if ($current==null) {
1420 $current = createModelElementForParent(grammarAccess.getExponentialExpressionRule());
1421 }
1422 set(
1423 $current,
1424 "op",
1425 lv_op_2_0,
1426 "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialOp");
1427 afterParserOrEnumRuleCall();
1428 }
1429 )
1430 )
1431 (
1432 (
1433 {
1434 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0());
1435 }
1436 lv_right_3_0=ruleExponentialExpression
1437 {
1438 if ($current==null) {
1439 $current = createModelElementForParent(grammarAccess.getExponentialExpressionRule());
1440 }
1441 set(
1442 $current,
1443 "right",
1444 lv_right_3_0,
1445 "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression");
1446 afterParserOrEnumRuleCall();
1447 }
1448 )
1449 )
1450 )?
638 ) 1451 )
639; 1452;
640 1453
641// Entry rule entryRuleEqualsSymbol 1454// Entry rule entryRuleUnaryExpression
642entryRuleEqualsSymbol returns [EObject current=null]: 1455entryRuleUnaryExpression returns [EObject current=null]:
643 { newCompositeNode(grammarAccess.getEqualsSymbolRule()); } 1456 { newCompositeNode(grammarAccess.getUnaryExpressionRule()); }
644 iv_ruleEqualsSymbol=ruleEqualsSymbol 1457 iv_ruleUnaryExpression=ruleUnaryExpression
645 { $current=$iv_ruleEqualsSymbol.current; } 1458 { $current=$iv_ruleUnaryExpression.current; }
646 EOF; 1459 EOF;
647 1460
648// Rule EqualsSymbol 1461// Rule UnaryExpression
649ruleEqualsSymbol returns [EObject current=null] 1462ruleUnaryExpression returns [EObject current=null]
650@init { 1463@init {
651 enterRule(); 1464 enterRule();
652} 1465}
@@ -654,29 +1467,74 @@ ruleEqualsSymbol returns [EObject current=null]
654 leaveRule(); 1467 leaveRule();
655}: 1468}:
656 ( 1469 (
657 otherlv_0='equals'
658 { 1470 {
659 newLeafNode(otherlv_0, grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0()); 1471 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0());
660 } 1472 }
1473 this_AggregationExpression_0=ruleAggregationExpression
1474 {
1475 $current = $this_AggregationExpression_0.current;
1476 afterParserOrEnumRuleCall();
1477 }
1478 |
661 ( 1479 (
662 { 1480 (
663 $current = forceCreateModelElement( 1481 {
664 grammarAccess.getEqualsSymbolAccess().getEqualsSymbolAction_1(), 1482 $current = forceCreateModelElement(
665 $current); 1483 grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0(),
666 } 1484 $current);
1485 }
1486 )
1487 (
1488 (
1489 {
1490 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0());
1491 }
1492 lv_op_2_0=ruleUnaryOp
1493 {
1494 if ($current==null) {
1495 $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule());
1496 }
1497 set(
1498 $current,
1499 "op",
1500 lv_op_2_0,
1501 "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp");
1502 afterParserOrEnumRuleCall();
1503 }
1504 )
1505 )
1506 (
1507 (
1508 {
1509 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0());
1510 }
1511 lv_body_3_0=ruleAggregationExpression
1512 {
1513 if ($current==null) {
1514 $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule());
1515 }
1516 set(
1517 $current,
1518 "body",
1519 lv_body_3_0,
1520 "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression");
1521 afterParserOrEnumRuleCall();
1522 }
1523 )
1524 )
667 ) 1525 )
668 ) 1526 )
669; 1527;
670 1528
671// Entry rule entryRuleDataSymbol 1529// Entry rule entryRuleAggregationExpression
672entryRuleDataSymbol returns [EObject current=null]: 1530entryRuleAggregationExpression returns [EObject current=null]:
673 { newCompositeNode(grammarAccess.getDataSymbolRule()); } 1531 { newCompositeNode(grammarAccess.getAggregationExpressionRule()); }
674 iv_ruleDataSymbol=ruleDataSymbol 1532 iv_ruleAggregationExpression=ruleAggregationExpression
675 { $current=$iv_ruleDataSymbol.current; } 1533 { $current=$iv_ruleAggregationExpression.current; }
676 EOF; 1534 EOF;
677 1535
678// Rule DataSymbol 1536// Rule AggregationExpression
679ruleDataSymbol returns [EObject current=null] 1537ruleAggregationExpression returns [EObject current=null]
680@init { 1538@init {
681 enterRule(); 1539 enterRule();
682} 1540}
@@ -685,52 +1543,93 @@ ruleDataSymbol returns [EObject current=null]
685}: 1543}:
686 ( 1544 (
687 { 1545 {
688 newCompositeNode(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0()); 1546 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0());
689 } 1547 }
690 this_BooleanSymbol_0=ruleBooleanSymbol 1548 this_AtomicExpression_0=ruleAtomicExpression
691 { 1549 {
692 $current = $this_BooleanSymbol_0.current; 1550 $current = $this_AtomicExpression_0.current;
693 afterParserOrEnumRuleCall(); 1551 afterParserOrEnumRuleCall();
694 } 1552 }
695 | 1553 |
696 { 1554 {
697 newCompositeNode(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1()); 1555 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1());
698 } 1556 }
699 this_IntegerSymbol_1=ruleIntegerSymbol 1557 this_Count_1=ruleCount
700 { 1558 {
701 $current = $this_IntegerSymbol_1.current; 1559 $current = $this_Count_1.current;
702 afterParserOrEnumRuleCall(); 1560 afterParserOrEnumRuleCall();
703 } 1561 }
704 | 1562 |
705 { 1563 {
706 newCompositeNode(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2()); 1564 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2());
707 } 1565 }
708 this_RealSymbol_2=ruleRealSymbol 1566 this_Aggregation_2=ruleAggregation
709 { 1567 {
710 $current = $this_RealSymbol_2.current; 1568 $current = $this_Aggregation_2.current;
711 afterParserOrEnumRuleCall(); 1569 afterParserOrEnumRuleCall();
712 } 1570 }
713 | 1571 )
1572;
1573
1574// Entry rule entryRuleCount
1575entryRuleCount returns [EObject current=null]:
1576 { newCompositeNode(grammarAccess.getCountRule()); }
1577 iv_ruleCount=ruleCount
1578 { $current=$iv_ruleCount.current; }
1579 EOF;
1580
1581// Rule Count
1582ruleCount returns [EObject current=null]
1583@init {
1584 enterRule();
1585}
1586@after {
1587 leaveRule();
1588}:
1589 (
1590 otherlv_0='count'
714 { 1591 {
715 newCompositeNode(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3()); 1592 newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0());
716 } 1593 }
717 this_StringSymbol_3=ruleStringSymbol 1594 otherlv_1='{'
718 { 1595 {
719 $current = $this_StringSymbol_3.current; 1596 newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1());
720 afterParserOrEnumRuleCall(); 1597 }
1598 (
1599 (
1600 {
1601 newCompositeNode(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0());
1602 }
1603 lv_body_2_0=ruleExpression
1604 {
1605 if ($current==null) {
1606 $current = createModelElementForParent(grammarAccess.getCountRule());
1607 }
1608 set(
1609 $current,
1610 "body",
1611 lv_body_2_0,
1612 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1613 afterParserOrEnumRuleCall();
1614 }
1615 )
1616 )
1617 otherlv_3='}'
1618 {
1619 newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3());
721 } 1620 }
722 ) 1621 )
723; 1622;
724 1623
725// Entry rule entryRuleBooleanSymbol 1624// Entry rule entryRuleAggregation
726entryRuleBooleanSymbol returns [EObject current=null]: 1625entryRuleAggregation returns [EObject current=null]:
727 { newCompositeNode(grammarAccess.getBooleanSymbolRule()); } 1626 { newCompositeNode(grammarAccess.getAggregationRule()); }
728 iv_ruleBooleanSymbol=ruleBooleanSymbol 1627 iv_ruleAggregation=ruleAggregation
729 { $current=$iv_ruleBooleanSymbol.current; } 1628 { $current=$iv_ruleAggregation.current; }
730 EOF; 1629 EOF;
731 1630
732// Rule BooleanSymbol 1631// Rule Aggregation
733ruleBooleanSymbol returns [EObject current=null] 1632ruleAggregation returns [EObject current=null]
734@init { 1633@init {
735 enterRule(); 1634 enterRule();
736} 1635}
@@ -738,29 +1637,87 @@ ruleBooleanSymbol returns [EObject current=null]
738 leaveRule(); 1637 leaveRule();
739}: 1638}:
740 ( 1639 (
741 otherlv_0='bool' 1640 (
1641 (
1642 {
1643 newCompositeNode(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0());
1644 }
1645 lv_op_0_0=ruleAggregationOp
1646 {
1647 if ($current==null) {
1648 $current = createModelElementForParent(grammarAccess.getAggregationRule());
1649 }
1650 set(
1651 $current,
1652 "op",
1653 lv_op_0_0,
1654 "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp");
1655 afterParserOrEnumRuleCall();
1656 }
1657 )
1658 )
1659 otherlv_1='{'
742 { 1660 {
743 newLeafNode(otherlv_0, grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0()); 1661 newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1());
744 } 1662 }
745 ( 1663 (
746 { 1664 (
747 $current = forceCreateModelElement( 1665 {
748 grammarAccess.getBooleanSymbolAccess().getBooleanSymbolAction_1(), 1666 newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0());
749 $current); 1667 }
750 } 1668 lv_body_2_0=ruleExpression
1669 {
1670 if ($current==null) {
1671 $current = createModelElementForParent(grammarAccess.getAggregationRule());
1672 }
1673 set(
1674 $current,
1675 "body",
1676 lv_body_2_0,
1677 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1678 afterParserOrEnumRuleCall();
1679 }
1680 )
1681 )
1682 otherlv_3='|'
1683 {
1684 newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3());
1685 }
1686 (
1687 (
1688 {
1689 newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0());
1690 }
1691 lv_condition_4_0=ruleExpression
1692 {
1693 if ($current==null) {
1694 $current = createModelElementForParent(grammarAccess.getAggregationRule());
1695 }
1696 set(
1697 $current,
1698 "condition",
1699 lv_condition_4_0,
1700 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1701 afterParserOrEnumRuleCall();
1702 }
1703 )
751 ) 1704 )
1705 otherlv_5='}'
1706 {
1707 newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5());
1708 }
752 ) 1709 )
753; 1710;
754 1711
755// Entry rule entryRuleIntegerSymbol 1712// Entry rule entryRuleAtomicExpression
756entryRuleIntegerSymbol returns [EObject current=null]: 1713entryRuleAtomicExpression returns [EObject current=null]:
757 { newCompositeNode(grammarAccess.getIntegerSymbolRule()); } 1714 { newCompositeNode(grammarAccess.getAtomicExpressionRule()); }
758 iv_ruleIntegerSymbol=ruleIntegerSymbol 1715 iv_ruleAtomicExpression=ruleAtomicExpression
759 { $current=$iv_ruleIntegerSymbol.current; } 1716 { $current=$iv_ruleAtomicExpression.current; }
760 EOF; 1717 EOF;
761 1718
762// Rule IntegerSymbol 1719// Rule AtomicExpression
763ruleIntegerSymbol returns [EObject current=null] 1720ruleAtomicExpression returns [EObject current=null]
764@init { 1721@init {
765 enterRule(); 1722 enterRule();
766} 1723}
@@ -768,29 +1725,94 @@ ruleIntegerSymbol returns [EObject current=null]
768 leaveRule(); 1725 leaveRule();
769}: 1726}:
770 ( 1727 (
771 otherlv_0='int' 1728 (
1729 {
1730 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0_0());
1731 }
1732 this_Reference_0=ruleReference
1733 {
1734 $current = $this_Reference_0.current;
1735 afterParserOrEnumRuleCall();
1736 }
1737 (
1738 (
1739 {
1740 $current = forceCreateModelElementAndSet(
1741 grammarAccess.getAtomicExpressionAccess().getCallFunctorAction_0_1_0(),
1742 $current);
1743 }
1744 )
1745 (
1746 ('(')=>
1747 (
1748 {
1749 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getArgumentListArgumentListParserRuleCall_0_1_1_0());
1750 }
1751 lv_argumentList_2_0=ruleArgumentList
1752 {
1753 if ($current==null) {
1754 $current = createModelElementForParent(grammarAccess.getAtomicExpressionRule());
1755 }
1756 set(
1757 $current,
1758 "argumentList",
1759 lv_argumentList_2_0,
1760 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
1761 afterParserOrEnumRuleCall();
1762 }
1763 )
1764 )
1765 )?
1766 )
1767 |
1768 {
1769 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_1());
1770 }
1771 this_Interval_3=ruleInterval
772 { 1772 {
773 newLeafNode(otherlv_0, grammarAccess.getIntegerSymbolAccess().getIntKeyword_0()); 1773 $current = $this_Interval_3.current;
1774 afterParserOrEnumRuleCall();
774 } 1775 }
1776 |
1777 {
1778 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_2());
1779 }
1780 this_Literal_4=ruleLiteral
1781 {
1782 $current = $this_Literal_4.current;
1783 afterParserOrEnumRuleCall();
1784 }
1785 |
775 ( 1786 (
1787 otherlv_5='('
776 { 1788 {
777 $current = forceCreateModelElement( 1789 newLeafNode(otherlv_5, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0());
778 grammarAccess.getIntegerSymbolAccess().getIntegerSymbolAction_1(), 1790 }
779 $current); 1791 {
1792 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_3_1());
1793 }
1794 this_Expression_6=ruleExpression
1795 {
1796 $current = $this_Expression_6.current;
1797 afterParserOrEnumRuleCall();
1798 }
1799 otherlv_7=')'
1800 {
1801 newLeafNode(otherlv_7, grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_3_2());
780 } 1802 }
781 ) 1803 )
782 ) 1804 )
783; 1805;
784 1806
785// Entry rule entryRuleRealSymbol 1807// Entry rule entryRuleCall
786entryRuleRealSymbol returns [EObject current=null]: 1808entryRuleCall returns [EObject current=null]:
787 { newCompositeNode(grammarAccess.getRealSymbolRule()); } 1809 { newCompositeNode(grammarAccess.getCallRule()); }
788 iv_ruleRealSymbol=ruleRealSymbol 1810 iv_ruleCall=ruleCall
789 { $current=$iv_ruleRealSymbol.current; } 1811 { $current=$iv_ruleCall.current; }
790 EOF; 1812 EOF;
791 1813
792// Rule RealSymbol 1814// Rule Call
793ruleRealSymbol returns [EObject current=null] 1815ruleCall returns [EObject current=null]
794@init { 1816@init {
795 enterRule(); 1817 enterRule();
796} 1818}
@@ -798,29 +1820,95 @@ ruleRealSymbol returns [EObject current=null]
798 leaveRule(); 1820 leaveRule();
799}: 1821}:
800 ( 1822 (
801 otherlv_0='real'
802 {
803 newLeafNode(otherlv_0, grammarAccess.getRealSymbolAccess().getRealKeyword_0());
804 }
805 ( 1823 (
806 { 1824 (
807 $current = forceCreateModelElement( 1825 {
808 grammarAccess.getRealSymbolAccess().getRealSymbolAction_1(), 1826 newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0());
809 $current); 1827 }
810 } 1828 lv_functor_0_0=ruleReference
1829 {
1830 if ($current==null) {
1831 $current = createModelElementForParent(grammarAccess.getCallRule());
1832 }
1833 set(
1834 $current,
1835 "functor",
1836 lv_functor_0_0,
1837 "org.eclipse.viatra.solver.language.SolverLanguage.Reference");
1838 afterParserOrEnumRuleCall();
1839 }
1840 )
1841 )
1842 (
1843 (
1844 (
1845 lv_transitiveClosure_1_0=RULE_STAR
1846 {
1847 newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getCallAccess().getTransitiveClosureSTARTerminalRuleCall_1_0_0());
1848 }
1849 {
1850 if ($current==null) {
1851 $current = createModelElement(grammarAccess.getCallRule());
1852 }
1853 setWithLastConsumed(
1854 $current,
1855 "transitiveClosure",
1856 true,
1857 "org.eclipse.viatra.solver.language.SolverLanguage.STAR");
1858 }
1859 )
1860 )
1861 |
1862 (
1863 (
1864 lv_reflexiveTransitiveClosure_2_0=RULE_PLUS
1865 {
1866 newLeafNode(lv_reflexiveTransitiveClosure_2_0, grammarAccess.getCallAccess().getReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0());
1867 }
1868 {
1869 if ($current==null) {
1870 $current = createModelElement(grammarAccess.getCallRule());
1871 }
1872 setWithLastConsumed(
1873 $current,
1874 "reflexiveTransitiveClosure",
1875 true,
1876 "org.eclipse.viatra.solver.language.SolverLanguage.PLUS");
1877 }
1878 )
1879 )
1880 )?
1881 (
1882 (
1883 {
1884 newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0());
1885 }
1886 lv_argumentList_3_0=ruleArgumentList
1887 {
1888 if ($current==null) {
1889 $current = createModelElementForParent(grammarAccess.getCallRule());
1890 }
1891 set(
1892 $current,
1893 "argumentList",
1894 lv_argumentList_3_0,
1895 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
1896 afterParserOrEnumRuleCall();
1897 }
1898 )
811 ) 1899 )
812 ) 1900 )
813; 1901;
814 1902
815// Entry rule entryRuleStringSymbol 1903// Entry rule entryRuleArgumentList
816entryRuleStringSymbol returns [EObject current=null]: 1904entryRuleArgumentList returns [EObject current=null]:
817 { newCompositeNode(grammarAccess.getStringSymbolRule()); } 1905 { newCompositeNode(grammarAccess.getArgumentListRule()); }
818 iv_ruleStringSymbol=ruleStringSymbol 1906 iv_ruleArgumentList=ruleArgumentList
819 { $current=$iv_ruleStringSymbol.current; } 1907 { $current=$iv_ruleArgumentList.current; }
820 EOF; 1908 EOF;
821 1909
822// Rule StringSymbol 1910// Rule ArgumentList
823ruleStringSymbol returns [EObject current=null] 1911ruleArgumentList returns [EObject current=null]
824@init { 1912@init {
825 enterRule(); 1913 enterRule();
826} 1914}
@@ -828,29 +1916,79 @@ ruleStringSymbol returns [EObject current=null]
828 leaveRule(); 1916 leaveRule();
829}: 1917}:
830 ( 1918 (
831 otherlv_0='string'
832 {
833 newLeafNode(otherlv_0, grammarAccess.getStringSymbolAccess().getStringKeyword_0());
834 }
835 ( 1919 (
836 { 1920 {
837 $current = forceCreateModelElement( 1921 $current = forceCreateModelElement(
838 grammarAccess.getStringSymbolAccess().getStringSymbolAction_1(), 1922 grammarAccess.getArgumentListAccess().getArgumentListAction_0(),
839 $current); 1923 $current);
840 } 1924 }
841 ) 1925 )
1926 otherlv_1='('
1927 {
1928 newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1());
1929 }
1930 (
1931 (
1932 (
1933 {
1934 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0());
1935 }
1936 lv_arguments_2_0=ruleArgument
1937 {
1938 if ($current==null) {
1939 $current = createModelElementForParent(grammarAccess.getArgumentListRule());
1940 }
1941 add(
1942 $current,
1943 "arguments",
1944 lv_arguments_2_0,
1945 "org.eclipse.viatra.solver.language.SolverLanguage.Argument");
1946 afterParserOrEnumRuleCall();
1947 }
1948 )
1949 )
1950 (
1951 otherlv_3=','
1952 {
1953 newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0());
1954 }
1955 (
1956 (
1957 {
1958 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0());
1959 }
1960 lv_arguments_4_0=ruleArgument
1961 {
1962 if ($current==null) {
1963 $current = createModelElementForParent(grammarAccess.getArgumentListRule());
1964 }
1965 add(
1966 $current,
1967 "arguments",
1968 lv_arguments_4_0,
1969 "org.eclipse.viatra.solver.language.SolverLanguage.Argument");
1970 afterParserOrEnumRuleCall();
1971 }
1972 )
1973 )
1974 )*
1975 )?
1976 otherlv_5=')'
1977 {
1978 newLeafNode(otherlv_5, grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3());
1979 }
842 ) 1980 )
843; 1981;
844 1982
845// Entry rule entryRuleComplexObject 1983// Entry rule entryRuleArgument
846entryRuleComplexObject returns [EObject current=null]: 1984entryRuleArgument returns [EObject current=null]:
847 { newCompositeNode(grammarAccess.getComplexObjectRule()); } 1985 { newCompositeNode(grammarAccess.getArgumentRule()); }
848 iv_ruleComplexObject=ruleComplexObject 1986 iv_ruleArgument=ruleArgument
849 { $current=$iv_ruleComplexObject.current; } 1987 { $current=$iv_ruleArgument.current; }
850 EOF; 1988 EOF;
851 1989
852// Rule ComplexObject 1990// Rule Argument
853ruleComplexObject returns [EObject current=null] 1991ruleArgument returns [EObject current=null]
854@init { 1992@init {
855 enterRule(); 1993 enterRule();
856} 1994}
@@ -859,43 +1997,52 @@ ruleComplexObject returns [EObject current=null]
859}: 1997}:
860 ( 1998 (
861 { 1999 {
862 newCompositeNode(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0()); 2000 newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0());
863 } 2001 }
864 this_Object_0=ruleObject 2002 this_ExpressionArgument_0=ruleExpressionArgument
865 { 2003 {
866 $current = $this_Object_0.current; 2004 $current = $this_ExpressionArgument_0.current;
867 afterParserOrEnumRuleCall(); 2005 afterParserOrEnumRuleCall();
868 } 2006 }
869 | 2007 |
870 { 2008 {
871 newCompositeNode(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1()); 2009 newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1());
872 } 2010 }
873 this_AllInstances_1=ruleAllInstances 2011 this_StarArgument_1=ruleStarArgument
874 { 2012 {
875 $current = $this_AllInstances_1.current; 2013 $current = $this_StarArgument_1.current;
876 afterParserOrEnumRuleCall(); 2014 afterParserOrEnumRuleCall();
877 } 2015 }
878 | 2016 |
879 { 2017 {
880 newCompositeNode(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2()); 2018 newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2());
881 } 2019 }
882 this_AllObjects_2=ruleAllObjects 2020 this_TypedArgument_2=ruleTypedArgument
883 { 2021 {
884 $current = $this_AllObjects_2.current; 2022 $current = $this_TypedArgument_2.current;
2023 afterParserOrEnumRuleCall();
2024 }
2025 |
2026 {
2027 newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3());
2028 }
2029 this_TypedStarArgument_3=ruleTypedStarArgument
2030 {
2031 $current = $this_TypedStarArgument_3.current;
885 afterParserOrEnumRuleCall(); 2032 afterParserOrEnumRuleCall();
886 } 2033 }
887 ) 2034 )
888; 2035;
889 2036
890// Entry rule entryRuleObject 2037// Entry rule entryRuleExpressionArgument
891entryRuleObject returns [EObject current=null]: 2038entryRuleExpressionArgument returns [EObject current=null]:
892 { newCompositeNode(grammarAccess.getObjectRule()); } 2039 { newCompositeNode(grammarAccess.getExpressionArgumentRule()); }
893 iv_ruleObject=ruleObject 2040 iv_ruleExpressionArgument=ruleExpressionArgument
894 { $current=$iv_ruleObject.current; } 2041 { $current=$iv_ruleExpressionArgument.current; }
895 EOF; 2042 EOF;
896 2043
897// Rule Object 2044// Rule ExpressionArgument
898ruleObject returns [EObject current=null] 2045ruleExpressionArgument returns [EObject current=null]
899@init { 2046@init {
900 enterRule(); 2047 enterRule();
901} 2048}
@@ -903,44 +2050,35 @@ ruleObject returns [EObject current=null]
903 leaveRule(); 2050 leaveRule();
904}: 2051}:
905 ( 2052 (
906 { 2053 (
907 newCompositeNode(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0()); 2054 {
908 } 2055 newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0());
909 this_NamedObject_0=ruleNamedObject 2056 }
910 { 2057 lv_body_0_0=ruleComparisonExpression
911 $current = $this_NamedObject_0.current; 2058 {
912 afterParserOrEnumRuleCall(); 2059 if ($current==null) {
913 } 2060 $current = createModelElementForParent(grammarAccess.getExpressionArgumentRule());
914 | 2061 }
915 { 2062 set(
916 newCompositeNode(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1()); 2063 $current,
917 } 2064 "body",
918 this_UnnamedObject_1=ruleUnnamedObject 2065 lv_body_0_0,
919 { 2066 "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression");
920 $current = $this_UnnamedObject_1.current; 2067 afterParserOrEnumRuleCall();
921 afterParserOrEnumRuleCall(); 2068 }
922 } 2069 )
923 |
924 {
925 newCompositeNode(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2());
926 }
927 this_DataObject_2=ruleDataObject
928 {
929 $current = $this_DataObject_2.current;
930 afterParserOrEnumRuleCall();
931 }
932 ) 2070 )
933; 2071;
934 2072
935// Entry rule entryRuleNamedObject 2073// Entry rule entryRuleStarArgument
936entryRuleNamedObject returns [EObject current=null]: 2074entryRuleStarArgument returns [EObject current=null]:
937 { newCompositeNode(grammarAccess.getNamedObjectRule()); } 2075 { newCompositeNode(grammarAccess.getStarArgumentRule()); }
938 iv_ruleNamedObject=ruleNamedObject 2076 iv_ruleStarArgument=ruleStarArgument
939 { $current=$iv_ruleNamedObject.current; } 2077 { $current=$iv_ruleStarArgument.current; }
940 EOF; 2078 EOF;
941 2079
942// Rule NamedObject 2080// Rule StarArgument
943ruleNamedObject returns [EObject current=null] 2081ruleStarArgument returns [EObject current=null]
944@init { 2082@init {
945 enterRule(); 2083 enterRule();
946} 2084}
@@ -948,44 +2086,119 @@ ruleNamedObject returns [EObject current=null]
948 leaveRule(); 2086 leaveRule();
949}: 2087}:
950 ( 2088 (
951 otherlv_0='\'' 2089 (
2090 {
2091 $current = forceCreateModelElement(
2092 grammarAccess.getStarArgumentAccess().getStarArgumentAction_0(),
2093 $current);
2094 }
2095 )
2096 otherlv_1='*'
952 { 2097 {
953 newLeafNode(otherlv_0, grammarAccess.getNamedObjectAccess().getApostropheKeyword_0()); 2098 newLeafNode(otherlv_1, grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1());
954 } 2099 }
2100 )
2101;
2102
2103// Entry rule entryRuleTypedArgument
2104entryRuleTypedArgument returns [EObject current=null]:
2105 { newCompositeNode(grammarAccess.getTypedArgumentRule()); }
2106 iv_ruleTypedArgument=ruleTypedArgument
2107 { $current=$iv_ruleTypedArgument.current; }
2108 EOF;
2109
2110// Rule TypedArgument
2111ruleTypedArgument returns [EObject current=null]
2112@init {
2113 enterRule();
2114}
2115@after {
2116 leaveRule();
2117}:
2118 (
955 ( 2119 (
956 ( 2120 (
957 lv_name_1_0=RULE_ID
958 { 2121 {
959 newLeafNode(lv_name_1_0, grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0()); 2122 if ($current==null) {
2123 $current = createModelElement(grammarAccess.getTypedArgumentRule());
2124 }
960 } 2125 }
961 { 2126 {
2127 newCompositeNode(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0());
2128 }
2129 ruleQualifiedName
2130 {
2131 afterParserOrEnumRuleCall();
2132 }
2133 )
2134 )
2135 (
2136 (
2137 {
962 if ($current==null) { 2138 if ($current==null) {
963 $current = createModelElement(grammarAccess.getNamedObjectRule()); 2139 $current = createModelElement(grammarAccess.getTypedArgumentRule());
964 } 2140 }
965 setWithLastConsumed( 2141 }
966 $current, 2142 {
967 "name", 2143 newCompositeNode(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0());
968 lv_name_1_0, 2144 }
969 "org.eclipse.xtext.common.Terminals.ID"); 2145 ruleQualifiedName
2146 {
2147 afterParserOrEnumRuleCall();
970 } 2148 }
971 ) 2149 )
972 ) 2150 )
973 otherlv_2='\'' 2151 )
2152;
2153
2154// Entry rule entryRuleTypedStarArgument
2155entryRuleTypedStarArgument returns [EObject current=null]:
2156 { newCompositeNode(grammarAccess.getTypedStarArgumentRule()); }
2157 iv_ruleTypedStarArgument=ruleTypedStarArgument
2158 { $current=$iv_ruleTypedStarArgument.current; }
2159 EOF;
2160
2161// Rule TypedStarArgument
2162ruleTypedStarArgument returns [EObject current=null]
2163@init {
2164 enterRule();
2165}
2166@after {
2167 leaveRule();
2168}:
2169 (
2170 (
2171 (
2172 {
2173 if ($current==null) {
2174 $current = createModelElement(grammarAccess.getTypedStarArgumentRule());
2175 }
2176 }
2177 {
2178 newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0());
2179 }
2180 ruleQualifiedName
2181 {
2182 afterParserOrEnumRuleCall();
2183 }
2184 )
2185 )
2186 otherlv_1='*'
974 { 2187 {
975 newLeafNode(otherlv_2, grammarAccess.getNamedObjectAccess().getApostropheKeyword_2()); 2188 newLeafNode(otherlv_1, grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1());
976 } 2189 }
977 ) 2190 )
978; 2191;
979 2192
980// Entry rule entryRuleUnnamedObject 2193// Entry rule entryRuleReference
981entryRuleUnnamedObject returns [EObject current=null]: 2194entryRuleReference returns [EObject current=null]:
982 { newCompositeNode(grammarAccess.getUnnamedObjectRule()); } 2195 { newCompositeNode(grammarAccess.getReferenceRule()); }
983 iv_ruleUnnamedObject=ruleUnnamedObject 2196 iv_ruleReference=ruleReference
984 { $current=$iv_ruleUnnamedObject.current; } 2197 { $current=$iv_ruleReference.current; }
985 EOF; 2198 EOF;
986 2199
987// Rule UnnamedObject 2200// Rule Reference
988ruleUnnamedObject returns [EObject current=null] 2201ruleReference returns [EObject current=null]
989@init { 2202@init {
990 enterRule(); 2203 enterRule();
991} 2204}
@@ -994,33 +2207,31 @@ ruleUnnamedObject returns [EObject current=null]
994}: 2207}:
995 ( 2208 (
996 ( 2209 (
997 lv_name_0_0=RULE_ID
998 {
999 newLeafNode(lv_name_0_0, grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0());
1000 }
1001 { 2210 {
1002 if ($current==null) { 2211 if ($current==null) {
1003 $current = createModelElement(grammarAccess.getUnnamedObjectRule()); 2212 $current = createModelElement(grammarAccess.getReferenceRule());
1004 } 2213 }
1005 setWithLastConsumed( 2214 }
1006 $current, 2215 {
1007 "name", 2216 newCompositeNode(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0());
1008 lv_name_0_0, 2217 }
1009 "org.eclipse.xtext.common.Terminals.ID"); 2218 ruleQualifiedName
2219 {
2220 afterParserOrEnumRuleCall();
1010 } 2221 }
1011 ) 2222 )
1012 ) 2223 )
1013; 2224;
1014 2225
1015// Entry rule entryRuleDataObject 2226// Entry rule entryRuleInterval
1016entryRuleDataObject returns [EObject current=null]: 2227entryRuleInterval returns [EObject current=null]:
1017 { newCompositeNode(grammarAccess.getDataObjectRule()); } 2228 { newCompositeNode(grammarAccess.getIntervalRule()); }
1018 iv_ruleDataObject=ruleDataObject 2229 iv_ruleInterval=ruleInterval
1019 { $current=$iv_ruleDataObject.current; } 2230 { $current=$iv_ruleInterval.current; }
1020 EOF; 2231 EOF;
1021 2232
1022// Rule DataObject 2233// Rule Interval
1023ruleDataObject returns [EObject current=null] 2234ruleInterval returns [EObject current=null]
1024@init { 2235@init {
1025 enterRule(); 2236 enterRule();
1026} 2237}
@@ -1028,53 +2239,131 @@ ruleDataObject returns [EObject current=null]
1028 leaveRule(); 2239 leaveRule();
1029}: 2240}:
1030 ( 2241 (
2242 otherlv_0='['
2243 {
2244 newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0());
2245 }
2246 (
2247 (
2248 {
2249 newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0());
2250 }
2251 lv_lowerBound_1_0=ruleExpression
2252 {
2253 if ($current==null) {
2254 $current = createModelElementForParent(grammarAccess.getIntervalRule());
2255 }
2256 set(
2257 $current,
2258 "lowerBound",
2259 lv_lowerBound_1_0,
2260 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
2261 afterParserOrEnumRuleCall();
2262 }
2263 )
2264 )
2265 otherlv_2='..'
1031 { 2266 {
1032 newCompositeNode(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0()); 2267 newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2());
1033 } 2268 }
1034 this_BooleanObject_0=ruleBooleanObject 2269 (
2270 (
2271 {
2272 newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0());
2273 }
2274 lv_upperBound_3_0=ruleExpression
2275 {
2276 if ($current==null) {
2277 $current = createModelElementForParent(grammarAccess.getIntervalRule());
2278 }
2279 set(
2280 $current,
2281 "upperBound",
2282 lv_upperBound_3_0,
2283 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
2284 afterParserOrEnumRuleCall();
2285 }
2286 )
2287 )
2288 otherlv_4=']'
1035 { 2289 {
1036 $current = $this_BooleanObject_0.current; 2290 newLeafNode(otherlv_4, grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4());
2291 }
2292 )
2293;
2294
2295// Entry rule entryRuleLiteral
2296entryRuleLiteral returns [EObject current=null]:
2297 { newCompositeNode(grammarAccess.getLiteralRule()); }
2298 iv_ruleLiteral=ruleLiteral
2299 { $current=$iv_ruleLiteral.current; }
2300 EOF;
2301
2302// Rule Literal
2303ruleLiteral returns [EObject current=null]
2304@init {
2305 enterRule();
2306}
2307@after {
2308 leaveRule();
2309}:
2310 (
2311 {
2312 newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0());
2313 }
2314 this_LogicLiteral_0=ruleLogicLiteral
2315 {
2316 $current = $this_LogicLiteral_0.current;
2317 afterParserOrEnumRuleCall();
2318 }
2319 |
2320 {
2321 newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1());
2322 }
2323 this_NumericLiteral_1=ruleNumericLiteral
2324 {
2325 $current = $this_NumericLiteral_1.current;
1037 afterParserOrEnumRuleCall(); 2326 afterParserOrEnumRuleCall();
1038 } 2327 }
1039 | 2328 |
1040 { 2329 {
1041 newCompositeNode(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1()); 2330 newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2());
1042 } 2331 }
1043 this_IntObject_1=ruleIntObject 2332 this_InfinityLiteral_2=ruleInfinityLiteral
1044 { 2333 {
1045 $current = $this_IntObject_1.current; 2334 $current = $this_InfinityLiteral_2.current;
1046 afterParserOrEnumRuleCall(); 2335 afterParserOrEnumRuleCall();
1047 } 2336 }
1048 | 2337 |
1049 { 2338 {
1050 newCompositeNode(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2()); 2339 newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3());
1051 } 2340 }
1052 this_RealObject_2=ruleRealObject 2341 this_EmptyIntervalLiteral_3=ruleEmptyIntervalLiteral
1053 { 2342 {
1054 $current = $this_RealObject_2.current; 2343 $current = $this_EmptyIntervalLiteral_3.current;
1055 afterParserOrEnumRuleCall(); 2344 afterParserOrEnumRuleCall();
1056 } 2345 }
1057 | 2346 |
1058 { 2347 {
1059 newCompositeNode(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3()); 2348 newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4());
1060 } 2349 }
1061 this_StringObject_3=ruleStringObject 2350 this_StringLiteral_4=ruleStringLiteral
1062 { 2351 {
1063 $current = $this_StringObject_3.current; 2352 $current = $this_StringLiteral_4.current;
1064 afterParserOrEnumRuleCall(); 2353 afterParserOrEnumRuleCall();
1065 } 2354 }
1066 ) 2355 )
1067; 2356;
1068 2357
1069// Entry rule entryRuleBooleanObject 2358// Entry rule entryRuleLogicLiteral
1070entryRuleBooleanObject returns [EObject current=null]: 2359entryRuleLogicLiteral returns [EObject current=null]:
1071 { newCompositeNode(grammarAccess.getBooleanObjectRule()); } 2360 { newCompositeNode(grammarAccess.getLogicLiteralRule()); }
1072 iv_ruleBooleanObject=ruleBooleanObject 2361 iv_ruleLogicLiteral=ruleLogicLiteral
1073 { $current=$iv_ruleBooleanObject.current; } 2362 { $current=$iv_ruleLogicLiteral.current; }
1074 EOF; 2363 EOF;
1075 2364
1076// Rule BooleanObject 2365// Rule LogicLiteral
1077ruleBooleanObject returns [EObject current=null] 2366ruleLogicLiteral returns [EObject current=null]
1078@init { 2367@init {
1079 enterRule(); 2368 enterRule();
1080} 2369}
@@ -1084,33 +2373,33 @@ ruleBooleanObject returns [EObject current=null]
1084 ( 2373 (
1085 ( 2374 (
1086 { 2375 {
1087 newCompositeNode(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0()); 2376 newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0());
1088 } 2377 }
1089 lv_value_0_0=ruleBooleanValue 2378 lv_value_0_0=ruleLogicValue
1090 { 2379 {
1091 if ($current==null) { 2380 if ($current==null) {
1092 $current = createModelElementForParent(grammarAccess.getBooleanObjectRule()); 2381 $current = createModelElementForParent(grammarAccess.getLogicLiteralRule());
1093 } 2382 }
1094 set( 2383 set(
1095 $current, 2384 $current,
1096 "value", 2385 "value",
1097 lv_value_0_0, 2386 lv_value_0_0,
1098 "org.eclipse.viatra.solver.language.SolverLanguage.BooleanValue"); 2387 "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue");
1099 afterParserOrEnumRuleCall(); 2388 afterParserOrEnumRuleCall();
1100 } 2389 }
1101 ) 2390 )
1102 ) 2391 )
1103; 2392;
1104 2393
1105// Entry rule entryRuleIntObject 2394// Entry rule entryRuleNumericLiteral
1106entryRuleIntObject returns [EObject current=null]: 2395entryRuleNumericLiteral returns [EObject current=null]:
1107 { newCompositeNode(grammarAccess.getIntObjectRule()); } 2396 { newCompositeNode(grammarAccess.getNumericLiteralRule()); }
1108 iv_ruleIntObject=ruleIntObject 2397 iv_ruleNumericLiteral=ruleNumericLiteral
1109 { $current=$iv_ruleIntObject.current; } 2398 { $current=$iv_ruleNumericLiteral.current; }
1110 EOF; 2399 EOF;
1111 2400
1112// Rule IntObject 2401// Rule NumericLiteral
1113ruleIntObject returns [EObject current=null] 2402ruleNumericLiteral returns [EObject current=null]
1114@init { 2403@init {
1115 enterRule(); 2404 enterRule();
1116} 2405}
@@ -1120,33 +2409,33 @@ ruleIntObject returns [EObject current=null]
1120 ( 2409 (
1121 ( 2410 (
1122 { 2411 {
1123 newCompositeNode(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0()); 2412 newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0());
1124 } 2413 }
1125 lv_value_0_0=ruleINTLiteral 2414 lv_value_0_0=ruleReal
1126 { 2415 {
1127 if ($current==null) { 2416 if ($current==null) {
1128 $current = createModelElementForParent(grammarAccess.getIntObjectRule()); 2417 $current = createModelElementForParent(grammarAccess.getNumericLiteralRule());
1129 } 2418 }
1130 set( 2419 set(
1131 $current, 2420 $current,
1132 "value", 2421 "value",
1133 lv_value_0_0, 2422 lv_value_0_0,
1134 "org.eclipse.viatra.solver.language.SolverLanguage.INTLiteral"); 2423 "org.eclipse.viatra.solver.language.SolverLanguage.Real");
1135 afterParserOrEnumRuleCall(); 2424 afterParserOrEnumRuleCall();
1136 } 2425 }
1137 ) 2426 )
1138 ) 2427 )
1139; 2428;
1140 2429
1141// Entry rule entryRuleRealObject 2430// Entry rule entryRuleInfinityLiteral
1142entryRuleRealObject returns [EObject current=null]: 2431entryRuleInfinityLiteral returns [EObject current=null]:
1143 { newCompositeNode(grammarAccess.getRealObjectRule()); } 2432 { newCompositeNode(grammarAccess.getInfinityLiteralRule()); }
1144 iv_ruleRealObject=ruleRealObject 2433 iv_ruleInfinityLiteral=ruleInfinityLiteral
1145 { $current=$iv_ruleRealObject.current; } 2434 { $current=$iv_ruleInfinityLiteral.current; }
1146 EOF; 2435 EOF;
1147 2436
1148// Rule RealObject 2437// Rule InfinityLiteral
1149ruleRealObject returns [EObject current=null] 2438ruleInfinityLiteral returns [EObject current=null]
1150@init { 2439@init {
1151 enterRule(); 2440 enterRule();
1152} 2441}
@@ -1156,33 +2445,57 @@ ruleRealObject returns [EObject current=null]
1156 ( 2445 (
1157 ( 2446 (
1158 { 2447 {
1159 newCompositeNode(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0()); 2448 $current = forceCreateModelElement(
2449 grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0(),
2450 $current);
1160 } 2451 }
1161 lv_value_0_0=ruleREALLiteral 2452 )
2453 otherlv_1='inf'
2454 {
2455 newLeafNode(otherlv_1, grammarAccess.getInfinityLiteralAccess().getInfKeyword_1());
2456 }
2457 )
2458;
2459
2460// Entry rule entryRuleEmptyIntervalLiteral
2461entryRuleEmptyIntervalLiteral returns [EObject current=null]:
2462 { newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule()); }
2463 iv_ruleEmptyIntervalLiteral=ruleEmptyIntervalLiteral
2464 { $current=$iv_ruleEmptyIntervalLiteral.current; }
2465 EOF;
2466
2467// Rule EmptyIntervalLiteral
2468ruleEmptyIntervalLiteral returns [EObject current=null]
2469@init {
2470 enterRule();
2471}
2472@after {
2473 leaveRule();
2474}:
2475 (
2476 (
1162 { 2477 {
1163 if ($current==null) { 2478 $current = forceCreateModelElement(
1164 $current = createModelElementForParent(grammarAccess.getRealObjectRule()); 2479 grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0(),
1165 } 2480 $current);
1166 set(
1167 $current,
1168 "value",
1169 lv_value_0_0,
1170 "org.eclipse.viatra.solver.language.SolverLanguage.REALLiteral");
1171 afterParserOrEnumRuleCall();
1172 } 2481 }
1173 ) 2482 )
2483 otherlv_1='empty'
2484 {
2485 newLeafNode(otherlv_1, grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1());
2486 }
1174 ) 2487 )
1175; 2488;
1176 2489
1177// Entry rule entryRuleStringObject 2490// Entry rule entryRuleStringLiteral
1178entryRuleStringObject returns [EObject current=null]: 2491entryRuleStringLiteral returns [EObject current=null]:
1179 { newCompositeNode(grammarAccess.getStringObjectRule()); } 2492 { newCompositeNode(grammarAccess.getStringLiteralRule()); }
1180 iv_ruleStringObject=ruleStringObject 2493 iv_ruleStringLiteral=ruleStringLiteral
1181 { $current=$iv_ruleStringObject.current; } 2494 { $current=$iv_ruleStringLiteral.current; }
1182 EOF; 2495 EOF;
1183 2496
1184// Rule StringObject 2497// Rule StringLiteral
1185ruleStringObject returns [EObject current=null] 2498ruleStringLiteral returns [EObject current=null]
1186@init { 2499@init {
1187 enterRule(); 2500 enterRule();
1188} 2501}
@@ -1193,11 +2506,11 @@ ruleStringObject returns [EObject current=null]
1193 ( 2506 (
1194 lv_value_0_0=RULE_STRING 2507 lv_value_0_0=RULE_STRING
1195 { 2508 {
1196 newLeafNode(lv_value_0_0, grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0()); 2509 newLeafNode(lv_value_0_0, grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0());
1197 } 2510 }
1198 { 2511 {
1199 if ($current==null) { 2512 if ($current==null) {
1200 $current = createModelElement(grammarAccess.getStringObjectRule()); 2513 $current = createModelElement(grammarAccess.getStringLiteralRule());
1201 } 2514 }
1202 setWithLastConsumed( 2515 setWithLastConsumed(
1203 $current, 2516 $current,
@@ -1209,15 +2522,15 @@ ruleStringObject returns [EObject current=null]
1209 ) 2522 )
1210; 2523;
1211 2524
1212// Entry rule entryRulePredicate 2525// Entry rule entryRuleClassDefinition
1213entryRulePredicate returns [EObject current=null]: 2526entryRuleClassDefinition returns [EObject current=null]:
1214 { newCompositeNode(grammarAccess.getPredicateRule()); } 2527 { newCompositeNode(grammarAccess.getClassDefinitionRule()); }
1215 iv_rulePredicate=rulePredicate 2528 iv_ruleClassDefinition=ruleClassDefinition
1216 { $current=$iv_rulePredicate.current; } 2529 { $current=$iv_ruleClassDefinition.current; }
1217 EOF; 2530 EOF;
1218 2531
1219// Rule Predicate 2532// Rule ClassDefinition
1220rulePredicate returns [EObject current=null] 2533ruleClassDefinition returns [EObject current=null]
1221@init { 2534@init {
1222 enterRule(); 2535 enterRule();
1223} 2536}
@@ -1227,166 +2540,123 @@ rulePredicate returns [EObject current=null]
1227 ( 2540 (
1228 ( 2541 (
1229 ( 2542 (
1230 lv_isError_0_0='error' 2543 lv_abstract_0_0='abstract'
1231 { 2544 {
1232 newLeafNode(lv_isError_0_0, grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); 2545 newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0());
1233 } 2546 }
1234 { 2547 {
1235 if ($current==null) { 2548 if ($current==null) {
1236 $current = createModelElement(grammarAccess.getPredicateRule()); 2549 $current = createModelElement(grammarAccess.getClassDefinitionRule());
1237 } 2550 }
1238 setWithLastConsumed($current, "isError", true, "error"); 2551 setWithLastConsumed($current, "abstract", true, "abstract");
1239 } 2552 }
1240 ) 2553 )
1241 )? 2554 )?
2555 otherlv_1='class'
2556 {
2557 newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1());
2558 }
1242 ( 2559 (
1243 ( 2560 (
2561 lv_name_2_0=RULE_ID
1244 { 2562 {
1245 newCompositeNode(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0()); 2563 newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0());
1246 } 2564 }
1247 lv_symbol_1_0=ruleModelSymbol
1248 { 2565 {
1249 if ($current==null) { 2566 if ($current==null) {
1250 $current = createModelElementForParent(grammarAccess.getPredicateRule()); 2567 $current = createModelElement(grammarAccess.getClassDefinitionRule());
1251 } 2568 }
1252 set( 2569 setWithLastConsumed(
1253 $current, 2570 $current,
1254 "symbol", 2571 "name",
1255 lv_symbol_1_0, 2572 lv_name_2_0,
1256 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); 2573 "org.eclipse.xtext.common.Terminals.ID");
1257 afterParserOrEnumRuleCall();
1258 } 2574 }
1259 ) 2575 )
1260 ) 2576 )
1261 ( 2577 (
1262 otherlv_2='(' 2578 otherlv_3='extends'
1263 { 2579 {
1264 newLeafNode(otherlv_2, grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()); 2580 newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0());
1265 } 2581 }
1266 ( 2582 (
1267 ( 2583 (
1268 ( 2584 {
1269 { 2585 if ($current==null) {
1270 newCompositeNode(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0()); 2586 $current = createModelElement(grammarAccess.getClassDefinitionRule());
1271 }
1272 lv_parameters_3_0=ruleParameter
1273 {
1274 if ($current==null) {
1275 $current = createModelElementForParent(grammarAccess.getPredicateRule());
1276 }
1277 add(
1278 $current,
1279 "parameters",
1280 lv_parameters_3_0,
1281 "org.eclipse.viatra.solver.language.SolverLanguage.Parameter");
1282 afterParserOrEnumRuleCall();
1283 } 2587 }
1284 ) 2588 }
1285 )
1286 (
1287 otherlv_4=','
1288 { 2589 {
1289 newLeafNode(otherlv_4, grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0()); 2590 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0());
1290 } 2591 }
1291 ( 2592 ruleQualifiedName
1292 ( 2593 {
1293 { 2594 afterParserOrEnumRuleCall();
1294 newCompositeNode(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0()); 2595 }
1295 } 2596 )
1296 lv_parameters_5_0=ruleParameter 2597 )
1297 {
1298 if ($current==null) {
1299 $current = createModelElementForParent(grammarAccess.getPredicateRule());
1300 }
1301 add(
1302 $current,
1303 "parameters",
1304 lv_parameters_5_0,
1305 "org.eclipse.viatra.solver.language.SolverLanguage.Parameter");
1306 afterParserOrEnumRuleCall();
1307 }
1308 )
1309 )
1310 )*
1311 )?
1312 otherlv_6=')'
1313 {
1314 newLeafNode(otherlv_6, grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2());
1315 }
1316 )?
1317 otherlv_7=':-'
1318 {
1319 newLeafNode(otherlv_7, grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3());
1320 }
1321 (
1322 otherlv_8='false'
1323 {
1324 newLeafNode(otherlv_8, grammarAccess.getPredicateAccess().getFalseKeyword_4_0());
1325 }
1326 |
1327 ( 2598 (
2599 otherlv_5=','
2600 {
2601 newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0());
2602 }
1328 ( 2603 (
1329 ( 2604 (
1330 { 2605 {
1331 newCompositeNode(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0());
1332 }
1333 lv_bodies_9_0=rulePatternBody
1334 {
1335 if ($current==null) { 2606 if ($current==null) {
1336 $current = createModelElementForParent(grammarAccess.getPredicateRule()); 2607 $current = createModelElement(grammarAccess.getClassDefinitionRule());
1337 } 2608 }
1338 add( 2609 }
1339 $current, 2610 {
1340 "bodies", 2611 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0());
1341 lv_bodies_9_0, 2612 }
1342 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); 2613 ruleQualifiedName
2614 {
1343 afterParserOrEnumRuleCall(); 2615 afterParserOrEnumRuleCall();
1344 } 2616 }
1345 ) 2617 )
1346 ) 2618 )
1347 ( 2619 )*
1348 otherlv_10='|' 2620 )?
1349 { 2621 otherlv_7='{'
1350 newLeafNode(otherlv_10, grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0()); 2622 {
2623 newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4());
2624 }
2625 (
2626 (
2627 {
2628 newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0());
2629 }
2630 lv_members_8_0=ruleMemberDefinition
2631 {
2632 if ($current==null) {
2633 $current = createModelElementForParent(grammarAccess.getClassDefinitionRule());
1351 } 2634 }
1352 ( 2635 add(
1353 ( 2636 $current,
1354 { 2637 "members",
1355 newCompositeNode(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0()); 2638 lv_members_8_0,
1356 } 2639 "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition");
1357 lv_bodies_11_0=rulePatternBody 2640 afterParserOrEnumRuleCall();
1358 { 2641 }
1359 if ($current==null) {
1360 $current = createModelElementForParent(grammarAccess.getPredicateRule());
1361 }
1362 add(
1363 $current,
1364 "bodies",
1365 lv_bodies_11_0,
1366 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody");
1367 afterParserOrEnumRuleCall();
1368 }
1369 )
1370 )
1371 )*
1372 ) 2642 )
1373 ) 2643 )*
1374 otherlv_12='.' 2644 otherlv_9='}'
1375 { 2645 {
1376 newLeafNode(otherlv_12, grammarAccess.getPredicateAccess().getFullStopKeyword_5()); 2646 newLeafNode(otherlv_9, grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6());
1377 } 2647 }
1378 ) 2648 )
1379; 2649;
1380 2650
1381// Entry rule entryRuleParameter 2651// Entry rule entryRuleMemberDefinition
1382entryRuleParameter returns [EObject current=null]: 2652entryRuleMemberDefinition returns [EObject current=null]:
1383 { newCompositeNode(grammarAccess.getParameterRule()); } 2653 { newCompositeNode(grammarAccess.getMemberDefinitionRule()); }
1384 iv_ruleParameter=ruleParameter 2654 iv_ruleMemberDefinition=ruleMemberDefinition
1385 { $current=$iv_ruleParameter.current; } 2655 { $current=$iv_ruleMemberDefinition.current; }
1386 EOF; 2656 EOF;
1387 2657
1388// Rule Parameter 2658// Rule MemberDefinition
1389ruleParameter returns [EObject current=null] 2659ruleMemberDefinition returns [EObject current=null]
1390@init { 2660@init {
1391 enterRule(); 2661 enterRule();
1392} 2662}
@@ -1396,60 +2666,156 @@ ruleParameter returns [EObject current=null]
1396 ( 2666 (
1397 ( 2667 (
1398 ( 2668 (
2669 lv_containment_0_0='contains'
2670 {
2671 newLeafNode(lv_containment_0_0, grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0());
2672 }
1399 { 2673 {
1400 newCompositeNode(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0()); 2674 if ($current==null) {
2675 $current = createModelElement(grammarAccess.getMemberDefinitionRule());
2676 }
2677 setWithLastConsumed($current, "containment", true, "contains");
1401 } 2678 }
1402 lv_variable_0_0=ruleVariable 2679 )
2680 )?
2681 (
2682 (
1403 { 2683 {
1404 if ($current==null) { 2684 if ($current==null) {
1405 $current = createModelElementForParent(grammarAccess.getParameterRule()); 2685 $current = createModelElement(grammarAccess.getMemberDefinitionRule());
2686 }
2687 }
2688 {
2689 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0());
2690 }
2691 ruleQualifiedName
2692 {
2693 afterParserOrEnumRuleCall();
2694 }
2695 )
2696 )
2697 (
2698 (
2699 {
2700 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0());
2701 }
2702 lv_multiplicity_2_0=ruleMultiplicity
2703 {
2704 if ($current==null) {
2705 $current = createModelElementForParent(grammarAccess.getMemberDefinitionRule());
1406 } 2706 }
1407 set( 2707 set(
1408 $current, 2708 $current,
1409 "variable", 2709 "multiplicity",
1410 lv_variable_0_0, 2710 lv_multiplicity_2_0,
1411 "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); 2711 "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity");
1412 afterParserOrEnumRuleCall(); 2712 afterParserOrEnumRuleCall();
1413 } 2713 }
1414 ) 2714 )
2715 )?
2716 (
2717 (
2718 lv_name_3_0=RULE_ID
2719 {
2720 newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0());
2721 }
2722 {
2723 if ($current==null) {
2724 $current = createModelElement(grammarAccess.getMemberDefinitionRule());
2725 }
2726 setWithLastConsumed(
2727 $current,
2728 "name",
2729 lv_name_3_0,
2730 "org.eclipse.xtext.common.Terminals.ID");
2731 }
2732 )
1415 ) 2733 )
1416 ( 2734 (
1417 otherlv_1=':' 2735 otherlv_4='opposite'
1418 { 2736 {
1419 newLeafNode(otherlv_1, grammarAccess.getParameterAccess().getColonKeyword_1_0()); 2737 newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0());
1420 } 2738 }
1421 ( 2739 (
1422 ( 2740 (
1423 { 2741 {
1424 newCompositeNode(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0());
1425 }
1426 lv_type_2_0=ruleSymbol
1427 {
1428 if ($current==null) { 2742 if ($current==null) {
1429 $current = createModelElementForParent(grammarAccess.getParameterRule()); 2743 $current = createModelElement(grammarAccess.getMemberDefinitionRule());
1430 } 2744 }
1431 set( 2745 }
1432 $current, 2746 {
1433 "type", 2747 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0());
1434 lv_type_2_0, 2748 }
1435 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); 2749 ruleQualifiedName
2750 {
1436 afterParserOrEnumRuleCall(); 2751 afterParserOrEnumRuleCall();
1437 } 2752 }
1438 ) 2753 )
1439 ) 2754 )
1440 )? 2755 )?
2756 (
2757 otherlv_6=';'
2758 {
2759 newLeafNode(otherlv_6, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5());
2760 }
2761 )?
1441 ) 2762 )
1442; 2763;
1443 2764
1444// Entry rule entryRulePatternBody 2765// Entry rule entryRuleMultiplicity
1445entryRulePatternBody returns [EObject current=null]: 2766entryRuleMultiplicity returns [EObject current=null]:
1446 { newCompositeNode(grammarAccess.getPatternBodyRule()); } 2767 { newCompositeNode(grammarAccess.getMultiplicityRule()); }
1447 iv_rulePatternBody=rulePatternBody 2768 iv_ruleMultiplicity=ruleMultiplicity
1448 { $current=$iv_rulePatternBody.current; } 2769 { $current=$iv_ruleMultiplicity.current; }
1449 EOF; 2770 EOF;
1450 2771
1451// Rule PatternBody 2772// Rule Multiplicity
1452rulePatternBody returns [EObject current=null] 2773ruleMultiplicity returns [EObject current=null]
2774@init {
2775 enterRule();
2776}
2777@after {
2778 leaveRule();
2779}:
2780 (
2781 {
2782 newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0());
2783 }
2784 this_ManyMultiplicity_0=ruleManyMultiplicity
2785 {
2786 $current = $this_ManyMultiplicity_0.current;
2787 afterParserOrEnumRuleCall();
2788 }
2789 |
2790 {
2791 newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
2792 }
2793 this_ExactMultiplicity_1=ruleExactMultiplicity
2794 {
2795 $current = $this_ExactMultiplicity_1.current;
2796 afterParserOrEnumRuleCall();
2797 }
2798 |
2799 {
2800 newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2());
2801 }
2802 this_BoundedMultiplicity_2=ruleBoundedMultiplicity
2803 {
2804 $current = $this_BoundedMultiplicity_2.current;
2805 afterParserOrEnumRuleCall();
2806 }
2807 )
2808;
2809
2810// Entry rule entryRuleManyMultiplicity
2811entryRuleManyMultiplicity returns [EObject current=null]:
2812 { newCompositeNode(grammarAccess.getManyMultiplicityRule()); }
2813 iv_ruleManyMultiplicity=ruleManyMultiplicity
2814 { $current=$iv_ruleManyMultiplicity.current; }
2815 EOF;
2816
2817// Rule ManyMultiplicity
2818ruleManyMultiplicity returns [EObject current=null]
1453@init { 2819@init {
1454 enterRule(); 2820 enterRule();
1455} 2821}
@@ -1460,48 +2826,76 @@ rulePatternBody returns [EObject current=null]
1460 ( 2826 (
1461 { 2827 {
1462 $current = forceCreateModelElement( 2828 $current = forceCreateModelElement(
1463 grammarAccess.getPatternBodyAccess().getPatternBodyAction_0(), 2829 grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0(),
1464 $current); 2830 $current);
1465 } 2831 }
1466 ) 2832 )
2833 otherlv_1='['
2834 {
2835 newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1());
2836 }
2837 otherlv_2=']'
2838 {
2839 newLeafNode(otherlv_2, grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2());
2840 }
2841 )
2842;
2843
2844// Entry rule entryRuleExactMultiplicity
2845entryRuleExactMultiplicity returns [EObject current=null]:
2846 { newCompositeNode(grammarAccess.getExactMultiplicityRule()); }
2847 iv_ruleExactMultiplicity=ruleExactMultiplicity
2848 { $current=$iv_ruleExactMultiplicity.current; }
2849 EOF;
2850
2851// Rule ExactMultiplicity
2852ruleExactMultiplicity returns [EObject current=null]
2853@init {
2854 enterRule();
2855}
2856@after {
2857 leaveRule();
2858}:
2859 (
2860 otherlv_0='['
2861 {
2862 newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0());
2863 }
1467 ( 2864 (
1468 otherlv_1='true'
1469 {
1470 newLeafNode(otherlv_1, grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0());
1471 }
1472 |
1473 ( 2865 (
1474 ( 2866 {
1475 { 2867 newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0());
1476 newCompositeNode(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0()); 2868 }
1477 } 2869 lv_multiplicity_1_0=ruleUpperMultiplicty
1478 lv_constraints_2_0=ruleConstraint 2870 {
1479 { 2871 if ($current==null) {
1480 if ($current==null) { 2872 $current = createModelElementForParent(grammarAccess.getExactMultiplicityRule());
1481 $current = createModelElementForParent(grammarAccess.getPatternBodyRule());
1482 }
1483 add(
1484 $current,
1485 "constraints",
1486 lv_constraints_2_0,
1487 "org.eclipse.viatra.solver.language.SolverLanguage.Constraint");
1488 afterParserOrEnumRuleCall();
1489 } 2873 }
1490 ) 2874 set(
1491 )* 2875 $current,
2876 "multiplicity",
2877 lv_multiplicity_1_0,
2878 "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty");
2879 afterParserOrEnumRuleCall();
2880 }
2881 )
1492 ) 2882 )
2883 otherlv_2=']'
2884 {
2885 newLeafNode(otherlv_2, grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2());
2886 }
1493 ) 2887 )
1494; 2888;
1495 2889
1496// Entry rule entryRulePolarity 2890// Entry rule entryRuleBoundedMultiplicity
1497entryRulePolarity returns [EObject current=null]: 2891entryRuleBoundedMultiplicity returns [EObject current=null]:
1498 { newCompositeNode(grammarAccess.getPolarityRule()); } 2892 { newCompositeNode(grammarAccess.getBoundedMultiplicityRule()); }
1499 iv_rulePolarity=rulePolarity 2893 iv_ruleBoundedMultiplicity=ruleBoundedMultiplicity
1500 { $current=$iv_rulePolarity.current; } 2894 { $current=$iv_ruleBoundedMultiplicity.current; }
1501 EOF; 2895 EOF;
1502 2896
1503// Rule Polarity 2897// Rule BoundedMultiplicity
1504rulePolarity returns [EObject current=null] 2898ruleBoundedMultiplicity returns [EObject current=null]
1505@init { 2899@init {
1506 enterRule(); 2900 enterRule();
1507} 2901}
@@ -1509,45 +2903,173 @@ rulePolarity returns [EObject current=null]
1509 leaveRule(); 2903 leaveRule();
1510}: 2904}:
1511 ( 2905 (
2906 otherlv_0='['
2907 {
2908 newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0());
2909 }
1512 ( 2910 (
1513 ( 2911 (
2912 lv_lowerBound_1_0=RULE_INT
1514 { 2913 {
1515 $current = forceCreateModelElement( 2914 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0());
1516 grammarAccess.getPolarityAccess().getPositiveAction_0_0(), 2915 }
1517 $current); 2916 {
2917 if ($current==null) {
2918 $current = createModelElement(grammarAccess.getBoundedMultiplicityRule());
2919 }
2920 setWithLastConsumed(
2921 $current,
2922 "lowerBound",
2923 lv_lowerBound_1_0,
2924 "org.eclipse.xtext.common.Terminals.INT");
1518 } 2925 }
1519 ) 2926 )
1520 otherlv_1='+'
1521 {
1522 newLeafNode(otherlv_1, grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1());
1523 }
1524 ) 2927 )
2928 otherlv_2='..'
2929 {
2930 newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2());
2931 }
2932 (
2933 (
2934 {
2935 newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0());
2936 }
2937 lv_upperBound_3_0=ruleUpperMultiplicty
2938 {
2939 if ($current==null) {
2940 $current = createModelElementForParent(grammarAccess.getBoundedMultiplicityRule());
2941 }
2942 set(
2943 $current,
2944 "upperBound",
2945 lv_upperBound_3_0,
2946 "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty");
2947 afterParserOrEnumRuleCall();
2948 }
2949 )
2950 )
2951 otherlv_4=']'
2952 {
2953 newLeafNode(otherlv_4, grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4());
2954 }
2955 )
2956;
2957
2958// Entry rule entryRuleScopeDefinition
2959entryRuleScopeDefinition returns [EObject current=null]:
2960 { newCompositeNode(grammarAccess.getScopeDefinitionRule()); }
2961 iv_ruleScopeDefinition=ruleScopeDefinition
2962 { $current=$iv_ruleScopeDefinition.current; }
2963 EOF;
2964
2965// Rule ScopeDefinition
2966ruleScopeDefinition returns [EObject current=null]
2967@init {
2968 enterRule();
2969}
2970@after {
2971 leaveRule();
2972}:
2973 (
2974 {
2975 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0());
2976 }
2977 this_ExactScopeDefinition_0=ruleExactScopeDefinition
2978 {
2979 $current = $this_ExactScopeDefinition_0.current;
2980 afterParserOrEnumRuleCall();
2981 }
2982 |
2983 {
2984 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1());
2985 }
2986 this_BoundedScopeDefinition_1=ruleBoundedScopeDefinition
2987 {
2988 $current = $this_BoundedScopeDefinition_1.current;
2989 afterParserOrEnumRuleCall();
2990 }
1525 | 2991 |
2992 {
2993 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2());
2994 }
2995 this_LowerBoundedScopeDefinition_2=ruleLowerBoundedScopeDefinition
2996 {
2997 $current = $this_LowerBoundedScopeDefinition_2.current;
2998 afterParserOrEnumRuleCall();
2999 }
3000 )
3001;
3002
3003// Entry rule entryRuleExactScopeDefinition
3004entryRuleExactScopeDefinition returns [EObject current=null]:
3005 { newCompositeNode(grammarAccess.getExactScopeDefinitionRule()); }
3006 iv_ruleExactScopeDefinition=ruleExactScopeDefinition
3007 { $current=$iv_ruleExactScopeDefinition.current; }
3008 EOF;
3009
3010// Rule ExactScopeDefinition
3011ruleExactScopeDefinition returns [EObject current=null]
3012@init {
3013 enterRule();
3014}
3015@after {
3016 leaveRule();
3017}:
3018 (
3019 otherlv_0='scope'
3020 {
3021 newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0());
3022 }
1526 ( 3023 (
1527 ( 3024 (
1528 { 3025 {
1529 $current = forceCreateModelElement( 3026 if ($current==null) {
1530 grammarAccess.getPolarityAccess().getNegativeAction_1_0(), 3027 $current = createModelElement(grammarAccess.getExactScopeDefinitionRule());
1531 $current); 3028 }
3029 }
3030 {
3031 newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0());
3032 }
3033 ruleQualifiedName
3034 {
3035 afterParserOrEnumRuleCall();
3036 }
3037 )
3038 )
3039 otherlv_2='=='
3040 {
3041 newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2());
3042 }
3043 (
3044 (
3045 lv_exactScope_3_0=RULE_INT
3046 {
3047 newLeafNode(lv_exactScope_3_0, grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0());
3048 }
3049 {
3050 if ($current==null) {
3051 $current = createModelElement(grammarAccess.getExactScopeDefinitionRule());
3052 }
3053 setWithLastConsumed(
3054 $current,
3055 "exactScope",
3056 lv_exactScope_3_0,
3057 "org.eclipse.xtext.common.Terminals.INT");
1532 } 3058 }
1533 ) 3059 )
1534 otherlv_3='-'
1535 {
1536 newLeafNode(otherlv_3, grammarAccess.getPolarityAccess().getHyphenMinusKeyword_1_1());
1537 }
1538 ) 3060 )
1539 ) 3061 )
1540; 3062;
1541 3063
1542// Entry rule entryRuleConstraint 3064// Entry rule entryRuleBoundedScopeDefinition
1543entryRuleConstraint returns [EObject current=null]: 3065entryRuleBoundedScopeDefinition returns [EObject current=null]:
1544 { newCompositeNode(grammarAccess.getConstraintRule()); } 3066 { newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule()); }
1545 iv_ruleConstraint=ruleConstraint 3067 iv_ruleBoundedScopeDefinition=ruleBoundedScopeDefinition
1546 { $current=$iv_ruleConstraint.current; } 3068 { $current=$iv_ruleBoundedScopeDefinition.current; }
1547 EOF; 3069 EOF;
1548 3070
1549// Rule Constraint 3071// Rule BoundedScopeDefinition
1550ruleConstraint returns [EObject current=null] 3072ruleBoundedScopeDefinition returns [EObject current=null]
1551@init { 3073@init {
1552 enterRule(); 3074 enterRule();
1553} 3075}
@@ -1555,186 +3077,267 @@ ruleConstraint returns [EObject current=null]
1555 leaveRule(); 3077 leaveRule();
1556}: 3078}:
1557 ( 3079 (
3080 otherlv_0='scope'
3081 {
3082 newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0());
3083 }
1558 ( 3084 (
1559 ( 3085 (
1560 ( 3086 (
3087 (
3088 (
3089 lv_lowerBound_1_0=RULE_INT
3090 {
3091 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0());
3092 }
3093 {
3094 if ($current==null) {
3095 $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule());
3096 }
3097 setWithLastConsumed(
3098 $current,
3099 "lowerBound",
3100 lv_lowerBound_1_0,
3101 "org.eclipse.xtext.common.Terminals.INT");
3102 }
3103 )
3104 )
3105 otherlv_2='<='
1561 { 3106 {
1562 newCompositeNode(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0()); 3107 newLeafNode(otherlv_2, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1());
1563 } 3108 }
1564 lv_polarity_0_0=rulePolarity 3109 )?
1565 { 3110 (
1566 if ($current==null) { 3111 (
1567 $current = createModelElementForParent(grammarAccess.getConstraintRule()); 3112 {
3113 if ($current==null) {
3114 $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule());
3115 }
1568 } 3116 }
1569 set( 3117 {
1570 $current, 3118 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0());
1571 "polarity", 3119 }
1572 lv_polarity_0_0, 3120 ruleQualifiedName
1573 "org.eclipse.viatra.solver.language.SolverLanguage.Polarity"); 3121 {
1574 afterParserOrEnumRuleCall(); 3122 afterParserOrEnumRuleCall();
1575 } 3123 }
3124 )
1576 ) 3125 )
1577 )? 3126 otherlv_4='<='
1578 ( 3127 {
3128 newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2());
3129 }
1579 ( 3130 (
1580 { 3131 (
1581 newCompositeNode(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0()); 3132 lv_upperBound_5_0=RULE_INT
1582 } 3133 {
1583 lv_symbol_1_0=ruleModelSymbol 3134 newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0());
1584 {
1585 if ($current==null) {
1586 $current = createModelElementForParent(grammarAccess.getConstraintRule());
1587 } 3135 }
1588 set( 3136 {
1589 $current, 3137 if ($current==null) {
1590 "symbol", 3138 $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule());
1591 lv_symbol_1_0, 3139 }
1592 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); 3140 setWithLastConsumed(
1593 afterParserOrEnumRuleCall(); 3141 $current,
1594 } 3142 "upperBound",
3143 lv_upperBound_5_0,
3144 "org.eclipse.xtext.common.Terminals.INT");
3145 }
3146 )
1595 ) 3147 )
1596 ) 3148 )
3149 |
1597 ( 3150 (
1598 otherlv_2='('
1599 {
1600 newLeafNode(otherlv_2, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0());
1601 }
1602 ( 3151 (
1603 ( 3152 (
3153 lv_upperBound_6_0=RULE_INT
1604 { 3154 {
1605 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0()); 3155 newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0());
1606 } 3156 }
1607 lv_params_3_0=ruleLiteral
1608 { 3157 {
1609 if ($current==null) { 3158 if ($current==null) {
1610 $current = createModelElementForParent(grammarAccess.getConstraintRule()); 3159 $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule());
1611 } 3160 }
1612 add( 3161 setWithLastConsumed(
1613 $current, 3162 $current,
1614 "params", 3163 "upperBound",
1615 lv_params_3_0, 3164 lv_upperBound_6_0,
1616 "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); 3165 "org.eclipse.xtext.common.Terminals.INT");
3166 }
3167 )
3168 )
3169 otherlv_7='>='
3170 {
3171 newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
3172 }
3173 (
3174 (
3175 {
3176 if ($current==null) {
3177 $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule());
3178 }
3179 }
3180 {
3181 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0());
3182 }
3183 ruleQualifiedName
3184 {
1617 afterParserOrEnumRuleCall(); 3185 afterParserOrEnumRuleCall();
1618 } 3186 }
1619 ) 3187 )
1620 )? 3188 )
1621 ( 3189 (
1622 otherlv_4=',' 3190 otherlv_9='>='
1623 { 3191 {
1624 newLeafNode(otherlv_4, grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0()); 3192 newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0());
1625 } 3193 }
1626 ( 3194 (
1627 ( 3195 (
3196 lv_lowerBound_10_0=RULE_INT
1628 { 3197 {
1629 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0()); 3198 newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0());
1630 } 3199 }
1631 lv_params_5_0=ruleLiteral
1632 { 3200 {
1633 if ($current==null) { 3201 if ($current==null) {
1634 $current = createModelElementForParent(grammarAccess.getConstraintRule()); 3202 $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule());
1635 } 3203 }
1636 add( 3204 setWithLastConsumed(
1637 $current, 3205 $current,
1638 "params", 3206 "lowerBound",
1639 lv_params_5_0, 3207 lv_lowerBound_10_0,
1640 "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); 3208 "org.eclipse.xtext.common.Terminals.INT");
1641 afterParserOrEnumRuleCall();
1642 } 3209 }
1643 ) 3210 )
1644 ) 3211 )
1645 )* 3212 )?
1646 otherlv_6=')' 3213 )
1647 {
1648 newLeafNode(otherlv_6, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3());
1649 }
1650 )?
1651 ) 3214 )
1652 | 3215 otherlv_11='.'
3216 {
3217 newLeafNode(otherlv_11, grammarAccess.getBoundedScopeDefinitionAccess().getFullStopKeyword_2());
3218 }
3219 )
3220;
3221
3222// Entry rule entryRuleLowerBoundedScopeDefinition
3223entryRuleLowerBoundedScopeDefinition returns [EObject current=null]:
3224 { newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule()); }
3225 iv_ruleLowerBoundedScopeDefinition=ruleLowerBoundedScopeDefinition
3226 { $current=$iv_ruleLowerBoundedScopeDefinition.current; }
3227 EOF;
3228
3229// Rule LowerBoundedScopeDefinition
3230ruleLowerBoundedScopeDefinition returns [EObject current=null]
3231@init {
3232 enterRule();
3233}
3234@after {
3235 leaveRule();
3236}:
3237 (
3238 otherlv_0='scope'
3239 {
3240 newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0());
3241 }
1653 ( 3242 (
1654 ( 3243 (
1655 ( 3244 (
1656 { 3245 (
1657 newCompositeNode(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0()); 3246 lv_lowerBound_1_0=RULE_INT
1658 } 3247 {
1659 lv_closureType_7_0=ruleClosureType 3248 newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0());
1660 {
1661 if ($current==null) {
1662 $current = createModelElementForParent(grammarAccess.getConstraintRule());
1663 } 3249 }
1664 set( 3250 {
1665 $current, 3251 if ($current==null) {
1666 "closureType", 3252 $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule());
1667 lv_closureType_7_0, 3253 }
1668 "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType"); 3254 setWithLastConsumed(
1669 afterParserOrEnumRuleCall(); 3255 $current,
1670 } 3256 "lowerBound",
3257 lv_lowerBound_1_0,
3258 "org.eclipse.xtext.common.Terminals.INT");
3259 }
3260 )
3261 )
3262 otherlv_2='<='
3263 {
3264 newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1());
3265 }
3266 (
3267 (
3268 {
3269 if ($current==null) {
3270 $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule());
3271 }
3272 }
3273 {
3274 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0());
3275 }
3276 ruleQualifiedName
3277 {
3278 afterParserOrEnumRuleCall();
3279 }
3280 )
1671 ) 3281 )
1672 ) 3282 )
1673 otherlv_8='(' 3283 |
1674 {
1675 newLeafNode(otherlv_8, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1());
1676 }
1677 ( 3284 (
1678 ( 3285 (
1679 { 3286 (
1680 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0()); 3287 {
1681 } 3288 if ($current==null) {
1682 lv_params_9_0=ruleLiteral 3289 $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule());
1683 { 3290 }
1684 if ($current==null) {
1685 $current = createModelElementForParent(grammarAccess.getConstraintRule());
1686 } 3291 }
1687 add( 3292 {
1688 $current, 3293 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0());
1689 "params", 3294 }
1690 lv_params_9_0, 3295 ruleQualifiedName
1691 "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); 3296 {
1692 afterParserOrEnumRuleCall(); 3297 afterParserOrEnumRuleCall();
1693 } 3298 }
3299 )
1694 ) 3300 )
1695 )? 3301 otherlv_5='>='
1696 (
1697 otherlv_10=','
1698 { 3302 {
1699 newLeafNode(otherlv_10, grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0()); 3303 newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
1700 } 3304 }
1701 ( 3305 (
1702 ( 3306 (
3307 lv_lowerBound_6_0=RULE_INT
1703 { 3308 {
1704 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0()); 3309 newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0());
1705 } 3310 }
1706 lv_params_11_0=ruleLiteral
1707 { 3311 {
1708 if ($current==null) { 3312 if ($current==null) {
1709 $current = createModelElementForParent(grammarAccess.getConstraintRule()); 3313 $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule());
1710 } 3314 }
1711 add( 3315 setWithLastConsumed(
1712 $current, 3316 $current,
1713 "params", 3317 "lowerBound",
1714 lv_params_11_0, 3318 lv_lowerBound_6_0,
1715 "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); 3319 "org.eclipse.xtext.common.Terminals.INT");
1716 afterParserOrEnumRuleCall();
1717 } 3320 }
1718 ) 3321 )
1719 ) 3322 )
1720 )* 3323 )
1721 otherlv_12=')'
1722 {
1723 newLeafNode(otherlv_12, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4());
1724 }
1725 ) 3324 )
3325 otherlv_7='.'
3326 {
3327 newLeafNode(otherlv_7, grammarAccess.getLowerBoundedScopeDefinitionAccess().getFullStopKeyword_2());
3328 }
1726 ) 3329 )
1727; 3330;
1728 3331
1729// Entry rule entryRuleClosureType 3332// Entry rule entryRuleObjectiveDefinition
1730entryRuleClosureType returns [EObject current=null]: 3333entryRuleObjectiveDefinition returns [EObject current=null]:
1731 { newCompositeNode(grammarAccess.getClosureTypeRule()); } 3334 { newCompositeNode(grammarAccess.getObjectiveDefinitionRule()); }
1732 iv_ruleClosureType=ruleClosureType 3335 iv_ruleObjectiveDefinition=ruleObjectiveDefinition
1733 { $current=$iv_ruleClosureType.current; } 3336 { $current=$iv_ruleObjectiveDefinition.current; }
1734 EOF; 3337 EOF;
1735 3338
1736// Rule ClosureType 3339// Rule ObjectiveDefinition
1737ruleClosureType returns [EObject current=null] 3340ruleObjectiveDefinition returns [EObject current=null]
1738@init { 3341@init {
1739 enterRule(); 3342 enterRule();
1740} 3343}
@@ -1745,42 +3348,53 @@ ruleClosureType returns [EObject current=null]
1745 ( 3348 (
1746 ( 3349 (
1747 { 3350 {
1748 $current = forceCreateModelElement( 3351 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0());
1749 grammarAccess.getClosureTypeAccess().getReflexiveClosureAction_0_0(), 3352 }
1750 $current); 3353 lv_kind_0_0=ruleObjectiveKind
3354 {
3355 if ($current==null) {
3356 $current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule());
3357 }
3358 set(
3359 $current,
3360 "kind",
3361 lv_kind_0_0,
3362 "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveKind");
3363 afterParserOrEnumRuleCall();
1751 } 3364 }
1752 ) 3365 )
1753 otherlv_1='*'
1754 {
1755 newLeafNode(otherlv_1, grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1());
1756 }
1757 ) 3366 )
1758 |
1759 ( 3367 (
1760 ( 3368 (
1761 { 3369 {
1762 $current = forceCreateModelElement( 3370 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0());
1763 grammarAccess.getClosureTypeAccess().getIrreflexiveClosureAction_1_0(), 3371 }
1764 $current); 3372 lv_objective_1_0=ruleExpression
3373 {
3374 if ($current==null) {
3375 $current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule());
3376 }
3377 set(
3378 $current,
3379 "objective",
3380 lv_objective_1_0,
3381 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
3382 afterParserOrEnumRuleCall();
1765 } 3383 }
1766 ) 3384 )
1767 otherlv_3='+'
1768 {
1769 newLeafNode(otherlv_3, grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1());
1770 }
1771 ) 3385 )
1772 ) 3386 )
1773; 3387;
1774 3388
1775// Entry rule entryRuleLiteral 3389// Entry rule entryRuleUpperMultiplicty
1776entryRuleLiteral returns [EObject current=null]: 3390entryRuleUpperMultiplicty returns [String current=null]:
1777 { newCompositeNode(grammarAccess.getLiteralRule()); } 3391 { newCompositeNode(grammarAccess.getUpperMultiplictyRule()); }
1778 iv_ruleLiteral=ruleLiteral 3392 iv_ruleUpperMultiplicty=ruleUpperMultiplicty
1779 { $current=$iv_ruleLiteral.current; } 3393 { $current=$iv_ruleUpperMultiplicty.current.getText(); }
1780 EOF; 3394 EOF;
1781 3395
1782// Rule Literal 3396// Rule UpperMultiplicty
1783ruleLiteral returns [EObject current=null] 3397ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
1784@init { 3398@init {
1785 enterRule(); 3399 enterRule();
1786} 3400}
@@ -1788,121 +3402,132 @@ ruleLiteral returns [EObject current=null]
1788 leaveRule(); 3402 leaveRule();
1789}: 3403}:
1790 ( 3404 (
3405 this_INT_0=RULE_INT
1791 { 3406 {
1792 newCompositeNode(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0()); 3407 $current.merge(this_INT_0);
1793 } 3408 }
1794 this_Variable_0=ruleVariable
1795 { 3409 {
1796 $current = $this_Variable_0.current; 3410 newLeafNode(this_INT_0, grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0());
1797 afterParserOrEnumRuleCall();
1798 } 3411 }
1799 | 3412 |
3413 kw='*'
1800 { 3414 {
1801 newCompositeNode(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1()); 3415 $current.merge(kw);
1802 } 3416 newLeafNode(kw, grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1());
1803 this_DataObject_1=ruleDataObject
1804 {
1805 $current = $this_DataObject_1.current;
1806 afterParserOrEnumRuleCall();
1807 }
1808 |
1809 {
1810 newCompositeNode(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2());
1811 }
1812 this_NamedObject_2=ruleNamedObject
1813 {
1814 $current = $this_NamedObject_2.current;
1815 afterParserOrEnumRuleCall();
1816 } 3417 }
1817 ) 3418 )
1818; 3419;
1819 3420
1820// Entry rule entryRuleVariable 3421// Entry rule entryRuleReal
1821entryRuleVariable returns [EObject current=null]: 3422entryRuleReal returns [String current=null]@init {
1822 { newCompositeNode(grammarAccess.getVariableRule()); } 3423 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
1823 iv_ruleVariable=ruleVariable 3424}:
1824 { $current=$iv_ruleVariable.current; } 3425 { newCompositeNode(grammarAccess.getRealRule()); }
3426 iv_ruleReal=ruleReal
3427 { $current=$iv_ruleReal.current.getText(); }
1825 EOF; 3428 EOF;
3429finally {
3430 myHiddenTokenState.restore();
3431}
1826 3432
1827// Rule Variable 3433// Rule Real
1828ruleVariable returns [EObject current=null] 3434ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
1829@init { 3435@init {
1830 enterRule(); 3436 enterRule();
3437 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
1831} 3438}
1832@after { 3439@after {
1833 leaveRule(); 3440 leaveRule();
1834}: 3441}:
1835 ( 3442 (
3443 this_INT_0=RULE_INT
3444 {
3445 $current.merge(this_INT_0);
3446 }
3447 {
3448 newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0());
3449 }
1836 ( 3450 (
1837 lv_name_0_0=RULE_ID 3451 kw='.'
1838 { 3452 {
1839 newLeafNode(lv_name_0_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0()); 3453 $current.merge(kw);
3454 newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0());
1840 } 3455 }
3456 this_INT_2=RULE_INT
1841 { 3457 {
1842 if ($current==null) { 3458 $current.merge(this_INT_2);
1843 $current = createModelElement(grammarAccess.getVariableRule());
1844 }
1845 setWithLastConsumed(
1846 $current,
1847 "name",
1848 lv_name_0_0,
1849 "org.eclipse.xtext.common.Terminals.ID");
1850 } 3459 }
1851 ) 3460 {
3461 newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1());
3462 }
3463 )?
1852 ) 3464 )
1853; 3465;
3466finally {
3467 myHiddenTokenState.restore();
3468}
1854 3469
1855// Entry rule entryRuleAllInstances 3470// Entry rule entryRuleQualifiedName
1856entryRuleAllInstances returns [EObject current=null]: 3471entryRuleQualifiedName returns [String current=null]@init {
1857 { newCompositeNode(grammarAccess.getAllInstancesRule()); } 3472 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
1858 iv_ruleAllInstances=ruleAllInstances 3473}:
1859 { $current=$iv_ruleAllInstances.current; } 3474 { newCompositeNode(grammarAccess.getQualifiedNameRule()); }
3475 iv_ruleQualifiedName=ruleQualifiedName
3476 { $current=$iv_ruleQualifiedName.current.getText(); }
1860 EOF; 3477 EOF;
3478finally {
3479 myHiddenTokenState.restore();
3480}
1861 3481
1862// Rule AllInstances 3482// Rule QualifiedName
1863ruleAllInstances returns [EObject current=null] 3483ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
1864@init { 3484@init {
1865 enterRule(); 3485 enterRule();
3486 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
1866} 3487}
1867@after { 3488@after {
1868 leaveRule(); 3489 leaveRule();
1869}: 3490}:
1870 ( 3491 (
1871 otherlv_0=':'
1872 {
1873 newLeafNode(otherlv_0, grammarAccess.getAllInstancesAccess().getColonKeyword_0());
1874 }
1875 ( 3492 (
3493 this_ID_0=RULE_ID
3494 {
3495 $current.merge(this_ID_0);
3496 }
3497 {
3498 newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0());
3499 }
1876 ( 3500 (
3501 kw='.'
1877 { 3502 {
1878 newCompositeNode(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0()); 3503 $current.merge(kw);
3504 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0());
1879 } 3505 }
1880 lv_symbol_1_0=ruleSymbol 3506 this_ID_2=RULE_ID
1881 { 3507 {
1882 if ($current==null) { 3508 $current.merge(this_ID_2);
1883 $current = createModelElementForParent(grammarAccess.getAllInstancesRule());
1884 }
1885 set(
1886 $current,
1887 "symbol",
1888 lv_symbol_1_0,
1889 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
1890 afterParserOrEnumRuleCall();
1891 } 3509 }
1892 ) 3510 {
3511 newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1());
3512 }
3513 )*
1893 ) 3514 )
3515 |
3516 this_QUOTED_ID_3=RULE_QUOTED_ID
3517 {
3518 $current.merge(this_QUOTED_ID_3);
3519 }
3520 {
3521 newLeafNode(this_QUOTED_ID_3, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1());
3522 }
1894 ) 3523 )
1895; 3524;
3525finally {
3526 myHiddenTokenState.restore();
3527}
1896 3528
1897// Entry rule entryRuleAllObjects 3529// Rule MetricType
1898entryRuleAllObjects returns [EObject current=null]: 3530ruleMetricType returns [Enumerator current=null]
1899 { newCompositeNode(grammarAccess.getAllObjectsRule()); }
1900 iv_ruleAllObjects=ruleAllObjects
1901 { $current=$iv_ruleAllObjects.current; }
1902 EOF;
1903
1904// Rule AllObjects
1905ruleAllObjects returns [EObject current=null]
1906@init { 3531@init {
1907 enterRule(); 3532 enterRule();
1908} 3533}
@@ -1911,28 +3536,25 @@ ruleAllObjects returns [EObject current=null]
1911}: 3536}:
1912 ( 3537 (
1913 ( 3538 (
3539 enumLiteral_0='int'
1914 { 3540 {
1915 $current = forceCreateModelElement( 3541 $current = grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
1916 grammarAccess.getAllObjectsAccess().getAllObjectsAction_0(), 3542 newLeafNode(enumLiteral_0, grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0());
1917 $current); 3543 }
3544 )
3545 |
3546 (
3547 enumLiteral_1='real'
3548 {
3549 $current = grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3550 newLeafNode(enumLiteral_1, grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1());
1918 } 3551 }
1919 ) 3552 )
1920 otherlv_1='*'
1921 {
1922 newLeafNode(otherlv_1, grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1());
1923 }
1924 ) 3553 )
1925; 3554;
1926 3555
1927// Entry rule entryRuleDefaultInterpretation 3556// Rule ComparisonOperator
1928entryRuleDefaultInterpretation returns [EObject current=null]: 3557ruleComparisonOperator returns [Enumerator current=null]
1929 { newCompositeNode(grammarAccess.getDefaultInterpretationRule()); }
1930 iv_ruleDefaultInterpretation=ruleDefaultInterpretation
1931 { $current=$iv_ruleDefaultInterpretation.current; }
1932 EOF;
1933
1934// Rule DefaultInterpretation
1935ruleDefaultInterpretation returns [EObject current=null]
1936@init { 3558@init {
1937 enterRule(); 3559 enterRule();
1938} 3560}
@@ -1940,41 +3562,66 @@ ruleDefaultInterpretation returns [EObject current=null]
1940 leaveRule(); 3562 leaveRule();
1941}: 3563}:
1942 ( 3564 (
1943 otherlv_0='default'
1944 {
1945 newLeafNode(otherlv_0, grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0());
1946 }
1947 ( 3565 (
1948 ( 3566 enumLiteral_0='=='
1949 { 3567 {
1950 newCompositeNode(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0()); 3568 $current = grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
1951 } 3569 newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0());
1952 lv_interpretation_1_0=ruleBasicInterpretation 3570 }
1953 { 3571 )
1954 if ($current==null) { 3572 |
1955 $current = createModelElementForParent(grammarAccess.getDefaultInterpretationRule()); 3573 (
1956 } 3574 enumLiteral_1='!='
1957 set( 3575 {
1958 $current, 3576 $current = grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
1959 "interpretation", 3577 newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1());
1960 lv_interpretation_1_0, 3578 }
1961 "org.eclipse.viatra.solver.language.SolverLanguage.BasicInterpretation"); 3579 )
1962 afterParserOrEnumRuleCall(); 3580 |
1963 } 3581 (
1964 ) 3582 enumLiteral_2='<'
3583 {
3584 $current = grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
3585 newLeafNode(enumLiteral_2, grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2());
3586 }
3587 )
3588 |
3589 (
3590 enumLiteral_3='<='
3591 {
3592 $current = grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
3593 newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3());
3594 }
3595 )
3596 |
3597 (
3598 enumLiteral_4='>'
3599 {
3600 $current = grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4().getEnumLiteral().getInstance();
3601 newLeafNode(enumLiteral_4, grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4());
3602 }
3603 )
3604 |
3605 (
3606 enumLiteral_5='>='
3607 {
3608 $current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
3609 newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5());
3610 }
3611 )
3612 |
3613 (
3614 enumLiteral_6='in'
3615 {
3616 $current = grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
3617 newLeafNode(enumLiteral_6, grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6());
3618 }
1965 ) 3619 )
1966 ) 3620 )
1967; 3621;
1968 3622
1969// Entry rule entryRuleCDInterpretation 3623// Rule AdditiveBinaryOperator
1970entryRuleCDInterpretation returns [EObject current=null]: 3624ruleAdditiveBinaryOperator returns [Enumerator current=null]
1971 { newCompositeNode(grammarAccess.getCDInterpretationRule()); }
1972 iv_ruleCDInterpretation=ruleCDInterpretation
1973 { $current=$iv_ruleCDInterpretation.current; }
1974 EOF;
1975
1976// Rule CDInterpretation
1977ruleCDInterpretation returns [EObject current=null]
1978@init { 3625@init {
1979 enterRule(); 3626 enterRule();
1980} 3627}
@@ -1982,44 +3629,26 @@ ruleCDInterpretation returns [EObject current=null]
1982 leaveRule(); 3629 leaveRule();
1983}: 3630}:
1984 ( 3631 (
1985 { 3632 (
1986 newCompositeNode(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0()); 3633 enumLiteral_0='+'
1987 } 3634 {
1988 this_ClassInterpretation_0=ruleClassInterpretation 3635 $current = grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
1989 { 3636 newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0());
1990 $current = $this_ClassInterpretation_0.current; 3637 }
1991 afterParserOrEnumRuleCall(); 3638 )
1992 }
1993 |
1994 {
1995 newCompositeNode(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1());
1996 }
1997 this_EnumInterpretation_1=ruleEnumInterpretation
1998 {
1999 $current = $this_EnumInterpretation_1.current;
2000 afterParserOrEnumRuleCall();
2001 }
2002 | 3639 |
2003 { 3640 (
2004 newCompositeNode(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2()); 3641 enumLiteral_1='-'
2005 } 3642 {
2006 this_GlobalRelationInterpretation_2=ruleGlobalRelationInterpretation 3643 $current = grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
2007 { 3644 newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1());
2008 $current = $this_GlobalRelationInterpretation_2.current; 3645 }
2009 afterParserOrEnumRuleCall(); 3646 )
2010 }
2011 ) 3647 )
2012; 3648;
2013 3649
2014// Entry rule entryRuleClassInterpretation 3650// Rule MultiplicativeBinaryOperator
2015entryRuleClassInterpretation returns [EObject current=null]: 3651ruleMultiplicativeBinaryOperator returns [Enumerator current=null]
2016 { newCompositeNode(grammarAccess.getClassInterpretationRule()); }
2017 iv_ruleClassInterpretation=ruleClassInterpretation
2018 { $current=$iv_ruleClassInterpretation.current; }
2019 EOF;
2020
2021// Rule ClassInterpretation
2022ruleClassInterpretation returns [EObject current=null]
2023@init { 3652@init {
2024 enterRule(); 3653 enterRule();
2025} 3654}
@@ -2028,106 +3657,25 @@ ruleClassInterpretation returns [EObject current=null]
2028}: 3657}:
2029 ( 3658 (
2030 ( 3659 (
2031 ( 3660 enumLiteral_0='*'
2032 lv_abstract_0_0='abstract' 3661 {
2033 { 3662 $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
2034 newLeafNode(lv_abstract_0_0, grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); 3663 newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0());
2035 } 3664 }
2036 {
2037 if ($current==null) {
2038 $current = createModelElement(grammarAccess.getClassInterpretationRule());
2039 }
2040 setWithLastConsumed($current, "abstract", true, "abstract");
2041 }
2042 )
2043 )?
2044 otherlv_1='class'
2045 {
2046 newLeafNode(otherlv_1, grammarAccess.getClassInterpretationAccess().getClassKeyword_1());
2047 }
2048 (
2049 (
2050 {
2051 newCompositeNode(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0());
2052 }
2053 lv_symbol_2_0=ruleModelSymbol
2054 {
2055 if ($current==null) {
2056 $current = createModelElementForParent(grammarAccess.getClassInterpretationRule());
2057 }
2058 set(
2059 $current,
2060 "symbol",
2061 lv_symbol_2_0,
2062 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
2063 afterParserOrEnumRuleCall();
2064 }
2065 )
2066 ) 3665 )
3666 |
2067 ( 3667 (
2068 otherlv_3='extends' 3668 enumLiteral_1='/'
2069 { 3669 {
2070 newLeafNode(otherlv_3, grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0()); 3670 $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3671 newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1());
2071 } 3672 }
2072 ( 3673 )
2073 (
2074 {
2075 newCompositeNode(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0());
2076 }
2077 lv_supertypes_4_0=ruleModelSymbol
2078 {
2079 if ($current==null) {
2080 $current = createModelElementForParent(grammarAccess.getClassInterpretationRule());
2081 }
2082 add(
2083 $current,
2084 "supertypes",
2085 lv_supertypes_4_0,
2086 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
2087 afterParserOrEnumRuleCall();
2088 }
2089 )
2090 )+
2091 )?
2092 otherlv_5='{'
2093 {
2094 newLeafNode(otherlv_5, grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4());
2095 }
2096 (
2097 (
2098 {
2099 newCompositeNode(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0());
2100 }
2101 lv_fielt_6_0=ruleFieldRelationInterpretation
2102 {
2103 if ($current==null) {
2104 $current = createModelElementForParent(grammarAccess.getClassInterpretationRule());
2105 }
2106 add(
2107 $current,
2108 "fielt",
2109 lv_fielt_6_0,
2110 "org.eclipse.viatra.solver.language.SolverLanguage.FieldRelationInterpretation");
2111 afterParserOrEnumRuleCall();
2112 }
2113 )
2114 )*
2115 otherlv_7='}'
2116 {
2117 newLeafNode(otherlv_7, grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6());
2118 }
2119 ) 3674 )
2120; 3675;
2121 3676
2122// Entry rule entryRuleEnumInterpretation 3677// Rule ExponentialOp
2123entryRuleEnumInterpretation returns [EObject current=null]: 3678ruleExponentialOp returns [Enumerator current=null]
2124 { newCompositeNode(grammarAccess.getEnumInterpretationRule()); }
2125 iv_ruleEnumInterpretation=ruleEnumInterpretation
2126 { $current=$iv_ruleEnumInterpretation.current; }
2127 EOF;
2128
2129// Rule EnumInterpretation
2130ruleEnumInterpretation returns [EObject current=null]
2131@init { 3679@init {
2132 enterRule(); 3680 enterRule();
2133} 3681}
@@ -2135,68 +3683,16 @@ ruleEnumInterpretation returns [EObject current=null]
2135 leaveRule(); 3683 leaveRule();
2136}: 3684}:
2137 ( 3685 (
2138 otherlv_0='enum' 3686 enumLiteral_0='^'
2139 {
2140 newLeafNode(otherlv_0, grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0());
2141 }
2142 (
2143 (
2144 {
2145 newCompositeNode(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0());
2146 }
2147 lv_Symbol_1_0=ruleModelSymbol
2148 {
2149 if ($current==null) {
2150 $current = createModelElementForParent(grammarAccess.getEnumInterpretationRule());
2151 }
2152 set(
2153 $current,
2154 "Symbol",
2155 lv_Symbol_1_0,
2156 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
2157 afterParserOrEnumRuleCall();
2158 }
2159 )
2160 )
2161 otherlv_2='{'
2162 {
2163 newLeafNode(otherlv_2, grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2());
2164 }
2165 (
2166 (
2167 {
2168 newCompositeNode(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0());
2169 }
2170 lv_objects_3_0=ruleNamedObject
2171 {
2172 if ($current==null) {
2173 $current = createModelElementForParent(grammarAccess.getEnumInterpretationRule());
2174 }
2175 add(
2176 $current,
2177 "objects",
2178 lv_objects_3_0,
2179 "org.eclipse.viatra.solver.language.SolverLanguage.NamedObject");
2180 afterParserOrEnumRuleCall();
2181 }
2182 )
2183 )+
2184 otherlv_4='}'
2185 { 3687 {
2186 newLeafNode(otherlv_4, grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4()); 3688 $current = grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration().getEnumLiteral().getInstance();
3689 newLeafNode(enumLiteral_0, grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration());
2187 } 3690 }
2188 ) 3691 )
2189; 3692;
2190 3693
2191// Entry rule entryRuleFieldRelationInterpretation 3694// Rule UnaryOp
2192entryRuleFieldRelationInterpretation returns [EObject current=null]: 3695ruleUnaryOp returns [Enumerator current=null]
2193 { newCompositeNode(grammarAccess.getFieldRelationInterpretationRule()); }
2194 iv_ruleFieldRelationInterpretation=ruleFieldRelationInterpretation
2195 { $current=$iv_ruleFieldRelationInterpretation.current; }
2196 EOF;
2197
2198// Rule FieldRelationInterpretation
2199ruleFieldRelationInterpretation returns [EObject current=null]
2200@init { 3696@init {
2201 enterRule(); 3697 enterRule();
2202} 3698}
@@ -2205,92 +3701,57 @@ ruleFieldRelationInterpretation returns [EObject current=null]
2205}: 3701}:
2206 ( 3702 (
2207 ( 3703 (
2208 ( 3704 enumLiteral_0='!'
2209 lv_containment_0_0='containment' 3705 {
2210 { 3706 $current = grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
2211 newLeafNode(lv_containment_0_0, grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); 3707 newLeafNode(enumLiteral_0, grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0());
2212 } 3708 }
2213 { 3709 )
2214 if ($current==null) { 3710 |
2215 $current = createModelElement(grammarAccess.getFieldRelationInterpretationRule());
2216 }
2217 setWithLastConsumed($current, "containment", true, "containment");
2218 }
2219 )
2220 )?
2221 ( 3711 (
2222 ( 3712 enumLiteral_1='+'
2223 { 3713 {
2224 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); 3714 $current = grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
2225 } 3715 newLeafNode(enumLiteral_1, grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1());
2226 lv_symbol_1_0=ruleModelSymbol 3716 }
2227 {
2228 if ($current==null) {
2229 $current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule());
2230 }
2231 set(
2232 $current,
2233 "symbol",
2234 lv_symbol_1_0,
2235 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
2236 afterParserOrEnumRuleCall();
2237 }
2238 )
2239 ) 3717 )
2240 otherlv_2=':' 3718 |
2241 {
2242 newLeafNode(otherlv_2, grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2());
2243 }
2244 ( 3719 (
2245 ( 3720 enumLiteral_2='-'
2246 { 3721 {
2247 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0()); 3722 $current = grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
2248 } 3723 newLeafNode(enumLiteral_2, grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2());
2249 lv_multiplicity_3_0=ruleMultiplicityDefinition 3724 }
2250 { 3725 )
2251 if ($current==null) { 3726 |
2252 $current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule());
2253 }
2254 set(
2255 $current,
2256 "multiplicity",
2257 lv_multiplicity_3_0,
2258 "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition");
2259 afterParserOrEnumRuleCall();
2260 }
2261 )
2262 )?
2263 ( 3727 (
2264 ( 3728 enumLiteral_3='may'
2265 { 3729 {
2266 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0()); 3730 $current = grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
2267 } 3731 newLeafNode(enumLiteral_3, grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3());
2268 lv_target_4_0=ruleSymbol 3732 }
2269 { 3733 )
2270 if ($current==null) { 3734 |
2271 $current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule()); 3735 (
2272 } 3736 enumLiteral_4='must'
2273 set( 3737 {
2274 $current, 3738 $current = grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
2275 "target", 3739 newLeafNode(enumLiteral_4, grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4());
2276 lv_target_4_0, 3740 }
2277 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); 3741 )
2278 afterParserOrEnumRuleCall(); 3742 |
2279 } 3743 (
2280 ) 3744 enumLiteral_5='current'
3745 {
3746 $current = grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
3747 newLeafNode(enumLiteral_5, grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5());
3748 }
2281 ) 3749 )
2282 ) 3750 )
2283; 3751;
2284 3752
2285// Entry rule entryRuleGlobalRelationInterpretation 3753// Rule AggregationOp
2286entryRuleGlobalRelationInterpretation returns [EObject current=null]: 3754ruleAggregationOp returns [Enumerator current=null]
2287 { newCompositeNode(grammarAccess.getGlobalRelationInterpretationRule()); }
2288 iv_ruleGlobalRelationInterpretation=ruleGlobalRelationInterpretation
2289 { $current=$iv_ruleGlobalRelationInterpretation.current; }
2290 EOF;
2291
2292// Rule GlobalRelationInterpretation
2293ruleGlobalRelationInterpretation returns [EObject current=null]
2294@init { 3755@init {
2295 enterRule(); 3756 enterRule();
2296} 3757}
@@ -2299,134 +3760,100 @@ ruleGlobalRelationInterpretation returns [EObject current=null]
2299}: 3760}:
2300 ( 3761 (
2301 ( 3762 (
2302 ( 3763 enumLiteral_0='only'
2303 lv_containment_0_0='containment' 3764 {
2304 { 3765 $current = grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
2305 newLeafNode(lv_containment_0_0, grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); 3766 newLeafNode(enumLiteral_0, grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0());
2306 } 3767 }
2307 { 3768 )
2308 if ($current==null) { 3769 |
2309 $current = createModelElement(grammarAccess.getGlobalRelationInterpretationRule());
2310 }
2311 setWithLastConsumed($current, "containment", true, "containment");
2312 }
2313 )
2314 )?
2315 otherlv_1='relation'
2316 {
2317 newLeafNode(otherlv_1, grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1());
2318 }
2319 ( 3770 (
2320 ( 3771 enumLiteral_1='sum'
2321 { 3772 {
2322 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); 3773 $current = grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
2323 } 3774 newLeafNode(enumLiteral_1, grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1());
2324 lv_symbol_2_0=ruleModelSymbol 3775 }
2325 {
2326 if ($current==null) {
2327 $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule());
2328 }
2329 set(
2330 $current,
2331 "symbol",
2332 lv_symbol_2_0,
2333 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
2334 afterParserOrEnumRuleCall();
2335 }
2336 )
2337 ) 3776 )
2338 otherlv_3=':' 3777 |
2339 {
2340 newLeafNode(otherlv_3, grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3());
2341 }
2342 ( 3778 (
2343 ( 3779 enumLiteral_2='prod'
2344 { 3780 {
2345 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0()); 3781 $current = grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
2346 } 3782 newLeafNode(enumLiteral_2, grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2());
2347 lv_sourceMultiplicity_4_0=ruleMultiplicityDefinition 3783 }
2348 { 3784 )
2349 if ($current==null) { 3785 |
2350 $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule());
2351 }
2352 set(
2353 $current,
2354 "sourceMultiplicity",
2355 lv_sourceMultiplicity_4_0,
2356 "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition");
2357 afterParserOrEnumRuleCall();
2358 }
2359 )
2360 )?
2361 ( 3786 (
2362 ( 3787 enumLiteral_3='avg'
2363 { 3788 {
2364 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0()); 3789 $current = grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
2365 } 3790 newLeafNode(enumLiteral_3, grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3());
2366 lv_source_5_0=ruleSymbol 3791 }
2367 {
2368 if ($current==null) {
2369 $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule());
2370 }
2371 set(
2372 $current,
2373 "source",
2374 lv_source_5_0,
2375 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
2376 afterParserOrEnumRuleCall();
2377 }
2378 )
2379 ) 3792 )
3793 |
2380 ( 3794 (
2381 ( 3795 enumLiteral_4='min'
2382 { 3796 {
2383 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0()); 3797 $current = grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
2384 } 3798 newLeafNode(enumLiteral_4, grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4());
2385 lv_targetMultiplicity_6_0=ruleMultiplicityDefinition 3799 }
2386 { 3800 )
2387 if ($current==null) { 3801 |
2388 $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule());
2389 }
2390 set(
2391 $current,
2392 "targetMultiplicity",
2393 lv_targetMultiplicity_6_0,
2394 "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition");
2395 afterParserOrEnumRuleCall();
2396 }
2397 )
2398 )?
2399 ( 3802 (
2400 ( 3803 enumLiteral_5='max'
2401 { 3804 {
2402 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0()); 3805 $current = grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
2403 } 3806 newLeafNode(enumLiteral_5, grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5());
2404 lv_target_7_0=ruleSymbol 3807 }
2405 {
2406 if ($current==null) {
2407 $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule());
2408 }
2409 set(
2410 $current,
2411 "target",
2412 lv_target_7_0,
2413 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
2414 afterParserOrEnumRuleCall();
2415 }
2416 )
2417 ) 3808 )
2418 ) 3809 )
2419; 3810;
2420 3811
2421// Entry rule entryRuleMultiplicityDefinition 3812// Rule LogicValue
2422entryRuleMultiplicityDefinition returns [EObject current=null]: 3813ruleLogicValue returns [Enumerator current=null]
2423 { newCompositeNode(grammarAccess.getMultiplicityDefinitionRule()); } 3814@init {
2424 iv_ruleMultiplicityDefinition=ruleMultiplicityDefinition 3815 enterRule();
2425 { $current=$iv_ruleMultiplicityDefinition.current; } 3816}
2426 EOF; 3817@after {
3818 leaveRule();
3819}:
3820 (
3821 (
3822 enumLiteral_0='true'
3823 {
3824 $current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
3825 newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0());
3826 }
3827 )
3828 |
3829 (
3830 enumLiteral_1='false'
3831 {
3832 $current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3833 newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1());
3834 }
3835 )
3836 |
3837 (
3838 enumLiteral_2='unknown'
3839 {
3840 $current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
3841 newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2());
3842 }
3843 )
3844 |
3845 (
3846 enumLiteral_3='error'
3847 {
3848 $current = grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3().getEnumLiteral().getInstance();
3849 newLeafNode(enumLiteral_3, grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3());
3850 }
3851 )
3852 )
3853;
2427 3854
2428// Rule MultiplicityDefinition 3855// Rule ObjectiveKind
2429ruleMultiplicityDefinition returns [EObject current=null] 3856ruleObjectiveKind returns [Enumerator current=null]
2430@init { 3857@init {
2431 enterRule(); 3858 enterRule();
2432} 3859}
@@ -2435,67 +3862,33 @@ ruleMultiplicityDefinition returns [EObject current=null]
2435}: 3862}:
2436 ( 3863 (
2437 ( 3864 (
2438 ( 3865 enumLiteral_0='minimize'
2439 lv_lower_0_0=RULE_INT 3866 {
2440 { 3867 $current = grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
2441 newLeafNode(lv_lower_0_0, grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0()); 3868 newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0());
2442 } 3869 }
2443 {
2444 if ($current==null) {
2445 $current = createModelElement(grammarAccess.getMultiplicityDefinitionRule());
2446 }
2447 setWithLastConsumed(
2448 $current,
2449 "lower",
2450 lv_lower_0_0,
2451 "org.eclipse.xtext.common.Terminals.INT");
2452 }
2453 )
2454 ) 3870 )
2455 otherlv_1='..' 3871 |
2456 {
2457 newLeafNode(otherlv_1, grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1());
2458 }
2459 ( 3872 (
2460 ( 3873 enumLiteral_1='maximize'
2461 ( 3874 {
2462 lv_upper_2_0=RULE_INT 3875 $current = grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
2463 { 3876 newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1());
2464 newLeafNode(lv_upper_2_0, grammarAccess.getMultiplicityDefinitionAccess().getUpperINTTerminalRuleCall_2_0_0()); 3877 }
2465 }
2466 {
2467 if ($current==null) {
2468 $current = createModelElement(grammarAccess.getMultiplicityDefinitionRule());
2469 }
2470 setWithLastConsumed(
2471 $current,
2472 "upper",
2473 lv_upper_2_0,
2474 "org.eclipse.xtext.common.Terminals.INT");
2475 }
2476 )
2477 )
2478 |
2479 (
2480 (
2481 lv_unlimitedUpper_3_0='*'
2482 {
2483 newLeafNode(lv_unlimitedUpper_3_0, grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0());
2484 }
2485 {
2486 if ($current==null) {
2487 $current = createModelElement(grammarAccess.getMultiplicityDefinitionRule());
2488 }
2489 setWithLastConsumed($current, "unlimitedUpper", true, "*");
2490 }
2491 )
2492 )
2493 ) 3878 )
2494 ) 3879 )
2495; 3880;
2496 3881
2497RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"'; 3882RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"';
2498 3883
3884RULE_QUOTED_ID : '\'' ('\\' .|~(('\\'|'\'')))* '\'';
3885
3886RULE_PLUS : 'synthetic::plus';
3887
3888RULE_STAR : 'synthetic::star';
3889
3890RULE_DOT : 'synthetic::dot';
3891
2499RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; 3892RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
2500 3893
2501RULE_INT : ('0'..'9')+; 3894RULE_INT : ('0'..'9')+;
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens
index 5054ccc5..1cf5b64f 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens
@@ -1,45 +1,74 @@
1'('=17 1'!'=60
2')'=19 2'!='=52
3'*'=31 3'('=33
4'+'=30 4')'=34
5','=18 5'*'=35
6'-'=11 6'+'=56
7'.'=12 7','=28
8'..'=41 8'-'=57
9':'=20 9'->'=27
10':-'=28 10'.'=22
11'\''=27 11'..'=37
12'abstract'=33 12'/'=58
13'bool'=23 13':'=15
14'class'=34 14':-'=16
15'containment'=39 15';'=26
16'default'=32 16'<'=53
17'enum'=38 17'<='=48
18'equals'=22 18'='=17
19'error'=16 19'=='=47
20'exists'=21 20'>'=54
21'extends'=35 21'>='=49
22'false'=14 22'['=36
23'int'=24 23']'=38
24'real'=25 24'^'=59
25'relation'=40 25'abstract'=41
26'string'=26 26'avg'=67
27'true'=13 27'class'=42
28'unknown'=15 28'contains'=44
29'{'=36 29'count'=29
30'|'=29 30'current'=63
31'}'=37 31'default'=20
32RULE_ANY_OTHER=10 32'else'=25
33RULE_ID=5 33'empty'=40
34RULE_INT=4 34'error'=19
35RULE_ML_COMMENT=7 35'extends'=43
36RULE_SL_COMMENT=8 36'extern'=21
37RULE_STRING=6 37'false'=71
38RULE_WS=9 38'functional'=18
39T__11=11 39'if'=23
40T__12=12 40'in'=55
41T__13=13 41'inf'=39
42T__14=14 42'int'=50
43'max'=69
44'maximize'=74
45'may'=61
46'min'=68
47'minimize'=73
48'must'=62
49'only'=64
50'opposite'=45
51'prod'=66
52'real'=51
53'scope'=46
54'sum'=65
55'then'=24
56'true'=70
57'unknown'=72
58'{'=30
59'|'=32
60'}'=31
61RULE_ANY_OTHER=14
62RULE_DOT=4
63RULE_ID=8
64RULE_INT=9
65RULE_ML_COMMENT=11
66RULE_PLUS=6
67RULE_QUOTED_ID=10
68RULE_SL_COMMENT=12
69RULE_STAR=5
70RULE_STRING=7
71RULE_WS=13
43T__15=15 72T__15=15
44T__16=16 73T__16=16
45T__17=17 74T__17=17
@@ -67,3 +96,36 @@ T__38=38
67T__39=39 96T__39=39
68T__40=40 97T__40=40
69T__41=41 98T__41=41
99T__42=42
100T__43=43
101T__44=44
102T__45=45
103T__46=46
104T__47=47
105T__48=48
106T__49=49
107T__50=50
108T__51=51
109T__52=52
110T__53=53
111T__54=54
112T__55=55
113T__56=56
114T__57=57
115T__58=58
116T__59=59
117T__60=60
118T__61=61
119T__62=62
120T__63=63
121T__64=64
122T__65=65
123T__66=66
124T__67=67
125T__68=68
126T__69=69
127T__70=70
128T__71=71
129T__72=72
130T__73=73
131T__74=74
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java
index 53c80216..21e5bac9 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java
@@ -12,45 +12,78 @@ 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 RULE_STRING=6; 15 public static final int T__50=50;
16 public static final int RULE_SL_COMMENT=8;
17 public static final int T__19=19; 16 public static final int T__19=19;
18 public static final int T__15=15; 17 public static final int T__15=15;
19 public static final int T__37=37; 18 public static final int T__59=59;
20 public static final int T__16=16; 19 public static final int T__16=16;
21 public static final int T__38=38;
22 public static final int T__17=17; 20 public static final int T__17=17;
23 public static final int T__39=39;
24 public static final int T__18=18; 21 public static final int T__18=18;
25 public static final int T__11=11; 22 public static final int T__55=55;
26 public static final int T__33=33; 23 public static final int T__56=56;
27 public static final int T__12=12; 24 public static final int T__57=57;
28 public static final int T__34=34; 25 public static final int T__58=58;
29 public static final int T__13=13; 26 public static final int T__51=51;
30 public static final int T__35=35; 27 public static final int RULE_STAR=5;
31 public static final int T__14=14; 28 public static final int T__52=52;
32 public static final int T__36=36; 29 public static final int T__53=53;
33 public static final int EOF=-1; 30 public static final int T__54=54;
34 public static final int T__30=30; 31 public static final int T__60=60;
35 public static final int T__31=31; 32 public static final int T__61=61;
36 public static final int T__32=32; 33 public static final int RULE_ID=8;
37 public static final int RULE_ID=5; 34 public static final int RULE_QUOTED_ID=10;
38 public static final int RULE_WS=9;
39 public static final int RULE_ANY_OTHER=10;
40 public static final int T__26=26; 35 public static final int T__26=26;
41 public static final int T__27=27; 36 public static final int T__27=27;
42 public static final int T__28=28; 37 public static final int T__28=28;
43 public static final int RULE_INT=4; 38 public static final int RULE_INT=9;
44 public static final int T__29=29; 39 public static final int T__29=29;
45 public static final int T__22=22; 40 public static final int T__22=22;
46 public static final int RULE_ML_COMMENT=7; 41 public static final int T__66=66;
42 public static final int RULE_ML_COMMENT=11;
47 public static final int T__23=23; 43 public static final int T__23=23;
44 public static final int T__67=67;
48 public static final int T__24=24; 45 public static final int T__24=24;
46 public static final int T__68=68;
49 public static final int T__25=25; 47 public static final int T__25=25;
50 public static final int T__40=40; 48 public static final int T__69=69;
51 public static final int T__41=41; 49 public static final int T__62=62;
50 public static final int T__63=63;
52 public static final int T__20=20; 51 public static final int T__20=20;
52 public static final int T__64=64;
53 public static final int T__21=21; 53 public static final int T__21=21;
54 public static final int T__65=65;
55 public static final int T__70=70;
56 public static final int T__71=71;
57 public static final int T__72=72;
58 public static final int RULE_STRING=7;
59 public static final int RULE_SL_COMMENT=12;
60 public static final int T__37=37;
61 public static final int T__38=38;
62 public static final int T__39=39;
63 public static final int T__33=33;
64 public static final int T__34=34;
65 public static final int T__35=35;
66 public static final int RULE_PLUS=6;
67 public static final int T__36=36;
68 public static final int T__73=73;
69 public static final int RULE_DOT=4;
70 public static final int EOF=-1;
71 public static final int T__30=30;
72 public static final int T__74=74;
73 public static final int T__31=31;
74 public static final int T__32=32;
75 public static final int RULE_WS=13;
76 public static final int RULE_ANY_OTHER=14;
77 public static final int T__48=48;
78 public static final int T__49=49;
79 public static final int T__44=44;
80 public static final int T__45=45;
81 public static final int T__46=46;
82 public static final int T__47=47;
83 public static final int T__40=40;
84 public static final int T__41=41;
85 public static final int T__42=42;
86 public static final int T__43=43;
54 87
55 // delegates 88 // delegates
56 // delegators 89 // delegators
@@ -65,98 +98,15 @@ public class InternalSolverLanguageLexer extends Lexer {
65 } 98 }
66 public String getGrammarFileName() { return "InternalSolverLanguage.g"; } 99 public String getGrammarFileName() { return "InternalSolverLanguage.g"; }
67 100
68 // $ANTLR start "T__11"
69 public final void mT__11() throws RecognitionException {
70 try {
71 int _type = T__11;
72 int _channel = DEFAULT_TOKEN_CHANNEL;
73 // InternalSolverLanguage.g:11:7: ( '-' )
74 // InternalSolverLanguage.g:11:9: '-'
75 {
76 match('-');
77
78 }
79
80 state.type = _type;
81 state.channel = _channel;
82 }
83 finally {
84 }
85 }
86 // $ANTLR end "T__11"
87
88 // $ANTLR start "T__12"
89 public final void mT__12() throws RecognitionException {
90 try {
91 int _type = T__12;
92 int _channel = DEFAULT_TOKEN_CHANNEL;
93 // InternalSolverLanguage.g:12:7: ( '.' )
94 // InternalSolverLanguage.g:12:9: '.'
95 {
96 match('.');
97
98 }
99
100 state.type = _type;
101 state.channel = _channel;
102 }
103 finally {
104 }
105 }
106 // $ANTLR end "T__12"
107
108 // $ANTLR start "T__13"
109 public final void mT__13() throws RecognitionException {
110 try {
111 int _type = T__13;
112 int _channel = DEFAULT_TOKEN_CHANNEL;
113 // InternalSolverLanguage.g:13:7: ( 'true' )
114 // InternalSolverLanguage.g:13:9: 'true'
115 {
116 match("true");
117
118
119 }
120
121 state.type = _type;
122 state.channel = _channel;
123 }
124 finally {
125 }
126 }
127 // $ANTLR end "T__13"
128
129 // $ANTLR start "T__14"
130 public final void mT__14() throws RecognitionException {
131 try {
132 int _type = T__14;
133 int _channel = DEFAULT_TOKEN_CHANNEL;
134 // InternalSolverLanguage.g:14:7: ( 'false' )
135 // InternalSolverLanguage.g:14:9: 'false'
136 {
137 match("false");
138
139
140 }
141
142 state.type = _type;
143 state.channel = _channel;
144 }
145 finally {
146 }
147 }
148 // $ANTLR end "T__14"
149
150 // $ANTLR start "T__15" 101 // $ANTLR start "T__15"
151 public final void mT__15() throws RecognitionException { 102 public final void mT__15() throws RecognitionException {
152 try { 103 try {
153 int _type = T__15; 104 int _type = T__15;
154 int _channel = DEFAULT_TOKEN_CHANNEL; 105 int _channel = DEFAULT_TOKEN_CHANNEL;
155 // InternalSolverLanguage.g:15:7: ( 'unknown' ) 106 // InternalSolverLanguage.g:11:7: ( ':' )
156 // InternalSolverLanguage.g:15:9: 'unknown' 107 // InternalSolverLanguage.g:11:9: ':'
157 { 108 {
158 match("unknown"); 109 match(':');
159
160 110
161 } 111 }
162 112
@@ -173,10 +123,10 @@ public class InternalSolverLanguageLexer extends Lexer {
173 try { 123 try {
174 int _type = T__16; 124 int _type = T__16;
175 int _channel = DEFAULT_TOKEN_CHANNEL; 125 int _channel = DEFAULT_TOKEN_CHANNEL;
176 // InternalSolverLanguage.g:16:7: ( 'error' ) 126 // InternalSolverLanguage.g:12:7: ( ':-' )
177 // InternalSolverLanguage.g:16:9: 'error' 127 // InternalSolverLanguage.g:12:9: ':-'
178 { 128 {
179 match("error"); 129 match(":-");
180 130
181 131
182 } 132 }
@@ -194,10 +144,10 @@ public class InternalSolverLanguageLexer extends Lexer {
194 try { 144 try {
195 int _type = T__17; 145 int _type = T__17;
196 int _channel = DEFAULT_TOKEN_CHANNEL; 146 int _channel = DEFAULT_TOKEN_CHANNEL;
197 // InternalSolverLanguage.g:17:7: ( '(' ) 147 // InternalSolverLanguage.g:13:7: ( '=' )
198 // InternalSolverLanguage.g:17:9: '(' 148 // InternalSolverLanguage.g:13:9: '='
199 { 149 {
200 match('('); 150 match('=');
201 151
202 } 152 }
203 153
@@ -214,10 +164,11 @@ public class InternalSolverLanguageLexer extends Lexer {
214 try { 164 try {
215 int _type = T__18; 165 int _type = T__18;
216 int _channel = DEFAULT_TOKEN_CHANNEL; 166 int _channel = DEFAULT_TOKEN_CHANNEL;
217 // InternalSolverLanguage.g:18:7: ( ',' ) 167 // InternalSolverLanguage.g:14:7: ( 'functional' )
218 // InternalSolverLanguage.g:18:9: ',' 168 // InternalSolverLanguage.g:14:9: 'functional'
219 { 169 {
220 match(','); 170 match("functional");
171
221 172
222 } 173 }
223 174
@@ -234,10 +185,11 @@ public class InternalSolverLanguageLexer extends Lexer {
234 try { 185 try {
235 int _type = T__19; 186 int _type = T__19;
236 int _channel = DEFAULT_TOKEN_CHANNEL; 187 int _channel = DEFAULT_TOKEN_CHANNEL;
237 // InternalSolverLanguage.g:19:7: ( ')' ) 188 // InternalSolverLanguage.g:15:7: ( 'error' )
238 // InternalSolverLanguage.g:19:9: ')' 189 // InternalSolverLanguage.g:15:9: 'error'
239 { 190 {
240 match(')'); 191 match("error");
192
241 193
242 } 194 }
243 195
@@ -254,10 +206,11 @@ public class InternalSolverLanguageLexer extends Lexer {
254 try { 206 try {
255 int _type = T__20; 207 int _type = T__20;
256 int _channel = DEFAULT_TOKEN_CHANNEL; 208 int _channel = DEFAULT_TOKEN_CHANNEL;
257 // InternalSolverLanguage.g:20:7: ( ':' ) 209 // InternalSolverLanguage.g:16:7: ( 'default' )
258 // InternalSolverLanguage.g:20:9: ':' 210 // InternalSolverLanguage.g:16:9: 'default'
259 { 211 {
260 match(':'); 212 match("default");
213
261 214
262 } 215 }
263 216
@@ -274,10 +227,10 @@ public class InternalSolverLanguageLexer extends Lexer {
274 try { 227 try {
275 int _type = T__21; 228 int _type = T__21;
276 int _channel = DEFAULT_TOKEN_CHANNEL; 229 int _channel = DEFAULT_TOKEN_CHANNEL;
277 // InternalSolverLanguage.g:21:7: ( 'exists' ) 230 // InternalSolverLanguage.g:17:7: ( 'extern' )
278 // InternalSolverLanguage.g:21:9: 'exists' 231 // InternalSolverLanguage.g:17:9: 'extern'
279 { 232 {
280 match("exists"); 233 match("extern");
281 234
282 235
283 } 236 }
@@ -295,11 +248,10 @@ public class InternalSolverLanguageLexer extends Lexer {
295 try { 248 try {
296 int _type = T__22; 249 int _type = T__22;
297 int _channel = DEFAULT_TOKEN_CHANNEL; 250 int _channel = DEFAULT_TOKEN_CHANNEL;
298 // InternalSolverLanguage.g:22:7: ( 'equals' ) 251 // InternalSolverLanguage.g:18:7: ( '.' )
299 // InternalSolverLanguage.g:22:9: 'equals' 252 // InternalSolverLanguage.g:18:9: '.'
300 { 253 {
301 match("equals"); 254 match('.');
302
303 255
304 } 256 }
305 257
@@ -316,10 +268,10 @@ public class InternalSolverLanguageLexer extends Lexer {
316 try { 268 try {
317 int _type = T__23; 269 int _type = T__23;
318 int _channel = DEFAULT_TOKEN_CHANNEL; 270 int _channel = DEFAULT_TOKEN_CHANNEL;
319 // InternalSolverLanguage.g:23:7: ( 'bool' ) 271 // InternalSolverLanguage.g:19:7: ( 'if' )
320 // InternalSolverLanguage.g:23:9: 'bool' 272 // InternalSolverLanguage.g:19:9: 'if'
321 { 273 {
322 match("bool"); 274 match("if");
323 275
324 276
325 } 277 }
@@ -337,10 +289,10 @@ public class InternalSolverLanguageLexer extends Lexer {
337 try { 289 try {
338 int _type = T__24; 290 int _type = T__24;
339 int _channel = DEFAULT_TOKEN_CHANNEL; 291 int _channel = DEFAULT_TOKEN_CHANNEL;
340 // InternalSolverLanguage.g:24:7: ( 'int' ) 292 // InternalSolverLanguage.g:20:7: ( 'then' )
341 // InternalSolverLanguage.g:24:9: 'int' 293 // InternalSolverLanguage.g:20:9: 'then'
342 { 294 {
343 match("int"); 295 match("then");
344 296
345 297
346 } 298 }
@@ -358,10 +310,10 @@ public class InternalSolverLanguageLexer extends Lexer {
358 try { 310 try {
359 int _type = T__25; 311 int _type = T__25;
360 int _channel = DEFAULT_TOKEN_CHANNEL; 312 int _channel = DEFAULT_TOKEN_CHANNEL;
361 // InternalSolverLanguage.g:25:7: ( 'real' ) 313 // InternalSolverLanguage.g:21:7: ( 'else' )
362 // InternalSolverLanguage.g:25:9: 'real' 314 // InternalSolverLanguage.g:21:9: 'else'
363 { 315 {
364 match("real"); 316 match("else");
365 317
366 318
367 } 319 }
@@ -379,11 +331,10 @@ public class InternalSolverLanguageLexer extends Lexer {
379 try { 331 try {
380 int _type = T__26; 332 int _type = T__26;
381 int _channel = DEFAULT_TOKEN_CHANNEL; 333 int _channel = DEFAULT_TOKEN_CHANNEL;
382 // InternalSolverLanguage.g:26:7: ( 'string' ) 334 // InternalSolverLanguage.g:22:7: ( ';' )
383 // InternalSolverLanguage.g:26:9: 'string' 335 // InternalSolverLanguage.g:22:9: ';'
384 { 336 {
385 match("string"); 337 match(';');
386
387 338
388 } 339 }
389 340
@@ -400,10 +351,11 @@ public class InternalSolverLanguageLexer extends Lexer {
400 try { 351 try {
401 int _type = T__27; 352 int _type = T__27;
402 int _channel = DEFAULT_TOKEN_CHANNEL; 353 int _channel = DEFAULT_TOKEN_CHANNEL;
403 // InternalSolverLanguage.g:27:7: ( '\\'' ) 354 // InternalSolverLanguage.g:23:7: ( '->' )
404 // InternalSolverLanguage.g:27:9: '\\'' 355 // InternalSolverLanguage.g:23:9: '->'
405 { 356 {
406 match('\''); 357 match("->");
358
407 359
408 } 360 }
409 361
@@ -420,11 +372,10 @@ public class InternalSolverLanguageLexer extends Lexer {
420 try { 372 try {
421 int _type = T__28; 373 int _type = T__28;
422 int _channel = DEFAULT_TOKEN_CHANNEL; 374 int _channel = DEFAULT_TOKEN_CHANNEL;
423 // InternalSolverLanguage.g:28:7: ( ':-' ) 375 // InternalSolverLanguage.g:24:7: ( ',' )
424 // InternalSolverLanguage.g:28:9: ':-' 376 // InternalSolverLanguage.g:24:9: ','
425 { 377 {
426 match(":-"); 378 match(',');
427
428 379
429 } 380 }
430 381
@@ -441,10 +392,11 @@ public class InternalSolverLanguageLexer extends Lexer {
441 try { 392 try {
442 int _type = T__29; 393 int _type = T__29;
443 int _channel = DEFAULT_TOKEN_CHANNEL; 394 int _channel = DEFAULT_TOKEN_CHANNEL;
444 // InternalSolverLanguage.g:29:7: ( '|' ) 395 // InternalSolverLanguage.g:25:7: ( 'count' )
445 // InternalSolverLanguage.g:29:9: '|' 396 // InternalSolverLanguage.g:25:9: 'count'
446 { 397 {
447 match('|'); 398 match("count");
399
448 400
449 } 401 }
450 402
@@ -461,10 +413,10 @@ public class InternalSolverLanguageLexer extends Lexer {
461 try { 413 try {
462 int _type = T__30; 414 int _type = T__30;
463 int _channel = DEFAULT_TOKEN_CHANNEL; 415 int _channel = DEFAULT_TOKEN_CHANNEL;
464 // InternalSolverLanguage.g:30:7: ( '+' ) 416 // InternalSolverLanguage.g:26:7: ( '{' )
465 // InternalSolverLanguage.g:30:9: '+' 417 // InternalSolverLanguage.g:26:9: '{'
466 { 418 {
467 match('+'); 419 match('{');
468 420
469 } 421 }
470 422
@@ -481,10 +433,10 @@ public class InternalSolverLanguageLexer extends Lexer {
481 try { 433 try {
482 int _type = T__31; 434 int _type = T__31;
483 int _channel = DEFAULT_TOKEN_CHANNEL; 435 int _channel = DEFAULT_TOKEN_CHANNEL;
484 // InternalSolverLanguage.g:31:7: ( '*' ) 436 // InternalSolverLanguage.g:27:7: ( '}' )
485 // InternalSolverLanguage.g:31:9: '*' 437 // InternalSolverLanguage.g:27:9: '}'
486 { 438 {
487 match('*'); 439 match('}');
488 440
489 } 441 }
490 442
@@ -501,11 +453,10 @@ public class InternalSolverLanguageLexer extends Lexer {
501 try { 453 try {
502 int _type = T__32; 454 int _type = T__32;
503 int _channel = DEFAULT_TOKEN_CHANNEL; 455 int _channel = DEFAULT_TOKEN_CHANNEL;
504 // InternalSolverLanguage.g:32:7: ( 'default' ) 456 // InternalSolverLanguage.g:28:7: ( '|' )
505 // InternalSolverLanguage.g:32:9: 'default' 457 // InternalSolverLanguage.g:28:9: '|'
506 { 458 {
507 match("default"); 459 match('|');
508
509 460
510 } 461 }
511 462
@@ -522,11 +473,10 @@ public class InternalSolverLanguageLexer extends Lexer {
522 try { 473 try {
523 int _type = T__33; 474 int _type = T__33;
524 int _channel = DEFAULT_TOKEN_CHANNEL; 475 int _channel = DEFAULT_TOKEN_CHANNEL;
525 // InternalSolverLanguage.g:33:7: ( 'abstract' ) 476 // InternalSolverLanguage.g:29:7: ( '(' )
526 // InternalSolverLanguage.g:33:9: 'abstract' 477 // InternalSolverLanguage.g:29:9: '('
527 { 478 {
528 match("abstract"); 479 match('(');
529
530 480
531 } 481 }
532 482
@@ -543,11 +493,10 @@ public class InternalSolverLanguageLexer extends Lexer {
543 try { 493 try {
544 int _type = T__34; 494 int _type = T__34;
545 int _channel = DEFAULT_TOKEN_CHANNEL; 495 int _channel = DEFAULT_TOKEN_CHANNEL;
546 // InternalSolverLanguage.g:34:7: ( 'class' ) 496 // InternalSolverLanguage.g:30:7: ( ')' )
547 // InternalSolverLanguage.g:34:9: 'class' 497 // InternalSolverLanguage.g:30:9: ')'
548 { 498 {
549 match("class"); 499 match(')');
550
551 500
552 } 501 }
553 502
@@ -564,11 +513,10 @@ public class InternalSolverLanguageLexer extends Lexer {
564 try { 513 try {
565 int _type = T__35; 514 int _type = T__35;
566 int _channel = DEFAULT_TOKEN_CHANNEL; 515 int _channel = DEFAULT_TOKEN_CHANNEL;
567 // InternalSolverLanguage.g:35:7: ( 'extends' ) 516 // InternalSolverLanguage.g:31:7: ( '*' )
568 // InternalSolverLanguage.g:35:9: 'extends' 517 // InternalSolverLanguage.g:31:9: '*'
569 { 518 {
570 match("extends"); 519 match('*');
571
572 520
573 } 521 }
574 522
@@ -585,10 +533,10 @@ public class InternalSolverLanguageLexer extends Lexer {
585 try { 533 try {
586 int _type = T__36; 534 int _type = T__36;
587 int _channel = DEFAULT_TOKEN_CHANNEL; 535 int _channel = DEFAULT_TOKEN_CHANNEL;
588 // InternalSolverLanguage.g:36:7: ( '{' ) 536 // InternalSolverLanguage.g:32:7: ( '[' )
589 // InternalSolverLanguage.g:36:9: '{' 537 // InternalSolverLanguage.g:32:9: '['
590 { 538 {
591 match('{'); 539 match('[');
592 540
593 } 541 }
594 542
@@ -605,10 +553,11 @@ public class InternalSolverLanguageLexer extends Lexer {
605 try { 553 try {
606 int _type = T__37; 554 int _type = T__37;
607 int _channel = DEFAULT_TOKEN_CHANNEL; 555 int _channel = DEFAULT_TOKEN_CHANNEL;
608 // InternalSolverLanguage.g:37:7: ( '}' ) 556 // InternalSolverLanguage.g:33:7: ( '..' )
609 // InternalSolverLanguage.g:37:9: '}' 557 // InternalSolverLanguage.g:33:9: '..'
610 { 558 {
611 match('}'); 559 match("..");
560
612 561
613 } 562 }
614 563
@@ -625,11 +574,10 @@ public class InternalSolverLanguageLexer extends Lexer {
625 try { 574 try {
626 int _type = T__38; 575 int _type = T__38;
627 int _channel = DEFAULT_TOKEN_CHANNEL; 576 int _channel = DEFAULT_TOKEN_CHANNEL;
628 // InternalSolverLanguage.g:38:7: ( 'enum' ) 577 // InternalSolverLanguage.g:34:7: ( ']' )
629 // InternalSolverLanguage.g:38:9: 'enum' 578 // InternalSolverLanguage.g:34:9: ']'
630 { 579 {
631 match("enum"); 580 match(']');
632
633 581
634 } 582 }
635 583
@@ -646,10 +594,10 @@ public class InternalSolverLanguageLexer extends Lexer {
646 try { 594 try {
647 int _type = T__39; 595 int _type = T__39;
648 int _channel = DEFAULT_TOKEN_CHANNEL; 596 int _channel = DEFAULT_TOKEN_CHANNEL;
649 // InternalSolverLanguage.g:39:7: ( 'containment' ) 597 // InternalSolverLanguage.g:35:7: ( 'inf' )
650 // InternalSolverLanguage.g:39:9: 'containment' 598 // InternalSolverLanguage.g:35:9: 'inf'
651 { 599 {
652 match("containment"); 600 match("inf");
653 601
654 602
655 } 603 }
@@ -667,10 +615,10 @@ public class InternalSolverLanguageLexer extends Lexer {
667 try { 615 try {
668 int _type = T__40; 616 int _type = T__40;
669 int _channel = DEFAULT_TOKEN_CHANNEL; 617 int _channel = DEFAULT_TOKEN_CHANNEL;
670 // InternalSolverLanguage.g:40:7: ( 'relation' ) 618 // InternalSolverLanguage.g:36:7: ( 'empty' )
671 // InternalSolverLanguage.g:40:9: 'relation' 619 // InternalSolverLanguage.g:36:9: 'empty'
672 { 620 {
673 match("relation"); 621 match("empty");
674 622
675 623
676 } 624 }
@@ -688,10 +636,10 @@ public class InternalSolverLanguageLexer extends Lexer {
688 try { 636 try {
689 int _type = T__41; 637 int _type = T__41;
690 int _channel = DEFAULT_TOKEN_CHANNEL; 638 int _channel = DEFAULT_TOKEN_CHANNEL;
691 // InternalSolverLanguage.g:41:7: ( '..' ) 639 // InternalSolverLanguage.g:37:7: ( 'abstract' )
692 // InternalSolverLanguage.g:41:9: '..' 640 // InternalSolverLanguage.g:37:9: 'abstract'
693 { 641 {
694 match(".."); 642 match("abstract");
695 643
696 644
697 } 645 }
@@ -704,16 +652,702 @@ public class InternalSolverLanguageLexer extends Lexer {
704 } 652 }
705 // $ANTLR end "T__41" 653 // $ANTLR end "T__41"
706 654
655 // $ANTLR start "T__42"
656 public final void mT__42() throws RecognitionException {
657 try {
658 int _type = T__42;
659 int _channel = DEFAULT_TOKEN_CHANNEL;
660 // InternalSolverLanguage.g:38:7: ( 'class' )
661 // InternalSolverLanguage.g:38:9: 'class'
662 {
663 match("class");
664
665
666 }
667
668 state.type = _type;
669 state.channel = _channel;
670 }
671 finally {
672 }
673 }
674 // $ANTLR end "T__42"
675
676 // $ANTLR start "T__43"
677 public final void mT__43() throws RecognitionException {
678 try {
679 int _type = T__43;
680 int _channel = DEFAULT_TOKEN_CHANNEL;
681 // InternalSolverLanguage.g:39:7: ( 'extends' )
682 // InternalSolverLanguage.g:39:9: 'extends'
683 {
684 match("extends");
685
686
687 }
688
689 state.type = _type;
690 state.channel = _channel;
691 }
692 finally {
693 }
694 }
695 // $ANTLR end "T__43"
696
697 // $ANTLR start "T__44"
698 public final void mT__44() throws RecognitionException {
699 try {
700 int _type = T__44;
701 int _channel = DEFAULT_TOKEN_CHANNEL;
702 // InternalSolverLanguage.g:40:7: ( 'contains' )
703 // InternalSolverLanguage.g:40:9: 'contains'
704 {
705 match("contains");
706
707
708 }
709
710 state.type = _type;
711 state.channel = _channel;
712 }
713 finally {
714 }
715 }
716 // $ANTLR end "T__44"
717
718 // $ANTLR start "T__45"
719 public final void mT__45() throws RecognitionException {
720 try {
721 int _type = T__45;
722 int _channel = DEFAULT_TOKEN_CHANNEL;
723 // InternalSolverLanguage.g:41:7: ( 'opposite' )
724 // InternalSolverLanguage.g:41:9: 'opposite'
725 {
726 match("opposite");
727
728
729 }
730
731 state.type = _type;
732 state.channel = _channel;
733 }
734 finally {
735 }
736 }
737 // $ANTLR end "T__45"
738
739 // $ANTLR start "T__46"
740 public final void mT__46() throws RecognitionException {
741 try {
742 int _type = T__46;
743 int _channel = DEFAULT_TOKEN_CHANNEL;
744 // InternalSolverLanguage.g:42:7: ( 'scope' )
745 // InternalSolverLanguage.g:42:9: 'scope'
746 {
747 match("scope");
748
749
750 }
751
752 state.type = _type;
753 state.channel = _channel;
754 }
755 finally {
756 }
757 }
758 // $ANTLR end "T__46"
759
760 // $ANTLR start "T__47"
761 public final void mT__47() throws RecognitionException {
762 try {
763 int _type = T__47;
764 int _channel = DEFAULT_TOKEN_CHANNEL;
765 // InternalSolverLanguage.g:43:7: ( '==' )
766 // InternalSolverLanguage.g:43:9: '=='
767 {
768 match("==");
769
770
771 }
772
773 state.type = _type;
774 state.channel = _channel;
775 }
776 finally {
777 }
778 }
779 // $ANTLR end "T__47"
780
781 // $ANTLR start "T__48"
782 public final void mT__48() throws RecognitionException {
783 try {
784 int _type = T__48;
785 int _channel = DEFAULT_TOKEN_CHANNEL;
786 // InternalSolverLanguage.g:44:7: ( '<=' )
787 // InternalSolverLanguage.g:44:9: '<='
788 {
789 match("<=");
790
791
792 }
793
794 state.type = _type;
795 state.channel = _channel;
796 }
797 finally {
798 }
799 }
800 // $ANTLR end "T__48"
801
802 // $ANTLR start "T__49"
803 public final void mT__49() throws RecognitionException {
804 try {
805 int _type = T__49;
806 int _channel = DEFAULT_TOKEN_CHANNEL;
807 // InternalSolverLanguage.g:45:7: ( '>=' )
808 // InternalSolverLanguage.g:45:9: '>='
809 {
810 match(">=");
811
812
813 }
814
815 state.type = _type;
816 state.channel = _channel;
817 }
818 finally {
819 }
820 }
821 // $ANTLR end "T__49"
822
823 // $ANTLR start "T__50"
824 public final void mT__50() throws RecognitionException {
825 try {
826 int _type = T__50;
827 int _channel = DEFAULT_TOKEN_CHANNEL;
828 // InternalSolverLanguage.g:46:7: ( 'int' )
829 // InternalSolverLanguage.g:46:9: 'int'
830 {
831 match("int");
832
833
834 }
835
836 state.type = _type;
837 state.channel = _channel;
838 }
839 finally {
840 }
841 }
842 // $ANTLR end "T__50"
843
844 // $ANTLR start "T__51"
845 public final void mT__51() throws RecognitionException {
846 try {
847 int _type = T__51;
848 int _channel = DEFAULT_TOKEN_CHANNEL;
849 // InternalSolverLanguage.g:47:7: ( 'real' )
850 // InternalSolverLanguage.g:47:9: 'real'
851 {
852 match("real");
853
854
855 }
856
857 state.type = _type;
858 state.channel = _channel;
859 }
860 finally {
861 }
862 }
863 // $ANTLR end "T__51"
864
865 // $ANTLR start "T__52"
866 public final void mT__52() throws RecognitionException {
867 try {
868 int _type = T__52;
869 int _channel = DEFAULT_TOKEN_CHANNEL;
870 // InternalSolverLanguage.g:48:7: ( '!=' )
871 // InternalSolverLanguage.g:48:9: '!='
872 {
873 match("!=");
874
875
876 }
877
878 state.type = _type;
879 state.channel = _channel;
880 }
881 finally {
882 }
883 }
884 // $ANTLR end "T__52"
885
886 // $ANTLR start "T__53"
887 public final void mT__53() throws RecognitionException {
888 try {
889 int _type = T__53;
890 int _channel = DEFAULT_TOKEN_CHANNEL;
891 // InternalSolverLanguage.g:49:7: ( '<' )
892 // InternalSolverLanguage.g:49:9: '<'
893 {
894 match('<');
895
896 }
897
898 state.type = _type;
899 state.channel = _channel;
900 }
901 finally {
902 }
903 }
904 // $ANTLR end "T__53"
905
906 // $ANTLR start "T__54"
907 public final void mT__54() throws RecognitionException {
908 try {
909 int _type = T__54;
910 int _channel = DEFAULT_TOKEN_CHANNEL;
911 // InternalSolverLanguage.g:50:7: ( '>' )
912 // InternalSolverLanguage.g:50:9: '>'
913 {
914 match('>');
915
916 }
917
918 state.type = _type;
919 state.channel = _channel;
920 }
921 finally {
922 }
923 }
924 // $ANTLR end "T__54"
925
926 // $ANTLR start "T__55"
927 public final void mT__55() throws RecognitionException {
928 try {
929 int _type = T__55;
930 int _channel = DEFAULT_TOKEN_CHANNEL;
931 // InternalSolverLanguage.g:51:7: ( 'in' )
932 // InternalSolverLanguage.g:51:9: 'in'
933 {
934 match("in");
935
936
937 }
938
939 state.type = _type;
940 state.channel = _channel;
941 }
942 finally {
943 }
944 }
945 // $ANTLR end "T__55"
946
947 // $ANTLR start "T__56"
948 public final void mT__56() throws RecognitionException {
949 try {
950 int _type = T__56;
951 int _channel = DEFAULT_TOKEN_CHANNEL;
952 // InternalSolverLanguage.g:52:7: ( '+' )
953 // InternalSolverLanguage.g:52:9: '+'
954 {
955 match('+');
956
957 }
958
959 state.type = _type;
960 state.channel = _channel;
961 }
962 finally {
963 }
964 }
965 // $ANTLR end "T__56"
966
967 // $ANTLR start "T__57"
968 public final void mT__57() throws RecognitionException {
969 try {
970 int _type = T__57;
971 int _channel = DEFAULT_TOKEN_CHANNEL;
972 // InternalSolverLanguage.g:53:7: ( '-' )
973 // InternalSolverLanguage.g:53:9: '-'
974 {
975 match('-');
976
977 }
978
979 state.type = _type;
980 state.channel = _channel;
981 }
982 finally {
983 }
984 }
985 // $ANTLR end "T__57"
986
987 // $ANTLR start "T__58"
988 public final void mT__58() throws RecognitionException {
989 try {
990 int _type = T__58;
991 int _channel = DEFAULT_TOKEN_CHANNEL;
992 // InternalSolverLanguage.g:54:7: ( '/' )
993 // InternalSolverLanguage.g:54:9: '/'
994 {
995 match('/');
996
997 }
998
999 state.type = _type;
1000 state.channel = _channel;
1001 }
1002 finally {
1003 }
1004 }
1005 // $ANTLR end "T__58"
1006
1007 // $ANTLR start "T__59"
1008 public final void mT__59() throws RecognitionException {
1009 try {
1010 int _type = T__59;
1011 int _channel = DEFAULT_TOKEN_CHANNEL;
1012 // InternalSolverLanguage.g:55:7: ( '^' )
1013 // InternalSolverLanguage.g:55:9: '^'
1014 {
1015 match('^');
1016
1017 }
1018
1019 state.type = _type;
1020 state.channel = _channel;
1021 }
1022 finally {
1023 }
1024 }
1025 // $ANTLR end "T__59"
1026
1027 // $ANTLR start "T__60"
1028 public final void mT__60() throws RecognitionException {
1029 try {
1030 int _type = T__60;
1031 int _channel = DEFAULT_TOKEN_CHANNEL;
1032 // InternalSolverLanguage.g:56:7: ( '!' )
1033 // InternalSolverLanguage.g:56:9: '!'
1034 {
1035 match('!');
1036
1037 }
1038
1039 state.type = _type;
1040 state.channel = _channel;
1041 }
1042 finally {
1043 }
1044 }
1045 // $ANTLR end "T__60"
1046
1047 // $ANTLR start "T__61"
1048 public final void mT__61() throws RecognitionException {
1049 try {
1050 int _type = T__61;
1051 int _channel = DEFAULT_TOKEN_CHANNEL;
1052 // InternalSolverLanguage.g:57:7: ( 'may' )
1053 // InternalSolverLanguage.g:57:9: 'may'
1054 {
1055 match("may");
1056
1057
1058 }
1059
1060 state.type = _type;
1061 state.channel = _channel;
1062 }
1063 finally {
1064 }
1065 }
1066 // $ANTLR end "T__61"
1067
1068 // $ANTLR start "T__62"
1069 public final void mT__62() throws RecognitionException {
1070 try {
1071 int _type = T__62;
1072 int _channel = DEFAULT_TOKEN_CHANNEL;
1073 // InternalSolverLanguage.g:58:7: ( 'must' )
1074 // InternalSolverLanguage.g:58:9: 'must'
1075 {
1076 match("must");
1077
1078
1079 }
1080
1081 state.type = _type;
1082 state.channel = _channel;
1083 }
1084 finally {
1085 }
1086 }
1087 // $ANTLR end "T__62"
1088
1089 // $ANTLR start "T__63"
1090 public final void mT__63() throws RecognitionException {
1091 try {
1092 int _type = T__63;
1093 int _channel = DEFAULT_TOKEN_CHANNEL;
1094 // InternalSolverLanguage.g:59:7: ( 'current' )
1095 // InternalSolverLanguage.g:59:9: 'current'
1096 {
1097 match("current");
1098
1099
1100 }
1101
1102 state.type = _type;
1103 state.channel = _channel;
1104 }
1105 finally {
1106 }
1107 }
1108 // $ANTLR end "T__63"
1109
1110 // $ANTLR start "T__64"
1111 public final void mT__64() throws RecognitionException {
1112 try {
1113 int _type = T__64;
1114 int _channel = DEFAULT_TOKEN_CHANNEL;
1115 // InternalSolverLanguage.g:60:7: ( 'only' )
1116 // InternalSolverLanguage.g:60:9: 'only'
1117 {
1118 match("only");
1119
1120
1121 }
1122
1123 state.type = _type;
1124 state.channel = _channel;
1125 }
1126 finally {
1127 }
1128 }
1129 // $ANTLR end "T__64"
1130
1131 // $ANTLR start "T__65"
1132 public final void mT__65() throws RecognitionException {
1133 try {
1134 int _type = T__65;
1135 int _channel = DEFAULT_TOKEN_CHANNEL;
1136 // InternalSolverLanguage.g:61:7: ( 'sum' )
1137 // InternalSolverLanguage.g:61:9: 'sum'
1138 {
1139 match("sum");
1140
1141
1142 }
1143
1144 state.type = _type;
1145 state.channel = _channel;
1146 }
1147 finally {
1148 }
1149 }
1150 // $ANTLR end "T__65"
1151
1152 // $ANTLR start "T__66"
1153 public final void mT__66() throws RecognitionException {
1154 try {
1155 int _type = T__66;
1156 int _channel = DEFAULT_TOKEN_CHANNEL;
1157 // InternalSolverLanguage.g:62:7: ( 'prod' )
1158 // InternalSolverLanguage.g:62:9: 'prod'
1159 {
1160 match("prod");
1161
1162
1163 }
1164
1165 state.type = _type;
1166 state.channel = _channel;
1167 }
1168 finally {
1169 }
1170 }
1171 // $ANTLR end "T__66"
1172
1173 // $ANTLR start "T__67"
1174 public final void mT__67() throws RecognitionException {
1175 try {
1176 int _type = T__67;
1177 int _channel = DEFAULT_TOKEN_CHANNEL;
1178 // InternalSolverLanguage.g:63:7: ( 'avg' )
1179 // InternalSolverLanguage.g:63:9: 'avg'
1180 {
1181 match("avg");
1182
1183
1184 }
1185
1186 state.type = _type;
1187 state.channel = _channel;
1188 }
1189 finally {
1190 }
1191 }
1192 // $ANTLR end "T__67"
1193
1194 // $ANTLR start "T__68"
1195 public final void mT__68() throws RecognitionException {
1196 try {
1197 int _type = T__68;
1198 int _channel = DEFAULT_TOKEN_CHANNEL;
1199 // InternalSolverLanguage.g:64:7: ( 'min' )
1200 // InternalSolverLanguage.g:64:9: 'min'
1201 {
1202 match("min");
1203
1204
1205 }
1206
1207 state.type = _type;
1208 state.channel = _channel;
1209 }
1210 finally {
1211 }
1212 }
1213 // $ANTLR end "T__68"
1214
1215 // $ANTLR start "T__69"
1216 public final void mT__69() throws RecognitionException {
1217 try {
1218 int _type = T__69;
1219 int _channel = DEFAULT_TOKEN_CHANNEL;
1220 // InternalSolverLanguage.g:65:7: ( 'max' )
1221 // InternalSolverLanguage.g:65:9: 'max'
1222 {
1223 match("max");
1224
1225
1226 }
1227
1228 state.type = _type;
1229 state.channel = _channel;
1230 }
1231 finally {
1232 }
1233 }
1234 // $ANTLR end "T__69"
1235
1236 // $ANTLR start "T__70"
1237 public final void mT__70() throws RecognitionException {
1238 try {
1239 int _type = T__70;
1240 int _channel = DEFAULT_TOKEN_CHANNEL;
1241 // InternalSolverLanguage.g:66:7: ( 'true' )
1242 // InternalSolverLanguage.g:66:9: 'true'
1243 {
1244 match("true");
1245
1246
1247 }
1248
1249 state.type = _type;
1250 state.channel = _channel;
1251 }
1252 finally {
1253 }
1254 }
1255 // $ANTLR end "T__70"
1256
1257 // $ANTLR start "T__71"
1258 public final void mT__71() throws RecognitionException {
1259 try {
1260 int _type = T__71;
1261 int _channel = DEFAULT_TOKEN_CHANNEL;
1262 // InternalSolverLanguage.g:67:7: ( 'false' )
1263 // InternalSolverLanguage.g:67:9: 'false'
1264 {
1265 match("false");
1266
1267
1268 }
1269
1270 state.type = _type;
1271 state.channel = _channel;
1272 }
1273 finally {
1274 }
1275 }
1276 // $ANTLR end "T__71"
1277
1278 // $ANTLR start "T__72"
1279 public final void mT__72() throws RecognitionException {
1280 try {
1281 int _type = T__72;
1282 int _channel = DEFAULT_TOKEN_CHANNEL;
1283 // InternalSolverLanguage.g:68:7: ( 'unknown' )
1284 // InternalSolverLanguage.g:68:9: 'unknown'
1285 {
1286 match("unknown");
1287
1288
1289 }
1290
1291 state.type = _type;
1292 state.channel = _channel;
1293 }
1294 finally {
1295 }
1296 }
1297 // $ANTLR end "T__72"
1298
1299 // $ANTLR start "T__73"
1300 public final void mT__73() throws RecognitionException {
1301 try {
1302 int _type = T__73;
1303 int _channel = DEFAULT_TOKEN_CHANNEL;
1304 // InternalSolverLanguage.g:69:7: ( 'minimize' )
1305 // InternalSolverLanguage.g:69:9: 'minimize'
1306 {
1307 match("minimize");
1308
1309
1310 }
1311
1312 state.type = _type;
1313 state.channel = _channel;
1314 }
1315 finally {
1316 }
1317 }
1318 // $ANTLR end "T__73"
1319
1320 // $ANTLR start "T__74"
1321 public final void mT__74() throws RecognitionException {
1322 try {
1323 int _type = T__74;
1324 int _channel = DEFAULT_TOKEN_CHANNEL;
1325 // InternalSolverLanguage.g:70:7: ( 'maximize' )
1326 // InternalSolverLanguage.g:70:9: 'maximize'
1327 {
1328 match("maximize");
1329
1330
1331 }
1332
1333 state.type = _type;
1334 state.channel = _channel;
1335 }
1336 finally {
1337 }
1338 }
1339 // $ANTLR end "T__74"
1340
707 // $ANTLR start "RULE_STRING" 1341 // $ANTLR start "RULE_STRING"
708 public final void mRULE_STRING() throws RecognitionException { 1342 public final void mRULE_STRING() throws RecognitionException {
709 try { 1343 try {
710 int _type = RULE_STRING; 1344 int _type = RULE_STRING;
711 int _channel = DEFAULT_TOKEN_CHANNEL; 1345 int _channel = DEFAULT_TOKEN_CHANNEL;
712 // InternalSolverLanguage.g:2497:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) 1346 // InternalSolverLanguage.g:3882:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
713 // InternalSolverLanguage.g:2497:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' 1347 // InternalSolverLanguage.g:3882:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
714 { 1348 {
715 match('\"'); 1349 match('\"');
716 // InternalSolverLanguage.g:2497:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* 1350 // InternalSolverLanguage.g:3882:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
717 loop1: 1351 loop1:
718 do { 1352 do {
719 int alt1=3; 1353 int alt1=3;
@@ -729,7 +1363,7 @@ public class InternalSolverLanguageLexer extends Lexer {
729 1363
730 switch (alt1) { 1364 switch (alt1) {
731 case 1 : 1365 case 1 :
732 // InternalSolverLanguage.g:2497:20: '\\\\' . 1366 // InternalSolverLanguage.g:3882:20: '\\\\' .
733 { 1367 {
734 match('\\'); 1368 match('\\');
735 matchAny(); 1369 matchAny();
@@ -737,7 +1371,7 @@ public class InternalSolverLanguageLexer extends Lexer {
737 } 1371 }
738 break; 1372 break;
739 case 2 : 1373 case 2 :
740 // InternalSolverLanguage.g:2497:27: ~ ( ( '\\\\' | '\"' ) ) 1374 // InternalSolverLanguage.g:3882:27: ~ ( ( '\\\\' | '\"' ) )
741 { 1375 {
742 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { 1376 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
743 input.consume(); 1377 input.consume();
@@ -769,24 +1403,152 @@ public class InternalSolverLanguageLexer extends Lexer {
769 } 1403 }
770 // $ANTLR end "RULE_STRING" 1404 // $ANTLR end "RULE_STRING"
771 1405
1406 // $ANTLR start "RULE_QUOTED_ID"
1407 public final void mRULE_QUOTED_ID() throws RecognitionException {
1408 try {
1409 int _type = RULE_QUOTED_ID;
1410 int _channel = DEFAULT_TOKEN_CHANNEL;
1411 // InternalSolverLanguage.g:3884:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
1412 // InternalSolverLanguage.g:3884:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
1413 {
1414 match('\'');
1415 // InternalSolverLanguage.g:3884:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
1416 loop2:
1417 do {
1418 int alt2=3;
1419 int LA2_0 = input.LA(1);
1420
1421 if ( (LA2_0=='\\') ) {
1422 alt2=1;
1423 }
1424 else if ( ((LA2_0>='\u0000' && LA2_0<='&')||(LA2_0>='(' && LA2_0<='[')||(LA2_0>=']' && LA2_0<='\uFFFF')) ) {
1425 alt2=2;
1426 }
1427
1428
1429 switch (alt2) {
1430 case 1 :
1431 // InternalSolverLanguage.g:3884:24: '\\\\' .
1432 {
1433 match('\\');
1434 matchAny();
1435
1436 }
1437 break;
1438 case 2 :
1439 // InternalSolverLanguage.g:3884:31: ~ ( ( '\\\\' | '\\'' ) )
1440 {
1441 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1442 input.consume();
1443
1444 }
1445 else {
1446 MismatchedSetException mse = new MismatchedSetException(null,input);
1447 recover(mse);
1448 throw mse;}
1449
1450
1451 }
1452 break;
1453
1454 default :
1455 break loop2;
1456 }
1457 } while (true);
1458
1459 match('\'');
1460
1461 }
1462
1463 state.type = _type;
1464 state.channel = _channel;
1465 }
1466 finally {
1467 }
1468 }
1469 // $ANTLR end "RULE_QUOTED_ID"
1470
1471 // $ANTLR start "RULE_PLUS"
1472 public final void mRULE_PLUS() throws RecognitionException {
1473 try {
1474 int _type = RULE_PLUS;
1475 int _channel = DEFAULT_TOKEN_CHANNEL;
1476 // InternalSolverLanguage.g:3886:11: ( 'synthetic::plus' )
1477 // InternalSolverLanguage.g:3886:13: 'synthetic::plus'
1478 {
1479 match("synthetic::plus");
1480
1481
1482 }
1483
1484 state.type = _type;
1485 state.channel = _channel;
1486 }
1487 finally {
1488 }
1489 }
1490 // $ANTLR end "RULE_PLUS"
1491
1492 // $ANTLR start "RULE_STAR"
1493 public final void mRULE_STAR() throws RecognitionException {
1494 try {
1495 int _type = RULE_STAR;
1496 int _channel = DEFAULT_TOKEN_CHANNEL;
1497 // InternalSolverLanguage.g:3888:11: ( 'synthetic::star' )
1498 // InternalSolverLanguage.g:3888:13: 'synthetic::star'
1499 {
1500 match("synthetic::star");
1501
1502
1503 }
1504
1505 state.type = _type;
1506 state.channel = _channel;
1507 }
1508 finally {
1509 }
1510 }
1511 // $ANTLR end "RULE_STAR"
1512
1513 // $ANTLR start "RULE_DOT"
1514 public final void mRULE_DOT() throws RecognitionException {
1515 try {
1516 int _type = RULE_DOT;
1517 int _channel = DEFAULT_TOKEN_CHANNEL;
1518 // InternalSolverLanguage.g:3890:10: ( 'synthetic::dot' )
1519 // InternalSolverLanguage.g:3890:12: 'synthetic::dot'
1520 {
1521 match("synthetic::dot");
1522
1523
1524 }
1525
1526 state.type = _type;
1527 state.channel = _channel;
1528 }
1529 finally {
1530 }
1531 }
1532 // $ANTLR end "RULE_DOT"
1533
772 // $ANTLR start "RULE_ID" 1534 // $ANTLR start "RULE_ID"
773 public final void mRULE_ID() throws RecognitionException { 1535 public final void mRULE_ID() throws RecognitionException {
774 try { 1536 try {
775 int _type = RULE_ID; 1537 int _type = RULE_ID;
776 int _channel = DEFAULT_TOKEN_CHANNEL; 1538 int _channel = DEFAULT_TOKEN_CHANNEL;
777 // InternalSolverLanguage.g:2499:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) 1539 // InternalSolverLanguage.g:3892:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
778 // InternalSolverLanguage.g:2499:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 1540 // InternalSolverLanguage.g:3892:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
779 { 1541 {
780 // InternalSolverLanguage.g:2499:11: ( '^' )? 1542 // InternalSolverLanguage.g:3892:11: ( '^' )?
781 int alt2=2; 1543 int alt3=2;
782 int LA2_0 = input.LA(1); 1544 int LA3_0 = input.LA(1);
783 1545
784 if ( (LA2_0=='^') ) { 1546 if ( (LA3_0=='^') ) {
785 alt2=1; 1547 alt3=1;
786 } 1548 }
787 switch (alt2) { 1549 switch (alt3) {
788 case 1 : 1550 case 1 :
789 // InternalSolverLanguage.g:2499:11: '^' 1551 // InternalSolverLanguage.g:3892:11: '^'
790 { 1552 {
791 match('^'); 1553 match('^');
792 1554
@@ -804,18 +1566,18 @@ public class InternalSolverLanguageLexer extends Lexer {
804 recover(mse); 1566 recover(mse);
805 throw mse;} 1567 throw mse;}
806 1568
807 // InternalSolverLanguage.g:2499:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 1569 // InternalSolverLanguage.g:3892:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
808 loop3: 1570 loop4:
809 do { 1571 do {
810 int alt3=2; 1572 int alt4=2;
811 int LA3_0 = input.LA(1); 1573 int LA4_0 = input.LA(1);
812 1574
813 if ( ((LA3_0>='0' && LA3_0<='9')||(LA3_0>='A' && LA3_0<='Z')||LA3_0=='_'||(LA3_0>='a' && LA3_0<='z')) ) { 1575 if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
814 alt3=1; 1576 alt4=1;
815 } 1577 }
816 1578
817 1579
818 switch (alt3) { 1580 switch (alt4) {
819 case 1 : 1581 case 1 :
820 // InternalSolverLanguage.g: 1582 // InternalSolverLanguage.g:
821 { 1583 {
@@ -833,7 +1595,7 @@ public class InternalSolverLanguageLexer extends Lexer {
833 break; 1595 break;
834 1596
835 default : 1597 default :
836 break loop3; 1598 break loop4;
837 } 1599 }
838 } while (true); 1600 } while (true);
839 1601
@@ -853,24 +1615,24 @@ public class InternalSolverLanguageLexer extends Lexer {
853 try { 1615 try {
854 int _type = RULE_INT; 1616 int _type = RULE_INT;
855 int _channel = DEFAULT_TOKEN_CHANNEL; 1617 int _channel = DEFAULT_TOKEN_CHANNEL;
856 // InternalSolverLanguage.g:2501:10: ( ( '0' .. '9' )+ ) 1618 // InternalSolverLanguage.g:3894:10: ( ( '0' .. '9' )+ )
857 // InternalSolverLanguage.g:2501:12: ( '0' .. '9' )+ 1619 // InternalSolverLanguage.g:3894:12: ( '0' .. '9' )+
858 { 1620 {
859 // InternalSolverLanguage.g:2501:12: ( '0' .. '9' )+ 1621 // InternalSolverLanguage.g:3894:12: ( '0' .. '9' )+
860 int cnt4=0; 1622 int cnt5=0;
861 loop4: 1623 loop5:
862 do { 1624 do {
863 int alt4=2; 1625 int alt5=2;
864 int LA4_0 = input.LA(1); 1626 int LA5_0 = input.LA(1);
865 1627
866 if ( ((LA4_0>='0' && LA4_0<='9')) ) { 1628 if ( ((LA5_0>='0' && LA5_0<='9')) ) {
867 alt4=1; 1629 alt5=1;
868 } 1630 }
869 1631
870 1632
871 switch (alt4) { 1633 switch (alt5) {
872 case 1 : 1634 case 1 :
873 // InternalSolverLanguage.g:2501:13: '0' .. '9' 1635 // InternalSolverLanguage.g:3894:13: '0' .. '9'
874 { 1636 {
875 matchRange('0','9'); 1637 matchRange('0','9');
876 1638
@@ -878,12 +1640,12 @@ public class InternalSolverLanguageLexer extends Lexer {
878 break; 1640 break;
879 1641
880 default : 1642 default :
881 if ( cnt4 >= 1 ) break loop4; 1643 if ( cnt5 >= 1 ) break loop5;
882 EarlyExitException eee = 1644 EarlyExitException eee =
883 new EarlyExitException(4, input); 1645 new EarlyExitException(5, input);
884 throw eee; 1646 throw eee;
885 } 1647 }
886 cnt4++; 1648 cnt5++;
887 } while (true); 1649 } while (true);
888 1650
889 1651
@@ -902,37 +1664,37 @@ public class InternalSolverLanguageLexer extends Lexer {
902 try { 1664 try {
903 int _type = RULE_ML_COMMENT; 1665 int _type = RULE_ML_COMMENT;
904 int _channel = DEFAULT_TOKEN_CHANNEL; 1666 int _channel = DEFAULT_TOKEN_CHANNEL;
905 // InternalSolverLanguage.g:2503:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) 1667 // InternalSolverLanguage.g:3896:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
906 // InternalSolverLanguage.g:2503:19: '/*' ( options {greedy=false; } : . )* '*/' 1668 // InternalSolverLanguage.g:3896:19: '/*' ( options {greedy=false; } : . )* '*/'
907 { 1669 {
908 match("/*"); 1670 match("/*");
909 1671
910 // InternalSolverLanguage.g:2503:24: ( options {greedy=false; } : . )* 1672 // InternalSolverLanguage.g:3896:24: ( options {greedy=false; } : . )*
911 loop5: 1673 loop6:
912 do { 1674 do {
913 int alt5=2; 1675 int alt6=2;
914 int LA5_0 = input.LA(1); 1676 int LA6_0 = input.LA(1);
915 1677
916 if ( (LA5_0=='*') ) { 1678 if ( (LA6_0=='*') ) {
917 int LA5_1 = input.LA(2); 1679 int LA6_1 = input.LA(2);
918 1680
919 if ( (LA5_1=='/') ) { 1681 if ( (LA6_1=='/') ) {
920 alt5=2; 1682 alt6=2;
921 } 1683 }
922 else if ( ((LA5_1>='\u0000' && LA5_1<='.')||(LA5_1>='0' && LA5_1<='\uFFFF')) ) { 1684 else if ( ((LA6_1>='\u0000' && LA6_1<='.')||(LA6_1>='0' && LA6_1<='\uFFFF')) ) {
923 alt5=1; 1685 alt6=1;
924 } 1686 }
925 1687
926 1688
927 } 1689 }
928 else if ( ((LA5_0>='\u0000' && LA5_0<=')')||(LA5_0>='+' && LA5_0<='\uFFFF')) ) { 1690 else if ( ((LA6_0>='\u0000' && LA6_0<=')')||(LA6_0>='+' && LA6_0<='\uFFFF')) ) {
929 alt5=1; 1691 alt6=1;
930 } 1692 }
931 1693
932 1694
933 switch (alt5) { 1695 switch (alt6) {
934 case 1 : 1696 case 1 :
935 // InternalSolverLanguage.g:2503:52: . 1697 // InternalSolverLanguage.g:3896:52: .
936 { 1698 {
937 matchAny(); 1699 matchAny();
938 1700
@@ -940,7 +1702,7 @@ public class InternalSolverLanguageLexer extends Lexer {
940 break; 1702 break;
941 1703
942 default : 1704 default :
943 break loop5; 1705 break loop6;
944 } 1706 }
945 } while (true); 1707 } while (true);
946 1708
@@ -962,25 +1724,25 @@ public class InternalSolverLanguageLexer extends Lexer {
962 try { 1724 try {
963 int _type = RULE_SL_COMMENT; 1725 int _type = RULE_SL_COMMENT;
964 int _channel = DEFAULT_TOKEN_CHANNEL; 1726 int _channel = DEFAULT_TOKEN_CHANNEL;
965 // InternalSolverLanguage.g:2505:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) 1727 // InternalSolverLanguage.g:3898:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
966 // InternalSolverLanguage.g:2505:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? 1728 // InternalSolverLanguage.g:3898:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
967 { 1729 {
968 match("//"); 1730 match("//");
969 1731
970 // InternalSolverLanguage.g:2505:24: (~ ( ( '\\n' | '\\r' ) ) )* 1732 // InternalSolverLanguage.g:3898:24: (~ ( ( '\\n' | '\\r' ) ) )*
971 loop6: 1733 loop7:
972 do { 1734 do {
973 int alt6=2; 1735 int alt7=2;
974 int LA6_0 = input.LA(1); 1736 int LA7_0 = input.LA(1);
975 1737
976 if ( ((LA6_0>='\u0000' && LA6_0<='\t')||(LA6_0>='\u000B' && LA6_0<='\f')||(LA6_0>='\u000E' && LA6_0<='\uFFFF')) ) { 1738 if ( ((LA7_0>='\u0000' && LA7_0<='\t')||(LA7_0>='\u000B' && LA7_0<='\f')||(LA7_0>='\u000E' && LA7_0<='\uFFFF')) ) {
977 alt6=1; 1739 alt7=1;
978 } 1740 }
979 1741
980 1742
981 switch (alt6) { 1743 switch (alt7) {
982 case 1 : 1744 case 1 :
983 // InternalSolverLanguage.g:2505:24: ~ ( ( '\\n' | '\\r' ) ) 1745 // InternalSolverLanguage.g:3898:24: ~ ( ( '\\n' | '\\r' ) )
984 { 1746 {
985 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') ) { 1747 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') ) {
986 input.consume(); 1748 input.consume();
@@ -996,31 +1758,31 @@ public class InternalSolverLanguageLexer extends Lexer {
996 break; 1758 break;
997 1759
998 default : 1760 default :
999 break loop6; 1761 break loop7;
1000 } 1762 }
1001 } while (true); 1763 } while (true);
1002 1764
1003 // InternalSolverLanguage.g:2505:40: ( ( '\\r' )? '\\n' )? 1765 // InternalSolverLanguage.g:3898:40: ( ( '\\r' )? '\\n' )?
1004 int alt8=2; 1766 int alt9=2;
1005 int LA8_0 = input.LA(1); 1767 int LA9_0 = input.LA(1);
1006 1768
1007 if ( (LA8_0=='\n'||LA8_0=='\r') ) { 1769 if ( (LA9_0=='\n'||LA9_0=='\r') ) {
1008 alt8=1; 1770 alt9=1;
1009 } 1771 }
1010 switch (alt8) { 1772 switch (alt9) {
1011 case 1 : 1773 case 1 :
1012 // InternalSolverLanguage.g:2505:41: ( '\\r' )? '\\n' 1774 // InternalSolverLanguage.g:3898:41: ( '\\r' )? '\\n'
1013 { 1775 {
1014 // InternalSolverLanguage.g:2505:41: ( '\\r' )? 1776 // InternalSolverLanguage.g:3898:41: ( '\\r' )?
1015 int alt7=2; 1777 int alt8=2;
1016 int LA7_0 = input.LA(1); 1778 int LA8_0 = input.LA(1);
1017 1779
1018 if ( (LA7_0=='\r') ) { 1780 if ( (LA8_0=='\r') ) {
1019 alt7=1; 1781 alt8=1;
1020 } 1782 }
1021 switch (alt7) { 1783 switch (alt8) {
1022 case 1 : 1784 case 1 :
1023 // InternalSolverLanguage.g:2505:41: '\\r' 1785 // InternalSolverLanguage.g:3898:41: '\\r'
1024 { 1786 {
1025 match('\r'); 1787 match('\r');
1026 1788
@@ -1052,22 +1814,22 @@ public class InternalSolverLanguageLexer extends Lexer {
1052 try { 1814 try {
1053 int _type = RULE_WS; 1815 int _type = RULE_WS;
1054 int _channel = DEFAULT_TOKEN_CHANNEL; 1816 int _channel = DEFAULT_TOKEN_CHANNEL;
1055 // InternalSolverLanguage.g:2507:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) 1817 // InternalSolverLanguage.g:3900:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
1056 // InternalSolverLanguage.g:2507:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1818 // InternalSolverLanguage.g:3900:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1057 { 1819 {
1058 // InternalSolverLanguage.g:2507:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1820 // InternalSolverLanguage.g:3900:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1059 int cnt9=0; 1821 int cnt10=0;
1060 loop9: 1822 loop10:
1061 do { 1823 do {
1062 int alt9=2; 1824 int alt10=2;
1063 int LA9_0 = input.LA(1); 1825 int LA10_0 = input.LA(1);
1064 1826
1065 if ( ((LA9_0>='\t' && LA9_0<='\n')||LA9_0=='\r'||LA9_0==' ') ) { 1827 if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) {
1066 alt9=1; 1828 alt10=1;
1067 } 1829 }
1068 1830
1069 1831
1070 switch (alt9) { 1832 switch (alt10) {
1071 case 1 : 1833 case 1 :
1072 // InternalSolverLanguage.g: 1834 // InternalSolverLanguage.g:
1073 { 1835 {
@@ -1085,12 +1847,12 @@ public class InternalSolverLanguageLexer extends Lexer {
1085 break; 1847 break;
1086 1848
1087 default : 1849 default :
1088 if ( cnt9 >= 1 ) break loop9; 1850 if ( cnt10 >= 1 ) break loop10;
1089 EarlyExitException eee = 1851 EarlyExitException eee =
1090 new EarlyExitException(9, input); 1852 new EarlyExitException(10, input);
1091 throw eee; 1853 throw eee;
1092 } 1854 }
1093 cnt9++; 1855 cnt10++;
1094 } while (true); 1856 } while (true);
1095 1857
1096 1858
@@ -1109,8 +1871,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1109 try { 1871 try {
1110 int _type = RULE_ANY_OTHER; 1872 int _type = RULE_ANY_OTHER;
1111 int _channel = DEFAULT_TOKEN_CHANNEL; 1873 int _channel = DEFAULT_TOKEN_CHANNEL;
1112 // InternalSolverLanguage.g:2509:16: ( . ) 1874 // InternalSolverLanguage.g:3902:16: ( . )
1113 // InternalSolverLanguage.g:2509:18: . 1875 // InternalSolverLanguage.g:3902:18: .
1114 { 1876 {
1115 matchAny(); 1877 matchAny();
1116 1878
@@ -1125,271 +1887,502 @@ public class InternalSolverLanguageLexer extends Lexer {
1125 // $ANTLR end "RULE_ANY_OTHER" 1887 // $ANTLR end "RULE_ANY_OTHER"
1126 1888
1127 public void mTokens() throws RecognitionException { 1889 public void mTokens() throws RecognitionException {
1128 // InternalSolverLanguage.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | RULE_STRING | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) 1890 // InternalSolverLanguage.g:1:8: ( T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | RULE_STRING | RULE_QUOTED_ID | RULE_PLUS | RULE_STAR | RULE_DOT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
1129 int alt10=38; 1891 int alt11=71;
1130 alt10 = dfa10.predict(input); 1892 alt11 = dfa11.predict(input);
1131 switch (alt10) { 1893 switch (alt11) {
1132 case 1 : 1894 case 1 :
1133 // InternalSolverLanguage.g:1:10: T__11 1895 // InternalSolverLanguage.g:1:10: T__15
1134 { 1896 {
1135 mT__11(); 1897 mT__15();
1136 1898
1137 } 1899 }
1138 break; 1900 break;
1139 case 2 : 1901 case 2 :
1140 // InternalSolverLanguage.g:1:16: T__12 1902 // InternalSolverLanguage.g:1:16: T__16
1141 { 1903 {
1142 mT__12(); 1904 mT__16();
1143 1905
1144 } 1906 }
1145 break; 1907 break;
1146 case 3 : 1908 case 3 :
1147 // InternalSolverLanguage.g:1:22: T__13 1909 // InternalSolverLanguage.g:1:22: T__17
1148 { 1910 {
1149 mT__13(); 1911 mT__17();
1150 1912
1151 } 1913 }
1152 break; 1914 break;
1153 case 4 : 1915 case 4 :
1154 // InternalSolverLanguage.g:1:28: T__14 1916 // InternalSolverLanguage.g:1:28: T__18
1155 { 1917 {
1156 mT__14(); 1918 mT__18();
1157 1919
1158 } 1920 }
1159 break; 1921 break;
1160 case 5 : 1922 case 5 :
1161 // InternalSolverLanguage.g:1:34: T__15 1923 // InternalSolverLanguage.g:1:34: T__19
1162 { 1924 {
1163 mT__15(); 1925 mT__19();
1164 1926
1165 } 1927 }
1166 break; 1928 break;
1167 case 6 : 1929 case 6 :
1168 // InternalSolverLanguage.g:1:40: T__16 1930 // InternalSolverLanguage.g:1:40: T__20
1169 { 1931 {
1170 mT__16(); 1932 mT__20();
1171 1933
1172 } 1934 }
1173 break; 1935 break;
1174 case 7 : 1936 case 7 :
1175 // InternalSolverLanguage.g:1:46: T__17 1937 // InternalSolverLanguage.g:1:46: T__21
1176 { 1938 {
1177 mT__17(); 1939 mT__21();
1178 1940
1179 } 1941 }
1180 break; 1942 break;
1181 case 8 : 1943 case 8 :
1182 // InternalSolverLanguage.g:1:52: T__18 1944 // InternalSolverLanguage.g:1:52: T__22
1183 { 1945 {
1184 mT__18(); 1946 mT__22();
1185 1947
1186 } 1948 }
1187 break; 1949 break;
1188 case 9 : 1950 case 9 :
1189 // InternalSolverLanguage.g:1:58: T__19 1951 // InternalSolverLanguage.g:1:58: T__23
1190 { 1952 {
1191 mT__19(); 1953 mT__23();
1192 1954
1193 } 1955 }
1194 break; 1956 break;
1195 case 10 : 1957 case 10 :
1196 // InternalSolverLanguage.g:1:64: T__20 1958 // InternalSolverLanguage.g:1:64: T__24
1197 { 1959 {
1198 mT__20(); 1960 mT__24();
1199 1961
1200 } 1962 }
1201 break; 1963 break;
1202 case 11 : 1964 case 11 :
1203 // InternalSolverLanguage.g:1:70: T__21 1965 // InternalSolverLanguage.g:1:70: T__25
1204 { 1966 {
1205 mT__21(); 1967 mT__25();
1206 1968
1207 } 1969 }
1208 break; 1970 break;
1209 case 12 : 1971 case 12 :
1210 // InternalSolverLanguage.g:1:76: T__22 1972 // InternalSolverLanguage.g:1:76: T__26
1211 { 1973 {
1212 mT__22(); 1974 mT__26();
1213 1975
1214 } 1976 }
1215 break; 1977 break;
1216 case 13 : 1978 case 13 :
1217 // InternalSolverLanguage.g:1:82: T__23 1979 // InternalSolverLanguage.g:1:82: T__27
1218 { 1980 {
1219 mT__23(); 1981 mT__27();
1220 1982
1221 } 1983 }
1222 break; 1984 break;
1223 case 14 : 1985 case 14 :
1224 // InternalSolverLanguage.g:1:88: T__24 1986 // InternalSolverLanguage.g:1:88: T__28
1225 { 1987 {
1226 mT__24(); 1988 mT__28();
1227 1989
1228 } 1990 }
1229 break; 1991 break;
1230 case 15 : 1992 case 15 :
1231 // InternalSolverLanguage.g:1:94: T__25 1993 // InternalSolverLanguage.g:1:94: T__29
1232 { 1994 {
1233 mT__25(); 1995 mT__29();
1234 1996
1235 } 1997 }
1236 break; 1998 break;
1237 case 16 : 1999 case 16 :
1238 // InternalSolverLanguage.g:1:100: T__26 2000 // InternalSolverLanguage.g:1:100: T__30
1239 { 2001 {
1240 mT__26(); 2002 mT__30();
1241 2003
1242 } 2004 }
1243 break; 2005 break;
1244 case 17 : 2006 case 17 :
1245 // InternalSolverLanguage.g:1:106: T__27 2007 // InternalSolverLanguage.g:1:106: T__31
1246 { 2008 {
1247 mT__27(); 2009 mT__31();
1248 2010
1249 } 2011 }
1250 break; 2012 break;
1251 case 18 : 2013 case 18 :
1252 // InternalSolverLanguage.g:1:112: T__28 2014 // InternalSolverLanguage.g:1:112: T__32
1253 { 2015 {
1254 mT__28(); 2016 mT__32();
1255 2017
1256 } 2018 }
1257 break; 2019 break;
1258 case 19 : 2020 case 19 :
1259 // InternalSolverLanguage.g:1:118: T__29 2021 // InternalSolverLanguage.g:1:118: T__33
1260 { 2022 {
1261 mT__29(); 2023 mT__33();
1262 2024
1263 } 2025 }
1264 break; 2026 break;
1265 case 20 : 2027 case 20 :
1266 // InternalSolverLanguage.g:1:124: T__30 2028 // InternalSolverLanguage.g:1:124: T__34
1267 { 2029 {
1268 mT__30(); 2030 mT__34();
1269 2031
1270 } 2032 }
1271 break; 2033 break;
1272 case 21 : 2034 case 21 :
1273 // InternalSolverLanguage.g:1:130: T__31 2035 // InternalSolverLanguage.g:1:130: T__35
1274 { 2036 {
1275 mT__31(); 2037 mT__35();
1276 2038
1277 } 2039 }
1278 break; 2040 break;
1279 case 22 : 2041 case 22 :
1280 // InternalSolverLanguage.g:1:136: T__32 2042 // InternalSolverLanguage.g:1:136: T__36
1281 { 2043 {
1282 mT__32(); 2044 mT__36();
1283 2045
1284 } 2046 }
1285 break; 2047 break;
1286 case 23 : 2048 case 23 :
1287 // InternalSolverLanguage.g:1:142: T__33 2049 // InternalSolverLanguage.g:1:142: T__37
1288 { 2050 {
1289 mT__33(); 2051 mT__37();
1290 2052
1291 } 2053 }
1292 break; 2054 break;
1293 case 24 : 2055 case 24 :
1294 // InternalSolverLanguage.g:1:148: T__34 2056 // InternalSolverLanguage.g:1:148: T__38
1295 { 2057 {
1296 mT__34(); 2058 mT__38();
1297 2059
1298 } 2060 }
1299 break; 2061 break;
1300 case 25 : 2062 case 25 :
1301 // InternalSolverLanguage.g:1:154: T__35 2063 // InternalSolverLanguage.g:1:154: T__39
1302 { 2064 {
1303 mT__35(); 2065 mT__39();
1304 2066
1305 } 2067 }
1306 break; 2068 break;
1307 case 26 : 2069 case 26 :
1308 // InternalSolverLanguage.g:1:160: T__36 2070 // InternalSolverLanguage.g:1:160: T__40
1309 { 2071 {
1310 mT__36(); 2072 mT__40();
1311 2073
1312 } 2074 }
1313 break; 2075 break;
1314 case 27 : 2076 case 27 :
1315 // InternalSolverLanguage.g:1:166: T__37 2077 // InternalSolverLanguage.g:1:166: T__41
1316 { 2078 {
1317 mT__37(); 2079 mT__41();
1318 2080
1319 } 2081 }
1320 break; 2082 break;
1321 case 28 : 2083 case 28 :
1322 // InternalSolverLanguage.g:1:172: T__38 2084 // InternalSolverLanguage.g:1:172: T__42
1323 { 2085 {
1324 mT__38(); 2086 mT__42();
1325 2087
1326 } 2088 }
1327 break; 2089 break;
1328 case 29 : 2090 case 29 :
1329 // InternalSolverLanguage.g:1:178: T__39 2091 // InternalSolverLanguage.g:1:178: T__43
1330 { 2092 {
1331 mT__39(); 2093 mT__43();
1332 2094
1333 } 2095 }
1334 break; 2096 break;
1335 case 30 : 2097 case 30 :
1336 // InternalSolverLanguage.g:1:184: T__40 2098 // InternalSolverLanguage.g:1:184: T__44
1337 { 2099 {
1338 mT__40(); 2100 mT__44();
1339 2101
1340 } 2102 }
1341 break; 2103 break;
1342 case 31 : 2104 case 31 :
1343 // InternalSolverLanguage.g:1:190: T__41 2105 // InternalSolverLanguage.g:1:190: T__45
1344 { 2106 {
1345 mT__41(); 2107 mT__45();
1346 2108
1347 } 2109 }
1348 break; 2110 break;
1349 case 32 : 2111 case 32 :
1350 // InternalSolverLanguage.g:1:196: RULE_STRING 2112 // InternalSolverLanguage.g:1:196: T__46
1351 { 2113 {
1352 mRULE_STRING(); 2114 mT__46();
1353 2115
1354 } 2116 }
1355 break; 2117 break;
1356 case 33 : 2118 case 33 :
1357 // InternalSolverLanguage.g:1:208: RULE_ID 2119 // InternalSolverLanguage.g:1:202: T__47
1358 { 2120 {
1359 mRULE_ID(); 2121 mT__47();
1360 2122
1361 } 2123 }
1362 break; 2124 break;
1363 case 34 : 2125 case 34 :
1364 // InternalSolverLanguage.g:1:216: RULE_INT 2126 // InternalSolverLanguage.g:1:208: T__48
1365 { 2127 {
1366 mRULE_INT(); 2128 mT__48();
1367 2129
1368 } 2130 }
1369 break; 2131 break;
1370 case 35 : 2132 case 35 :
1371 // InternalSolverLanguage.g:1:225: RULE_ML_COMMENT 2133 // InternalSolverLanguage.g:1:214: T__49
1372 { 2134 {
1373 mRULE_ML_COMMENT(); 2135 mT__49();
1374 2136
1375 } 2137 }
1376 break; 2138 break;
1377 case 36 : 2139 case 36 :
1378 // InternalSolverLanguage.g:1:241: RULE_SL_COMMENT 2140 // InternalSolverLanguage.g:1:220: T__50
1379 { 2141 {
1380 mRULE_SL_COMMENT(); 2142 mT__50();
1381 2143
1382 } 2144 }
1383 break; 2145 break;
1384 case 37 : 2146 case 37 :
1385 // InternalSolverLanguage.g:1:257: RULE_WS 2147 // InternalSolverLanguage.g:1:226: T__51
1386 { 2148 {
1387 mRULE_WS(); 2149 mT__51();
1388 2150
1389 } 2151 }
1390 break; 2152 break;
1391 case 38 : 2153 case 38 :
1392 // InternalSolverLanguage.g:1:265: RULE_ANY_OTHER 2154 // InternalSolverLanguage.g:1:232: T__52
2155 {
2156 mT__52();
2157
2158 }
2159 break;
2160 case 39 :
2161 // InternalSolverLanguage.g:1:238: T__53
2162 {
2163 mT__53();
2164
2165 }
2166 break;
2167 case 40 :
2168 // InternalSolverLanguage.g:1:244: T__54
2169 {
2170 mT__54();
2171
2172 }
2173 break;
2174 case 41 :
2175 // InternalSolverLanguage.g:1:250: T__55
2176 {
2177 mT__55();
2178
2179 }
2180 break;
2181 case 42 :
2182 // InternalSolverLanguage.g:1:256: T__56
2183 {
2184 mT__56();
2185
2186 }
2187 break;
2188 case 43 :
2189 // InternalSolverLanguage.g:1:262: T__57
2190 {
2191 mT__57();
2192
2193 }
2194 break;
2195 case 44 :
2196 // InternalSolverLanguage.g:1:268: T__58
2197 {
2198 mT__58();
2199
2200 }
2201 break;
2202 case 45 :
2203 // InternalSolverLanguage.g:1:274: T__59
2204 {
2205 mT__59();
2206
2207 }
2208 break;
2209 case 46 :
2210 // InternalSolverLanguage.g:1:280: T__60
2211 {
2212 mT__60();
2213
2214 }
2215 break;
2216 case 47 :
2217 // InternalSolverLanguage.g:1:286: T__61
2218 {
2219 mT__61();
2220
2221 }
2222 break;
2223 case 48 :
2224 // InternalSolverLanguage.g:1:292: T__62
2225 {
2226 mT__62();
2227
2228 }
2229 break;
2230 case 49 :
2231 // InternalSolverLanguage.g:1:298: T__63
2232 {
2233 mT__63();
2234
2235 }
2236 break;
2237 case 50 :
2238 // InternalSolverLanguage.g:1:304: T__64
2239 {
2240 mT__64();
2241
2242 }
2243 break;
2244 case 51 :
2245 // InternalSolverLanguage.g:1:310: T__65
2246 {
2247 mT__65();
2248
2249 }
2250 break;
2251 case 52 :
2252 // InternalSolverLanguage.g:1:316: T__66
2253 {
2254 mT__66();
2255
2256 }
2257 break;
2258 case 53 :
2259 // InternalSolverLanguage.g:1:322: T__67
2260 {
2261 mT__67();
2262
2263 }
2264 break;
2265 case 54 :
2266 // InternalSolverLanguage.g:1:328: T__68
2267 {
2268 mT__68();
2269
2270 }
2271 break;
2272 case 55 :
2273 // InternalSolverLanguage.g:1:334: T__69
2274 {
2275 mT__69();
2276
2277 }
2278 break;
2279 case 56 :
2280 // InternalSolverLanguage.g:1:340: T__70
2281 {
2282 mT__70();
2283
2284 }
2285 break;
2286 case 57 :
2287 // InternalSolverLanguage.g:1:346: T__71
2288 {
2289 mT__71();
2290
2291 }
2292 break;
2293 case 58 :
2294 // InternalSolverLanguage.g:1:352: T__72
2295 {
2296 mT__72();
2297
2298 }
2299 break;
2300 case 59 :
2301 // InternalSolverLanguage.g:1:358: T__73
2302 {
2303 mT__73();
2304
2305 }
2306 break;
2307 case 60 :
2308 // InternalSolverLanguage.g:1:364: T__74
2309 {
2310 mT__74();
2311
2312 }
2313 break;
2314 case 61 :
2315 // InternalSolverLanguage.g:1:370: RULE_STRING
2316 {
2317 mRULE_STRING();
2318
2319 }
2320 break;
2321 case 62 :
2322 // InternalSolverLanguage.g:1:382: RULE_QUOTED_ID
2323 {
2324 mRULE_QUOTED_ID();
2325
2326 }
2327 break;
2328 case 63 :
2329 // InternalSolverLanguage.g:1:397: RULE_PLUS
2330 {
2331 mRULE_PLUS();
2332
2333 }
2334 break;
2335 case 64 :
2336 // InternalSolverLanguage.g:1:407: RULE_STAR
2337 {
2338 mRULE_STAR();
2339
2340 }
2341 break;
2342 case 65 :
2343 // InternalSolverLanguage.g:1:417: RULE_DOT
2344 {
2345 mRULE_DOT();
2346
2347 }
2348 break;
2349 case 66 :
2350 // InternalSolverLanguage.g:1:426: RULE_ID
2351 {
2352 mRULE_ID();
2353
2354 }
2355 break;
2356 case 67 :
2357 // InternalSolverLanguage.g:1:434: RULE_INT
2358 {
2359 mRULE_INT();
2360
2361 }
2362 break;
2363 case 68 :
2364 // InternalSolverLanguage.g:1:443: RULE_ML_COMMENT
2365 {
2366 mRULE_ML_COMMENT();
2367
2368 }
2369 break;
2370 case 69 :
2371 // InternalSolverLanguage.g:1:459: RULE_SL_COMMENT
2372 {
2373 mRULE_SL_COMMENT();
2374
2375 }
2376 break;
2377 case 70 :
2378 // InternalSolverLanguage.g:1:475: RULE_WS
2379 {
2380 mRULE_WS();
2381
2382 }
2383 break;
2384 case 71 :
2385 // InternalSolverLanguage.g:1:483: RULE_ANY_OTHER
1393 { 2386 {
1394 mRULE_ANY_OTHER(); 2387 mRULE_ANY_OTHER();
1395 2388
@@ -1401,286 +2394,408 @@ public class InternalSolverLanguageLexer extends Lexer {
1401 } 2394 }
1402 2395
1403 2396
1404 protected DFA10 dfa10 = new DFA10(this); 2397 protected DFA11 dfa11 = new DFA11(this);
1405 static final String DFA10_eotS = 2398 static final String DFA11_eotS =
1406 "\2\uffff\1\41\4\43\3\uffff\1\56\4\43\4\uffff\3\43\2\uffff\2\36\2\uffff\1\36\5\uffff\1\43\1\uffff\6\43\5\uffff\4\43\4\uffff\4\43\7\uffff\11\43\1\134\7\43\1\144\6\43\1\153\1\154\1\uffff\1\155\6\43\1\uffff\1\164\1\43\1\166\3\43\3\uffff\4\43\1\176\1\43\1\uffff\1\43\1\uffff\1\u0081\1\43\1\u0083\1\43\1\u0085\2\43\1\uffff\1\43\1\u0089\1\uffff\1\u008a\1\uffff\1\43\1\uffff\1\u008c\2\43\2\uffff\1\u008f\1\uffff\1\u0090\1\43\2\uffff\2\43\1\u0094\1\uffff"; 2399 "\1\uffff\1\51\1\53\3\56\1\65\2\56\1\uffff\1\74\1\uffff\1\56\10\uffff\3\56\1\121\1\123\1\56\1\126\1\uffff\1\132\1\133\3\56\2\47\10\uffff\2\56\1\uffff\5\56\2\uffff\1\154\1\157\2\56\4\uffff\3\56\10\uffff\7\56\4\uffff\1\56\7\uffff\5\56\4\uffff\7\56\1\uffff\1\u008b\1\u008c\1\uffff\7\56\1\u0094\3\56\1\u0098\2\56\1\u009b\1\u009d\1\56\1\u00a0\6\56\1\u00a8\2\56\2\uffff\1\u00ab\1\u00ac\5\56\1\uffff\1\56\1\u00b3\1\56\1\uffff\1\56\1\u00b6\1\uffff\1\56\1\uffff\1\u00b8\1\56\1\uffff\1\u00ba\2\56\1\u00bd\1\u00be\2\56\1\uffff\1\u00c1\1\56\2\uffff\1\u00c3\1\56\1\u00c5\3\56\1\uffff\1\u00c9\1\56\1\uffff\1\56\1\uffff\1\56\1\uffff\2\56\2\uffff\1\u00cf\1\56\1\uffff\1\56\1\uffff\1\56\1\uffff\3\56\1\uffff\5\56\1\uffff\1\u00db\1\u00dc\1\56\1\u00de\5\56\1\u00e4\1\56\2\uffff\1\u00e6\1\uffff\1\u00e7\1\u00e8\1\56\1\u00ea\1\u00eb\1\uffff\1\56\3\uffff\1\56\2\uffff\1\u00ee\6\uffff";
1407 static final String DFA10_eofS = 2400 static final String DFA11_eofS =
1408 "\u0095\uffff"; 2401 "\u00f3\uffff";
1409 static final String DFA10_minS = 2402 static final String DFA11_minS =
1410 "\1\0\1\uffff\1\56\1\162\1\141\2\156\3\uffff\1\55\1\157\1\156\1\145\1\164\4\uffff\1\145\1\142\1\154\2\uffff\1\0\1\101\2\uffff\1\52\5\uffff\1\165\1\uffff\1\154\1\153\1\162\1\151\2\165\5\uffff\1\157\1\164\1\141\1\162\4\uffff\1\146\1\163\1\141\1\156\7\uffff\1\145\1\163\1\156\1\157\1\163\1\145\1\141\1\155\1\154\1\60\1\154\1\141\1\151\1\141\1\164\1\163\1\164\1\60\1\145\1\157\1\162\1\164\1\156\1\154\2\60\1\uffff\1\60\1\164\1\156\1\165\1\162\1\163\1\141\1\uffff\1\60\1\167\1\60\1\163\1\144\1\163\3\uffff\1\151\1\147\1\154\1\141\1\60\1\151\1\uffff\1\156\1\uffff\1\60\1\163\1\60\1\157\1\60\1\164\1\143\1\uffff\1\156\1\60\1\uffff\1\60\1\uffff\1\156\1\uffff\1\60\1\164\1\155\2\uffff\1\60\1\uffff\1\60\1\145\2\uffff\1\156\1\164\1\60\1\uffff"; 2403 "\1\0\1\55\1\75\1\141\1\154\1\145\1\56\1\146\1\150\1\uffff\1\76\1\uffff\1\154\10\uffff\1\142\1\156\1\143\2\75\1\145\1\75\1\uffff\1\52\1\101\1\141\1\162\1\156\2\0\10\uffff\1\156\1\154\1\uffff\1\162\1\164\1\163\1\160\1\146\2\uffff\2\60\1\145\1\165\4\uffff\1\156\1\141\1\162\10\uffff\1\163\1\147\1\160\1\154\1\157\1\155\1\156\4\uffff\1\141\7\uffff\1\170\1\163\1\156\1\157\1\153\4\uffff\1\143\1\163\1\157\2\145\1\164\1\141\1\uffff\2\60\1\uffff\1\156\1\145\1\156\1\164\1\163\1\162\1\164\1\60\1\157\1\171\1\160\1\60\1\164\1\154\2\60\1\164\1\60\1\144\1\156\1\164\1\145\1\162\1\156\1\60\1\171\1\165\2\uffff\2\60\1\164\1\141\1\163\1\145\1\162\1\uffff\1\163\1\60\1\145\1\uffff\1\150\1\60\1\uffff\1\155\1\uffff\1\60\1\155\1\uffff\1\60\1\157\1\151\2\60\1\156\1\144\1\uffff\1\60\1\154\2\uffff\1\60\1\151\1\60\1\156\1\141\1\151\1\uffff\1\60\1\145\1\uffff\1\151\1\uffff\1\151\1\uffff\1\167\1\157\2\uffff\1\60\1\163\1\uffff\1\164\1\uffff\1\156\1\uffff\1\164\1\143\1\164\1\uffff\1\164\2\172\2\156\1\uffff\2\60\1\163\1\60\1\164\1\145\1\151\2\145\1\60\1\141\2\uffff\1\60\1\uffff\2\60\1\143\2\60\1\uffff\1\154\3\uffff\1\72\2\uffff\1\60\1\72\1\uffff\1\144\3\uffff";
1411 static final String DFA10_maxS = 2404 static final String DFA11_maxS =
1412 "\1\uffff\1\uffff\1\56\1\162\1\141\1\156\1\170\3\uffff\1\55\1\157\1\156\1\145\1\164\4\uffff\1\145\1\142\1\157\2\uffff\1\uffff\1\172\2\uffff\1\57\5\uffff\1\165\1\uffff\1\154\1\153\1\162\1\164\2\165\5\uffff\1\157\1\164\1\154\1\162\4\uffff\1\146\1\163\1\141\1\156\7\uffff\1\145\1\163\1\156\1\157\1\163\1\145\1\141\1\155\1\154\1\172\1\154\1\141\1\151\1\141\1\164\1\163\1\164\1\172\1\145\1\157\1\162\1\164\1\156\1\154\2\172\1\uffff\1\172\1\164\1\156\1\165\1\162\1\163\1\141\1\uffff\1\172\1\167\1\172\1\163\1\144\1\163\3\uffff\1\151\1\147\1\154\1\141\1\172\1\151\1\uffff\1\156\1\uffff\1\172\1\163\1\172\1\157\1\172\1\164\1\143\1\uffff\1\156\1\172\1\uffff\1\172\1\uffff\1\156\1\uffff\1\172\1\164\1\155\2\uffff\1\172\1\uffff\1\172\1\145\2\uffff\1\156\1\164\1\172\1\uffff"; 2405 "\1\uffff\1\55\1\75\1\165\1\170\1\145\1\56\1\156\1\162\1\uffff\1\76\1\uffff\1\165\10\uffff\1\166\1\160\1\171\2\75\1\145\1\75\1\uffff\1\57\1\172\1\165\1\162\1\156\2\uffff\10\uffff\1\156\1\154\1\uffff\1\162\1\164\1\163\1\160\1\146\2\uffff\2\172\1\145\1\165\4\uffff\1\165\1\141\1\162\10\uffff\1\163\1\147\1\160\1\154\1\157\1\155\1\156\4\uffff\1\141\7\uffff\1\171\1\163\1\156\1\157\1\153\4\uffff\1\143\1\163\1\157\2\145\1\164\1\141\1\uffff\2\172\1\uffff\1\156\1\145\1\156\1\164\1\163\1\162\1\164\1\172\1\157\1\171\1\160\1\172\1\164\1\154\2\172\1\164\1\172\1\144\1\156\1\164\1\145\2\162\1\172\1\171\1\165\2\uffff\2\172\1\164\1\141\1\163\1\145\1\162\1\uffff\1\163\1\172\1\145\1\uffff\1\150\1\172\1\uffff\1\155\1\uffff\1\172\1\155\1\uffff\1\172\1\157\1\151\2\172\1\156\1\144\1\uffff\1\172\1\154\2\uffff\1\172\1\151\1\172\1\156\1\141\1\151\1\uffff\1\172\1\145\1\uffff\1\151\1\uffff\1\151\1\uffff\1\167\1\157\2\uffff\1\172\1\163\1\uffff\1\164\1\uffff\1\156\1\uffff\1\164\1\143\1\164\1\uffff\1\164\2\172\2\156\1\uffff\2\172\1\163\1\172\1\164\1\145\1\151\2\145\1\172\1\141\2\uffff\1\172\1\uffff\2\172\1\143\2\172\1\uffff\1\154\3\uffff\1\72\2\uffff\1\172\1\72\1\uffff\1\163\3\uffff";
1413 static final String DFA10_acceptS = 2406 static final String DFA11_acceptS =
1414 "\1\uffff\1\1\5\uffff\1\7\1\10\1\11\5\uffff\1\21\1\23\1\24\1\25\3\uffff\1\32\1\33\2\uffff\1\41\1\42\1\uffff\1\45\1\46\1\1\1\37\1\2\1\uffff\1\41\6\uffff\1\7\1\10\1\11\1\22\1\12\4\uffff\1\21\1\23\1\24\1\25\4\uffff\1\32\1\33\1\40\1\42\1\43\1\44\1\45\32\uffff\1\16\7\uffff\1\3\6\uffff\1\34\1\15\1\17\6\uffff\1\4\1\uffff\1\6\7\uffff\1\30\2\uffff\1\13\1\uffff\1\14\1\uffff\1\20\3\uffff\1\5\1\31\1\uffff\1\26\2\uffff\1\36\1\27\3\uffff\1\35"; 2407 "\11\uffff\1\14\1\uffff\1\16\1\uffff\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\30\7\uffff\1\52\7\uffff\1\102\1\103\1\106\1\107\1\2\1\1\1\41\1\3\2\uffff\1\102\5\uffff\1\27\1\10\4\uffff\1\14\1\15\1\53\1\16\3\uffff\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\30\7\uffff\1\42\1\47\1\43\1\50\1\uffff\1\46\1\56\1\52\1\104\1\105\1\54\1\55\5\uffff\1\75\1\76\1\103\1\106\7\uffff\1\11\2\uffff\1\51\33\uffff\1\31\1\44\7\uffff\1\65\3\uffff\1\63\2\uffff\1\57\1\uffff\1\67\2\uffff\1\66\7\uffff\1\13\2\uffff\1\12\1\70\6\uffff\1\62\2\uffff\1\45\1\uffff\1\60\1\uffff\1\64\2\uffff\1\71\1\5\2\uffff\1\32\1\uffff\1\17\1\uffff\1\34\3\uffff\1\40\5\uffff\1\7\13\uffff\1\35\1\6\1\uffff\1\61\5\uffff\1\72\1\uffff\1\36\1\33\1\37\1\uffff\1\74\1\73\2\uffff\1\4\1\uffff\1\77\1\100\1\101";
1415 static final String DFA10_specialS = 2408 static final String DFA11_specialS =
1416 "\1\0\27\uffff\1\1\174\uffff}>"; 2409 "\1\1\41\uffff\1\2\1\0\u00cf\uffff}>";
1417 static final String[] DFA10_transitionS = { 2410 static final String[] DFA11_transitionS = {
1418 "\11\36\2\35\2\36\1\35\22\36\1\35\1\36\1\30\4\36\1\17\1\7\1\11\1\22\1\21\1\10\1\1\1\2\1\34\12\33\1\12\6\36\32\32\3\36\1\31\1\32\1\36\1\24\1\13\1\25\1\23\1\6\1\4\2\32\1\14\10\32\1\15\1\16\1\3\1\5\5\32\1\26\1\20\1\27\uff82\36", 2411 "\11\47\2\46\2\47\1\46\22\47\1\46\1\33\1\42\4\47\1\43\1\20\1\21\1\22\1\34\1\13\1\12\1\6\1\35\12\45\1\1\1\11\1\30\1\2\1\31\2\47\32\44\1\23\1\47\1\24\1\36\1\44\1\47\1\25\1\44\1\14\1\5\1\4\1\3\2\44\1\7\3\44\1\37\1\44\1\26\1\40\1\44\1\32\1\27\1\10\1\41\5\44\1\15\1\17\1\16\uff82\47",
2412 "\1\50",
2413 "\1\52",
2414 "\1\55\23\uffff\1\54",
2415 "\1\61\1\62\4\uffff\1\57\5\uffff\1\60",
2416 "\1\63",
2417 "\1\64",
2418 "\1\66\7\uffff\1\67",
2419 "\1\70\11\uffff\1\71",
1419 "", 2420 "",
1420 "\1\40", 2421 "\1\73",
1421 "\1\42",
1422 "\1\44",
1423 "\1\45",
1424 "\1\51\2\uffff\1\50\1\46\5\uffff\1\47",
1425 "", 2422 "",
2423 "\1\77\2\uffff\1\76\5\uffff\1\100",
1426 "", 2424 "",
1427 "", 2425 "",
1428 "\1\55",
1429 "\1\57",
1430 "\1\60",
1431 "\1\61",
1432 "\1\62",
1433 "", 2426 "",
1434 "", 2427 "",
1435 "", 2428 "",
1436 "", 2429 "",
1437 "\1\67",
1438 "\1\70",
1439 "\1\71\2\uffff\1\72",
1440 "", 2430 "",
1441 "", 2431 "",
1442 "\0\75", 2432 "\1\111\23\uffff\1\112",
1443 "\32\43\4\uffff\1\43\1\uffff\32\43", 2433 "\1\114\1\uffff\1\113",
1444 "", 2434 "\1\115\21\uffff\1\116\3\uffff\1\117",
1445 "", 2435 "\1\120",
1446 "\1\77\4\uffff\1\100", 2436 "\1\122",
2437 "\1\124",
2438 "\1\125",
1447 "", 2439 "",
2440 "\1\130\4\uffff\1\131",
2441 "\32\56\4\uffff\1\56\1\uffff\32\56",
2442 "\1\134\7\uffff\1\136\13\uffff\1\135",
2443 "\1\137",
2444 "\1\140",
2445 "\0\141",
2446 "\0\142",
1448 "", 2447 "",
1449 "", 2448 "",
1450 "", 2449 "",
1451 "", 2450 "",
1452 "\1\102",
1453 "", 2451 "",
1454 "\1\103",
1455 "\1\104",
1456 "\1\105",
1457 "\1\106\12\uffff\1\107",
1458 "\1\110",
1459 "\1\111",
1460 "", 2452 "",
1461 "", 2453 "",
1462 "", 2454 "",
2455 "\1\145",
2456 "\1\146",
1463 "", 2457 "",
2458 "\1\147",
2459 "\1\150",
2460 "\1\151",
2461 "\1\152",
2462 "\1\153",
1464 "", 2463 "",
1465 "\1\112",
1466 "\1\113",
1467 "\1\114\12\uffff\1\115",
1468 "\1\116",
1469 "", 2464 "",
2465 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2466 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\5\56\1\155\15\56\1\156\6\56",
2467 "\1\160",
2468 "\1\161",
1470 "", 2469 "",
1471 "", 2470 "",
1472 "", 2471 "",
1473 "\1\117",
1474 "\1\120",
1475 "\1\121",
1476 "\1\122",
1477 "", 2472 "",
2473 "\1\163\6\uffff\1\162",
2474 "\1\164",
2475 "\1\165",
1478 "", 2476 "",
1479 "", 2477 "",
1480 "", 2478 "",
1481 "", 2479 "",
1482 "", 2480 "",
1483 "", 2481 "",
1484 "\1\123",
1485 "\1\124",
1486 "\1\125",
1487 "\1\126",
1488 "\1\127",
1489 "\1\130",
1490 "\1\131",
1491 "\1\132",
1492 "\1\133",
1493 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1494 "\1\135",
1495 "\1\136",
1496 "\1\137",
1497 "\1\140",
1498 "\1\141",
1499 "\1\142",
1500 "\1\143",
1501 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1502 "\1\145",
1503 "\1\146",
1504 "\1\147",
1505 "\1\150",
1506 "\1\151",
1507 "\1\152",
1508 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1509 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1510 "", 2482 "",
1511 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1512 "\1\156",
1513 "\1\157",
1514 "\1\160",
1515 "\1\161",
1516 "\1\162",
1517 "\1\163",
1518 "", 2483 "",
1519 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 2484 "\1\166",
1520 "\1\165",
1521 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1522 "\1\167", 2485 "\1\167",
1523 "\1\170", 2486 "\1\170",
1524 "\1\171", 2487 "\1\171",
1525 "",
1526 "",
1527 "",
1528 "\1\172", 2488 "\1\172",
1529 "\1\173", 2489 "\1\173",
1530 "\1\174", 2490 "\1\174",
2491 "",
2492 "",
2493 "",
2494 "",
1531 "\1\175", 2495 "\1\175",
1532 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1533 "\1\177",
1534 "", 2496 "",
1535 "\1\u0080",
1536 "", 2497 "",
1537 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 2498 "",
2499 "",
2500 "",
2501 "",
2502 "",
2503 "\1\177\1\176",
2504 "\1\u0080",
2505 "\1\u0081",
1538 "\1\u0082", 2506 "\1\u0082",
1539 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 2507 "\1\u0083",
2508 "",
2509 "",
2510 "",
2511 "",
1540 "\1\u0084", 2512 "\1\u0084",
1541 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 2513 "\1\u0085",
1542 "\1\u0086", 2514 "\1\u0086",
1543 "\1\u0087", 2515 "\1\u0087",
1544 "",
1545 "\1\u0088", 2516 "\1\u0088",
1546 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 2517 "\1\u0089",
1547 "", 2518 "\1\u008a",
1548 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1549 "", 2519 "",
1550 "\1\u008b", 2520 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2521 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
1551 "", 2522 "",
1552 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1553 "\1\u008d", 2523 "\1\u008d",
1554 "\1\u008e", 2524 "\1\u008e",
2525 "\1\u008f",
2526 "\1\u0090",
2527 "\1\u0091",
2528 "\1\u0092",
2529 "\1\u0093",
2530 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2531 "\1\u0095",
2532 "\1\u0096",
2533 "\1\u0097",
2534 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2535 "\1\u0099",
2536 "\1\u009a",
2537 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2538 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\10\56\1\u009c\21\56",
2539 "\1\u009e",
2540 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\10\56\1\u009f\21\56",
2541 "\1\u00a1",
2542 "\1\u00a2",
2543 "\1\u00a3",
2544 "\1\u00a4",
2545 "\1\u00a5",
2546 "\1\u00a7\3\uffff\1\u00a6",
2547 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2548 "\1\u00a9",
2549 "\1\u00aa",
1555 "", 2550 "",
1556 "", 2551 "",
1557 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 2552 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2553 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2554 "\1\u00ad",
2555 "\1\u00ae",
2556 "\1\u00af",
2557 "\1\u00b0",
2558 "\1\u00b1",
1558 "", 2559 "",
1559 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 2560 "\1\u00b2",
1560 "\1\u0091", 2561 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2562 "\1\u00b4",
2563 "",
2564 "\1\u00b5",
2565 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2566 "",
2567 "\1\u00b7",
2568 "",
2569 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2570 "\1\u00b9",
2571 "",
2572 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2573 "\1\u00bb",
2574 "\1\u00bc",
2575 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2576 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2577 "\1\u00bf",
2578 "\1\u00c0",
2579 "",
2580 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2581 "\1\u00c2",
2582 "",
2583 "",
2584 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2585 "\1\u00c4",
2586 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2587 "\1\u00c6",
2588 "\1\u00c7",
2589 "\1\u00c8",
2590 "",
2591 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2592 "\1\u00ca",
2593 "",
2594 "\1\u00cb",
2595 "",
2596 "\1\u00cc",
2597 "",
2598 "\1\u00cd",
2599 "\1\u00ce",
2600 "",
2601 "",
2602 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2603 "\1\u00d0",
2604 "",
2605 "\1\u00d1",
2606 "",
2607 "\1\u00d2",
2608 "",
2609 "\1\u00d3",
2610 "\1\u00d4",
2611 "\1\u00d5",
2612 "",
2613 "\1\u00d6",
2614 "\1\u00d7",
2615 "\1\u00d8",
2616 "\1\u00d9",
2617 "\1\u00da",
2618 "",
2619 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2620 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2621 "\1\u00dd",
2622 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2623 "\1\u00df",
2624 "\1\u00e0",
2625 "\1\u00e1",
2626 "\1\u00e2",
2627 "\1\u00e3",
2628 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2629 "\1\u00e5",
2630 "",
2631 "",
2632 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2633 "",
2634 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2635 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2636 "\1\u00e9",
2637 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2638 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2639 "",
2640 "\1\u00ec",
2641 "",
2642 "",
2643 "",
2644 "\1\u00ed",
2645 "",
2646 "",
2647 "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2648 "\1\u00ef",
2649 "",
2650 "\1\u00f2\13\uffff\1\u00f0\2\uffff\1\u00f1",
1561 "", 2651 "",
1562 "", 2652 "",
1563 "\1\u0092",
1564 "\1\u0093",
1565 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1566 "" 2653 ""
1567 }; 2654 };
1568 2655
1569 static final short[] DFA10_eot = DFA.unpackEncodedString(DFA10_eotS); 2656 static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
1570 static final short[] DFA10_eof = DFA.unpackEncodedString(DFA10_eofS); 2657 static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
1571 static final char[] DFA10_min = DFA.unpackEncodedStringToUnsignedChars(DFA10_minS); 2658 static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
1572 static final char[] DFA10_max = DFA.unpackEncodedStringToUnsignedChars(DFA10_maxS); 2659 static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
1573 static final short[] DFA10_accept = DFA.unpackEncodedString(DFA10_acceptS); 2660 static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
1574 static final short[] DFA10_special = DFA.unpackEncodedString(DFA10_specialS); 2661 static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
1575 static final short[][] DFA10_transition; 2662 static final short[][] DFA11_transition;
1576 2663
1577 static { 2664 static {
1578 int numStates = DFA10_transitionS.length; 2665 int numStates = DFA11_transitionS.length;
1579 DFA10_transition = new short[numStates][]; 2666 DFA11_transition = new short[numStates][];
1580 for (int i=0; i<numStates; i++) { 2667 for (int i=0; i<numStates; i++) {
1581 DFA10_transition[i] = DFA.unpackEncodedString(DFA10_transitionS[i]); 2668 DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
1582 } 2669 }
1583 } 2670 }
1584 2671
1585 class DFA10 extends DFA { 2672 class DFA11 extends DFA {
1586 2673
1587 public DFA10(BaseRecognizer recognizer) { 2674 public DFA11(BaseRecognizer recognizer) {
1588 this.recognizer = recognizer; 2675 this.recognizer = recognizer;
1589 this.decisionNumber = 10; 2676 this.decisionNumber = 11;
1590 this.eot = DFA10_eot; 2677 this.eot = DFA11_eot;
1591 this.eof = DFA10_eof; 2678 this.eof = DFA11_eof;
1592 this.min = DFA10_min; 2679 this.min = DFA11_min;
1593 this.max = DFA10_max; 2680 this.max = DFA11_max;
1594 this.accept = DFA10_accept; 2681 this.accept = DFA11_accept;
1595 this.special = DFA10_special; 2682 this.special = DFA11_special;
1596 this.transition = DFA10_transition; 2683 this.transition = DFA11_transition;
1597 } 2684 }
1598 public String getDescription() { 2685 public String getDescription() {
1599 return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | RULE_STRING | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; 2686 return "1:1: Tokens : ( T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | RULE_STRING | RULE_QUOTED_ID | RULE_PLUS | RULE_STAR | RULE_DOT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
1600 } 2687 }
1601 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { 2688 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
1602 IntStream input = _input; 2689 IntStream input = _input;
1603 int _s = s; 2690 int _s = s;
1604 switch ( s ) { 2691 switch ( s ) {
1605 case 0 : 2692 case 0 :
1606 int LA10_0 = input.LA(1); 2693 int LA11_35 = input.LA(1);
1607 2694
1608 s = -1; 2695 s = -1;
1609 if ( (LA10_0=='-') ) {s = 1;} 2696 if ( ((LA11_35>='\u0000' && LA11_35<='\uFFFF')) ) {s = 98;}
1610 2697
1611 else if ( (LA10_0=='.') ) {s = 2;} 2698 else s = 39;
1612 2699
1613 else if ( (LA10_0=='t') ) {s = 3;} 2700 if ( s>=0 ) return s;
2701 break;
2702 case 1 :
2703 int LA11_0 = input.LA(1);
2704
2705 s = -1;
2706 if ( (LA11_0==':') ) {s = 1;}
2707
2708 else if ( (LA11_0=='=') ) {s = 2;}
2709
2710 else if ( (LA11_0=='f') ) {s = 3;}
2711
2712 else if ( (LA11_0=='e') ) {s = 4;}
2713
2714 else if ( (LA11_0=='d') ) {s = 5;}
2715
2716 else if ( (LA11_0=='.') ) {s = 6;}
1614 2717
1615 else if ( (LA10_0=='f') ) {s = 4;} 2718 else if ( (LA11_0=='i') ) {s = 7;}
1616 2719
1617 else if ( (LA10_0=='u') ) {s = 5;} 2720 else if ( (LA11_0=='t') ) {s = 8;}
1618 2721
1619 else if ( (LA10_0=='e') ) {s = 6;} 2722 else if ( (LA11_0==';') ) {s = 9;}
1620 2723
1621 else if ( (LA10_0=='(') ) {s = 7;} 2724 else if ( (LA11_0=='-') ) {s = 10;}
1622 2725
1623 else if ( (LA10_0==',') ) {s = 8;} 2726 else if ( (LA11_0==',') ) {s = 11;}
1624 2727
1625 else if ( (LA10_0==')') ) {s = 9;} 2728 else if ( (LA11_0=='c') ) {s = 12;}
1626 2729
1627 else if ( (LA10_0==':') ) {s = 10;} 2730 else if ( (LA11_0=='{') ) {s = 13;}
1628 2731
1629 else if ( (LA10_0=='b') ) {s = 11;} 2732 else if ( (LA11_0=='}') ) {s = 14;}
1630 2733
1631 else if ( (LA10_0=='i') ) {s = 12;} 2734 else if ( (LA11_0=='|') ) {s = 15;}
1632 2735
1633 else if ( (LA10_0=='r') ) {s = 13;} 2736 else if ( (LA11_0=='(') ) {s = 16;}
1634 2737
1635 else if ( (LA10_0=='s') ) {s = 14;} 2738 else if ( (LA11_0==')') ) {s = 17;}
1636 2739
1637 else if ( (LA10_0=='\'') ) {s = 15;} 2740 else if ( (LA11_0=='*') ) {s = 18;}
1638 2741
1639 else if ( (LA10_0=='|') ) {s = 16;} 2742 else if ( (LA11_0=='[') ) {s = 19;}
1640 2743
1641 else if ( (LA10_0=='+') ) {s = 17;} 2744 else if ( (LA11_0==']') ) {s = 20;}
1642 2745
1643 else if ( (LA10_0=='*') ) {s = 18;} 2746 else if ( (LA11_0=='a') ) {s = 21;}
1644 2747
1645 else if ( (LA10_0=='d') ) {s = 19;} 2748 else if ( (LA11_0=='o') ) {s = 22;}
1646 2749
1647 else if ( (LA10_0=='a') ) {s = 20;} 2750 else if ( (LA11_0=='s') ) {s = 23;}
1648 2751
1649 else if ( (LA10_0=='c') ) {s = 21;} 2752 else if ( (LA11_0=='<') ) {s = 24;}
1650 2753
1651 else if ( (LA10_0=='{') ) {s = 22;} 2754 else if ( (LA11_0=='>') ) {s = 25;}
1652 2755
1653 else if ( (LA10_0=='}') ) {s = 23;} 2756 else if ( (LA11_0=='r') ) {s = 26;}
1654 2757
1655 else if ( (LA10_0=='\"') ) {s = 24;} 2758 else if ( (LA11_0=='!') ) {s = 27;}
1656 2759
1657 else if ( (LA10_0=='^') ) {s = 25;} 2760 else if ( (LA11_0=='+') ) {s = 28;}
1658 2761
1659 else if ( ((LA10_0>='A' && LA10_0<='Z')||LA10_0=='_'||(LA10_0>='g' && LA10_0<='h')||(LA10_0>='j' && LA10_0<='q')||(LA10_0>='v' && LA10_0<='z')) ) {s = 26;} 2762 else if ( (LA11_0=='/') ) {s = 29;}
1660 2763
1661 else if ( ((LA10_0>='0' && LA10_0<='9')) ) {s = 27;} 2764 else if ( (LA11_0=='^') ) {s = 30;}
1662 2765
1663 else if ( (LA10_0=='/') ) {s = 28;} 2766 else if ( (LA11_0=='m') ) {s = 31;}
1664 2767
1665 else if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) {s = 29;} 2768 else if ( (LA11_0=='p') ) {s = 32;}
1666 2769
1667 else if ( ((LA10_0>='\u0000' && LA10_0<='\b')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\u001F')||LA10_0=='!'||(LA10_0>='#' && LA10_0<='&')||(LA10_0>=';' && LA10_0<='@')||(LA10_0>='[' && LA10_0<=']')||LA10_0=='`'||(LA10_0>='~' && LA10_0<='\uFFFF')) ) {s = 30;} 2770 else if ( (LA11_0=='u') ) {s = 33;}
2771
2772 else if ( (LA11_0=='\"') ) {s = 34;}
2773
2774 else if ( (LA11_0=='\'') ) {s = 35;}
2775
2776 else if ( ((LA11_0>='A' && LA11_0<='Z')||LA11_0=='_'||LA11_0=='b'||(LA11_0>='g' && LA11_0<='h')||(LA11_0>='j' && LA11_0<='l')||LA11_0=='n'||LA11_0=='q'||(LA11_0>='v' && LA11_0<='z')) ) {s = 36;}
2777
2778 else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 37;}
2779
2780 else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 38;}
2781
2782 else if ( ((LA11_0>='\u0000' && LA11_0<='\b')||(LA11_0>='\u000B' && LA11_0<='\f')||(LA11_0>='\u000E' && LA11_0<='\u001F')||(LA11_0>='#' && LA11_0<='&')||(LA11_0>='?' && LA11_0<='@')||LA11_0=='\\'||LA11_0=='`'||(LA11_0>='~' && LA11_0<='\uFFFF')) ) {s = 39;}
1668 2783
1669 if ( s>=0 ) return s; 2784 if ( s>=0 ) return s;
1670 break; 2785 break;
1671 case 1 : 2786 case 2 :
1672 int LA10_24 = input.LA(1); 2787 int LA11_34 = input.LA(1);
1673 2788
1674 s = -1; 2789 s = -1;
1675 if ( ((LA10_24>='\u0000' && LA10_24<='\uFFFF')) ) {s = 61;} 2790 if ( ((LA11_34>='\u0000' && LA11_34<='\uFFFF')) ) {s = 97;}
1676 2791
1677 else s = 30; 2792 else s = 39;
1678 2793
1679 if ( s>=0 ) return s; 2794 if ( s>=0 ) return s;
1680 break; 2795 break;
1681 } 2796 }
1682 NoViableAltException nvae = 2797 NoViableAltException nvae =
1683 new NoViableAltException(getDescription(), 10, _s, input); 2798 new NoViableAltException(getDescription(), 11, _s, input);
1684 error(nvae); 2799 error(nvae);
1685 throw nvae; 2800 throw nvae;
1686 } 2801 }
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 1d449e49..ee2f6175 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
@@ -5,6 +5,7 @@ import org.eclipse.xtext.parser.*;
5import org.eclipse.xtext.parser.impl.*; 5import org.eclipse.xtext.parser.impl.*;
6import org.eclipse.emf.ecore.util.EcoreUtil; 6import org.eclipse.emf.ecore.util.EcoreUtil;
7import org.eclipse.emf.ecore.EObject; 7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.common.util.Enumerator;
8import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; 9import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
9import org.eclipse.xtext.parser.antlr.XtextTokenStream; 10import org.eclipse.xtext.parser.antlr.XtextTokenStream;
10import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; 11import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
@@ -17,51 +18,85 @@ import org.antlr.runtime.*;
17import java.util.Stack; 18import java.util.Stack;
18import java.util.List; 19import java.util.List;
19import java.util.ArrayList; 20import java.util.ArrayList;
20 21import java.util.Map;
22import java.util.HashMap;
21@SuppressWarnings("all") 23@SuppressWarnings("all")
22public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { 24public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
23 public static final String[] tokenNames = new String[] { 25 public static final String[] tokenNames = new String[] {
24 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'-'", "'.'", "'true'", "'false'", "'unknown'", "'error'", "'('", "','", "')'", "':'", "'exists'", "'equals'", "'bool'", "'int'", "'real'", "'string'", "'\\''", "':-'", "'|'", "'+'", "'*'", "'default'", "'abstract'", "'class'", "'extends'", "'{'", "'}'", "'enum'", "'containment'", "'relation'", "'..'" 26 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_DOT", "RULE_STAR", "RULE_PLUS", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_QUOTED_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "':'", "':-'", "'='", "'functional'", "'error'", "'default'", "'extern'", "'.'", "'if'", "'then'", "'else'", "';'", "'->'", "','", "'count'", "'{'", "'}'", "'|'", "'('", "')'", "'*'", "'['", "'..'", "']'", "'inf'", "'empty'", "'abstract'", "'class'", "'extends'", "'contains'", "'opposite'", "'scope'", "'=='", "'<='", "'>='", "'int'", "'real'", "'!='", "'<'", "'>'", "'in'", "'+'", "'-'", "'/'", "'^'", "'!'", "'may'", "'must'", "'current'", "'only'", "'sum'", "'prod'", "'avg'", "'min'", "'max'", "'true'", "'false'", "'unknown'", "'minimize'", "'maximize'"
25 }; 27 };
26 public static final int RULE_STRING=6; 28 public static final int T__50=50;
27 public static final int RULE_SL_COMMENT=8;
28 public static final int T__19=19; 29 public static final int T__19=19;
29 public static final int T__15=15; 30 public static final int T__15=15;
30 public static final int T__37=37; 31 public static final int T__59=59;
31 public static final int T__16=16; 32 public static final int T__16=16;
32 public static final int T__38=38;
33 public static final int T__17=17; 33 public static final int T__17=17;
34 public static final int T__39=39;
35 public static final int T__18=18; 34 public static final int T__18=18;
36 public static final int T__11=11; 35 public static final int T__55=55;
37 public static final int T__33=33; 36 public static final int T__56=56;
38 public static final int T__12=12; 37 public static final int T__57=57;
39 public static final int T__34=34; 38 public static final int T__58=58;
40 public static final int T__13=13; 39 public static final int T__51=51;
41 public static final int T__35=35; 40 public static final int RULE_STAR=5;
42 public static final int T__14=14; 41 public static final int T__52=52;
43 public static final int T__36=36; 42 public static final int T__53=53;
44 public static final int EOF=-1; 43 public static final int T__54=54;
45 public static final int T__30=30; 44 public static final int T__60=60;
46 public static final int T__31=31; 45 public static final int T__61=61;
47 public static final int T__32=32; 46 public static final int RULE_ID=8;
48 public static final int RULE_ID=5; 47 public static final int RULE_QUOTED_ID=10;
49 public static final int RULE_WS=9;
50 public static final int RULE_ANY_OTHER=10;
51 public static final int T__26=26; 48 public static final int T__26=26;
52 public static final int T__27=27; 49 public static final int T__27=27;
53 public static final int T__28=28; 50 public static final int T__28=28;
54 public static final int RULE_INT=4; 51 public static final int RULE_INT=9;
55 public static final int T__29=29; 52 public static final int T__29=29;
56 public static final int T__22=22; 53 public static final int T__22=22;
57 public static final int RULE_ML_COMMENT=7; 54 public static final int T__66=66;
55 public static final int RULE_ML_COMMENT=11;
58 public static final int T__23=23; 56 public static final int T__23=23;
57 public static final int T__67=67;
59 public static final int T__24=24; 58 public static final int T__24=24;
59 public static final int T__68=68;
60 public static final int T__25=25; 60 public static final int T__25=25;
61 public static final int T__40=40; 61 public static final int T__69=69;
62 public static final int T__41=41; 62 public static final int T__62=62;
63 public static final int T__63=63;
63 public static final int T__20=20; 64 public static final int T__20=20;
65 public static final int T__64=64;
64 public static final int T__21=21; 66 public static final int T__21=21;
67 public static final int T__65=65;
68 public static final int T__70=70;
69 public static final int T__71=71;
70 public static final int T__72=72;
71 public static final int RULE_STRING=7;
72 public static final int RULE_SL_COMMENT=12;
73 public static final int T__37=37;
74 public static final int T__38=38;
75 public static final int T__39=39;
76 public static final int T__33=33;
77 public static final int T__34=34;
78 public static final int T__35=35;
79 public static final int RULE_PLUS=6;
80 public static final int T__36=36;
81 public static final int T__73=73;
82 public static final int RULE_DOT=4;
83 public static final int EOF=-1;
84 public static final int T__30=30;
85 public static final int T__74=74;
86 public static final int T__31=31;
87 public static final int T__32=32;
88 public static final int RULE_WS=13;
89 public static final int RULE_ANY_OTHER=14;
90 public static final int T__48=48;
91 public static final int T__49=49;
92 public static final int T__44=44;
93 public static final int T__45=45;
94 public static final int T__46=46;
95 public static final int T__47=47;
96 public static final int T__40=40;
97 public static final int T__41=41;
98 public static final int T__42=42;
99 public static final int T__43=43;
65 100
66 // delegates 101 // delegates
67 // delegators 102 // delegators
@@ -103,7 +138,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
103 138
104 139
105 // $ANTLR start "entryRuleProblem" 140 // $ANTLR start "entryRuleProblem"
106 // InternalSolverLanguage.g:64:1: entryRuleProblem returns [EObject current=null] : iv_ruleProblem= ruleProblem EOF ; 141 // InternalSolverLanguage.g:65:1: entryRuleProblem returns [EObject current=null] : iv_ruleProblem= ruleProblem EOF ;
107 public final EObject entryRuleProblem() throws RecognitionException { 142 public final EObject entryRuleProblem() throws RecognitionException {
108 EObject current = null; 143 EObject current = null;
109 144
@@ -111,17 +146,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
111 146
112 147
113 try { 148 try {
114 // InternalSolverLanguage.g:64:48: (iv_ruleProblem= ruleProblem EOF ) 149 // InternalSolverLanguage.g:65:48: (iv_ruleProblem= ruleProblem EOF )
115 // InternalSolverLanguage.g:65:2: iv_ruleProblem= ruleProblem EOF 150 // InternalSolverLanguage.g:66:2: iv_ruleProblem= ruleProblem EOF
116 { 151 {
117 newCompositeNode(grammarAccess.getProblemRule()); 152 if ( state.backtracking==0 ) {
153 newCompositeNode(grammarAccess.getProblemRule());
154 }
118 pushFollow(FOLLOW_1); 155 pushFollow(FOLLOW_1);
119 iv_ruleProblem=ruleProblem(); 156 iv_ruleProblem=ruleProblem();
120 157
121 state._fsp--; 158 state._fsp--;
122 159 if (state.failed) return current;
123 current =iv_ruleProblem; 160 if ( state.backtracking==0 ) {
124 match(input,EOF,FOLLOW_2); 161 current =iv_ruleProblem;
162 }
163 match(input,EOF,FOLLOW_2); if (state.failed) return current;
125 164
126 } 165 }
127 166
@@ -139,7 +178,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
139 178
140 179
141 // $ANTLR start "ruleProblem" 180 // $ANTLR start "ruleProblem"
142 // InternalSolverLanguage.g:71:1: ruleProblem returns [EObject current=null] : ( (lv_statements_0_0= ruleStatement ) )* ; 181 // InternalSolverLanguage.g:72:1: ruleProblem returns [EObject current=null] : ( (lv_statements_0_0= ruleStatement ) )* ;
143 public final EObject ruleProblem() throws RecognitionException { 182 public final EObject ruleProblem() throws RecognitionException {
144 EObject current = null; 183 EObject current = null;
145 184
@@ -150,46 +189,50 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
150 enterRule(); 189 enterRule();
151 190
152 try { 191 try {
153 // InternalSolverLanguage.g:77:2: ( ( (lv_statements_0_0= ruleStatement ) )* ) 192 // InternalSolverLanguage.g:78:2: ( ( (lv_statements_0_0= ruleStatement ) )* )
154 // InternalSolverLanguage.g:78:2: ( (lv_statements_0_0= ruleStatement ) )* 193 // InternalSolverLanguage.g:79:2: ( (lv_statements_0_0= ruleStatement ) )*
155 { 194 {
156 // InternalSolverLanguage.g:78:2: ( (lv_statements_0_0= ruleStatement ) )* 195 // InternalSolverLanguage.g:79:2: ( (lv_statements_0_0= ruleStatement ) )*
157 loop1: 196 loop1:
158 do { 197 do {
159 int alt1=2; 198 int alt1=2;
160 int LA1_0 = input.LA(1); 199 int LA1_0 = input.LA(1);
161 200
162 if ( (LA1_0==RULE_ID||LA1_0==16||(LA1_0>=21 && LA1_0<=26)||(LA1_0>=32 && LA1_0<=34)||(LA1_0>=38 && LA1_0<=40)) ) { 201 if ( ((LA1_0>=RULE_STRING && LA1_0<=RULE_QUOTED_ID)||(LA1_0>=18 && LA1_0<=21)||LA1_0==23||LA1_0==29||LA1_0==33||LA1_0==36||(LA1_0>=39 && LA1_0<=42)||LA1_0==46||(LA1_0>=50 && LA1_0<=51)||(LA1_0>=56 && LA1_0<=57)||(LA1_0>=60 && LA1_0<=74)) ) {
163 alt1=1; 202 alt1=1;
164 } 203 }
165 204
166 205
167 switch (alt1) { 206 switch (alt1) {
168 case 1 : 207 case 1 :
169 // InternalSolverLanguage.g:79:3: (lv_statements_0_0= ruleStatement ) 208 // InternalSolverLanguage.g:80:3: (lv_statements_0_0= ruleStatement )
170 { 209 {
171 // InternalSolverLanguage.g:79:3: (lv_statements_0_0= ruleStatement ) 210 // InternalSolverLanguage.g:80:3: (lv_statements_0_0= ruleStatement )
172 // InternalSolverLanguage.g:80:4: lv_statements_0_0= ruleStatement 211 // InternalSolverLanguage.g:81:4: lv_statements_0_0= ruleStatement
173 { 212 {
213 if ( state.backtracking==0 ) {
174 214
175 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); 215 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0());
176 216
217 }
177 pushFollow(FOLLOW_3); 218 pushFollow(FOLLOW_3);
178 lv_statements_0_0=ruleStatement(); 219 lv_statements_0_0=ruleStatement();
179 220
180 state._fsp--; 221 state._fsp--;
181 222 if (state.failed) return current;
182 223 if ( state.backtracking==0 ) {
183 if (current==null) { 224
184 current = createModelElementForParent(grammarAccess.getProblemRule()); 225 if (current==null) {
185 } 226 current = createModelElementForParent(grammarAccess.getProblemRule());
186 add( 227 }
187 current, 228 add(
188 "statements", 229 current,
189 lv_statements_0_0, 230 "statements",
190 "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); 231 lv_statements_0_0,
191 afterParserOrEnumRuleCall(); 232 "org.eclipse.viatra.solver.language.SolverLanguage.Statement");
192 233 afterParserOrEnumRuleCall();
234
235 }
193 236
194 } 237 }
195 238
@@ -205,9 +248,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
205 248
206 } 249 }
207 250
251 if ( state.backtracking==0 ) {
208 252
209 leaveRule(); 253 leaveRule();
210 254
255 }
211 } 256 }
212 257
213 catch (RecognitionException re) { 258 catch (RecognitionException re) {
@@ -222,7 +267,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
222 267
223 268
224 // $ANTLR start "entryRuleStatement" 269 // $ANTLR start "entryRuleStatement"
225 // InternalSolverLanguage.g:100:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ; 270 // InternalSolverLanguage.g:101:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ;
226 public final EObject entryRuleStatement() throws RecognitionException { 271 public final EObject entryRuleStatement() throws RecognitionException {
227 EObject current = null; 272 EObject current = null;
228 273
@@ -230,17 +275,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
230 275
231 276
232 try { 277 try {
233 // InternalSolverLanguage.g:100:50: (iv_ruleStatement= ruleStatement EOF ) 278 // InternalSolverLanguage.g:101:50: (iv_ruleStatement= ruleStatement EOF )
234 // InternalSolverLanguage.g:101:2: iv_ruleStatement= ruleStatement EOF 279 // InternalSolverLanguage.g:102:2: iv_ruleStatement= ruleStatement EOF
235 { 280 {
236 newCompositeNode(grammarAccess.getStatementRule()); 281 if ( state.backtracking==0 ) {
282 newCompositeNode(grammarAccess.getStatementRule());
283 }
237 pushFollow(FOLLOW_1); 284 pushFollow(FOLLOW_1);
238 iv_ruleStatement=ruleStatement(); 285 iv_ruleStatement=ruleStatement();
239 286
240 state._fsp--; 287 state._fsp--;
241 288 if (state.failed) return current;
242 current =iv_ruleStatement; 289 if ( state.backtracking==0 ) {
243 match(input,EOF,FOLLOW_2); 290 current =iv_ruleStatement;
291 }
292 match(input,EOF,FOLLOW_2); if (state.failed) return current;
244 293
245 } 294 }
246 295
@@ -258,189 +307,286 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
258 307
259 308
260 // $ANTLR start "ruleStatement" 309 // $ANTLR start "ruleStatement"
261 // InternalSolverLanguage.g:107:1: ruleStatement returns [EObject current=null] : (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate ) ; 310 // InternalSolverLanguage.g:108: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_DOT_10= RULE_DOT ) ;
262 public final EObject ruleStatement() throws RecognitionException { 311 public final EObject ruleStatement() throws RecognitionException {
263 EObject current = null; 312 EObject current = null;
264 313
265 EObject this_Interpretation_0 = null; 314 Token this_DOT_10=null;
315 EObject this_AssertionOrDefinition_0 = null;
316
317 EObject this_PredicateDefinition_1 = null;
318
319 EObject this_UnnamedErrorPrediateDefinition_2 = null;
320
321 EObject this_DefaultDefinition_3 = null;
322
323 EObject this_ExternPredicateDefinition_4 = null;
324
325 EObject this_MetricDefinition_5 = null;
326
327 EObject this_ExternMetricDefinition_6 = null;
328
329 EObject this_ClassDefinition_7 = null;
266 330
267 EObject this_Predicate_1 = null; 331 EObject this_ScopeDefinition_8 = null;
332
333 EObject this_ObjectiveDefinition_9 = null;
268 334
269 335
270 336
271 enterRule(); 337 enterRule();
272 338
273 try { 339 try {
274 // InternalSolverLanguage.g:113:2: ( (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate ) ) 340 // InternalSolverLanguage.g:114: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_DOT_10= RULE_DOT ) )
275 // InternalSolverLanguage.g:114:2: (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate ) 341 // InternalSolverLanguage.g:115: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_DOT_10= RULE_DOT )
342 {
343 // InternalSolverLanguage.g:115: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_DOT_10= RULE_DOT )
344 // InternalSolverLanguage.g:116: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_DOT_10= RULE_DOT
276 { 345 {
277 // InternalSolverLanguage.g:114:2: (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate ) 346 // InternalSolverLanguage.g:116: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 )
278 int alt2=2; 347 int alt2=10;
279 alt2 = dfa2.predict(input); 348 alt2 = dfa2.predict(input);
280 switch (alt2) { 349 switch (alt2) {
281 case 1 : 350 case 1 :
282 // InternalSolverLanguage.g:115:3: this_Interpretation_0= ruleInterpretation 351 // InternalSolverLanguage.g:117:4: this_AssertionOrDefinition_0= ruleAssertionOrDefinition
283 { 352 {
353 if ( state.backtracking==0 ) {
284 354
285 newCompositeNode(grammarAccess.getStatementAccess().getInterpretationParserRuleCall_0()); 355 newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0());
286 356
287 pushFollow(FOLLOW_2); 357 }
288 this_Interpretation_0=ruleInterpretation(); 358 pushFollow(FOLLOW_4);
359 this_AssertionOrDefinition_0=ruleAssertionOrDefinition();
289 360
290 state._fsp--; 361 state._fsp--;
362 if (state.failed) return current;
363 if ( state.backtracking==0 ) {
291 364
292 365 current = this_AssertionOrDefinition_0;
293 current = this_Interpretation_0; 366 afterParserOrEnumRuleCall();
294 afterParserOrEnumRuleCall(); 367
295 368 }
296 369
297 } 370 }
298 break; 371 break;
299 case 2 : 372 case 2 :
300 // InternalSolverLanguage.g:124:3: this_Predicate_1= rulePredicate 373 // InternalSolverLanguage.g:126:4: this_PredicateDefinition_1= rulePredicateDefinition
301 { 374 {
375 if ( state.backtracking==0 ) {
302 376
303 newCompositeNode(grammarAccess.getStatementAccess().getPredicateParserRuleCall_1()); 377 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1());
304 378
305 pushFollow(FOLLOW_2); 379 }
306 this_Predicate_1=rulePredicate(); 380 pushFollow(FOLLOW_4);
381 this_PredicateDefinition_1=rulePredicateDefinition();
307 382
308 state._fsp--; 383 state._fsp--;
384 if (state.failed) return current;
385 if ( state.backtracking==0 ) {
309 386
310 387 current = this_PredicateDefinition_1;
311 current = this_Predicate_1; 388 afterParserOrEnumRuleCall();
312 afterParserOrEnumRuleCall(); 389
313 390 }
314 391
315 } 392 }
316 break; 393 break;
394 case 3 :
395 // InternalSolverLanguage.g:135:4: this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition
396 {
397 if ( state.backtracking==0 ) {
317 398
318 } 399 newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2());
400
401 }
402 pushFollow(FOLLOW_4);
403 this_UnnamedErrorPrediateDefinition_2=ruleUnnamedErrorPrediateDefinition();
319 404
405 state._fsp--;
406 if (state.failed) return current;
407 if ( state.backtracking==0 ) {
320 408
321 } 409 current = this_UnnamedErrorPrediateDefinition_2;
410 afterParserOrEnumRuleCall();
411
412 }
322 413
414 }
415 break;
416 case 4 :
417 // InternalSolverLanguage.g:144:4: this_DefaultDefinition_3= ruleDefaultDefinition
418 {
419 if ( state.backtracking==0 ) {
323 420
324 leaveRule(); 421 newCompositeNode(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3());
422
423 }
424 pushFollow(FOLLOW_4);
425 this_DefaultDefinition_3=ruleDefaultDefinition();
325 426
326 } 427 state._fsp--;
428 if (state.failed) return current;
429 if ( state.backtracking==0 ) {
327 430
328 catch (RecognitionException re) { 431 current = this_DefaultDefinition_3;
329 recover(input,re); 432 afterParserOrEnumRuleCall();
330 appendSkippedTokens(); 433
331 } 434 }
332 finally {
333 }
334 return current;
335 }
336 // $ANTLR end "ruleStatement"
337 435
436 }
437 break;
438 case 5 :
439 // InternalSolverLanguage.g:153:4: this_ExternPredicateDefinition_4= ruleExternPredicateDefinition
440 {
441 if ( state.backtracking==0 ) {
338 442
339 // $ANTLR start "entryRuleREALLiteral" 443 newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4());
340 // InternalSolverLanguage.g:136:1: entryRuleREALLiteral returns [String current=null] : iv_ruleREALLiteral= ruleREALLiteral EOF ; 444
341 public final String entryRuleREALLiteral() throws RecognitionException { 445 }
342 String current = null; 446 pushFollow(FOLLOW_4);
447 this_ExternPredicateDefinition_4=ruleExternPredicateDefinition();
343 448
344 AntlrDatatypeRuleToken iv_ruleREALLiteral = null; 449 state._fsp--;
450 if (state.failed) return current;
451 if ( state.backtracking==0 ) {
345 452
453 current = this_ExternPredicateDefinition_4;
454 afterParserOrEnumRuleCall();
455
456 }
346 457
347 try { 458 }
348 // InternalSolverLanguage.g:136:51: (iv_ruleREALLiteral= ruleREALLiteral EOF ) 459 break;
349 // InternalSolverLanguage.g:137:2: iv_ruleREALLiteral= ruleREALLiteral EOF 460 case 6 :
350 { 461 // InternalSolverLanguage.g:162:4: this_MetricDefinition_5= ruleMetricDefinition
351 newCompositeNode(grammarAccess.getREALLiteralRule()); 462 {
352 pushFollow(FOLLOW_1); 463 if ( state.backtracking==0 ) {
353 iv_ruleREALLiteral=ruleREALLiteral();
354 464
355 state._fsp--; 465 newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5());
466
467 }
468 pushFollow(FOLLOW_4);
469 this_MetricDefinition_5=ruleMetricDefinition();
356 470
357 current =iv_ruleREALLiteral.getText(); 471 state._fsp--;
358 match(input,EOF,FOLLOW_2); 472 if (state.failed) return current;
473 if ( state.backtracking==0 ) {
359 474
360 } 475 current = this_MetricDefinition_5;
476 afterParserOrEnumRuleCall();
477
478 }
361 479
362 } 480 }
481 break;
482 case 7 :
483 // InternalSolverLanguage.g:171:4: this_ExternMetricDefinition_6= ruleExternMetricDefinition
484 {
485 if ( state.backtracking==0 ) {
363 486
364 catch (RecognitionException re) { 487 newCompositeNode(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6());
365 recover(input,re); 488
366 appendSkippedTokens(); 489 }
367 } 490 pushFollow(FOLLOW_4);
368 finally { 491 this_ExternMetricDefinition_6=ruleExternMetricDefinition();
369 }
370 return current;
371 }
372 // $ANTLR end "entryRuleREALLiteral"
373 492
493 state._fsp--;
494 if (state.failed) return current;
495 if ( state.backtracking==0 ) {
374 496
375 // $ANTLR start "ruleREALLiteral" 497 current = this_ExternMetricDefinition_6;
376 // InternalSolverLanguage.g:143:1: ruleREALLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) ; 498 afterParserOrEnumRuleCall();
377 public final AntlrDatatypeRuleToken ruleREALLiteral() throws RecognitionException { 499
378 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 500 }
379 501
380 Token kw=null; 502 }
381 Token this_INT_1=null; 503 break;
382 Token this_INT_3=null; 504 case 8 :
505 // InternalSolverLanguage.g:180:4: this_ClassDefinition_7= ruleClassDefinition
506 {
507 if ( state.backtracking==0 ) {
383 508
509 newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7());
510
511 }
512 pushFollow(FOLLOW_4);
513 this_ClassDefinition_7=ruleClassDefinition();
384 514
385 enterRule(); 515 state._fsp--;
516 if (state.failed) return current;
517 if ( state.backtracking==0 ) {
386 518
387 try { 519 current = this_ClassDefinition_7;
388 // InternalSolverLanguage.g:149:2: ( ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) ) 520 afterParserOrEnumRuleCall();
389 // InternalSolverLanguage.g:150:2: ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) 521
390 { 522 }
391 // InternalSolverLanguage.g:150:2: ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT )
392 // InternalSolverLanguage.g:151:3: (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT
393 {
394 // InternalSolverLanguage.g:151:3: (kw= '-' )?
395 int alt3=2;
396 int LA3_0 = input.LA(1);
397 523
398 if ( (LA3_0==11) ) { 524 }
399 alt3=1; 525 break;
400 } 526 case 9 :
401 switch (alt3) { 527 // InternalSolverLanguage.g:189:4: this_ScopeDefinition_8= ruleScopeDefinition
402 case 1 :
403 // InternalSolverLanguage.g:152:4: kw= '-'
404 { 528 {
405 kw=(Token)match(input,11,FOLLOW_4); 529 if ( state.backtracking==0 ) {
406 530
407 current.merge(kw); 531 newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8());
408 newLeafNode(kw, grammarAccess.getREALLiteralAccess().getHyphenMinusKeyword_0()); 532
409 533 }
534 pushFollow(FOLLOW_4);
535 this_ScopeDefinition_8=ruleScopeDefinition();
536
537 state._fsp--;
538 if (state.failed) return current;
539 if ( state.backtracking==0 ) {
540
541 current = this_ScopeDefinition_8;
542 afterParserOrEnumRuleCall();
543
544 }
410 545
411 } 546 }
412 break; 547 break;
548 case 10 :
549 // InternalSolverLanguage.g:198:4: this_ObjectiveDefinition_9= ruleObjectiveDefinition
550 {
551 if ( state.backtracking==0 ) {
413 552
414 } 553 newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9());
554
555 }
556 pushFollow(FOLLOW_4);
557 this_ObjectiveDefinition_9=ruleObjectiveDefinition();
415 558
416 this_INT_1=(Token)match(input,RULE_INT,FOLLOW_5); 559 state._fsp--;
560 if (state.failed) return current;
561 if ( state.backtracking==0 ) {
417 562
418 current.merge(this_INT_1); 563 current = this_ObjectiveDefinition_9;
419 564 afterParserOrEnumRuleCall();
565
566 }
420 567
421 newLeafNode(this_INT_1, grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_1()); 568 }
422 569 break;
423 kw=(Token)match(input,12,FOLLOW_4);
424 570
425 current.merge(kw); 571 }
426 newLeafNode(kw, grammarAccess.getREALLiteralAccess().getFullStopKeyword_2());
427
428 this_INT_3=(Token)match(input,RULE_INT,FOLLOW_2);
429 572
430 current.merge(this_INT_3); 573 this_DOT_10=(Token)match(input,RULE_DOT,FOLLOW_2); if (state.failed) return current;
431 574 if ( state.backtracking==0 ) {
432 575
433 newLeafNode(this_INT_3, grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_3()); 576 newLeafNode(this_DOT_10, grammarAccess.getStatementAccess().getDOTTerminalRuleCall_1());
434 577
578 }
435 579
436 } 580 }
437 581
438 582
439 } 583 }
440 584
585 if ( state.backtracking==0 ) {
441 586
442 leaveRule(); 587 leaveRule();
443 588
589 }
444 } 590 }
445 591
446 catch (RecognitionException re) { 592 catch (RecognitionException re) {
@@ -451,29 +597,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
451 } 597 }
452 return current; 598 return current;
453 } 599 }
454 // $ANTLR end "ruleREALLiteral" 600 // $ANTLR end "ruleStatement"
455 601
456 602
457 // $ANTLR start "entryRuleINTLiteral" 603 // $ANTLR start "entryRuleAssertionOrDefinition"
458 // InternalSolverLanguage.g:181:1: entryRuleINTLiteral returns [String current=null] : iv_ruleINTLiteral= ruleINTLiteral EOF ; 604 // InternalSolverLanguage.g:215:1: entryRuleAssertionOrDefinition returns [EObject current=null] : iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ;
459 public final String entryRuleINTLiteral() throws RecognitionException { 605 public final EObject entryRuleAssertionOrDefinition() throws RecognitionException {
460 String current = null; 606 EObject current = null;
461 607
462 AntlrDatatypeRuleToken iv_ruleINTLiteral = null; 608 EObject iv_ruleAssertionOrDefinition = null;
463 609
464 610
465 try { 611 try {
466 // InternalSolverLanguage.g:181:50: (iv_ruleINTLiteral= ruleINTLiteral EOF ) 612 // InternalSolverLanguage.g:215:62: (iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF )
467 // InternalSolverLanguage.g:182:2: iv_ruleINTLiteral= ruleINTLiteral EOF 613 // InternalSolverLanguage.g:216:2: iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF
468 { 614 {
469 newCompositeNode(grammarAccess.getINTLiteralRule()); 615 if ( state.backtracking==0 ) {
616 newCompositeNode(grammarAccess.getAssertionOrDefinitionRule());
617 }
470 pushFollow(FOLLOW_1); 618 pushFollow(FOLLOW_1);
471 iv_ruleINTLiteral=ruleINTLiteral(); 619 iv_ruleAssertionOrDefinition=ruleAssertionOrDefinition();
472 620
473 state._fsp--; 621 state._fsp--;
474 622 if (state.failed) return current;
475 current =iv_ruleINTLiteral.getText(); 623 if ( state.backtracking==0 ) {
476 match(input,EOF,FOLLOW_2); 624 current =iv_ruleAssertionOrDefinition;
625 }
626 match(input,EOF,FOLLOW_2); if (state.failed) return current;
477 627
478 } 628 }
479 629
@@ -487,191 +637,287 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
487 } 637 }
488 return current; 638 return current;
489 } 639 }
490 // $ANTLR end "entryRuleINTLiteral" 640 // $ANTLR end "entryRuleAssertionOrDefinition"
491 641
492 642
493 // $ANTLR start "ruleINTLiteral" 643 // $ANTLR start "ruleAssertionOrDefinition"
494 // InternalSolverLanguage.g:188:1: ruleINTLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT ) ; 644 // InternalSolverLanguage.g:222:1: ruleAssertionOrDefinition returns [EObject current=null] : (this_Expression_0= ruleExpression ( ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) ) ) ) ;
495 public final AntlrDatatypeRuleToken ruleINTLiteral() throws RecognitionException { 645 public final EObject ruleAssertionOrDefinition() throws RecognitionException {
496 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 646 EObject current = null;
647
648 Token otherlv_2=null;
649 Token otherlv_5=null;
650 Token otherlv_8=null;
651 EObject this_Expression_0 = null;
652
653 EObject lv_range_3_0 = null;
654
655 EObject lv_body_6_0 = null;
656
657 EObject lv_body_9_0 = null;
497 658
498 Token kw=null;
499 Token this_INT_1=null;
500 659
501 660
502 enterRule(); 661 enterRule();
503 662
504 try { 663 try {
505 // InternalSolverLanguage.g:194:2: ( ( (kw= '-' )? this_INT_1= RULE_INT ) ) 664 // InternalSolverLanguage.g:228:2: ( (this_Expression_0= ruleExpression ( ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) ) ) ) )
506 // InternalSolverLanguage.g:195:2: ( (kw= '-' )? this_INT_1= RULE_INT ) 665 // InternalSolverLanguage.g:229:2: (this_Expression_0= ruleExpression ( ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) ) ) )
507 { 666 {
508 // InternalSolverLanguage.g:195:2: ( (kw= '-' )? this_INT_1= RULE_INT ) 667 // InternalSolverLanguage.g:229:2: (this_Expression_0= ruleExpression ( ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) ) ) )
509 // InternalSolverLanguage.g:196:3: (kw= '-' )? this_INT_1= RULE_INT 668 // InternalSolverLanguage.g:230:3: this_Expression_0= ruleExpression ( ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) ) )
510 { 669 {
511 // InternalSolverLanguage.g:196:3: (kw= '-' )? 670 if ( state.backtracking==0 ) {
512 int alt4=2; 671
513 int LA4_0 = input.LA(1); 672 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0());
673
674 }
675 pushFollow(FOLLOW_5);
676 this_Expression_0=ruleExpression();
514 677
515 if ( (LA4_0==11) ) { 678 state._fsp--;
679 if (state.failed) return current;
680 if ( state.backtracking==0 ) {
681
682 current = this_Expression_0;
683 afterParserOrEnumRuleCall();
684
685 }
686 // InternalSolverLanguage.g:238:3: ( ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) ) )
687 int alt4=3;
688 switch ( input.LA(1) ) {
689 case EOF:
690 case RULE_DOT:
691 case 15:
692 {
516 alt4=1; 693 alt4=1;
694 }
695 break;
696 case 16:
697 {
698 alt4=2;
699 }
700 break;
701 case 17:
702 {
703 alt4=3;
704 }
705 break;
706 default:
707 if (state.backtracking>0) {state.failed=true; return current;}
708 NoViableAltException nvae =
709 new NoViableAltException("", 4, 0, input);
710
711 throw nvae;
517 } 712 }
713
518 switch (alt4) { 714 switch (alt4) {
519 case 1 : 715 case 1 :
520 // InternalSolverLanguage.g:197:4: kw= '-' 716 // InternalSolverLanguage.g:239:4: ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? )
521 { 717 {
522 kw=(Token)match(input,11,FOLLOW_4); 718 // InternalSolverLanguage.g:239:4: ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? )
523 719 // InternalSolverLanguage.g:240:5: () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )?
524 current.merge(kw); 720 {
525 newLeafNode(kw, grammarAccess.getINTLiteralAccess().getHyphenMinusKeyword_0()); 721 // InternalSolverLanguage.g:240:5: ()
526 722 // InternalSolverLanguage.g:241:6:
723 {
724 if ( state.backtracking==0 ) {
527 725
726 current = forceCreateModelElementAndSet(
727 grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0(),
728 current);
729
528 } 730 }
529 break;
530 731
531 } 732 }
532 733
533 this_INT_1=(Token)match(input,RULE_INT,FOLLOW_2); 734 // InternalSolverLanguage.g:247:5: (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )?
735 int alt3=2;
736 int LA3_0 = input.LA(1);
534 737
535 current.merge(this_INT_1); 738 if ( (LA3_0==15) ) {
536 739 alt3=1;
740 }
741 switch (alt3) {
742 case 1 :
743 // InternalSolverLanguage.g:248:6: otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) )
744 {
745 otherlv_2=(Token)match(input,15,FOLLOW_6); if (state.failed) return current;
746 if ( state.backtracking==0 ) {
537 747
538 newLeafNode(this_INT_1, grammarAccess.getINTLiteralAccess().getINTTerminalRuleCall_1()); 748 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0());
539 749
750 }
751 // InternalSolverLanguage.g:252:6: ( (lv_range_3_0= ruleExpression ) )
752 // InternalSolverLanguage.g:253:7: (lv_range_3_0= ruleExpression )
753 {
754 // InternalSolverLanguage.g:253:7: (lv_range_3_0= ruleExpression )
755 // InternalSolverLanguage.g:254:8: lv_range_3_0= ruleExpression
756 {
757 if ( state.backtracking==0 ) {
540 758
541 } 759 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0());
760
761 }
762 pushFollow(FOLLOW_2);
763 lv_range_3_0=ruleExpression();
542 764
765 state._fsp--;
766 if (state.failed) return current;
767 if ( state.backtracking==0 ) {
768
769 if (current==null) {
770 current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
771 }
772 set(
773 current,
774 "range",
775 lv_range_3_0,
776 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
777 afterParserOrEnumRuleCall();
778
779 }
543 780
544 } 781 }
545 782
546 783
547 leaveRule(); 784 }
548 785
549 }
550 786
551 catch (RecognitionException re) { 787 }
552 recover(input,re); 788 break;
553 appendSkippedTokens();
554 }
555 finally {
556 }
557 return current;
558 }
559 // $ANTLR end "ruleINTLiteral"
560 789
790 }
561 791
562 // $ANTLR start "entryRuleBooleanValue"
563 // InternalSolverLanguage.g:214:1: entryRuleBooleanValue returns [EObject current=null] : iv_ruleBooleanValue= ruleBooleanValue EOF ;
564 public final EObject entryRuleBooleanValue() throws RecognitionException {
565 EObject current = null;
566 792
567 EObject iv_ruleBooleanValue = null; 793 }
568 794
569 795
570 try { 796 }
571 // InternalSolverLanguage.g:214:53: (iv_ruleBooleanValue= ruleBooleanValue EOF ) 797 break;
572 // InternalSolverLanguage.g:215:2: iv_ruleBooleanValue= ruleBooleanValue EOF 798 case 2 :
573 { 799 // InternalSolverLanguage.g:274:4: ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) )
574 newCompositeNode(grammarAccess.getBooleanValueRule()); 800 {
575 pushFollow(FOLLOW_1); 801 // InternalSolverLanguage.g:274:4: ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) )
576 iv_ruleBooleanValue=ruleBooleanValue(); 802 // InternalSolverLanguage.g:275:5: () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) )
803 {
804 // InternalSolverLanguage.g:275:5: ()
805 // InternalSolverLanguage.g:276:6:
806 {
807 if ( state.backtracking==0 ) {
577 808
578 state._fsp--; 809 current = forceCreateModelElementAndSet(
810 grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0(),
811 current);
812
813 }
579 814
580 current =iv_ruleBooleanValue; 815 }
581 match(input,EOF,FOLLOW_2);
582 816
583 } 817 otherlv_5=(Token)match(input,16,FOLLOW_6); if (state.failed) return current;
818 if ( state.backtracking==0 ) {
584 819
585 } 820 newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1());
821
822 }
823 // InternalSolverLanguage.g:286:5: ( (lv_body_6_0= ruleExpression ) )
824 // InternalSolverLanguage.g:287:6: (lv_body_6_0= ruleExpression )
825 {
826 // InternalSolverLanguage.g:287:6: (lv_body_6_0= ruleExpression )
827 // InternalSolverLanguage.g:288:7: lv_body_6_0= ruleExpression
828 {
829 if ( state.backtracking==0 ) {
586 830
587 catch (RecognitionException re) { 831 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0());
588 recover(input,re); 832
589 appendSkippedTokens(); 833 }
590 } 834 pushFollow(FOLLOW_2);
591 finally { 835 lv_body_6_0=ruleExpression();
592 }
593 return current;
594 }
595 // $ANTLR end "entryRuleBooleanValue"
596 836
837 state._fsp--;
838 if (state.failed) return current;
839 if ( state.backtracking==0 ) {
840
841 if (current==null) {
842 current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
843 }
844 set(
845 current,
846 "body",
847 lv_body_6_0,
848 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
849 afterParserOrEnumRuleCall();
850
851 }
597 852
598 // $ANTLR start "ruleBooleanValue" 853 }
599 // InternalSolverLanguage.g:221:1: ruleBooleanValue returns [EObject current=null] : ( ( () otherlv_1= 'true' ) | (otherlv_2= 'false' () ) ) ;
600 public final EObject ruleBooleanValue() throws RecognitionException {
601 EObject current = null;
602 854
603 Token otherlv_1=null;
604 Token otherlv_2=null;
605 855
856 }
606 857
607 enterRule();
608 858
609 try { 859 }
610 // InternalSolverLanguage.g:227:2: ( ( ( () otherlv_1= 'true' ) | (otherlv_2= 'false' () ) ) )
611 // InternalSolverLanguage.g:228:2: ( ( () otherlv_1= 'true' ) | (otherlv_2= 'false' () ) )
612 {
613 // InternalSolverLanguage.g:228:2: ( ( () otherlv_1= 'true' ) | (otherlv_2= 'false' () ) )
614 int alt5=2;
615 int LA5_0 = input.LA(1);
616 860
617 if ( (LA5_0==13) ) {
618 alt5=1;
619 }
620 else if ( (LA5_0==14) ) {
621 alt5=2;
622 }
623 else {
624 NoViableAltException nvae =
625 new NoViableAltException("", 5, 0, input);
626 861
627 throw nvae; 862 }
628 } 863 break;
629 switch (alt5) { 864 case 3 :
630 case 1 : 865 // InternalSolverLanguage.g:307:4: ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) )
631 // InternalSolverLanguage.g:229:3: ( () otherlv_1= 'true' )
632 { 866 {
633 // InternalSolverLanguage.g:229:3: ( () otherlv_1= 'true' ) 867 // InternalSolverLanguage.g:307:4: ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) )
634 // InternalSolverLanguage.g:230:4: () otherlv_1= 'true' 868 // InternalSolverLanguage.g:308:5: () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) )
635 { 869 {
636 // InternalSolverLanguage.g:230:4: () 870 // InternalSolverLanguage.g:308:5: ()
637 // InternalSolverLanguage.g:231:5: 871 // InternalSolverLanguage.g:309:6:
638 { 872 {
873 if ( state.backtracking==0 ) {
639 874
640 current = forceCreateModelElement( 875 current = forceCreateModelElementAndSet(
641 grammarAccess.getBooleanValueAccess().getBooleanTrueAction_0_0(), 876 grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0(),
642 current); 877 current);
643 878
644
645 } 879 }
646 880
647 otherlv_1=(Token)match(input,13,FOLLOW_2);
648
649 newLeafNode(otherlv_1, grammarAccess.getBooleanValueAccess().getTrueKeyword_0_1());
650
651
652 } 881 }
653 882
883 otherlv_8=(Token)match(input,17,FOLLOW_6); if (state.failed) return current;
884 if ( state.backtracking==0 ) {
654 885
886 newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1());
887
655 } 888 }
656 break; 889 // InternalSolverLanguage.g:319:5: ( (lv_body_9_0= ruleExpression ) )
657 case 2 : 890 // InternalSolverLanguage.g:320:6: (lv_body_9_0= ruleExpression )
658 // InternalSolverLanguage.g:243:3: (otherlv_2= 'false' () )
659 { 891 {
660 // InternalSolverLanguage.g:243:3: (otherlv_2= 'false' () ) 892 // InternalSolverLanguage.g:320:6: (lv_body_9_0= ruleExpression )
661 // InternalSolverLanguage.g:244:4: otherlv_2= 'false' () 893 // InternalSolverLanguage.g:321:7: lv_body_9_0= ruleExpression
662 { 894 {
663 otherlv_2=(Token)match(input,14,FOLLOW_2); 895 if ( state.backtracking==0 ) {
664 896
665 newLeafNode(otherlv_2, grammarAccess.getBooleanValueAccess().getFalseKeyword_1_0()); 897 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0());
666 898
667 // InternalSolverLanguage.g:248:4: () 899 }
668 // InternalSolverLanguage.g:249:5: 900 pushFollow(FOLLOW_2);
669 { 901 lv_body_9_0=ruleExpression();
902
903 state._fsp--;
904 if (state.failed) return current;
905 if ( state.backtracking==0 ) {
906
907 if (current==null) {
908 current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
909 }
910 set(
911 current,
912 "body",
913 lv_body_9_0,
914 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
915 afterParserOrEnumRuleCall();
916
917 }
918
919 }
670 920
671 current = forceCreateModelElement(
672 grammarAccess.getBooleanValueAccess().getBooleanFalseAction_1_1(),
673 current);
674
675 921
676 } 922 }
677 923
@@ -688,8 +934,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
688 } 934 }
689 935
690 936
691 leaveRule(); 937 }
938
939 if ( state.backtracking==0 ) {
692 940
941 leaveRule();
942
943 }
693 } 944 }
694 945
695 catch (RecognitionException re) { 946 catch (RecognitionException re) {
@@ -700,29 +951,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
700 } 951 }
701 return current; 952 return current;
702 } 953 }
703 // $ANTLR end "ruleBooleanValue" 954 // $ANTLR end "ruleAssertionOrDefinition"
704 955
705 956
706 // $ANTLR start "entryRuleTruthValue" 957 // $ANTLR start "entryRulePredicateDefinition"
707 // InternalSolverLanguage.g:260:1: entryRuleTruthValue returns [EObject current=null] : iv_ruleTruthValue= ruleTruthValue EOF ; 958 // InternalSolverLanguage.g:344:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ;
708 public final EObject entryRuleTruthValue() throws RecognitionException { 959 public final EObject entryRulePredicateDefinition() throws RecognitionException {
709 EObject current = null; 960 EObject current = null;
710 961
711 EObject iv_ruleTruthValue = null; 962 EObject iv_rulePredicateDefinition = null;
712 963
713 964
714 try { 965 try {
715 // InternalSolverLanguage.g:260:51: (iv_ruleTruthValue= ruleTruthValue EOF ) 966 // InternalSolverLanguage.g:344:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF )
716 // InternalSolverLanguage.g:261:2: iv_ruleTruthValue= ruleTruthValue EOF 967 // InternalSolverLanguage.g:345:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF
717 { 968 {
718 newCompositeNode(grammarAccess.getTruthValueRule()); 969 if ( state.backtracking==0 ) {
970 newCompositeNode(grammarAccess.getPredicateDefinitionRule());
971 }
719 pushFollow(FOLLOW_1); 972 pushFollow(FOLLOW_1);
720 iv_ruleTruthValue=ruleTruthValue(); 973 iv_rulePredicateDefinition=rulePredicateDefinition();
721 974
722 state._fsp--; 975 state._fsp--;
723 976 if (state.failed) return current;
724 current =iv_ruleTruthValue; 977 if ( state.backtracking==0 ) {
725 match(input,EOF,FOLLOW_2); 978 current =iv_rulePredicateDefinition;
979 }
980 match(input,EOF,FOLLOW_2); if (state.failed) return current;
726 981
727 } 982 }
728 983
@@ -736,159 +991,196 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
736 } 991 }
737 return current; 992 return current;
738 } 993 }
739 // $ANTLR end "entryRuleTruthValue" 994 // $ANTLR end "entryRulePredicateDefinition"
740 995
741 996
742 // $ANTLR start "ruleTruthValue" 997 // $ANTLR start "rulePredicateDefinition"
743 // InternalSolverLanguage.g:267:1: ruleTruthValue returns [EObject current=null] : ( ( () otherlv_1= 'true' ) | ( () otherlv_3= 'false' ) | ( () otherlv_5= 'unknown' ) | ( () otherlv_7= 'error' ) ) ; 998 // InternalSolverLanguage.g:351: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= ':-' ( (lv_body_6_0= ruleExpression ) ) ) ;
744 public final EObject ruleTruthValue() throws RecognitionException { 999 public final EObject rulePredicateDefinition() throws RecognitionException {
745 EObject current = null; 1000 EObject current = null;
746 1001
747 Token otherlv_1=null; 1002 Token lv_functional_0_0=null;
748 Token otherlv_3=null; 1003 Token lv_error_1_0=null;
1004 Token lv_error_2_0=null;
1005 Token lv_functional_3_0=null;
749 Token otherlv_5=null; 1006 Token otherlv_5=null;
750 Token otherlv_7=null; 1007 EObject lv_head_4_0 = null;
1008
1009 EObject lv_body_6_0 = null;
1010
751 1011
752 1012
753 enterRule(); 1013 enterRule();
754 1014
755 try { 1015 try {
756 // InternalSolverLanguage.g:273:2: ( ( ( () otherlv_1= 'true' ) | ( () otherlv_3= 'false' ) | ( () otherlv_5= 'unknown' ) | ( () otherlv_7= 'error' ) ) ) 1016 // InternalSolverLanguage.g:357: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= ':-' ( (lv_body_6_0= ruleExpression ) ) ) )
757 // InternalSolverLanguage.g:274:2: ( ( () otherlv_1= 'true' ) | ( () otherlv_3= 'false' ) | ( () otherlv_5= 'unknown' ) | ( () otherlv_7= 'error' ) ) 1017 // InternalSolverLanguage.g:358: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= ':-' ( (lv_body_6_0= ruleExpression ) ) )
758 { 1018 {
759 // InternalSolverLanguage.g:274:2: ( ( () otherlv_1= 'true' ) | ( () otherlv_3= 'false' ) | ( () otherlv_5= 'unknown' ) | ( () otherlv_7= 'error' ) ) 1019 // InternalSolverLanguage.g:358: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= ':-' ( (lv_body_6_0= ruleExpression ) ) )
760 int alt6=4; 1020 // InternalSolverLanguage.g:359: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= ':-' ( (lv_body_6_0= ruleExpression ) )
761 switch ( input.LA(1) ) { 1021 {
762 case 13: 1022 // InternalSolverLanguage.g:359:3: ( ( ( (lv_functional_0_0= 'functional' ) ) ( (lv_error_1_0= 'error' ) )? ) | ( ( (lv_error_2_0= 'error' ) ) ( (lv_functional_3_0= 'functional' ) )? ) )
763 { 1023 int alt7=2;
764 alt6=1; 1024 int LA7_0 = input.LA(1);
765 } 1025
766 break; 1026 if ( (LA7_0==18) ) {
767 case 14: 1027 alt7=1;
768 { 1028 }
769 alt6=2; 1029 else if ( (LA7_0==19) ) {
770 } 1030 alt7=2;
771 break; 1031 }
772 case 15: 1032 else {
773 { 1033 if (state.backtracking>0) {state.failed=true; return current;}
774 alt6=3;
775 }
776 break;
777 case 16:
778 {
779 alt6=4;
780 }
781 break;
782 default:
783 NoViableAltException nvae = 1034 NoViableAltException nvae =
784 new NoViableAltException("", 6, 0, input); 1035 new NoViableAltException("", 7, 0, input);
785 1036
786 throw nvae; 1037 throw nvae;
787 } 1038 }
788 1039 switch (alt7) {
789 switch (alt6) {
790 case 1 : 1040 case 1 :
791 // InternalSolverLanguage.g:275:3: ( () otherlv_1= 'true' ) 1041 // InternalSolverLanguage.g:360:4: ( ( (lv_functional_0_0= 'functional' ) ) ( (lv_error_1_0= 'error' ) )? )
1042 {
1043 // InternalSolverLanguage.g:360:4: ( ( (lv_functional_0_0= 'functional' ) ) ( (lv_error_1_0= 'error' ) )? )
1044 // InternalSolverLanguage.g:361:5: ( (lv_functional_0_0= 'functional' ) ) ( (lv_error_1_0= 'error' ) )?
792 { 1045 {
793 // InternalSolverLanguage.g:275:3: ( () otherlv_1= 'true' ) 1046 // InternalSolverLanguage.g:361:5: ( (lv_functional_0_0= 'functional' ) )
794 // InternalSolverLanguage.g:276:4: () otherlv_1= 'true' 1047 // InternalSolverLanguage.g:362:6: (lv_functional_0_0= 'functional' )
795 { 1048 {
796 // InternalSolverLanguage.g:276:4: () 1049 // InternalSolverLanguage.g:362:6: (lv_functional_0_0= 'functional' )
797 // InternalSolverLanguage.g:277:5: 1050 // InternalSolverLanguage.g:363:7: lv_functional_0_0= 'functional'
798 { 1051 {
1052 lv_functional_0_0=(Token)match(input,18,FOLLOW_7); if (state.failed) return current;
1053 if ( state.backtracking==0 ) {
799 1054
800 current = forceCreateModelElement( 1055 newLeafNode(lv_functional_0_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0());
801 grammarAccess.getTruthValueAccess().getTrueAction_0_0(), 1056
802 current); 1057 }
803 1058 if ( state.backtracking==0 ) {
804 1059
1060 if (current==null) {
1061 current = createModelElement(grammarAccess.getPredicateDefinitionRule());
1062 }
1063 setWithLastConsumed(current, "functional", true, "functional");
1064
805 } 1065 }
806 1066
807 otherlv_1=(Token)match(input,13,FOLLOW_2); 1067 }
808 1068
809 newLeafNode(otherlv_1, grammarAccess.getTruthValueAccess().getTrueKeyword_0_1());
810
811 1069
812 } 1070 }
813 1071
1072 // InternalSolverLanguage.g:375:5: ( (lv_error_1_0= 'error' ) )?
1073 int alt5=2;
1074 int LA5_0 = input.LA(1);
814 1075
1076 if ( (LA5_0==19) ) {
1077 alt5=1;
815 } 1078 }
816 break; 1079 switch (alt5) {
817 case 2 : 1080 case 1 :
818 // InternalSolverLanguage.g:289:3: ( () otherlv_3= 'false' ) 1081 // InternalSolverLanguage.g:376:6: (lv_error_1_0= 'error' )
819 { 1082 {
820 // InternalSolverLanguage.g:289:3: ( () otherlv_3= 'false' ) 1083 // InternalSolverLanguage.g:376:6: (lv_error_1_0= 'error' )
821 // InternalSolverLanguage.g:290:4: () otherlv_3= 'false' 1084 // InternalSolverLanguage.g:377:7: lv_error_1_0= 'error'
822 { 1085 {
823 // InternalSolverLanguage.g:290:4: () 1086 lv_error_1_0=(Token)match(input,19,FOLLOW_7); if (state.failed) return current;
824 // InternalSolverLanguage.g:291:5: 1087 if ( state.backtracking==0 ) {
825 {
826 1088
827 current = forceCreateModelElement( 1089 newLeafNode(lv_error_1_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0());
828 grammarAccess.getTruthValueAccess().getFalseAction_1_0(), 1090
829 current); 1091 }
830 1092 if ( state.backtracking==0 ) {
831 1093
832 } 1094 if (current==null) {
1095 current = createModelElement(grammarAccess.getPredicateDefinitionRule());
1096 }
1097 setWithLastConsumed(current, "error", true, "error");
1098
1099 }
833 1100
834 otherlv_3=(Token)match(input,14,FOLLOW_2); 1101 }
1102
1103
1104 }
1105 break;
1106
1107 }
835 1108
836 newLeafNode(otherlv_3, grammarAccess.getTruthValueAccess().getFalseKeyword_1_1());
837
838 1109
839 } 1110 }
840 1111
841 1112
842 } 1113 }
843 break; 1114 break;
844 case 3 : 1115 case 2 :
845 // InternalSolverLanguage.g:303:3: ( () otherlv_5= 'unknown' ) 1116 // InternalSolverLanguage.g:391:4: ( ( (lv_error_2_0= 'error' ) ) ( (lv_functional_3_0= 'functional' ) )? )
1117 {
1118 // InternalSolverLanguage.g:391:4: ( ( (lv_error_2_0= 'error' ) ) ( (lv_functional_3_0= 'functional' ) )? )
1119 // InternalSolverLanguage.g:392:5: ( (lv_error_2_0= 'error' ) ) ( (lv_functional_3_0= 'functional' ) )?
846 { 1120 {
847 // InternalSolverLanguage.g:303:3: ( () otherlv_5= 'unknown' ) 1121 // InternalSolverLanguage.g:392:5: ( (lv_error_2_0= 'error' ) )
848 // InternalSolverLanguage.g:304:4: () otherlv_5= 'unknown' 1122 // InternalSolverLanguage.g:393:6: (lv_error_2_0= 'error' )
849 { 1123 {
850 // InternalSolverLanguage.g:304:4: () 1124 // InternalSolverLanguage.g:393:6: (lv_error_2_0= 'error' )
851 // InternalSolverLanguage.g:305:5: 1125 // InternalSolverLanguage.g:394:7: lv_error_2_0= 'error'
852 { 1126 {
1127 lv_error_2_0=(Token)match(input,19,FOLLOW_8); if (state.failed) return current;
1128 if ( state.backtracking==0 ) {
853 1129
854 current = forceCreateModelElement( 1130 newLeafNode(lv_error_2_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0());
855 grammarAccess.getTruthValueAccess().getUnknownAction_2_0(), 1131
856 current); 1132 }
857 1133 if ( state.backtracking==0 ) {
858 1134
1135 if (current==null) {
1136 current = createModelElement(grammarAccess.getPredicateDefinitionRule());
1137 }
1138 setWithLastConsumed(current, "error", true, "error");
1139
859 } 1140 }
860 1141
861 otherlv_5=(Token)match(input,15,FOLLOW_2); 1142 }
862 1143
863 newLeafNode(otherlv_5, grammarAccess.getTruthValueAccess().getUnknownKeyword_2_1());
864
865 1144
866 } 1145 }
867 1146
1147 // InternalSolverLanguage.g:406:5: ( (lv_functional_3_0= 'functional' ) )?
1148 int alt6=2;
1149 int LA6_0 = input.LA(1);
868 1150
1151 if ( (LA6_0==18) ) {
1152 alt6=1;
869 } 1153 }
870 break; 1154 switch (alt6) {
871 case 4 : 1155 case 1 :
872 // InternalSolverLanguage.g:317:3: ( () otherlv_7= 'error' ) 1156 // InternalSolverLanguage.g:407:6: (lv_functional_3_0= 'functional' )
873 { 1157 {
874 // InternalSolverLanguage.g:317:3: ( () otherlv_7= 'error' ) 1158 // InternalSolverLanguage.g:407:6: (lv_functional_3_0= 'functional' )
875 // InternalSolverLanguage.g:318:4: () otherlv_7= 'error' 1159 // InternalSolverLanguage.g:408:7: lv_functional_3_0= 'functional'
876 { 1160 {
877 // InternalSolverLanguage.g:318:4: () 1161 lv_functional_3_0=(Token)match(input,18,FOLLOW_7); if (state.failed) return current;
878 // InternalSolverLanguage.g:319:5: 1162 if ( state.backtracking==0 ) {
879 {
880 1163
881 current = forceCreateModelElement( 1164 newLeafNode(lv_functional_3_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0());
882 grammarAccess.getTruthValueAccess().getErrorAction_3_0(), 1165
883 current); 1166 }
884 1167 if ( state.backtracking==0 ) {
885 1168
886 } 1169 if (current==null) {
1170 current = createModelElement(grammarAccess.getPredicateDefinitionRule());
1171 }
1172 setWithLastConsumed(current, "functional", true, "functional");
1173
1174 }
1175
1176 }
887 1177
888 otherlv_7=(Token)match(input,16,FOLLOW_2);
889 1178
890 newLeafNode(otherlv_7, grammarAccess.getTruthValueAccess().getErrorKeyword_3_1()); 1179 }
891 1180 break;
1181
1182 }
1183
892 1184
893 } 1185 }
894 1186
@@ -898,12 +1190,93 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
898 1190
899 } 1191 }
900 1192
1193 // InternalSolverLanguage.g:422:3: ( (lv_head_4_0= ruleCall ) )
1194 // InternalSolverLanguage.g:423:4: (lv_head_4_0= ruleCall )
1195 {
1196 // InternalSolverLanguage.g:423:4: (lv_head_4_0= ruleCall )
1197 // InternalSolverLanguage.g:424:5: lv_head_4_0= ruleCall
1198 {
1199 if ( state.backtracking==0 ) {
1200
1201 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0());
1202
1203 }
1204 pushFollow(FOLLOW_9);
1205 lv_head_4_0=ruleCall();
1206
1207 state._fsp--;
1208 if (state.failed) return current;
1209 if ( state.backtracking==0 ) {
1210
1211 if (current==null) {
1212 current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
1213 }
1214 set(
1215 current,
1216 "head",
1217 lv_head_4_0,
1218 "org.eclipse.viatra.solver.language.SolverLanguage.Call");
1219 afterParserOrEnumRuleCall();
1220
1221 }
1222
1223 }
1224
1225
1226 }
1227
1228 otherlv_5=(Token)match(input,16,FOLLOW_6); if (state.failed) return current;
1229 if ( state.backtracking==0 ) {
1230
1231 newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2());
1232
1233 }
1234 // InternalSolverLanguage.g:445:3: ( (lv_body_6_0= ruleExpression ) )
1235 // InternalSolverLanguage.g:446:4: (lv_body_6_0= ruleExpression )
1236 {
1237 // InternalSolverLanguage.g:446:4: (lv_body_6_0= ruleExpression )
1238 // InternalSolverLanguage.g:447:5: lv_body_6_0= ruleExpression
1239 {
1240 if ( state.backtracking==0 ) {
1241
1242 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
1243
1244 }
1245 pushFollow(FOLLOW_2);
1246 lv_body_6_0=ruleExpression();
1247
1248 state._fsp--;
1249 if (state.failed) return current;
1250 if ( state.backtracking==0 ) {
1251
1252 if (current==null) {
1253 current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
1254 }
1255 set(
1256 current,
1257 "body",
1258 lv_body_6_0,
1259 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1260 afterParserOrEnumRuleCall();
1261
1262 }
1263
1264 }
1265
1266
1267 }
1268
901 1269
902 } 1270 }
903 1271
904 1272
905 leaveRule(); 1273 }
1274
1275 if ( state.backtracking==0 ) {
906 1276
1277 leaveRule();
1278
1279 }
907 } 1280 }
908 1281
909 catch (RecognitionException re) { 1282 catch (RecognitionException re) {
@@ -914,29 +1287,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
914 } 1287 }
915 return current; 1288 return current;
916 } 1289 }
917 // $ANTLR end "ruleTruthValue" 1290 // $ANTLR end "rulePredicateDefinition"
918 1291
919 1292
920 // $ANTLR start "entryRuleInterpretation" 1293 // $ANTLR start "entryRuleUnnamedErrorPrediateDefinition"
921 // InternalSolverLanguage.g:334:1: entryRuleInterpretation returns [EObject current=null] : iv_ruleInterpretation= ruleInterpretation EOF ; 1294 // InternalSolverLanguage.g:468:1: entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null] : iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ;
922 public final EObject entryRuleInterpretation() throws RecognitionException { 1295 public final EObject entryRuleUnnamedErrorPrediateDefinition() throws RecognitionException {
923 EObject current = null; 1296 EObject current = null;
924 1297
925 EObject iv_ruleInterpretation = null; 1298 EObject iv_ruleUnnamedErrorPrediateDefinition = null;
926 1299
927 1300
928 try { 1301 try {
929 // InternalSolverLanguage.g:334:55: (iv_ruleInterpretation= ruleInterpretation EOF ) 1302 // InternalSolverLanguage.g:468:71: (iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF )
930 // InternalSolverLanguage.g:335:2: iv_ruleInterpretation= ruleInterpretation EOF 1303 // InternalSolverLanguage.g:469:2: iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF
931 { 1304 {
932 newCompositeNode(grammarAccess.getInterpretationRule()); 1305 if ( state.backtracking==0 ) {
1306 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule());
1307 }
933 pushFollow(FOLLOW_1); 1308 pushFollow(FOLLOW_1);
934 iv_ruleInterpretation=ruleInterpretation(); 1309 iv_ruleUnnamedErrorPrediateDefinition=ruleUnnamedErrorPrediateDefinition();
935 1310
936 state._fsp--; 1311 state._fsp--;
937 1312 if (state.failed) return current;
938 current =iv_ruleInterpretation; 1313 if ( state.backtracking==0 ) {
939 match(input,EOF,FOLLOW_2); 1314 current =iv_ruleUnnamedErrorPrediateDefinition;
1315 }
1316 match(input,EOF,FOLLOW_2); if (state.failed) return current;
940 1317
941 } 1318 }
942 1319
@@ -950,127 +1327,124 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
950 } 1327 }
951 return current; 1328 return current;
952 } 1329 }
953 // $ANTLR end "entryRuleInterpretation" 1330 // $ANTLR end "entryRuleUnnamedErrorPrediateDefinition"
954 1331
955 1332
956 // $ANTLR start "ruleInterpretation" 1333 // $ANTLR start "ruleUnnamedErrorPrediateDefinition"
957 // InternalSolverLanguage.g:341:1: ruleInterpretation returns [EObject current=null] : (this_BasicInterpretation_0= ruleBasicInterpretation | this_DefaultInterpretation_1= ruleDefaultInterpretation | this_CDInterpretation_2= ruleCDInterpretation ) ; 1334 // InternalSolverLanguage.g:475:1: ruleUnnamedErrorPrediateDefinition returns [EObject current=null] : (otherlv_0= 'error' ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ':-' ( (lv_body_3_0= ruleExpression ) ) ) ;
958 public final EObject ruleInterpretation() throws RecognitionException { 1335 public final EObject ruleUnnamedErrorPrediateDefinition() throws RecognitionException {
959 EObject current = null; 1336 EObject current = null;
960 1337
961 EObject this_BasicInterpretation_0 = null; 1338 Token otherlv_0=null;
962 1339 Token otherlv_2=null;
963 EObject this_DefaultInterpretation_1 = null; 1340 EObject lv_argumentList_1_0 = null;
964 1341
965 EObject this_CDInterpretation_2 = null; 1342 EObject lv_body_3_0 = null;
966 1343
967 1344
968 1345
969 enterRule(); 1346 enterRule();
970 1347
971 try { 1348 try {
972 // InternalSolverLanguage.g:347:2: ( (this_BasicInterpretation_0= ruleBasicInterpretation | this_DefaultInterpretation_1= ruleDefaultInterpretation | this_CDInterpretation_2= ruleCDInterpretation ) ) 1349 // InternalSolverLanguage.g:481:2: ( (otherlv_0= 'error' ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ':-' ( (lv_body_3_0= ruleExpression ) ) ) )
973 // InternalSolverLanguage.g:348:2: (this_BasicInterpretation_0= ruleBasicInterpretation | this_DefaultInterpretation_1= ruleDefaultInterpretation | this_CDInterpretation_2= ruleCDInterpretation ) 1350 // InternalSolverLanguage.g:482:2: (otherlv_0= 'error' ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ':-' ( (lv_body_3_0= ruleExpression ) ) )
974 { 1351 {
975 // InternalSolverLanguage.g:348:2: (this_BasicInterpretation_0= ruleBasicInterpretation | this_DefaultInterpretation_1= ruleDefaultInterpretation | this_CDInterpretation_2= ruleCDInterpretation ) 1352 // InternalSolverLanguage.g:482:2: (otherlv_0= 'error' ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ':-' ( (lv_body_3_0= ruleExpression ) ) )
976 int alt7=3; 1353 // InternalSolverLanguage.g:483:3: otherlv_0= 'error' ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ':-' ( (lv_body_3_0= ruleExpression ) )
977 switch ( input.LA(1) ) { 1354 {
978 case RULE_ID: 1355 otherlv_0=(Token)match(input,19,FOLLOW_10); if (state.failed) return current;
979 case 21: 1356 if ( state.backtracking==0 ) {
980 case 22:
981 case 23:
982 case 24:
983 case 25:
984 case 26:
985 {
986 alt7=1;
987 }
988 break;
989 case 32:
990 {
991 alt7=2;
992 }
993 break;
994 case 33:
995 case 34:
996 case 38:
997 case 39:
998 case 40:
999 {
1000 alt7=3;
1001 }
1002 break;
1003 default:
1004 NoViableAltException nvae =
1005 new NoViableAltException("", 7, 0, input);
1006 1357
1007 throw nvae; 1358 newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0());
1359
1008 } 1360 }
1361 // InternalSolverLanguage.g:487:3: ( (lv_argumentList_1_0= ruleArgumentList ) )
1362 // InternalSolverLanguage.g:488:4: (lv_argumentList_1_0= ruleArgumentList )
1363 {
1364 // InternalSolverLanguage.g:488:4: (lv_argumentList_1_0= ruleArgumentList )
1365 // InternalSolverLanguage.g:489:5: lv_argumentList_1_0= ruleArgumentList
1366 {
1367 if ( state.backtracking==0 ) {
1009 1368
1010 switch (alt7) { 1369 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0());
1011 case 1 : 1370
1012 // InternalSolverLanguage.g:349:3: this_BasicInterpretation_0= ruleBasicInterpretation 1371 }
1013 { 1372 pushFollow(FOLLOW_9);
1014 1373 lv_argumentList_1_0=ruleArgumentList();
1015 newCompositeNode(grammarAccess.getInterpretationAccess().getBasicInterpretationParserRuleCall_0());
1016
1017 pushFollow(FOLLOW_2);
1018 this_BasicInterpretation_0=ruleBasicInterpretation();
1019 1374
1020 state._fsp--; 1375 state._fsp--;
1376 if (state.failed) return current;
1377 if ( state.backtracking==0 ) {
1021 1378
1379 if (current==null) {
1380 current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule());
1381 }
1382 set(
1383 current,
1384 "argumentList",
1385 lv_argumentList_1_0,
1386 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
1387 afterParserOrEnumRuleCall();
1388
1389 }
1022 1390
1023 current = this_BasicInterpretation_0; 1391 }
1024 afterParserOrEnumRuleCall();
1025
1026 1392
1027 }
1028 break;
1029 case 2 :
1030 // InternalSolverLanguage.g:358:3: this_DefaultInterpretation_1= ruleDefaultInterpretation
1031 {
1032 1393
1033 newCompositeNode(grammarAccess.getInterpretationAccess().getDefaultInterpretationParserRuleCall_1()); 1394 }
1034
1035 pushFollow(FOLLOW_2);
1036 this_DefaultInterpretation_1=ruleDefaultInterpretation();
1037 1395
1038 state._fsp--; 1396 otherlv_2=(Token)match(input,16,FOLLOW_6); if (state.failed) return current;
1397 if ( state.backtracking==0 ) {
1039 1398
1399 newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2());
1400
1401 }
1402 // InternalSolverLanguage.g:510:3: ( (lv_body_3_0= ruleExpression ) )
1403 // InternalSolverLanguage.g:511:4: (lv_body_3_0= ruleExpression )
1404 {
1405 // InternalSolverLanguage.g:511:4: (lv_body_3_0= ruleExpression )
1406 // InternalSolverLanguage.g:512:5: lv_body_3_0= ruleExpression
1407 {
1408 if ( state.backtracking==0 ) {
1040 1409
1041 current = this_DefaultInterpretation_1; 1410 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
1042 afterParserOrEnumRuleCall(); 1411
1043 1412 }
1413 pushFollow(FOLLOW_2);
1414 lv_body_3_0=ruleExpression();
1044 1415
1045 } 1416 state._fsp--;
1046 break; 1417 if (state.failed) return current;
1047 case 3 : 1418 if ( state.backtracking==0 ) {
1048 // InternalSolverLanguage.g:367:3: this_CDInterpretation_2= ruleCDInterpretation
1049 {
1050 1419
1051 newCompositeNode(grammarAccess.getInterpretationAccess().getCDInterpretationParserRuleCall_2()); 1420 if (current==null) {
1052 1421 current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule());
1053 pushFollow(FOLLOW_2); 1422 }
1054 this_CDInterpretation_2=ruleCDInterpretation(); 1423 set(
1424 current,
1425 "body",
1426 lv_body_3_0,
1427 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1428 afterParserOrEnumRuleCall();
1429
1430 }
1055 1431
1056 state._fsp--; 1432 }
1057 1433
1058 1434
1059 current = this_CDInterpretation_2; 1435 }
1060 afterParserOrEnumRuleCall();
1061
1062 1436
1063 }
1064 break;
1065 1437
1066 } 1438 }
1067 1439
1068 1440
1069 } 1441 }
1070 1442
1443 if ( state.backtracking==0 ) {
1071 1444
1072 leaveRule(); 1445 leaveRule();
1073 1446
1447 }
1074 } 1448 }
1075 1449
1076 catch (RecognitionException re) { 1450 catch (RecognitionException re) {
@@ -1081,29 +1455,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1081 } 1455 }
1082 return current; 1456 return current;
1083 } 1457 }
1084 // $ANTLR end "ruleInterpretation" 1458 // $ANTLR end "ruleUnnamedErrorPrediateDefinition"
1085 1459
1086 1460
1087 // $ANTLR start "entryRuleBasicInterpretation" 1461 // $ANTLR start "entryRuleDefaultDefinition"
1088 // InternalSolverLanguage.g:379:1: entryRuleBasicInterpretation returns [EObject current=null] : iv_ruleBasicInterpretation= ruleBasicInterpretation EOF ; 1462 // InternalSolverLanguage.g:533:1: entryRuleDefaultDefinition returns [EObject current=null] : iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ;
1089 public final EObject entryRuleBasicInterpretation() throws RecognitionException { 1463 public final EObject entryRuleDefaultDefinition() throws RecognitionException {
1090 EObject current = null; 1464 EObject current = null;
1091 1465
1092 EObject iv_ruleBasicInterpretation = null; 1466 EObject iv_ruleDefaultDefinition = null;
1093 1467
1094 1468
1095 try { 1469 try {
1096 // InternalSolverLanguage.g:379:60: (iv_ruleBasicInterpretation= ruleBasicInterpretation EOF ) 1470 // InternalSolverLanguage.g:533:58: (iv_ruleDefaultDefinition= ruleDefaultDefinition EOF )
1097 // InternalSolverLanguage.g:380:2: iv_ruleBasicInterpretation= ruleBasicInterpretation EOF 1471 // InternalSolverLanguage.g:534:2: iv_ruleDefaultDefinition= ruleDefaultDefinition EOF
1098 { 1472 {
1099 newCompositeNode(grammarAccess.getBasicInterpretationRule()); 1473 if ( state.backtracking==0 ) {
1474 newCompositeNode(grammarAccess.getDefaultDefinitionRule());
1475 }
1100 pushFollow(FOLLOW_1); 1476 pushFollow(FOLLOW_1);
1101 iv_ruleBasicInterpretation=ruleBasicInterpretation(); 1477 iv_ruleDefaultDefinition=ruleDefaultDefinition();
1102 1478
1103 state._fsp--; 1479 state._fsp--;
1104 1480 if (state.failed) return current;
1105 current =iv_ruleBasicInterpretation; 1481 if ( state.backtracking==0 ) {
1106 match(input,EOF,FOLLOW_2); 1482 current =iv_ruleDefaultDefinition;
1483 }
1484 match(input,EOF,FOLLOW_2); if (state.failed) return current;
1107 1485
1108 } 1486 }
1109 1487
@@ -1117,244 +1495,255 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1117 } 1495 }
1118 return current; 1496 return current;
1119 } 1497 }
1120 // $ANTLR end "entryRuleBasicInterpretation" 1498 // $ANTLR end "entryRuleDefaultDefinition"
1121 1499
1122 1500
1123 // $ANTLR start "ruleBasicInterpretation" 1501 // $ANTLR start "ruleDefaultDefinition"
1124 // InternalSolverLanguage.g:386:1: ruleBasicInterpretation returns [EObject current=null] : ( ( (lv_symbol_0_0= ruleSymbol ) ) (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? otherlv_6= ':' ( (lv_value_7_0= ruleTruthValue ) ) ) ; 1502 // InternalSolverLanguage.g:540:1: ruleDefaultDefinition returns [EObject current=null] : (otherlv_0= 'default' ( (lv_head_1_0= ruleCall ) ) otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) ) ;
1125 public final EObject ruleBasicInterpretation() throws RecognitionException { 1503 public final EObject ruleDefaultDefinition() throws RecognitionException {
1126 EObject current = null; 1504 EObject current = null;
1127 1505
1128 Token otherlv_1=null; 1506 Token otherlv_0=null;
1129 Token otherlv_3=null; 1507 Token otherlv_2=null;
1130 Token otherlv_5=null; 1508 EObject lv_head_1_0 = null;
1131 Token otherlv_6=null;
1132 EObject lv_symbol_0_0 = null;
1133
1134 EObject lv_objects_2_0 = null;
1135
1136 EObject lv_objects_4_0 = null;
1137 1509
1138 EObject lv_value_7_0 = null; 1510 EObject lv_range_3_0 = null;
1139 1511
1140 1512
1141 1513
1142 enterRule(); 1514 enterRule();
1143 1515
1144 try { 1516 try {
1145 // InternalSolverLanguage.g:392:2: ( ( ( (lv_symbol_0_0= ruleSymbol ) ) (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? otherlv_6= ':' ( (lv_value_7_0= ruleTruthValue ) ) ) ) 1517 // InternalSolverLanguage.g:546:2: ( (otherlv_0= 'default' ( (lv_head_1_0= ruleCall ) ) otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) ) )
1146 // InternalSolverLanguage.g:393:2: ( ( (lv_symbol_0_0= ruleSymbol ) ) (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? otherlv_6= ':' ( (lv_value_7_0= ruleTruthValue ) ) ) 1518 // InternalSolverLanguage.g:547:2: (otherlv_0= 'default' ( (lv_head_1_0= ruleCall ) ) otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )
1147 { 1519 {
1148 // InternalSolverLanguage.g:393:2: ( ( (lv_symbol_0_0= ruleSymbol ) ) (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? otherlv_6= ':' ( (lv_value_7_0= ruleTruthValue ) ) ) 1520 // InternalSolverLanguage.g:547:2: (otherlv_0= 'default' ( (lv_head_1_0= ruleCall ) ) otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )
1149 // InternalSolverLanguage.g:394:3: ( (lv_symbol_0_0= ruleSymbol ) ) (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? otherlv_6= ':' ( (lv_value_7_0= ruleTruthValue ) ) 1521 // InternalSolverLanguage.g:548:3: otherlv_0= 'default' ( (lv_head_1_0= ruleCall ) ) otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) )
1150 { 1522 {
1151 // InternalSolverLanguage.g:394:3: ( (lv_symbol_0_0= ruleSymbol ) ) 1523 otherlv_0=(Token)match(input,20,FOLLOW_7); if (state.failed) return current;
1152 // InternalSolverLanguage.g:395:4: (lv_symbol_0_0= ruleSymbol ) 1524 if ( state.backtracking==0 ) {
1525
1526 newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0());
1527
1528 }
1529 // InternalSolverLanguage.g:552:3: ( (lv_head_1_0= ruleCall ) )
1530 // InternalSolverLanguage.g:553:4: (lv_head_1_0= ruleCall )
1153 { 1531 {
1154 // InternalSolverLanguage.g:395:4: (lv_symbol_0_0= ruleSymbol ) 1532 // InternalSolverLanguage.g:553:4: (lv_head_1_0= ruleCall )
1155 // InternalSolverLanguage.g:396:5: lv_symbol_0_0= ruleSymbol 1533 // InternalSolverLanguage.g:554:5: lv_head_1_0= ruleCall
1156 { 1534 {
1535 if ( state.backtracking==0 ) {
1157 1536
1158 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getSymbolSymbolParserRuleCall_0_0()); 1537 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0());
1159 1538
1160 pushFollow(FOLLOW_6); 1539 }
1161 lv_symbol_0_0=ruleSymbol(); 1540 pushFollow(FOLLOW_11);
1541 lv_head_1_0=ruleCall();
1162 1542
1163 state._fsp--; 1543 state._fsp--;
1544 if (state.failed) return current;
1545 if ( state.backtracking==0 ) {
1164 1546
1165 1547 if (current==null) {
1166 if (current==null) { 1548 current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule());
1167 current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); 1549 }
1168 } 1550 set(
1169 set( 1551 current,
1170 current, 1552 "head",
1171 "symbol", 1553 lv_head_1_0,
1172 lv_symbol_0_0, 1554 "org.eclipse.viatra.solver.language.SolverLanguage.Call");
1173 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); 1555 afterParserOrEnumRuleCall();
1174 afterParserOrEnumRuleCall(); 1556
1175 1557 }
1176 1558
1177 } 1559 }
1178 1560
1179 1561
1180 } 1562 }
1181 1563
1182 // InternalSolverLanguage.g:413:3: (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? 1564 otherlv_2=(Token)match(input,15,FOLLOW_6); if (state.failed) return current;
1183 int alt10=2; 1565 if ( state.backtracking==0 ) {
1184 int LA10_0 = input.LA(1);
1185 1566
1186 if ( (LA10_0==17) ) { 1567 newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2());
1187 alt10=1; 1568
1188 } 1569 }
1189 switch (alt10) { 1570 // InternalSolverLanguage.g:575:3: ( (lv_range_3_0= ruleExpression ) )
1190 case 1 : 1571 // InternalSolverLanguage.g:576:4: (lv_range_3_0= ruleExpression )
1191 // InternalSolverLanguage.g:414:4: otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' 1572 {
1192 { 1573 // InternalSolverLanguage.g:576:4: (lv_range_3_0= ruleExpression )
1193 otherlv_1=(Token)match(input,17,FOLLOW_7); 1574 // InternalSolverLanguage.g:577:5: lv_range_3_0= ruleExpression
1575 {
1576 if ( state.backtracking==0 ) {
1194 1577
1195 newLeafNode(otherlv_1, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()); 1578 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0());
1196 1579
1197 // InternalSolverLanguage.g:418:4: ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? 1580 }
1198 int alt9=2; 1581 pushFollow(FOLLOW_2);
1199 int LA9_0 = input.LA(1); 1582 lv_range_3_0=ruleExpression();
1200 1583
1201 if ( ((LA9_0>=RULE_INT && LA9_0<=RULE_STRING)||LA9_0==11||(LA9_0>=13 && LA9_0<=14)||LA9_0==20||LA9_0==27||LA9_0==31) ) { 1584 state._fsp--;
1202 alt9=1; 1585 if (state.failed) return current;
1203 } 1586 if ( state.backtracking==0 ) {
1204 switch (alt9) {
1205 case 1 :
1206 // InternalSolverLanguage.g:419:5: ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )*
1207 {
1208 // InternalSolverLanguage.g:419:5: ( (lv_objects_2_0= ruleComplexObject ) )
1209 // InternalSolverLanguage.g:420:6: (lv_objects_2_0= ruleComplexObject )
1210 {
1211 // InternalSolverLanguage.g:420:6: (lv_objects_2_0= ruleComplexObject )
1212 // InternalSolverLanguage.g:421:7: lv_objects_2_0= ruleComplexObject
1213 {
1214 1587
1215 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0()); 1588 if (current==null) {
1216 1589 current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule());
1217 pushFollow(FOLLOW_8); 1590 }
1218 lv_objects_2_0=ruleComplexObject(); 1591 set(
1592 current,
1593 "range",
1594 lv_range_3_0,
1595 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1596 afterParserOrEnumRuleCall();
1597
1598 }
1219 1599
1220 state._fsp--; 1600 }
1221 1601
1222 1602
1223 if (current==null) { 1603 }
1224 current = createModelElementForParent(grammarAccess.getBasicInterpretationRule());
1225 }
1226 add(
1227 current,
1228 "objects",
1229 lv_objects_2_0,
1230 "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject");
1231 afterParserOrEnumRuleCall();
1232
1233 1604
1234 }
1235 1605
1606 }
1236 1607
1237 }
1238 1608
1239 // InternalSolverLanguage.g:438:5: (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* 1609 }
1240 loop8:
1241 do {
1242 int alt8=2;
1243 int LA8_0 = input.LA(1);
1244 1610
1245 if ( (LA8_0==18) ) { 1611 if ( state.backtracking==0 ) {
1246 alt8=1;
1247 }
1248 1612
1613 leaveRule();
1249 1614
1250 switch (alt8) { 1615 }
1251 case 1 : 1616 }
1252 // InternalSolverLanguage.g:439:6: otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) )
1253 {
1254 otherlv_3=(Token)match(input,18,FOLLOW_9);
1255 1617
1256 newLeafNode(otherlv_3, grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0()); 1618 catch (RecognitionException re) {
1257 1619 recover(input,re);
1258 // InternalSolverLanguage.g:443:6: ( (lv_objects_4_0= ruleComplexObject ) ) 1620 appendSkippedTokens();
1259 // InternalSolverLanguage.g:444:7: (lv_objects_4_0= ruleComplexObject ) 1621 }
1260 { 1622 finally {
1261 // InternalSolverLanguage.g:444:7: (lv_objects_4_0= ruleComplexObject ) 1623 }
1262 // InternalSolverLanguage.g:445:8: lv_objects_4_0= ruleComplexObject 1624 return current;
1263 { 1625 }
1626 // $ANTLR end "ruleDefaultDefinition"
1264 1627
1265 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0());
1266
1267 pushFollow(FOLLOW_8);
1268 lv_objects_4_0=ruleComplexObject();
1269 1628
1270 state._fsp--; 1629 // $ANTLR start "entryRuleExternPredicateDefinition"
1630 // InternalSolverLanguage.g:598:1: entryRuleExternPredicateDefinition returns [EObject current=null] : iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ;
1631 public final EObject entryRuleExternPredicateDefinition() throws RecognitionException {
1632 EObject current = null;
1271 1633
1634 EObject iv_ruleExternPredicateDefinition = null;
1272 1635
1273 if (current==null) {
1274 current = createModelElementForParent(grammarAccess.getBasicInterpretationRule());
1275 }
1276 add(
1277 current,
1278 "objects",
1279 lv_objects_4_0,
1280 "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject");
1281 afterParserOrEnumRuleCall();
1282
1283 1636
1284 } 1637 try {
1638 // InternalSolverLanguage.g:598:66: (iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF )
1639 // InternalSolverLanguage.g:599:2: iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF
1640 {
1641 if ( state.backtracking==0 ) {
1642 newCompositeNode(grammarAccess.getExternPredicateDefinitionRule());
1643 }
1644 pushFollow(FOLLOW_1);
1645 iv_ruleExternPredicateDefinition=ruleExternPredicateDefinition();
1285 1646
1647 state._fsp--;
1648 if (state.failed) return current;
1649 if ( state.backtracking==0 ) {
1650 current =iv_ruleExternPredicateDefinition;
1651 }
1652 match(input,EOF,FOLLOW_2); if (state.failed) return current;
1286 1653
1287 } 1654 }
1288 1655
1656 }
1289 1657
1290 } 1658 catch (RecognitionException re) {
1291 break; 1659 recover(input,re);
1660 appendSkippedTokens();
1661 }
1662 finally {
1663 }
1664 return current;
1665 }
1666 // $ANTLR end "entryRuleExternPredicateDefinition"
1292 1667
1293 default :
1294 break loop8;
1295 }
1296 } while (true);
1297 1668
1669 // $ANTLR start "ruleExternPredicateDefinition"
1670 // InternalSolverLanguage.g:605:1: ruleExternPredicateDefinition returns [EObject current=null] : (otherlv_0= 'extern' ( (lv_head_1_0= ruleCall ) ) otherlv_2= '.' ) ;
1671 public final EObject ruleExternPredicateDefinition() throws RecognitionException {
1672 EObject current = null;
1298 1673
1299 } 1674 Token otherlv_0=null;
1300 break; 1675 Token otherlv_2=null;
1676 EObject lv_head_1_0 = null;
1301 1677
1302 }
1303 1678
1304 otherlv_5=(Token)match(input,19,FOLLOW_10);
1305 1679
1306 newLeafNode(otherlv_5, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2()); 1680 enterRule();
1307
1308 1681
1309 } 1682 try {
1310 break; 1683 // InternalSolverLanguage.g:611:2: ( (otherlv_0= 'extern' ( (lv_head_1_0= ruleCall ) ) otherlv_2= '.' ) )
1684 // InternalSolverLanguage.g:612:2: (otherlv_0= 'extern' ( (lv_head_1_0= ruleCall ) ) otherlv_2= '.' )
1685 {
1686 // InternalSolverLanguage.g:612:2: (otherlv_0= 'extern' ( (lv_head_1_0= ruleCall ) ) otherlv_2= '.' )
1687 // InternalSolverLanguage.g:613:3: otherlv_0= 'extern' ( (lv_head_1_0= ruleCall ) ) otherlv_2= '.'
1688 {
1689 otherlv_0=(Token)match(input,21,FOLLOW_7); if (state.failed) return current;
1690 if ( state.backtracking==0 ) {
1311 1691
1692 newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0());
1693
1312 } 1694 }
1313 1695 // InternalSolverLanguage.g:617:3: ( (lv_head_1_0= ruleCall ) )
1314 otherlv_6=(Token)match(input,20,FOLLOW_11); 1696 // InternalSolverLanguage.g:618:4: (lv_head_1_0= ruleCall )
1315
1316 newLeafNode(otherlv_6, grammarAccess.getBasicInterpretationAccess().getColonKeyword_2());
1317
1318 // InternalSolverLanguage.g:473:3: ( (lv_value_7_0= ruleTruthValue ) )
1319 // InternalSolverLanguage.g:474:4: (lv_value_7_0= ruleTruthValue )
1320 { 1697 {
1321 // InternalSolverLanguage.g:474:4: (lv_value_7_0= ruleTruthValue ) 1698 // InternalSolverLanguage.g:618:4: (lv_head_1_0= ruleCall )
1322 // InternalSolverLanguage.g:475:5: lv_value_7_0= ruleTruthValue 1699 // InternalSolverLanguage.g:619:5: lv_head_1_0= ruleCall
1323 { 1700 {
1701 if ( state.backtracking==0 ) {
1324 1702
1325 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0()); 1703 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0());
1326 1704
1327 pushFollow(FOLLOW_2); 1705 }
1328 lv_value_7_0=ruleTruthValue(); 1706 pushFollow(FOLLOW_12);
1707 lv_head_1_0=ruleCall();
1329 1708
1330 state._fsp--; 1709 state._fsp--;
1710 if (state.failed) return current;
1711 if ( state.backtracking==0 ) {
1331 1712
1332 1713 if (current==null) {
1333 if (current==null) { 1714 current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule());
1334 current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); 1715 }
1335 } 1716 set(
1336 set( 1717 current,
1337 current, 1718 "head",
1338 "value", 1719 lv_head_1_0,
1339 lv_value_7_0, 1720 "org.eclipse.viatra.solver.language.SolverLanguage.Call");
1340 "org.eclipse.viatra.solver.language.SolverLanguage.TruthValue"); 1721 afterParserOrEnumRuleCall();
1341 afterParserOrEnumRuleCall(); 1722
1342 1723 }
1343 1724
1344 } 1725 }
1345 1726
1346 1727
1347 } 1728 }
1348 1729
1730 otherlv_2=(Token)match(input,22,FOLLOW_2); if (state.failed) return current;
1731 if ( state.backtracking==0 ) {
1732
1733 newLeafNode(otherlv_2, grammarAccess.getExternPredicateDefinitionAccess().getFullStopKeyword_2());
1734
1735 }
1349 1736
1350 } 1737 }
1351 1738
1352 1739
1353 } 1740 }
1354 1741
1742 if ( state.backtracking==0 ) {
1355 1743
1356 leaveRule(); 1744 leaveRule();
1357 1745
1746 }
1358 } 1747 }
1359 1748
1360 catch (RecognitionException re) { 1749 catch (RecognitionException re) {
@@ -1365,29 +1754,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1365 } 1754 }
1366 return current; 1755 return current;
1367 } 1756 }
1368 // $ANTLR end "ruleBasicInterpretation" 1757 // $ANTLR end "ruleExternPredicateDefinition"
1369 1758
1370 1759
1371 // $ANTLR start "entryRuleSymbol" 1760 // $ANTLR start "entryRuleMetricDefinition"
1372 // InternalSolverLanguage.g:496:1: entryRuleSymbol returns [EObject current=null] : iv_ruleSymbol= ruleSymbol EOF ; 1761 // InternalSolverLanguage.g:644:1: entryRuleMetricDefinition returns [EObject current=null] : iv_ruleMetricDefinition= ruleMetricDefinition EOF ;
1373 public final EObject entryRuleSymbol() throws RecognitionException { 1762 public final EObject entryRuleMetricDefinition() throws RecognitionException {
1374 EObject current = null; 1763 EObject current = null;
1375 1764
1376 EObject iv_ruleSymbol = null; 1765 EObject iv_ruleMetricDefinition = null;
1377 1766
1378 1767
1379 try { 1768 try {
1380 // InternalSolverLanguage.g:496:47: (iv_ruleSymbol= ruleSymbol EOF ) 1769 // InternalSolverLanguage.g:644:57: (iv_ruleMetricDefinition= ruleMetricDefinition EOF )
1381 // InternalSolverLanguage.g:497:2: iv_ruleSymbol= ruleSymbol EOF 1770 // InternalSolverLanguage.g:645:2: iv_ruleMetricDefinition= ruleMetricDefinition EOF
1382 { 1771 {
1383 newCompositeNode(grammarAccess.getSymbolRule()); 1772 if ( state.backtracking==0 ) {
1773 newCompositeNode(grammarAccess.getMetricDefinitionRule());
1774 }
1384 pushFollow(FOLLOW_1); 1775 pushFollow(FOLLOW_1);
1385 iv_ruleSymbol=ruleSymbol(); 1776 iv_ruleMetricDefinition=ruleMetricDefinition();
1386 1777
1387 state._fsp--; 1778 state._fsp--;
1388 1779 if (state.failed) return current;
1389 current =iv_ruleSymbol; 1780 if ( state.backtracking==0 ) {
1390 match(input,EOF,FOLLOW_2); 1781 current =iv_ruleMetricDefinition;
1782 }
1783 match(input,EOF,FOLLOW_2); if (state.failed) return current;
1391 1784
1392 } 1785 }
1393 1786
@@ -1401,112 +1794,137 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1401 } 1794 }
1402 return current; 1795 return current;
1403 } 1796 }
1404 // $ANTLR end "entryRuleSymbol" 1797 // $ANTLR end "entryRuleMetricDefinition"
1405 1798
1406 1799
1407 // $ANTLR start "ruleSymbol" 1800 // $ANTLR start "ruleMetricDefinition"
1408 // InternalSolverLanguage.g:503:1: ruleSymbol returns [EObject current=null] : (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) ; 1801 // InternalSolverLanguage.g:651:1: ruleMetricDefinition returns [EObject current=null] : ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= '=' ( (lv_body_3_0= ruleExpression ) ) ) ;
1409 public final EObject ruleSymbol() throws RecognitionException { 1802 public final EObject ruleMetricDefinition() throws RecognitionException {
1410 EObject current = null; 1803 EObject current = null;
1411 1804
1412 EObject this_ModelSymbol_0 = null; 1805 Token otherlv_2=null;
1806 Enumerator lv_type_0_0 = null;
1413 1807
1414 EObject this_PartialitySymbol_1 = null; 1808 EObject lv_head_1_0 = null;
1415 1809
1416 EObject this_DataSymbol_2 = null; 1810 EObject lv_body_3_0 = null;
1417 1811
1418 1812
1419 1813
1420 enterRule(); 1814 enterRule();
1421 1815
1422 try { 1816 try {
1423 // InternalSolverLanguage.g:509:2: ( (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) ) 1817 // InternalSolverLanguage.g:657:2: ( ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= '=' ( (lv_body_3_0= ruleExpression ) ) ) )
1424 // InternalSolverLanguage.g:510:2: (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) 1818 // InternalSolverLanguage.g:658:2: ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= '=' ( (lv_body_3_0= ruleExpression ) ) )
1425 { 1819 {
1426 // InternalSolverLanguage.g:510:2: (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) 1820 // InternalSolverLanguage.g:658:2: ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= '=' ( (lv_body_3_0= ruleExpression ) ) )
1427 int alt11=3; 1821 // InternalSolverLanguage.g:659:3: ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= '=' ( (lv_body_3_0= ruleExpression ) )
1428 switch ( input.LA(1) ) { 1822 {
1429 case RULE_ID: 1823 // InternalSolverLanguage.g:659:3: ( (lv_type_0_0= ruleMetricType ) )
1430 { 1824 // InternalSolverLanguage.g:660:4: (lv_type_0_0= ruleMetricType )
1431 alt11=1; 1825 {
1432 } 1826 // InternalSolverLanguage.g:660:4: (lv_type_0_0= ruleMetricType )
1433 break; 1827 // InternalSolverLanguage.g:661:5: lv_type_0_0= ruleMetricType
1434 case 21: 1828 {
1435 case 22: 1829 if ( state.backtracking==0 ) {
1436 {
1437 alt11=2;
1438 }
1439 break;
1440 case 23:
1441 case 24:
1442 case 25:
1443 case 26:
1444 {
1445 alt11=3;
1446 }
1447 break;
1448 default:
1449 NoViableAltException nvae =
1450 new NoViableAltException("", 11, 0, input);
1451 1830
1452 throw nvae; 1831 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0());
1832
1453 } 1833 }
1834 pushFollow(FOLLOW_6);
1835 lv_type_0_0=ruleMetricType();
1454 1836
1455 switch (alt11) { 1837 state._fsp--;
1456 case 1 : 1838 if (state.failed) return current;
1457 // InternalSolverLanguage.g:511:3: this_ModelSymbol_0= ruleModelSymbol 1839 if ( state.backtracking==0 ) {
1458 {
1459 1840
1460 newCompositeNode(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0()); 1841 if (current==null) {
1461 1842 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
1462 pushFollow(FOLLOW_2); 1843 }
1463 this_ModelSymbol_0=ruleModelSymbol(); 1844 set(
1845 current,
1846 "type",
1847 lv_type_0_0,
1848 "org.eclipse.viatra.solver.language.SolverLanguage.MetricType");
1849 afterParserOrEnumRuleCall();
1850
1851 }
1464 1852
1465 state._fsp--; 1853 }
1466 1854
1467 1855
1468 current = this_ModelSymbol_0; 1856 }
1469 afterParserOrEnumRuleCall();
1470
1471 1857
1472 } 1858 // InternalSolverLanguage.g:678:3: ( (lv_head_1_0= ruleExpression ) )
1473 break; 1859 // InternalSolverLanguage.g:679:4: (lv_head_1_0= ruleExpression )
1474 case 2 : 1860 {
1475 // InternalSolverLanguage.g:520:3: this_PartialitySymbol_1= rulePartialitySymbol 1861 // InternalSolverLanguage.g:679:4: (lv_head_1_0= ruleExpression )
1476 { 1862 // InternalSolverLanguage.g:680:5: lv_head_1_0= ruleExpression
1863 {
1864 if ( state.backtracking==0 ) {
1477 1865
1478 newCompositeNode(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1()); 1866 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0());
1479 1867
1480 pushFollow(FOLLOW_2); 1868 }
1481 this_PartialitySymbol_1=rulePartialitySymbol(); 1869 pushFollow(FOLLOW_13);
1870 lv_head_1_0=ruleExpression();
1482 1871
1483 state._fsp--; 1872 state._fsp--;
1873 if (state.failed) return current;
1874 if ( state.backtracking==0 ) {
1484 1875
1876 if (current==null) {
1877 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
1878 }
1879 set(
1880 current,
1881 "head",
1882 lv_head_1_0,
1883 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1884 afterParserOrEnumRuleCall();
1885
1886 }
1485 1887
1486 current = this_PartialitySymbol_1; 1888 }
1487 afterParserOrEnumRuleCall();
1488
1489 1889
1490 }
1491 break;
1492 case 3 :
1493 // InternalSolverLanguage.g:529:3: this_DataSymbol_2= ruleDataSymbol
1494 {
1495 1890
1496 newCompositeNode(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2()); 1891 }
1497
1498 pushFollow(FOLLOW_2);
1499 this_DataSymbol_2=ruleDataSymbol();
1500 1892
1501 state._fsp--; 1893 otherlv_2=(Token)match(input,17,FOLLOW_6); if (state.failed) return current;
1894 if ( state.backtracking==0 ) {
1895
1896 newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2());
1897
1898 }
1899 // InternalSolverLanguage.g:701:3: ( (lv_body_3_0= ruleExpression ) )
1900 // InternalSolverLanguage.g:702:4: (lv_body_3_0= ruleExpression )
1901 {
1902 // InternalSolverLanguage.g:702:4: (lv_body_3_0= ruleExpression )
1903 // InternalSolverLanguage.g:703:5: lv_body_3_0= ruleExpression
1904 {
1905 if ( state.backtracking==0 ) {
1502 1906
1907 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
1908
1909 }
1910 pushFollow(FOLLOW_2);
1911 lv_body_3_0=ruleExpression();
1503 1912
1504 current = this_DataSymbol_2; 1913 state._fsp--;
1505 afterParserOrEnumRuleCall(); 1914 if (state.failed) return current;
1506 1915 if ( state.backtracking==0 ) {
1507 1916
1508 } 1917 if (current==null) {
1509 break; 1918 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
1919 }
1920 set(
1921 current,
1922 "body",
1923 lv_body_3_0,
1924 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1925 afterParserOrEnumRuleCall();
1926
1927 }
1510 1928
1511 } 1929 }
1512 1930
@@ -1514,8 +1932,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1514 } 1932 }
1515 1933
1516 1934
1517 leaveRule(); 1935 }
1936
1937
1938 }
1518 1939
1940 if ( state.backtracking==0 ) {
1941
1942 leaveRule();
1943
1944 }
1519 } 1945 }
1520 1946
1521 catch (RecognitionException re) { 1947 catch (RecognitionException re) {
@@ -1526,29 +1952,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1526 } 1952 }
1527 return current; 1953 return current;
1528 } 1954 }
1529 // $ANTLR end "ruleSymbol" 1955 // $ANTLR end "ruleMetricDefinition"
1530 1956
1531 1957
1532 // $ANTLR start "entryRuleModelSymbol" 1958 // $ANTLR start "entryRuleExternMetricDefinition"
1533 // InternalSolverLanguage.g:541:1: entryRuleModelSymbol returns [EObject current=null] : iv_ruleModelSymbol= ruleModelSymbol EOF ; 1959 // InternalSolverLanguage.g:724:1: entryRuleExternMetricDefinition returns [EObject current=null] : iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ;
1534 public final EObject entryRuleModelSymbol() throws RecognitionException { 1960 public final EObject entryRuleExternMetricDefinition() throws RecognitionException {
1535 EObject current = null; 1961 EObject current = null;
1536 1962
1537 EObject iv_ruleModelSymbol = null; 1963 EObject iv_ruleExternMetricDefinition = null;
1538 1964
1539 1965
1540 try { 1966 try {
1541 // InternalSolverLanguage.g:541:52: (iv_ruleModelSymbol= ruleModelSymbol EOF ) 1967 // InternalSolverLanguage.g:724:63: (iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF )
1542 // InternalSolverLanguage.g:542:2: iv_ruleModelSymbol= ruleModelSymbol EOF 1968 // InternalSolverLanguage.g:725:2: iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF
1543 { 1969 {
1544 newCompositeNode(grammarAccess.getModelSymbolRule()); 1970 if ( state.backtracking==0 ) {
1971 newCompositeNode(grammarAccess.getExternMetricDefinitionRule());
1972 }
1545 pushFollow(FOLLOW_1); 1973 pushFollow(FOLLOW_1);
1546 iv_ruleModelSymbol=ruleModelSymbol(); 1974 iv_ruleExternMetricDefinition=ruleExternMetricDefinition();
1547 1975
1548 state._fsp--; 1976 state._fsp--;
1549 1977 if (state.failed) return current;
1550 current =iv_ruleModelSymbol; 1978 if ( state.backtracking==0 ) {
1551 match(input,EOF,FOLLOW_2); 1979 current =iv_ruleExternMetricDefinition;
1980 }
1981 match(input,EOF,FOLLOW_2); if (state.failed) return current;
1552 1982
1553 } 1983 }
1554 1984
@@ -1562,43 +1992,103 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1562 } 1992 }
1563 return current; 1993 return current;
1564 } 1994 }
1565 // $ANTLR end "entryRuleModelSymbol" 1995 // $ANTLR end "entryRuleExternMetricDefinition"
1566 1996
1567 1997
1568 // $ANTLR start "ruleModelSymbol" 1998 // $ANTLR start "ruleExternMetricDefinition"
1569 // InternalSolverLanguage.g:548:1: ruleModelSymbol returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; 1999 // InternalSolverLanguage.g:731:1: ruleExternMetricDefinition returns [EObject current=null] : (otherlv_0= 'extern' ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) ;
1570 public final EObject ruleModelSymbol() throws RecognitionException { 2000 public final EObject ruleExternMetricDefinition() throws RecognitionException {
1571 EObject current = null; 2001 EObject current = null;
1572 2002
1573 Token lv_name_0_0=null; 2003 Token otherlv_0=null;
2004 Enumerator lv_type_1_0 = null;
2005
2006 EObject lv_head_2_0 = null;
2007
1574 2008
1575 2009
1576 enterRule(); 2010 enterRule();
1577 2011
1578 try { 2012 try {
1579 // InternalSolverLanguage.g:554:2: ( ( (lv_name_0_0= RULE_ID ) ) ) 2013 // InternalSolverLanguage.g:737:2: ( (otherlv_0= 'extern' ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) )
1580 // InternalSolverLanguage.g:555:2: ( (lv_name_0_0= RULE_ID ) ) 2014 // InternalSolverLanguage.g:738:2: (otherlv_0= 'extern' ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) )
1581 { 2015 {
1582 // InternalSolverLanguage.g:555:2: ( (lv_name_0_0= RULE_ID ) ) 2016 // InternalSolverLanguage.g:738:2: (otherlv_0= 'extern' ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) )
1583 // InternalSolverLanguage.g:556:3: (lv_name_0_0= RULE_ID ) 2017 // InternalSolverLanguage.g:739:3: otherlv_0= 'extern' ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) )
2018 {
2019 otherlv_0=(Token)match(input,21,FOLLOW_14); if (state.failed) return current;
2020 if ( state.backtracking==0 ) {
2021
2022 newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0());
2023
2024 }
2025 // InternalSolverLanguage.g:743:3: ( (lv_type_1_0= ruleMetricType ) )
2026 // InternalSolverLanguage.g:744:4: (lv_type_1_0= ruleMetricType )
2027 {
2028 // InternalSolverLanguage.g:744:4: (lv_type_1_0= ruleMetricType )
2029 // InternalSolverLanguage.g:745:5: lv_type_1_0= ruleMetricType
2030 {
2031 if ( state.backtracking==0 ) {
2032
2033 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0());
2034
2035 }
2036 pushFollow(FOLLOW_7);
2037 lv_type_1_0=ruleMetricType();
2038
2039 state._fsp--;
2040 if (state.failed) return current;
2041 if ( state.backtracking==0 ) {
2042
2043 if (current==null) {
2044 current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule());
2045 }
2046 set(
2047 current,
2048 "type",
2049 lv_type_1_0,
2050 "org.eclipse.viatra.solver.language.SolverLanguage.MetricType");
2051 afterParserOrEnumRuleCall();
2052
2053 }
2054
2055 }
2056
2057
2058 }
2059
2060 // InternalSolverLanguage.g:762:3: ( (lv_head_2_0= ruleCall ) )
2061 // InternalSolverLanguage.g:763:4: (lv_head_2_0= ruleCall )
1584 { 2062 {
1585 // InternalSolverLanguage.g:556:3: (lv_name_0_0= RULE_ID ) 2063 // InternalSolverLanguage.g:763:4: (lv_head_2_0= ruleCall )
1586 // InternalSolverLanguage.g:557:4: lv_name_0_0= RULE_ID 2064 // InternalSolverLanguage.g:764:5: lv_head_2_0= ruleCall
1587 { 2065 {
1588 lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2); 2066 if ( state.backtracking==0 ) {
2067
2068 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0());
2069
2070 }
2071 pushFollow(FOLLOW_2);
2072 lv_head_2_0=ruleCall();
2073
2074 state._fsp--;
2075 if (state.failed) return current;
2076 if ( state.backtracking==0 ) {
2077
2078 if (current==null) {
2079 current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule());
2080 }
2081 set(
2082 current,
2083 "head",
2084 lv_head_2_0,
2085 "org.eclipse.viatra.solver.language.SolverLanguage.Call");
2086 afterParserOrEnumRuleCall();
2087
2088 }
1589 2089
1590 newLeafNode(lv_name_0_0, grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0()); 2090 }
1591
1592 2091
1593 if (current==null) {
1594 current = createModelElement(grammarAccess.getModelSymbolRule());
1595 }
1596 setWithLastConsumed(
1597 current,
1598 "name",
1599 lv_name_0_0,
1600 "org.eclipse.xtext.common.Terminals.ID");
1601
1602 2092
1603 } 2093 }
1604 2094
@@ -1608,9 +2098,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1608 2098
1609 } 2099 }
1610 2100
2101 if ( state.backtracking==0 ) {
1611 2102
1612 leaveRule(); 2103 leaveRule();
1613 2104
2105 }
1614 } 2106 }
1615 2107
1616 catch (RecognitionException re) { 2108 catch (RecognitionException re) {
@@ -1621,29 +2113,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1621 } 2113 }
1622 return current; 2114 return current;
1623 } 2115 }
1624 // $ANTLR end "ruleModelSymbol" 2116 // $ANTLR end "ruleExternMetricDefinition"
1625 2117
1626 2118
1627 // $ANTLR start "entryRulePartialitySymbol" 2119 // $ANTLR start "entryRuleExpression"
1628 // InternalSolverLanguage.g:576:1: entryRulePartialitySymbol returns [EObject current=null] : iv_rulePartialitySymbol= rulePartialitySymbol EOF ; 2120 // InternalSolverLanguage.g:785:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ;
1629 public final EObject entryRulePartialitySymbol() throws RecognitionException { 2121 public final EObject entryRuleExpression() throws RecognitionException {
1630 EObject current = null; 2122 EObject current = null;
1631 2123
1632 EObject iv_rulePartialitySymbol = null; 2124 EObject iv_ruleExpression = null;
1633 2125
1634 2126
1635 try { 2127 try {
1636 // InternalSolverLanguage.g:576:57: (iv_rulePartialitySymbol= rulePartialitySymbol EOF ) 2128 // InternalSolverLanguage.g:785:51: (iv_ruleExpression= ruleExpression EOF )
1637 // InternalSolverLanguage.g:577:2: iv_rulePartialitySymbol= rulePartialitySymbol EOF 2129 // InternalSolverLanguage.g:786:2: iv_ruleExpression= ruleExpression EOF
1638 { 2130 {
1639 newCompositeNode(grammarAccess.getPartialitySymbolRule()); 2131 if ( state.backtracking==0 ) {
2132 newCompositeNode(grammarAccess.getExpressionRule());
2133 }
1640 pushFollow(FOLLOW_1); 2134 pushFollow(FOLLOW_1);
1641 iv_rulePartialitySymbol=rulePartialitySymbol(); 2135 iv_ruleExpression=ruleExpression();
1642 2136
1643 state._fsp--; 2137 state._fsp--;
1644 2138 if (state.failed) return current;
1645 current =iv_rulePartialitySymbol; 2139 if ( state.backtracking==0 ) {
1646 match(input,EOF,FOLLOW_2); 2140 current =iv_ruleExpression;
2141 }
2142 match(input,EOF,FOLLOW_2); if (state.failed) return current;
1647 2143
1648 } 2144 }
1649 2145
@@ -1657,76 +2153,85 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1657 } 2153 }
1658 return current; 2154 return current;
1659 } 2155 }
1660 // $ANTLR end "entryRulePartialitySymbol" 2156 // $ANTLR end "entryRuleExpression"
1661 2157
1662 2158
1663 // $ANTLR start "rulePartialitySymbol" 2159 // $ANTLR start "ruleExpression"
1664 // InternalSolverLanguage.g:583:1: rulePartialitySymbol returns [EObject current=null] : (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) ; 2160 // InternalSolverLanguage.g:792:1: ruleExpression returns [EObject current=null] : (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) ;
1665 public final EObject rulePartialitySymbol() throws RecognitionException { 2161 public final EObject ruleExpression() throws RecognitionException {
1666 EObject current = null; 2162 EObject current = null;
1667 2163
1668 EObject this_ExistSymbol_0 = null; 2164 EObject this_IfElse_0 = null;
1669 2165
1670 EObject this_EqualsSymbol_1 = null; 2166 EObject this_DisjunctiveExpression_1 = null;
1671 2167
1672 2168
1673 2169
1674 enterRule(); 2170 enterRule();
1675 2171
1676 try { 2172 try {
1677 // InternalSolverLanguage.g:589:2: ( (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) ) 2173 // InternalSolverLanguage.g:798:2: ( (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) )
1678 // InternalSolverLanguage.g:590:2: (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) 2174 // InternalSolverLanguage.g:799:2: (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression )
1679 { 2175 {
1680 // InternalSolverLanguage.g:590:2: (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) 2176 // InternalSolverLanguage.g:799:2: (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression )
1681 int alt12=2; 2177 int alt8=2;
1682 int LA12_0 = input.LA(1); 2178 int LA8_0 = input.LA(1);
1683 2179
1684 if ( (LA12_0==21) ) { 2180 if ( (LA8_0==23) ) {
1685 alt12=1; 2181 alt8=1;
1686 } 2182 }
1687 else if ( (LA12_0==22) ) { 2183 else if ( ((LA8_0>=RULE_STRING && LA8_0<=RULE_QUOTED_ID)||LA8_0==19||LA8_0==29||LA8_0==33||LA8_0==36||(LA8_0>=39 && LA8_0<=40)||(LA8_0>=56 && LA8_0<=57)||(LA8_0>=60 && LA8_0<=72)) ) {
1688 alt12=2; 2184 alt8=2;
1689 } 2185 }
1690 else { 2186 else {
2187 if (state.backtracking>0) {state.failed=true; return current;}
1691 NoViableAltException nvae = 2188 NoViableAltException nvae =
1692 new NoViableAltException("", 12, 0, input); 2189 new NoViableAltException("", 8, 0, input);
1693 2190
1694 throw nvae; 2191 throw nvae;
1695 } 2192 }
1696 switch (alt12) { 2193 switch (alt8) {
1697 case 1 : 2194 case 1 :
1698 // InternalSolverLanguage.g:591:3: this_ExistSymbol_0= ruleExistSymbol 2195 // InternalSolverLanguage.g:800:3: this_IfElse_0= ruleIfElse
1699 { 2196 {
2197 if ( state.backtracking==0 ) {
1700 2198
1701 newCompositeNode(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0()); 2199 newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0());
1702 2200
2201 }
1703 pushFollow(FOLLOW_2); 2202 pushFollow(FOLLOW_2);
1704 this_ExistSymbol_0=ruleExistSymbol(); 2203 this_IfElse_0=ruleIfElse();
1705 2204
1706 state._fsp--; 2205 state._fsp--;
2206 if (state.failed) return current;
2207 if ( state.backtracking==0 ) {
1707 2208
1708 2209 current = this_IfElse_0;
1709 current = this_ExistSymbol_0; 2210 afterParserOrEnumRuleCall();
1710 afterParserOrEnumRuleCall(); 2211
1711 2212 }
1712 2213
1713 } 2214 }
1714 break; 2215 break;
1715 case 2 : 2216 case 2 :
1716 // InternalSolverLanguage.g:600:3: this_EqualsSymbol_1= ruleEqualsSymbol 2217 // InternalSolverLanguage.g:809:3: this_DisjunctiveExpression_1= ruleDisjunctiveExpression
1717 { 2218 {
2219 if ( state.backtracking==0 ) {
1718 2220
1719 newCompositeNode(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1()); 2221 newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1());
1720 2222
2223 }
1721 pushFollow(FOLLOW_2); 2224 pushFollow(FOLLOW_2);
1722 this_EqualsSymbol_1=ruleEqualsSymbol(); 2225 this_DisjunctiveExpression_1=ruleDisjunctiveExpression();
1723 2226
1724 state._fsp--; 2227 state._fsp--;
2228 if (state.failed) return current;
2229 if ( state.backtracking==0 ) {
1725 2230
1726 2231 current = this_DisjunctiveExpression_1;
1727 current = this_EqualsSymbol_1; 2232 afterParserOrEnumRuleCall();
1728 afterParserOrEnumRuleCall(); 2233
1729 2234 }
1730 2235
1731 } 2236 }
1732 break; 2237 break;
@@ -1736,9 +2241,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1736 2241
1737 } 2242 }
1738 2243
2244 if ( state.backtracking==0 ) {
1739 2245
1740 leaveRule(); 2246 leaveRule();
1741 2247
2248 }
1742 } 2249 }
1743 2250
1744 catch (RecognitionException re) { 2251 catch (RecognitionException re) {
@@ -1749,29 +2256,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1749 } 2256 }
1750 return current; 2257 return current;
1751 } 2258 }
1752 // $ANTLR end "rulePartialitySymbol" 2259 // $ANTLR end "ruleExpression"
1753 2260
1754 2261
1755 // $ANTLR start "entryRuleExistSymbol" 2262 // $ANTLR start "entryRuleIfElse"
1756 // InternalSolverLanguage.g:612:1: entryRuleExistSymbol returns [EObject current=null] : iv_ruleExistSymbol= ruleExistSymbol EOF ; 2263 // InternalSolverLanguage.g:821:1: entryRuleIfElse returns [EObject current=null] : iv_ruleIfElse= ruleIfElse EOF ;
1757 public final EObject entryRuleExistSymbol() throws RecognitionException { 2264 public final EObject entryRuleIfElse() throws RecognitionException {
1758 EObject current = null; 2265 EObject current = null;
1759 2266
1760 EObject iv_ruleExistSymbol = null; 2267 EObject iv_ruleIfElse = null;
1761 2268
1762 2269
1763 try { 2270 try {
1764 // InternalSolverLanguage.g:612:52: (iv_ruleExistSymbol= ruleExistSymbol EOF ) 2271 // InternalSolverLanguage.g:821:47: (iv_ruleIfElse= ruleIfElse EOF )
1765 // InternalSolverLanguage.g:613:2: iv_ruleExistSymbol= ruleExistSymbol EOF 2272 // InternalSolverLanguage.g:822:2: iv_ruleIfElse= ruleIfElse EOF
1766 { 2273 {
1767 newCompositeNode(grammarAccess.getExistSymbolRule()); 2274 if ( state.backtracking==0 ) {
2275 newCompositeNode(grammarAccess.getIfElseRule());
2276 }
1768 pushFollow(FOLLOW_1); 2277 pushFollow(FOLLOW_1);
1769 iv_ruleExistSymbol=ruleExistSymbol(); 2278 iv_ruleIfElse=ruleIfElse();
1770 2279
1771 state._fsp--; 2280 state._fsp--;
1772 2281 if (state.failed) return current;
1773 current =iv_ruleExistSymbol; 2282 if ( state.backtracking==0 ) {
1774 match(input,EOF,FOLLOW_2); 2283 current =iv_ruleIfElse;
2284 }
2285 match(input,EOF,FOLLOW_2); if (state.failed) return current;
1775 2286
1776 } 2287 }
1777 2288
@@ -1785,50 +2296,168 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1785 } 2296 }
1786 return current; 2297 return current;
1787 } 2298 }
1788 // $ANTLR end "entryRuleExistSymbol" 2299 // $ANTLR end "entryRuleIfElse"
1789 2300
1790 2301
1791 // $ANTLR start "ruleExistSymbol" 2302 // $ANTLR start "ruleIfElse"
1792 // InternalSolverLanguage.g:619:1: ruleExistSymbol returns [EObject current=null] : (otherlv_0= 'exists' () ) ; 2303 // InternalSolverLanguage.g:828: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 ) ) ) ;
1793 public final EObject ruleExistSymbol() throws RecognitionException { 2304 public final EObject ruleIfElse() throws RecognitionException {
1794 EObject current = null; 2305 EObject current = null;
1795 2306
1796 Token otherlv_0=null; 2307 Token otherlv_0=null;
2308 Token otherlv_2=null;
2309 Token otherlv_4=null;
2310 EObject lv_condition_1_0 = null;
2311
2312 EObject lv_then_3_0 = null;
2313
2314 EObject lv_else_5_0 = null;
2315
1797 2316
1798 2317
1799 enterRule(); 2318 enterRule();
1800 2319
1801 try { 2320 try {
1802 // InternalSolverLanguage.g:625:2: ( (otherlv_0= 'exists' () ) ) 2321 // InternalSolverLanguage.g:834: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 ) ) ) )
1803 // InternalSolverLanguage.g:626:2: (otherlv_0= 'exists' () ) 2322 // InternalSolverLanguage.g:835: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 ) ) )
1804 { 2323 {
1805 // InternalSolverLanguage.g:626:2: (otherlv_0= 'exists' () ) 2324 // InternalSolverLanguage.g:835: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 ) ) )
1806 // InternalSolverLanguage.g:627:3: otherlv_0= 'exists' () 2325 // InternalSolverLanguage.g:836: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 ) )
1807 { 2326 {
1808 otherlv_0=(Token)match(input,21,FOLLOW_2); 2327 otherlv_0=(Token)match(input,23,FOLLOW_6); if (state.failed) return current;
2328 if ( state.backtracking==0 ) {
1809 2329
1810 newLeafNode(otherlv_0, grammarAccess.getExistSymbolAccess().getExistsKeyword_0()); 2330 newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0());
1811 2331
1812 // InternalSolverLanguage.g:631:3: () 2332 }
1813 // InternalSolverLanguage.g:632:4: 2333 // InternalSolverLanguage.g:840:3: ( (lv_condition_1_0= ruleExpression ) )
2334 // InternalSolverLanguage.g:841:4: (lv_condition_1_0= ruleExpression )
1814 { 2335 {
2336 // InternalSolverLanguage.g:841:4: (lv_condition_1_0= ruleExpression )
2337 // InternalSolverLanguage.g:842:5: lv_condition_1_0= ruleExpression
2338 {
2339 if ( state.backtracking==0 ) {
2340
2341 newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0());
2342
2343 }
2344 pushFollow(FOLLOW_15);
2345 lv_condition_1_0=ruleExpression();
2346
2347 state._fsp--;
2348 if (state.failed) return current;
2349 if ( state.backtracking==0 ) {
2350
2351 if (current==null) {
2352 current = createModelElementForParent(grammarAccess.getIfElseRule());
2353 }
2354 set(
2355 current,
2356 "condition",
2357 lv_condition_1_0,
2358 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
2359 afterParserOrEnumRuleCall();
2360
2361 }
2362
2363 }
1815 2364
1816 current = forceCreateModelElement(
1817 grammarAccess.getExistSymbolAccess().getExistSymbolAction_1(),
1818 current);
1819
1820 2365
1821 } 2366 }
1822 2367
2368 otherlv_2=(Token)match(input,24,FOLLOW_6); if (state.failed) return current;
2369 if ( state.backtracking==0 ) {
1823 2370
2371 newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2());
2372
1824 } 2373 }
2374 // InternalSolverLanguage.g:863:3: ( (lv_then_3_0= ruleExpression ) )
2375 // InternalSolverLanguage.g:864:4: (lv_then_3_0= ruleExpression )
2376 {
2377 // InternalSolverLanguage.g:864:4: (lv_then_3_0= ruleExpression )
2378 // InternalSolverLanguage.g:865:5: lv_then_3_0= ruleExpression
2379 {
2380 if ( state.backtracking==0 ) {
2381
2382 newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0());
2383
2384 }
2385 pushFollow(FOLLOW_16);
2386 lv_then_3_0=ruleExpression();
1825 2387
2388 state._fsp--;
2389 if (state.failed) return current;
2390 if ( state.backtracking==0 ) {
2391
2392 if (current==null) {
2393 current = createModelElementForParent(grammarAccess.getIfElseRule());
2394 }
2395 set(
2396 current,
2397 "then",
2398 lv_then_3_0,
2399 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
2400 afterParserOrEnumRuleCall();
2401
2402 }
1826 2403
1827 } 2404 }
1828 2405
1829 2406
1830 leaveRule(); 2407 }
1831 2408
2409 otherlv_4=(Token)match(input,25,FOLLOW_6); if (state.failed) return current;
2410 if ( state.backtracking==0 ) {
2411
2412 newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4());
2413
2414 }
2415 // InternalSolverLanguage.g:886:3: ( (lv_else_5_0= ruleExpression ) )
2416 // InternalSolverLanguage.g:887:4: (lv_else_5_0= ruleExpression )
2417 {
2418 // InternalSolverLanguage.g:887:4: (lv_else_5_0= ruleExpression )
2419 // InternalSolverLanguage.g:888:5: lv_else_5_0= ruleExpression
2420 {
2421 if ( state.backtracking==0 ) {
2422
2423 newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0());
2424
2425 }
2426 pushFollow(FOLLOW_2);
2427 lv_else_5_0=ruleExpression();
2428
2429 state._fsp--;
2430 if (state.failed) return current;
2431 if ( state.backtracking==0 ) {
2432
2433 if (current==null) {
2434 current = createModelElementForParent(grammarAccess.getIfElseRule());
2435 }
2436 set(
2437 current,
2438 "else",
2439 lv_else_5_0,
2440 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
2441 afterParserOrEnumRuleCall();
2442
2443 }
2444
2445 }
2446
2447
2448 }
2449
2450
2451 }
2452
2453
2454 }
2455
2456 if ( state.backtracking==0 ) {
2457
2458 leaveRule();
2459
2460 }
1832 } 2461 }
1833 2462
1834 catch (RecognitionException re) { 2463 catch (RecognitionException re) {
@@ -1839,29 +2468,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1839 } 2468 }
1840 return current; 2469 return current;
1841 } 2470 }
1842 // $ANTLR end "ruleExistSymbol" 2471 // $ANTLR end "ruleIfElse"
1843 2472
1844 2473
1845 // $ANTLR start "entryRuleEqualsSymbol" 2474 // $ANTLR start "entryRuleDisjunctiveExpression"
1846 // InternalSolverLanguage.g:642:1: entryRuleEqualsSymbol returns [EObject current=null] : iv_ruleEqualsSymbol= ruleEqualsSymbol EOF ; 2475 // InternalSolverLanguage.g:909:1: entryRuleDisjunctiveExpression returns [EObject current=null] : iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ;
1847 public final EObject entryRuleEqualsSymbol() throws RecognitionException { 2476 public final EObject entryRuleDisjunctiveExpression() throws RecognitionException {
1848 EObject current = null; 2477 EObject current = null;
1849 2478
1850 EObject iv_ruleEqualsSymbol = null; 2479 EObject iv_ruleDisjunctiveExpression = null;
1851 2480
1852 2481
1853 try { 2482 try {
1854 // InternalSolverLanguage.g:642:53: (iv_ruleEqualsSymbol= ruleEqualsSymbol EOF ) 2483 // InternalSolverLanguage.g:909:62: (iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF )
1855 // InternalSolverLanguage.g:643:2: iv_ruleEqualsSymbol= ruleEqualsSymbol EOF 2484 // InternalSolverLanguage.g:910:2: iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF
1856 { 2485 {
1857 newCompositeNode(grammarAccess.getEqualsSymbolRule()); 2486 if ( state.backtracking==0 ) {
2487 newCompositeNode(grammarAccess.getDisjunctiveExpressionRule());
2488 }
1858 pushFollow(FOLLOW_1); 2489 pushFollow(FOLLOW_1);
1859 iv_ruleEqualsSymbol=ruleEqualsSymbol(); 2490 iv_ruleDisjunctiveExpression=ruleDisjunctiveExpression();
1860 2491
1861 state._fsp--; 2492 state._fsp--;
1862 2493 if (state.failed) return current;
1863 current =iv_ruleEqualsSymbol; 2494 if ( state.backtracking==0 ) {
1864 match(input,EOF,FOLLOW_2); 2495 current =iv_ruleDisjunctiveExpression;
2496 }
2497 match(input,EOF,FOLLOW_2); if (state.failed) return current;
1865 2498
1866 } 2499 }
1867 2500
@@ -1875,38 +2508,303 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1875 } 2508 }
1876 return current; 2509 return current;
1877 } 2510 }
1878 // $ANTLR end "entryRuleEqualsSymbol" 2511 // $ANTLR end "entryRuleDisjunctiveExpression"
1879 2512
1880 2513
1881 // $ANTLR start "ruleEqualsSymbol" 2514 // $ANTLR start "ruleDisjunctiveExpression"
1882 // InternalSolverLanguage.g:649:1: ruleEqualsSymbol returns [EObject current=null] : (otherlv_0= 'equals' () ) ; 2515 // InternalSolverLanguage.g:916:1: ruleDisjunctiveExpression returns [EObject current=null] : (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) ;
1883 public final EObject ruleEqualsSymbol() throws RecognitionException { 2516 public final EObject ruleDisjunctiveExpression() throws RecognitionException {
1884 EObject current = null; 2517 EObject current = null;
1885 2518
1886 Token otherlv_0=null; 2519 Token otherlv_2=null;
2520 Token otherlv_5=null;
2521 Token otherlv_8=null;
2522 EObject this_ConjunctiveExpression_0 = null;
2523
2524 EObject lv_children_3_0 = null;
2525
2526 EObject lv_body_6_0 = null;
2527
2528 EObject lv_cases_9_0 = null;
2529
1887 2530
1888 2531
1889 enterRule(); 2532 enterRule();
1890 2533
1891 try { 2534 try {
1892 // InternalSolverLanguage.g:655:2: ( (otherlv_0= 'equals' () ) ) 2535 // InternalSolverLanguage.g:922:2: ( (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) )
1893 // InternalSolverLanguage.g:656:2: (otherlv_0= 'equals' () ) 2536 // InternalSolverLanguage.g:923:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* ) )? )
1894 { 2537 {
1895 // InternalSolverLanguage.g:656:2: (otherlv_0= 'equals' () ) 2538 // InternalSolverLanguage.g:923:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* ) )? )
1896 // InternalSolverLanguage.g:657:3: otherlv_0= 'equals' () 2539 // InternalSolverLanguage.g:924:3: this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* ) )?
1897 { 2540 {
1898 otherlv_0=(Token)match(input,22,FOLLOW_2); 2541 if ( state.backtracking==0 ) {
1899 2542
1900 newLeafNode(otherlv_0, grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0()); 2543 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0());
1901 2544
1902 // InternalSolverLanguage.g:661:3: () 2545 }
1903 // InternalSolverLanguage.g:662:4: 2546 pushFollow(FOLLOW_17);
1904 { 2547 this_ConjunctiveExpression_0=ruleConjunctiveExpression();
2548
2549 state._fsp--;
2550 if (state.failed) return current;
2551 if ( state.backtracking==0 ) {
2552
2553 current = this_ConjunctiveExpression_0;
2554 afterParserOrEnumRuleCall();
2555
2556 }
2557 // InternalSolverLanguage.g:932:3: ( ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* ) )?
2558 int alt11=3;
2559 int LA11_0 = input.LA(1);
2560
2561 if ( (LA11_0==26) ) {
2562 alt11=1;
2563 }
2564 else if ( (LA11_0==27) ) {
2565 alt11=2;
2566 }
2567 switch (alt11) {
2568 case 1 :
2569 // InternalSolverLanguage.g:933:4: ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ )
2570 {
2571 // InternalSolverLanguage.g:933:4: ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ )
2572 // InternalSolverLanguage.g:934:5: () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+
2573 {
2574 // InternalSolverLanguage.g:934:5: ()
2575 // InternalSolverLanguage.g:935:6:
2576 {
2577 if ( state.backtracking==0 ) {
2578
2579 current = forceCreateModelElementAndAdd(
2580 grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0(),
2581 current);
2582
2583 }
2584
2585 }
2586
2587 // InternalSolverLanguage.g:941:5: (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+
2588 int cnt9=0;
2589 loop9:
2590 do {
2591 int alt9=2;
2592 int LA9_0 = input.LA(1);
2593
2594 if ( (LA9_0==26) ) {
2595 alt9=1;
2596 }
2597
2598
2599 switch (alt9) {
2600 case 1 :
2601 // InternalSolverLanguage.g:942:6: otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) )
2602 {
2603 otherlv_2=(Token)match(input,26,FOLLOW_6); if (state.failed) return current;
2604 if ( state.backtracking==0 ) {
2605
2606 newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0());
2607
2608 }
2609 // InternalSolverLanguage.g:946:6: ( (lv_children_3_0= ruleConjunctiveExpression ) )
2610 // InternalSolverLanguage.g:947:7: (lv_children_3_0= ruleConjunctiveExpression )
2611 {
2612 // InternalSolverLanguage.g:947:7: (lv_children_3_0= ruleConjunctiveExpression )
2613 // InternalSolverLanguage.g:948:8: lv_children_3_0= ruleConjunctiveExpression
2614 {
2615 if ( state.backtracking==0 ) {
2616
2617 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0());
2618
2619 }
2620 pushFollow(FOLLOW_18);
2621 lv_children_3_0=ruleConjunctiveExpression();
2622
2623 state._fsp--;
2624 if (state.failed) return current;
2625 if ( state.backtracking==0 ) {
2626
2627 if (current==null) {
2628 current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule());
2629 }
2630 add(
2631 current,
2632 "children",
2633 lv_children_3_0,
2634 "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression");
2635 afterParserOrEnumRuleCall();
2636
2637 }
2638
2639 }
2640
2641
2642 }
2643
2644
2645 }
2646 break;
2647
2648 default :
2649 if ( cnt9 >= 1 ) break loop9;
2650 if (state.backtracking>0) {state.failed=true; return current;}
2651 EarlyExitException eee =
2652 new EarlyExitException(9, input);
2653 throw eee;
2654 }
2655 cnt9++;
2656 } while (true);
2657
2658
2659 }
2660
2661
2662 }
2663 break;
2664 case 2 :
2665 // InternalSolverLanguage.g:968:4: ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* )
2666 {
2667 // InternalSolverLanguage.g:968:4: ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* )
2668 // InternalSolverLanguage.g:969:5: () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )*
2669 {
2670 // InternalSolverLanguage.g:969:5: ()
2671 // InternalSolverLanguage.g:970:6:
2672 {
2673 if ( state.backtracking==0 ) {
2674
2675 current = forceCreateModelElementAndSet(
2676 grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0(),
2677 current);
2678
2679 }
2680
2681 }
2682
2683 otherlv_5=(Token)match(input,27,FOLLOW_6); if (state.failed) return current;
2684 if ( state.backtracking==0 ) {
2685
2686 newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1());
2687
2688 }
2689 // InternalSolverLanguage.g:980:5: ( (lv_body_6_0= ruleConjunctiveExpression ) )
2690 // InternalSolverLanguage.g:981:6: (lv_body_6_0= ruleConjunctiveExpression )
2691 {
2692 // InternalSolverLanguage.g:981:6: (lv_body_6_0= ruleConjunctiveExpression )
2693 // InternalSolverLanguage.g:982:7: lv_body_6_0= ruleConjunctiveExpression
2694 {
2695 if ( state.backtracking==0 ) {
2696
2697 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0());
2698
2699 }
2700 pushFollow(FOLLOW_18);
2701 lv_body_6_0=ruleConjunctiveExpression();
2702
2703 state._fsp--;
2704 if (state.failed) return current;
2705 if ( state.backtracking==0 ) {
2706
2707 if (current==null) {
2708 current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule());
2709 }
2710 set(
2711 current,
2712 "body",
2713 lv_body_6_0,
2714 "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression");
2715 afterParserOrEnumRuleCall();
2716
2717 }
2718
2719 }
2720
2721
2722 }
2723
2724 // InternalSolverLanguage.g:999:5: ()
2725 // InternalSolverLanguage.g:1000:6:
2726 {
2727 if ( state.backtracking==0 ) {
2728
2729 current = forceCreateModelElementAndAdd(
2730 grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3(),
2731 current);
2732
2733 }
2734
2735 }
2736
2737 // InternalSolverLanguage.g:1006:5: (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )*
2738 loop10:
2739 do {
2740 int alt10=2;
2741 int LA10_0 = input.LA(1);
2742
2743 if ( (LA10_0==26) ) {
2744 alt10=1;
2745 }
2746
2747
2748 switch (alt10) {
2749 case 1 :
2750 // InternalSolverLanguage.g:1007:6: otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) )
2751 {
2752 otherlv_8=(Token)match(input,26,FOLLOW_6); if (state.failed) return current;
2753 if ( state.backtracking==0 ) {
2754
2755 newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0());
2756
2757 }
2758 // InternalSolverLanguage.g:1011:6: ( (lv_cases_9_0= ruleCase ) )
2759 // InternalSolverLanguage.g:1012:7: (lv_cases_9_0= ruleCase )
2760 {
2761 // InternalSolverLanguage.g:1012:7: (lv_cases_9_0= ruleCase )
2762 // InternalSolverLanguage.g:1013:8: lv_cases_9_0= ruleCase
2763 {
2764 if ( state.backtracking==0 ) {
2765
2766 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0());
2767
2768 }
2769 pushFollow(FOLLOW_18);
2770 lv_cases_9_0=ruleCase();
2771
2772 state._fsp--;
2773 if (state.failed) return current;
2774 if ( state.backtracking==0 ) {
2775
2776 if (current==null) {
2777 current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule());
2778 }
2779 add(
2780 current,
2781 "cases",
2782 lv_cases_9_0,
2783 "org.eclipse.viatra.solver.language.SolverLanguage.Case");
2784 afterParserOrEnumRuleCall();
2785
2786 }
2787
2788 }
2789
2790
2791 }
2792
2793
2794 }
2795 break;
2796
2797 default :
2798 break loop10;
2799 }
2800 } while (true);
1905 2801
1906 current = forceCreateModelElement( 2802
1907 grammarAccess.getEqualsSymbolAccess().getEqualsSymbolAction_1(), 2803 }
1908 current); 2804
1909 2805
2806 }
2807 break;
1910 2808
1911 } 2809 }
1912 2810
@@ -1916,9 +2814,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1916 2814
1917 } 2815 }
1918 2816
2817 if ( state.backtracking==0 ) {
1919 2818
1920 leaveRule(); 2819 leaveRule();
1921 2820
2821 }
1922 } 2822 }
1923 2823
1924 catch (RecognitionException re) { 2824 catch (RecognitionException re) {
@@ -1929,32 +2829,157 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1929 } 2829 }
1930 return current; 2830 return current;
1931 } 2831 }
1932 // $ANTLR end "ruleEqualsSymbol" 2832 // $ANTLR end "ruleDisjunctiveExpression"
1933 2833
1934 2834
1935 // $ANTLR start "entryRuleDataSymbol" 2835 // $ANTLR start "entryRuleCase"
1936 // InternalSolverLanguage.g:672:1: entryRuleDataSymbol returns [EObject current=null] : iv_ruleDataSymbol= ruleDataSymbol EOF ; 2836 // InternalSolverLanguage.g:1037:1: entryRuleCase returns [EObject current=null] : iv_ruleCase= ruleCase EOF ;
1937 public final EObject entryRuleDataSymbol() throws RecognitionException { 2837 public final EObject entryRuleCase() throws RecognitionException {
1938 EObject current = null; 2838 EObject current = null;
1939 2839
1940 EObject iv_ruleDataSymbol = null; 2840 EObject iv_ruleCase = null;
1941 2841
1942 2842
1943 try { 2843 try {
1944 // InternalSolverLanguage.g:672:51: (iv_ruleDataSymbol= ruleDataSymbol EOF ) 2844 // InternalSolverLanguage.g:1037:45: (iv_ruleCase= ruleCase EOF )
1945 // InternalSolverLanguage.g:673:2: iv_ruleDataSymbol= ruleDataSymbol EOF 2845 // InternalSolverLanguage.g:1038:2: iv_ruleCase= ruleCase EOF
1946 { 2846 {
1947 newCompositeNode(grammarAccess.getDataSymbolRule()); 2847 if ( state.backtracking==0 ) {
2848 newCompositeNode(grammarAccess.getCaseRule());
2849 }
1948 pushFollow(FOLLOW_1); 2850 pushFollow(FOLLOW_1);
1949 iv_ruleDataSymbol=ruleDataSymbol(); 2851 iv_ruleCase=ruleCase();
2852
2853 state._fsp--;
2854 if (state.failed) return current;
2855 if ( state.backtracking==0 ) {
2856 current =iv_ruleCase;
2857 }
2858 match(input,EOF,FOLLOW_2); if (state.failed) return current;
2859
2860 }
2861
2862 }
2863
2864 catch (RecognitionException re) {
2865 recover(input,re);
2866 appendSkippedTokens();
2867 }
2868 finally {
2869 }
2870 return current;
2871 }
2872 // $ANTLR end "entryRuleCase"
2873
2874
2875 // $ANTLR start "ruleCase"
2876 // InternalSolverLanguage.g:1044:1: ruleCase returns [EObject current=null] : ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= '->' ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ;
2877 public final EObject ruleCase() throws RecognitionException {
2878 EObject current = null;
2879
2880 Token otherlv_1=null;
2881 EObject lv_condition_0_0 = null;
2882
2883 EObject lv_body_2_0 = null;
2884
2885
2886
2887 enterRule();
2888
2889 try {
2890 // InternalSolverLanguage.g:1050:2: ( ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= '->' ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) )
2891 // InternalSolverLanguage.g:1051:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= '->' ( (lv_body_2_0= ruleConjunctiveExpression ) ) )
2892 {
2893 // InternalSolverLanguage.g:1051:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= '->' ( (lv_body_2_0= ruleConjunctiveExpression ) ) )
2894 // InternalSolverLanguage.g:1052:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= '->' ( (lv_body_2_0= ruleConjunctiveExpression ) )
2895 {
2896 // InternalSolverLanguage.g:1052:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) )
2897 // InternalSolverLanguage.g:1053:4: (lv_condition_0_0= ruleConjunctiveExpression )
2898 {
2899 // InternalSolverLanguage.g:1053:4: (lv_condition_0_0= ruleConjunctiveExpression )
2900 // InternalSolverLanguage.g:1054:5: lv_condition_0_0= ruleConjunctiveExpression
2901 {
2902 if ( state.backtracking==0 ) {
2903
2904 newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0());
2905
2906 }
2907 pushFollow(FOLLOW_19);
2908 lv_condition_0_0=ruleConjunctiveExpression();
1950 2909
1951 state._fsp--; 2910 state._fsp--;
2911 if (state.failed) return current;
2912 if ( state.backtracking==0 ) {
2913
2914 if (current==null) {
2915 current = createModelElementForParent(grammarAccess.getCaseRule());
2916 }
2917 set(
2918 current,
2919 "condition",
2920 lv_condition_0_0,
2921 "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression");
2922 afterParserOrEnumRuleCall();
2923
2924 }
2925
2926 }
2927
2928
2929 }
1952 2930
1953 current =iv_ruleDataSymbol; 2931 otherlv_1=(Token)match(input,27,FOLLOW_6); if (state.failed) return current;
1954 match(input,EOF,FOLLOW_2); 2932 if ( state.backtracking==0 ) {
1955 2933
2934 newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1());
2935
1956 } 2936 }
2937 // InternalSolverLanguage.g:1075:3: ( (lv_body_2_0= ruleConjunctiveExpression ) )
2938 // InternalSolverLanguage.g:1076:4: (lv_body_2_0= ruleConjunctiveExpression )
2939 {
2940 // InternalSolverLanguage.g:1076:4: (lv_body_2_0= ruleConjunctiveExpression )
2941 // InternalSolverLanguage.g:1077:5: lv_body_2_0= ruleConjunctiveExpression
2942 {
2943 if ( state.backtracking==0 ) {
2944
2945 newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0());
2946
2947 }
2948 pushFollow(FOLLOW_2);
2949 lv_body_2_0=ruleConjunctiveExpression();
2950
2951 state._fsp--;
2952 if (state.failed) return current;
2953 if ( state.backtracking==0 ) {
1957 2954
2955 if (current==null) {
2956 current = createModelElementForParent(grammarAccess.getCaseRule());
2957 }
2958 set(
2959 current,
2960 "body",
2961 lv_body_2_0,
2962 "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression");
2963 afterParserOrEnumRuleCall();
2964
2965 }
2966
2967 }
2968
2969
2970 }
2971
2972
2973 }
2974
2975
2976 }
2977
2978 if ( state.backtracking==0 ) {
2979
2980 leaveRule();
2981
2982 }
1958 } 2983 }
1959 2984
1960 catch (RecognitionException re) { 2985 catch (RecognitionException re) {
@@ -1965,130 +2990,181 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1965 } 2990 }
1966 return current; 2991 return current;
1967 } 2992 }
1968 // $ANTLR end "entryRuleDataSymbol" 2993 // $ANTLR end "ruleCase"
1969 2994
1970 2995
1971 // $ANTLR start "ruleDataSymbol" 2996 // $ANTLR start "entryRuleConjunctiveExpression"
1972 // InternalSolverLanguage.g:679:1: ruleDataSymbol returns [EObject current=null] : (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) ; 2997 // InternalSolverLanguage.g:1098:1: entryRuleConjunctiveExpression returns [EObject current=null] : iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ;
1973 public final EObject ruleDataSymbol() throws RecognitionException { 2998 public final EObject entryRuleConjunctiveExpression() throws RecognitionException {
1974 EObject current = null; 2999 EObject current = null;
1975 3000
1976 EObject this_BooleanSymbol_0 = null; 3001 EObject iv_ruleConjunctiveExpression = null;
1977 3002
1978 EObject this_IntegerSymbol_1 = null;
1979 3003
1980 EObject this_RealSymbol_2 = null; 3004 try {
3005 // InternalSolverLanguage.g:1098:62: (iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF )
3006 // InternalSolverLanguage.g:1099:2: iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF
3007 {
3008 if ( state.backtracking==0 ) {
3009 newCompositeNode(grammarAccess.getConjunctiveExpressionRule());
3010 }
3011 pushFollow(FOLLOW_1);
3012 iv_ruleConjunctiveExpression=ruleConjunctiveExpression();
1981 3013
1982 EObject this_StringSymbol_3 = null; 3014 state._fsp--;
3015 if (state.failed) return current;
3016 if ( state.backtracking==0 ) {
3017 current =iv_ruleConjunctiveExpression;
3018 }
3019 match(input,EOF,FOLLOW_2); if (state.failed) return current;
3020
3021 }
3022
3023 }
3024
3025 catch (RecognitionException re) {
3026 recover(input,re);
3027 appendSkippedTokens();
3028 }
3029 finally {
3030 }
3031 return current;
3032 }
3033 // $ANTLR end "entryRuleConjunctiveExpression"
3034
3035
3036 // $ANTLR start "ruleConjunctiveExpression"
3037 // InternalSolverLanguage.g:1105:1: ruleConjunctiveExpression returns [EObject current=null] : (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ;
3038 public final EObject ruleConjunctiveExpression() throws RecognitionException {
3039 EObject current = null;
3040
3041 Token otherlv_2=null;
3042 EObject this_ComparisonExpression_0 = null;
3043
3044 EObject lv_children_3_0 = null;
1983 3045
1984 3046
1985 3047
1986 enterRule(); 3048 enterRule();
1987 3049
1988 try { 3050 try {
1989 // InternalSolverLanguage.g:685:2: ( (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) ) 3051 // InternalSolverLanguage.g:1111:2: ( (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) )
1990 // InternalSolverLanguage.g:686:2: (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) 3052 // InternalSolverLanguage.g:1112:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? )
1991 { 3053 {
1992 // InternalSolverLanguage.g:686:2: (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) 3054 // InternalSolverLanguage.g:1112:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? )
1993 int alt13=4; 3055 // InternalSolverLanguage.g:1113:3: this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )?
1994 switch ( input.LA(1) ) { 3056 {
1995 case 23: 3057 if ( state.backtracking==0 ) {
1996 {
1997 alt13=1;
1998 }
1999 break;
2000 case 24:
2001 {
2002 alt13=2;
2003 }
2004 break;
2005 case 25:
2006 {
2007 alt13=3;
2008 }
2009 break;
2010 case 26:
2011 {
2012 alt13=4;
2013 }
2014 break;
2015 default:
2016 NoViableAltException nvae =
2017 new NoViableAltException("", 13, 0, input);
2018 3058
2019 throw nvae; 3059 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0());
3060
2020 } 3061 }
3062 pushFollow(FOLLOW_20);
3063 this_ComparisonExpression_0=ruleComparisonExpression();
3064
3065 state._fsp--;
3066 if (state.failed) return current;
3067 if ( state.backtracking==0 ) {
3068
3069 current = this_ComparisonExpression_0;
3070 afterParserOrEnumRuleCall();
3071
3072 }
3073 // InternalSolverLanguage.g:1121:3: ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )?
3074 int alt13=2;
3075 int LA13_0 = input.LA(1);
2021 3076
3077 if ( (LA13_0==28) ) {
3078 alt13=1;
3079 }
2022 switch (alt13) { 3080 switch (alt13) {
2023 case 1 : 3081 case 1 :
2024 // InternalSolverLanguage.g:687:3: this_BooleanSymbol_0= ruleBooleanSymbol 3082 // InternalSolverLanguage.g:1122:4: () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+
2025 { 3083 {
3084 // InternalSolverLanguage.g:1122:4: ()
3085 // InternalSolverLanguage.g:1123:5:
3086 {
3087 if ( state.backtracking==0 ) {
2026 3088
2027 newCompositeNode(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0()); 3089 current = forceCreateModelElementAndAdd(
2028 3090 grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0(),
2029 pushFollow(FOLLOW_2); 3091 current);
2030 this_BooleanSymbol_0=ruleBooleanSymbol(); 3092
2031 3093 }
2032 state._fsp--;
2033
2034
2035 current = this_BooleanSymbol_0;
2036 afterParserOrEnumRuleCall();
2037
2038 3094
2039 } 3095 }
2040 break;
2041 case 2 :
2042 // InternalSolverLanguage.g:696:3: this_IntegerSymbol_1= ruleIntegerSymbol
2043 {
2044 3096
2045 newCompositeNode(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1()); 3097 // InternalSolverLanguage.g:1129:4: (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+
2046 3098 int cnt12=0;
2047 pushFollow(FOLLOW_2); 3099 loop12:
2048 this_IntegerSymbol_1=ruleIntegerSymbol(); 3100 do {
3101 int alt12=2;
3102 int LA12_0 = input.LA(1);
2049 3103
2050 state._fsp--; 3104 if ( (LA12_0==28) ) {
3105 alt12=1;
3106 }
2051 3107
2052 3108
2053 current = this_IntegerSymbol_1; 3109 switch (alt12) {
2054 afterParserOrEnumRuleCall(); 3110 case 1 :
2055 3111 // InternalSolverLanguage.g:1130:5: otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) )
3112 {
3113 otherlv_2=(Token)match(input,28,FOLLOW_6); if (state.failed) return current;
3114 if ( state.backtracking==0 ) {
2056 3115
2057 } 3116 newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0());
2058 break; 3117
2059 case 3 : 3118 }
2060 // InternalSolverLanguage.g:705:3: this_RealSymbol_2= ruleRealSymbol 3119 // InternalSolverLanguage.g:1134:5: ( (lv_children_3_0= ruleComparisonExpression ) )
2061 { 3120 // InternalSolverLanguage.g:1135:6: (lv_children_3_0= ruleComparisonExpression )
3121 {
3122 // InternalSolverLanguage.g:1135:6: (lv_children_3_0= ruleComparisonExpression )
3123 // InternalSolverLanguage.g:1136:7: lv_children_3_0= ruleComparisonExpression
3124 {
3125 if ( state.backtracking==0 ) {
2062 3126
2063 newCompositeNode(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2()); 3127 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0());
2064 3128
2065 pushFollow(FOLLOW_2); 3129 }
2066 this_RealSymbol_2=ruleRealSymbol(); 3130 pushFollow(FOLLOW_20);
3131 lv_children_3_0=ruleComparisonExpression();
2067 3132
2068 state._fsp--; 3133 state._fsp--;
3134 if (state.failed) return current;
3135 if ( state.backtracking==0 ) {
3136
3137 if (current==null) {
3138 current = createModelElementForParent(grammarAccess.getConjunctiveExpressionRule());
3139 }
3140 add(
3141 current,
3142 "children",
3143 lv_children_3_0,
3144 "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression");
3145 afterParserOrEnumRuleCall();
3146
3147 }
2069 3148
3149 }
2070 3150
2071 current = this_RealSymbol_2;
2072 afterParserOrEnumRuleCall();
2073
2074 3151
2075 } 3152 }
2076 break;
2077 case 4 :
2078 // InternalSolverLanguage.g:714:3: this_StringSymbol_3= ruleStringSymbol
2079 {
2080 3153
2081 newCompositeNode(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3());
2082
2083 pushFollow(FOLLOW_2);
2084 this_StringSymbol_3=ruleStringSymbol();
2085 3154
2086 state._fsp--; 3155 }
3156 break;
2087 3157
3158 default :
3159 if ( cnt12 >= 1 ) break loop12;
3160 if (state.backtracking>0) {state.failed=true; return current;}
3161 EarlyExitException eee =
3162 new EarlyExitException(12, input);
3163 throw eee;
3164 }
3165 cnt12++;
3166 } while (true);
2088 3167
2089 current = this_StringSymbol_3;
2090 afterParserOrEnumRuleCall();
2091
2092 3168
2093 } 3169 }
2094 break; 3170 break;
@@ -2099,8 +3175,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2099 } 3175 }
2100 3176
2101 3177
2102 leaveRule(); 3178 }
3179
3180 if ( state.backtracking==0 ) {
3181
3182 leaveRule();
2103 3183
3184 }
2104 } 3185 }
2105 3186
2106 catch (RecognitionException re) { 3187 catch (RecognitionException re) {
@@ -2111,29 +3192,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2111 } 3192 }
2112 return current; 3193 return current;
2113 } 3194 }
2114 // $ANTLR end "ruleDataSymbol" 3195 // $ANTLR end "ruleConjunctiveExpression"
2115 3196
2116 3197
2117 // $ANTLR start "entryRuleBooleanSymbol" 3198 // $ANTLR start "entryRuleComparisonExpression"
2118 // InternalSolverLanguage.g:726:1: entryRuleBooleanSymbol returns [EObject current=null] : iv_ruleBooleanSymbol= ruleBooleanSymbol EOF ; 3199 // InternalSolverLanguage.g:1159:1: entryRuleComparisonExpression returns [EObject current=null] : iv_ruleComparisonExpression= ruleComparisonExpression EOF ;
2119 public final EObject entryRuleBooleanSymbol() throws RecognitionException { 3200 public final EObject entryRuleComparisonExpression() throws RecognitionException {
2120 EObject current = null; 3201 EObject current = null;
2121 3202
2122 EObject iv_ruleBooleanSymbol = null; 3203 EObject iv_ruleComparisonExpression = null;
2123 3204
2124 3205
2125 try { 3206 try {
2126 // InternalSolverLanguage.g:726:54: (iv_ruleBooleanSymbol= ruleBooleanSymbol EOF ) 3207 // InternalSolverLanguage.g:1159:61: (iv_ruleComparisonExpression= ruleComparisonExpression EOF )
2127 // InternalSolverLanguage.g:727:2: iv_ruleBooleanSymbol= ruleBooleanSymbol EOF 3208 // InternalSolverLanguage.g:1160:2: iv_ruleComparisonExpression= ruleComparisonExpression EOF
2128 { 3209 {
2129 newCompositeNode(grammarAccess.getBooleanSymbolRule()); 3210 if ( state.backtracking==0 ) {
3211 newCompositeNode(grammarAccess.getComparisonExpressionRule());
3212 }
2130 pushFollow(FOLLOW_1); 3213 pushFollow(FOLLOW_1);
2131 iv_ruleBooleanSymbol=ruleBooleanSymbol(); 3214 iv_ruleComparisonExpression=ruleComparisonExpression();
2132 3215
2133 state._fsp--; 3216 state._fsp--;
2134 3217 if (state.failed) return current;
2135 current =iv_ruleBooleanSymbol; 3218 if ( state.backtracking==0 ) {
2136 match(input,EOF,FOLLOW_2); 3219 current =iv_ruleComparisonExpression;
3220 }
3221 match(input,EOF,FOLLOW_2); if (state.failed) return current;
2137 3222
2138 } 3223 }
2139 3224
@@ -2147,41 +3232,144 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2147 } 3232 }
2148 return current; 3233 return current;
2149 } 3234 }
2150 // $ANTLR end "entryRuleBooleanSymbol" 3235 // $ANTLR end "entryRuleComparisonExpression"
2151 3236
2152 3237
2153 // $ANTLR start "ruleBooleanSymbol" 3238 // $ANTLR start "ruleComparisonExpression"
2154 // InternalSolverLanguage.g:733:1: ruleBooleanSymbol returns [EObject current=null] : (otherlv_0= 'bool' () ) ; 3239 // InternalSolverLanguage.g:1166:1: ruleComparisonExpression returns [EObject current=null] : (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ;
2155 public final EObject ruleBooleanSymbol() throws RecognitionException { 3240 public final EObject ruleComparisonExpression() throws RecognitionException {
2156 EObject current = null; 3241 EObject current = null;
2157 3242
2158 Token otherlv_0=null; 3243 EObject this_AdditiveExpression_0 = null;
3244
3245 Enumerator lv_op_2_0 = null;
3246
3247 EObject lv_right_3_0 = null;
3248
2159 3249
2160 3250
2161 enterRule(); 3251 enterRule();
2162 3252
2163 try { 3253 try {
2164 // InternalSolverLanguage.g:739:2: ( (otherlv_0= 'bool' () ) ) 3254 // InternalSolverLanguage.g:1172:2: ( (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) )
2165 // InternalSolverLanguage.g:740:2: (otherlv_0= 'bool' () ) 3255 // InternalSolverLanguage.g:1173:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? )
2166 { 3256 {
2167 // InternalSolverLanguage.g:740:2: (otherlv_0= 'bool' () ) 3257 // InternalSolverLanguage.g:1173:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? )
2168 // InternalSolverLanguage.g:741:3: otherlv_0= 'bool' () 3258 // InternalSolverLanguage.g:1174:3: this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )?
2169 { 3259 {
2170 otherlv_0=(Token)match(input,23,FOLLOW_2); 3260 if ( state.backtracking==0 ) {
2171 3261
2172 newLeafNode(otherlv_0, grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0()); 3262 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0());
2173 3263
2174 // InternalSolverLanguage.g:745:3: () 3264 }
2175 // InternalSolverLanguage.g:746:4: 3265 pushFollow(FOLLOW_21);
2176 { 3266 this_AdditiveExpression_0=ruleAdditiveExpression();
3267
3268 state._fsp--;
3269 if (state.failed) return current;
3270 if ( state.backtracking==0 ) {
2177 3271
2178 current = forceCreateModelElement( 3272 current = this_AdditiveExpression_0;
2179 grammarAccess.getBooleanSymbolAccess().getBooleanSymbolAction_1(), 3273 afterParserOrEnumRuleCall();
2180 current); 3274
2181 3275 }
3276 // InternalSolverLanguage.g:1182:3: ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )?
3277 int alt14=2;
3278 int LA14_0 = input.LA(1);
2182 3279
3280 if ( ((LA14_0>=47 && LA14_0<=49)||(LA14_0>=52 && LA14_0<=55)) ) {
3281 alt14=1;
2183 } 3282 }
3283 switch (alt14) {
3284 case 1 :
3285 // InternalSolverLanguage.g:1183:4: () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) )
3286 {
3287 // InternalSolverLanguage.g:1183:4: ()
3288 // InternalSolverLanguage.g:1184:5:
3289 {
3290 if ( state.backtracking==0 ) {
3291
3292 current = forceCreateModelElementAndSet(
3293 grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0(),
3294 current);
3295
3296 }
3297
3298 }
2184 3299
3300 // InternalSolverLanguage.g:1190:4: ( (lv_op_2_0= ruleComparisonOperator ) )
3301 // InternalSolverLanguage.g:1191:5: (lv_op_2_0= ruleComparisonOperator )
3302 {
3303 // InternalSolverLanguage.g:1191:5: (lv_op_2_0= ruleComparisonOperator )
3304 // InternalSolverLanguage.g:1192:6: lv_op_2_0= ruleComparisonOperator
3305 {
3306 if ( state.backtracking==0 ) {
3307
3308 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0());
3309
3310 }
3311 pushFollow(FOLLOW_6);
3312 lv_op_2_0=ruleComparisonOperator();
3313
3314 state._fsp--;
3315 if (state.failed) return current;
3316 if ( state.backtracking==0 ) {
3317
3318 if (current==null) {
3319 current = createModelElementForParent(grammarAccess.getComparisonExpressionRule());
3320 }
3321 set(
3322 current,
3323 "op",
3324 lv_op_2_0,
3325 "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator");
3326 afterParserOrEnumRuleCall();
3327
3328 }
3329
3330 }
3331
3332
3333 }
3334
3335 // InternalSolverLanguage.g:1209:4: ( (lv_right_3_0= ruleAdditiveExpression ) )
3336 // InternalSolverLanguage.g:1210:5: (lv_right_3_0= ruleAdditiveExpression )
3337 {
3338 // InternalSolverLanguage.g:1210:5: (lv_right_3_0= ruleAdditiveExpression )
3339 // InternalSolverLanguage.g:1211:6: lv_right_3_0= ruleAdditiveExpression
3340 {
3341 if ( state.backtracking==0 ) {
3342
3343 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0());
3344
3345 }
3346 pushFollow(FOLLOW_2);
3347 lv_right_3_0=ruleAdditiveExpression();
3348
3349 state._fsp--;
3350 if (state.failed) return current;
3351 if ( state.backtracking==0 ) {
3352
3353 if (current==null) {
3354 current = createModelElementForParent(grammarAccess.getComparisonExpressionRule());
3355 }
3356 set(
3357 current,
3358 "right",
3359 lv_right_3_0,
3360 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression");
3361 afterParserOrEnumRuleCall();
3362
3363 }
3364
3365 }
3366
3367
3368 }
3369
3370
3371 }
3372 break;
2185 3373
2186 } 3374 }
2187 3375
@@ -2189,8 +3377,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2189 } 3377 }
2190 3378
2191 3379
2192 leaveRule(); 3380 }
3381
3382 if ( state.backtracking==0 ) {
2193 3383
3384 leaveRule();
3385
3386 }
2194 } 3387 }
2195 3388
2196 catch (RecognitionException re) { 3389 catch (RecognitionException re) {
@@ -2201,29 +3394,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2201 } 3394 }
2202 return current; 3395 return current;
2203 } 3396 }
2204 // $ANTLR end "ruleBooleanSymbol" 3397 // $ANTLR end "ruleComparisonExpression"
2205 3398
2206 3399
2207 // $ANTLR start "entryRuleIntegerSymbol" 3400 // $ANTLR start "entryRuleAdditiveExpression"
2208 // InternalSolverLanguage.g:756:1: entryRuleIntegerSymbol returns [EObject current=null] : iv_ruleIntegerSymbol= ruleIntegerSymbol EOF ; 3401 // InternalSolverLanguage.g:1233:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ;
2209 public final EObject entryRuleIntegerSymbol() throws RecognitionException { 3402 public final EObject entryRuleAdditiveExpression() throws RecognitionException {
2210 EObject current = null; 3403 EObject current = null;
2211 3404
2212 EObject iv_ruleIntegerSymbol = null; 3405 EObject iv_ruleAdditiveExpression = null;
2213 3406
2214 3407
2215 try { 3408 try {
2216 // InternalSolverLanguage.g:756:54: (iv_ruleIntegerSymbol= ruleIntegerSymbol EOF ) 3409 // InternalSolverLanguage.g:1233:59: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF )
2217 // InternalSolverLanguage.g:757:2: iv_ruleIntegerSymbol= ruleIntegerSymbol EOF 3410 // InternalSolverLanguage.g:1234:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF
2218 { 3411 {
2219 newCompositeNode(grammarAccess.getIntegerSymbolRule()); 3412 if ( state.backtracking==0 ) {
3413 newCompositeNode(grammarAccess.getAdditiveExpressionRule());
3414 }
2220 pushFollow(FOLLOW_1); 3415 pushFollow(FOLLOW_1);
2221 iv_ruleIntegerSymbol=ruleIntegerSymbol(); 3416 iv_ruleAdditiveExpression=ruleAdditiveExpression();
2222 3417
2223 state._fsp--; 3418 state._fsp--;
2224 3419 if (state.failed) return current;
2225 current =iv_ruleIntegerSymbol; 3420 if ( state.backtracking==0 ) {
2226 match(input,EOF,FOLLOW_2); 3421 current =iv_ruleAdditiveExpression;
3422 }
3423 match(input,EOF,FOLLOW_2); if (state.failed) return current;
2227 3424
2228 } 3425 }
2229 3426
@@ -2237,40 +3434,153 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2237 } 3434 }
2238 return current; 3435 return current;
2239 } 3436 }
2240 // $ANTLR end "entryRuleIntegerSymbol" 3437 // $ANTLR end "entryRuleAdditiveExpression"
2241 3438
2242 3439
2243 // $ANTLR start "ruleIntegerSymbol" 3440 // $ANTLR start "ruleAdditiveExpression"
2244 // InternalSolverLanguage.g:763:1: ruleIntegerSymbol returns [EObject current=null] : (otherlv_0= 'int' () ) ; 3441 // InternalSolverLanguage.g:1240:1: ruleAdditiveExpression returns [EObject current=null] : (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ;
2245 public final EObject ruleIntegerSymbol() throws RecognitionException { 3442 public final EObject ruleAdditiveExpression() throws RecognitionException {
2246 EObject current = null; 3443 EObject current = null;
2247 3444
2248 Token otherlv_0=null; 3445 EObject this_MultiplicativeExpression_0 = null;
3446
3447 Enumerator lv_op_2_0 = null;
3448
3449 EObject lv_right_3_0 = null;
3450
2249 3451
2250 3452
2251 enterRule(); 3453 enterRule();
2252 3454
2253 try { 3455 try {
2254 // InternalSolverLanguage.g:769:2: ( (otherlv_0= 'int' () ) ) 3456 // InternalSolverLanguage.g:1246:2: ( (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) )
2255 // InternalSolverLanguage.g:770:2: (otherlv_0= 'int' () ) 3457 // InternalSolverLanguage.g:1247:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* )
2256 { 3458 {
2257 // InternalSolverLanguage.g:770:2: (otherlv_0= 'int' () ) 3459 // InternalSolverLanguage.g:1247:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* )
2258 // InternalSolverLanguage.g:771:3: otherlv_0= 'int' () 3460 // InternalSolverLanguage.g:1248:3: this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )*
2259 { 3461 {
2260 otherlv_0=(Token)match(input,24,FOLLOW_2); 3462 if ( state.backtracking==0 ) {
2261 3463
2262 newLeafNode(otherlv_0, grammarAccess.getIntegerSymbolAccess().getIntKeyword_0()); 3464 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0());
2263 3465
2264 // InternalSolverLanguage.g:775:3: () 3466 }
2265 // InternalSolverLanguage.g:776:4: 3467 pushFollow(FOLLOW_22);
2266 { 3468 this_MultiplicativeExpression_0=ruleMultiplicativeExpression();
2267 3469
2268 current = forceCreateModelElement( 3470 state._fsp--;
2269 grammarAccess.getIntegerSymbolAccess().getIntegerSymbolAction_1(), 3471 if (state.failed) return current;
2270 current); 3472 if ( state.backtracking==0 ) {
2271
2272 3473
3474 current = this_MultiplicativeExpression_0;
3475 afterParserOrEnumRuleCall();
3476
2273 } 3477 }
3478 // InternalSolverLanguage.g:1256:3: ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )*
3479 loop15:
3480 do {
3481 int alt15=2;
3482 int LA15_0 = input.LA(1);
3483
3484 if ( ((LA15_0>=56 && LA15_0<=57)) ) {
3485 alt15=1;
3486 }
3487
3488
3489 switch (alt15) {
3490 case 1 :
3491 // InternalSolverLanguage.g:1257:4: () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) )
3492 {
3493 // InternalSolverLanguage.g:1257:4: ()
3494 // InternalSolverLanguage.g:1258:5:
3495 {
3496 if ( state.backtracking==0 ) {
3497
3498 current = forceCreateModelElementAndSet(
3499 grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0(),
3500 current);
3501
3502 }
3503
3504 }
3505
3506 // InternalSolverLanguage.g:1264:4: ( (lv_op_2_0= ruleAdditiveBinaryOperator ) )
3507 // InternalSolverLanguage.g:1265:5: (lv_op_2_0= ruleAdditiveBinaryOperator )
3508 {
3509 // InternalSolverLanguage.g:1265:5: (lv_op_2_0= ruleAdditiveBinaryOperator )
3510 // InternalSolverLanguage.g:1266:6: lv_op_2_0= ruleAdditiveBinaryOperator
3511 {
3512 if ( state.backtracking==0 ) {
3513
3514 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0());
3515
3516 }
3517 pushFollow(FOLLOW_6);
3518 lv_op_2_0=ruleAdditiveBinaryOperator();
3519
3520 state._fsp--;
3521 if (state.failed) return current;
3522 if ( state.backtracking==0 ) {
3523
3524 if (current==null) {
3525 current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule());
3526 }
3527 set(
3528 current,
3529 "op",
3530 lv_op_2_0,
3531 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveBinaryOperator");
3532 afterParserOrEnumRuleCall();
3533
3534 }
3535
3536 }
3537
3538
3539 }
3540
3541 // InternalSolverLanguage.g:1283:4: ( (lv_right_3_0= ruleMultiplicativeExpression ) )
3542 // InternalSolverLanguage.g:1284:5: (lv_right_3_0= ruleMultiplicativeExpression )
3543 {
3544 // InternalSolverLanguage.g:1284:5: (lv_right_3_0= ruleMultiplicativeExpression )
3545 // InternalSolverLanguage.g:1285:6: lv_right_3_0= ruleMultiplicativeExpression
3546 {
3547 if ( state.backtracking==0 ) {
3548
3549 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0());
3550
3551 }
3552 pushFollow(FOLLOW_22);
3553 lv_right_3_0=ruleMultiplicativeExpression();
3554
3555 state._fsp--;
3556 if (state.failed) return current;
3557 if ( state.backtracking==0 ) {
3558
3559 if (current==null) {
3560 current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule());
3561 }
3562 set(
3563 current,
3564 "right",
3565 lv_right_3_0,
3566 "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeExpression");
3567 afterParserOrEnumRuleCall();
3568
3569 }
3570
3571 }
3572
3573
3574 }
3575
3576
3577 }
3578 break;
3579
3580 default :
3581 break loop15;
3582 }
3583 } while (true);
2274 3584
2275 3585
2276 } 3586 }
@@ -2278,9 +3588,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2278 3588
2279 } 3589 }
2280 3590
3591 if ( state.backtracking==0 ) {
2281 3592
2282 leaveRule(); 3593 leaveRule();
2283 3594
3595 }
2284 } 3596 }
2285 3597
2286 catch (RecognitionException re) { 3598 catch (RecognitionException re) {
@@ -2291,29 +3603,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2291 } 3603 }
2292 return current; 3604 return current;
2293 } 3605 }
2294 // $ANTLR end "ruleIntegerSymbol" 3606 // $ANTLR end "ruleAdditiveExpression"
2295 3607
2296 3608
2297 // $ANTLR start "entryRuleRealSymbol" 3609 // $ANTLR start "entryRuleMultiplicativeExpression"
2298 // InternalSolverLanguage.g:786:1: entryRuleRealSymbol returns [EObject current=null] : iv_ruleRealSymbol= ruleRealSymbol EOF ; 3610 // InternalSolverLanguage.g:1307:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ;
2299 public final EObject entryRuleRealSymbol() throws RecognitionException { 3611 public final EObject entryRuleMultiplicativeExpression() throws RecognitionException {
2300 EObject current = null; 3612 EObject current = null;
2301 3613
2302 EObject iv_ruleRealSymbol = null; 3614 EObject iv_ruleMultiplicativeExpression = null;
2303 3615
2304 3616
2305 try { 3617 try {
2306 // InternalSolverLanguage.g:786:51: (iv_ruleRealSymbol= ruleRealSymbol EOF ) 3618 // InternalSolverLanguage.g:1307:65: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF )
2307 // InternalSolverLanguage.g:787:2: iv_ruleRealSymbol= ruleRealSymbol EOF 3619 // InternalSolverLanguage.g:1308:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF
2308 { 3620 {
2309 newCompositeNode(grammarAccess.getRealSymbolRule()); 3621 if ( state.backtracking==0 ) {
3622 newCompositeNode(grammarAccess.getMultiplicativeExpressionRule());
3623 }
2310 pushFollow(FOLLOW_1); 3624 pushFollow(FOLLOW_1);
2311 iv_ruleRealSymbol=ruleRealSymbol(); 3625 iv_ruleMultiplicativeExpression=ruleMultiplicativeExpression();
2312 3626
2313 state._fsp--; 3627 state._fsp--;
2314 3628 if (state.failed) return current;
2315 current =iv_ruleRealSymbol; 3629 if ( state.backtracking==0 ) {
2316 match(input,EOF,FOLLOW_2); 3630 current =iv_ruleMultiplicativeExpression;
3631 }
3632 match(input,EOF,FOLLOW_2); if (state.failed) return current;
2317 3633
2318 } 3634 }
2319 3635
@@ -2327,40 +3643,153 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2327 } 3643 }
2328 return current; 3644 return current;
2329 } 3645 }
2330 // $ANTLR end "entryRuleRealSymbol" 3646 // $ANTLR end "entryRuleMultiplicativeExpression"
2331 3647
2332 3648
2333 // $ANTLR start "ruleRealSymbol" 3649 // $ANTLR start "ruleMultiplicativeExpression"
2334 // InternalSolverLanguage.g:793:1: ruleRealSymbol returns [EObject current=null] : (otherlv_0= 'real' () ) ; 3650 // InternalSolverLanguage.g:1314:1: ruleMultiplicativeExpression returns [EObject current=null] : (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ;
2335 public final EObject ruleRealSymbol() throws RecognitionException { 3651 public final EObject ruleMultiplicativeExpression() throws RecognitionException {
2336 EObject current = null; 3652 EObject current = null;
2337 3653
2338 Token otherlv_0=null; 3654 EObject this_ExponentialExpression_0 = null;
3655
3656 Enumerator lv_op_2_0 = null;
3657
3658 EObject lv_right_3_0 = null;
3659
2339 3660
2340 3661
2341 enterRule(); 3662 enterRule();
2342 3663
2343 try { 3664 try {
2344 // InternalSolverLanguage.g:799:2: ( (otherlv_0= 'real' () ) ) 3665 // InternalSolverLanguage.g:1320:2: ( (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) )
2345 // InternalSolverLanguage.g:800:2: (otherlv_0= 'real' () ) 3666 // InternalSolverLanguage.g:1321:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* )
2346 { 3667 {
2347 // InternalSolverLanguage.g:800:2: (otherlv_0= 'real' () ) 3668 // InternalSolverLanguage.g:1321:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* )
2348 // InternalSolverLanguage.g:801:3: otherlv_0= 'real' () 3669 // InternalSolverLanguage.g:1322:3: this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )*
2349 { 3670 {
2350 otherlv_0=(Token)match(input,25,FOLLOW_2); 3671 if ( state.backtracking==0 ) {
2351 3672
2352 newLeafNode(otherlv_0, grammarAccess.getRealSymbolAccess().getRealKeyword_0()); 3673 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0());
2353 3674
2354 // InternalSolverLanguage.g:805:3: () 3675 }
2355 // InternalSolverLanguage.g:806:4: 3676 pushFollow(FOLLOW_23);
2356 { 3677 this_ExponentialExpression_0=ruleExponentialExpression();
2357 3678
2358 current = forceCreateModelElement( 3679 state._fsp--;
2359 grammarAccess.getRealSymbolAccess().getRealSymbolAction_1(), 3680 if (state.failed) return current;
2360 current); 3681 if ( state.backtracking==0 ) {
2361
2362 3682
3683 current = this_ExponentialExpression_0;
3684 afterParserOrEnumRuleCall();
3685
2363 } 3686 }
3687 // InternalSolverLanguage.g:1330:3: ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )*
3688 loop16:
3689 do {
3690 int alt16=2;
3691 int LA16_0 = input.LA(1);
3692
3693 if ( (LA16_0==35||LA16_0==58) ) {
3694 alt16=1;
3695 }
3696
3697
3698 switch (alt16) {
3699 case 1 :
3700 // InternalSolverLanguage.g:1331:4: () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) )
3701 {
3702 // InternalSolverLanguage.g:1331:4: ()
3703 // InternalSolverLanguage.g:1332:5:
3704 {
3705 if ( state.backtracking==0 ) {
3706
3707 current = forceCreateModelElementAndSet(
3708 grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0(),
3709 current);
3710
3711 }
3712
3713 }
3714
3715 // InternalSolverLanguage.g:1338:4: ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) )
3716 // InternalSolverLanguage.g:1339:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator )
3717 {
3718 // InternalSolverLanguage.g:1339:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator )
3719 // InternalSolverLanguage.g:1340:6: lv_op_2_0= ruleMultiplicativeBinaryOperator
3720 {
3721 if ( state.backtracking==0 ) {
3722
3723 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0());
3724
3725 }
3726 pushFollow(FOLLOW_6);
3727 lv_op_2_0=ruleMultiplicativeBinaryOperator();
3728
3729 state._fsp--;
3730 if (state.failed) return current;
3731 if ( state.backtracking==0 ) {
3732
3733 if (current==null) {
3734 current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
3735 }
3736 set(
3737 current,
3738 "op",
3739 lv_op_2_0,
3740 "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeBinaryOperator");
3741 afterParserOrEnumRuleCall();
3742
3743 }
3744
3745 }
3746
3747
3748 }
3749
3750 // InternalSolverLanguage.g:1357:4: ( (lv_right_3_0= ruleExponentialExpression ) )
3751 // InternalSolverLanguage.g:1358:5: (lv_right_3_0= ruleExponentialExpression )
3752 {
3753 // InternalSolverLanguage.g:1358:5: (lv_right_3_0= ruleExponentialExpression )
3754 // InternalSolverLanguage.g:1359:6: lv_right_3_0= ruleExponentialExpression
3755 {
3756 if ( state.backtracking==0 ) {
3757
3758 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0());
3759
3760 }
3761 pushFollow(FOLLOW_23);
3762 lv_right_3_0=ruleExponentialExpression();
3763
3764 state._fsp--;
3765 if (state.failed) return current;
3766 if ( state.backtracking==0 ) {
3767
3768 if (current==null) {
3769 current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
3770 }
3771 set(
3772 current,
3773 "right",
3774 lv_right_3_0,
3775 "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression");
3776 afterParserOrEnumRuleCall();
3777
3778 }
3779
3780 }
3781
3782
3783 }
3784
3785
3786 }
3787 break;
3788
3789 default :
3790 break loop16;
3791 }
3792 } while (true);
2364 3793
2365 3794
2366 } 3795 }
@@ -2368,9 +3797,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2368 3797
2369 } 3798 }
2370 3799
3800 if ( state.backtracking==0 ) {
2371 3801
2372 leaveRule(); 3802 leaveRule();
2373 3803
3804 }
2374 } 3805 }
2375 3806
2376 catch (RecognitionException re) { 3807 catch (RecognitionException re) {
@@ -2381,29 +3812,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2381 } 3812 }
2382 return current; 3813 return current;
2383 } 3814 }
2384 // $ANTLR end "ruleRealSymbol" 3815 // $ANTLR end "ruleMultiplicativeExpression"
2385 3816
2386 3817
2387 // $ANTLR start "entryRuleStringSymbol" 3818 // $ANTLR start "entryRuleExponentialExpression"
2388 // InternalSolverLanguage.g:816:1: entryRuleStringSymbol returns [EObject current=null] : iv_ruleStringSymbol= ruleStringSymbol EOF ; 3819 // InternalSolverLanguage.g:1381:1: entryRuleExponentialExpression returns [EObject current=null] : iv_ruleExponentialExpression= ruleExponentialExpression EOF ;
2389 public final EObject entryRuleStringSymbol() throws RecognitionException { 3820 public final EObject entryRuleExponentialExpression() throws RecognitionException {
2390 EObject current = null; 3821 EObject current = null;
2391 3822
2392 EObject iv_ruleStringSymbol = null; 3823 EObject iv_ruleExponentialExpression = null;
2393 3824
2394 3825
2395 try { 3826 try {
2396 // InternalSolverLanguage.g:816:53: (iv_ruleStringSymbol= ruleStringSymbol EOF ) 3827 // InternalSolverLanguage.g:1381:62: (iv_ruleExponentialExpression= ruleExponentialExpression EOF )
2397 // InternalSolverLanguage.g:817:2: iv_ruleStringSymbol= ruleStringSymbol EOF 3828 // InternalSolverLanguage.g:1382:2: iv_ruleExponentialExpression= ruleExponentialExpression EOF
2398 { 3829 {
2399 newCompositeNode(grammarAccess.getStringSymbolRule()); 3830 if ( state.backtracking==0 ) {
3831 newCompositeNode(grammarAccess.getExponentialExpressionRule());
3832 }
2400 pushFollow(FOLLOW_1); 3833 pushFollow(FOLLOW_1);
2401 iv_ruleStringSymbol=ruleStringSymbol(); 3834 iv_ruleExponentialExpression=ruleExponentialExpression();
2402 3835
2403 state._fsp--; 3836 state._fsp--;
2404 3837 if (state.failed) return current;
2405 current =iv_ruleStringSymbol; 3838 if ( state.backtracking==0 ) {
2406 match(input,EOF,FOLLOW_2); 3839 current =iv_ruleExponentialExpression;
3840 }
3841 match(input,EOF,FOLLOW_2); if (state.failed) return current;
2407 3842
2408 } 3843 }
2409 3844
@@ -2417,38 +3852,144 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2417 } 3852 }
2418 return current; 3853 return current;
2419 } 3854 }
2420 // $ANTLR end "entryRuleStringSymbol" 3855 // $ANTLR end "entryRuleExponentialExpression"
2421 3856
2422 3857
2423 // $ANTLR start "ruleStringSymbol" 3858 // $ANTLR start "ruleExponentialExpression"
2424 // InternalSolverLanguage.g:823:1: ruleStringSymbol returns [EObject current=null] : (otherlv_0= 'string' () ) ; 3859 // InternalSolverLanguage.g:1388:1: ruleExponentialExpression returns [EObject current=null] : (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) ;
2425 public final EObject ruleStringSymbol() throws RecognitionException { 3860 public final EObject ruleExponentialExpression() throws RecognitionException {
2426 EObject current = null; 3861 EObject current = null;
2427 3862
2428 Token otherlv_0=null; 3863 EObject this_UnaryExpression_0 = null;
3864
3865 Enumerator lv_op_2_0 = null;
3866
3867 EObject lv_right_3_0 = null;
3868
2429 3869
2430 3870
2431 enterRule(); 3871 enterRule();
2432 3872
2433 try { 3873 try {
2434 // InternalSolverLanguage.g:829:2: ( (otherlv_0= 'string' () ) ) 3874 // InternalSolverLanguage.g:1394:2: ( (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) )
2435 // InternalSolverLanguage.g:830:2: (otherlv_0= 'string' () ) 3875 // InternalSolverLanguage.g:1395:2: (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? )
2436 { 3876 {
2437 // InternalSolverLanguage.g:830:2: (otherlv_0= 'string' () ) 3877 // InternalSolverLanguage.g:1395:2: (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? )
2438 // InternalSolverLanguage.g:831:3: otherlv_0= 'string' () 3878 // InternalSolverLanguage.g:1396:3: this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )?
2439 { 3879 {
2440 otherlv_0=(Token)match(input,26,FOLLOW_2); 3880 if ( state.backtracking==0 ) {
2441 3881
2442 newLeafNode(otherlv_0, grammarAccess.getStringSymbolAccess().getStringKeyword_0()); 3882 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0());
2443 3883
2444 // InternalSolverLanguage.g:835:3: () 3884 }
2445 // InternalSolverLanguage.g:836:4: 3885 pushFollow(FOLLOW_24);
2446 { 3886 this_UnaryExpression_0=ruleUnaryExpression();
3887
3888 state._fsp--;
3889 if (state.failed) return current;
3890 if ( state.backtracking==0 ) {
3891
3892 current = this_UnaryExpression_0;
3893 afterParserOrEnumRuleCall();
3894
3895 }
3896 // InternalSolverLanguage.g:1404:3: ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )?
3897 int alt17=2;
3898 int LA17_0 = input.LA(1);
3899
3900 if ( (LA17_0==59) ) {
3901 alt17=1;
3902 }
3903 switch (alt17) {
3904 case 1 :
3905 // InternalSolverLanguage.g:1405:4: () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) )
3906 {
3907 // InternalSolverLanguage.g:1405:4: ()
3908 // InternalSolverLanguage.g:1406:5:
3909 {
3910 if ( state.backtracking==0 ) {
3911
3912 current = forceCreateModelElementAndSet(
3913 grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0(),
3914 current);
3915
3916 }
3917
3918 }
3919
3920 // InternalSolverLanguage.g:1412:4: ( (lv_op_2_0= ruleExponentialOp ) )
3921 // InternalSolverLanguage.g:1413:5: (lv_op_2_0= ruleExponentialOp )
3922 {
3923 // InternalSolverLanguage.g:1413:5: (lv_op_2_0= ruleExponentialOp )
3924 // InternalSolverLanguage.g:1414:6: lv_op_2_0= ruleExponentialOp
3925 {
3926 if ( state.backtracking==0 ) {
3927
3928 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0());
3929
3930 }
3931 pushFollow(FOLLOW_6);
3932 lv_op_2_0=ruleExponentialOp();
3933
3934 state._fsp--;
3935 if (state.failed) return current;
3936 if ( state.backtracking==0 ) {
3937
3938 if (current==null) {
3939 current = createModelElementForParent(grammarAccess.getExponentialExpressionRule());
3940 }
3941 set(
3942 current,
3943 "op",
3944 lv_op_2_0,
3945 "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialOp");
3946 afterParserOrEnumRuleCall();
3947
3948 }
3949
3950 }
3951
3952
3953 }
3954
3955 // InternalSolverLanguage.g:1431:4: ( (lv_right_3_0= ruleExponentialExpression ) )
3956 // InternalSolverLanguage.g:1432:5: (lv_right_3_0= ruleExponentialExpression )
3957 {
3958 // InternalSolverLanguage.g:1432:5: (lv_right_3_0= ruleExponentialExpression )
3959 // InternalSolverLanguage.g:1433:6: lv_right_3_0= ruleExponentialExpression
3960 {
3961 if ( state.backtracking==0 ) {
3962
3963 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0());
3964
3965 }
3966 pushFollow(FOLLOW_2);
3967 lv_right_3_0=ruleExponentialExpression();
3968
3969 state._fsp--;
3970 if (state.failed) return current;
3971 if ( state.backtracking==0 ) {
3972
3973 if (current==null) {
3974 current = createModelElementForParent(grammarAccess.getExponentialExpressionRule());
3975 }
3976 set(
3977 current,
3978 "right",
3979 lv_right_3_0,
3980 "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression");
3981 afterParserOrEnumRuleCall();
3982
3983 }
3984
3985 }
3986
3987
3988 }
2447 3989
2448 current = forceCreateModelElement( 3990
2449 grammarAccess.getStringSymbolAccess().getStringSymbolAction_1(), 3991 }
2450 current); 3992 break;
2451
2452 3993
2453 } 3994 }
2454 3995
@@ -2458,9 +3999,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2458 3999
2459 } 4000 }
2460 4001
4002 if ( state.backtracking==0 ) {
2461 4003
2462 leaveRule(); 4004 leaveRule();
2463 4005
4006 }
2464 } 4007 }
2465 4008
2466 catch (RecognitionException re) { 4009 catch (RecognitionException re) {
@@ -2471,29 +4014,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2471 } 4014 }
2472 return current; 4015 return current;
2473 } 4016 }
2474 // $ANTLR end "ruleStringSymbol" 4017 // $ANTLR end "ruleExponentialExpression"
2475 4018
2476 4019
2477 // $ANTLR start "entryRuleComplexObject" 4020 // $ANTLR start "entryRuleUnaryExpression"
2478 // InternalSolverLanguage.g:846:1: entryRuleComplexObject returns [EObject current=null] : iv_ruleComplexObject= ruleComplexObject EOF ; 4021 // InternalSolverLanguage.g:1455:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ;
2479 public final EObject entryRuleComplexObject() throws RecognitionException { 4022 public final EObject entryRuleUnaryExpression() throws RecognitionException {
2480 EObject current = null; 4023 EObject current = null;
2481 4024
2482 EObject iv_ruleComplexObject = null; 4025 EObject iv_ruleUnaryExpression = null;
2483 4026
2484 4027
2485 try { 4028 try {
2486 // InternalSolverLanguage.g:846:54: (iv_ruleComplexObject= ruleComplexObject EOF ) 4029 // InternalSolverLanguage.g:1455:56: (iv_ruleUnaryExpression= ruleUnaryExpression EOF )
2487 // InternalSolverLanguage.g:847:2: iv_ruleComplexObject= ruleComplexObject EOF 4030 // InternalSolverLanguage.g:1456:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF
2488 { 4031 {
2489 newCompositeNode(grammarAccess.getComplexObjectRule()); 4032 if ( state.backtracking==0 ) {
4033 newCompositeNode(grammarAccess.getUnaryExpressionRule());
4034 }
2490 pushFollow(FOLLOW_1); 4035 pushFollow(FOLLOW_1);
2491 iv_ruleComplexObject=ruleComplexObject(); 4036 iv_ruleUnaryExpression=ruleUnaryExpression();
2492 4037
2493 state._fsp--; 4038 state._fsp--;
2494 4039 if (state.failed) return current;
2495 current =iv_ruleComplexObject; 4040 if ( state.backtracking==0 ) {
2496 match(input,EOF,FOLLOW_2); 4041 current =iv_ruleUnaryExpression;
4042 }
4043 match(input,EOF,FOLLOW_2); if (state.failed) return current;
2497 4044
2498 } 4045 }
2499 4046
@@ -2507,111 +4054,160 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2507 } 4054 }
2508 return current; 4055 return current;
2509 } 4056 }
2510 // $ANTLR end "entryRuleComplexObject" 4057 // $ANTLR end "entryRuleUnaryExpression"
2511 4058
2512 4059
2513 // $ANTLR start "ruleComplexObject" 4060 // $ANTLR start "ruleUnaryExpression"
2514 // InternalSolverLanguage.g:853:1: ruleComplexObject returns [EObject current=null] : (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) ; 4061 // InternalSolverLanguage.g:1462:1: ruleUnaryExpression returns [EObject current=null] : (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ;
2515 public final EObject ruleComplexObject() throws RecognitionException { 4062 public final EObject ruleUnaryExpression() throws RecognitionException {
2516 EObject current = null; 4063 EObject current = null;
2517 4064
2518 EObject this_Object_0 = null; 4065 EObject this_AggregationExpression_0 = null;
2519 4066
2520 EObject this_AllInstances_1 = null; 4067 Enumerator lv_op_2_0 = null;
2521 4068
2522 EObject this_AllObjects_2 = null; 4069 EObject lv_body_3_0 = null;
2523 4070
2524 4071
2525 4072
2526 enterRule(); 4073 enterRule();
2527 4074
2528 try { 4075 try {
2529 // InternalSolverLanguage.g:859:2: ( (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) ) 4076 // InternalSolverLanguage.g:1468:2: ( (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) )
2530 // InternalSolverLanguage.g:860:2: (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) 4077 // InternalSolverLanguage.g:1469:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) )
2531 { 4078 {
2532 // InternalSolverLanguage.g:860:2: (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) 4079 // InternalSolverLanguage.g:1469:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) )
2533 int alt14=3; 4080 int alt18=2;
2534 switch ( input.LA(1) ) { 4081 int LA18_0 = input.LA(1);
2535 case RULE_INT: 4082
2536 case RULE_ID: 4083 if ( ((LA18_0>=RULE_STRING && LA18_0<=RULE_QUOTED_ID)||LA18_0==19||LA18_0==29||LA18_0==33||LA18_0==36||(LA18_0>=39 && LA18_0<=40)||(LA18_0>=64 && LA18_0<=72)) ) {
2537 case RULE_STRING: 4084 alt18=1;
2538 case 11: 4085 }
2539 case 13: 4086 else if ( ((LA18_0>=56 && LA18_0<=57)||(LA18_0>=60 && LA18_0<=63)) ) {
2540 case 14: 4087 alt18=2;
2541 case 27: 4088 }
2542 { 4089 else {
2543 alt14=1; 4090 if (state.backtracking>0) {state.failed=true; return current;}
2544 }
2545 break;
2546 case 20:
2547 {
2548 alt14=2;
2549 }
2550 break;
2551 case 31:
2552 {
2553 alt14=3;
2554 }
2555 break;
2556 default:
2557 NoViableAltException nvae = 4091 NoViableAltException nvae =
2558 new NoViableAltException("", 14, 0, input); 4092 new NoViableAltException("", 18, 0, input);
2559 4093
2560 throw nvae; 4094 throw nvae;
2561 } 4095 }
2562 4096 switch (alt18) {
2563 switch (alt14) {
2564 case 1 : 4097 case 1 :
2565 // InternalSolverLanguage.g:861:3: this_Object_0= ruleObject 4098 // InternalSolverLanguage.g:1470:3: this_AggregationExpression_0= ruleAggregationExpression
2566 { 4099 {
4100 if ( state.backtracking==0 ) {
2567 4101
2568 newCompositeNode(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0()); 4102 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0());
2569 4103
4104 }
2570 pushFollow(FOLLOW_2); 4105 pushFollow(FOLLOW_2);
2571 this_Object_0=ruleObject(); 4106 this_AggregationExpression_0=ruleAggregationExpression();
2572 4107
2573 state._fsp--; 4108 state._fsp--;
4109 if (state.failed) return current;
4110 if ( state.backtracking==0 ) {
2574 4111
2575 4112 current = this_AggregationExpression_0;
2576 current = this_Object_0; 4113 afterParserOrEnumRuleCall();
2577 afterParserOrEnumRuleCall(); 4114
2578 4115 }
2579 4116
2580 } 4117 }
2581 break; 4118 break;
2582 case 2 : 4119 case 2 :
2583 // InternalSolverLanguage.g:870:3: this_AllInstances_1= ruleAllInstances 4120 // InternalSolverLanguage.g:1479:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) )
4121 {
4122 // InternalSolverLanguage.g:1479:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) )
4123 // InternalSolverLanguage.g:1480:4: () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) )
2584 { 4124 {
4125 // InternalSolverLanguage.g:1480:4: ()
4126 // InternalSolverLanguage.g:1481:5:
4127 {
4128 if ( state.backtracking==0 ) {
2585 4129
2586 newCompositeNode(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1()); 4130 current = forceCreateModelElement(
2587 4131 grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0(),
2588 pushFollow(FOLLOW_2); 4132 current);
2589 this_AllInstances_1=ruleAllInstances(); 4133
4134 }
4135
4136 }
4137
4138 // InternalSolverLanguage.g:1487:4: ( (lv_op_2_0= ruleUnaryOp ) )
4139 // InternalSolverLanguage.g:1488:5: (lv_op_2_0= ruleUnaryOp )
4140 {
4141 // InternalSolverLanguage.g:1488:5: (lv_op_2_0= ruleUnaryOp )
4142 // InternalSolverLanguage.g:1489:6: lv_op_2_0= ruleUnaryOp
4143 {
4144 if ( state.backtracking==0 ) {
4145
4146 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0());
4147
4148 }
4149 pushFollow(FOLLOW_25);
4150 lv_op_2_0=ruleUnaryOp();
2590 4151
2591 state._fsp--; 4152 state._fsp--;
4153 if (state.failed) return current;
4154 if ( state.backtracking==0 ) {
4155
4156 if (current==null) {
4157 current = createModelElementForParent(grammarAccess.getUnaryExpressionRule());
4158 }
4159 set(
4160 current,
4161 "op",
4162 lv_op_2_0,
4163 "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp");
4164 afterParserOrEnumRuleCall();
4165
4166 }
2592 4167
4168 }
2593 4169
2594 current = this_AllInstances_1;
2595 afterParserOrEnumRuleCall();
2596
2597 4170
2598 } 4171 }
2599 break; 4172
2600 case 3 : 4173 // InternalSolverLanguage.g:1506:4: ( (lv_body_3_0= ruleAggregationExpression ) )
2601 // InternalSolverLanguage.g:879:3: this_AllObjects_2= ruleAllObjects 4174 // InternalSolverLanguage.g:1507:5: (lv_body_3_0= ruleAggregationExpression )
2602 { 4175 {
4176 // InternalSolverLanguage.g:1507:5: (lv_body_3_0= ruleAggregationExpression )
4177 // InternalSolverLanguage.g:1508:6: lv_body_3_0= ruleAggregationExpression
4178 {
4179 if ( state.backtracking==0 ) {
2603 4180
2604 newCompositeNode(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2()); 4181 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0());
2605 4182
4183 }
2606 pushFollow(FOLLOW_2); 4184 pushFollow(FOLLOW_2);
2607 this_AllObjects_2=ruleAllObjects(); 4185 lv_body_3_0=ruleAggregationExpression();
2608 4186
2609 state._fsp--; 4187 state._fsp--;
4188 if (state.failed) return current;
4189 if ( state.backtracking==0 ) {
4190
4191 if (current==null) {
4192 current = createModelElementForParent(grammarAccess.getUnaryExpressionRule());
4193 }
4194 set(
4195 current,
4196 "body",
4197 lv_body_3_0,
4198 "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression");
4199 afterParserOrEnumRuleCall();
4200
4201 }
2610 4202
4203 }
4204
4205
4206 }
4207
4208
4209 }
2611 4210
2612 current = this_AllObjects_2;
2613 afterParserOrEnumRuleCall();
2614
2615 4211
2616 } 4212 }
2617 break; 4213 break;
@@ -2621,9 +4217,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2621 4217
2622 } 4218 }
2623 4219
4220 if ( state.backtracking==0 ) {
2624 4221
2625 leaveRule(); 4222 leaveRule();
2626 4223
4224 }
2627 } 4225 }
2628 4226
2629 catch (RecognitionException re) { 4227 catch (RecognitionException re) {
@@ -2634,29 +4232,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2634 } 4232 }
2635 return current; 4233 return current;
2636 } 4234 }
2637 // $ANTLR end "ruleComplexObject" 4235 // $ANTLR end "ruleUnaryExpression"
2638 4236
2639 4237
2640 // $ANTLR start "entryRuleObject" 4238 // $ANTLR start "entryRuleAggregationExpression"
2641 // InternalSolverLanguage.g:891:1: entryRuleObject returns [EObject current=null] : iv_ruleObject= ruleObject EOF ; 4239 // InternalSolverLanguage.g:1530:1: entryRuleAggregationExpression returns [EObject current=null] : iv_ruleAggregationExpression= ruleAggregationExpression EOF ;
2642 public final EObject entryRuleObject() throws RecognitionException { 4240 public final EObject entryRuleAggregationExpression() throws RecognitionException {
2643 EObject current = null; 4241 EObject current = null;
2644 4242
2645 EObject iv_ruleObject = null; 4243 EObject iv_ruleAggregationExpression = null;
2646 4244
2647 4245
2648 try { 4246 try {
2649 // InternalSolverLanguage.g:891:47: (iv_ruleObject= ruleObject EOF ) 4247 // InternalSolverLanguage.g:1530:62: (iv_ruleAggregationExpression= ruleAggregationExpression EOF )
2650 // InternalSolverLanguage.g:892:2: iv_ruleObject= ruleObject EOF 4248 // InternalSolverLanguage.g:1531:2: iv_ruleAggregationExpression= ruleAggregationExpression EOF
2651 { 4249 {
2652 newCompositeNode(grammarAccess.getObjectRule()); 4250 if ( state.backtracking==0 ) {
4251 newCompositeNode(grammarAccess.getAggregationExpressionRule());
4252 }
2653 pushFollow(FOLLOW_1); 4253 pushFollow(FOLLOW_1);
2654 iv_ruleObject=ruleObject(); 4254 iv_ruleAggregationExpression=ruleAggregationExpression();
2655 4255
2656 state._fsp--; 4256 state._fsp--;
2657 4257 if (state.failed) return current;
2658 current =iv_ruleObject; 4258 if ( state.backtracking==0 ) {
2659 match(input,EOF,FOLLOW_2); 4259 current =iv_ruleAggregationExpression;
4260 }
4261 match(input,EOF,FOLLOW_2); if (state.failed) return current;
2660 4262
2661 } 4263 }
2662 4264
@@ -2670,109 +4272,134 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2670 } 4272 }
2671 return current; 4273 return current;
2672 } 4274 }
2673 // $ANTLR end "entryRuleObject" 4275 // $ANTLR end "entryRuleAggregationExpression"
2674 4276
2675 4277
2676 // $ANTLR start "ruleObject" 4278 // $ANTLR start "ruleAggregationExpression"
2677 // InternalSolverLanguage.g:898:1: ruleObject returns [EObject current=null] : (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) ; 4279 // InternalSolverLanguage.g:1537:1: ruleAggregationExpression returns [EObject current=null] : (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) ;
2678 public final EObject ruleObject() throws RecognitionException { 4280 public final EObject ruleAggregationExpression() throws RecognitionException {
2679 EObject current = null; 4281 EObject current = null;
2680 4282
2681 EObject this_NamedObject_0 = null; 4283 EObject this_AtomicExpression_0 = null;
2682 4284
2683 EObject this_UnnamedObject_1 = null; 4285 EObject this_Count_1 = null;
2684 4286
2685 EObject this_DataObject_2 = null; 4287 EObject this_Aggregation_2 = null;
2686 4288
2687 4289
2688 4290
2689 enterRule(); 4291 enterRule();
2690 4292
2691 try { 4293 try {
2692 // InternalSolverLanguage.g:904:2: ( (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) ) 4294 // InternalSolverLanguage.g:1543:2: ( (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) )
2693 // InternalSolverLanguage.g:905:2: (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) 4295 // InternalSolverLanguage.g:1544:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation )
2694 { 4296 {
2695 // InternalSolverLanguage.g:905:2: (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) 4297 // InternalSolverLanguage.g:1544:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation )
2696 int alt15=3; 4298 int alt19=3;
2697 switch ( input.LA(1) ) { 4299 switch ( input.LA(1) ) {
2698 case 27: 4300 case RULE_STRING:
4301 case RULE_ID:
4302 case RULE_INT:
4303 case RULE_QUOTED_ID:
4304 case 19:
4305 case 33:
4306 case 36:
4307 case 39:
4308 case 40:
4309 case 70:
4310 case 71:
4311 case 72:
2699 { 4312 {
2700 alt15=1; 4313 alt19=1;
2701 } 4314 }
2702 break; 4315 break;
2703 case RULE_ID: 4316 case 29:
2704 { 4317 {
2705 alt15=2; 4318 alt19=2;
2706 } 4319 }
2707 break; 4320 break;
2708 case RULE_INT: 4321 case 64:
2709 case RULE_STRING: 4322 case 65:
2710 case 11: 4323 case 66:
2711 case 13: 4324 case 67:
2712 case 14: 4325 case 68:
4326 case 69:
2713 { 4327 {
2714 alt15=3; 4328 alt19=3;
2715 } 4329 }
2716 break; 4330 break;
2717 default: 4331 default:
4332 if (state.backtracking>0) {state.failed=true; return current;}
2718 NoViableAltException nvae = 4333 NoViableAltException nvae =
2719 new NoViableAltException("", 15, 0, input); 4334 new NoViableAltException("", 19, 0, input);
2720 4335
2721 throw nvae; 4336 throw nvae;
2722 } 4337 }
2723 4338
2724 switch (alt15) { 4339 switch (alt19) {
2725 case 1 : 4340 case 1 :
2726 // InternalSolverLanguage.g:906:3: this_NamedObject_0= ruleNamedObject 4341 // InternalSolverLanguage.g:1545:3: this_AtomicExpression_0= ruleAtomicExpression
2727 { 4342 {
4343 if ( state.backtracking==0 ) {
2728 4344
2729 newCompositeNode(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0()); 4345 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0());
2730 4346
4347 }
2731 pushFollow(FOLLOW_2); 4348 pushFollow(FOLLOW_2);
2732 this_NamedObject_0=ruleNamedObject(); 4349 this_AtomicExpression_0=ruleAtomicExpression();
2733 4350
2734 state._fsp--; 4351 state._fsp--;
4352 if (state.failed) return current;
4353 if ( state.backtracking==0 ) {
2735 4354
2736 4355 current = this_AtomicExpression_0;
2737 current = this_NamedObject_0; 4356 afterParserOrEnumRuleCall();
2738 afterParserOrEnumRuleCall(); 4357
2739 4358 }
2740 4359
2741 } 4360 }
2742 break; 4361 break;
2743 case 2 : 4362 case 2 :
2744 // InternalSolverLanguage.g:915:3: this_UnnamedObject_1= ruleUnnamedObject 4363 // InternalSolverLanguage.g:1554:3: this_Count_1= ruleCount
2745 { 4364 {
4365 if ( state.backtracking==0 ) {
2746 4366
2747 newCompositeNode(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1()); 4367 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1());
2748 4368
4369 }
2749 pushFollow(FOLLOW_2); 4370 pushFollow(FOLLOW_2);
2750 this_UnnamedObject_1=ruleUnnamedObject(); 4371 this_Count_1=ruleCount();
2751 4372
2752 state._fsp--; 4373 state._fsp--;
4374 if (state.failed) return current;
4375 if ( state.backtracking==0 ) {
2753 4376
2754 4377 current = this_Count_1;
2755 current = this_UnnamedObject_1; 4378 afterParserOrEnumRuleCall();
2756 afterParserOrEnumRuleCall(); 4379
2757 4380 }
2758 4381
2759 } 4382 }
2760 break; 4383 break;
2761 case 3 : 4384 case 3 :
2762 // InternalSolverLanguage.g:924:3: this_DataObject_2= ruleDataObject 4385 // InternalSolverLanguage.g:1563:3: this_Aggregation_2= ruleAggregation
2763 { 4386 {
4387 if ( state.backtracking==0 ) {
2764 4388
2765 newCompositeNode(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2()); 4389 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2());
2766 4390
4391 }
2767 pushFollow(FOLLOW_2); 4392 pushFollow(FOLLOW_2);
2768 this_DataObject_2=ruleDataObject(); 4393 this_Aggregation_2=ruleAggregation();
2769 4394
2770 state._fsp--; 4395 state._fsp--;
4396 if (state.failed) return current;
4397 if ( state.backtracking==0 ) {
2771 4398
2772 4399 current = this_Aggregation_2;
2773 current = this_DataObject_2; 4400 afterParserOrEnumRuleCall();
2774 afterParserOrEnumRuleCall(); 4401
2775 4402 }
2776 4403
2777 } 4404 }
2778 break; 4405 break;
@@ -2782,9 +4409,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2782 4409
2783 } 4410 }
2784 4411
4412 if ( state.backtracking==0 ) {
2785 4413
2786 leaveRule(); 4414 leaveRule();
2787 4415
4416 }
2788 } 4417 }
2789 4418
2790 catch (RecognitionException re) { 4419 catch (RecognitionException re) {
@@ -2795,29 +4424,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2795 } 4424 }
2796 return current; 4425 return current;
2797 } 4426 }
2798 // $ANTLR end "ruleObject" 4427 // $ANTLR end "ruleAggregationExpression"
2799 4428
2800 4429
2801 // $ANTLR start "entryRuleNamedObject" 4430 // $ANTLR start "entryRuleCount"
2802 // InternalSolverLanguage.g:936:1: entryRuleNamedObject returns [EObject current=null] : iv_ruleNamedObject= ruleNamedObject EOF ; 4431 // InternalSolverLanguage.g:1575:1: entryRuleCount returns [EObject current=null] : iv_ruleCount= ruleCount EOF ;
2803 public final EObject entryRuleNamedObject() throws RecognitionException { 4432 public final EObject entryRuleCount() throws RecognitionException {
2804 EObject current = null; 4433 EObject current = null;
2805 4434
2806 EObject iv_ruleNamedObject = null; 4435 EObject iv_ruleCount = null;
2807 4436
2808 4437
2809 try { 4438 try {
2810 // InternalSolverLanguage.g:936:52: (iv_ruleNamedObject= ruleNamedObject EOF ) 4439 // InternalSolverLanguage.g:1575:46: (iv_ruleCount= ruleCount EOF )
2811 // InternalSolverLanguage.g:937:2: iv_ruleNamedObject= ruleNamedObject EOF 4440 // InternalSolverLanguage.g:1576:2: iv_ruleCount= ruleCount EOF
2812 { 4441 {
2813 newCompositeNode(grammarAccess.getNamedObjectRule()); 4442 if ( state.backtracking==0 ) {
4443 newCompositeNode(grammarAccess.getCountRule());
4444 }
2814 pushFollow(FOLLOW_1); 4445 pushFollow(FOLLOW_1);
2815 iv_ruleNamedObject=ruleNamedObject(); 4446 iv_ruleCount=ruleCount();
2816 4447
2817 state._fsp--; 4448 state._fsp--;
2818 4449 if (state.failed) return current;
2819 current =iv_ruleNamedObject; 4450 if ( state.backtracking==0 ) {
2820 match(input,EOF,FOLLOW_2); 4451 current =iv_ruleCount;
4452 }
4453 match(input,EOF,FOLLOW_2); if (state.failed) return current;
2821 4454
2822 } 4455 }
2823 4456
@@ -2831,71 +4464,94 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2831 } 4464 }
2832 return current; 4465 return current;
2833 } 4466 }
2834 // $ANTLR end "entryRuleNamedObject" 4467 // $ANTLR end "entryRuleCount"
2835 4468
2836 4469
2837 // $ANTLR start "ruleNamedObject" 4470 // $ANTLR start "ruleCount"
2838 // InternalSolverLanguage.g:943:1: ruleNamedObject returns [EObject current=null] : (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) ; 4471 // InternalSolverLanguage.g:1582:1: ruleCount returns [EObject current=null] : (otherlv_0= 'count' otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '}' ) ;
2839 public final EObject ruleNamedObject() throws RecognitionException { 4472 public final EObject ruleCount() throws RecognitionException {
2840 EObject current = null; 4473 EObject current = null;
2841 4474
2842 Token otherlv_0=null; 4475 Token otherlv_0=null;
2843 Token lv_name_1_0=null; 4476 Token otherlv_1=null;
2844 Token otherlv_2=null; 4477 Token otherlv_3=null;
4478 EObject lv_body_2_0 = null;
4479
2845 4480
2846 4481
2847 enterRule(); 4482 enterRule();
2848 4483
2849 try { 4484 try {
2850 // InternalSolverLanguage.g:949:2: ( (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) ) 4485 // InternalSolverLanguage.g:1588:2: ( (otherlv_0= 'count' otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '}' ) )
2851 // InternalSolverLanguage.g:950:2: (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) 4486 // InternalSolverLanguage.g:1589:2: (otherlv_0= 'count' otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '}' )
2852 { 4487 {
2853 // InternalSolverLanguage.g:950:2: (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) 4488 // InternalSolverLanguage.g:1589:2: (otherlv_0= 'count' otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '}' )
2854 // InternalSolverLanguage.g:951:3: otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' 4489 // InternalSolverLanguage.g:1590:3: otherlv_0= 'count' otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '}'
2855 { 4490 {
2856 otherlv_0=(Token)match(input,27,FOLLOW_12); 4491 otherlv_0=(Token)match(input,29,FOLLOW_26); if (state.failed) return current;
4492 if ( state.backtracking==0 ) {
4493
4494 newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0());
4495
4496 }
4497 otherlv_1=(Token)match(input,30,FOLLOW_6); if (state.failed) return current;
4498 if ( state.backtracking==0 ) {
2857 4499
2858 newLeafNode(otherlv_0, grammarAccess.getNamedObjectAccess().getApostropheKeyword_0()); 4500 newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1());
2859 4501
2860 // InternalSolverLanguage.g:955:3: ( (lv_name_1_0= RULE_ID ) ) 4502 }
2861 // InternalSolverLanguage.g:956:4: (lv_name_1_0= RULE_ID ) 4503 // InternalSolverLanguage.g:1598:3: ( (lv_body_2_0= ruleExpression ) )
4504 // InternalSolverLanguage.g:1599:4: (lv_body_2_0= ruleExpression )
2862 { 4505 {
2863 // InternalSolverLanguage.g:956:4: (lv_name_1_0= RULE_ID ) 4506 // InternalSolverLanguage.g:1599:4: (lv_body_2_0= ruleExpression )
2864 // InternalSolverLanguage.g:957:5: lv_name_1_0= RULE_ID 4507 // InternalSolverLanguage.g:1600:5: lv_body_2_0= ruleExpression
2865 { 4508 {
2866 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_13); 4509 if ( state.backtracking==0 ) {
2867 4510
2868 newLeafNode(lv_name_1_0, grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0()); 4511 newCompositeNode(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0());
2869 4512
4513 }
4514 pushFollow(FOLLOW_27);
4515 lv_body_2_0=ruleExpression();
2870 4516
2871 if (current==null) { 4517 state._fsp--;
2872 current = createModelElement(grammarAccess.getNamedObjectRule()); 4518 if (state.failed) return current;
2873 } 4519 if ( state.backtracking==0 ) {
2874 setWithLastConsumed( 4520
2875 current, 4521 if (current==null) {
2876 "name", 4522 current = createModelElementForParent(grammarAccess.getCountRule());
2877 lv_name_1_0, 4523 }
2878 "org.eclipse.xtext.common.Terminals.ID"); 4524 set(
2879 4525 current,
4526 "body",
4527 lv_body_2_0,
4528 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
4529 afterParserOrEnumRuleCall();
4530
4531 }
2880 4532
2881 } 4533 }
2882 4534
2883 4535
2884 } 4536 }
2885 4537
2886 otherlv_2=(Token)match(input,27,FOLLOW_2); 4538 otherlv_3=(Token)match(input,31,FOLLOW_2); if (state.failed) return current;
4539 if ( state.backtracking==0 ) {
2887 4540
2888 newLeafNode(otherlv_2, grammarAccess.getNamedObjectAccess().getApostropheKeyword_2()); 4541 newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3());
2889 4542
4543 }
2890 4544
2891 } 4545 }
2892 4546
2893 4547
2894 } 4548 }
2895 4549
4550 if ( state.backtracking==0 ) {
2896 4551
2897 leaveRule(); 4552 leaveRule();
2898 4553
4554 }
2899 } 4555 }
2900 4556
2901 catch (RecognitionException re) { 4557 catch (RecognitionException re) {
@@ -2906,29 +4562,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2906 } 4562 }
2907 return current; 4563 return current;
2908 } 4564 }
2909 // $ANTLR end "ruleNamedObject" 4565 // $ANTLR end "ruleCount"
2910 4566
2911 4567
2912 // $ANTLR start "entryRuleUnnamedObject" 4568 // $ANTLR start "entryRuleAggregation"
2913 // InternalSolverLanguage.g:981:1: entryRuleUnnamedObject returns [EObject current=null] : iv_ruleUnnamedObject= ruleUnnamedObject EOF ; 4569 // InternalSolverLanguage.g:1625:1: entryRuleAggregation returns [EObject current=null] : iv_ruleAggregation= ruleAggregation EOF ;
2914 public final EObject entryRuleUnnamedObject() throws RecognitionException { 4570 public final EObject entryRuleAggregation() throws RecognitionException {
2915 EObject current = null; 4571 EObject current = null;
2916 4572
2917 EObject iv_ruleUnnamedObject = null; 4573 EObject iv_ruleAggregation = null;
2918 4574
2919 4575
2920 try { 4576 try {
2921 // InternalSolverLanguage.g:981:54: (iv_ruleUnnamedObject= ruleUnnamedObject EOF ) 4577 // InternalSolverLanguage.g:1625:52: (iv_ruleAggregation= ruleAggregation EOF )
2922 // InternalSolverLanguage.g:982:2: iv_ruleUnnamedObject= ruleUnnamedObject EOF 4578 // InternalSolverLanguage.g:1626:2: iv_ruleAggregation= ruleAggregation EOF
2923 { 4579 {
2924 newCompositeNode(grammarAccess.getUnnamedObjectRule()); 4580 if ( state.backtracking==0 ) {
4581 newCompositeNode(grammarAccess.getAggregationRule());
4582 }
2925 pushFollow(FOLLOW_1); 4583 pushFollow(FOLLOW_1);
2926 iv_ruleUnnamedObject=ruleUnnamedObject(); 4584 iv_ruleAggregation=ruleAggregation();
2927 4585
2928 state._fsp--; 4586 state._fsp--;
2929 4587 if (state.failed) return current;
2930 current =iv_ruleUnnamedObject; 4588 if ( state.backtracking==0 ) {
2931 match(input,EOF,FOLLOW_2); 4589 current =iv_ruleAggregation;
4590 }
4591 match(input,EOF,FOLLOW_2); if (state.failed) return current;
2932 4592
2933 } 4593 }
2934 4594
@@ -2942,55 +4602,168 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2942 } 4602 }
2943 return current; 4603 return current;
2944 } 4604 }
2945 // $ANTLR end "entryRuleUnnamedObject" 4605 // $ANTLR end "entryRuleAggregation"
2946 4606
2947 4607
2948 // $ANTLR start "ruleUnnamedObject" 4608 // $ANTLR start "ruleAggregation"
2949 // InternalSolverLanguage.g:988:1: ruleUnnamedObject returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; 4609 // InternalSolverLanguage.g:1632:1: ruleAggregation returns [EObject current=null] : ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '|' ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= '}' ) ;
2950 public final EObject ruleUnnamedObject() throws RecognitionException { 4610 public final EObject ruleAggregation() throws RecognitionException {
2951 EObject current = null; 4611 EObject current = null;
2952 4612
2953 Token lv_name_0_0=null; 4613 Token otherlv_1=null;
4614 Token otherlv_3=null;
4615 Token otherlv_5=null;
4616 Enumerator lv_op_0_0 = null;
4617
4618 EObject lv_body_2_0 = null;
4619
4620 EObject lv_condition_4_0 = null;
4621
2954 4622
2955 4623
2956 enterRule(); 4624 enterRule();
2957 4625
2958 try { 4626 try {
2959 // InternalSolverLanguage.g:994:2: ( ( (lv_name_0_0= RULE_ID ) ) ) 4627 // InternalSolverLanguage.g:1638:2: ( ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '|' ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= '}' ) )
2960 // InternalSolverLanguage.g:995:2: ( (lv_name_0_0= RULE_ID ) ) 4628 // InternalSolverLanguage.g:1639:2: ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '|' ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= '}' )
4629 {
4630 // InternalSolverLanguage.g:1639:2: ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '|' ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= '}' )
4631 // InternalSolverLanguage.g:1640:3: ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '|' ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= '}'
4632 {
4633 // InternalSolverLanguage.g:1640:3: ( (lv_op_0_0= ruleAggregationOp ) )
4634 // InternalSolverLanguage.g:1641:4: (lv_op_0_0= ruleAggregationOp )
4635 {
4636 // InternalSolverLanguage.g:1641:4: (lv_op_0_0= ruleAggregationOp )
4637 // InternalSolverLanguage.g:1642:5: lv_op_0_0= ruleAggregationOp
2961 { 4638 {
2962 // InternalSolverLanguage.g:995:2: ( (lv_name_0_0= RULE_ID ) ) 4639 if ( state.backtracking==0 ) {
2963 // InternalSolverLanguage.g:996:3: (lv_name_0_0= RULE_ID ) 4640
4641 newCompositeNode(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0());
4642
4643 }
4644 pushFollow(FOLLOW_26);
4645 lv_op_0_0=ruleAggregationOp();
4646
4647 state._fsp--;
4648 if (state.failed) return current;
4649 if ( state.backtracking==0 ) {
4650
4651 if (current==null) {
4652 current = createModelElementForParent(grammarAccess.getAggregationRule());
4653 }
4654 set(
4655 current,
4656 "op",
4657 lv_op_0_0,
4658 "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp");
4659 afterParserOrEnumRuleCall();
4660
4661 }
4662
4663 }
4664
4665
4666 }
4667
4668 otherlv_1=(Token)match(input,30,FOLLOW_6); if (state.failed) return current;
4669 if ( state.backtracking==0 ) {
4670
4671 newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1());
4672
4673 }
4674 // InternalSolverLanguage.g:1663:3: ( (lv_body_2_0= ruleExpression ) )
4675 // InternalSolverLanguage.g:1664:4: (lv_body_2_0= ruleExpression )
2964 { 4676 {
2965 // InternalSolverLanguage.g:996:3: (lv_name_0_0= RULE_ID ) 4677 // InternalSolverLanguage.g:1664:4: (lv_body_2_0= ruleExpression )
2966 // InternalSolverLanguage.g:997:4: lv_name_0_0= RULE_ID 4678 // InternalSolverLanguage.g:1665:5: lv_body_2_0= ruleExpression
2967 { 4679 {
2968 lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2); 4680 if ( state.backtracking==0 ) {
4681
4682 newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0());
4683
4684 }
4685 pushFollow(FOLLOW_28);
4686 lv_body_2_0=ruleExpression();
4687
4688 state._fsp--;
4689 if (state.failed) return current;
4690 if ( state.backtracking==0 ) {
4691
4692 if (current==null) {
4693 current = createModelElementForParent(grammarAccess.getAggregationRule());
4694 }
4695 set(
4696 current,
4697 "body",
4698 lv_body_2_0,
4699 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
4700 afterParserOrEnumRuleCall();
4701
4702 }
2969 4703
2970 newLeafNode(lv_name_0_0, grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0()); 4704 }
2971
2972 4705
2973 if (current==null) {
2974 current = createModelElement(grammarAccess.getUnnamedObjectRule());
2975 }
2976 setWithLastConsumed(
2977 current,
2978 "name",
2979 lv_name_0_0,
2980 "org.eclipse.xtext.common.Terminals.ID");
2981
2982 4706
2983 } 4707 }
2984 4708
4709 otherlv_3=(Token)match(input,32,FOLLOW_6); if (state.failed) return current;
4710 if ( state.backtracking==0 ) {
2985 4711
4712 newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3());
4713
2986 } 4714 }
4715 // InternalSolverLanguage.g:1686:3: ( (lv_condition_4_0= ruleExpression ) )
4716 // InternalSolverLanguage.g:1687:4: (lv_condition_4_0= ruleExpression )
4717 {
4718 // InternalSolverLanguage.g:1687:4: (lv_condition_4_0= ruleExpression )
4719 // InternalSolverLanguage.g:1688:5: lv_condition_4_0= ruleExpression
4720 {
4721 if ( state.backtracking==0 ) {
2987 4722
4723 newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0());
4724
4725 }
4726 pushFollow(FOLLOW_27);
4727 lv_condition_4_0=ruleExpression();
4728
4729 state._fsp--;
4730 if (state.failed) return current;
4731 if ( state.backtracking==0 ) {
4732
4733 if (current==null) {
4734 current = createModelElementForParent(grammarAccess.getAggregationRule());
4735 }
4736 set(
4737 current,
4738 "condition",
4739 lv_condition_4_0,
4740 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
4741 afterParserOrEnumRuleCall();
4742
4743 }
2988 4744
2989 } 4745 }
2990 4746
2991 4747
2992 leaveRule(); 4748 }
4749
4750 otherlv_5=(Token)match(input,31,FOLLOW_2); if (state.failed) return current;
4751 if ( state.backtracking==0 ) {
4752
4753 newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5());
4754
4755 }
2993 4756
4757 }
4758
4759
4760 }
4761
4762 if ( state.backtracking==0 ) {
4763
4764 leaveRule();
4765
4766 }
2994 } 4767 }
2995 4768
2996 catch (RecognitionException re) { 4769 catch (RecognitionException re) {
@@ -3001,29 +4774,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3001 } 4774 }
3002 return current; 4775 return current;
3003 } 4776 }
3004 // $ANTLR end "ruleUnnamedObject" 4777 // $ANTLR end "ruleAggregation"
3005 4778
3006 4779
3007 // $ANTLR start "entryRuleDataObject" 4780 // $ANTLR start "entryRuleAtomicExpression"
3008 // InternalSolverLanguage.g:1016:1: entryRuleDataObject returns [EObject current=null] : iv_ruleDataObject= ruleDataObject EOF ; 4781 // InternalSolverLanguage.g:1713:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ;
3009 public final EObject entryRuleDataObject() throws RecognitionException { 4782 public final EObject entryRuleAtomicExpression() throws RecognitionException {
3010 EObject current = null; 4783 EObject current = null;
3011 4784
3012 EObject iv_ruleDataObject = null; 4785 EObject iv_ruleAtomicExpression = null;
3013 4786
3014 4787
3015 try { 4788 try {
3016 // InternalSolverLanguage.g:1016:51: (iv_ruleDataObject= ruleDataObject EOF ) 4789 // InternalSolverLanguage.g:1713:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF )
3017 // InternalSolverLanguage.g:1017:2: iv_ruleDataObject= ruleDataObject EOF 4790 // InternalSolverLanguage.g:1714:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF
3018 { 4791 {
3019 newCompositeNode(grammarAccess.getDataObjectRule()); 4792 if ( state.backtracking==0 ) {
4793 newCompositeNode(grammarAccess.getAtomicExpressionRule());
4794 }
3020 pushFollow(FOLLOW_1); 4795 pushFollow(FOLLOW_1);
3021 iv_ruleDataObject=ruleDataObject(); 4796 iv_ruleAtomicExpression=ruleAtomicExpression();
3022 4797
3023 state._fsp--; 4798 state._fsp--;
3024 4799 if (state.failed) return current;
3025 current =iv_ruleDataObject; 4800 if ( state.backtracking==0 ) {
3026 match(input,EOF,FOLLOW_2); 4801 current =iv_ruleAtomicExpression;
4802 }
4803 match(input,EOF,FOLLOW_2); if (state.failed) return current;
3027 4804
3028 } 4805 }
3029 4806
@@ -3037,167 +4814,248 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3037 } 4814 }
3038 return current; 4815 return current;
3039 } 4816 }
3040 // $ANTLR end "entryRuleDataObject" 4817 // $ANTLR end "entryRuleAtomicExpression"
3041 4818
3042 4819
3043 // $ANTLR start "ruleDataObject" 4820 // $ANTLR start "ruleAtomicExpression"
3044 // InternalSolverLanguage.g:1023:1: ruleDataObject returns [EObject current=null] : (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) ; 4821 // InternalSolverLanguage.g:1720:1: ruleAtomicExpression returns [EObject current=null] : ( (this_Reference_0= ruleReference ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? ) | this_Interval_3= ruleInterval | this_Literal_4= ruleLiteral | (otherlv_5= '(' this_Expression_6= ruleExpression otherlv_7= ')' ) ) ;
3045 public final EObject ruleDataObject() throws RecognitionException { 4822 public final EObject ruleAtomicExpression() throws RecognitionException {
3046 EObject current = null; 4823 EObject current = null;
3047 4824
3048 EObject this_BooleanObject_0 = null; 4825 Token otherlv_5=null;
4826 Token otherlv_7=null;
4827 EObject this_Reference_0 = null;
4828
4829 EObject lv_argumentList_2_0 = null;
3049 4830
3050 EObject this_IntObject_1 = null; 4831 EObject this_Interval_3 = null;
3051 4832
3052 EObject this_RealObject_2 = null; 4833 EObject this_Literal_4 = null;
3053 4834
3054 EObject this_StringObject_3 = null; 4835 EObject this_Expression_6 = null;
3055 4836
3056 4837
3057 4838
3058 enterRule(); 4839 enterRule();
3059 4840
3060 try { 4841 try {
3061 // InternalSolverLanguage.g:1029:2: ( (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) ) 4842 // InternalSolverLanguage.g:1726:2: ( ( (this_Reference_0= ruleReference ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? ) | this_Interval_3= ruleInterval | this_Literal_4= ruleLiteral | (otherlv_5= '(' this_Expression_6= ruleExpression otherlv_7= ')' ) ) )
3062 // InternalSolverLanguage.g:1030:2: (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) 4843 // InternalSolverLanguage.g:1727:2: ( (this_Reference_0= ruleReference ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? ) | this_Interval_3= ruleInterval | this_Literal_4= ruleLiteral | (otherlv_5= '(' this_Expression_6= ruleExpression otherlv_7= ')' ) )
3063 { 4844 {
3064 // InternalSolverLanguage.g:1030:2: (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) 4845 // InternalSolverLanguage.g:1727:2: ( (this_Reference_0= ruleReference ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? ) | this_Interval_3= ruleInterval | this_Literal_4= ruleLiteral | (otherlv_5= '(' this_Expression_6= ruleExpression otherlv_7= ')' ) )
3065 int alt16=4; 4846 int alt21=4;
3066 switch ( input.LA(1) ) { 4847 switch ( input.LA(1) ) {
3067 case 13: 4848 case RULE_ID:
3068 case 14: 4849 case RULE_QUOTED_ID:
3069 { 4850 {
3070 alt16=1; 4851 alt21=1;
3071 } 4852 }
3072 break; 4853 break;
3073 case 11: 4854 case 36:
3074 { 4855 {
3075 int LA16_2 = input.LA(2); 4856 alt21=2;
3076
3077 if ( (LA16_2==RULE_INT) ) {
3078 int LA16_3 = input.LA(3);
3079
3080 if ( (LA16_3==12) ) {
3081 alt16=3;
3082 }
3083 else if ( (LA16_3==EOF||(LA16_3>=18 && LA16_3<=19)) ) {
3084 alt16=2;
3085 }
3086 else {
3087 NoViableAltException nvae =
3088 new NoViableAltException("", 16, 3, input);
3089
3090 throw nvae;
3091 }
3092 }
3093 else {
3094 NoViableAltException nvae =
3095 new NoViableAltException("", 16, 2, input);
3096
3097 throw nvae;
3098 }
3099 } 4857 }
3100 break; 4858 break;
4859 case RULE_STRING:
3101 case RULE_INT: 4860 case RULE_INT:
4861 case 19:
4862 case 39:
4863 case 40:
4864 case 70:
4865 case 71:
4866 case 72:
3102 { 4867 {
3103 int LA16_3 = input.LA(2); 4868 alt21=3;
3104
3105 if ( (LA16_3==12) ) {
3106 alt16=3;
3107 }
3108 else if ( (LA16_3==EOF||(LA16_3>=18 && LA16_3<=19)) ) {
3109 alt16=2;
3110 }
3111 else {
3112 NoViableAltException nvae =
3113 new NoViableAltException("", 16, 3, input);
3114
3115 throw nvae;
3116 }
3117 } 4869 }
3118 break; 4870 break;
3119 case RULE_STRING: 4871 case 33:
3120 { 4872 {
3121 alt16=4; 4873 alt21=4;
3122 } 4874 }
3123 break; 4875 break;
3124 default: 4876 default:
4877 if (state.backtracking>0) {state.failed=true; return current;}
3125 NoViableAltException nvae = 4878 NoViableAltException nvae =
3126 new NoViableAltException("", 16, 0, input); 4879 new NoViableAltException("", 21, 0, input);
3127 4880
3128 throw nvae; 4881 throw nvae;
3129 } 4882 }
3130 4883
3131 switch (alt16) { 4884 switch (alt21) {
3132 case 1 : 4885 case 1 :
3133 // InternalSolverLanguage.g:1031:3: this_BooleanObject_0= ruleBooleanObject 4886 // InternalSolverLanguage.g:1728:3: (this_Reference_0= ruleReference ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? )
4887 {
4888 // InternalSolverLanguage.g:1728:3: (this_Reference_0= ruleReference ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? )
4889 // InternalSolverLanguage.g:1729:4: this_Reference_0= ruleReference ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )?
3134 { 4890 {
4891 if ( state.backtracking==0 ) {
3135 4892
3136 newCompositeNode(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0()); 4893 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0_0());
3137 4894
3138 pushFollow(FOLLOW_2); 4895 }
3139 this_BooleanObject_0=ruleBooleanObject(); 4896 pushFollow(FOLLOW_29);
4897 this_Reference_0=ruleReference();
3140 4898
3141 state._fsp--; 4899 state._fsp--;
4900 if (state.failed) return current;
4901 if ( state.backtracking==0 ) {
4902
4903 current = this_Reference_0;
4904 afterParserOrEnumRuleCall();
4905
4906 }
4907 // InternalSolverLanguage.g:1737:4: ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )?
4908 int alt20=2;
4909 int LA20_0 = input.LA(1);
4910
4911 if ( (LA20_0==33) ) {
4912 alt20=1;
4913 }
4914 switch (alt20) {
4915 case 1 :
4916 // InternalSolverLanguage.g:1738:5: () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) )
4917 {
4918 // InternalSolverLanguage.g:1738:5: ()
4919 // InternalSolverLanguage.g:1739:6:
4920 {
4921 if ( state.backtracking==0 ) {
4922
4923 current = forceCreateModelElementAndSet(
4924 grammarAccess.getAtomicExpressionAccess().getCallFunctorAction_0_1_0(),
4925 current);
4926
4927 }
4928
4929 }
4930
4931 // InternalSolverLanguage.g:1745:5: ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) )
4932 // InternalSolverLanguage.g:1746:6: ( '(' )=> (lv_argumentList_2_0= ruleArgumentList )
4933 {
4934 // InternalSolverLanguage.g:1747:6: (lv_argumentList_2_0= ruleArgumentList )
4935 // InternalSolverLanguage.g:1748:7: lv_argumentList_2_0= ruleArgumentList
4936 {
4937 if ( state.backtracking==0 ) {
4938
4939 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getArgumentListArgumentListParserRuleCall_0_1_1_0());
4940
4941 }
4942 pushFollow(FOLLOW_2);
4943 lv_argumentList_2_0=ruleArgumentList();
4944
4945 state._fsp--;
4946 if (state.failed) return current;
4947 if ( state.backtracking==0 ) {
4948
4949 if (current==null) {
4950 current = createModelElementForParent(grammarAccess.getAtomicExpressionRule());
4951 }
4952 set(
4953 current,
4954 "argumentList",
4955 lv_argumentList_2_0,
4956 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
4957 afterParserOrEnumRuleCall();
4958
4959 }
4960
4961 }
4962
4963
4964 }
4965
4966
4967 }
4968 break;
3142 4969
4970 }
4971
4972
4973 }
3143 4974
3144 current = this_BooleanObject_0;
3145 afterParserOrEnumRuleCall();
3146
3147 4975
3148 } 4976 }
3149 break; 4977 break;
3150 case 2 : 4978 case 2 :
3151 // InternalSolverLanguage.g:1040:3: this_IntObject_1= ruleIntObject 4979 // InternalSolverLanguage.g:1768:3: this_Interval_3= ruleInterval
3152 { 4980 {
4981 if ( state.backtracking==0 ) {
3153 4982
3154 newCompositeNode(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1()); 4983 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_1());
3155 4984
4985 }
3156 pushFollow(FOLLOW_2); 4986 pushFollow(FOLLOW_2);
3157 this_IntObject_1=ruleIntObject(); 4987 this_Interval_3=ruleInterval();
3158 4988
3159 state._fsp--; 4989 state._fsp--;
4990 if (state.failed) return current;
4991 if ( state.backtracking==0 ) {
3160 4992
3161 4993 current = this_Interval_3;
3162 current = this_IntObject_1; 4994 afterParserOrEnumRuleCall();
3163 afterParserOrEnumRuleCall(); 4995
3164 4996 }
3165 4997
3166 } 4998 }
3167 break; 4999 break;
3168 case 3 : 5000 case 3 :
3169 // InternalSolverLanguage.g:1049:3: this_RealObject_2= ruleRealObject 5001 // InternalSolverLanguage.g:1777:3: this_Literal_4= ruleLiteral
3170 { 5002 {
5003 if ( state.backtracking==0 ) {
3171 5004
3172 newCompositeNode(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2()); 5005 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_2());
3173 5006
5007 }
3174 pushFollow(FOLLOW_2); 5008 pushFollow(FOLLOW_2);
3175 this_RealObject_2=ruleRealObject(); 5009 this_Literal_4=ruleLiteral();
3176 5010
3177 state._fsp--; 5011 state._fsp--;
5012 if (state.failed) return current;
5013 if ( state.backtracking==0 ) {
3178 5014
3179 5015 current = this_Literal_4;
3180 current = this_RealObject_2; 5016 afterParserOrEnumRuleCall();
3181 afterParserOrEnumRuleCall(); 5017
3182 5018 }
3183 5019
3184 } 5020 }
3185 break; 5021 break;
3186 case 4 : 5022 case 4 :
3187 // InternalSolverLanguage.g:1058:3: this_StringObject_3= ruleStringObject 5023 // InternalSolverLanguage.g:1786:3: (otherlv_5= '(' this_Expression_6= ruleExpression otherlv_7= ')' )
3188 { 5024 {
5025 // InternalSolverLanguage.g:1786:3: (otherlv_5= '(' this_Expression_6= ruleExpression otherlv_7= ')' )
5026 // InternalSolverLanguage.g:1787:4: otherlv_5= '(' this_Expression_6= ruleExpression otherlv_7= ')'
5027 {
5028 otherlv_5=(Token)match(input,33,FOLLOW_6); if (state.failed) return current;
5029 if ( state.backtracking==0 ) {
3189 5030
3190 newCompositeNode(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3()); 5031 newLeafNode(otherlv_5, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0());
3191 5032
3192 pushFollow(FOLLOW_2); 5033 }
3193 this_StringObject_3=ruleStringObject(); 5034 if ( state.backtracking==0 ) {
5035
5036 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_3_1());
5037
5038 }
5039 pushFollow(FOLLOW_30);
5040 this_Expression_6=ruleExpression();
3194 5041
3195 state._fsp--; 5042 state._fsp--;
5043 if (state.failed) return current;
5044 if ( state.backtracking==0 ) {
3196 5045
5046 current = this_Expression_6;
5047 afterParserOrEnumRuleCall();
5048
5049 }
5050 otherlv_7=(Token)match(input,34,FOLLOW_2); if (state.failed) return current;
5051 if ( state.backtracking==0 ) {
5052
5053 newLeafNode(otherlv_7, grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_3_2());
5054
5055 }
5056
5057 }
3197 5058
3198 current = this_StringObject_3;
3199 afterParserOrEnumRuleCall();
3200
3201 5059
3202 } 5060 }
3203 break; 5061 break;
@@ -3207,9 +5065,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3207 5065
3208 } 5066 }
3209 5067
5068 if ( state.backtracking==0 ) {
3210 5069
3211 leaveRule(); 5070 leaveRule();
3212 5071
5072 }
3213 } 5073 }
3214 5074
3215 catch (RecognitionException re) { 5075 catch (RecognitionException re) {
@@ -3220,29 +5080,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3220 } 5080 }
3221 return current; 5081 return current;
3222 } 5082 }
3223 // $ANTLR end "ruleDataObject" 5083 // $ANTLR end "ruleAtomicExpression"
3224 5084
3225 5085
3226 // $ANTLR start "entryRuleBooleanObject" 5086 // $ANTLR start "entryRuleCall"
3227 // InternalSolverLanguage.g:1070:1: entryRuleBooleanObject returns [EObject current=null] : iv_ruleBooleanObject= ruleBooleanObject EOF ; 5087 // InternalSolverLanguage.g:1808:1: entryRuleCall returns [EObject current=null] : iv_ruleCall= ruleCall EOF ;
3228 public final EObject entryRuleBooleanObject() throws RecognitionException { 5088 public final EObject entryRuleCall() throws RecognitionException {
3229 EObject current = null; 5089 EObject current = null;
3230 5090
3231 EObject iv_ruleBooleanObject = null; 5091 EObject iv_ruleCall = null;
3232 5092
3233 5093
3234 try { 5094 try {
3235 // InternalSolverLanguage.g:1070:54: (iv_ruleBooleanObject= ruleBooleanObject EOF ) 5095 // InternalSolverLanguage.g:1808:45: (iv_ruleCall= ruleCall EOF )
3236 // InternalSolverLanguage.g:1071:2: iv_ruleBooleanObject= ruleBooleanObject EOF 5096 // InternalSolverLanguage.g:1809:2: iv_ruleCall= ruleCall EOF
3237 { 5097 {
3238 newCompositeNode(grammarAccess.getBooleanObjectRule()); 5098 if ( state.backtracking==0 ) {
5099 newCompositeNode(grammarAccess.getCallRule());
5100 }
3239 pushFollow(FOLLOW_1); 5101 pushFollow(FOLLOW_1);
3240 iv_ruleBooleanObject=ruleBooleanObject(); 5102 iv_ruleCall=ruleCall();
3241 5103
3242 state._fsp--; 5104 state._fsp--;
3243 5105 if (state.failed) return current;
3244 current =iv_ruleBooleanObject; 5106 if ( state.backtracking==0 ) {
3245 match(input,EOF,FOLLOW_2); 5107 current =iv_ruleCall;
5108 }
5109 match(input,EOF,FOLLOW_2); if (state.failed) return current;
3246 5110
3247 } 5111 }
3248 5112
@@ -3256,49 +5120,184 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3256 } 5120 }
3257 return current; 5121 return current;
3258 } 5122 }
3259 // $ANTLR end "entryRuleBooleanObject" 5123 // $ANTLR end "entryRuleCall"
3260 5124
3261 5125
3262 // $ANTLR start "ruleBooleanObject" 5126 // $ANTLR start "ruleCall"
3263 // InternalSolverLanguage.g:1077:1: ruleBooleanObject returns [EObject current=null] : ( (lv_value_0_0= ruleBooleanValue ) ) ; 5127 // InternalSolverLanguage.g:1815:1: ruleCall returns [EObject current=null] : ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_STAR ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ;
3264 public final EObject ruleBooleanObject() throws RecognitionException { 5128 public final EObject ruleCall() throws RecognitionException {
3265 EObject current = null; 5129 EObject current = null;
3266 5130
3267 EObject lv_value_0_0 = null; 5131 Token lv_transitiveClosure_1_0=null;
5132 Token lv_reflexiveTransitiveClosure_2_0=null;
5133 EObject lv_functor_0_0 = null;
5134
5135 EObject lv_argumentList_3_0 = null;
3268 5136
3269 5137
3270 5138
3271 enterRule(); 5139 enterRule();
3272 5140
3273 try { 5141 try {
3274 // InternalSolverLanguage.g:1083:2: ( ( (lv_value_0_0= ruleBooleanValue ) ) ) 5142 // InternalSolverLanguage.g:1821:2: ( ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_STAR ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) )
3275 // InternalSolverLanguage.g:1084:2: ( (lv_value_0_0= ruleBooleanValue ) ) 5143 // InternalSolverLanguage.g:1822:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_STAR ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) )
3276 { 5144 {
3277 // InternalSolverLanguage.g:1084:2: ( (lv_value_0_0= ruleBooleanValue ) ) 5145 // InternalSolverLanguage.g:1822:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_STAR ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) )
3278 // InternalSolverLanguage.g:1085:3: (lv_value_0_0= ruleBooleanValue ) 5146 // InternalSolverLanguage.g:1823:3: ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_STAR ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) )
3279 { 5147 {
3280 // InternalSolverLanguage.g:1085:3: (lv_value_0_0= ruleBooleanValue ) 5148 // InternalSolverLanguage.g:1823:3: ( (lv_functor_0_0= ruleReference ) )
3281 // InternalSolverLanguage.g:1086:4: lv_value_0_0= ruleBooleanValue 5149 // InternalSolverLanguage.g:1824:4: (lv_functor_0_0= ruleReference )
3282 { 5150 {
5151 // InternalSolverLanguage.g:1824:4: (lv_functor_0_0= ruleReference )
5152 // InternalSolverLanguage.g:1825:5: lv_functor_0_0= ruleReference
5153 {
5154 if ( state.backtracking==0 ) {
5155
5156 newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0());
5157
5158 }
5159 pushFollow(FOLLOW_31);
5160 lv_functor_0_0=ruleReference();
5161
5162 state._fsp--;
5163 if (state.failed) return current;
5164 if ( state.backtracking==0 ) {
5165
5166 if (current==null) {
5167 current = createModelElementForParent(grammarAccess.getCallRule());
5168 }
5169 set(
5170 current,
5171 "functor",
5172 lv_functor_0_0,
5173 "org.eclipse.viatra.solver.language.SolverLanguage.Reference");
5174 afterParserOrEnumRuleCall();
5175
5176 }
5177
5178 }
5179
5180
5181 }
3283 5182
3284 newCompositeNode(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0()); 5183 // InternalSolverLanguage.g:1842:3: ( ( (lv_transitiveClosure_1_0= RULE_STAR ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) ) )?
3285 5184 int alt22=3;
5185 int LA22_0 = input.LA(1);
5186
5187 if ( (LA22_0==RULE_STAR) ) {
5188 alt22=1;
5189 }
5190 else if ( (LA22_0==RULE_PLUS) ) {
5191 alt22=2;
5192 }
5193 switch (alt22) {
5194 case 1 :
5195 // InternalSolverLanguage.g:1843:4: ( (lv_transitiveClosure_1_0= RULE_STAR ) )
5196 {
5197 // InternalSolverLanguage.g:1843:4: ( (lv_transitiveClosure_1_0= RULE_STAR ) )
5198 // InternalSolverLanguage.g:1844:5: (lv_transitiveClosure_1_0= RULE_STAR )
5199 {
5200 // InternalSolverLanguage.g:1844:5: (lv_transitiveClosure_1_0= RULE_STAR )
5201 // InternalSolverLanguage.g:1845:6: lv_transitiveClosure_1_0= RULE_STAR
5202 {
5203 lv_transitiveClosure_1_0=(Token)match(input,RULE_STAR,FOLLOW_10); if (state.failed) return current;
5204 if ( state.backtracking==0 ) {
5205
5206 newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getCallAccess().getTransitiveClosureSTARTerminalRuleCall_1_0_0());
5207
5208 }
5209 if ( state.backtracking==0 ) {
5210
5211 if (current==null) {
5212 current = createModelElement(grammarAccess.getCallRule());
5213 }
5214 setWithLastConsumed(
5215 current,
5216 "transitiveClosure",
5217 true,
5218 "org.eclipse.viatra.solver.language.SolverLanguage.STAR");
5219
5220 }
5221
5222 }
5223
5224
5225 }
5226
5227
5228 }
5229 break;
5230 case 2 :
5231 // InternalSolverLanguage.g:1862:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) )
5232 {
5233 // InternalSolverLanguage.g:1862:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) )
5234 // InternalSolverLanguage.g:1863:5: (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS )
5235 {
5236 // InternalSolverLanguage.g:1863:5: (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS )
5237 // InternalSolverLanguage.g:1864:6: lv_reflexiveTransitiveClosure_2_0= RULE_PLUS
5238 {
5239 lv_reflexiveTransitiveClosure_2_0=(Token)match(input,RULE_PLUS,FOLLOW_10); if (state.failed) return current;
5240 if ( state.backtracking==0 ) {
5241
5242 newLeafNode(lv_reflexiveTransitiveClosure_2_0, grammarAccess.getCallAccess().getReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0());
5243
5244 }
5245 if ( state.backtracking==0 ) {
5246
5247 if (current==null) {
5248 current = createModelElement(grammarAccess.getCallRule());
5249 }
5250 setWithLastConsumed(
5251 current,
5252 "reflexiveTransitiveClosure",
5253 true,
5254 "org.eclipse.viatra.solver.language.SolverLanguage.PLUS");
5255
5256 }
5257
5258 }
5259
5260
5261 }
5262
5263
5264 }
5265 break;
5266
5267 }
5268
5269 // InternalSolverLanguage.g:1881:3: ( (lv_argumentList_3_0= ruleArgumentList ) )
5270 // InternalSolverLanguage.g:1882:4: (lv_argumentList_3_0= ruleArgumentList )
5271 {
5272 // InternalSolverLanguage.g:1882:4: (lv_argumentList_3_0= ruleArgumentList )
5273 // InternalSolverLanguage.g:1883:5: lv_argumentList_3_0= ruleArgumentList
5274 {
5275 if ( state.backtracking==0 ) {
5276
5277 newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0());
5278
5279 }
3286 pushFollow(FOLLOW_2); 5280 pushFollow(FOLLOW_2);
3287 lv_value_0_0=ruleBooleanValue(); 5281 lv_argumentList_3_0=ruleArgumentList();
3288 5282
3289 state._fsp--; 5283 state._fsp--;
5284 if (state.failed) return current;
5285 if ( state.backtracking==0 ) {
5286
5287 if (current==null) {
5288 current = createModelElementForParent(grammarAccess.getCallRule());
5289 }
5290 set(
5291 current,
5292 "argumentList",
5293 lv_argumentList_3_0,
5294 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
5295 afterParserOrEnumRuleCall();
5296
5297 }
3290 5298
5299 }
3291 5300
3292 if (current==null) {
3293 current = createModelElementForParent(grammarAccess.getBooleanObjectRule());
3294 }
3295 set(
3296 current,
3297 "value",
3298 lv_value_0_0,
3299 "org.eclipse.viatra.solver.language.SolverLanguage.BooleanValue");
3300 afterParserOrEnumRuleCall();
3301
3302 5301
3303 } 5302 }
3304 5303
@@ -3308,9 +5307,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3308 5307
3309 } 5308 }
3310 5309
5310 if ( state.backtracking==0 ) {
3311 5311
3312 leaveRule(); 5312 leaveRule();
3313 5313
5314 }
3314 } 5315 }
3315 5316
3316 catch (RecognitionException re) { 5317 catch (RecognitionException re) {
@@ -3321,29 +5322,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3321 } 5322 }
3322 return current; 5323 return current;
3323 } 5324 }
3324 // $ANTLR end "ruleBooleanObject" 5325 // $ANTLR end "ruleCall"
3325 5326
3326 5327
3327 // $ANTLR start "entryRuleIntObject" 5328 // $ANTLR start "entryRuleArgumentList"
3328 // InternalSolverLanguage.g:1106:1: entryRuleIntObject returns [EObject current=null] : iv_ruleIntObject= ruleIntObject EOF ; 5329 // InternalSolverLanguage.g:1904:1: entryRuleArgumentList returns [EObject current=null] : iv_ruleArgumentList= ruleArgumentList EOF ;
3329 public final EObject entryRuleIntObject() throws RecognitionException { 5330 public final EObject entryRuleArgumentList() throws RecognitionException {
3330 EObject current = null; 5331 EObject current = null;
3331 5332
3332 EObject iv_ruleIntObject = null; 5333 EObject iv_ruleArgumentList = null;
3333 5334
3334 5335
3335 try { 5336 try {
3336 // InternalSolverLanguage.g:1106:50: (iv_ruleIntObject= ruleIntObject EOF ) 5337 // InternalSolverLanguage.g:1904:53: (iv_ruleArgumentList= ruleArgumentList EOF )
3337 // InternalSolverLanguage.g:1107:2: iv_ruleIntObject= ruleIntObject EOF 5338 // InternalSolverLanguage.g:1905:2: iv_ruleArgumentList= ruleArgumentList EOF
3338 { 5339 {
3339 newCompositeNode(grammarAccess.getIntObjectRule()); 5340 if ( state.backtracking==0 ) {
5341 newCompositeNode(grammarAccess.getArgumentListRule());
5342 }
3340 pushFollow(FOLLOW_1); 5343 pushFollow(FOLLOW_1);
3341 iv_ruleIntObject=ruleIntObject(); 5344 iv_ruleArgumentList=ruleArgumentList();
3342 5345
3343 state._fsp--; 5346 state._fsp--;
3344 5347 if (state.failed) return current;
3345 current =iv_ruleIntObject; 5348 if ( state.backtracking==0 ) {
3346 match(input,EOF,FOLLOW_2); 5349 current =iv_ruleArgumentList;
5350 }
5351 match(input,EOF,FOLLOW_2); if (state.failed) return current;
3347 5352
3348 } 5353 }
3349 5354
@@ -3357,61 +5362,185 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3357 } 5362 }
3358 return current; 5363 return current;
3359 } 5364 }
3360 // $ANTLR end "entryRuleIntObject" 5365 // $ANTLR end "entryRuleArgumentList"
3361 5366
3362 5367
3363 // $ANTLR start "ruleIntObject" 5368 // $ANTLR start "ruleArgumentList"
3364 // InternalSolverLanguage.g:1113:1: ruleIntObject returns [EObject current=null] : ( (lv_value_0_0= ruleINTLiteral ) ) ; 5369 // InternalSolverLanguage.g:1911:1: ruleArgumentList returns [EObject current=null] : ( () otherlv_1= '(' ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= ')' ) ;
3365 public final EObject ruleIntObject() throws RecognitionException { 5370 public final EObject ruleArgumentList() throws RecognitionException {
3366 EObject current = null; 5371 EObject current = null;
3367 5372
3368 AntlrDatatypeRuleToken lv_value_0_0 = null; 5373 Token otherlv_1=null;
5374 Token otherlv_3=null;
5375 Token otherlv_5=null;
5376 EObject lv_arguments_2_0 = null;
5377
5378 EObject lv_arguments_4_0 = null;
3369 5379
3370 5380
3371 5381
3372 enterRule(); 5382 enterRule();
3373 5383
3374 try { 5384 try {
3375 // InternalSolverLanguage.g:1119:2: ( ( (lv_value_0_0= ruleINTLiteral ) ) ) 5385 // InternalSolverLanguage.g:1917:2: ( ( () otherlv_1= '(' ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= ')' ) )
3376 // InternalSolverLanguage.g:1120:2: ( (lv_value_0_0= ruleINTLiteral ) ) 5386 // InternalSolverLanguage.g:1918:2: ( () otherlv_1= '(' ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= ')' )
3377 { 5387 {
3378 // InternalSolverLanguage.g:1120:2: ( (lv_value_0_0= ruleINTLiteral ) ) 5388 // InternalSolverLanguage.g:1918:2: ( () otherlv_1= '(' ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= ')' )
3379 // InternalSolverLanguage.g:1121:3: (lv_value_0_0= ruleINTLiteral ) 5389 // InternalSolverLanguage.g:1919:3: () otherlv_1= '(' ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= ')'
3380 { 5390 {
3381 // InternalSolverLanguage.g:1121:3: (lv_value_0_0= ruleINTLiteral ) 5391 // InternalSolverLanguage.g:1919:3: ()
3382 // InternalSolverLanguage.g:1122:4: lv_value_0_0= ruleINTLiteral 5392 // InternalSolverLanguage.g:1920:4:
3383 { 5393 {
5394 if ( state.backtracking==0 ) {
3384 5395
3385 newCompositeNode(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0()); 5396 current = forceCreateModelElement(
3386 5397 grammarAccess.getArgumentListAccess().getArgumentListAction_0(),
3387 pushFollow(FOLLOW_2); 5398 current);
3388 lv_value_0_0=ruleINTLiteral(); 5399
5400 }
3389 5401
3390 state._fsp--; 5402 }
5403
5404 otherlv_1=(Token)match(input,33,FOLLOW_32); if (state.failed) return current;
5405 if ( state.backtracking==0 ) {
5406
5407 newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1());
5408
5409 }
5410 // InternalSolverLanguage.g:1930:3: ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* )?
5411 int alt24=2;
5412 int LA24_0 = input.LA(1);
5413
5414 if ( ((LA24_0>=RULE_STRING && LA24_0<=RULE_QUOTED_ID)||LA24_0==19||LA24_0==29||LA24_0==33||(LA24_0>=35 && LA24_0<=36)||(LA24_0>=39 && LA24_0<=40)||(LA24_0>=56 && LA24_0<=57)||(LA24_0>=60 && LA24_0<=72)) ) {
5415 alt24=1;
5416 }
5417 switch (alt24) {
5418 case 1 :
5419 // InternalSolverLanguage.g:1931:4: ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )*
5420 {
5421 // InternalSolverLanguage.g:1931:4: ( (lv_arguments_2_0= ruleArgument ) )
5422 // InternalSolverLanguage.g:1932:5: (lv_arguments_2_0= ruleArgument )
5423 {
5424 // InternalSolverLanguage.g:1932:5: (lv_arguments_2_0= ruleArgument )
5425 // InternalSolverLanguage.g:1933:6: lv_arguments_2_0= ruleArgument
5426 {
5427 if ( state.backtracking==0 ) {
5428
5429 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0());
5430
5431 }
5432 pushFollow(FOLLOW_33);
5433 lv_arguments_2_0=ruleArgument();
5434
5435 state._fsp--;
5436 if (state.failed) return current;
5437 if ( state.backtracking==0 ) {
5438
5439 if (current==null) {
5440 current = createModelElementForParent(grammarAccess.getArgumentListRule());
5441 }
5442 add(
5443 current,
5444 "arguments",
5445 lv_arguments_2_0,
5446 "org.eclipse.viatra.solver.language.SolverLanguage.Argument");
5447 afterParserOrEnumRuleCall();
5448
5449 }
5450
5451 }
5452
5453
5454 }
5455
5456 // InternalSolverLanguage.g:1950:4: (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )*
5457 loop23:
5458 do {
5459 int alt23=2;
5460 int LA23_0 = input.LA(1);
5461
5462 if ( (LA23_0==28) ) {
5463 alt23=1;
5464 }
5465
5466
5467 switch (alt23) {
5468 case 1 :
5469 // InternalSolverLanguage.g:1951:5: otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) )
5470 {
5471 otherlv_3=(Token)match(input,28,FOLLOW_34); if (state.failed) return current;
5472 if ( state.backtracking==0 ) {
5473
5474 newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0());
5475
5476 }
5477 // InternalSolverLanguage.g:1955:5: ( (lv_arguments_4_0= ruleArgument ) )
5478 // InternalSolverLanguage.g:1956:6: (lv_arguments_4_0= ruleArgument )
5479 {
5480 // InternalSolverLanguage.g:1956:6: (lv_arguments_4_0= ruleArgument )
5481 // InternalSolverLanguage.g:1957:7: lv_arguments_4_0= ruleArgument
5482 {
5483 if ( state.backtracking==0 ) {
5484
5485 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0());
5486
5487 }
5488 pushFollow(FOLLOW_33);
5489 lv_arguments_4_0=ruleArgument();
5490
5491 state._fsp--;
5492 if (state.failed) return current;
5493 if ( state.backtracking==0 ) {
5494
5495 if (current==null) {
5496 current = createModelElementForParent(grammarAccess.getArgumentListRule());
5497 }
5498 add(
5499 current,
5500 "arguments",
5501 lv_arguments_4_0,
5502 "org.eclipse.viatra.solver.language.SolverLanguage.Argument");
5503 afterParserOrEnumRuleCall();
5504
5505 }
5506
5507 }
5508
5509
5510 }
5511
5512
5513 }
5514 break;
5515
5516 default :
5517 break loop23;
5518 }
5519 } while (true);
3391 5520
3392 5521
3393 if (current==null) { 5522 }
3394 current = createModelElementForParent(grammarAccess.getIntObjectRule()); 5523 break;
3395 }
3396 set(
3397 current,
3398 "value",
3399 lv_value_0_0,
3400 "org.eclipse.viatra.solver.language.SolverLanguage.INTLiteral");
3401 afterParserOrEnumRuleCall();
3402
3403 5524
3404 } 5525 }
3405 5526
5527 otherlv_5=(Token)match(input,34,FOLLOW_2); if (state.failed) return current;
5528 if ( state.backtracking==0 ) {
5529
5530 newLeafNode(otherlv_5, grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3());
5531
5532 }
3406 5533
3407 } 5534 }
3408 5535
3409 5536
3410 } 5537 }
3411 5538
5539 if ( state.backtracking==0 ) {
3412 5540
3413 leaveRule(); 5541 leaveRule();
3414 5542
5543 }
3415 } 5544 }
3416 5545
3417 catch (RecognitionException re) { 5546 catch (RecognitionException re) {
@@ -3422,29 +5551,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3422 } 5551 }
3423 return current; 5552 return current;
3424 } 5553 }
3425 // $ANTLR end "ruleIntObject" 5554 // $ANTLR end "ruleArgumentList"
3426 5555
3427 5556
3428 // $ANTLR start "entryRuleRealObject" 5557 // $ANTLR start "entryRuleArgument"
3429 // InternalSolverLanguage.g:1142:1: entryRuleRealObject returns [EObject current=null] : iv_ruleRealObject= ruleRealObject EOF ; 5558 // InternalSolverLanguage.g:1984:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ;
3430 public final EObject entryRuleRealObject() throws RecognitionException { 5559 public final EObject entryRuleArgument() throws RecognitionException {
3431 EObject current = null; 5560 EObject current = null;
3432 5561
3433 EObject iv_ruleRealObject = null; 5562 EObject iv_ruleArgument = null;
3434 5563
3435 5564
3436 try { 5565 try {
3437 // InternalSolverLanguage.g:1142:51: (iv_ruleRealObject= ruleRealObject EOF ) 5566 // InternalSolverLanguage.g:1984:49: (iv_ruleArgument= ruleArgument EOF )
3438 // InternalSolverLanguage.g:1143:2: iv_ruleRealObject= ruleRealObject EOF 5567 // InternalSolverLanguage.g:1985:2: iv_ruleArgument= ruleArgument EOF
3439 { 5568 {
3440 newCompositeNode(grammarAccess.getRealObjectRule()); 5569 if ( state.backtracking==0 ) {
5570 newCompositeNode(grammarAccess.getArgumentRule());
5571 }
3441 pushFollow(FOLLOW_1); 5572 pushFollow(FOLLOW_1);
3442 iv_ruleRealObject=ruleRealObject(); 5573 iv_ruleArgument=ruleArgument();
3443 5574
3444 state._fsp--; 5575 state._fsp--;
3445 5576 if (state.failed) return current;
3446 current =iv_ruleRealObject; 5577 if ( state.backtracking==0 ) {
3447 match(input,EOF,FOLLOW_2); 5578 current =iv_ruleArgument;
5579 }
5580 match(input,EOF,FOLLOW_2); if (state.failed) return current;
3448 5581
3449 } 5582 }
3450 5583
@@ -3458,61 +5591,133 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3458 } 5591 }
3459 return current; 5592 return current;
3460 } 5593 }
3461 // $ANTLR end "entryRuleRealObject" 5594 // $ANTLR end "entryRuleArgument"
3462 5595
3463 5596
3464 // $ANTLR start "ruleRealObject" 5597 // $ANTLR start "ruleArgument"
3465 // InternalSolverLanguage.g:1149:1: ruleRealObject returns [EObject current=null] : ( (lv_value_0_0= ruleREALLiteral ) ) ; 5598 // InternalSolverLanguage.g:1991:1: ruleArgument returns [EObject current=null] : (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ;
3466 public final EObject ruleRealObject() throws RecognitionException { 5599 public final EObject ruleArgument() throws RecognitionException {
3467 EObject current = null; 5600 EObject current = null;
3468 5601
3469 AntlrDatatypeRuleToken lv_value_0_0 = null; 5602 EObject this_ExpressionArgument_0 = null;
5603
5604 EObject this_StarArgument_1 = null;
5605
5606 EObject this_TypedArgument_2 = null;
5607
5608 EObject this_TypedStarArgument_3 = null;
3470 5609
3471 5610
3472 5611
3473 enterRule(); 5612 enterRule();
3474 5613
3475 try { 5614 try {
3476 // InternalSolverLanguage.g:1155:2: ( ( (lv_value_0_0= ruleREALLiteral ) ) ) 5615 // InternalSolverLanguage.g:1997:2: ( (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) )
3477 // InternalSolverLanguage.g:1156:2: ( (lv_value_0_0= ruleREALLiteral ) ) 5616 // InternalSolverLanguage.g:1998:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )
3478 {
3479 // InternalSolverLanguage.g:1156:2: ( (lv_value_0_0= ruleREALLiteral ) )
3480 // InternalSolverLanguage.g:1157:3: (lv_value_0_0= ruleREALLiteral )
3481 {
3482 // InternalSolverLanguage.g:1157:3: (lv_value_0_0= ruleREALLiteral )
3483 // InternalSolverLanguage.g:1158:4: lv_value_0_0= ruleREALLiteral
3484 { 5617 {
5618 // InternalSolverLanguage.g:1998:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )
5619 int alt25=4;
5620 alt25 = dfa25.predict(input);
5621 switch (alt25) {
5622 case 1 :
5623 // InternalSolverLanguage.g:1999:3: this_ExpressionArgument_0= ruleExpressionArgument
5624 {
5625 if ( state.backtracking==0 ) {
3485 5626
3486 newCompositeNode(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0()); 5627 newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0());
3487 5628
3488 pushFollow(FOLLOW_2); 5629 }
3489 lv_value_0_0=ruleREALLiteral(); 5630 pushFollow(FOLLOW_2);
5631 this_ExpressionArgument_0=ruleExpressionArgument();
3490 5632
3491 state._fsp--; 5633 state._fsp--;
5634 if (state.failed) return current;
5635 if ( state.backtracking==0 ) {
3492 5636
5637 current = this_ExpressionArgument_0;
5638 afterParserOrEnumRuleCall();
5639
5640 }
3493 5641
3494 if (current==null) { 5642 }
3495 current = createModelElementForParent(grammarAccess.getRealObjectRule()); 5643 break;
3496 } 5644 case 2 :
3497 set( 5645 // InternalSolverLanguage.g:2008:3: this_StarArgument_1= ruleStarArgument
3498 current, 5646 {
3499 "value", 5647 if ( state.backtracking==0 ) {
3500 lv_value_0_0,
3501 "org.eclipse.viatra.solver.language.SolverLanguage.REALLiteral");
3502 afterParserOrEnumRuleCall();
3503
3504 5648
3505 } 5649 newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1());
5650
5651 }
5652 pushFollow(FOLLOW_2);
5653 this_StarArgument_1=ruleStarArgument();
3506 5654
5655 state._fsp--;
5656 if (state.failed) return current;
5657 if ( state.backtracking==0 ) {
5658
5659 current = this_StarArgument_1;
5660 afterParserOrEnumRuleCall();
5661
5662 }
5663
5664 }
5665 break;
5666 case 3 :
5667 // InternalSolverLanguage.g:2017:3: this_TypedArgument_2= ruleTypedArgument
5668 {
5669 if ( state.backtracking==0 ) {
5670
5671 newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2());
5672
5673 }
5674 pushFollow(FOLLOW_2);
5675 this_TypedArgument_2=ruleTypedArgument();
5676
5677 state._fsp--;
5678 if (state.failed) return current;
5679 if ( state.backtracking==0 ) {
5680
5681 current = this_TypedArgument_2;
5682 afterParserOrEnumRuleCall();
5683
5684 }
5685
5686 }
5687 break;
5688 case 4 :
5689 // InternalSolverLanguage.g:2026:3: this_TypedStarArgument_3= ruleTypedStarArgument
5690 {
5691 if ( state.backtracking==0 ) {
5692
5693 newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3());
5694
5695 }
5696 pushFollow(FOLLOW_2);
5697 this_TypedStarArgument_3=ruleTypedStarArgument();
5698
5699 state._fsp--;
5700 if (state.failed) return current;
5701 if ( state.backtracking==0 ) {
5702
5703 current = this_TypedStarArgument_3;
5704 afterParserOrEnumRuleCall();
5705
5706 }
5707
5708 }
5709 break;
3507 5710
3508 } 5711 }
3509 5712
3510 5713
3511 } 5714 }
3512 5715
5716 if ( state.backtracking==0 ) {
3513 5717
3514 leaveRule(); 5718 leaveRule();
3515 5719
5720 }
3516 } 5721 }
3517 5722
3518 catch (RecognitionException re) { 5723 catch (RecognitionException re) {
@@ -3523,29 +5728,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3523 } 5728 }
3524 return current; 5729 return current;
3525 } 5730 }
3526 // $ANTLR end "ruleRealObject" 5731 // $ANTLR end "ruleArgument"
3527 5732
3528 5733
3529 // $ANTLR start "entryRuleStringObject" 5734 // $ANTLR start "entryRuleExpressionArgument"
3530 // InternalSolverLanguage.g:1178:1: entryRuleStringObject returns [EObject current=null] : iv_ruleStringObject= ruleStringObject EOF ; 5735 // InternalSolverLanguage.g:2038:1: entryRuleExpressionArgument returns [EObject current=null] : iv_ruleExpressionArgument= ruleExpressionArgument EOF ;
3531 public final EObject entryRuleStringObject() throws RecognitionException { 5736 public final EObject entryRuleExpressionArgument() throws RecognitionException {
3532 EObject current = null; 5737 EObject current = null;
3533 5738
3534 EObject iv_ruleStringObject = null; 5739 EObject iv_ruleExpressionArgument = null;
3535 5740
3536 5741
3537 try { 5742 try {
3538 // InternalSolverLanguage.g:1178:53: (iv_ruleStringObject= ruleStringObject EOF ) 5743 // InternalSolverLanguage.g:2038:59: (iv_ruleExpressionArgument= ruleExpressionArgument EOF )
3539 // InternalSolverLanguage.g:1179:2: iv_ruleStringObject= ruleStringObject EOF 5744 // InternalSolverLanguage.g:2039:2: iv_ruleExpressionArgument= ruleExpressionArgument EOF
3540 { 5745 {
3541 newCompositeNode(grammarAccess.getStringObjectRule()); 5746 if ( state.backtracking==0 ) {
5747 newCompositeNode(grammarAccess.getExpressionArgumentRule());
5748 }
3542 pushFollow(FOLLOW_1); 5749 pushFollow(FOLLOW_1);
3543 iv_ruleStringObject=ruleStringObject(); 5750 iv_ruleExpressionArgument=ruleExpressionArgument();
3544 5751
3545 state._fsp--; 5752 state._fsp--;
3546 5753 if (state.failed) return current;
3547 current =iv_ruleStringObject; 5754 if ( state.backtracking==0 ) {
3548 match(input,EOF,FOLLOW_2); 5755 current =iv_ruleExpressionArgument;
5756 }
5757 match(input,EOF,FOLLOW_2); if (state.failed) return current;
3549 5758
3550 } 5759 }
3551 5760
@@ -3559,43 +5768,53 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3559 } 5768 }
3560 return current; 5769 return current;
3561 } 5770 }
3562 // $ANTLR end "entryRuleStringObject" 5771 // $ANTLR end "entryRuleExpressionArgument"
3563 5772
3564 5773
3565 // $ANTLR start "ruleStringObject" 5774 // $ANTLR start "ruleExpressionArgument"
3566 // InternalSolverLanguage.g:1185:1: ruleStringObject returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; 5775 // InternalSolverLanguage.g:2045:1: ruleExpressionArgument returns [EObject current=null] : ( (lv_body_0_0= ruleComparisonExpression ) ) ;
3567 public final EObject ruleStringObject() throws RecognitionException { 5776 public final EObject ruleExpressionArgument() throws RecognitionException {
3568 EObject current = null; 5777 EObject current = null;
3569 5778
3570 Token lv_value_0_0=null; 5779 EObject lv_body_0_0 = null;
5780
3571 5781
3572 5782
3573 enterRule(); 5783 enterRule();
3574 5784
3575 try { 5785 try {
3576 // InternalSolverLanguage.g:1191:2: ( ( (lv_value_0_0= RULE_STRING ) ) ) 5786 // InternalSolverLanguage.g:2051:2: ( ( (lv_body_0_0= ruleComparisonExpression ) ) )
3577 // InternalSolverLanguage.g:1192:2: ( (lv_value_0_0= RULE_STRING ) ) 5787 // InternalSolverLanguage.g:2052:2: ( (lv_body_0_0= ruleComparisonExpression ) )
3578 { 5788 {
3579 // InternalSolverLanguage.g:1192:2: ( (lv_value_0_0= RULE_STRING ) ) 5789 // InternalSolverLanguage.g:2052:2: ( (lv_body_0_0= ruleComparisonExpression ) )
3580 // InternalSolverLanguage.g:1193:3: (lv_value_0_0= RULE_STRING ) 5790 // InternalSolverLanguage.g:2053:3: (lv_body_0_0= ruleComparisonExpression )
3581 { 5791 {
3582 // InternalSolverLanguage.g:1193:3: (lv_value_0_0= RULE_STRING ) 5792 // InternalSolverLanguage.g:2053:3: (lv_body_0_0= ruleComparisonExpression )
3583 // InternalSolverLanguage.g:1194:4: lv_value_0_0= RULE_STRING 5793 // InternalSolverLanguage.g:2054:4: lv_body_0_0= ruleComparisonExpression
3584 { 5794 {
3585 lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); 5795 if ( state.backtracking==0 ) {
5796
5797 newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0());
5798
5799 }
5800 pushFollow(FOLLOW_2);
5801 lv_body_0_0=ruleComparisonExpression();
3586 5802
3587 newLeafNode(lv_value_0_0, grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0()); 5803 state._fsp--;
3588 5804 if (state.failed) return current;
5805 if ( state.backtracking==0 ) {
3589 5806
3590 if (current==null) { 5807 if (current==null) {
3591 current = createModelElement(grammarAccess.getStringObjectRule()); 5808 current = createModelElementForParent(grammarAccess.getExpressionArgumentRule());
3592 } 5809 }
3593 setWithLastConsumed( 5810 set(
3594 current, 5811 current,
3595 "value", 5812 "body",
3596 lv_value_0_0, 5813 lv_body_0_0,
3597 "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); 5814 "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression");
3598 5815 afterParserOrEnumRuleCall();
5816
5817 }
3599 5818
3600 } 5819 }
3601 5820
@@ -3605,9 +5824,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3605 5824
3606 } 5825 }
3607 5826
5827 if ( state.backtracking==0 ) {
3608 5828
3609 leaveRule(); 5829 leaveRule();
3610 5830
5831 }
3611 } 5832 }
3612 5833
3613 catch (RecognitionException re) { 5834 catch (RecognitionException re) {
@@ -3618,29 +5839,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3618 } 5839 }
3619 return current; 5840 return current;
3620 } 5841 }
3621 // $ANTLR end "ruleStringObject" 5842 // $ANTLR end "ruleExpressionArgument"
3622 5843
3623 5844
3624 // $ANTLR start "entryRulePredicate" 5845 // $ANTLR start "entryRuleStarArgument"
3625 // InternalSolverLanguage.g:1213:1: entryRulePredicate returns [EObject current=null] : iv_rulePredicate= rulePredicate EOF ; 5846 // InternalSolverLanguage.g:2074:1: entryRuleStarArgument returns [EObject current=null] : iv_ruleStarArgument= ruleStarArgument EOF ;
3626 public final EObject entryRulePredicate() throws RecognitionException { 5847 public final EObject entryRuleStarArgument() throws RecognitionException {
3627 EObject current = null; 5848 EObject current = null;
3628 5849
3629 EObject iv_rulePredicate = null; 5850 EObject iv_ruleStarArgument = null;
3630 5851
3631 5852
3632 try { 5853 try {
3633 // InternalSolverLanguage.g:1213:50: (iv_rulePredicate= rulePredicate EOF ) 5854 // InternalSolverLanguage.g:2074:53: (iv_ruleStarArgument= ruleStarArgument EOF )
3634 // InternalSolverLanguage.g:1214:2: iv_rulePredicate= rulePredicate EOF 5855 // InternalSolverLanguage.g:2075:2: iv_ruleStarArgument= ruleStarArgument EOF
3635 { 5856 {
3636 newCompositeNode(grammarAccess.getPredicateRule()); 5857 if ( state.backtracking==0 ) {
5858 newCompositeNode(grammarAccess.getStarArgumentRule());
5859 }
3637 pushFollow(FOLLOW_1); 5860 pushFollow(FOLLOW_1);
3638 iv_rulePredicate=rulePredicate(); 5861 iv_ruleStarArgument=ruleStarArgument();
3639 5862
3640 state._fsp--; 5863 state._fsp--;
3641 5864 if (state.failed) return current;
3642 current =iv_rulePredicate; 5865 if ( state.backtracking==0 ) {
3643 match(input,EOF,FOLLOW_2); 5866 current =iv_ruleStarArgument;
5867 }
5868 match(input,EOF,FOLLOW_2); if (state.failed) return current;
3644 5869
3645 } 5870 }
3646 5871
@@ -3654,388 +5879,431 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3654 } 5879 }
3655 return current; 5880 return current;
3656 } 5881 }
3657 // $ANTLR end "entryRulePredicate" 5882 // $ANTLR end "entryRuleStarArgument"
3658 5883
3659 5884
3660 // $ANTLR start "rulePredicate" 5885 // $ANTLR start "ruleStarArgument"
3661 // InternalSolverLanguage.g:1220:1: rulePredicate returns [EObject current=null] : ( ( (lv_isError_0_0= 'error' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? otherlv_7= ':-' (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) otherlv_12= '.' ) ; 5886 // InternalSolverLanguage.g:2081:1: ruleStarArgument returns [EObject current=null] : ( () otherlv_1= '*' ) ;
3662 public final EObject rulePredicate() throws RecognitionException { 5887 public final EObject ruleStarArgument() throws RecognitionException {
3663 EObject current = null; 5888 EObject current = null;
3664 5889
3665 Token lv_isError_0_0=null; 5890 Token otherlv_1=null;
3666 Token otherlv_2=null;
3667 Token otherlv_4=null;
3668 Token otherlv_6=null;
3669 Token otherlv_7=null;
3670 Token otherlv_8=null;
3671 Token otherlv_10=null;
3672 Token otherlv_12=null;
3673 EObject lv_symbol_1_0 = null;
3674 5891
3675 EObject lv_parameters_3_0 = null;
3676 5892
3677 EObject lv_parameters_5_0 = null; 5893 enterRule();
3678 5894
3679 EObject lv_bodies_9_0 = null; 5895 try {
5896 // InternalSolverLanguage.g:2087:2: ( ( () otherlv_1= '*' ) )
5897 // InternalSolverLanguage.g:2088:2: ( () otherlv_1= '*' )
5898 {
5899 // InternalSolverLanguage.g:2088:2: ( () otherlv_1= '*' )
5900 // InternalSolverLanguage.g:2089:3: () otherlv_1= '*'
5901 {
5902 // InternalSolverLanguage.g:2089:3: ()
5903 // InternalSolverLanguage.g:2090:4:
5904 {
5905 if ( state.backtracking==0 ) {
3680 5906
3681 EObject lv_bodies_11_0 = null; 5907 current = forceCreateModelElement(
5908 grammarAccess.getStarArgumentAccess().getStarArgumentAction_0(),
5909 current);
5910
5911 }
3682 5912
5913 }
3683 5914
5915 otherlv_1=(Token)match(input,35,FOLLOW_2); if (state.failed) return current;
5916 if ( state.backtracking==0 ) {
5917
5918 newLeafNode(otherlv_1, grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1());
5919
5920 }
5921
5922 }
5923
5924
5925 }
5926
5927 if ( state.backtracking==0 ) {
5928
5929 leaveRule();
5930
5931 }
5932 }
5933
5934 catch (RecognitionException re) {
5935 recover(input,re);
5936 appendSkippedTokens();
5937 }
5938 finally {
5939 }
5940 return current;
5941 }
5942 // $ANTLR end "ruleStarArgument"
5943
5944
5945 // $ANTLR start "entryRuleTypedArgument"
5946 // InternalSolverLanguage.g:2104:1: entryRuleTypedArgument returns [EObject current=null] : iv_ruleTypedArgument= ruleTypedArgument EOF ;
5947 public final EObject entryRuleTypedArgument() throws RecognitionException {
5948 EObject current = null;
5949
5950 EObject iv_ruleTypedArgument = null;
3684 5951
3685 enterRule();
3686 5952
3687 try { 5953 try {
3688 // InternalSolverLanguage.g:1226:2: ( ( ( (lv_isError_0_0= 'error' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? otherlv_7= ':-' (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) otherlv_12= '.' ) ) 5954 // InternalSolverLanguage.g:2104:54: (iv_ruleTypedArgument= ruleTypedArgument EOF )
3689 // InternalSolverLanguage.g:1227:2: ( ( (lv_isError_0_0= 'error' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? otherlv_7= ':-' (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) otherlv_12= '.' ) 5955 // InternalSolverLanguage.g:2105:2: iv_ruleTypedArgument= ruleTypedArgument EOF
3690 { 5956 {
3691 // InternalSolverLanguage.g:1227:2: ( ( (lv_isError_0_0= 'error' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? otherlv_7= ':-' (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) otherlv_12= '.' ) 5957 if ( state.backtracking==0 ) {
3692 // InternalSolverLanguage.g:1228:3: ( (lv_isError_0_0= 'error' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? otherlv_7= ':-' (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) otherlv_12= '.' 5958 newCompositeNode(grammarAccess.getTypedArgumentRule());
3693 { 5959 }
3694 // InternalSolverLanguage.g:1228:3: ( (lv_isError_0_0= 'error' ) )? 5960 pushFollow(FOLLOW_1);
3695 int alt17=2; 5961 iv_ruleTypedArgument=ruleTypedArgument();
3696 int LA17_0 = input.LA(1);
3697 5962
3698 if ( (LA17_0==16) ) { 5963 state._fsp--;
3699 alt17=1; 5964 if (state.failed) return current;
5965 if ( state.backtracking==0 ) {
5966 current =iv_ruleTypedArgument;
3700 } 5967 }
3701 switch (alt17) { 5968 match(input,EOF,FOLLOW_2); if (state.failed) return current;
3702 case 1 :
3703 // InternalSolverLanguage.g:1229:4: (lv_isError_0_0= 'error' )
3704 {
3705 // InternalSolverLanguage.g:1229:4: (lv_isError_0_0= 'error' )
3706 // InternalSolverLanguage.g:1230:5: lv_isError_0_0= 'error'
3707 {
3708 lv_isError_0_0=(Token)match(input,16,FOLLOW_12);
3709 5969
3710 newLeafNode(lv_isError_0_0, grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); 5970 }
3711
3712 5971
3713 if (current==null) { 5972 }
3714 current = createModelElement(grammarAccess.getPredicateRule());
3715 }
3716 setWithLastConsumed(current, "isError", true, "error");
3717
3718 5973
3719 } 5974 catch (RecognitionException re) {
5975 recover(input,re);
5976 appendSkippedTokens();
5977 }
5978 finally {
5979 }
5980 return current;
5981 }
5982 // $ANTLR end "entryRuleTypedArgument"
3720 5983
3721 5984
3722 } 5985 // $ANTLR start "ruleTypedArgument"
3723 break; 5986 // InternalSolverLanguage.g:2111:1: ruleTypedArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ;
5987 public final EObject ruleTypedArgument() throws RecognitionException {
5988 EObject current = null;
3724 5989
3725 }
3726 5990
3727 // InternalSolverLanguage.g:1242:3: ( (lv_symbol_1_0= ruleModelSymbol ) ) 5991 enterRule();
3728 // InternalSolverLanguage.g:1243:4: (lv_symbol_1_0= ruleModelSymbol ) 5992
5993 try {
5994 // InternalSolverLanguage.g:2117:2: ( ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) )
5995 // InternalSolverLanguage.g:2118:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) )
5996 {
5997 // InternalSolverLanguage.g:2118:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) )
5998 // InternalSolverLanguage.g:2119:3: ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) )
3729 { 5999 {
3730 // InternalSolverLanguage.g:1243:4: (lv_symbol_1_0= ruleModelSymbol ) 6000 // InternalSolverLanguage.g:2119:3: ( ( ruleQualifiedName ) )
3731 // InternalSolverLanguage.g:1244:5: lv_symbol_1_0= ruleModelSymbol 6001 // InternalSolverLanguage.g:2120:4: ( ruleQualifiedName )
3732 { 6002 {
6003 // InternalSolverLanguage.g:2120:4: ( ruleQualifiedName )
6004 // InternalSolverLanguage.g:2121:5: ruleQualifiedName
6005 {
6006 if ( state.backtracking==0 ) {
3733 6007
3734 newCompositeNode(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0()); 6008 if (current==null) {
3735 6009 current = createModelElement(grammarAccess.getTypedArgumentRule());
3736 pushFollow(FOLLOW_14); 6010 }
3737 lv_symbol_1_0=ruleModelSymbol(); 6011
6012 }
6013 if ( state.backtracking==0 ) {
3738 6014
3739 state._fsp--; 6015 newCompositeNode(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0());
6016
6017 }
6018 pushFollow(FOLLOW_35);
6019 ruleQualifiedName();
3740 6020
6021 state._fsp--;
6022 if (state.failed) return current;
6023 if ( state.backtracking==0 ) {
3741 6024
3742 if (current==null) { 6025 afterParserOrEnumRuleCall();
3743 current = createModelElementForParent(grammarAccess.getPredicateRule()); 6026
3744 } 6027 }
3745 set(
3746 current,
3747 "symbol",
3748 lv_symbol_1_0,
3749 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
3750 afterParserOrEnumRuleCall();
3751
3752 6028
3753 } 6029 }
3754 6030
3755 6031
3756 } 6032 }
3757 6033
3758 // InternalSolverLanguage.g:1261:3: (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? 6034 // InternalSolverLanguage.g:2135:3: ( ( ruleQualifiedName ) )
3759 int alt20=2; 6035 // InternalSolverLanguage.g:2136:4: ( ruleQualifiedName )
3760 int LA20_0 = input.LA(1); 6036 {
6037 // InternalSolverLanguage.g:2136:4: ( ruleQualifiedName )
6038 // InternalSolverLanguage.g:2137:5: ruleQualifiedName
6039 {
6040 if ( state.backtracking==0 ) {
3761 6041
3762 if ( (LA20_0==17) ) { 6042 if (current==null) {
3763 alt20=1; 6043 current = createModelElement(grammarAccess.getTypedArgumentRule());
6044 }
6045
3764 } 6046 }
3765 switch (alt20) { 6047 if ( state.backtracking==0 ) {
3766 case 1 :
3767 // InternalSolverLanguage.g:1262:4: otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')'
3768 {
3769 otherlv_2=(Token)match(input,17,FOLLOW_15);
3770
3771 newLeafNode(otherlv_2, grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0());
3772
3773 // InternalSolverLanguage.g:1266:4: ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )?
3774 int alt19=2;
3775 int LA19_0 = input.LA(1);
3776 6048
3777 if ( (LA19_0==RULE_ID) ) { 6049 newCompositeNode(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0());
3778 alt19=1; 6050
3779 } 6051 }
3780 switch (alt19) { 6052 pushFollow(FOLLOW_2);
3781 case 1 : 6053 ruleQualifiedName();
3782 // InternalSolverLanguage.g:1267:5: ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )*
3783 {
3784 // InternalSolverLanguage.g:1267:5: ( (lv_parameters_3_0= ruleParameter ) )
3785 // InternalSolverLanguage.g:1268:6: (lv_parameters_3_0= ruleParameter )
3786 {
3787 // InternalSolverLanguage.g:1268:6: (lv_parameters_3_0= ruleParameter )
3788 // InternalSolverLanguage.g:1269:7: lv_parameters_3_0= ruleParameter
3789 {
3790 6054
3791 newCompositeNode(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0()); 6055 state._fsp--;
3792 6056 if (state.failed) return current;
3793 pushFollow(FOLLOW_8); 6057 if ( state.backtracking==0 ) {
3794 lv_parameters_3_0=ruleParameter();
3795 6058
3796 state._fsp--; 6059 afterParserOrEnumRuleCall();
6060
6061 }
3797 6062
6063 }
3798 6064
3799 if (current==null) {
3800 current = createModelElementForParent(grammarAccess.getPredicateRule());
3801 }
3802 add(
3803 current,
3804 "parameters",
3805 lv_parameters_3_0,
3806 "org.eclipse.viatra.solver.language.SolverLanguage.Parameter");
3807 afterParserOrEnumRuleCall();
3808
3809 6065
3810 } 6066 }
3811 6067
3812 6068
3813 } 6069 }
3814 6070
3815 // InternalSolverLanguage.g:1286:5: (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )*
3816 loop18:
3817 do {
3818 int alt18=2;
3819 int LA18_0 = input.LA(1);
3820 6071
3821 if ( (LA18_0==18) ) { 6072 }
3822 alt18=1;
3823 }
3824 6073
6074 if ( state.backtracking==0 ) {
3825 6075
3826 switch (alt18) { 6076 leaveRule();
3827 case 1 :
3828 // InternalSolverLanguage.g:1287:6: otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) )
3829 {
3830 otherlv_4=(Token)match(input,18,FOLLOW_12);
3831 6077
3832 newLeafNode(otherlv_4, grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0()); 6078 }
3833 6079 }
3834 // InternalSolverLanguage.g:1291:6: ( (lv_parameters_5_0= ruleParameter ) )
3835 // InternalSolverLanguage.g:1292:7: (lv_parameters_5_0= ruleParameter )
3836 {
3837 // InternalSolverLanguage.g:1292:7: (lv_parameters_5_0= ruleParameter )
3838 // InternalSolverLanguage.g:1293:8: lv_parameters_5_0= ruleParameter
3839 {
3840 6080
3841 newCompositeNode(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0()); 6081 catch (RecognitionException re) {
3842 6082 recover(input,re);
3843 pushFollow(FOLLOW_8); 6083 appendSkippedTokens();
3844 lv_parameters_5_0=ruleParameter(); 6084 }
6085 finally {
6086 }
6087 return current;
6088 }
6089 // $ANTLR end "ruleTypedArgument"
3845 6090
3846 state._fsp--;
3847 6091
6092 // $ANTLR start "entryRuleTypedStarArgument"
6093 // InternalSolverLanguage.g:2155:1: entryRuleTypedStarArgument returns [EObject current=null] : iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ;
6094 public final EObject entryRuleTypedStarArgument() throws RecognitionException {
6095 EObject current = null;
3848 6096
3849 if (current==null) { 6097 EObject iv_ruleTypedStarArgument = null;
3850 current = createModelElementForParent(grammarAccess.getPredicateRule());
3851 }
3852 add(
3853 current,
3854 "parameters",
3855 lv_parameters_5_0,
3856 "org.eclipse.viatra.solver.language.SolverLanguage.Parameter");
3857 afterParserOrEnumRuleCall();
3858
3859 6098
3860 }
3861 6099
6100 try {
6101 // InternalSolverLanguage.g:2155:58: (iv_ruleTypedStarArgument= ruleTypedStarArgument EOF )
6102 // InternalSolverLanguage.g:2156:2: iv_ruleTypedStarArgument= ruleTypedStarArgument EOF
6103 {
6104 if ( state.backtracking==0 ) {
6105 newCompositeNode(grammarAccess.getTypedStarArgumentRule());
6106 }
6107 pushFollow(FOLLOW_1);
6108 iv_ruleTypedStarArgument=ruleTypedStarArgument();
3862 6109
3863 } 6110 state._fsp--;
6111 if (state.failed) return current;
6112 if ( state.backtracking==0 ) {
6113 current =iv_ruleTypedStarArgument;
6114 }
6115 match(input,EOF,FOLLOW_2); if (state.failed) return current;
3864 6116
6117 }
3865 6118
3866 } 6119 }
3867 break;
3868 6120
3869 default : 6121 catch (RecognitionException re) {
3870 break loop18; 6122 recover(input,re);
3871 } 6123 appendSkippedTokens();
3872 } while (true); 6124 }
6125 finally {
6126 }
6127 return current;
6128 }
6129 // $ANTLR end "entryRuleTypedStarArgument"
3873 6130
3874 6131
3875 } 6132 // $ANTLR start "ruleTypedStarArgument"
3876 break; 6133 // InternalSolverLanguage.g:2162:1: ruleTypedStarArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) otherlv_1= '*' ) ;
6134 public final EObject ruleTypedStarArgument() throws RecognitionException {
6135 EObject current = null;
3877 6136
3878 } 6137 Token otherlv_1=null;
3879 6138
3880 otherlv_6=(Token)match(input,19,FOLLOW_16);
3881 6139
3882 newLeafNode(otherlv_6, grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2()); 6140 enterRule();
3883
3884 6141
3885 } 6142 try {
3886 break; 6143 // InternalSolverLanguage.g:2168:2: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '*' ) )
6144 // InternalSolverLanguage.g:2169:2: ( ( ( ruleQualifiedName ) ) otherlv_1= '*' )
6145 {
6146 // InternalSolverLanguage.g:2169:2: ( ( ( ruleQualifiedName ) ) otherlv_1= '*' )
6147 // InternalSolverLanguage.g:2170:3: ( ( ruleQualifiedName ) ) otherlv_1= '*'
6148 {
6149 // InternalSolverLanguage.g:2170:3: ( ( ruleQualifiedName ) )
6150 // InternalSolverLanguage.g:2171:4: ( ruleQualifiedName )
6151 {
6152 // InternalSolverLanguage.g:2171:4: ( ruleQualifiedName )
6153 // InternalSolverLanguage.g:2172:5: ruleQualifiedName
6154 {
6155 if ( state.backtracking==0 ) {
3887 6156
6157 if (current==null) {
6158 current = createModelElement(grammarAccess.getTypedStarArgumentRule());
6159 }
6160
3888 } 6161 }
6162 if ( state.backtracking==0 ) {
3889 6163
3890 otherlv_7=(Token)match(input,28,FOLLOW_17); 6164 newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0());
6165
6166 }
6167 pushFollow(FOLLOW_36);
6168 ruleQualifiedName();
3891 6169
3892 newLeafNode(otherlv_7, grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3()); 6170 state._fsp--;
3893 6171 if (state.failed) return current;
3894 // InternalSolverLanguage.g:1321:3: (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) 6172 if ( state.backtracking==0 ) {
3895 int alt22=2;
3896 int LA22_0 = input.LA(1);
3897 6173
3898 if ( (LA22_0==14) ) { 6174 afterParserOrEnumRuleCall();
3899 alt22=1; 6175
3900 } 6176 }
3901 else if ( (LA22_0==EOF||LA22_0==RULE_ID||(LA22_0>=11 && LA22_0<=13)||(LA22_0>=29 && LA22_0<=31)) ) {
3902 alt22=2;
3903 }
3904 else {
3905 NoViableAltException nvae =
3906 new NoViableAltException("", 22, 0, input);
3907 6177
3908 throw nvae;
3909 } 6178 }
3910 switch (alt22) {
3911 case 1 :
3912 // InternalSolverLanguage.g:1322:4: otherlv_8= 'false'
3913 {
3914 otherlv_8=(Token)match(input,14,FOLLOW_5);
3915 6179
3916 newLeafNode(otherlv_8, grammarAccess.getPredicateAccess().getFalseKeyword_4_0());
3917
3918 6180
3919 } 6181 }
3920 break;
3921 case 2 :
3922 // InternalSolverLanguage.g:1327:4: ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* )
3923 {
3924 // InternalSolverLanguage.g:1327:4: ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* )
3925 // InternalSolverLanguage.g:1328:5: ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )*
3926 {
3927 // InternalSolverLanguage.g:1328:5: ( (lv_bodies_9_0= rulePatternBody ) )
3928 // InternalSolverLanguage.g:1329:6: (lv_bodies_9_0= rulePatternBody )
3929 {
3930 // InternalSolverLanguage.g:1329:6: (lv_bodies_9_0= rulePatternBody )
3931 // InternalSolverLanguage.g:1330:7: lv_bodies_9_0= rulePatternBody
3932 {
3933 6182
3934 newCompositeNode(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0()); 6183 otherlv_1=(Token)match(input,35,FOLLOW_2); if (state.failed) return current;
3935 6184 if ( state.backtracking==0 ) {
3936 pushFollow(FOLLOW_18);
3937 lv_bodies_9_0=rulePatternBody();
3938 6185
3939 state._fsp--; 6186 newLeafNode(otherlv_1, grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1());
6187
6188 }
3940 6189
6190 }
3941 6191
3942 if (current==null) {
3943 current = createModelElementForParent(grammarAccess.getPredicateRule());
3944 }
3945 add(
3946 current,
3947 "bodies",
3948 lv_bodies_9_0,
3949 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody");
3950 afterParserOrEnumRuleCall();
3951
3952 6192
3953 } 6193 }
3954 6194
6195 if ( state.backtracking==0 ) {
3955 6196
3956 } 6197 leaveRule();
3957 6198
3958 // InternalSolverLanguage.g:1347:5: (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* 6199 }
3959 loop21: 6200 }
3960 do {
3961 int alt21=2;
3962 int LA21_0 = input.LA(1);
3963 6201
3964 if ( (LA21_0==29) ) { 6202 catch (RecognitionException re) {
3965 alt21=1; 6203 recover(input,re);
3966 } 6204 appendSkippedTokens();
6205 }
6206 finally {
6207 }
6208 return current;
6209 }
6210 // $ANTLR end "ruleTypedStarArgument"
3967 6211
3968 6212
3969 switch (alt21) { 6213 // $ANTLR start "entryRuleReference"
3970 case 1 : 6214 // InternalSolverLanguage.g:2194:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ;
3971 // InternalSolverLanguage.g:1348:6: otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) 6215 public final EObject entryRuleReference() throws RecognitionException {
3972 { 6216 EObject current = null;
3973 otherlv_10=(Token)match(input,29,FOLLOW_19);
3974 6217
3975 newLeafNode(otherlv_10, grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0()); 6218 EObject iv_ruleReference = null;
3976
3977 // InternalSolverLanguage.g:1352:6: ( (lv_bodies_11_0= rulePatternBody ) )
3978 // InternalSolverLanguage.g:1353:7: (lv_bodies_11_0= rulePatternBody )
3979 {
3980 // InternalSolverLanguage.g:1353:7: (lv_bodies_11_0= rulePatternBody )
3981 // InternalSolverLanguage.g:1354:8: lv_bodies_11_0= rulePatternBody
3982 {
3983 6219
3984 newCompositeNode(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0());
3985
3986 pushFollow(FOLLOW_18);
3987 lv_bodies_11_0=rulePatternBody();
3988 6220
3989 state._fsp--; 6221 try {
6222 // InternalSolverLanguage.g:2194:50: (iv_ruleReference= ruleReference EOF )
6223 // InternalSolverLanguage.g:2195:2: iv_ruleReference= ruleReference EOF
6224 {
6225 if ( state.backtracking==0 ) {
6226 newCompositeNode(grammarAccess.getReferenceRule());
6227 }
6228 pushFollow(FOLLOW_1);
6229 iv_ruleReference=ruleReference();
3990 6230
6231 state._fsp--;
6232 if (state.failed) return current;
6233 if ( state.backtracking==0 ) {
6234 current =iv_ruleReference;
6235 }
6236 match(input,EOF,FOLLOW_2); if (state.failed) return current;
3991 6237
3992 if (current==null) { 6238 }
3993 current = createModelElementForParent(grammarAccess.getPredicateRule());
3994 }
3995 add(
3996 current,
3997 "bodies",
3998 lv_bodies_11_0,
3999 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody");
4000 afterParserOrEnumRuleCall();
4001
4002 6239
4003 } 6240 }
4004 6241
6242 catch (RecognitionException re) {
6243 recover(input,re);
6244 appendSkippedTokens();
6245 }
6246 finally {
6247 }
6248 return current;
6249 }
6250 // $ANTLR end "entryRuleReference"
4005 6251
4006 }
4007 6252
6253 // $ANTLR start "ruleReference"
6254 // InternalSolverLanguage.g:2201:1: ruleReference returns [EObject current=null] : ( ( ruleQualifiedName ) ) ;
6255 public final EObject ruleReference() throws RecognitionException {
6256 EObject current = null;
4008 6257
4009 }
4010 break;
4011 6258
4012 default : 6259 enterRule();
4013 break loop21;
4014 }
4015 } while (true);
4016 6260
6261 try {
6262 // InternalSolverLanguage.g:2207:2: ( ( ( ruleQualifiedName ) ) )
6263 // InternalSolverLanguage.g:2208:2: ( ( ruleQualifiedName ) )
6264 {
6265 // InternalSolverLanguage.g:2208:2: ( ( ruleQualifiedName ) )
6266 // InternalSolverLanguage.g:2209:3: ( ruleQualifiedName )
6267 {
6268 // InternalSolverLanguage.g:2209:3: ( ruleQualifiedName )
6269 // InternalSolverLanguage.g:2210:4: ruleQualifiedName
6270 {
6271 if ( state.backtracking==0 ) {
4017 6272
4018 } 6273 if (current==null) {
6274 current = createModelElement(grammarAccess.getReferenceRule());
6275 }
6276
6277 }
6278 if ( state.backtracking==0 ) {
4019 6279
6280 newCompositeNode(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0());
6281
6282 }
6283 pushFollow(FOLLOW_2);
6284 ruleQualifiedName();
4020 6285
4021 } 6286 state._fsp--;
4022 break; 6287 if (state.failed) return current;
6288 if ( state.backtracking==0 ) {
4023 6289
6290 afterParserOrEnumRuleCall();
6291
4024 } 6292 }
4025 6293
4026 otherlv_12=(Token)match(input,12,FOLLOW_2); 6294 }
4027 6295
4028 newLeafNode(otherlv_12, grammarAccess.getPredicateAccess().getFullStopKeyword_5());
4029
4030 6296
4031 } 6297 }
4032 6298
4033 6299
4034 } 6300 }
4035 6301
6302 if ( state.backtracking==0 ) {
4036 6303
4037 leaveRule(); 6304 leaveRule();
4038 6305
6306 }
4039 } 6307 }
4040 6308
4041 catch (RecognitionException re) { 6309 catch (RecognitionException re) {
@@ -4046,29 +6314,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4046 } 6314 }
4047 return current; 6315 return current;
4048 } 6316 }
4049 // $ANTLR end "rulePredicate" 6317 // $ANTLR end "ruleReference"
4050 6318
4051 6319
4052 // $ANTLR start "entryRuleParameter" 6320 // $ANTLR start "entryRuleInterval"
4053 // InternalSolverLanguage.g:1382:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; 6321 // InternalSolverLanguage.g:2227:1: entryRuleInterval returns [EObject current=null] : iv_ruleInterval= ruleInterval EOF ;
4054 public final EObject entryRuleParameter() throws RecognitionException { 6322 public final EObject entryRuleInterval() throws RecognitionException {
4055 EObject current = null; 6323 EObject current = null;
4056 6324
4057 EObject iv_ruleParameter = null; 6325 EObject iv_ruleInterval = null;
4058 6326
4059 6327
4060 try { 6328 try {
4061 // InternalSolverLanguage.g:1382:50: (iv_ruleParameter= ruleParameter EOF ) 6329 // InternalSolverLanguage.g:2227:49: (iv_ruleInterval= ruleInterval EOF )
4062 // InternalSolverLanguage.g:1383:2: iv_ruleParameter= ruleParameter EOF 6330 // InternalSolverLanguage.g:2228:2: iv_ruleInterval= ruleInterval EOF
4063 { 6331 {
4064 newCompositeNode(grammarAccess.getParameterRule()); 6332 if ( state.backtracking==0 ) {
6333 newCompositeNode(grammarAccess.getIntervalRule());
6334 }
4065 pushFollow(FOLLOW_1); 6335 pushFollow(FOLLOW_1);
4066 iv_ruleParameter=ruleParameter(); 6336 iv_ruleInterval=ruleInterval();
4067 6337
4068 state._fsp--; 6338 state._fsp--;
4069 6339 if (state.failed) return current;
4070 current =iv_ruleParameter; 6340 if ( state.backtracking==0 ) {
4071 match(input,EOF,FOLLOW_2); 6341 current =iv_ruleInterval;
6342 }
6343 match(input,EOF,FOLLOW_2); if (state.failed) return current;
4072 6344
4073 } 6345 }
4074 6346
@@ -4082,122 +6354,131 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4082 } 6354 }
4083 return current; 6355 return current;
4084 } 6356 }
4085 // $ANTLR end "entryRuleParameter" 6357 // $ANTLR end "entryRuleInterval"
4086 6358
4087 6359
4088 // $ANTLR start "ruleParameter" 6360 // $ANTLR start "ruleInterval"
4089 // InternalSolverLanguage.g:1389:1: ruleParameter returns [EObject current=null] : ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) ; 6361 // InternalSolverLanguage.g:2234:1: ruleInterval returns [EObject current=null] : (otherlv_0= '[' ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= ']' ) ;
4090 public final EObject ruleParameter() throws RecognitionException { 6362 public final EObject ruleInterval() throws RecognitionException {
4091 EObject current = null; 6363 EObject current = null;
4092 6364
4093 Token otherlv_1=null; 6365 Token otherlv_0=null;
4094 EObject lv_variable_0_0 = null; 6366 Token otherlv_2=null;
6367 Token otherlv_4=null;
6368 EObject lv_lowerBound_1_0 = null;
4095 6369
4096 EObject lv_type_2_0 = null; 6370 EObject lv_upperBound_3_0 = null;
4097 6371
4098 6372
4099 6373
4100 enterRule(); 6374 enterRule();
4101 6375
4102 try { 6376 try {
4103 // InternalSolverLanguage.g:1395:2: ( ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) ) 6377 // InternalSolverLanguage.g:2240:2: ( (otherlv_0= '[' ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= ']' ) )
4104 // InternalSolverLanguage.g:1396:2: ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) 6378 // InternalSolverLanguage.g:2241:2: (otherlv_0= '[' ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= ']' )
4105 { 6379 {
4106 // InternalSolverLanguage.g:1396:2: ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) 6380 // InternalSolverLanguage.g:2241:2: (otherlv_0= '[' ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= ']' )
4107 // InternalSolverLanguage.g:1397:3: ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? 6381 // InternalSolverLanguage.g:2242:3: otherlv_0= '[' ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= ']'
4108 { 6382 {
4109 // InternalSolverLanguage.g:1397:3: ( (lv_variable_0_0= ruleVariable ) ) 6383 otherlv_0=(Token)match(input,36,FOLLOW_6); if (state.failed) return current;
4110 // InternalSolverLanguage.g:1398:4: (lv_variable_0_0= ruleVariable ) 6384 if ( state.backtracking==0 ) {
6385
6386 newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0());
6387
6388 }
6389 // InternalSolverLanguage.g:2246:3: ( (lv_lowerBound_1_0= ruleExpression ) )
6390 // InternalSolverLanguage.g:2247:4: (lv_lowerBound_1_0= ruleExpression )
4111 { 6391 {
4112 // InternalSolverLanguage.g:1398:4: (lv_variable_0_0= ruleVariable ) 6392 // InternalSolverLanguage.g:2247:4: (lv_lowerBound_1_0= ruleExpression )
4113 // InternalSolverLanguage.g:1399:5: lv_variable_0_0= ruleVariable 6393 // InternalSolverLanguage.g:2248:5: lv_lowerBound_1_0= ruleExpression
4114 { 6394 {
6395 if ( state.backtracking==0 ) {
4115 6396
4116 newCompositeNode(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0()); 6397 newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0());
4117 6398
4118 pushFollow(FOLLOW_20); 6399 }
4119 lv_variable_0_0=ruleVariable(); 6400 pushFollow(FOLLOW_37);
6401 lv_lowerBound_1_0=ruleExpression();
4120 6402
4121 state._fsp--; 6403 state._fsp--;
6404 if (state.failed) return current;
6405 if ( state.backtracking==0 ) {
4122 6406
4123 6407 if (current==null) {
4124 if (current==null) { 6408 current = createModelElementForParent(grammarAccess.getIntervalRule());
4125 current = createModelElementForParent(grammarAccess.getParameterRule()); 6409 }
4126 } 6410 set(
4127 set( 6411 current,
4128 current, 6412 "lowerBound",
4129 "variable", 6413 lv_lowerBound_1_0,
4130 lv_variable_0_0, 6414 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
4131 "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); 6415 afterParserOrEnumRuleCall();
4132 afterParserOrEnumRuleCall(); 6416
4133
4134
4135 } 6417 }
4136 6418
4137
4138 } 6419 }
4139 6420
4140 // InternalSolverLanguage.g:1416:3: (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )?
4141 int alt23=2;
4142 int LA23_0 = input.LA(1);
4143 6421
4144 if ( (LA23_0==20) ) {
4145 alt23=1;
4146 } 6422 }
4147 switch (alt23) {
4148 case 1 :
4149 // InternalSolverLanguage.g:1417:4: otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) )
4150 {
4151 otherlv_1=(Token)match(input,20,FOLLOW_21);
4152 6423
4153 newLeafNode(otherlv_1, grammarAccess.getParameterAccess().getColonKeyword_1_0()); 6424 otherlv_2=(Token)match(input,37,FOLLOW_6); if (state.failed) return current;
4154 6425 if ( state.backtracking==0 ) {
4155 // InternalSolverLanguage.g:1421:4: ( (lv_type_2_0= ruleSymbol ) )
4156 // InternalSolverLanguage.g:1422:5: (lv_type_2_0= ruleSymbol )
4157 {
4158 // InternalSolverLanguage.g:1422:5: (lv_type_2_0= ruleSymbol )
4159 // InternalSolverLanguage.g:1423:6: lv_type_2_0= ruleSymbol
4160 {
4161
4162 newCompositeNode(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0());
4163
4164 pushFollow(FOLLOW_2);
4165 lv_type_2_0=ruleSymbol();
4166 6426
4167 state._fsp--; 6427 newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2());
6428
6429 }
6430 // InternalSolverLanguage.g:2269:3: ( (lv_upperBound_3_0= ruleExpression ) )
6431 // InternalSolverLanguage.g:2270:4: (lv_upperBound_3_0= ruleExpression )
6432 {
6433 // InternalSolverLanguage.g:2270:4: (lv_upperBound_3_0= ruleExpression )
6434 // InternalSolverLanguage.g:2271:5: lv_upperBound_3_0= ruleExpression
6435 {
6436 if ( state.backtracking==0 ) {
4168 6437
6438 newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0());
6439
6440 }
6441 pushFollow(FOLLOW_38);
6442 lv_upperBound_3_0=ruleExpression();
4169 6443
4170 if (current==null) { 6444 state._fsp--;
4171 current = createModelElementForParent(grammarAccess.getParameterRule()); 6445 if (state.failed) return current;
4172 } 6446 if ( state.backtracking==0 ) {
4173 set(
4174 current,
4175 "type",
4176 lv_type_2_0,
4177 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
4178 afterParserOrEnumRuleCall();
4179
4180 6447
4181 } 6448 if (current==null) {
6449 current = createModelElementForParent(grammarAccess.getIntervalRule());
6450 }
6451 set(
6452 current,
6453 "upperBound",
6454 lv_upperBound_3_0,
6455 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
6456 afterParserOrEnumRuleCall();
6457
6458 }
4182 6459
6460 }
4183 6461
4184 }
4185 6462
6463 }
4186 6464
4187 } 6465 otherlv_4=(Token)match(input,38,FOLLOW_2); if (state.failed) return current;
4188 break; 6466 if ( state.backtracking==0 ) {
4189 6467
6468 newLeafNode(otherlv_4, grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4());
6469
4190 } 6470 }
4191 6471
4192
4193 } 6472 }
4194 6473
4195 6474
4196 } 6475 }
4197 6476
6477 if ( state.backtracking==0 ) {
4198 6478
4199 leaveRule(); 6479 leaveRule();
4200 6480
6481 }
4201 } 6482 }
4202 6483
4203 catch (RecognitionException re) { 6484 catch (RecognitionException re) {
@@ -4208,29 +6489,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4208 } 6489 }
4209 return current; 6490 return current;
4210 } 6491 }
4211 // $ANTLR end "ruleParameter" 6492 // $ANTLR end "ruleInterval"
4212 6493
4213 6494
4214 // $ANTLR start "entryRulePatternBody" 6495 // $ANTLR start "entryRuleLiteral"
4215 // InternalSolverLanguage.g:1445:1: entryRulePatternBody returns [EObject current=null] : iv_rulePatternBody= rulePatternBody EOF ; 6496 // InternalSolverLanguage.g:2296:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
4216 public final EObject entryRulePatternBody() throws RecognitionException { 6497 public final EObject entryRuleLiteral() throws RecognitionException {
4217 EObject current = null; 6498 EObject current = null;
4218 6499
4219 EObject iv_rulePatternBody = null; 6500 EObject iv_ruleLiteral = null;
4220 6501
4221 6502
4222 try { 6503 try {
4223 // InternalSolverLanguage.g:1445:52: (iv_rulePatternBody= rulePatternBody EOF ) 6504 // InternalSolverLanguage.g:2296:48: (iv_ruleLiteral= ruleLiteral EOF )
4224 // InternalSolverLanguage.g:1446:2: iv_rulePatternBody= rulePatternBody EOF 6505 // InternalSolverLanguage.g:2297:2: iv_ruleLiteral= ruleLiteral EOF
4225 { 6506 {
4226 newCompositeNode(grammarAccess.getPatternBodyRule()); 6507 if ( state.backtracking==0 ) {
6508 newCompositeNode(grammarAccess.getLiteralRule());
6509 }
4227 pushFollow(FOLLOW_1); 6510 pushFollow(FOLLOW_1);
4228 iv_rulePatternBody=rulePatternBody(); 6511 iv_ruleLiteral=ruleLiteral();
4229 6512
4230 state._fsp--; 6513 state._fsp--;
4231 6514 if (state.failed) return current;
4232 current =iv_rulePatternBody; 6515 if ( state.backtracking==0 ) {
4233 match(input,EOF,FOLLOW_2); 6516 current =iv_ruleLiteral;
6517 }
6518 match(input,EOF,FOLLOW_2); if (state.failed) return current;
4234 6519
4235 } 6520 }
4236 6521
@@ -4244,133 +6529,193 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4244 } 6529 }
4245 return current; 6530 return current;
4246 } 6531 }
4247 // $ANTLR end "entryRulePatternBody" 6532 // $ANTLR end "entryRuleLiteral"
4248 6533
4249 6534
4250 // $ANTLR start "rulePatternBody" 6535 // $ANTLR start "ruleLiteral"
4251 // InternalSolverLanguage.g:1452:1: rulePatternBody returns [EObject current=null] : ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) ; 6536 // InternalSolverLanguage.g:2303: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 ) ;
4252 public final EObject rulePatternBody() throws RecognitionException { 6537 public final EObject ruleLiteral() throws RecognitionException {
4253 EObject current = null; 6538 EObject current = null;
4254 6539
4255 Token otherlv_1=null; 6540 EObject this_LogicLiteral_0 = null;
4256 EObject lv_constraints_2_0 = null;
4257 6541
6542 EObject this_NumericLiteral_1 = null;
4258 6543
6544 EObject this_InfinityLiteral_2 = null;
4259 6545
4260 enterRule(); 6546 EObject this_EmptyIntervalLiteral_3 = null;
4261 6547
4262 try { 6548 EObject this_StringLiteral_4 = null;
4263 // InternalSolverLanguage.g:1458:2: ( ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) )
4264 // InternalSolverLanguage.g:1459:2: ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) )
4265 {
4266 // InternalSolverLanguage.g:1459:2: ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) )
4267 // InternalSolverLanguage.g:1460:3: () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* )
4268 {
4269 // InternalSolverLanguage.g:1460:3: ()
4270 // InternalSolverLanguage.g:1461:4:
4271 {
4272 6549
4273 current = forceCreateModelElement(
4274 grammarAccess.getPatternBodyAccess().getPatternBodyAction_0(),
4275 current);
4276
4277 6550
4278 }
4279 6551
4280 // InternalSolverLanguage.g:1467:3: (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) 6552 enterRule();
4281 int alt25=2;
4282 int LA25_0 = input.LA(1);
4283 6553
4284 if ( (LA25_0==13) ) { 6554 try {
4285 alt25=1; 6555 // InternalSolverLanguage.g:2309:2: ( (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) )
4286 } 6556 // InternalSolverLanguage.g:2310:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral )
4287 else if ( (LA25_0==EOF||LA25_0==RULE_ID||(LA25_0>=11 && LA25_0<=12)||(LA25_0>=29 && LA25_0<=31)) ) { 6557 {
4288 alt25=2; 6558 // InternalSolverLanguage.g:2310:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral )
4289 } 6559 int alt26=5;
4290 else { 6560 switch ( input.LA(1) ) {
6561 case 19:
6562 case 70:
6563 case 71:
6564 case 72:
6565 {
6566 alt26=1;
6567 }
6568 break;
6569 case RULE_INT:
6570 {
6571 alt26=2;
6572 }
6573 break;
6574 case 39:
6575 {
6576 alt26=3;
6577 }
6578 break;
6579 case 40:
6580 {
6581 alt26=4;
6582 }
6583 break;
6584 case RULE_STRING:
6585 {
6586 alt26=5;
6587 }
6588 break;
6589 default:
6590 if (state.backtracking>0) {state.failed=true; return current;}
4291 NoViableAltException nvae = 6591 NoViableAltException nvae =
4292 new NoViableAltException("", 25, 0, input); 6592 new NoViableAltException("", 26, 0, input);
4293 6593
4294 throw nvae; 6594 throw nvae;
4295 } 6595 }
4296 switch (alt25) { 6596
6597 switch (alt26) {
4297 case 1 : 6598 case 1 :
4298 // InternalSolverLanguage.g:1468:4: otherlv_1= 'true' 6599 // InternalSolverLanguage.g:2311:3: this_LogicLiteral_0= ruleLogicLiteral
4299 { 6600 {
4300 otherlv_1=(Token)match(input,13,FOLLOW_2); 6601 if ( state.backtracking==0 ) {
4301 6602
4302 newLeafNode(otherlv_1, grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); 6603 newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0());
4303 6604
6605 }
6606 pushFollow(FOLLOW_2);
6607 this_LogicLiteral_0=ruleLogicLiteral();
6608
6609 state._fsp--;
6610 if (state.failed) return current;
6611 if ( state.backtracking==0 ) {
6612
6613 current = this_LogicLiteral_0;
6614 afterParserOrEnumRuleCall();
6615
6616 }
4304 6617
4305 } 6618 }
4306 break; 6619 break;
4307 case 2 : 6620 case 2 :
4308 // InternalSolverLanguage.g:1473:4: ( (lv_constraints_2_0= ruleConstraint ) )* 6621 // InternalSolverLanguage.g:2320:3: this_NumericLiteral_1= ruleNumericLiteral
4309 { 6622 {
4310 // InternalSolverLanguage.g:1473:4: ( (lv_constraints_2_0= ruleConstraint ) )* 6623 if ( state.backtracking==0 ) {
4311 loop24:
4312 do {
4313 int alt24=2;
4314 int LA24_0 = input.LA(1);
4315
4316 if ( (LA24_0==RULE_ID||LA24_0==11||(LA24_0>=30 && LA24_0<=31)) ) {
4317 alt24=1;
4318 }
4319 6624
6625 newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1());
6626
6627 }
6628 pushFollow(FOLLOW_2);
6629 this_NumericLiteral_1=ruleNumericLiteral();
4320 6630
4321 switch (alt24) { 6631 state._fsp--;
4322 case 1 : 6632 if (state.failed) return current;
4323 // InternalSolverLanguage.g:1474:5: (lv_constraints_2_0= ruleConstraint ) 6633 if ( state.backtracking==0 ) {
4324 {
4325 // InternalSolverLanguage.g:1474:5: (lv_constraints_2_0= ruleConstraint )
4326 // InternalSolverLanguage.g:1475:6: lv_constraints_2_0= ruleConstraint
4327 {
4328 6634
4329 newCompositeNode(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0()); 6635 current = this_NumericLiteral_1;
4330 6636 afterParserOrEnumRuleCall();
4331 pushFollow(FOLLOW_22); 6637
4332 lv_constraints_2_0=ruleConstraint(); 6638 }
4333 6639
4334 state._fsp--; 6640 }
6641 break;
6642 case 3 :
6643 // InternalSolverLanguage.g:2329:3: this_InfinityLiteral_2= ruleInfinityLiteral
6644 {
6645 if ( state.backtracking==0 ) {
4335 6646
6647 newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2());
6648
6649 }
6650 pushFollow(FOLLOW_2);
6651 this_InfinityLiteral_2=ruleInfinityLiteral();
4336 6652
4337 if (current==null) { 6653 state._fsp--;
4338 current = createModelElementForParent(grammarAccess.getPatternBodyRule()); 6654 if (state.failed) return current;
4339 } 6655 if ( state.backtracking==0 ) {
4340 add(
4341 current,
4342 "constraints",
4343 lv_constraints_2_0,
4344 "org.eclipse.viatra.solver.language.SolverLanguage.Constraint");
4345 afterParserOrEnumRuleCall();
4346
4347 6656
4348 } 6657 current = this_InfinityLiteral_2;
6658 afterParserOrEnumRuleCall();
6659
6660 }
4349 6661
6662 }
6663 break;
6664 case 4 :
6665 // InternalSolverLanguage.g:2338:3: this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral
6666 {
6667 if ( state.backtracking==0 ) {
4350 6668
4351 } 6669 newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3());
4352 break; 6670
6671 }
6672 pushFollow(FOLLOW_2);
6673 this_EmptyIntervalLiteral_3=ruleEmptyIntervalLiteral();
4353 6674
4354 default : 6675 state._fsp--;
4355 break loop24; 6676 if (state.failed) return current;
4356 } 6677 if ( state.backtracking==0 ) {
4357 } while (true);
4358 6678
6679 current = this_EmptyIntervalLiteral_3;
6680 afterParserOrEnumRuleCall();
6681
6682 }
4359 6683
4360 } 6684 }
4361 break; 6685 break;
6686 case 5 :
6687 // InternalSolverLanguage.g:2347:3: this_StringLiteral_4= ruleStringLiteral
6688 {
6689 if ( state.backtracking==0 ) {
4362 6690
4363 } 6691 newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4());
6692
6693 }
6694 pushFollow(FOLLOW_2);
6695 this_StringLiteral_4=ruleStringLiteral();
6696
6697 state._fsp--;
6698 if (state.failed) return current;
6699 if ( state.backtracking==0 ) {
4364 6700
6701 current = this_StringLiteral_4;
6702 afterParserOrEnumRuleCall();
6703
6704 }
6705
6706 }
6707 break;
4365 6708
4366 } 6709 }
4367 6710
4368 6711
4369 } 6712 }
4370 6713
6714 if ( state.backtracking==0 ) {
4371 6715
4372 leaveRule(); 6716 leaveRule();
4373 6717
6718 }
4374 } 6719 }
4375 6720
4376 catch (RecognitionException re) { 6721 catch (RecognitionException re) {
@@ -4381,29 +6726,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4381 } 6726 }
4382 return current; 6727 return current;
4383 } 6728 }
4384 // $ANTLR end "rulePatternBody" 6729 // $ANTLR end "ruleLiteral"
4385 6730
4386 6731
4387 // $ANTLR start "entryRulePolarity" 6732 // $ANTLR start "entryRuleLogicLiteral"
4388 // InternalSolverLanguage.g:1497:1: entryRulePolarity returns [EObject current=null] : iv_rulePolarity= rulePolarity EOF ; 6733 // InternalSolverLanguage.g:2359:1: entryRuleLogicLiteral returns [EObject current=null] : iv_ruleLogicLiteral= ruleLogicLiteral EOF ;
4389 public final EObject entryRulePolarity() throws RecognitionException { 6734 public final EObject entryRuleLogicLiteral() throws RecognitionException {
4390 EObject current = null; 6735 EObject current = null;
4391 6736
4392 EObject iv_rulePolarity = null; 6737 EObject iv_ruleLogicLiteral = null;
4393 6738
4394 6739
4395 try { 6740 try {
4396 // InternalSolverLanguage.g:1497:49: (iv_rulePolarity= rulePolarity EOF ) 6741 // InternalSolverLanguage.g:2359:53: (iv_ruleLogicLiteral= ruleLogicLiteral EOF )
4397 // InternalSolverLanguage.g:1498:2: iv_rulePolarity= rulePolarity EOF 6742 // InternalSolverLanguage.g:2360:2: iv_ruleLogicLiteral= ruleLogicLiteral EOF
4398 { 6743 {
4399 newCompositeNode(grammarAccess.getPolarityRule()); 6744 if ( state.backtracking==0 ) {
6745 newCompositeNode(grammarAccess.getLogicLiteralRule());
6746 }
4400 pushFollow(FOLLOW_1); 6747 pushFollow(FOLLOW_1);
4401 iv_rulePolarity=rulePolarity(); 6748 iv_ruleLogicLiteral=ruleLogicLiteral();
4402 6749
4403 state._fsp--; 6750 state._fsp--;
4404 6751 if (state.failed) return current;
4405 current =iv_rulePolarity; 6752 if ( state.backtracking==0 ) {
4406 match(input,EOF,FOLLOW_2); 6753 current =iv_ruleLogicLiteral;
6754 }
6755 match(input,EOF,FOLLOW_2); if (state.failed) return current;
4407 6756
4408 } 6757 }
4409 6758
@@ -4417,104 +6766,178 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4417 } 6766 }
4418 return current; 6767 return current;
4419 } 6768 }
4420 // $ANTLR end "entryRulePolarity" 6769 // $ANTLR end "entryRuleLogicLiteral"
4421 6770
4422 6771
4423 // $ANTLR start "rulePolarity" 6772 // $ANTLR start "ruleLogicLiteral"
4424 // InternalSolverLanguage.g:1504:1: rulePolarity returns [EObject current=null] : ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) ; 6773 // InternalSolverLanguage.g:2366:1: ruleLogicLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleLogicValue ) ) ;
4425 public final EObject rulePolarity() throws RecognitionException { 6774 public final EObject ruleLogicLiteral() throws RecognitionException {
4426 EObject current = null; 6775 EObject current = null;
4427 6776
4428 Token otherlv_1=null; 6777 Enumerator lv_value_0_0 = null;
4429 Token otherlv_3=null; 6778
4430 6779
4431 6780
4432 enterRule(); 6781 enterRule();
4433 6782
4434 try { 6783 try {
4435 // InternalSolverLanguage.g:1510:2: ( ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) ) 6784 // InternalSolverLanguage.g:2372:2: ( ( (lv_value_0_0= ruleLogicValue ) ) )
4436 // InternalSolverLanguage.g:1511:2: ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) 6785 // InternalSolverLanguage.g:2373:2: ( (lv_value_0_0= ruleLogicValue ) )
6786 {
6787 // InternalSolverLanguage.g:2373:2: ( (lv_value_0_0= ruleLogicValue ) )
6788 // InternalSolverLanguage.g:2374:3: (lv_value_0_0= ruleLogicValue )
6789 {
6790 // InternalSolverLanguage.g:2374:3: (lv_value_0_0= ruleLogicValue )
6791 // InternalSolverLanguage.g:2375:4: lv_value_0_0= ruleLogicValue
4437 { 6792 {
4438 // InternalSolverLanguage.g:1511:2: ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) 6793 if ( state.backtracking==0 ) {
4439 int alt26=2;
4440 int LA26_0 = input.LA(1);
4441 6794
4442 if ( (LA26_0==30) ) { 6795 newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0());
4443 alt26=1; 6796
4444 } 6797 }
4445 else if ( (LA26_0==11) ) { 6798 pushFollow(FOLLOW_2);
4446 alt26=2; 6799 lv_value_0_0=ruleLogicValue();
6800
6801 state._fsp--;
6802 if (state.failed) return current;
6803 if ( state.backtracking==0 ) {
6804
6805 if (current==null) {
6806 current = createModelElementForParent(grammarAccess.getLogicLiteralRule());
6807 }
6808 set(
6809 current,
6810 "value",
6811 lv_value_0_0,
6812 "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue");
6813 afterParserOrEnumRuleCall();
6814
4447 } 6815 }
4448 else {
4449 NoViableAltException nvae =
4450 new NoViableAltException("", 26, 0, input);
4451 6816
4452 throw nvae;
4453 } 6817 }
4454 switch (alt26) {
4455 case 1 :
4456 // InternalSolverLanguage.g:1512:3: ( () otherlv_1= '+' )
4457 {
4458 // InternalSolverLanguage.g:1512:3: ( () otherlv_1= '+' )
4459 // InternalSolverLanguage.g:1513:4: () otherlv_1= '+'
4460 {
4461 // InternalSolverLanguage.g:1513:4: ()
4462 // InternalSolverLanguage.g:1514:5:
4463 {
4464 6818
4465 current = forceCreateModelElement(
4466 grammarAccess.getPolarityAccess().getPositiveAction_0_0(),
4467 current);
4468
4469 6819
4470 } 6820 }
4471 6821
4472 otherlv_1=(Token)match(input,30,FOLLOW_2);
4473 6822
4474 newLeafNode(otherlv_1, grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1()); 6823 }
4475
4476 6824
4477 } 6825 if ( state.backtracking==0 ) {
4478 6826
6827 leaveRule();
4479 6828
4480 } 6829 }
4481 break; 6830 }
4482 case 2 :
4483 // InternalSolverLanguage.g:1526:3: ( () otherlv_3= '-' )
4484 {
4485 // InternalSolverLanguage.g:1526:3: ( () otherlv_3= '-' )
4486 // InternalSolverLanguage.g:1527:4: () otherlv_3= '-'
4487 {
4488 // InternalSolverLanguage.g:1527:4: ()
4489 // InternalSolverLanguage.g:1528:5:
4490 {
4491 6831
4492 current = forceCreateModelElement( 6832 catch (RecognitionException re) {
4493 grammarAccess.getPolarityAccess().getNegativeAction_1_0(), 6833 recover(input,re);
4494 current); 6834 appendSkippedTokens();
4495 6835 }
6836 finally {
6837 }
6838 return current;
6839 }
6840 // $ANTLR end "ruleLogicLiteral"
4496 6841
4497 }
4498 6842
4499 otherlv_3=(Token)match(input,11,FOLLOW_2); 6843 // $ANTLR start "entryRuleNumericLiteral"
6844 // InternalSolverLanguage.g:2395:1: entryRuleNumericLiteral returns [EObject current=null] : iv_ruleNumericLiteral= ruleNumericLiteral EOF ;
6845 public final EObject entryRuleNumericLiteral() throws RecognitionException {
6846 EObject current = null;
4500 6847
4501 newLeafNode(otherlv_3, grammarAccess.getPolarityAccess().getHyphenMinusKeyword_1_1()); 6848 EObject iv_ruleNumericLiteral = null;
4502
4503 6849
4504 }
4505 6850
6851 try {
6852 // InternalSolverLanguage.g:2395:55: (iv_ruleNumericLiteral= ruleNumericLiteral EOF )
6853 // InternalSolverLanguage.g:2396:2: iv_ruleNumericLiteral= ruleNumericLiteral EOF
6854 {
6855 if ( state.backtracking==0 ) {
6856 newCompositeNode(grammarAccess.getNumericLiteralRule());
6857 }
6858 pushFollow(FOLLOW_1);
6859 iv_ruleNumericLiteral=ruleNumericLiteral();
4506 6860
4507 } 6861 state._fsp--;
4508 break; 6862 if (state.failed) return current;
6863 if ( state.backtracking==0 ) {
6864 current =iv_ruleNumericLiteral;
6865 }
6866 match(input,EOF,FOLLOW_2); if (state.failed) return current;
4509 6867
4510 } 6868 }
4511 6869
6870 }
4512 6871
6872 catch (RecognitionException re) {
6873 recover(input,re);
6874 appendSkippedTokens();
6875 }
6876 finally {
6877 }
6878 return current;
6879 }
6880 // $ANTLR end "entryRuleNumericLiteral"
6881
6882
6883 // $ANTLR start "ruleNumericLiteral"
6884 // InternalSolverLanguage.g:2402:1: ruleNumericLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleReal ) ) ;
6885 public final EObject ruleNumericLiteral() throws RecognitionException {
6886 EObject current = null;
6887
6888 AntlrDatatypeRuleToken lv_value_0_0 = null;
6889
6890
6891
6892 enterRule();
6893
6894 try {
6895 // InternalSolverLanguage.g:2408:2: ( ( (lv_value_0_0= ruleReal ) ) )
6896 // InternalSolverLanguage.g:2409:2: ( (lv_value_0_0= ruleReal ) )
6897 {
6898 // InternalSolverLanguage.g:2409:2: ( (lv_value_0_0= ruleReal ) )
6899 // InternalSolverLanguage.g:2410:3: (lv_value_0_0= ruleReal )
6900 {
6901 // InternalSolverLanguage.g:2410:3: (lv_value_0_0= ruleReal )
6902 // InternalSolverLanguage.g:2411:4: lv_value_0_0= ruleReal
6903 {
6904 if ( state.backtracking==0 ) {
6905
6906 newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0());
6907
6908 }
6909 pushFollow(FOLLOW_2);
6910 lv_value_0_0=ruleReal();
6911
6912 state._fsp--;
6913 if (state.failed) return current;
6914 if ( state.backtracking==0 ) {
6915
6916 if (current==null) {
6917 current = createModelElementForParent(grammarAccess.getNumericLiteralRule());
6918 }
6919 set(
6920 current,
6921 "value",
6922 lv_value_0_0,
6923 "org.eclipse.viatra.solver.language.SolverLanguage.Real");
6924 afterParserOrEnumRuleCall();
6925
4513 } 6926 }
4514 6927
6928 }
6929
6930
6931 }
6932
6933
6934 }
4515 6935
4516 leaveRule(); 6936 if ( state.backtracking==0 ) {
4517 6937
6938 leaveRule();
6939
6940 }
4518 } 6941 }
4519 6942
4520 catch (RecognitionException re) { 6943 catch (RecognitionException re) {
@@ -4525,32 +6948,96 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4525 } 6948 }
4526 return current; 6949 return current;
4527 } 6950 }
4528 // $ANTLR end "rulePolarity" 6951 // $ANTLR end "ruleNumericLiteral"
4529 6952
4530 6953
4531 // $ANTLR start "entryRuleConstraint" 6954 // $ANTLR start "entryRuleInfinityLiteral"
4532 // InternalSolverLanguage.g:1543:1: entryRuleConstraint returns [EObject current=null] : iv_ruleConstraint= ruleConstraint EOF ; 6955 // InternalSolverLanguage.g:2431:1: entryRuleInfinityLiteral returns [EObject current=null] : iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ;
4533 public final EObject entryRuleConstraint() throws RecognitionException { 6956 public final EObject entryRuleInfinityLiteral() throws RecognitionException {
4534 EObject current = null; 6957 EObject current = null;
4535 6958
4536 EObject iv_ruleConstraint = null; 6959 EObject iv_ruleInfinityLiteral = null;
4537 6960
4538 6961
4539 try { 6962 try {
4540 // InternalSolverLanguage.g:1543:51: (iv_ruleConstraint= ruleConstraint EOF ) 6963 // InternalSolverLanguage.g:2431:56: (iv_ruleInfinityLiteral= ruleInfinityLiteral EOF )
4541 // InternalSolverLanguage.g:1544:2: iv_ruleConstraint= ruleConstraint EOF 6964 // InternalSolverLanguage.g:2432:2: iv_ruleInfinityLiteral= ruleInfinityLiteral EOF
4542 { 6965 {
4543 newCompositeNode(grammarAccess.getConstraintRule()); 6966 if ( state.backtracking==0 ) {
6967 newCompositeNode(grammarAccess.getInfinityLiteralRule());
6968 }
4544 pushFollow(FOLLOW_1); 6969 pushFollow(FOLLOW_1);
4545 iv_ruleConstraint=ruleConstraint(); 6970 iv_ruleInfinityLiteral=ruleInfinityLiteral();
4546 6971
4547 state._fsp--; 6972 state._fsp--;
6973 if (state.failed) return current;
6974 if ( state.backtracking==0 ) {
6975 current =iv_ruleInfinityLiteral;
6976 }
6977 match(input,EOF,FOLLOW_2); if (state.failed) return current;
6978
6979 }
6980
6981 }
6982
6983 catch (RecognitionException re) {
6984 recover(input,re);
6985 appendSkippedTokens();
6986 }
6987 finally {
6988 }
6989 return current;
6990 }
6991 // $ANTLR end "entryRuleInfinityLiteral"
6992
6993
6994 // $ANTLR start "ruleInfinityLiteral"
6995 // InternalSolverLanguage.g:2438:1: ruleInfinityLiteral returns [EObject current=null] : ( () otherlv_1= 'inf' ) ;
6996 public final EObject ruleInfinityLiteral() throws RecognitionException {
6997 EObject current = null;
6998
6999 Token otherlv_1=null;
7000
7001
7002 enterRule();
7003
7004 try {
7005 // InternalSolverLanguage.g:2444:2: ( ( () otherlv_1= 'inf' ) )
7006 // InternalSolverLanguage.g:2445:2: ( () otherlv_1= 'inf' )
7007 {
7008 // InternalSolverLanguage.g:2445:2: ( () otherlv_1= 'inf' )
7009 // InternalSolverLanguage.g:2446:3: () otherlv_1= 'inf'
7010 {
7011 // InternalSolverLanguage.g:2446:3: ()
7012 // InternalSolverLanguage.g:2447:4:
7013 {
7014 if ( state.backtracking==0 ) {
7015
7016 current = forceCreateModelElement(
7017 grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0(),
7018 current);
7019
7020 }
7021
7022 }
7023
7024 otherlv_1=(Token)match(input,39,FOLLOW_2); if (state.failed) return current;
7025 if ( state.backtracking==0 ) {
4548 7026
4549 current =iv_ruleConstraint; 7027 newLeafNode(otherlv_1, grammarAccess.getInfinityLiteralAccess().getInfKeyword_1());
4550 match(input,EOF,FOLLOW_2); 7028
7029 }
4551 7030
4552 } 7031 }
4553 7032
7033
7034 }
7035
7036 if ( state.backtracking==0 ) {
7037
7038 leaveRule();
7039
7040 }
4554 } 7041 }
4555 7042
4556 catch (RecognitionException re) { 7043 catch (RecognitionException re) {
@@ -4561,420 +7048,452 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4561 } 7048 }
4562 return current; 7049 return current;
4563 } 7050 }
4564 // $ANTLR end "entryRuleConstraint" 7051 // $ANTLR end "ruleInfinityLiteral"
4565 7052
4566 7053
4567 // $ANTLR start "ruleConstraint" 7054 // $ANTLR start "entryRuleEmptyIntervalLiteral"
4568 // InternalSolverLanguage.g:1550:1: ruleConstraint returns [EObject current=null] : ( ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? ) | ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' ) ) ; 7055 // InternalSolverLanguage.g:2461:1: entryRuleEmptyIntervalLiteral returns [EObject current=null] : iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ;
4569 public final EObject ruleConstraint() throws RecognitionException { 7056 public final EObject entryRuleEmptyIntervalLiteral() throws RecognitionException {
4570 EObject current = null; 7057 EObject current = null;
4571 7058
4572 Token otherlv_2=null; 7059 EObject iv_ruleEmptyIntervalLiteral = null;
4573 Token otherlv_4=null;
4574 Token otherlv_6=null;
4575 Token otherlv_8=null;
4576 Token otherlv_10=null;
4577 Token otherlv_12=null;
4578 EObject lv_polarity_0_0 = null;
4579 7060
4580 EObject lv_symbol_1_0 = null;
4581 7061
4582 EObject lv_params_3_0 = null; 7062 try {
7063 // InternalSolverLanguage.g:2461:61: (iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF )
7064 // InternalSolverLanguage.g:2462:2: iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF
7065 {
7066 if ( state.backtracking==0 ) {
7067 newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule());
7068 }
7069 pushFollow(FOLLOW_1);
7070 iv_ruleEmptyIntervalLiteral=ruleEmptyIntervalLiteral();
4583 7071
4584 EObject lv_params_5_0 = null; 7072 state._fsp--;
7073 if (state.failed) return current;
7074 if ( state.backtracking==0 ) {
7075 current =iv_ruleEmptyIntervalLiteral;
7076 }
7077 match(input,EOF,FOLLOW_2); if (state.failed) return current;
4585 7078
4586 EObject lv_closureType_7_0 = null; 7079 }
7080
7081 }
7082
7083 catch (RecognitionException re) {
7084 recover(input,re);
7085 appendSkippedTokens();
7086 }
7087 finally {
7088 }
7089 return current;
7090 }
7091 // $ANTLR end "entryRuleEmptyIntervalLiteral"
4587 7092
4588 EObject lv_params_9_0 = null;
4589 7093
4590 EObject lv_params_11_0 = null; 7094 // $ANTLR start "ruleEmptyIntervalLiteral"
7095 // InternalSolverLanguage.g:2468:1: ruleEmptyIntervalLiteral returns [EObject current=null] : ( () otherlv_1= 'empty' ) ;
7096 public final EObject ruleEmptyIntervalLiteral() throws RecognitionException {
7097 EObject current = null;
4591 7098
7099 Token otherlv_1=null;
4592 7100
4593 7101
4594 enterRule(); 7102 enterRule();
4595 7103
4596 try { 7104 try {
4597 // InternalSolverLanguage.g:1556:2: ( ( ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? ) | ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' ) ) ) 7105 // InternalSolverLanguage.g:2474:2: ( ( () otherlv_1= 'empty' ) )
4598 // InternalSolverLanguage.g:1557:2: ( ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? ) | ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' ) ) 7106 // InternalSolverLanguage.g:2475:2: ( () otherlv_1= 'empty' )
4599 { 7107 {
4600 // InternalSolverLanguage.g:1557:2: ( ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? ) | ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' ) ) 7108 // InternalSolverLanguage.g:2475:2: ( () otherlv_1= 'empty' )
4601 int alt33=2; 7109 // InternalSolverLanguage.g:2476:3: () otherlv_1= 'empty'
4602 switch ( input.LA(1) ) { 7110 {
4603 case 30: 7111 // InternalSolverLanguage.g:2476:3: ()
4604 { 7112 // InternalSolverLanguage.g:2477:4:
4605 int LA33_1 = input.LA(2); 7113 {
7114 if ( state.backtracking==0 ) {
4606 7115
4607 if ( (LA33_1==17) ) { 7116 current = forceCreateModelElement(
4608 alt33=2; 7117 grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0(),
4609 } 7118 current);
4610 else if ( (LA33_1==RULE_ID) ) { 7119
4611 alt33=1; 7120 }
4612 }
4613 else {
4614 NoViableAltException nvae =
4615 new NoViableAltException("", 33, 1, input);
4616 7121
4617 throw nvae; 7122 }
4618 }
4619 }
4620 break;
4621 case RULE_ID:
4622 case 11:
4623 {
4624 alt33=1;
4625 }
4626 break;
4627 case 31:
4628 {
4629 alt33=2;
4630 }
4631 break;
4632 default:
4633 NoViableAltException nvae =
4634 new NoViableAltException("", 33, 0, input);
4635 7123
4636 throw nvae; 7124 otherlv_1=(Token)match(input,40,FOLLOW_2); if (state.failed) return current;
7125 if ( state.backtracking==0 ) {
7126
7127 newLeafNode(otherlv_1, grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1());
7128
4637 } 7129 }
4638 7130
4639 switch (alt33) { 7131 }
4640 case 1 :
4641 // InternalSolverLanguage.g:1558:3: ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? )
4642 {
4643 // InternalSolverLanguage.g:1558:3: ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? )
4644 // InternalSolverLanguage.g:1559:4: ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )?
4645 {
4646 // InternalSolverLanguage.g:1559:4: ( (lv_polarity_0_0= rulePolarity ) )?
4647 int alt27=2;
4648 int LA27_0 = input.LA(1);
4649 7132
4650 if ( (LA27_0==11||LA27_0==30) ) {
4651 alt27=1;
4652 }
4653 switch (alt27) {
4654 case 1 :
4655 // InternalSolverLanguage.g:1560:5: (lv_polarity_0_0= rulePolarity )
4656 {
4657 // InternalSolverLanguage.g:1560:5: (lv_polarity_0_0= rulePolarity )
4658 // InternalSolverLanguage.g:1561:6: lv_polarity_0_0= rulePolarity
4659 {
4660 7133
4661 newCompositeNode(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0()); 7134 }
4662
4663 pushFollow(FOLLOW_12);
4664 lv_polarity_0_0=rulePolarity();
4665 7135
4666 state._fsp--; 7136 if ( state.backtracking==0 ) {
4667 7137
7138 leaveRule();
4668 7139
4669 if (current==null) { 7140 }
4670 current = createModelElementForParent(grammarAccess.getConstraintRule()); 7141 }
4671 }
4672 set(
4673 current,
4674 "polarity",
4675 lv_polarity_0_0,
4676 "org.eclipse.viatra.solver.language.SolverLanguage.Polarity");
4677 afterParserOrEnumRuleCall();
4678
4679 7142
4680 } 7143 catch (RecognitionException re) {
7144 recover(input,re);
7145 appendSkippedTokens();
7146 }
7147 finally {
7148 }
7149 return current;
7150 }
7151 // $ANTLR end "ruleEmptyIntervalLiteral"
4681 7152
4682 7153
4683 } 7154 // $ANTLR start "entryRuleStringLiteral"
4684 break; 7155 // InternalSolverLanguage.g:2491:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ;
7156 public final EObject entryRuleStringLiteral() throws RecognitionException {
7157 EObject current = null;
4685 7158
4686 } 7159 EObject iv_ruleStringLiteral = null;
4687 7160
4688 // InternalSolverLanguage.g:1578:4: ( (lv_symbol_1_0= ruleModelSymbol ) )
4689 // InternalSolverLanguage.g:1579:5: (lv_symbol_1_0= ruleModelSymbol )
4690 {
4691 // InternalSolverLanguage.g:1579:5: (lv_symbol_1_0= ruleModelSymbol )
4692 // InternalSolverLanguage.g:1580:6: lv_symbol_1_0= ruleModelSymbol
4693 {
4694 7161
4695 newCompositeNode(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0()); 7162 try {
4696 7163 // InternalSolverLanguage.g:2491:54: (iv_ruleStringLiteral= ruleStringLiteral EOF )
4697 pushFollow(FOLLOW_23); 7164 // InternalSolverLanguage.g:2492:2: iv_ruleStringLiteral= ruleStringLiteral EOF
4698 lv_symbol_1_0=ruleModelSymbol(); 7165 {
7166 if ( state.backtracking==0 ) {
7167 newCompositeNode(grammarAccess.getStringLiteralRule());
7168 }
7169 pushFollow(FOLLOW_1);
7170 iv_ruleStringLiteral=ruleStringLiteral();
4699 7171
4700 state._fsp--; 7172 state._fsp--;
7173 if (state.failed) return current;
7174 if ( state.backtracking==0 ) {
7175 current =iv_ruleStringLiteral;
7176 }
7177 match(input,EOF,FOLLOW_2); if (state.failed) return current;
4701 7178
7179 }
4702 7180
4703 if (current==null) { 7181 }
4704 current = createModelElementForParent(grammarAccess.getConstraintRule());
4705 }
4706 set(
4707 current,
4708 "symbol",
4709 lv_symbol_1_0,
4710 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
4711 afterParserOrEnumRuleCall();
4712
4713 7182
4714 } 7183 catch (RecognitionException re) {
7184 recover(input,re);
7185 appendSkippedTokens();
7186 }
7187 finally {
7188 }
7189 return current;
7190 }
7191 // $ANTLR end "entryRuleStringLiteral"
4715 7192
4716 7193
4717 } 7194 // $ANTLR start "ruleStringLiteral"
7195 // InternalSolverLanguage.g:2498:1: ruleStringLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ;
7196 public final EObject ruleStringLiteral() throws RecognitionException {
7197 EObject current = null;
4718 7198
4719 // InternalSolverLanguage.g:1597:4: (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? 7199 Token lv_value_0_0=null;
4720 int alt30=2;
4721 int LA30_0 = input.LA(1);
4722 7200
4723 if ( (LA30_0==17) ) {
4724 alt30=1;
4725 }
4726 switch (alt30) {
4727 case 1 :
4728 // InternalSolverLanguage.g:1598:5: otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')'
4729 {
4730 otherlv_2=(Token)match(input,17,FOLLOW_24);
4731 7201
4732 newLeafNode(otherlv_2, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()); 7202 enterRule();
4733
4734 // InternalSolverLanguage.g:1602:5: ( (lv_params_3_0= ruleLiteral ) )?
4735 int alt28=2;
4736 int LA28_0 = input.LA(1);
4737 7203
4738 if ( ((LA28_0>=RULE_INT && LA28_0<=RULE_STRING)||LA28_0==11||(LA28_0>=13 && LA28_0<=14)||LA28_0==27) ) { 7204 try {
4739 alt28=1; 7205 // InternalSolverLanguage.g:2504:2: ( ( (lv_value_0_0= RULE_STRING ) ) )
4740 } 7206 // InternalSolverLanguage.g:2505:2: ( (lv_value_0_0= RULE_STRING ) )
4741 switch (alt28) { 7207 {
4742 case 1 : 7208 // InternalSolverLanguage.g:2505:2: ( (lv_value_0_0= RULE_STRING ) )
4743 // InternalSolverLanguage.g:1603:6: (lv_params_3_0= ruleLiteral ) 7209 // InternalSolverLanguage.g:2506:3: (lv_value_0_0= RULE_STRING )
4744 { 7210 {
4745 // InternalSolverLanguage.g:1603:6: (lv_params_3_0= ruleLiteral ) 7211 // InternalSolverLanguage.g:2506:3: (lv_value_0_0= RULE_STRING )
4746 // InternalSolverLanguage.g:1604:7: lv_params_3_0= ruleLiteral 7212 // InternalSolverLanguage.g:2507:4: lv_value_0_0= RULE_STRING
4747 { 7213 {
7214 lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current;
7215 if ( state.backtracking==0 ) {
4748 7216
4749 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0()); 7217 newLeafNode(lv_value_0_0, grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0());
4750 7218
4751 pushFollow(FOLLOW_8); 7219 }
4752 lv_params_3_0=ruleLiteral(); 7220 if ( state.backtracking==0 ) {
4753 7221
4754 state._fsp--; 7222 if (current==null) {
7223 current = createModelElement(grammarAccess.getStringLiteralRule());
7224 }
7225 setWithLastConsumed(
7226 current,
7227 "value",
7228 lv_value_0_0,
7229 "org.eclipse.viatra.solver.language.SolverLanguage.STRING");
7230
7231 }
4755 7232
7233 }
4756 7234
4757 if (current==null) {
4758 current = createModelElementForParent(grammarAccess.getConstraintRule());
4759 }
4760 add(
4761 current,
4762 "params",
4763 lv_params_3_0,
4764 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
4765 afterParserOrEnumRuleCall();
4766
4767 7235
4768 } 7236 }
4769 7237
4770 7238
4771 } 7239 }
4772 break;
4773 7240
4774 } 7241 if ( state.backtracking==0 ) {
7242
7243 leaveRule();
4775 7244
4776 // InternalSolverLanguage.g:1621:5: (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* 7245 }
4777 loop29: 7246 }
4778 do { 7247
4779 int alt29=2; 7248 catch (RecognitionException re) {
4780 int LA29_0 = input.LA(1); 7249 recover(input,re);
7250 appendSkippedTokens();
7251 }
7252 finally {
7253 }
7254 return current;
7255 }
7256 // $ANTLR end "ruleStringLiteral"
4781 7257
4782 if ( (LA29_0==18) ) {
4783 alt29=1;
4784 }
4785 7258
7259 // $ANTLR start "entryRuleClassDefinition"
7260 // InternalSolverLanguage.g:2526:1: entryRuleClassDefinition returns [EObject current=null] : iv_ruleClassDefinition= ruleClassDefinition EOF ;
7261 public final EObject entryRuleClassDefinition() throws RecognitionException {
7262 EObject current = null;
4786 7263
4787 switch (alt29) { 7264 EObject iv_ruleClassDefinition = null;
4788 case 1 :
4789 // InternalSolverLanguage.g:1622:6: otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) )
4790 {
4791 otherlv_4=(Token)match(input,18,FOLLOW_25);
4792 7265
4793 newLeafNode(otherlv_4, grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0());
4794
4795 // InternalSolverLanguage.g:1626:6: ( (lv_params_5_0= ruleLiteral ) )
4796 // InternalSolverLanguage.g:1627:7: (lv_params_5_0= ruleLiteral )
4797 {
4798 // InternalSolverLanguage.g:1627:7: (lv_params_5_0= ruleLiteral )
4799 // InternalSolverLanguage.g:1628:8: lv_params_5_0= ruleLiteral
4800 {
4801 7266
4802 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0()); 7267 try {
4803 7268 // InternalSolverLanguage.g:2526:56: (iv_ruleClassDefinition= ruleClassDefinition EOF )
4804 pushFollow(FOLLOW_8); 7269 // InternalSolverLanguage.g:2527:2: iv_ruleClassDefinition= ruleClassDefinition EOF
4805 lv_params_5_0=ruleLiteral(); 7270 {
7271 if ( state.backtracking==0 ) {
7272 newCompositeNode(grammarAccess.getClassDefinitionRule());
7273 }
7274 pushFollow(FOLLOW_1);
7275 iv_ruleClassDefinition=ruleClassDefinition();
4806 7276
4807 state._fsp--; 7277 state._fsp--;
7278 if (state.failed) return current;
7279 if ( state.backtracking==0 ) {
7280 current =iv_ruleClassDefinition;
7281 }
7282 match(input,EOF,FOLLOW_2); if (state.failed) return current;
4808 7283
7284 }
4809 7285
4810 if (current==null) { 7286 }
4811 current = createModelElementForParent(grammarAccess.getConstraintRule());
4812 }
4813 add(
4814 current,
4815 "params",
4816 lv_params_5_0,
4817 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
4818 afterParserOrEnumRuleCall();
4819
4820 7287
4821 } 7288 catch (RecognitionException re) {
7289 recover(input,re);
7290 appendSkippedTokens();
7291 }
7292 finally {
7293 }
7294 return current;
7295 }
7296 // $ANTLR end "entryRuleClassDefinition"
4822 7297
4823 7298
4824 } 7299 // $ANTLR start "ruleClassDefinition"
7300 // InternalSolverLanguage.g:2533: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= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= '}' ) ;
7301 public final EObject ruleClassDefinition() throws RecognitionException {
7302 EObject current = null;
4825 7303
7304 Token lv_abstract_0_0=null;
7305 Token otherlv_1=null;
7306 Token lv_name_2_0=null;
7307 Token otherlv_3=null;
7308 Token otherlv_5=null;
7309 Token otherlv_7=null;
7310 Token otherlv_9=null;
7311 EObject lv_members_8_0 = null;
4826 7312
4827 }
4828 break;
4829 7313
4830 default :
4831 break loop29;
4832 }
4833 } while (true);
4834 7314
4835 otherlv_6=(Token)match(input,19,FOLLOW_2); 7315 enterRule();
4836 7316
4837 newLeafNode(otherlv_6, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3()); 7317 try {
4838 7318 // InternalSolverLanguage.g:2539:2: ( ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= '}' ) )
7319 // InternalSolverLanguage.g:2540:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= '}' )
7320 {
7321 // InternalSolverLanguage.g:2540:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= '}' )
7322 // InternalSolverLanguage.g:2541:3: ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= '}'
7323 {
7324 // InternalSolverLanguage.g:2541:3: ( (lv_abstract_0_0= 'abstract' ) )?
7325 int alt27=2;
7326 int LA27_0 = input.LA(1);
4839 7327
4840 } 7328 if ( (LA27_0==41) ) {
4841 break; 7329 alt27=1;
7330 }
7331 switch (alt27) {
7332 case 1 :
7333 // InternalSolverLanguage.g:2542:4: (lv_abstract_0_0= 'abstract' )
7334 {
7335 // InternalSolverLanguage.g:2542:4: (lv_abstract_0_0= 'abstract' )
7336 // InternalSolverLanguage.g:2543:5: lv_abstract_0_0= 'abstract'
7337 {
7338 lv_abstract_0_0=(Token)match(input,41,FOLLOW_39); if (state.failed) return current;
7339 if ( state.backtracking==0 ) {
4842 7340
7341 newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0());
7342
4843 } 7343 }
7344 if ( state.backtracking==0 ) {
4844 7345
7346 if (current==null) {
7347 current = createModelElement(grammarAccess.getClassDefinitionRule());
7348 }
7349 setWithLastConsumed(current, "abstract", true, "abstract");
7350
7351 }
4845 7352
4846 } 7353 }
4847 7354
4848 7355
4849 } 7356 }
4850 break; 7357 break;
4851 case 2 :
4852 // InternalSolverLanguage.g:1653:3: ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' )
4853 {
4854 // InternalSolverLanguage.g:1653:3: ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' )
4855 // InternalSolverLanguage.g:1654:4: ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')'
4856 {
4857 // InternalSolverLanguage.g:1654:4: ( (lv_closureType_7_0= ruleClosureType ) )
4858 // InternalSolverLanguage.g:1655:5: (lv_closureType_7_0= ruleClosureType )
4859 {
4860 // InternalSolverLanguage.g:1655:5: (lv_closureType_7_0= ruleClosureType )
4861 // InternalSolverLanguage.g:1656:6: lv_closureType_7_0= ruleClosureType
4862 {
4863 7358
4864 newCompositeNode(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0()); 7359 }
4865
4866 pushFollow(FOLLOW_26);
4867 lv_closureType_7_0=ruleClosureType();
4868 7360
4869 state._fsp--; 7361 otherlv_1=(Token)match(input,42,FOLLOW_40); if (state.failed) return current;
7362 if ( state.backtracking==0 ) {
4870 7363
7364 newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1());
7365
7366 }
7367 // InternalSolverLanguage.g:2559:3: ( (lv_name_2_0= RULE_ID ) )
7368 // InternalSolverLanguage.g:2560:4: (lv_name_2_0= RULE_ID )
7369 {
7370 // InternalSolverLanguage.g:2560:4: (lv_name_2_0= RULE_ID )
7371 // InternalSolverLanguage.g:2561:5: lv_name_2_0= RULE_ID
7372 {
7373 lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_41); if (state.failed) return current;
7374 if ( state.backtracking==0 ) {
4871 7375
4872 if (current==null) { 7376 newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0());
4873 current = createModelElementForParent(grammarAccess.getConstraintRule()); 7377
4874 } 7378 }
4875 set( 7379 if ( state.backtracking==0 ) {
4876 current,
4877 "closureType",
4878 lv_closureType_7_0,
4879 "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType");
4880 afterParserOrEnumRuleCall();
4881
4882 7380
4883 } 7381 if (current==null) {
7382 current = createModelElement(grammarAccess.getClassDefinitionRule());
7383 }
7384 setWithLastConsumed(
7385 current,
7386 "name",
7387 lv_name_2_0,
7388 "org.eclipse.xtext.common.Terminals.ID");
7389
7390 }
4884 7391
7392 }
4885 7393
4886 }
4887 7394
4888 otherlv_8=(Token)match(input,17,FOLLOW_24); 7395 }
4889 7396
4890 newLeafNode(otherlv_8, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1()); 7397 // InternalSolverLanguage.g:2577:3: (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )?
4891 7398 int alt29=2;
4892 // InternalSolverLanguage.g:1677:4: ( (lv_params_9_0= ruleLiteral ) )? 7399 int LA29_0 = input.LA(1);
4893 int alt31=2;
4894 int LA31_0 = input.LA(1);
4895 7400
4896 if ( ((LA31_0>=RULE_INT && LA31_0<=RULE_STRING)||LA31_0==11||(LA31_0>=13 && LA31_0<=14)||LA31_0==27) ) { 7401 if ( (LA29_0==43) ) {
4897 alt31=1; 7402 alt29=1;
4898 } 7403 }
4899 switch (alt31) { 7404 switch (alt29) {
4900 case 1 : 7405 case 1 :
4901 // InternalSolverLanguage.g:1678:5: (lv_params_9_0= ruleLiteral ) 7406 // InternalSolverLanguage.g:2578:4: otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )*
4902 { 7407 {
4903 // InternalSolverLanguage.g:1678:5: (lv_params_9_0= ruleLiteral ) 7408 otherlv_3=(Token)match(input,43,FOLLOW_35); if (state.failed) return current;
4904 // InternalSolverLanguage.g:1679:6: lv_params_9_0= ruleLiteral 7409 if ( state.backtracking==0 ) {
4905 {
4906 7410
4907 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0()); 7411 newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0());
4908 7412
4909 pushFollow(FOLLOW_8); 7413 }
4910 lv_params_9_0=ruleLiteral(); 7414 // InternalSolverLanguage.g:2582:4: ( ( ruleQualifiedName ) )
7415 // InternalSolverLanguage.g:2583:5: ( ruleQualifiedName )
7416 {
7417 // InternalSolverLanguage.g:2583:5: ( ruleQualifiedName )
7418 // InternalSolverLanguage.g:2584:6: ruleQualifiedName
7419 {
7420 if ( state.backtracking==0 ) {
4911 7421
4912 state._fsp--; 7422 if (current==null) {
7423 current = createModelElement(grammarAccess.getClassDefinitionRule());
7424 }
7425
7426 }
7427 if ( state.backtracking==0 ) {
4913 7428
7429 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0());
7430
7431 }
7432 pushFollow(FOLLOW_42);
7433 ruleQualifiedName();
4914 7434
4915 if (current==null) { 7435 state._fsp--;
4916 current = createModelElementForParent(grammarAccess.getConstraintRule()); 7436 if (state.failed) return current;
4917 } 7437 if ( state.backtracking==0 ) {
4918 add(
4919 current,
4920 "params",
4921 lv_params_9_0,
4922 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
4923 afterParserOrEnumRuleCall();
4924
4925 7438
4926 } 7439 afterParserOrEnumRuleCall();
7440
7441 }
4927 7442
7443 }
4928 7444
4929 }
4930 break;
4931 7445
4932 } 7446 }
4933 7447
4934 // InternalSolverLanguage.g:1696:4: (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* 7448 // InternalSolverLanguage.g:2598:4: (otherlv_5= ',' ( ( ruleQualifiedName ) ) )*
4935 loop32: 7449 loop28:
4936 do { 7450 do {
4937 int alt32=2; 7451 int alt28=2;
4938 int LA32_0 = input.LA(1); 7452 int LA28_0 = input.LA(1);
4939 7453
4940 if ( (LA32_0==18) ) { 7454 if ( (LA28_0==28) ) {
4941 alt32=1; 7455 alt28=1;
4942 } 7456 }
4943 7457
4944 7458
4945 switch (alt32) { 7459 switch (alt28) {
4946 case 1 : 7460 case 1 :
4947 // InternalSolverLanguage.g:1697:5: otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) 7461 // InternalSolverLanguage.g:2599:5: otherlv_5= ',' ( ( ruleQualifiedName ) )
4948 { 7462 {
4949 otherlv_10=(Token)match(input,18,FOLLOW_25); 7463 otherlv_5=(Token)match(input,28,FOLLOW_35); if (state.failed) return current;
7464 if ( state.backtracking==0 ) {
4950 7465
4951 newLeafNode(otherlv_10, grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0()); 7466 newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0());
4952 7467
4953 // InternalSolverLanguage.g:1701:5: ( (lv_params_11_0= ruleLiteral ) ) 7468 }
4954 // InternalSolverLanguage.g:1702:6: (lv_params_11_0= ruleLiteral ) 7469 // InternalSolverLanguage.g:2603:5: ( ( ruleQualifiedName ) )
7470 // InternalSolverLanguage.g:2604:6: ( ruleQualifiedName )
4955 { 7471 {
4956 // InternalSolverLanguage.g:1702:6: (lv_params_11_0= ruleLiteral ) 7472 // InternalSolverLanguage.g:2604:6: ( ruleQualifiedName )
4957 // InternalSolverLanguage.g:1703:7: lv_params_11_0= ruleLiteral 7473 // InternalSolverLanguage.g:2605:7: ruleQualifiedName
4958 { 7474 {
7475 if ( state.backtracking==0 ) {
4959 7476
4960 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0()); 7477 if (current==null) {
4961 7478 current = createModelElement(grammarAccess.getClassDefinitionRule());
4962 pushFollow(FOLLOW_8); 7479 }
4963 lv_params_11_0=ruleLiteral(); 7480
7481 }
7482 if ( state.backtracking==0 ) {
4964 7483
4965 state._fsp--; 7484 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0());
7485
7486 }
7487 pushFollow(FOLLOW_42);
7488 ruleQualifiedName();
4966 7489
7490 state._fsp--;
7491 if (state.failed) return current;
7492 if ( state.backtracking==0 ) {
4967 7493
4968 if (current==null) { 7494 afterParserOrEnumRuleCall();
4969 current = createModelElementForParent(grammarAccess.getConstraintRule()); 7495
4970 } 7496 }
4971 add(
4972 current,
4973 "params",
4974 lv_params_11_0,
4975 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
4976 afterParserOrEnumRuleCall();
4977
4978 7497
4979 } 7498 }
4980 7499
@@ -4986,29 +7505,92 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4986 break; 7505 break;
4987 7506
4988 default : 7507 default :
4989 break loop32; 7508 break loop28;
4990 } 7509 }
4991 } while (true); 7510 } while (true);
4992 7511
4993 otherlv_12=(Token)match(input,19,FOLLOW_2);
4994
4995 newLeafNode(otherlv_12, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4());
4996
4997 7512
4998 } 7513 }
7514 break;
4999 7515
7516 }
7517
7518 otherlv_7=(Token)match(input,30,FOLLOW_43); if (state.failed) return current;
7519 if ( state.backtracking==0 ) {
7520
7521 newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4());
7522
7523 }
7524 // InternalSolverLanguage.g:2625:3: ( (lv_members_8_0= ruleMemberDefinition ) )*
7525 loop30:
7526 do {
7527 int alt30=2;
7528 int LA30_0 = input.LA(1);
7529
7530 if ( (LA30_0==RULE_ID||LA30_0==RULE_QUOTED_ID||LA30_0==44) ) {
7531 alt30=1;
7532 }
7533
7534
7535 switch (alt30) {
7536 case 1 :
7537 // InternalSolverLanguage.g:2626:4: (lv_members_8_0= ruleMemberDefinition )
7538 {
7539 // InternalSolverLanguage.g:2626:4: (lv_members_8_0= ruleMemberDefinition )
7540 // InternalSolverLanguage.g:2627:5: lv_members_8_0= ruleMemberDefinition
7541 {
7542 if ( state.backtracking==0 ) {
7543
7544 newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0());
7545
7546 }
7547 pushFollow(FOLLOW_43);
7548 lv_members_8_0=ruleMemberDefinition();
7549
7550 state._fsp--;
7551 if (state.failed) return current;
7552 if ( state.backtracking==0 ) {
7553
7554 if (current==null) {
7555 current = createModelElementForParent(grammarAccess.getClassDefinitionRule());
7556 }
7557 add(
7558 current,
7559 "members",
7560 lv_members_8_0,
7561 "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition");
7562 afterParserOrEnumRuleCall();
7563
7564 }
7565
7566 }
5000 7567
5001 } 7568
5002 break; 7569 }
7570 break;
7571
7572 default :
7573 break loop30;
7574 }
7575 } while (true);
7576
7577 otherlv_9=(Token)match(input,31,FOLLOW_2); if (state.failed) return current;
7578 if ( state.backtracking==0 ) {
7579
7580 newLeafNode(otherlv_9, grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6());
7581
7582 }
5003 7583
5004 } 7584 }
5005 7585
5006 7586
5007 } 7587 }
5008 7588
7589 if ( state.backtracking==0 ) {
5009 7590
5010 leaveRule(); 7591 leaveRule();
5011 7592
7593 }
5012 } 7594 }
5013 7595
5014 catch (RecognitionException re) { 7596 catch (RecognitionException re) {
@@ -5019,29 +7601,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5019 } 7601 }
5020 return current; 7602 return current;
5021 } 7603 }
5022 // $ANTLR end "ruleConstraint" 7604 // $ANTLR end "ruleClassDefinition"
5023 7605
5024 7606
5025 // $ANTLR start "entryRuleClosureType" 7607 // $ANTLR start "entryRuleMemberDefinition"
5026 // InternalSolverLanguage.g:1730:1: entryRuleClosureType returns [EObject current=null] : iv_ruleClosureType= ruleClosureType EOF ; 7608 // InternalSolverLanguage.g:2652:1: entryRuleMemberDefinition returns [EObject current=null] : iv_ruleMemberDefinition= ruleMemberDefinition EOF ;
5027 public final EObject entryRuleClosureType() throws RecognitionException { 7609 public final EObject entryRuleMemberDefinition() throws RecognitionException {
5028 EObject current = null; 7610 EObject current = null;
5029 7611
5030 EObject iv_ruleClosureType = null; 7612 EObject iv_ruleMemberDefinition = null;
5031 7613
5032 7614
5033 try { 7615 try {
5034 // InternalSolverLanguage.g:1730:52: (iv_ruleClosureType= ruleClosureType EOF ) 7616 // InternalSolverLanguage.g:2652:57: (iv_ruleMemberDefinition= ruleMemberDefinition EOF )
5035 // InternalSolverLanguage.g:1731:2: iv_ruleClosureType= ruleClosureType EOF 7617 // InternalSolverLanguage.g:2653:2: iv_ruleMemberDefinition= ruleMemberDefinition EOF
5036 { 7618 {
5037 newCompositeNode(grammarAccess.getClosureTypeRule()); 7619 if ( state.backtracking==0 ) {
7620 newCompositeNode(grammarAccess.getMemberDefinitionRule());
7621 }
5038 pushFollow(FOLLOW_1); 7622 pushFollow(FOLLOW_1);
5039 iv_ruleClosureType=ruleClosureType(); 7623 iv_ruleMemberDefinition=ruleMemberDefinition();
5040 7624
5041 state._fsp--; 7625 state._fsp--;
5042 7626 if (state.failed) return current;
5043 current =iv_ruleClosureType; 7627 if ( state.backtracking==0 ) {
5044 match(input,EOF,FOLLOW_2); 7628 current =iv_ruleMemberDefinition;
7629 }
7630 match(input,EOF,FOLLOW_2); if (state.failed) return current;
5045 7631
5046 } 7632 }
5047 7633
@@ -5055,89 +7641,226 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5055 } 7641 }
5056 return current; 7642 return current;
5057 } 7643 }
5058 // $ANTLR end "entryRuleClosureType" 7644 // $ANTLR end "entryRuleMemberDefinition"
5059 7645
5060 7646
5061 // $ANTLR start "ruleClosureType" 7647 // $ANTLR start "ruleMemberDefinition"
5062 // InternalSolverLanguage.g:1737:1: ruleClosureType returns [EObject current=null] : ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) ; 7648 // InternalSolverLanguage.g:2659: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= ';' )? ) ;
5063 public final EObject ruleClosureType() throws RecognitionException { 7649 public final EObject ruleMemberDefinition() throws RecognitionException {
5064 EObject current = null; 7650 EObject current = null;
5065 7651
5066 Token otherlv_1=null; 7652 Token lv_containment_0_0=null;
5067 Token otherlv_3=null; 7653 Token lv_name_3_0=null;
7654 Token otherlv_4=null;
7655 Token otherlv_6=null;
7656 EObject lv_multiplicity_2_0 = null;
7657
5068 7658
5069 7659
5070 enterRule(); 7660 enterRule();
5071 7661
5072 try { 7662 try {
5073 // InternalSolverLanguage.g:1743:2: ( ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) ) 7663 // InternalSolverLanguage.g:2665:2: ( ( ( (lv_containment_0_0= 'contains' ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= 'opposite' ( ( ruleQualifiedName ) ) )? (otherlv_6= ';' )? ) )
5074 // InternalSolverLanguage.g:1744:2: ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) 7664 // InternalSolverLanguage.g:2666:2: ( ( (lv_containment_0_0= 'contains' ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= 'opposite' ( ( ruleQualifiedName ) ) )? (otherlv_6= ';' )? )
5075 { 7665 {
5076 // InternalSolverLanguage.g:1744:2: ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) 7666 // InternalSolverLanguage.g:2666:2: ( ( (lv_containment_0_0= 'contains' ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= 'opposite' ( ( ruleQualifiedName ) ) )? (otherlv_6= ';' )? )
5077 int alt34=2; 7667 // InternalSolverLanguage.g:2667:3: ( (lv_containment_0_0= 'contains' ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= 'opposite' ( ( ruleQualifiedName ) ) )? (otherlv_6= ';' )?
5078 int LA34_0 = input.LA(1); 7668 {
7669 // InternalSolverLanguage.g:2667:3: ( (lv_containment_0_0= 'contains' ) )?
7670 int alt31=2;
7671 int LA31_0 = input.LA(1);
7672
7673 if ( (LA31_0==44) ) {
7674 alt31=1;
7675 }
7676 switch (alt31) {
7677 case 1 :
7678 // InternalSolverLanguage.g:2668:4: (lv_containment_0_0= 'contains' )
7679 {
7680 // InternalSolverLanguage.g:2668:4: (lv_containment_0_0= 'contains' )
7681 // InternalSolverLanguage.g:2669:5: lv_containment_0_0= 'contains'
7682 {
7683 lv_containment_0_0=(Token)match(input,44,FOLLOW_35); if (state.failed) return current;
7684 if ( state.backtracking==0 ) {
7685
7686 newLeafNode(lv_containment_0_0, grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0());
7687
7688 }
7689 if ( state.backtracking==0 ) {
7690
7691 if (current==null) {
7692 current = createModelElement(grammarAccess.getMemberDefinitionRule());
7693 }
7694 setWithLastConsumed(current, "containment", true, "contains");
7695
7696 }
7697
7698 }
7699
7700
7701 }
7702 break;
5079 7703
5080 if ( (LA34_0==31) ) {
5081 alt34=1;
5082 } 7704 }
5083 else if ( (LA34_0==30) ) { 7705
5084 alt34=2; 7706 // InternalSolverLanguage.g:2681:3: ( ( ruleQualifiedName ) )
7707 // InternalSolverLanguage.g:2682:4: ( ruleQualifiedName )
7708 {
7709 // InternalSolverLanguage.g:2682:4: ( ruleQualifiedName )
7710 // InternalSolverLanguage.g:2683:5: ruleQualifiedName
7711 {
7712 if ( state.backtracking==0 ) {
7713
7714 if (current==null) {
7715 current = createModelElement(grammarAccess.getMemberDefinitionRule());
7716 }
7717
5085 } 7718 }
5086 else { 7719 if ( state.backtracking==0 ) {
5087 NoViableAltException nvae =
5088 new NoViableAltException("", 34, 0, input);
5089 7720
5090 throw nvae; 7721 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0());
7722
5091 } 7723 }
5092 switch (alt34) { 7724 pushFollow(FOLLOW_44);
7725 ruleQualifiedName();
7726
7727 state._fsp--;
7728 if (state.failed) return current;
7729 if ( state.backtracking==0 ) {
7730
7731 afterParserOrEnumRuleCall();
7732
7733 }
7734
7735 }
7736
7737
7738 }
7739
7740 // InternalSolverLanguage.g:2697:3: ( (lv_multiplicity_2_0= ruleMultiplicity ) )?
7741 int alt32=2;
7742 int LA32_0 = input.LA(1);
7743
7744 if ( (LA32_0==36) ) {
7745 alt32=1;
7746 }
7747 switch (alt32) {
5093 case 1 : 7748 case 1 :
5094 // InternalSolverLanguage.g:1745:3: ( () otherlv_1= '*' ) 7749 // InternalSolverLanguage.g:2698:4: (lv_multiplicity_2_0= ruleMultiplicity )
5095 {
5096 // InternalSolverLanguage.g:1745:3: ( () otherlv_1= '*' )
5097 // InternalSolverLanguage.g:1746:4: () otherlv_1= '*'
5098 { 7750 {
5099 // InternalSolverLanguage.g:1746:4: () 7751 // InternalSolverLanguage.g:2698:4: (lv_multiplicity_2_0= ruleMultiplicity )
5100 // InternalSolverLanguage.g:1747:5: 7752 // InternalSolverLanguage.g:2699:5: lv_multiplicity_2_0= ruleMultiplicity
5101 { 7753 {
7754 if ( state.backtracking==0 ) {
5102 7755
5103 current = forceCreateModelElement( 7756 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0());
5104 grammarAccess.getClosureTypeAccess().getReflexiveClosureAction_0_0(), 7757
5105 current);
5106
5107
5108 } 7758 }
7759 pushFollow(FOLLOW_40);
7760 lv_multiplicity_2_0=ruleMultiplicity();
5109 7761
5110 otherlv_1=(Token)match(input,31,FOLLOW_2); 7762 state._fsp--;
5111 7763 if (state.failed) return current;
5112 newLeafNode(otherlv_1, grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1()); 7764 if ( state.backtracking==0 ) {
5113 7765
7766 if (current==null) {
7767 current = createModelElementForParent(grammarAccess.getMemberDefinitionRule());
7768 }
7769 set(
7770 current,
7771 "multiplicity",
7772 lv_multiplicity_2_0,
7773 "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity");
7774 afterParserOrEnumRuleCall();
7775
7776 }
5114 7777
5115 } 7778 }
5116 7779
5117 7780
5118 } 7781 }
5119 break; 7782 break;
5120 case 2 : 7783
5121 // InternalSolverLanguage.g:1759:3: ( () otherlv_3= '+' ) 7784 }
7785
7786 // InternalSolverLanguage.g:2716:3: ( (lv_name_3_0= RULE_ID ) )
7787 // InternalSolverLanguage.g:2717:4: (lv_name_3_0= RULE_ID )
7788 {
7789 // InternalSolverLanguage.g:2717:4: (lv_name_3_0= RULE_ID )
7790 // InternalSolverLanguage.g:2718:5: lv_name_3_0= RULE_ID
7791 {
7792 lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_45); if (state.failed) return current;
7793 if ( state.backtracking==0 ) {
7794
7795 newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0());
7796
7797 }
7798 if ( state.backtracking==0 ) {
7799
7800 if (current==null) {
7801 current = createModelElement(grammarAccess.getMemberDefinitionRule());
7802 }
7803 setWithLastConsumed(
7804 current,
7805 "name",
7806 lv_name_3_0,
7807 "org.eclipse.xtext.common.Terminals.ID");
7808
7809 }
7810
7811 }
7812
7813
7814 }
7815
7816 // InternalSolverLanguage.g:2734:3: (otherlv_4= 'opposite' ( ( ruleQualifiedName ) ) )?
7817 int alt33=2;
7818 int LA33_0 = input.LA(1);
7819
7820 if ( (LA33_0==45) ) {
7821 alt33=1;
7822 }
7823 switch (alt33) {
7824 case 1 :
7825 // InternalSolverLanguage.g:2735:4: otherlv_4= 'opposite' ( ( ruleQualifiedName ) )
5122 { 7826 {
5123 // InternalSolverLanguage.g:1759:3: ( () otherlv_3= '+' ) 7827 otherlv_4=(Token)match(input,45,FOLLOW_35); if (state.failed) return current;
5124 // InternalSolverLanguage.g:1760:4: () otherlv_3= '+' 7828 if ( state.backtracking==0 ) {
7829
7830 newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0());
7831
7832 }
7833 // InternalSolverLanguage.g:2739:4: ( ( ruleQualifiedName ) )
7834 // InternalSolverLanguage.g:2740:5: ( ruleQualifiedName )
5125 { 7835 {
5126 // InternalSolverLanguage.g:1760:4: () 7836 // InternalSolverLanguage.g:2740:5: ( ruleQualifiedName )
5127 // InternalSolverLanguage.g:1761:5: 7837 // InternalSolverLanguage.g:2741:6: ruleQualifiedName
5128 { 7838 {
7839 if ( state.backtracking==0 ) {
5129 7840
5130 current = forceCreateModelElement( 7841 if (current==null) {
5131 grammarAccess.getClosureTypeAccess().getIrreflexiveClosureAction_1_0(), 7842 current = createModelElement(grammarAccess.getMemberDefinitionRule());
5132 current); 7843 }
5133 7844
7845 }
7846 if ( state.backtracking==0 ) {
5134 7847
7848 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0());
7849
5135 } 7850 }
7851 pushFollow(FOLLOW_18);
7852 ruleQualifiedName();
5136 7853
5137 otherlv_3=(Token)match(input,30,FOLLOW_2); 7854 state._fsp--;
7855 if (state.failed) return current;
7856 if ( state.backtracking==0 ) {
7857
7858 afterParserOrEnumRuleCall();
7859
7860 }
7861
7862 }
5138 7863
5139 newLeafNode(otherlv_3, grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1());
5140
5141 7864
5142 } 7865 }
5143 7866
@@ -5147,12 +7870,40 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5147 7870
5148 } 7871 }
5149 7872
7873 // InternalSolverLanguage.g:2756:3: (otherlv_6= ';' )?
7874 int alt34=2;
7875 int LA34_0 = input.LA(1);
5150 7876
7877 if ( (LA34_0==26) ) {
7878 alt34=1;
5151 } 7879 }
7880 switch (alt34) {
7881 case 1 :
7882 // InternalSolverLanguage.g:2757:4: otherlv_6= ';'
7883 {
7884 otherlv_6=(Token)match(input,26,FOLLOW_2); if (state.failed) return current;
7885 if ( state.backtracking==0 ) {
5152 7886
7887 newLeafNode(otherlv_6, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5());
7888
7889 }
5153 7890
5154 leaveRule(); 7891 }
7892 break;
5155 7893
7894 }
7895
7896
7897 }
7898
7899
7900 }
7901
7902 if ( state.backtracking==0 ) {
7903
7904 leaveRule();
7905
7906 }
5156 } 7907 }
5157 7908
5158 catch (RecognitionException re) { 7909 catch (RecognitionException re) {
@@ -5163,29 +7914,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5163 } 7914 }
5164 return current; 7915 return current;
5165 } 7916 }
5166 // $ANTLR end "ruleClosureType" 7917 // $ANTLR end "ruleMemberDefinition"
5167 7918
5168 7919
5169 // $ANTLR start "entryRuleLiteral" 7920 // $ANTLR start "entryRuleMultiplicity"
5170 // InternalSolverLanguage.g:1776:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; 7921 // InternalSolverLanguage.g:2766:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ;
5171 public final EObject entryRuleLiteral() throws RecognitionException { 7922 public final EObject entryRuleMultiplicity() throws RecognitionException {
5172 EObject current = null; 7923 EObject current = null;
5173 7924
5174 EObject iv_ruleLiteral = null; 7925 EObject iv_ruleMultiplicity = null;
5175 7926
5176 7927
5177 try { 7928 try {
5178 // InternalSolverLanguage.g:1776:48: (iv_ruleLiteral= ruleLiteral EOF ) 7929 // InternalSolverLanguage.g:2766:53: (iv_ruleMultiplicity= ruleMultiplicity EOF )
5179 // InternalSolverLanguage.g:1777:2: iv_ruleLiteral= ruleLiteral EOF 7930 // InternalSolverLanguage.g:2767:2: iv_ruleMultiplicity= ruleMultiplicity EOF
5180 { 7931 {
5181 newCompositeNode(grammarAccess.getLiteralRule()); 7932 if ( state.backtracking==0 ) {
7933 newCompositeNode(grammarAccess.getMultiplicityRule());
7934 }
5182 pushFollow(FOLLOW_1); 7935 pushFollow(FOLLOW_1);
5183 iv_ruleLiteral=ruleLiteral(); 7936 iv_ruleMultiplicity=ruleMultiplicity();
5184 7937
5185 state._fsp--; 7938 state._fsp--;
5186 7939 if (state.failed) return current;
5187 current =iv_ruleLiteral; 7940 if ( state.backtracking==0 ) {
5188 match(input,EOF,FOLLOW_2); 7941 current =iv_ruleMultiplicity;
7942 }
7943 match(input,EOF,FOLLOW_2); if (state.failed) return current;
5189 7944
5190 } 7945 }
5191 7946
@@ -5199,109 +7954,143 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5199 } 7954 }
5200 return current; 7955 return current;
5201 } 7956 }
5202 // $ANTLR end "entryRuleLiteral" 7957 // $ANTLR end "entryRuleMultiplicity"
5203 7958
5204 7959
5205 // $ANTLR start "ruleLiteral" 7960 // $ANTLR start "ruleMultiplicity"
5206 // InternalSolverLanguage.g:1783:1: ruleLiteral returns [EObject current=null] : (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject | this_NamedObject_2= ruleNamedObject ) ; 7961 // InternalSolverLanguage.g:2773:1: ruleMultiplicity returns [EObject current=null] : (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ;
5207 public final EObject ruleLiteral() throws RecognitionException { 7962 public final EObject ruleMultiplicity() throws RecognitionException {
5208 EObject current = null; 7963 EObject current = null;
5209 7964
5210 EObject this_Variable_0 = null; 7965 EObject this_ManyMultiplicity_0 = null;
5211 7966
5212 EObject this_DataObject_1 = null; 7967 EObject this_ExactMultiplicity_1 = null;
5213 7968
5214 EObject this_NamedObject_2 = null; 7969 EObject this_BoundedMultiplicity_2 = null;
5215 7970
5216 7971
5217 7972
5218 enterRule(); 7973 enterRule();
5219 7974
5220 try { 7975 try {
5221 // InternalSolverLanguage.g:1789:2: ( (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject | this_NamedObject_2= ruleNamedObject ) ) 7976 // InternalSolverLanguage.g:2779:2: ( (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) )
5222 // InternalSolverLanguage.g:1790:2: (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject | this_NamedObject_2= ruleNamedObject ) 7977 // InternalSolverLanguage.g:2780:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity )
5223 { 7978 {
5224 // InternalSolverLanguage.g:1790:2: (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject | this_NamedObject_2= ruleNamedObject ) 7979 // InternalSolverLanguage.g:2780:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity )
5225 int alt35=3; 7980 int alt35=3;
5226 switch ( input.LA(1) ) { 7981 int LA35_0 = input.LA(1);
5227 case RULE_ID: 7982
5228 { 7983 if ( (LA35_0==36) ) {
5229 alt35=1; 7984 switch ( input.LA(2) ) {
5230 } 7985 case RULE_INT:
5231 break; 7986 {
5232 case RULE_INT: 7987 int LA35_2 = input.LA(3);
5233 case RULE_STRING: 7988
5234 case 11: 7989 if ( (LA35_2==38) ) {
5235 case 13: 7990 alt35=2;
5236 case 14: 7991 }
5237 { 7992 else if ( (LA35_2==37) ) {
5238 alt35=2; 7993 alt35=3;
5239 } 7994 }
5240 break; 7995 else {
5241 case 27: 7996 if (state.backtracking>0) {state.failed=true; return current;}
5242 { 7997 NoViableAltException nvae =
5243 alt35=3; 7998 new NoViableAltException("", 35, 2, input);
7999
8000 throw nvae;
8001 }
8002 }
8003 break;
8004 case 35:
8005 {
8006 alt35=2;
8007 }
8008 break;
8009 case 38:
8010 {
8011 alt35=1;
8012 }
8013 break;
8014 default:
8015 if (state.backtracking>0) {state.failed=true; return current;}
8016 NoViableAltException nvae =
8017 new NoViableAltException("", 35, 1, input);
8018
8019 throw nvae;
5244 } 8020 }
5245 break; 8021
5246 default: 8022 }
8023 else {
8024 if (state.backtracking>0) {state.failed=true; return current;}
5247 NoViableAltException nvae = 8025 NoViableAltException nvae =
5248 new NoViableAltException("", 35, 0, input); 8026 new NoViableAltException("", 35, 0, input);
5249 8027
5250 throw nvae; 8028 throw nvae;
5251 } 8029 }
5252
5253 switch (alt35) { 8030 switch (alt35) {
5254 case 1 : 8031 case 1 :
5255 // InternalSolverLanguage.g:1791:3: this_Variable_0= ruleVariable 8032 // InternalSolverLanguage.g:2781:3: this_ManyMultiplicity_0= ruleManyMultiplicity
5256 { 8033 {
8034 if ( state.backtracking==0 ) {
5257 8035
5258 newCompositeNode(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0()); 8036 newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0());
5259 8037
8038 }
5260 pushFollow(FOLLOW_2); 8039 pushFollow(FOLLOW_2);
5261 this_Variable_0=ruleVariable(); 8040 this_ManyMultiplicity_0=ruleManyMultiplicity();
5262 8041
5263 state._fsp--; 8042 state._fsp--;
8043 if (state.failed) return current;
8044 if ( state.backtracking==0 ) {
5264 8045
5265 8046 current = this_ManyMultiplicity_0;
5266 current = this_Variable_0; 8047 afterParserOrEnumRuleCall();
5267 afterParserOrEnumRuleCall(); 8048
5268 8049 }
5269 8050
5270 } 8051 }
5271 break; 8052 break;
5272 case 2 : 8053 case 2 :
5273 // InternalSolverLanguage.g:1800:3: this_DataObject_1= ruleDataObject 8054 // InternalSolverLanguage.g:2790:3: this_ExactMultiplicity_1= ruleExactMultiplicity
5274 { 8055 {
8056 if ( state.backtracking==0 ) {
5275 8057
5276 newCompositeNode(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1()); 8058 newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
5277 8059
8060 }
5278 pushFollow(FOLLOW_2); 8061 pushFollow(FOLLOW_2);
5279 this_DataObject_1=ruleDataObject(); 8062 this_ExactMultiplicity_1=ruleExactMultiplicity();
5280 8063
5281 state._fsp--; 8064 state._fsp--;
8065 if (state.failed) return current;
8066 if ( state.backtracking==0 ) {
5282 8067
5283 8068 current = this_ExactMultiplicity_1;
5284 current = this_DataObject_1; 8069 afterParserOrEnumRuleCall();
5285 afterParserOrEnumRuleCall(); 8070
5286 8071 }
5287 8072
5288 } 8073 }
5289 break; 8074 break;
5290 case 3 : 8075 case 3 :
5291 // InternalSolverLanguage.g:1809:3: this_NamedObject_2= ruleNamedObject 8076 // InternalSolverLanguage.g:2799:3: this_BoundedMultiplicity_2= ruleBoundedMultiplicity
5292 { 8077 {
8078 if ( state.backtracking==0 ) {
5293 8079
5294 newCompositeNode(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2()); 8080 newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2());
5295 8081
8082 }
5296 pushFollow(FOLLOW_2); 8083 pushFollow(FOLLOW_2);
5297 this_NamedObject_2=ruleNamedObject(); 8084 this_BoundedMultiplicity_2=ruleBoundedMultiplicity();
5298 8085
5299 state._fsp--; 8086 state._fsp--;
8087 if (state.failed) return current;
8088 if ( state.backtracking==0 ) {
5300 8089
5301 8090 current = this_BoundedMultiplicity_2;
5302 current = this_NamedObject_2; 8091 afterParserOrEnumRuleCall();
5303 afterParserOrEnumRuleCall(); 8092
5304 8093 }
5305 8094
5306 } 8095 }
5307 break; 8096 break;
@@ -5311,9 +8100,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5311 8100
5312 } 8101 }
5313 8102
8103 if ( state.backtracking==0 ) {
5314 8104
5315 leaveRule(); 8105 leaveRule();
5316 8106
8107 }
5317 } 8108 }
5318 8109
5319 catch (RecognitionException re) { 8110 catch (RecognitionException re) {
@@ -5324,29 +8115,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5324 } 8115 }
5325 return current; 8116 return current;
5326 } 8117 }
5327 // $ANTLR end "ruleLiteral" 8118 // $ANTLR end "ruleMultiplicity"
5328 8119
5329 8120
5330 // $ANTLR start "entryRuleVariable" 8121 // $ANTLR start "entryRuleManyMultiplicity"
5331 // InternalSolverLanguage.g:1821:1: entryRuleVariable returns [EObject current=null] : iv_ruleVariable= ruleVariable EOF ; 8122 // InternalSolverLanguage.g:2811:1: entryRuleManyMultiplicity returns [EObject current=null] : iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ;
5332 public final EObject entryRuleVariable() throws RecognitionException { 8123 public final EObject entryRuleManyMultiplicity() throws RecognitionException {
5333 EObject current = null; 8124 EObject current = null;
5334 8125
5335 EObject iv_ruleVariable = null; 8126 EObject iv_ruleManyMultiplicity = null;
5336 8127
5337 8128
5338 try { 8129 try {
5339 // InternalSolverLanguage.g:1821:49: (iv_ruleVariable= ruleVariable EOF ) 8130 // InternalSolverLanguage.g:2811:57: (iv_ruleManyMultiplicity= ruleManyMultiplicity EOF )
5340 // InternalSolverLanguage.g:1822:2: iv_ruleVariable= ruleVariable EOF 8131 // InternalSolverLanguage.g:2812:2: iv_ruleManyMultiplicity= ruleManyMultiplicity EOF
5341 { 8132 {
5342 newCompositeNode(grammarAccess.getVariableRule()); 8133 if ( state.backtracking==0 ) {
8134 newCompositeNode(grammarAccess.getManyMultiplicityRule());
8135 }
5343 pushFollow(FOLLOW_1); 8136 pushFollow(FOLLOW_1);
5344 iv_ruleVariable=ruleVariable(); 8137 iv_ruleManyMultiplicity=ruleManyMultiplicity();
5345 8138
5346 state._fsp--; 8139 state._fsp--;
5347 8140 if (state.failed) return current;
5348 current =iv_ruleVariable; 8141 if ( state.backtracking==0 ) {
5349 match(input,EOF,FOLLOW_2); 8142 current =iv_ruleManyMultiplicity;
8143 }
8144 match(input,EOF,FOLLOW_2); if (state.failed) return current;
5350 8145
5351 } 8146 }
5352 8147
@@ -5360,55 +8155,63 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5360 } 8155 }
5361 return current; 8156 return current;
5362 } 8157 }
5363 // $ANTLR end "entryRuleVariable" 8158 // $ANTLR end "entryRuleManyMultiplicity"
5364 8159
5365 8160
5366 // $ANTLR start "ruleVariable" 8161 // $ANTLR start "ruleManyMultiplicity"
5367 // InternalSolverLanguage.g:1828:1: ruleVariable returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; 8162 // InternalSolverLanguage.g:2818:1: ruleManyMultiplicity returns [EObject current=null] : ( () otherlv_1= '[' otherlv_2= ']' ) ;
5368 public final EObject ruleVariable() throws RecognitionException { 8163 public final EObject ruleManyMultiplicity() throws RecognitionException {
5369 EObject current = null; 8164 EObject current = null;
5370 8165
5371 Token lv_name_0_0=null; 8166 Token otherlv_1=null;
8167 Token otherlv_2=null;
5372 8168
5373 8169
5374 enterRule(); 8170 enterRule();
5375 8171
5376 try { 8172 try {
5377 // InternalSolverLanguage.g:1834:2: ( ( (lv_name_0_0= RULE_ID ) ) ) 8173 // InternalSolverLanguage.g:2824:2: ( ( () otherlv_1= '[' otherlv_2= ']' ) )
5378 // InternalSolverLanguage.g:1835:2: ( (lv_name_0_0= RULE_ID ) ) 8174 // InternalSolverLanguage.g:2825:2: ( () otherlv_1= '[' otherlv_2= ']' )
5379 { 8175 {
5380 // InternalSolverLanguage.g:1835:2: ( (lv_name_0_0= RULE_ID ) ) 8176 // InternalSolverLanguage.g:2825:2: ( () otherlv_1= '[' otherlv_2= ']' )
5381 // InternalSolverLanguage.g:1836:3: (lv_name_0_0= RULE_ID ) 8177 // InternalSolverLanguage.g:2826:3: () otherlv_1= '[' otherlv_2= ']'
5382 { 8178 {
5383 // InternalSolverLanguage.g:1836:3: (lv_name_0_0= RULE_ID ) 8179 // InternalSolverLanguage.g:2826:3: ()
5384 // InternalSolverLanguage.g:1837:4: lv_name_0_0= RULE_ID 8180 // InternalSolverLanguage.g:2827:4:
5385 { 8181 {
5386 lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2); 8182 if ( state.backtracking==0 ) {
5387 8183
5388 newLeafNode(lv_name_0_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0()); 8184 current = forceCreateModelElement(
5389 8185 grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0(),
8186 current);
8187
8188 }
8189
8190 }
5390 8191
5391 if (current==null) { 8192 otherlv_1=(Token)match(input,36,FOLLOW_38); if (state.failed) return current;
5392 current = createModelElement(grammarAccess.getVariableRule()); 8193 if ( state.backtracking==0 ) {
5393 }
5394 setWithLastConsumed(
5395 current,
5396 "name",
5397 lv_name_0_0,
5398 "org.eclipse.xtext.common.Terminals.ID");
5399
5400 8194
8195 newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1());
8196
5401 } 8197 }
8198 otherlv_2=(Token)match(input,38,FOLLOW_2); if (state.failed) return current;
8199 if ( state.backtracking==0 ) {
5402 8200
8201 newLeafNode(otherlv_2, grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2());
8202
8203 }
5403 8204
5404 } 8205 }
5405 8206
5406 8207
5407 } 8208 }
5408 8209
8210 if ( state.backtracking==0 ) {
5409 8211
5410 leaveRule(); 8212 leaveRule();
5411 8213
8214 }
5412 } 8215 }
5413 8216
5414 catch (RecognitionException re) { 8217 catch (RecognitionException re) {
@@ -5419,29 +8222,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5419 } 8222 }
5420 return current; 8223 return current;
5421 } 8224 }
5422 // $ANTLR end "ruleVariable" 8225 // $ANTLR end "ruleManyMultiplicity"
5423 8226
5424 8227
5425 // $ANTLR start "entryRuleAllInstances" 8228 // $ANTLR start "entryRuleExactMultiplicity"
5426 // InternalSolverLanguage.g:1856:1: entryRuleAllInstances returns [EObject current=null] : iv_ruleAllInstances= ruleAllInstances EOF ; 8229 // InternalSolverLanguage.g:2845:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ;
5427 public final EObject entryRuleAllInstances() throws RecognitionException { 8230 public final EObject entryRuleExactMultiplicity() throws RecognitionException {
5428 EObject current = null; 8231 EObject current = null;
5429 8232
5430 EObject iv_ruleAllInstances = null; 8233 EObject iv_ruleExactMultiplicity = null;
5431 8234
5432 8235
5433 try { 8236 try {
5434 // InternalSolverLanguage.g:1856:53: (iv_ruleAllInstances= ruleAllInstances EOF ) 8237 // InternalSolverLanguage.g:2845:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF )
5435 // InternalSolverLanguage.g:1857:2: iv_ruleAllInstances= ruleAllInstances EOF 8238 // InternalSolverLanguage.g:2846:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF
5436 { 8239 {
5437 newCompositeNode(grammarAccess.getAllInstancesRule()); 8240 if ( state.backtracking==0 ) {
8241 newCompositeNode(grammarAccess.getExactMultiplicityRule());
8242 }
5438 pushFollow(FOLLOW_1); 8243 pushFollow(FOLLOW_1);
5439 iv_ruleAllInstances=ruleAllInstances(); 8244 iv_ruleExactMultiplicity=ruleExactMultiplicity();
5440 8245
5441 state._fsp--; 8246 state._fsp--;
5442 8247 if (state.failed) return current;
5443 current =iv_ruleAllInstances; 8248 if ( state.backtracking==0 ) {
5444 match(input,EOF,FOLLOW_2); 8249 current =iv_ruleExactMultiplicity;
8250 }
8251 match(input,EOF,FOLLOW_2); if (state.failed) return current;
5445 8252
5446 } 8253 }
5447 8254
@@ -5455,72 +8262,87 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5455 } 8262 }
5456 return current; 8263 return current;
5457 } 8264 }
5458 // $ANTLR end "entryRuleAllInstances" 8265 // $ANTLR end "entryRuleExactMultiplicity"
5459 8266
5460 8267
5461 // $ANTLR start "ruleAllInstances" 8268 // $ANTLR start "ruleExactMultiplicity"
5462 // InternalSolverLanguage.g:1863:1: ruleAllInstances returns [EObject current=null] : (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) ; 8269 // InternalSolverLanguage.g:2852:1: ruleExactMultiplicity returns [EObject current=null] : (otherlv_0= '[' ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= ']' ) ;
5463 public final EObject ruleAllInstances() throws RecognitionException { 8270 public final EObject ruleExactMultiplicity() throws RecognitionException {
5464 EObject current = null; 8271 EObject current = null;
5465 8272
5466 Token otherlv_0=null; 8273 Token otherlv_0=null;
5467 EObject lv_symbol_1_0 = null; 8274 Token otherlv_2=null;
8275 AntlrDatatypeRuleToken lv_multiplicity_1_0 = null;
5468 8276
5469 8277
5470 8278
5471 enterRule(); 8279 enterRule();
5472 8280
5473 try { 8281 try {
5474 // InternalSolverLanguage.g:1869:2: ( (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) ) 8282 // InternalSolverLanguage.g:2858:2: ( (otherlv_0= '[' ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= ']' ) )
5475 // InternalSolverLanguage.g:1870:2: (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) 8283 // InternalSolverLanguage.g:2859:2: (otherlv_0= '[' ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= ']' )
5476 { 8284 {
5477 // InternalSolverLanguage.g:1870:2: (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) 8285 // InternalSolverLanguage.g:2859:2: (otherlv_0= '[' ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= ']' )
5478 // InternalSolverLanguage.g:1871:3: otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) 8286 // InternalSolverLanguage.g:2860:3: otherlv_0= '[' ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= ']'
5479 { 8287 {
5480 otherlv_0=(Token)match(input,20,FOLLOW_21); 8288 otherlv_0=(Token)match(input,36,FOLLOW_46); if (state.failed) return current;
8289 if ( state.backtracking==0 ) {
5481 8290
5482 newLeafNode(otherlv_0, grammarAccess.getAllInstancesAccess().getColonKeyword_0()); 8291 newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0());
5483 8292
5484 // InternalSolverLanguage.g:1875:3: ( (lv_symbol_1_0= ruleSymbol ) ) 8293 }
5485 // InternalSolverLanguage.g:1876:4: (lv_symbol_1_0= ruleSymbol ) 8294 // InternalSolverLanguage.g:2864:3: ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) )
8295 // InternalSolverLanguage.g:2865:4: (lv_multiplicity_1_0= ruleUpperMultiplicty )
5486 { 8296 {
5487 // InternalSolverLanguage.g:1876:4: (lv_symbol_1_0= ruleSymbol ) 8297 // InternalSolverLanguage.g:2865:4: (lv_multiplicity_1_0= ruleUpperMultiplicty )
5488 // InternalSolverLanguage.g:1877:5: lv_symbol_1_0= ruleSymbol 8298 // InternalSolverLanguage.g:2866:5: lv_multiplicity_1_0= ruleUpperMultiplicty
5489 { 8299 {
8300 if ( state.backtracking==0 ) {
5490 8301
5491 newCompositeNode(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0()); 8302 newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0());
5492 8303
5493 pushFollow(FOLLOW_2); 8304 }
5494 lv_symbol_1_0=ruleSymbol(); 8305 pushFollow(FOLLOW_38);
8306 lv_multiplicity_1_0=ruleUpperMultiplicty();
5495 8307
5496 state._fsp--; 8308 state._fsp--;
8309 if (state.failed) return current;
8310 if ( state.backtracking==0 ) {
5497 8311
5498 8312 if (current==null) {
5499 if (current==null) { 8313 current = createModelElementForParent(grammarAccess.getExactMultiplicityRule());
5500 current = createModelElementForParent(grammarAccess.getAllInstancesRule()); 8314 }
5501 } 8315 set(
5502 set( 8316 current,
5503 current, 8317 "multiplicity",
5504 "symbol", 8318 lv_multiplicity_1_0,
5505 lv_symbol_1_0, 8319 "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty");
5506 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); 8320 afterParserOrEnumRuleCall();
5507 afterParserOrEnumRuleCall(); 8321
5508 8322 }
5509 8323
5510 } 8324 }
5511 8325
5512 8326
5513 } 8327 }
5514 8328
8329 otherlv_2=(Token)match(input,38,FOLLOW_2); if (state.failed) return current;
8330 if ( state.backtracking==0 ) {
8331
8332 newLeafNode(otherlv_2, grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2());
8333
8334 }
5515 8335
5516 } 8336 }
5517 8337
5518 8338
5519 } 8339 }
5520 8340
8341 if ( state.backtracking==0 ) {
5521 8342
5522 leaveRule(); 8343 leaveRule();
5523 8344
8345 }
5524 } 8346 }
5525 8347
5526 catch (RecognitionException re) { 8348 catch (RecognitionException re) {
@@ -5531,29 +8353,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5531 } 8353 }
5532 return current; 8354 return current;
5533 } 8355 }
5534 // $ANTLR end "ruleAllInstances" 8356 // $ANTLR end "ruleExactMultiplicity"
5535 8357
5536 8358
5537 // $ANTLR start "entryRuleAllObjects" 8359 // $ANTLR start "entryRuleBoundedMultiplicity"
5538 // InternalSolverLanguage.g:1898:1: entryRuleAllObjects returns [EObject current=null] : iv_ruleAllObjects= ruleAllObjects EOF ; 8360 // InternalSolverLanguage.g:2891:1: entryRuleBoundedMultiplicity returns [EObject current=null] : iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ;
5539 public final EObject entryRuleAllObjects() throws RecognitionException { 8361 public final EObject entryRuleBoundedMultiplicity() throws RecognitionException {
5540 EObject current = null; 8362 EObject current = null;
5541 8363
5542 EObject iv_ruleAllObjects = null; 8364 EObject iv_ruleBoundedMultiplicity = null;
5543 8365
5544 8366
5545 try { 8367 try {
5546 // InternalSolverLanguage.g:1898:51: (iv_ruleAllObjects= ruleAllObjects EOF ) 8368 // InternalSolverLanguage.g:2891:60: (iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF )
5547 // InternalSolverLanguage.g:1899:2: iv_ruleAllObjects= ruleAllObjects EOF 8369 // InternalSolverLanguage.g:2892:2: iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF
5548 { 8370 {
5549 newCompositeNode(grammarAccess.getAllObjectsRule()); 8371 if ( state.backtracking==0 ) {
8372 newCompositeNode(grammarAccess.getBoundedMultiplicityRule());
8373 }
5550 pushFollow(FOLLOW_1); 8374 pushFollow(FOLLOW_1);
5551 iv_ruleAllObjects=ruleAllObjects(); 8375 iv_ruleBoundedMultiplicity=ruleBoundedMultiplicity();
5552 8376
5553 state._fsp--; 8377 state._fsp--;
5554 8378 if (state.failed) return current;
5555 current =iv_ruleAllObjects; 8379 if ( state.backtracking==0 ) {
5556 match(input,EOF,FOLLOW_2); 8380 current =iv_ruleBoundedMultiplicity;
8381 }
8382 match(input,EOF,FOLLOW_2); if (state.failed) return current;
5557 8383
5558 } 8384 }
5559 8385
@@ -5567,50 +8393,125 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5567 } 8393 }
5568 return current; 8394 return current;
5569 } 8395 }
5570 // $ANTLR end "entryRuleAllObjects" 8396 // $ANTLR end "entryRuleBoundedMultiplicity"
5571 8397
5572 8398
5573 // $ANTLR start "ruleAllObjects" 8399 // $ANTLR start "ruleBoundedMultiplicity"
5574 // InternalSolverLanguage.g:1905:1: ruleAllObjects returns [EObject current=null] : ( () otherlv_1= '*' ) ; 8400 // InternalSolverLanguage.g:2898:1: ruleBoundedMultiplicity returns [EObject current=null] : (otherlv_0= '[' ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= ']' ) ;
5575 public final EObject ruleAllObjects() throws RecognitionException { 8401 public final EObject ruleBoundedMultiplicity() throws RecognitionException {
5576 EObject current = null; 8402 EObject current = null;
5577 8403
5578 Token otherlv_1=null; 8404 Token otherlv_0=null;
8405 Token lv_lowerBound_1_0=null;
8406 Token otherlv_2=null;
8407 Token otherlv_4=null;
8408 AntlrDatatypeRuleToken lv_upperBound_3_0 = null;
8409
5579 8410
5580 8411
5581 enterRule(); 8412 enterRule();
5582 8413
5583 try { 8414 try {
5584 // InternalSolverLanguage.g:1911:2: ( ( () otherlv_1= '*' ) ) 8415 // InternalSolverLanguage.g:2904:2: ( (otherlv_0= '[' ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= ']' ) )
5585 // InternalSolverLanguage.g:1912:2: ( () otherlv_1= '*' ) 8416 // InternalSolverLanguage.g:2905:2: (otherlv_0= '[' ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= ']' )
5586 { 8417 {
5587 // InternalSolverLanguage.g:1912:2: ( () otherlv_1= '*' ) 8418 // InternalSolverLanguage.g:2905:2: (otherlv_0= '[' ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= ']' )
5588 // InternalSolverLanguage.g:1913:3: () otherlv_1= '*' 8419 // InternalSolverLanguage.g:2906:3: otherlv_0= '[' ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= ']'
5589 { 8420 {
5590 // InternalSolverLanguage.g:1913:3: () 8421 otherlv_0=(Token)match(input,36,FOLLOW_47); if (state.failed) return current;
5591 // InternalSolverLanguage.g:1914:4: 8422 if ( state.backtracking==0 ) {
8423
8424 newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0());
8425
8426 }
8427 // InternalSolverLanguage.g:2910:3: ( (lv_lowerBound_1_0= RULE_INT ) )
8428 // InternalSolverLanguage.g:2911:4: (lv_lowerBound_1_0= RULE_INT )
5592 { 8429 {
8430 // InternalSolverLanguage.g:2911:4: (lv_lowerBound_1_0= RULE_INT )
8431 // InternalSolverLanguage.g:2912:5: lv_lowerBound_1_0= RULE_INT
8432 {
8433 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_37); if (state.failed) return current;
8434 if ( state.backtracking==0 ) {
5593 8435
5594 current = forceCreateModelElement( 8436 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0());
5595 grammarAccess.getAllObjectsAccess().getAllObjectsAction_0(), 8437
5596 current); 8438 }
5597 8439 if ( state.backtracking==0 ) {
5598 8440
8441 if (current==null) {
8442 current = createModelElement(grammarAccess.getBoundedMultiplicityRule());
8443 }
8444 setWithLastConsumed(
8445 current,
8446 "lowerBound",
8447 lv_lowerBound_1_0,
8448 "org.eclipse.xtext.common.Terminals.INT");
8449
5599 } 8450 }
5600 8451
5601 otherlv_1=(Token)match(input,31,FOLLOW_2); 8452 }
5602 8453
5603 newLeafNode(otherlv_1, grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1());
5604
5605 8454
5606 } 8455 }
5607 8456
8457 otherlv_2=(Token)match(input,37,FOLLOW_46); if (state.failed) return current;
8458 if ( state.backtracking==0 ) {
5608 8459
8460 newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2());
8461
5609 } 8462 }
8463 // InternalSolverLanguage.g:2932:3: ( (lv_upperBound_3_0= ruleUpperMultiplicty ) )
8464 // InternalSolverLanguage.g:2933:4: (lv_upperBound_3_0= ruleUpperMultiplicty )
8465 {
8466 // InternalSolverLanguage.g:2933:4: (lv_upperBound_3_0= ruleUpperMultiplicty )
8467 // InternalSolverLanguage.g:2934:5: lv_upperBound_3_0= ruleUpperMultiplicty
8468 {
8469 if ( state.backtracking==0 ) {
8470
8471 newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0());
8472
8473 }
8474 pushFollow(FOLLOW_38);
8475 lv_upperBound_3_0=ruleUpperMultiplicty();
5610 8476
8477 state._fsp--;
8478 if (state.failed) return current;
8479 if ( state.backtracking==0 ) {
8480
8481 if (current==null) {
8482 current = createModelElementForParent(grammarAccess.getBoundedMultiplicityRule());
8483 }
8484 set(
8485 current,
8486 "upperBound",
8487 lv_upperBound_3_0,
8488 "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty");
8489 afterParserOrEnumRuleCall();
8490
8491 }
5611 8492
5612 leaveRule(); 8493 }
5613 8494
8495
8496 }
8497
8498 otherlv_4=(Token)match(input,38,FOLLOW_2); if (state.failed) return current;
8499 if ( state.backtracking==0 ) {
8500
8501 newLeafNode(otherlv_4, grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4());
8502
8503 }
8504
8505 }
8506
8507
8508 }
8509
8510 if ( state.backtracking==0 ) {
8511
8512 leaveRule();
8513
8514 }
5614 } 8515 }
5615 8516
5616 catch (RecognitionException re) { 8517 catch (RecognitionException re) {
@@ -5621,32 +8522,149 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5621 } 8522 }
5622 return current; 8523 return current;
5623 } 8524 }
5624 // $ANTLR end "ruleAllObjects" 8525 // $ANTLR end "ruleBoundedMultiplicity"
5625 8526
5626 8527
5627 // $ANTLR start "entryRuleDefaultInterpretation" 8528 // $ANTLR start "entryRuleScopeDefinition"
5628 // InternalSolverLanguage.g:1928:1: entryRuleDefaultInterpretation returns [EObject current=null] : iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF ; 8529 // InternalSolverLanguage.g:2959:1: entryRuleScopeDefinition returns [EObject current=null] : iv_ruleScopeDefinition= ruleScopeDefinition EOF ;
5629 public final EObject entryRuleDefaultInterpretation() throws RecognitionException { 8530 public final EObject entryRuleScopeDefinition() throws RecognitionException {
5630 EObject current = null; 8531 EObject current = null;
5631 8532
5632 EObject iv_ruleDefaultInterpretation = null; 8533 EObject iv_ruleScopeDefinition = null;
5633 8534
5634 8535
5635 try { 8536 try {
5636 // InternalSolverLanguage.g:1928:62: (iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF ) 8537 // InternalSolverLanguage.g:2959:56: (iv_ruleScopeDefinition= ruleScopeDefinition EOF )
5637 // InternalSolverLanguage.g:1929:2: iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF 8538 // InternalSolverLanguage.g:2960:2: iv_ruleScopeDefinition= ruleScopeDefinition EOF
5638 { 8539 {
5639 newCompositeNode(grammarAccess.getDefaultInterpretationRule()); 8540 if ( state.backtracking==0 ) {
8541 newCompositeNode(grammarAccess.getScopeDefinitionRule());
8542 }
5640 pushFollow(FOLLOW_1); 8543 pushFollow(FOLLOW_1);
5641 iv_ruleDefaultInterpretation=ruleDefaultInterpretation(); 8544 iv_ruleScopeDefinition=ruleScopeDefinition();
5642 8545
5643 state._fsp--; 8546 state._fsp--;
8547 if (state.failed) return current;
8548 if ( state.backtracking==0 ) {
8549 current =iv_ruleScopeDefinition;
8550 }
8551 match(input,EOF,FOLLOW_2); if (state.failed) return current;
8552
8553 }
8554
8555 }
8556
8557 catch (RecognitionException re) {
8558 recover(input,re);
8559 appendSkippedTokens();
8560 }
8561 finally {
8562 }
8563 return current;
8564 }
8565 // $ANTLR end "entryRuleScopeDefinition"
8566
8567
8568 // $ANTLR start "ruleScopeDefinition"
8569 // InternalSolverLanguage.g:2966:1: ruleScopeDefinition returns [EObject current=null] : (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ;
8570 public final EObject ruleScopeDefinition() throws RecognitionException {
8571 EObject current = null;
8572
8573 EObject this_ExactScopeDefinition_0 = null;
8574
8575 EObject this_BoundedScopeDefinition_1 = null;
8576
8577 EObject this_LowerBoundedScopeDefinition_2 = null;
8578
8579
8580
8581 enterRule();
8582
8583 try {
8584 // InternalSolverLanguage.g:2972:2: ( (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) )
8585 // InternalSolverLanguage.g:2973:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )
8586 {
8587 // InternalSolverLanguage.g:2973:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )
8588 int alt36=3;
8589 alt36 = dfa36.predict(input);
8590 switch (alt36) {
8591 case 1 :
8592 // InternalSolverLanguage.g:2974:3: this_ExactScopeDefinition_0= ruleExactScopeDefinition
8593 {
8594 if ( state.backtracking==0 ) {
8595
8596 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0());
8597
8598 }
8599 pushFollow(FOLLOW_2);
8600 this_ExactScopeDefinition_0=ruleExactScopeDefinition();
8601
8602 state._fsp--;
8603 if (state.failed) return current;
8604 if ( state.backtracking==0 ) {
5644 8605
5645 current =iv_ruleDefaultInterpretation; 8606 current = this_ExactScopeDefinition_0;
5646 match(input,EOF,FOLLOW_2); 8607 afterParserOrEnumRuleCall();
8608
8609 }
8610
8611 }
8612 break;
8613 case 2 :
8614 // InternalSolverLanguage.g:2983:3: this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition
8615 {
8616 if ( state.backtracking==0 ) {
8617
8618 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1());
8619
8620 }
8621 pushFollow(FOLLOW_2);
8622 this_BoundedScopeDefinition_1=ruleBoundedScopeDefinition();
8623
8624 state._fsp--;
8625 if (state.failed) return current;
8626 if ( state.backtracking==0 ) {
8627
8628 current = this_BoundedScopeDefinition_1;
8629 afterParserOrEnumRuleCall();
8630
8631 }
8632
8633 }
8634 break;
8635 case 3 :
8636 // InternalSolverLanguage.g:2992:3: this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition
8637 {
8638 if ( state.backtracking==0 ) {
8639
8640 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2());
8641
8642 }
8643 pushFollow(FOLLOW_2);
8644 this_LowerBoundedScopeDefinition_2=ruleLowerBoundedScopeDefinition();
8645
8646 state._fsp--;
8647 if (state.failed) return current;
8648 if ( state.backtracking==0 ) {
8649
8650 current = this_LowerBoundedScopeDefinition_2;
8651 afterParserOrEnumRuleCall();
8652
8653 }
8654
8655 }
8656 break;
5647 8657
5648 } 8658 }
5649 8659
8660
8661 }
8662
8663 if ( state.backtracking==0 ) {
8664
8665 leaveRule();
8666
8667 }
5650 } 8668 }
5651 8669
5652 catch (RecognitionException re) { 8670 catch (RecognitionException re) {
@@ -5657,63 +8675,138 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5657 } 8675 }
5658 return current; 8676 return current;
5659 } 8677 }
5660 // $ANTLR end "entryRuleDefaultInterpretation" 8678 // $ANTLR end "ruleScopeDefinition"
5661 8679
5662 8680
5663 // $ANTLR start "ruleDefaultInterpretation" 8681 // $ANTLR start "entryRuleExactScopeDefinition"
5664 // InternalSolverLanguage.g:1935:1: ruleDefaultInterpretation returns [EObject current=null] : (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) ; 8682 // InternalSolverLanguage.g:3004:1: entryRuleExactScopeDefinition returns [EObject current=null] : iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ;
5665 public final EObject ruleDefaultInterpretation() throws RecognitionException { 8683 public final EObject entryRuleExactScopeDefinition() throws RecognitionException {
5666 EObject current = null; 8684 EObject current = null;
5667 8685
5668 Token otherlv_0=null; 8686 EObject iv_ruleExactScopeDefinition = null;
5669 EObject lv_interpretation_1_0 = null; 8687
8688
8689 try {
8690 // InternalSolverLanguage.g:3004:61: (iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF )
8691 // InternalSolverLanguage.g:3005:2: iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF
8692 {
8693 if ( state.backtracking==0 ) {
8694 newCompositeNode(grammarAccess.getExactScopeDefinitionRule());
8695 }
8696 pushFollow(FOLLOW_1);
8697 iv_ruleExactScopeDefinition=ruleExactScopeDefinition();
8698
8699 state._fsp--;
8700 if (state.failed) return current;
8701 if ( state.backtracking==0 ) {
8702 current =iv_ruleExactScopeDefinition;
8703 }
8704 match(input,EOF,FOLLOW_2); if (state.failed) return current;
8705
8706 }
5670 8707
8708 }
8709
8710 catch (RecognitionException re) {
8711 recover(input,re);
8712 appendSkippedTokens();
8713 }
8714 finally {
8715 }
8716 return current;
8717 }
8718 // $ANTLR end "entryRuleExactScopeDefinition"
8719
8720
8721 // $ANTLR start "ruleExactScopeDefinition"
8722 // InternalSolverLanguage.g:3011:1: ruleExactScopeDefinition returns [EObject current=null] : (otherlv_0= 'scope' ( ( ruleQualifiedName ) ) otherlv_2= '==' ( (lv_exactScope_3_0= RULE_INT ) ) ) ;
8723 public final EObject ruleExactScopeDefinition() throws RecognitionException {
8724 EObject current = null;
8725
8726 Token otherlv_0=null;
8727 Token otherlv_2=null;
8728 Token lv_exactScope_3_0=null;
5671 8729
5672 8730
5673 enterRule(); 8731 enterRule();
5674 8732
5675 try { 8733 try {
5676 // InternalSolverLanguage.g:1941:2: ( (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) ) 8734 // InternalSolverLanguage.g:3017:2: ( (otherlv_0= 'scope' ( ( ruleQualifiedName ) ) otherlv_2= '==' ( (lv_exactScope_3_0= RULE_INT ) ) ) )
5677 // InternalSolverLanguage.g:1942:2: (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) 8735 // InternalSolverLanguage.g:3018:2: (otherlv_0= 'scope' ( ( ruleQualifiedName ) ) otherlv_2= '==' ( (lv_exactScope_3_0= RULE_INT ) ) )
5678 { 8736 {
5679 // InternalSolverLanguage.g:1942:2: (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) 8737 // InternalSolverLanguage.g:3018:2: (otherlv_0= 'scope' ( ( ruleQualifiedName ) ) otherlv_2= '==' ( (lv_exactScope_3_0= RULE_INT ) ) )
5680 // InternalSolverLanguage.g:1943:3: otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) 8738 // InternalSolverLanguage.g:3019:3: otherlv_0= 'scope' ( ( ruleQualifiedName ) ) otherlv_2= '==' ( (lv_exactScope_3_0= RULE_INT ) )
5681 { 8739 {
5682 otherlv_0=(Token)match(input,32,FOLLOW_21); 8740 otherlv_0=(Token)match(input,46,FOLLOW_35); if (state.failed) return current;
8741 if ( state.backtracking==0 ) {
5683 8742
5684 newLeafNode(otherlv_0, grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0()); 8743 newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0());
5685 8744
5686 // InternalSolverLanguage.g:1947:3: ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) 8745 }
5687 // InternalSolverLanguage.g:1948:4: (lv_interpretation_1_0= ruleBasicInterpretation ) 8746 // InternalSolverLanguage.g:3023:3: ( ( ruleQualifiedName ) )
8747 // InternalSolverLanguage.g:3024:4: ( ruleQualifiedName )
5688 { 8748 {
5689 // InternalSolverLanguage.g:1948:4: (lv_interpretation_1_0= ruleBasicInterpretation ) 8749 // InternalSolverLanguage.g:3024:4: ( ruleQualifiedName )
5690 // InternalSolverLanguage.g:1949:5: lv_interpretation_1_0= ruleBasicInterpretation 8750 // InternalSolverLanguage.g:3025:5: ruleQualifiedName
5691 { 8751 {
8752 if ( state.backtracking==0 ) {
5692 8753
5693 newCompositeNode(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0()); 8754 if (current==null) {
5694 8755 current = createModelElement(grammarAccess.getExactScopeDefinitionRule());
5695 pushFollow(FOLLOW_2); 8756 }
5696 lv_interpretation_1_0=ruleBasicInterpretation(); 8757
8758 }
8759 if ( state.backtracking==0 ) {
8760
8761 newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0());
8762
8763 }
8764 pushFollow(FOLLOW_48);
8765 ruleQualifiedName();
5697 8766
5698 state._fsp--; 8767 state._fsp--;
8768 if (state.failed) return current;
8769 if ( state.backtracking==0 ) {
5699 8770
8771 afterParserOrEnumRuleCall();
8772
8773 }
8774
8775 }
5700 8776
5701 if (current==null) {
5702 current = createModelElementForParent(grammarAccess.getDefaultInterpretationRule());
5703 }
5704 set(
5705 current,
5706 "interpretation",
5707 lv_interpretation_1_0,
5708 "org.eclipse.viatra.solver.language.SolverLanguage.BasicInterpretation");
5709 afterParserOrEnumRuleCall();
5710
5711 8777
5712 } 8778 }
5713 8779
8780 otherlv_2=(Token)match(input,47,FOLLOW_47); if (state.failed) return current;
8781 if ( state.backtracking==0 ) {
5714 8782
8783 newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2());
8784
5715 } 8785 }
8786 // InternalSolverLanguage.g:3043:3: ( (lv_exactScope_3_0= RULE_INT ) )
8787 // InternalSolverLanguage.g:3044:4: (lv_exactScope_3_0= RULE_INT )
8788 {
8789 // InternalSolverLanguage.g:3044:4: (lv_exactScope_3_0= RULE_INT )
8790 // InternalSolverLanguage.g:3045:5: lv_exactScope_3_0= RULE_INT
8791 {
8792 lv_exactScope_3_0=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current;
8793 if ( state.backtracking==0 ) {
5716 8794
8795 newLeafNode(lv_exactScope_3_0, grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0());
8796
8797 }
8798 if ( state.backtracking==0 ) {
8799
8800 if (current==null) {
8801 current = createModelElement(grammarAccess.getExactScopeDefinitionRule());
8802 }
8803 setWithLastConsumed(
8804 current,
8805 "exactScope",
8806 lv_exactScope_3_0,
8807 "org.eclipse.xtext.common.Terminals.INT");
8808
8809 }
5717 8810
5718 } 8811 }
5719 8812
@@ -5721,8 +8814,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5721 } 8814 }
5722 8815
5723 8816
5724 leaveRule(); 8817 }
8818
8819
8820 }
5725 8821
8822 if ( state.backtracking==0 ) {
8823
8824 leaveRule();
8825
8826 }
5726 } 8827 }
5727 8828
5728 catch (RecognitionException re) { 8829 catch (RecognitionException re) {
@@ -5733,29 +8834,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5733 } 8834 }
5734 return current; 8835 return current;
5735 } 8836 }
5736 // $ANTLR end "ruleDefaultInterpretation" 8837 // $ANTLR end "ruleExactScopeDefinition"
5737 8838
5738 8839
5739 // $ANTLR start "entryRuleCDInterpretation" 8840 // $ANTLR start "entryRuleBoundedScopeDefinition"
5740 // InternalSolverLanguage.g:1970:1: entryRuleCDInterpretation returns [EObject current=null] : iv_ruleCDInterpretation= ruleCDInterpretation EOF ; 8841 // InternalSolverLanguage.g:3065:1: entryRuleBoundedScopeDefinition returns [EObject current=null] : iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ;
5741 public final EObject entryRuleCDInterpretation() throws RecognitionException { 8842 public final EObject entryRuleBoundedScopeDefinition() throws RecognitionException {
5742 EObject current = null; 8843 EObject current = null;
5743 8844
5744 EObject iv_ruleCDInterpretation = null; 8845 EObject iv_ruleBoundedScopeDefinition = null;
5745 8846
5746 8847
5747 try { 8848 try {
5748 // InternalSolverLanguage.g:1970:57: (iv_ruleCDInterpretation= ruleCDInterpretation EOF ) 8849 // InternalSolverLanguage.g:3065:63: (iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF )
5749 // InternalSolverLanguage.g:1971:2: iv_ruleCDInterpretation= ruleCDInterpretation EOF 8850 // InternalSolverLanguage.g:3066:2: iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF
5750 { 8851 {
5751 newCompositeNode(grammarAccess.getCDInterpretationRule()); 8852 if ( state.backtracking==0 ) {
8853 newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule());
8854 }
5752 pushFollow(FOLLOW_1); 8855 pushFollow(FOLLOW_1);
5753 iv_ruleCDInterpretation=ruleCDInterpretation(); 8856 iv_ruleBoundedScopeDefinition=ruleBoundedScopeDefinition();
5754 8857
5755 state._fsp--; 8858 state._fsp--;
5756 8859 if (state.failed) return current;
5757 current =iv_ruleCDInterpretation; 8860 if ( state.backtracking==0 ) {
5758 match(input,EOF,FOLLOW_2); 8861 current =iv_ruleBoundedScopeDefinition;
8862 }
8863 match(input,EOF,FOLLOW_2); if (state.failed) return current;
5759 8864
5760 } 8865 }
5761 8866
@@ -5769,119 +8874,363 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5769 } 8874 }
5770 return current; 8875 return current;
5771 } 8876 }
5772 // $ANTLR end "entryRuleCDInterpretation" 8877 // $ANTLR end "entryRuleBoundedScopeDefinition"
5773 8878
5774 8879
5775 // $ANTLR start "ruleCDInterpretation" 8880 // $ANTLR start "ruleBoundedScopeDefinition"
5776 // InternalSolverLanguage.g:1977:1: ruleCDInterpretation returns [EObject current=null] : (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) ; 8881 // InternalSolverLanguage.g:3072:1: ruleBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= 'scope' ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) otherlv_11= '.' ) ;
5777 public final EObject ruleCDInterpretation() throws RecognitionException { 8882 public final EObject ruleBoundedScopeDefinition() throws RecognitionException {
5778 EObject current = null; 8883 EObject current = null;
5779 8884
5780 EObject this_ClassInterpretation_0 = null; 8885 Token otherlv_0=null;
5781 8886 Token lv_lowerBound_1_0=null;
5782 EObject this_EnumInterpretation_1 = null; 8887 Token otherlv_2=null;
5783 8888 Token otherlv_4=null;
5784 EObject this_GlobalRelationInterpretation_2 = null; 8889 Token lv_upperBound_5_0=null;
5785 8890 Token lv_upperBound_6_0=null;
8891 Token otherlv_7=null;
8892 Token otherlv_9=null;
8893 Token lv_lowerBound_10_0=null;
8894 Token otherlv_11=null;
5786 8895
5787 8896
5788 enterRule(); 8897 enterRule();
5789 8898
5790 try { 8899 try {
5791 // InternalSolverLanguage.g:1983:2: ( (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) ) 8900 // InternalSolverLanguage.g:3078:2: ( (otherlv_0= 'scope' ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) otherlv_11= '.' ) )
5792 // InternalSolverLanguage.g:1984:2: (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) 8901 // InternalSolverLanguage.g:3079:2: (otherlv_0= 'scope' ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) otherlv_11= '.' )
5793 { 8902 {
5794 // InternalSolverLanguage.g:1984:2: (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) 8903 // InternalSolverLanguage.g:3079:2: (otherlv_0= 'scope' ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) otherlv_11= '.' )
5795 int alt36=3; 8904 // InternalSolverLanguage.g:3080:3: otherlv_0= 'scope' ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) otherlv_11= '.'
5796 switch ( input.LA(1) ) { 8905 {
5797 case 33: 8906 otherlv_0=(Token)match(input,46,FOLLOW_49); if (state.failed) return current;
5798 case 34: 8907 if ( state.backtracking==0 ) {
5799 { 8908
5800 alt36=1; 8909 newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0());
8910
8911 }
8912 // InternalSolverLanguage.g:3084:3: ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) )
8913 int alt39=2;
8914 int LA39_0 = input.LA(1);
8915
8916 if ( (LA39_0==RULE_INT) ) {
8917 int LA39_1 = input.LA(2);
8918
8919 if ( (LA39_1==49) ) {
8920 alt39=2;
5801 } 8921 }
5802 break; 8922 else if ( (LA39_1==48) ) {
5803 case 38: 8923 alt39=1;
5804 {
5805 alt36=2;
5806 } 8924 }
5807 break; 8925 else {
5808 case 39: 8926 if (state.backtracking>0) {state.failed=true; return current;}
5809 case 40: 8927 NoViableAltException nvae =
5810 { 8928 new NoViableAltException("", 39, 1, input);
5811 alt36=3; 8929
8930 throw nvae;
5812 } 8931 }
5813 break; 8932 }
5814 default: 8933 else if ( (LA39_0==RULE_ID||LA39_0==RULE_QUOTED_ID) ) {
8934 alt39=1;
8935 }
8936 else {
8937 if (state.backtracking>0) {state.failed=true; return current;}
5815 NoViableAltException nvae = 8938 NoViableAltException nvae =
5816 new NoViableAltException("", 36, 0, input); 8939 new NoViableAltException("", 39, 0, input);
5817 8940
5818 throw nvae; 8941 throw nvae;
5819 } 8942 }
5820 8943 switch (alt39) {
5821 switch (alt36) {
5822 case 1 : 8944 case 1 :
5823 // InternalSolverLanguage.g:1985:3: this_ClassInterpretation_0= ruleClassInterpretation 8945 // InternalSolverLanguage.g:3085:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) )
8946 {
8947 // InternalSolverLanguage.g:3085:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) )
8948 // InternalSolverLanguage.g:3086:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) )
5824 { 8949 {
8950 // InternalSolverLanguage.g:3086:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )?
8951 int alt37=2;
8952 int LA37_0 = input.LA(1);
5825 8953
5826 newCompositeNode(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0()); 8954 if ( (LA37_0==RULE_INT) ) {
5827 8955 alt37=1;
5828 pushFollow(FOLLOW_2); 8956 }
5829 this_ClassInterpretation_0=ruleClassInterpretation(); 8957 switch (alt37) {
8958 case 1 :
8959 // InternalSolverLanguage.g:3087:6: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<='
8960 {
8961 // InternalSolverLanguage.g:3087:6: ( (lv_lowerBound_1_0= RULE_INT ) )
8962 // InternalSolverLanguage.g:3088:7: (lv_lowerBound_1_0= RULE_INT )
8963 {
8964 // InternalSolverLanguage.g:3088:7: (lv_lowerBound_1_0= RULE_INT )
8965 // InternalSolverLanguage.g:3089:8: lv_lowerBound_1_0= RULE_INT
8966 {
8967 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_50); if (state.failed) return current;
8968 if ( state.backtracking==0 ) {
8969
8970 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0());
8971
8972 }
8973 if ( state.backtracking==0 ) {
8974
8975 if (current==null) {
8976 current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule());
8977 }
8978 setWithLastConsumed(
8979 current,
8980 "lowerBound",
8981 lv_lowerBound_1_0,
8982 "org.eclipse.xtext.common.Terminals.INT");
8983
8984 }
8985
8986 }
8987
8988
8989 }
8990
8991 otherlv_2=(Token)match(input,48,FOLLOW_35); if (state.failed) return current;
8992 if ( state.backtracking==0 ) {
8993
8994 newLeafNode(otherlv_2, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1());
8995
8996 }
8997
8998 }
8999 break;
9000
9001 }
9002
9003 // InternalSolverLanguage.g:3110:5: ( ( ruleQualifiedName ) )
9004 // InternalSolverLanguage.g:3111:6: ( ruleQualifiedName )
9005 {
9006 // InternalSolverLanguage.g:3111:6: ( ruleQualifiedName )
9007 // InternalSolverLanguage.g:3112:7: ruleQualifiedName
9008 {
9009 if ( state.backtracking==0 ) {
9010
9011 if (current==null) {
9012 current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule());
9013 }
9014
9015 }
9016 if ( state.backtracking==0 ) {
9017
9018 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0());
9019
9020 }
9021 pushFollow(FOLLOW_50);
9022 ruleQualifiedName();
5830 9023
5831 state._fsp--; 9024 state._fsp--;
9025 if (state.failed) return current;
9026 if ( state.backtracking==0 ) {
9027
9028 afterParserOrEnumRuleCall();
9029
9030 }
9031
9032 }
9033
9034
9035 }
9036
9037 otherlv_4=(Token)match(input,48,FOLLOW_47); if (state.failed) return current;
9038 if ( state.backtracking==0 ) {
9039
9040 newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2());
9041
9042 }
9043 // InternalSolverLanguage.g:3130:5: ( (lv_upperBound_5_0= RULE_INT ) )
9044 // InternalSolverLanguage.g:3131:6: (lv_upperBound_5_0= RULE_INT )
9045 {
9046 // InternalSolverLanguage.g:3131:6: (lv_upperBound_5_0= RULE_INT )
9047 // InternalSolverLanguage.g:3132:7: lv_upperBound_5_0= RULE_INT
9048 {
9049 lv_upperBound_5_0=(Token)match(input,RULE_INT,FOLLOW_12); if (state.failed) return current;
9050 if ( state.backtracking==0 ) {
5832 9051
9052 newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0());
9053
9054 }
9055 if ( state.backtracking==0 ) {
9056
9057 if (current==null) {
9058 current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule());
9059 }
9060 setWithLastConsumed(
9061 current,
9062 "upperBound",
9063 lv_upperBound_5_0,
9064 "org.eclipse.xtext.common.Terminals.INT");
9065
9066 }
9067
9068 }
9069
9070
9071 }
9072
9073
9074 }
5833 9075
5834 current = this_ClassInterpretation_0;
5835 afterParserOrEnumRuleCall();
5836
5837 9076
5838 } 9077 }
5839 break; 9078 break;
5840 case 2 : 9079 case 2 :
5841 // InternalSolverLanguage.g:1994:3: this_EnumInterpretation_1= ruleEnumInterpretation 9080 // InternalSolverLanguage.g:3150:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? )
9081 {
9082 // InternalSolverLanguage.g:3150:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? )
9083 // InternalSolverLanguage.g:3151:5: ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )?
9084 {
9085 // InternalSolverLanguage.g:3151:5: ( (lv_upperBound_6_0= RULE_INT ) )
9086 // InternalSolverLanguage.g:3152:6: (lv_upperBound_6_0= RULE_INT )
5842 { 9087 {
9088 // InternalSolverLanguage.g:3152:6: (lv_upperBound_6_0= RULE_INT )
9089 // InternalSolverLanguage.g:3153:7: lv_upperBound_6_0= RULE_INT
9090 {
9091 lv_upperBound_6_0=(Token)match(input,RULE_INT,FOLLOW_51); if (state.failed) return current;
9092 if ( state.backtracking==0 ) {
5843 9093
5844 newCompositeNode(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1()); 9094 newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0());
5845 9095
5846 pushFollow(FOLLOW_2); 9096 }
5847 this_EnumInterpretation_1=ruleEnumInterpretation(); 9097 if ( state.backtracking==0 ) {
9098
9099 if (current==null) {
9100 current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule());
9101 }
9102 setWithLastConsumed(
9103 current,
9104 "upperBound",
9105 lv_upperBound_6_0,
9106 "org.eclipse.xtext.common.Terminals.INT");
9107
9108 }
9109
9110 }
5848 9111
5849 state._fsp--;
5850 9112
9113 }
5851 9114
5852 current = this_EnumInterpretation_1; 9115 otherlv_7=(Token)match(input,49,FOLLOW_35); if (state.failed) return current;
5853 afterParserOrEnumRuleCall(); 9116 if ( state.backtracking==0 ) {
5854
5855 9117
9118 newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
9119
5856 } 9120 }
5857 break; 9121 // InternalSolverLanguage.g:3173:5: ( ( ruleQualifiedName ) )
5858 case 3 : 9122 // InternalSolverLanguage.g:3174:6: ( ruleQualifiedName )
5859 // InternalSolverLanguage.g:2003:3: this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation 9123 {
9124 // InternalSolverLanguage.g:3174:6: ( ruleQualifiedName )
9125 // InternalSolverLanguage.g:3175:7: ruleQualifiedName
5860 { 9126 {
9127 if ( state.backtracking==0 ) {
5861 9128
5862 newCompositeNode(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2()); 9129 if (current==null) {
5863 9130 current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule());
5864 pushFollow(FOLLOW_2); 9131 }
5865 this_GlobalRelationInterpretation_2=ruleGlobalRelationInterpretation(); 9132
9133 }
9134 if ( state.backtracking==0 ) {
9135
9136 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0());
9137
9138 }
9139 pushFollow(FOLLOW_52);
9140 ruleQualifiedName();
5866 9141
5867 state._fsp--; 9142 state._fsp--;
9143 if (state.failed) return current;
9144 if ( state.backtracking==0 ) {
9145
9146 afterParserOrEnumRuleCall();
9147
9148 }
9149
9150 }
9151
9152
9153 }
9154
9155 // InternalSolverLanguage.g:3189:5: (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )?
9156 int alt38=2;
9157 int LA38_0 = input.LA(1);
9158
9159 if ( (LA38_0==49) ) {
9160 alt38=1;
9161 }
9162 switch (alt38) {
9163 case 1 :
9164 // InternalSolverLanguage.g:3190:6: otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) )
9165 {
9166 otherlv_9=(Token)match(input,49,FOLLOW_47); if (state.failed) return current;
9167 if ( state.backtracking==0 ) {
9168
9169 newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0());
9170
9171 }
9172 // InternalSolverLanguage.g:3194:6: ( (lv_lowerBound_10_0= RULE_INT ) )
9173 // InternalSolverLanguage.g:3195:7: (lv_lowerBound_10_0= RULE_INT )
9174 {
9175 // InternalSolverLanguage.g:3195:7: (lv_lowerBound_10_0= RULE_INT )
9176 // InternalSolverLanguage.g:3196:8: lv_lowerBound_10_0= RULE_INT
9177 {
9178 lv_lowerBound_10_0=(Token)match(input,RULE_INT,FOLLOW_12); if (state.failed) return current;
9179 if ( state.backtracking==0 ) {
9180
9181 newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0());
9182
9183 }
9184 if ( state.backtracking==0 ) {
9185
9186 if (current==null) {
9187 current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule());
9188 }
9189 setWithLastConsumed(
9190 current,
9191 "lowerBound",
9192 lv_lowerBound_10_0,
9193 "org.eclipse.xtext.common.Terminals.INT");
9194
9195 }
9196
9197 }
9198
9199
9200 }
9201
5868 9202
9203 }
9204 break;
9205
9206 }
9207
9208
9209 }
5869 9210
5870 current = this_GlobalRelationInterpretation_2;
5871 afterParserOrEnumRuleCall();
5872
5873 9211
5874 } 9212 }
5875 break; 9213 break;
5876 9214
5877 } 9215 }
5878 9216
9217 otherlv_11=(Token)match(input,22,FOLLOW_2); if (state.failed) return current;
9218 if ( state.backtracking==0 ) {
5879 9219
9220 newLeafNode(otherlv_11, grammarAccess.getBoundedScopeDefinitionAccess().getFullStopKeyword_2());
9221
5880 } 9222 }
5881 9223
9224 }
9225
9226
9227 }
5882 9228
5883 leaveRule(); 9229 if ( state.backtracking==0 ) {
5884 9230
9231 leaveRule();
9232
9233 }
5885 } 9234 }
5886 9235
5887 catch (RecognitionException re) { 9236 catch (RecognitionException re) {
@@ -5892,29 +9241,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5892 } 9241 }
5893 return current; 9242 return current;
5894 } 9243 }
5895 // $ANTLR end "ruleCDInterpretation" 9244 // $ANTLR end "ruleBoundedScopeDefinition"
5896 9245
5897 9246
5898 // $ANTLR start "entryRuleClassInterpretation" 9247 // $ANTLR start "entryRuleLowerBoundedScopeDefinition"
5899 // InternalSolverLanguage.g:2015:1: entryRuleClassInterpretation returns [EObject current=null] : iv_ruleClassInterpretation= ruleClassInterpretation EOF ; 9248 // InternalSolverLanguage.g:3223:1: entryRuleLowerBoundedScopeDefinition returns [EObject current=null] : iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ;
5900 public final EObject entryRuleClassInterpretation() throws RecognitionException { 9249 public final EObject entryRuleLowerBoundedScopeDefinition() throws RecognitionException {
5901 EObject current = null; 9250 EObject current = null;
5902 9251
5903 EObject iv_ruleClassInterpretation = null; 9252 EObject iv_ruleLowerBoundedScopeDefinition = null;
5904 9253
5905 9254
5906 try { 9255 try {
5907 // InternalSolverLanguage.g:2015:60: (iv_ruleClassInterpretation= ruleClassInterpretation EOF ) 9256 // InternalSolverLanguage.g:3223:68: (iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF )
5908 // InternalSolverLanguage.g:2016:2: iv_ruleClassInterpretation= ruleClassInterpretation EOF 9257 // InternalSolverLanguage.g:3224:2: iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF
5909 { 9258 {
5910 newCompositeNode(grammarAccess.getClassInterpretationRule()); 9259 if ( state.backtracking==0 ) {
9260 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule());
9261 }
5911 pushFollow(FOLLOW_1); 9262 pushFollow(FOLLOW_1);
5912 iv_ruleClassInterpretation=ruleClassInterpretation(); 9263 iv_ruleLowerBoundedScopeDefinition=ruleLowerBoundedScopeDefinition();
5913 9264
5914 state._fsp--; 9265 state._fsp--;
5915 9266 if (state.failed) return current;
5916 current =iv_ruleClassInterpretation; 9267 if ( state.backtracking==0 ) {
5917 match(input,EOF,FOLLOW_2); 9268 current =iv_ruleLowerBoundedScopeDefinition;
9269 }
9270 match(input,EOF,FOLLOW_2); if (state.failed) return current;
5918 9271
5919 } 9272 }
5920 9273
@@ -5928,245 +9281,239 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5928 } 9281 }
5929 return current; 9282 return current;
5930 } 9283 }
5931 // $ANTLR end "entryRuleClassInterpretation" 9284 // $ANTLR end "entryRuleLowerBoundedScopeDefinition"
5932 9285
5933 9286
5934 // $ANTLR start "ruleClassInterpretation" 9287 // $ANTLR start "ruleLowerBoundedScopeDefinition"
5935 // InternalSolverLanguage.g:2022:1: ruleClassInterpretation returns [EObject current=null] : ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) ; 9288 // InternalSolverLanguage.g:3230:1: ruleLowerBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= 'scope' ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) otherlv_7= '.' ) ;
5936 public final EObject ruleClassInterpretation() throws RecognitionException { 9289 public final EObject ruleLowerBoundedScopeDefinition() throws RecognitionException {
5937 EObject current = null; 9290 EObject current = null;
5938 9291
5939 Token lv_abstract_0_0=null; 9292 Token otherlv_0=null;
5940 Token otherlv_1=null; 9293 Token lv_lowerBound_1_0=null;
5941 Token otherlv_3=null; 9294 Token otherlv_2=null;
5942 Token otherlv_5=null; 9295 Token otherlv_5=null;
9296 Token lv_lowerBound_6_0=null;
5943 Token otherlv_7=null; 9297 Token otherlv_7=null;
5944 EObject lv_symbol_2_0 = null;
5945
5946 EObject lv_supertypes_4_0 = null;
5947
5948 EObject lv_fielt_6_0 = null;
5949
5950 9298
5951 9299
5952 enterRule(); 9300 enterRule();
5953 9301
5954 try { 9302 try {
5955 // InternalSolverLanguage.g:2028:2: ( ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) ) 9303 // InternalSolverLanguage.g:3236:2: ( (otherlv_0= 'scope' ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) otherlv_7= '.' ) )
5956 // InternalSolverLanguage.g:2029:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) 9304 // InternalSolverLanguage.g:3237:2: (otherlv_0= 'scope' ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) otherlv_7= '.' )
5957 { 9305 {
5958 // InternalSolverLanguage.g:2029:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) 9306 // InternalSolverLanguage.g:3237:2: (otherlv_0= 'scope' ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) otherlv_7= '.' )
5959 // InternalSolverLanguage.g:2030:3: ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' 9307 // InternalSolverLanguage.g:3238:3: otherlv_0= 'scope' ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) otherlv_7= '.'
5960 { 9308 {
5961 // InternalSolverLanguage.g:2030:3: ( (lv_abstract_0_0= 'abstract' ) )? 9309 otherlv_0=(Token)match(input,46,FOLLOW_49); if (state.failed) return current;
5962 int alt37=2; 9310 if ( state.backtracking==0 ) {
5963 int LA37_0 = input.LA(1); 9311
9312 newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0());
9313
9314 }
9315 // InternalSolverLanguage.g:3242:3: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) ) )
9316 int alt40=2;
9317 int LA40_0 = input.LA(1);
5964 9318
5965 if ( (LA37_0==33) ) { 9319 if ( (LA40_0==RULE_INT) ) {
5966 alt37=1; 9320 alt40=1;
5967 } 9321 }
5968 switch (alt37) { 9322 else if ( (LA40_0==RULE_ID||LA40_0==RULE_QUOTED_ID) ) {
9323 alt40=2;
9324 }
9325 else {
9326 if (state.backtracking>0) {state.failed=true; return current;}
9327 NoViableAltException nvae =
9328 new NoViableAltException("", 40, 0, input);
9329
9330 throw nvae;
9331 }
9332 switch (alt40) {
5969 case 1 : 9333 case 1 :
5970 // InternalSolverLanguage.g:2031:4: (lv_abstract_0_0= 'abstract' ) 9334 // InternalSolverLanguage.g:3243:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) )
5971 { 9335 {
5972 // InternalSolverLanguage.g:2031:4: (lv_abstract_0_0= 'abstract' ) 9336 // InternalSolverLanguage.g:3243:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) )
5973 // InternalSolverLanguage.g:2032:5: lv_abstract_0_0= 'abstract' 9337 // InternalSolverLanguage.g:3244:5: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) )
5974 { 9338 {
5975 lv_abstract_0_0=(Token)match(input,33,FOLLOW_27); 9339 // InternalSolverLanguage.g:3244:5: ( (lv_lowerBound_1_0= RULE_INT ) )
5976 9340 // InternalSolverLanguage.g:3245:6: (lv_lowerBound_1_0= RULE_INT )
5977 newLeafNode(lv_abstract_0_0, grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); 9341 {
5978 9342 // InternalSolverLanguage.g:3245:6: (lv_lowerBound_1_0= RULE_INT )
5979 9343 // InternalSolverLanguage.g:3246:7: lv_lowerBound_1_0= RULE_INT
5980 if (current==null) { 9344 {
5981 current = createModelElement(grammarAccess.getClassInterpretationRule()); 9345 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_50); if (state.failed) return current;
5982 } 9346 if ( state.backtracking==0 ) {
5983 setWithLastConsumed(current, "abstract", true, "abstract");
5984
5985 9347
9348 newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0());
9349
5986 } 9350 }
5987 9351 if ( state.backtracking==0 ) {
5988 9352
9353 if (current==null) {
9354 current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule());
9355 }
9356 setWithLastConsumed(
9357 current,
9358 "lowerBound",
9359 lv_lowerBound_1_0,
9360 "org.eclipse.xtext.common.Terminals.INT");
9361
5989 } 9362 }
5990 break;
5991
5992 }
5993
5994 otherlv_1=(Token)match(input,34,FOLLOW_12);
5995
5996 newLeafNode(otherlv_1, grammarAccess.getClassInterpretationAccess().getClassKeyword_1());
5997
5998 // InternalSolverLanguage.g:2048:3: ( (lv_symbol_2_0= ruleModelSymbol ) )
5999 // InternalSolverLanguage.g:2049:4: (lv_symbol_2_0= ruleModelSymbol )
6000 {
6001 // InternalSolverLanguage.g:2049:4: (lv_symbol_2_0= ruleModelSymbol )
6002 // InternalSolverLanguage.g:2050:5: lv_symbol_2_0= ruleModelSymbol
6003 {
6004 9363
6005 newCompositeNode(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); 9364 }
6006
6007 pushFollow(FOLLOW_28);
6008 lv_symbol_2_0=ruleModelSymbol();
6009
6010 state._fsp--;
6011
6012
6013 if (current==null) {
6014 current = createModelElementForParent(grammarAccess.getClassInterpretationRule());
6015 }
6016 set(
6017 current,
6018 "symbol",
6019 lv_symbol_2_0,
6020 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
6021 afterParserOrEnumRuleCall();
6022
6023
6024 }
6025 9365
6026 9366
6027 } 9367 }
6028 9368
6029 // InternalSolverLanguage.g:2067:3: (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? 9369 otherlv_2=(Token)match(input,48,FOLLOW_35); if (state.failed) return current;
6030 int alt39=2; 9370 if ( state.backtracking==0 ) {
6031 int LA39_0 = input.LA(1);
6032 9371
6033 if ( (LA39_0==35) ) { 9372 newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1());
6034 alt39=1; 9373
6035 } 9374 }
6036 switch (alt39) { 9375 // InternalSolverLanguage.g:3266:5: ( ( ruleQualifiedName ) )
6037 case 1 : 9376 // InternalSolverLanguage.g:3267:6: ( ruleQualifiedName )
6038 // InternalSolverLanguage.g:2068:4: otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+
6039 { 9377 {
6040 otherlv_3=(Token)match(input,35,FOLLOW_12); 9378 // InternalSolverLanguage.g:3267:6: ( ruleQualifiedName )
9379 // InternalSolverLanguage.g:3268:7: ruleQualifiedName
9380 {
9381 if ( state.backtracking==0 ) {
6041 9382
6042 newLeafNode(otherlv_3, grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0()); 9383 if (current==null) {
6043 9384 current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule());
6044 // InternalSolverLanguage.g:2072:4: ( (lv_supertypes_4_0= ruleModelSymbol ) )+ 9385 }
6045 int cnt38=0; 9386
6046 loop38: 9387 }
6047 do { 9388 if ( state.backtracking==0 ) {
6048 int alt38=2;
6049 int LA38_0 = input.LA(1);
6050 9389
6051 if ( (LA38_0==RULE_ID) ) { 9390 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0());
6052 alt38=1; 9391
6053 } 9392 }
9393 pushFollow(FOLLOW_12);
9394 ruleQualifiedName();
6054 9395
9396 state._fsp--;
9397 if (state.failed) return current;
9398 if ( state.backtracking==0 ) {
6055 9399
6056 switch (alt38) { 9400 afterParserOrEnumRuleCall();
6057 case 1 : 9401
6058 // InternalSolverLanguage.g:2073:5: (lv_supertypes_4_0= ruleModelSymbol ) 9402 }
6059 {
6060 // InternalSolverLanguage.g:2073:5: (lv_supertypes_4_0= ruleModelSymbol )
6061 // InternalSolverLanguage.g:2074:6: lv_supertypes_4_0= ruleModelSymbol
6062 {
6063 9403
6064 newCompositeNode(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0()); 9404 }
6065
6066 pushFollow(FOLLOW_29);
6067 lv_supertypes_4_0=ruleModelSymbol();
6068 9405
6069 state._fsp--;
6070 9406
9407 }
6071 9408
6072 if (current==null) {
6073 current = createModelElementForParent(grammarAccess.getClassInterpretationRule());
6074 }
6075 add(
6076 current,
6077 "supertypes",
6078 lv_supertypes_4_0,
6079 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
6080 afterParserOrEnumRuleCall();
6081
6082 9409
6083 } 9410 }
6084 9411
6085 9412
6086 } 9413 }
6087 break; 9414 break;
9415 case 2 :
9416 // InternalSolverLanguage.g:3284:4: ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) )
9417 {
9418 // InternalSolverLanguage.g:3284:4: ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) )
9419 // InternalSolverLanguage.g:3285:5: ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) )
9420 {
9421 // InternalSolverLanguage.g:3285:5: ( ( ruleQualifiedName ) )
9422 // InternalSolverLanguage.g:3286:6: ( ruleQualifiedName )
9423 {
9424 // InternalSolverLanguage.g:3286:6: ( ruleQualifiedName )
9425 // InternalSolverLanguage.g:3287:7: ruleQualifiedName
9426 {
9427 if ( state.backtracking==0 ) {
6088 9428
6089 default : 9429 if (current==null) {
6090 if ( cnt38 >= 1 ) break loop38; 9430 current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule());
6091 EarlyExitException eee = 9431 }
6092 new EarlyExitException(38, input); 9432
6093 throw eee; 9433 }
6094 } 9434 if ( state.backtracking==0 ) {
6095 cnt38++;
6096 } while (true);
6097 9435
9436 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0());
9437
9438 }
9439 pushFollow(FOLLOW_51);
9440 ruleQualifiedName();
6098 9441
9442 state._fsp--;
9443 if (state.failed) return current;
9444 if ( state.backtracking==0 ) {
9445
9446 afterParserOrEnumRuleCall();
9447
6099 } 9448 }
6100 break;
6101 9449
6102 } 9450 }
6103 9451
6104 otherlv_5=(Token)match(input,36,FOLLOW_30);
6105 9452
6106 newLeafNode(otherlv_5, grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4()); 9453 }
6107
6108 // InternalSolverLanguage.g:2096:3: ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )*
6109 loop40:
6110 do {
6111 int alt40=2;
6112 int LA40_0 = input.LA(1);
6113 9454
6114 if ( (LA40_0==RULE_ID||LA40_0==39) ) { 9455 otherlv_5=(Token)match(input,49,FOLLOW_47); if (state.failed) return current;
6115 alt40=1; 9456 if ( state.backtracking==0 ) {
6116 }
6117 9457
9458 newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
9459
9460 }
9461 // InternalSolverLanguage.g:3305:5: ( (lv_lowerBound_6_0= RULE_INT ) )
9462 // InternalSolverLanguage.g:3306:6: (lv_lowerBound_6_0= RULE_INT )
9463 {
9464 // InternalSolverLanguage.g:3306:6: (lv_lowerBound_6_0= RULE_INT )
9465 // InternalSolverLanguage.g:3307:7: lv_lowerBound_6_0= RULE_INT
9466 {
9467 lv_lowerBound_6_0=(Token)match(input,RULE_INT,FOLLOW_12); if (state.failed) return current;
9468 if ( state.backtracking==0 ) {
6118 9469
6119 switch (alt40) { 9470 newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0());
6120 case 1 : 9471
6121 // InternalSolverLanguage.g:2097:4: (lv_fielt_6_0= ruleFieldRelationInterpretation ) 9472 }
6122 { 9473 if ( state.backtracking==0 ) {
6123 // InternalSolverLanguage.g:2097:4: (lv_fielt_6_0= ruleFieldRelationInterpretation ) 9474
6124 // InternalSolverLanguage.g:2098:5: lv_fielt_6_0= ruleFieldRelationInterpretation 9475 if (current==null) {
6125 { 9476 current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule());
9477 }
9478 setWithLastConsumed(
9479 current,
9480 "lowerBound",
9481 lv_lowerBound_6_0,
9482 "org.eclipse.xtext.common.Terminals.INT");
9483
9484 }
6126 9485
6127 newCompositeNode(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0()); 9486 }
6128
6129 pushFollow(FOLLOW_30);
6130 lv_fielt_6_0=ruleFieldRelationInterpretation();
6131 9487
6132 state._fsp--;
6133 9488
9489 }
6134 9490
6135 if (current==null) {
6136 current = createModelElementForParent(grammarAccess.getClassInterpretationRule());
6137 }
6138 add(
6139 current,
6140 "fielt",
6141 lv_fielt_6_0,
6142 "org.eclipse.viatra.solver.language.SolverLanguage.FieldRelationInterpretation");
6143 afterParserOrEnumRuleCall();
6144
6145 9491
6146 } 9492 }
6147 9493
6148 9494
6149 } 9495 }
6150 break; 9496 break;
6151 9497
6152 default : 9498 }
6153 break loop40;
6154 }
6155 } while (true);
6156 9499
6157 otherlv_7=(Token)match(input,37,FOLLOW_2); 9500 otherlv_7=(Token)match(input,22,FOLLOW_2); if (state.failed) return current;
9501 if ( state.backtracking==0 ) {
6158 9502
6159 newLeafNode(otherlv_7, grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6()); 9503 newLeafNode(otherlv_7, grammarAccess.getLowerBoundedScopeDefinitionAccess().getFullStopKeyword_2());
6160 9504
9505 }
6161 9506
6162 } 9507 }
6163 9508
6164 9509
6165 } 9510 }
6166 9511
9512 if ( state.backtracking==0 ) {
6167 9513
6168 leaveRule(); 9514 leaveRule();
6169 9515
9516 }
6170 } 9517 }
6171 9518
6172 catch (RecognitionException re) { 9519 catch (RecognitionException re) {
@@ -6177,29 +9524,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6177 } 9524 }
6178 return current; 9525 return current;
6179 } 9526 }
6180 // $ANTLR end "ruleClassInterpretation" 9527 // $ANTLR end "ruleLowerBoundedScopeDefinition"
6181 9528
6182 9529
6183 // $ANTLR start "entryRuleEnumInterpretation" 9530 // $ANTLR start "entryRuleObjectiveDefinition"
6184 // InternalSolverLanguage.g:2123:1: entryRuleEnumInterpretation returns [EObject current=null] : iv_ruleEnumInterpretation= ruleEnumInterpretation EOF ; 9531 // InternalSolverLanguage.g:3333:1: entryRuleObjectiveDefinition returns [EObject current=null] : iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ;
6185 public final EObject entryRuleEnumInterpretation() throws RecognitionException { 9532 public final EObject entryRuleObjectiveDefinition() throws RecognitionException {
6186 EObject current = null; 9533 EObject current = null;
6187 9534
6188 EObject iv_ruleEnumInterpretation = null; 9535 EObject iv_ruleObjectiveDefinition = null;
6189 9536
6190 9537
6191 try { 9538 try {
6192 // InternalSolverLanguage.g:2123:59: (iv_ruleEnumInterpretation= ruleEnumInterpretation EOF ) 9539 // InternalSolverLanguage.g:3333:60: (iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF )
6193 // InternalSolverLanguage.g:2124:2: iv_ruleEnumInterpretation= ruleEnumInterpretation EOF 9540 // InternalSolverLanguage.g:3334:2: iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF
6194 { 9541 {
6195 newCompositeNode(grammarAccess.getEnumInterpretationRule()); 9542 if ( state.backtracking==0 ) {
9543 newCompositeNode(grammarAccess.getObjectiveDefinitionRule());
9544 }
6196 pushFollow(FOLLOW_1); 9545 pushFollow(FOLLOW_1);
6197 iv_ruleEnumInterpretation=ruleEnumInterpretation(); 9546 iv_ruleObjectiveDefinition=ruleObjectiveDefinition();
6198 9547
6199 state._fsp--; 9548 state._fsp--;
6200 9549 if (state.failed) return current;
6201 current =iv_ruleEnumInterpretation; 9550 if ( state.backtracking==0 ) {
6202 match(input,EOF,FOLLOW_2); 9551 current =iv_ruleObjectiveDefinition;
9552 }
9553 match(input,EOF,FOLLOW_2); if (state.failed) return current;
6203 9554
6204 } 9555 }
6205 9556
@@ -6213,138 +9564,110 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6213 } 9564 }
6214 return current; 9565 return current;
6215 } 9566 }
6216 // $ANTLR end "entryRuleEnumInterpretation" 9567 // $ANTLR end "entryRuleObjectiveDefinition"
6217 9568
6218 9569
6219 // $ANTLR start "ruleEnumInterpretation" 9570 // $ANTLR start "ruleObjectiveDefinition"
6220 // InternalSolverLanguage.g:2130:1: ruleEnumInterpretation returns [EObject current=null] : (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) ; 9571 // InternalSolverLanguage.g:3340:1: ruleObjectiveDefinition returns [EObject current=null] : ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ;
6221 public final EObject ruleEnumInterpretation() throws RecognitionException { 9572 public final EObject ruleObjectiveDefinition() throws RecognitionException {
6222 EObject current = null; 9573 EObject current = null;
6223 9574
6224 Token otherlv_0=null; 9575 Enumerator lv_kind_0_0 = null;
6225 Token otherlv_2=null;
6226 Token otherlv_4=null;
6227 EObject lv_Symbol_1_0 = null;
6228 9576
6229 EObject lv_objects_3_0 = null; 9577 EObject lv_objective_1_0 = null;
6230 9578
6231 9579
6232 9580
6233 enterRule(); 9581 enterRule();
6234 9582
6235 try { 9583 try {
6236 // InternalSolverLanguage.g:2136:2: ( (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) ) 9584 // InternalSolverLanguage.g:3346:2: ( ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) )
6237 // InternalSolverLanguage.g:2137:2: (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) 9585 // InternalSolverLanguage.g:3347:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) )
6238 { 9586 {
6239 // InternalSolverLanguage.g:2137:2: (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) 9587 // InternalSolverLanguage.g:3347:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) )
6240 // InternalSolverLanguage.g:2138:3: otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' 9588 // InternalSolverLanguage.g:3348:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) )
6241 { 9589 {
6242 otherlv_0=(Token)match(input,38,FOLLOW_12); 9590 // InternalSolverLanguage.g:3348:3: ( (lv_kind_0_0= ruleObjectiveKind ) )
6243 9591 // InternalSolverLanguage.g:3349:4: (lv_kind_0_0= ruleObjectiveKind )
6244 newLeafNode(otherlv_0, grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0());
6245
6246 // InternalSolverLanguage.g:2142:3: ( (lv_Symbol_1_0= ruleModelSymbol ) )
6247 // InternalSolverLanguage.g:2143:4: (lv_Symbol_1_0= ruleModelSymbol )
6248 { 9592 {
6249 // InternalSolverLanguage.g:2143:4: (lv_Symbol_1_0= ruleModelSymbol ) 9593 // InternalSolverLanguage.g:3349:4: (lv_kind_0_0= ruleObjectiveKind )
6250 // InternalSolverLanguage.g:2144:5: lv_Symbol_1_0= ruleModelSymbol 9594 // InternalSolverLanguage.g:3350:5: lv_kind_0_0= ruleObjectiveKind
6251 { 9595 {
9596 if ( state.backtracking==0 ) {
6252 9597
6253 newCompositeNode(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); 9598 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0());
6254 9599
6255 pushFollow(FOLLOW_31); 9600 }
6256 lv_Symbol_1_0=ruleModelSymbol(); 9601 pushFollow(FOLLOW_6);
9602 lv_kind_0_0=ruleObjectiveKind();
6257 9603
6258 state._fsp--; 9604 state._fsp--;
9605 if (state.failed) return current;
9606 if ( state.backtracking==0 ) {
6259 9607
6260 9608 if (current==null) {
6261 if (current==null) { 9609 current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule());
6262 current = createModelElementForParent(grammarAccess.getEnumInterpretationRule()); 9610 }
6263 } 9611 set(
6264 set( 9612 current,
6265 current, 9613 "kind",
6266 "Symbol", 9614 lv_kind_0_0,
6267 lv_Symbol_1_0, 9615 "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveKind");
6268 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); 9616 afterParserOrEnumRuleCall();
6269 afterParserOrEnumRuleCall(); 9617
6270
6271
6272 } 9618 }
6273 9619
6274
6275 } 9620 }
6276 9621
6277 otherlv_2=(Token)match(input,36,FOLLOW_13);
6278
6279 newLeafNode(otherlv_2, grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2());
6280
6281 // InternalSolverLanguage.g:2165:3: ( (lv_objects_3_0= ruleNamedObject ) )+
6282 int cnt41=0;
6283 loop41:
6284 do {
6285 int alt41=2;
6286 int LA41_0 = input.LA(1);
6287
6288 if ( (LA41_0==27) ) {
6289 alt41=1;
6290 }
6291
6292
6293 switch (alt41) {
6294 case 1 :
6295 // InternalSolverLanguage.g:2166:4: (lv_objects_3_0= ruleNamedObject )
6296 {
6297 // InternalSolverLanguage.g:2166:4: (lv_objects_3_0= ruleNamedObject )
6298 // InternalSolverLanguage.g:2167:5: lv_objects_3_0= ruleNamedObject
6299 {
6300
6301 newCompositeNode(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0());
6302
6303 pushFollow(FOLLOW_32);
6304 lv_objects_3_0=ruleNamedObject();
6305 9622
6306 state._fsp--; 9623 }
6307 9624
9625 // InternalSolverLanguage.g:3367:3: ( (lv_objective_1_0= ruleExpression ) )
9626 // InternalSolverLanguage.g:3368:4: (lv_objective_1_0= ruleExpression )
9627 {
9628 // InternalSolverLanguage.g:3368:4: (lv_objective_1_0= ruleExpression )
9629 // InternalSolverLanguage.g:3369:5: lv_objective_1_0= ruleExpression
9630 {
9631 if ( state.backtracking==0 ) {
6308 9632
6309 if (current==null) { 9633 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0());
6310 current = createModelElementForParent(grammarAccess.getEnumInterpretationRule()); 9634
6311 } 9635 }
6312 add( 9636 pushFollow(FOLLOW_2);
6313 current, 9637 lv_objective_1_0=ruleExpression();
6314 "objects",
6315 lv_objects_3_0,
6316 "org.eclipse.viatra.solver.language.SolverLanguage.NamedObject");
6317 afterParserOrEnumRuleCall();
6318
6319 9638
6320 } 9639 state._fsp--;
9640 if (state.failed) return current;
9641 if ( state.backtracking==0 ) {
6321 9642
9643 if (current==null) {
9644 current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule());
9645 }
9646 set(
9647 current,
9648 "objective",
9649 lv_objective_1_0,
9650 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
9651 afterParserOrEnumRuleCall();
9652
9653 }
6322 9654
6323 } 9655 }
6324 break;
6325 9656
6326 default :
6327 if ( cnt41 >= 1 ) break loop41;
6328 EarlyExitException eee =
6329 new EarlyExitException(41, input);
6330 throw eee;
6331 }
6332 cnt41++;
6333 } while (true);
6334 9657
6335 otherlv_4=(Token)match(input,37,FOLLOW_2); 9658 }
6336 9659
6337 newLeafNode(otherlv_4, grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4());
6338
6339 9660
6340 } 9661 }
6341 9662
6342 9663
6343 } 9664 }
6344 9665
9666 if ( state.backtracking==0 ) {
6345 9667
6346 leaveRule(); 9668 leaveRule();
6347 9669
9670 }
6348 } 9671 }
6349 9672
6350 catch (RecognitionException re) { 9673 catch (RecognitionException re) {
@@ -6355,29 +9678,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6355 } 9678 }
6356 return current; 9679 return current;
6357 } 9680 }
6358 // $ANTLR end "ruleEnumInterpretation" 9681 // $ANTLR end "ruleObjectiveDefinition"
6359 9682
6360 9683
6361 // $ANTLR start "entryRuleFieldRelationInterpretation" 9684 // $ANTLR start "entryRuleUpperMultiplicty"
6362 // InternalSolverLanguage.g:2192:1: entryRuleFieldRelationInterpretation returns [EObject current=null] : iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF ; 9685 // InternalSolverLanguage.g:3390:1: entryRuleUpperMultiplicty returns [String current=null] : iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ;
6363 public final EObject entryRuleFieldRelationInterpretation() throws RecognitionException { 9686 public final String entryRuleUpperMultiplicty() throws RecognitionException {
6364 EObject current = null; 9687 String current = null;
6365 9688
6366 EObject iv_ruleFieldRelationInterpretation = null; 9689 AntlrDatatypeRuleToken iv_ruleUpperMultiplicty = null;
6367 9690
6368 9691
6369 try { 9692 try {
6370 // InternalSolverLanguage.g:2192:68: (iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF ) 9693 // InternalSolverLanguage.g:3390:56: (iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF )
6371 // InternalSolverLanguage.g:2193:2: iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF 9694 // InternalSolverLanguage.g:3391:2: iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF
6372 { 9695 {
6373 newCompositeNode(grammarAccess.getFieldRelationInterpretationRule()); 9696 if ( state.backtracking==0 ) {
9697 newCompositeNode(grammarAccess.getUpperMultiplictyRule());
9698 }
6374 pushFollow(FOLLOW_1); 9699 pushFollow(FOLLOW_1);
6375 iv_ruleFieldRelationInterpretation=ruleFieldRelationInterpretation(); 9700 iv_ruleUpperMultiplicty=ruleUpperMultiplicty();
6376 9701
6377 state._fsp--; 9702 state._fsp--;
6378 9703 if (state.failed) return current;
6379 current =iv_ruleFieldRelationInterpretation; 9704 if ( state.backtracking==0 ) {
6380 match(input,EOF,FOLLOW_2); 9705 current =iv_ruleUpperMultiplicty.getText();
9706 }
9707 match(input,EOF,FOLLOW_2); if (state.failed) return current;
6381 9708
6382 } 9709 }
6383 9710
@@ -6391,171 +9718,205 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6391 } 9718 }
6392 return current; 9719 return current;
6393 } 9720 }
6394 // $ANTLR end "entryRuleFieldRelationInterpretation" 9721 // $ANTLR end "entryRuleUpperMultiplicty"
6395
6396 9722
6397 // $ANTLR start "ruleFieldRelationInterpretation"
6398 // InternalSolverLanguage.g:2199:1: ruleFieldRelationInterpretation returns [EObject current=null] : ( ( (lv_containment_0_0= 'containment' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) ;
6399 public final EObject ruleFieldRelationInterpretation() throws RecognitionException {
6400 EObject current = null;
6401 9723
6402 Token lv_containment_0_0=null; 9724 // $ANTLR start "ruleUpperMultiplicty"
6403 Token otherlv_2=null; 9725 // InternalSolverLanguage.g:3397:1: ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ;
6404 EObject lv_symbol_1_0 = null; 9726 public final AntlrDatatypeRuleToken ruleUpperMultiplicty() throws RecognitionException {
6405 9727 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
6406 EObject lv_multiplicity_3_0 = null;
6407
6408 EObject lv_target_4_0 = null;
6409 9728
9729 Token this_INT_0=null;
9730 Token kw=null;
6410 9731
6411 9732
6412 enterRule(); 9733 enterRule();
6413 9734
6414 try { 9735 try {
6415 // InternalSolverLanguage.g:2205:2: ( ( ( (lv_containment_0_0= 'containment' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) ) 9736 // InternalSolverLanguage.g:3403:2: ( (this_INT_0= RULE_INT | kw= '*' ) )
6416 // InternalSolverLanguage.g:2206:2: ( ( (lv_containment_0_0= 'containment' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) 9737 // InternalSolverLanguage.g:3404:2: (this_INT_0= RULE_INT | kw= '*' )
6417 { 9738 {
6418 // InternalSolverLanguage.g:2206:2: ( ( (lv_containment_0_0= 'containment' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) 9739 // InternalSolverLanguage.g:3404:2: (this_INT_0= RULE_INT | kw= '*' )
6419 // InternalSolverLanguage.g:2207:3: ( (lv_containment_0_0= 'containment' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) 9740 int alt41=2;
6420 { 9741 int LA41_0 = input.LA(1);
6421 // InternalSolverLanguage.g:2207:3: ( (lv_containment_0_0= 'containment' ) )?
6422 int alt42=2;
6423 int LA42_0 = input.LA(1);
6424 9742
6425 if ( (LA42_0==39) ) { 9743 if ( (LA41_0==RULE_INT) ) {
6426 alt42=1; 9744 alt41=1;
6427 } 9745 }
6428 switch (alt42) { 9746 else if ( (LA41_0==35) ) {
9747 alt41=2;
9748 }
9749 else {
9750 if (state.backtracking>0) {state.failed=true; return current;}
9751 NoViableAltException nvae =
9752 new NoViableAltException("", 41, 0, input);
9753
9754 throw nvae;
9755 }
9756 switch (alt41) {
6429 case 1 : 9757 case 1 :
6430 // InternalSolverLanguage.g:2208:4: (lv_containment_0_0= 'containment' ) 9758 // InternalSolverLanguage.g:3405:3: this_INT_0= RULE_INT
6431 { 9759 {
6432 // InternalSolverLanguage.g:2208:4: (lv_containment_0_0= 'containment' ) 9760 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current;
6433 // InternalSolverLanguage.g:2209:5: lv_containment_0_0= 'containment' 9761 if ( state.backtracking==0 ) {
6434 {
6435 lv_containment_0_0=(Token)match(input,39,FOLLOW_12);
6436 9762
6437 newLeafNode(lv_containment_0_0, grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); 9763 current.merge(this_INT_0);
6438 9764
9765 }
9766 if ( state.backtracking==0 ) {
6439 9767
6440 if (current==null) { 9768 newLeafNode(this_INT_0, grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0());
6441 current = createModelElement(grammarAccess.getFieldRelationInterpretationRule()); 9769
6442 } 9770 }
6443 setWithLastConsumed(current, "containment", true, "containment");
6444
6445 9771
6446 } 9772 }
9773 break;
9774 case 2 :
9775 // InternalSolverLanguage.g:3413:3: kw= '*'
9776 {
9777 kw=(Token)match(input,35,FOLLOW_2); if (state.failed) return current;
9778 if ( state.backtracking==0 ) {
6447 9779
9780 current.merge(kw);
9781 newLeafNode(kw, grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1());
9782
9783 }
6448 9784
6449 } 9785 }
6450 break; 9786 break;
6451 9787
6452 } 9788 }
6453 9789
6454 // InternalSolverLanguage.g:2221:3: ( (lv_symbol_1_0= ruleModelSymbol ) )
6455 // InternalSolverLanguage.g:2222:4: (lv_symbol_1_0= ruleModelSymbol )
6456 {
6457 // InternalSolverLanguage.g:2222:4: (lv_symbol_1_0= ruleModelSymbol )
6458 // InternalSolverLanguage.g:2223:5: lv_symbol_1_0= ruleModelSymbol
6459 {
6460 9790
6461 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); 9791 }
6462
6463 pushFollow(FOLLOW_10);
6464 lv_symbol_1_0=ruleModelSymbol();
6465 9792
6466 state._fsp--; 9793 if ( state.backtracking==0 ) {
6467 9794
9795 leaveRule();
6468 9796
6469 if (current==null) { 9797 }
6470 current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule()); 9798 }
6471 }
6472 set(
6473 current,
6474 "symbol",
6475 lv_symbol_1_0,
6476 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
6477 afterParserOrEnumRuleCall();
6478
6479 9799
9800 catch (RecognitionException re) {
9801 recover(input,re);
9802 appendSkippedTokens();
6480 } 9803 }
9804 finally {
9805 }
9806 return current;
9807 }
9808 // $ANTLR end "ruleUpperMultiplicty"
6481 9809
6482 9810
6483 } 9811 // $ANTLR start "entryRuleReal"
9812 // InternalSolverLanguage.g:3422:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
9813 public final String entryRuleReal() throws RecognitionException {
9814 String current = null;
9815
9816 AntlrDatatypeRuleToken iv_ruleReal = null;
6484 9817
6485 otherlv_2=(Token)match(input,20,FOLLOW_33);
6486 9818
6487 newLeafNode(otherlv_2, grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2());
6488
6489 // InternalSolverLanguage.g:2244:3: ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )?
6490 int alt43=2;
6491 int LA43_0 = input.LA(1);
6492 9819
6493 if ( (LA43_0==RULE_INT) ) { 9820 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
6494 alt43=1; 9821
9822 try {
9823 // InternalSolverLanguage.g:3424:2: (iv_ruleReal= ruleReal EOF )
9824 // InternalSolverLanguage.g:3425:2: iv_ruleReal= ruleReal EOF
9825 {
9826 if ( state.backtracking==0 ) {
9827 newCompositeNode(grammarAccess.getRealRule());
6495 } 9828 }
6496 switch (alt43) { 9829 pushFollow(FOLLOW_1);
6497 case 1 : 9830 iv_ruleReal=ruleReal();
6498 // InternalSolverLanguage.g:2245:4: (lv_multiplicity_3_0= ruleMultiplicityDefinition )
6499 {
6500 // InternalSolverLanguage.g:2245:4: (lv_multiplicity_3_0= ruleMultiplicityDefinition )
6501 // InternalSolverLanguage.g:2246:5: lv_multiplicity_3_0= ruleMultiplicityDefinition
6502 {
6503 9831
6504 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0()); 9832 state._fsp--;
6505 9833 if (state.failed) return current;
6506 pushFollow(FOLLOW_21); 9834 if ( state.backtracking==0 ) {
6507 lv_multiplicity_3_0=ruleMultiplicityDefinition(); 9835 current =iv_ruleReal.getText();
9836 }
9837 match(input,EOF,FOLLOW_2); if (state.failed) return current;
6508 9838
6509 state._fsp--; 9839 }
9840
9841 }
6510 9842
9843 catch (RecognitionException re) {
9844 recover(input,re);
9845 appendSkippedTokens();
9846 }
9847 finally {
6511 9848
6512 if (current==null) { 9849 myHiddenTokenState.restore();
6513 current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule());
6514 }
6515 set(
6516 current,
6517 "multiplicity",
6518 lv_multiplicity_3_0,
6519 "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition");
6520 afterParserOrEnumRuleCall();
6521
6522 9850
6523 } 9851 }
9852 return current;
9853 }
9854 // $ANTLR end "entryRuleReal"
6524 9855
6525 9856
6526 } 9857 // $ANTLR start "ruleReal"
6527 break; 9858 // InternalSolverLanguage.g:3434:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? ) ;
9859 public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException {
9860 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
6528 9861
6529 } 9862 Token this_INT_0=null;
9863 Token kw=null;
9864 Token this_INT_2=null;
6530 9865
6531 // InternalSolverLanguage.g:2263:3: ( (lv_target_4_0= ruleSymbol ) ) 9866
6532 // InternalSolverLanguage.g:2264:4: (lv_target_4_0= ruleSymbol ) 9867 enterRule();
9868 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
9869
9870 try {
9871 // InternalSolverLanguage.g:3441:2: ( (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? ) )
9872 // InternalSolverLanguage.g:3442:2: (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? )
6533 { 9873 {
6534 // InternalSolverLanguage.g:2264:4: (lv_target_4_0= ruleSymbol ) 9874 // InternalSolverLanguage.g:3442:2: (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? )
6535 // InternalSolverLanguage.g:2265:5: lv_target_4_0= ruleSymbol 9875 // InternalSolverLanguage.g:3443:3: this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )?
6536 { 9876 {
9877 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_53); if (state.failed) return current;
9878 if ( state.backtracking==0 ) {
6537 9879
6538 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0()); 9880 current.merge(this_INT_0);
6539 9881
6540 pushFollow(FOLLOW_2); 9882 }
6541 lv_target_4_0=ruleSymbol(); 9883 if ( state.backtracking==0 ) {
6542 9884
6543 state._fsp--; 9885 newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0());
9886
9887 }
9888 // InternalSolverLanguage.g:3450:3: (kw= '.' this_INT_2= RULE_INT )?
9889 int alt42=2;
9890 int LA42_0 = input.LA(1);
6544 9891
9892 if ( (LA42_0==22) ) {
9893 alt42=1;
9894 }
9895 switch (alt42) {
9896 case 1 :
9897 // InternalSolverLanguage.g:3451:4: kw= '.' this_INT_2= RULE_INT
9898 {
9899 kw=(Token)match(input,22,FOLLOW_47); if (state.failed) return current;
9900 if ( state.backtracking==0 ) {
6545 9901
6546 if (current==null) { 9902 current.merge(kw);
6547 current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule()); 9903 newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0());
6548 } 9904
6549 set( 9905 }
6550 current, 9906 this_INT_2=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current;
6551 "target", 9907 if ( state.backtracking==0 ) {
6552 lv_target_4_0,
6553 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
6554 afterParserOrEnumRuleCall();
6555
6556 9908
6557 } 9909 current.merge(this_INT_2);
9910
9911 }
9912 if ( state.backtracking==0 ) {
6558 9913
9914 newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1());
9915
9916 }
9917
9918 }
9919 break;
6559 9920
6560 } 9921 }
6561 9922
@@ -6565,9 +9926,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6565 9926
6566 } 9927 }
6567 9928
9929 if ( state.backtracking==0 ) {
6568 9930
6569 leaveRule(); 9931 leaveRule();
6570 9932
9933 }
6571 } 9934 }
6572 9935
6573 catch (RecognitionException re) { 9936 catch (RecognitionException re) {
@@ -6575,32 +9938,42 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6575 appendSkippedTokens(); 9938 appendSkippedTokens();
6576 } 9939 }
6577 finally { 9940 finally {
9941
9942 myHiddenTokenState.restore();
9943
6578 } 9944 }
6579 return current; 9945 return current;
6580 } 9946 }
6581 // $ANTLR end "ruleFieldRelationInterpretation" 9947 // $ANTLR end "ruleReal"
6582 9948
6583 9949
6584 // $ANTLR start "entryRuleGlobalRelationInterpretation" 9950 // $ANTLR start "entryRuleQualifiedName"
6585 // InternalSolverLanguage.g:2286:1: entryRuleGlobalRelationInterpretation returns [EObject current=null] : iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF ; 9951 // InternalSolverLanguage.g:3471:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
6586 public final EObject entryRuleGlobalRelationInterpretation() throws RecognitionException { 9952 public final String entryRuleQualifiedName() throws RecognitionException {
6587 EObject current = null; 9953 String current = null;
9954
9955 AntlrDatatypeRuleToken iv_ruleQualifiedName = null;
6588 9956
6589 EObject iv_ruleGlobalRelationInterpretation = null;
6590 9957
6591 9958
9959 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
9960
6592 try { 9961 try {
6593 // InternalSolverLanguage.g:2286:69: (iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF ) 9962 // InternalSolverLanguage.g:3473:2: (iv_ruleQualifiedName= ruleQualifiedName EOF )
6594 // InternalSolverLanguage.g:2287:2: iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF 9963 // InternalSolverLanguage.g:3474:2: iv_ruleQualifiedName= ruleQualifiedName EOF
6595 { 9964 {
6596 newCompositeNode(grammarAccess.getGlobalRelationInterpretationRule()); 9965 if ( state.backtracking==0 ) {
9966 newCompositeNode(grammarAccess.getQualifiedNameRule());
9967 }
6597 pushFollow(FOLLOW_1); 9968 pushFollow(FOLLOW_1);
6598 iv_ruleGlobalRelationInterpretation=ruleGlobalRelationInterpretation(); 9969 iv_ruleQualifiedName=ruleQualifiedName();
6599 9970
6600 state._fsp--; 9971 state._fsp--;
6601 9972 if (state.failed) return current;
6602 current =iv_ruleGlobalRelationInterpretation; 9973 if ( state.backtracking==0 ) {
6603 match(input,EOF,FOLLOW_2); 9974 current =iv_ruleQualifiedName.getText();
9975 }
9976 match(input,EOF,FOLLOW_2); if (state.failed) return current;
6604 9977
6605 } 9978 }
6606 9979
@@ -6611,146 +9984,231 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6611 appendSkippedTokens(); 9984 appendSkippedTokens();
6612 } 9985 }
6613 finally { 9986 finally {
9987
9988 myHiddenTokenState.restore();
9989
6614 } 9990 }
6615 return current; 9991 return current;
6616 } 9992 }
6617 // $ANTLR end "entryRuleGlobalRelationInterpretation" 9993 // $ANTLR end "entryRuleQualifiedName"
6618
6619
6620 // $ANTLR start "ruleGlobalRelationInterpretation"
6621 // InternalSolverLanguage.g:2293:1: ruleGlobalRelationInterpretation returns [EObject current=null] : ( ( (lv_containment_0_0= 'containment' ) )? otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) ;
6622 public final EObject ruleGlobalRelationInterpretation() throws RecognitionException {
6623 EObject current = null;
6624 9994
6625 Token lv_containment_0_0=null;
6626 Token otherlv_1=null;
6627 Token otherlv_3=null;
6628 EObject lv_symbol_2_0 = null;
6629
6630 EObject lv_sourceMultiplicity_4_0 = null;
6631 9995
6632 EObject lv_source_5_0 = null; 9996 // $ANTLR start "ruleQualifiedName"
6633 9997 // InternalSolverLanguage.g:3483:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ;
6634 EObject lv_targetMultiplicity_6_0 = null; 9998 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
6635 9999 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
6636 EObject lv_target_7_0 = null;
6637 10000
10001 Token this_ID_0=null;
10002 Token kw=null;
10003 Token this_ID_2=null;
10004 Token this_QUOTED_ID_3=null;
6638 10005
6639 10006
6640 enterRule(); 10007 enterRule();
10008 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
6641 10009
6642 try { 10010 try {
6643 // InternalSolverLanguage.g:2299:2: ( ( ( (lv_containment_0_0= 'containment' ) )? otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) ) 10011 // InternalSolverLanguage.g:3490:2: ( ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) )
6644 // InternalSolverLanguage.g:2300:2: ( ( (lv_containment_0_0= 'containment' ) )? otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) 10012 // InternalSolverLanguage.g:3491:2: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID )
6645 { 10013 {
6646 // InternalSolverLanguage.g:2300:2: ( ( (lv_containment_0_0= 'containment' ) )? otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) 10014 // InternalSolverLanguage.g:3491:2: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID )
6647 // InternalSolverLanguage.g:2301:3: ( (lv_containment_0_0= 'containment' ) )? otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) )
6648 {
6649 // InternalSolverLanguage.g:2301:3: ( (lv_containment_0_0= 'containment' ) )?
6650 int alt44=2; 10015 int alt44=2;
6651 int LA44_0 = input.LA(1); 10016 int LA44_0 = input.LA(1);
6652 10017
6653 if ( (LA44_0==39) ) { 10018 if ( (LA44_0==RULE_ID) ) {
6654 alt44=1; 10019 alt44=1;
6655 } 10020 }
10021 else if ( (LA44_0==RULE_QUOTED_ID) ) {
10022 alt44=2;
10023 }
10024 else {
10025 if (state.backtracking>0) {state.failed=true; return current;}
10026 NoViableAltException nvae =
10027 new NoViableAltException("", 44, 0, input);
10028
10029 throw nvae;
10030 }
6656 switch (alt44) { 10031 switch (alt44) {
6657 case 1 : 10032 case 1 :
6658 // InternalSolverLanguage.g:2302:4: (lv_containment_0_0= 'containment' ) 10033 // InternalSolverLanguage.g:3492:3: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
6659 { 10034 {
6660 // InternalSolverLanguage.g:2302:4: (lv_containment_0_0= 'containment' ) 10035 // InternalSolverLanguage.g:3492:3: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
6661 // InternalSolverLanguage.g:2303:5: lv_containment_0_0= 'containment' 10036 // InternalSolverLanguage.g:3493:4: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
6662 { 10037 {
6663 lv_containment_0_0=(Token)match(input,39,FOLLOW_34); 10038 this_ID_0=(Token)match(input,RULE_ID,FOLLOW_53); if (state.failed) return current;
10039 if ( state.backtracking==0 ) {
6664 10040
6665 newLeafNode(lv_containment_0_0, grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); 10041 current.merge(this_ID_0);
6666 10042
10043 }
10044 if ( state.backtracking==0 ) {
10045
10046 newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0());
10047
10048 }
10049 // InternalSolverLanguage.g:3500:4: (kw= '.' this_ID_2= RULE_ID )*
10050 loop43:
10051 do {
10052 int alt43=2;
10053 int LA43_0 = input.LA(1);
10054
10055 if ( (LA43_0==22) ) {
10056 int LA43_2 = input.LA(2);
10057
10058 if ( (LA43_2==RULE_ID) ) {
10059 alt43=1;
10060 }
10061
10062
10063 }
10064
10065
10066 switch (alt43) {
10067 case 1 :
10068 // InternalSolverLanguage.g:3501:5: kw= '.' this_ID_2= RULE_ID
10069 {
10070 kw=(Token)match(input,22,FOLLOW_40); if (state.failed) return current;
10071 if ( state.backtracking==0 ) {
10072
10073 current.merge(kw);
10074 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0());
10075
10076 }
10077 this_ID_2=(Token)match(input,RULE_ID,FOLLOW_53); if (state.failed) return current;
10078 if ( state.backtracking==0 ) {
10079
10080 current.merge(this_ID_2);
10081
10082 }
10083 if ( state.backtracking==0 ) {
10084
10085 newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1());
10086
10087 }
10088
10089 }
10090 break;
10091
10092 default :
10093 break loop43;
10094 }
10095 } while (true);
6667 10096
6668 if (current==null) {
6669 current = createModelElement(grammarAccess.getGlobalRelationInterpretationRule());
6670 }
6671 setWithLastConsumed(current, "containment", true, "containment");
6672
6673 10097
6674 } 10098 }
6675 10099
6676 10100
6677 } 10101 }
6678 break; 10102 break;
10103 case 2 :
10104 // InternalSolverLanguage.g:3516:3: this_QUOTED_ID_3= RULE_QUOTED_ID
10105 {
10106 this_QUOTED_ID_3=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2); if (state.failed) return current;
10107 if ( state.backtracking==0 ) {
6679 10108
6680 } 10109 current.merge(this_QUOTED_ID_3);
10110
10111 }
10112 if ( state.backtracking==0 ) {
6681 10113
6682 otherlv_1=(Token)match(input,40,FOLLOW_12); 10114 newLeafNode(this_QUOTED_ID_3, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1());
10115
10116 }
6683 10117
6684 newLeafNode(otherlv_1, grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); 10118 }
6685 10119 break;
6686 // InternalSolverLanguage.g:2319:3: ( (lv_symbol_2_0= ruleModelSymbol ) )
6687 // InternalSolverLanguage.g:2320:4: (lv_symbol_2_0= ruleModelSymbol )
6688 {
6689 // InternalSolverLanguage.g:2320:4: (lv_symbol_2_0= ruleModelSymbol )
6690 // InternalSolverLanguage.g:2321:5: lv_symbol_2_0= ruleModelSymbol
6691 {
6692 10120
6693 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); 10121 }
6694
6695 pushFollow(FOLLOW_10);
6696 lv_symbol_2_0=ruleModelSymbol();
6697 10122
6698 state._fsp--;
6699 10123
10124 }
6700 10125
6701 if (current==null) { 10126 if ( state.backtracking==0 ) {
6702 current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule());
6703 }
6704 set(
6705 current,
6706 "symbol",
6707 lv_symbol_2_0,
6708 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
6709 afterParserOrEnumRuleCall();
6710
6711 10127
6712 } 10128 leaveRule();
6713 10129
10130 }
10131 }
6714 10132
10133 catch (RecognitionException re) {
10134 recover(input,re);
10135 appendSkippedTokens();
6715 } 10136 }
10137 finally {
10138
10139 myHiddenTokenState.restore();
10140
10141 }
10142 return current;
10143 }
10144 // $ANTLR end "ruleQualifiedName"
10145
6716 10146
6717 otherlv_3=(Token)match(input,20,FOLLOW_33); 10147 // $ANTLR start "ruleMetricType"
10148 // InternalSolverLanguage.g:3530:1: ruleMetricType returns [Enumerator current=null] : ( (enumLiteral_0= 'int' ) | (enumLiteral_1= 'real' ) ) ;
10149 public final Enumerator ruleMetricType() throws RecognitionException {
10150 Enumerator current = null;
6718 10151
6719 newLeafNode(otherlv_3, grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3()); 10152 Token enumLiteral_0=null;
6720 10153 Token enumLiteral_1=null;
6721 // InternalSolverLanguage.g:2342:3: ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? 10154
10155
10156 enterRule();
10157
10158 try {
10159 // InternalSolverLanguage.g:3536:2: ( ( (enumLiteral_0= 'int' ) | (enumLiteral_1= 'real' ) ) )
10160 // InternalSolverLanguage.g:3537:2: ( (enumLiteral_0= 'int' ) | (enumLiteral_1= 'real' ) )
10161 {
10162 // InternalSolverLanguage.g:3537:2: ( (enumLiteral_0= 'int' ) | (enumLiteral_1= 'real' ) )
6722 int alt45=2; 10163 int alt45=2;
6723 int LA45_0 = input.LA(1); 10164 int LA45_0 = input.LA(1);
6724 10165
6725 if ( (LA45_0==RULE_INT) ) { 10166 if ( (LA45_0==50) ) {
6726 alt45=1; 10167 alt45=1;
6727 } 10168 }
10169 else if ( (LA45_0==51) ) {
10170 alt45=2;
10171 }
10172 else {
10173 if (state.backtracking>0) {state.failed=true; return current;}
10174 NoViableAltException nvae =
10175 new NoViableAltException("", 45, 0, input);
10176
10177 throw nvae;
10178 }
6728 switch (alt45) { 10179 switch (alt45) {
6729 case 1 : 10180 case 1 :
6730 // InternalSolverLanguage.g:2343:4: (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) 10181 // InternalSolverLanguage.g:3538:3: (enumLiteral_0= 'int' )
6731 { 10182 {
6732 // InternalSolverLanguage.g:2343:4: (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) 10183 // InternalSolverLanguage.g:3538:3: (enumLiteral_0= 'int' )
6733 // InternalSolverLanguage.g:2344:5: lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition 10184 // InternalSolverLanguage.g:3539:4: enumLiteral_0= 'int'
6734 { 10185 {
10186 enumLiteral_0=(Token)match(input,50,FOLLOW_2); if (state.failed) return current;
10187 if ( state.backtracking==0 ) {
6735 10188
6736 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0()); 10189 current = grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
6737 10190 newLeafNode(enumLiteral_0, grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0());
6738 pushFollow(FOLLOW_21); 10191
6739 lv_sourceMultiplicity_4_0=ruleMultiplicityDefinition(); 10192 }
6740 10193
6741 state._fsp--; 10194 }
6742 10195
6743 10196
6744 if (current==null) { 10197 }
6745 current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); 10198 break;
6746 } 10199 case 2 :
6747 set( 10200 // InternalSolverLanguage.g:3546:3: (enumLiteral_1= 'real' )
6748 current, 10201 {
6749 "sourceMultiplicity", 10202 // InternalSolverLanguage.g:3546:3: (enumLiteral_1= 'real' )
6750 lv_sourceMultiplicity_4_0, 10203 // InternalSolverLanguage.g:3547:4: enumLiteral_1= 'real'
6751 "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition"); 10204 {
6752 afterParserOrEnumRuleCall(); 10205 enumLiteral_1=(Token)match(input,51,FOLLOW_2); if (state.failed) return current;
6753 10206 if ( state.backtracking==0 ) {
10207
10208 current = grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
10209 newLeafNode(enumLiteral_1, grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1());
10210
10211 }
6754 10212
6755 } 10213 }
6756 10214
@@ -6760,70 +10218,221 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6760 10218
6761 } 10219 }
6762 10220
6763 // InternalSolverLanguage.g:2361:3: ( (lv_source_5_0= ruleSymbol ) )
6764 // InternalSolverLanguage.g:2362:4: (lv_source_5_0= ruleSymbol )
6765 {
6766 // InternalSolverLanguage.g:2362:4: (lv_source_5_0= ruleSymbol )
6767 // InternalSolverLanguage.g:2363:5: lv_source_5_0= ruleSymbol
6768 {
6769 10221
6770 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0()); 10222 }
6771
6772 pushFollow(FOLLOW_33);
6773 lv_source_5_0=ruleSymbol();
6774 10223
6775 state._fsp--; 10224 if ( state.backtracking==0 ) {
6776 10225
10226 leaveRule();
6777 10227
6778 if (current==null) { 10228 }
6779 current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); 10229 }
6780 }
6781 set(
6782 current,
6783 "source",
6784 lv_source_5_0,
6785 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
6786 afterParserOrEnumRuleCall();
6787
6788 10230
10231 catch (RecognitionException re) {
10232 recover(input,re);
10233 appendSkippedTokens();
6789 } 10234 }
10235 finally {
10236 }
10237 return current;
10238 }
10239 // $ANTLR end "ruleMetricType"
6790 10240
6791 10241
6792 } 10242 // $ANTLR start "ruleComparisonOperator"
10243 // InternalSolverLanguage.g:3557:1: ruleComparisonOperator returns [Enumerator current=null] : ( (enumLiteral_0= '==' ) | (enumLiteral_1= '!=' ) | (enumLiteral_2= '<' ) | (enumLiteral_3= '<=' ) | (enumLiteral_4= '>' ) | (enumLiteral_5= '>=' ) | (enumLiteral_6= 'in' ) ) ;
10244 public final Enumerator ruleComparisonOperator() throws RecognitionException {
10245 Enumerator current = null;
10246
10247 Token enumLiteral_0=null;
10248 Token enumLiteral_1=null;
10249 Token enumLiteral_2=null;
10250 Token enumLiteral_3=null;
10251 Token enumLiteral_4=null;
10252 Token enumLiteral_5=null;
10253 Token enumLiteral_6=null;
6793 10254
6794 // InternalSolverLanguage.g:2380:3: ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )?
6795 int alt46=2;
6796 int LA46_0 = input.LA(1);
6797 10255
6798 if ( (LA46_0==RULE_INT) ) { 10256 enterRule();
10257
10258 try {
10259 // InternalSolverLanguage.g:3563:2: ( ( (enumLiteral_0= '==' ) | (enumLiteral_1= '!=' ) | (enumLiteral_2= '<' ) | (enumLiteral_3= '<=' ) | (enumLiteral_4= '>' ) | (enumLiteral_5= '>=' ) | (enumLiteral_6= 'in' ) ) )
10260 // InternalSolverLanguage.g:3564:2: ( (enumLiteral_0= '==' ) | (enumLiteral_1= '!=' ) | (enumLiteral_2= '<' ) | (enumLiteral_3= '<=' ) | (enumLiteral_4= '>' ) | (enumLiteral_5= '>=' ) | (enumLiteral_6= 'in' ) )
10261 {
10262 // InternalSolverLanguage.g:3564:2: ( (enumLiteral_0= '==' ) | (enumLiteral_1= '!=' ) | (enumLiteral_2= '<' ) | (enumLiteral_3= '<=' ) | (enumLiteral_4= '>' ) | (enumLiteral_5= '>=' ) | (enumLiteral_6= 'in' ) )
10263 int alt46=7;
10264 switch ( input.LA(1) ) {
10265 case 47:
10266 {
6799 alt46=1; 10267 alt46=1;
10268 }
10269 break;
10270 case 52:
10271 {
10272 alt46=2;
10273 }
10274 break;
10275 case 53:
10276 {
10277 alt46=3;
10278 }
10279 break;
10280 case 48:
10281 {
10282 alt46=4;
10283 }
10284 break;
10285 case 54:
10286 {
10287 alt46=5;
10288 }
10289 break;
10290 case 49:
10291 {
10292 alt46=6;
10293 }
10294 break;
10295 case 55:
10296 {
10297 alt46=7;
10298 }
10299 break;
10300 default:
10301 if (state.backtracking>0) {state.failed=true; return current;}
10302 NoViableAltException nvae =
10303 new NoViableAltException("", 46, 0, input);
10304
10305 throw nvae;
6800 } 10306 }
10307
6801 switch (alt46) { 10308 switch (alt46) {
6802 case 1 : 10309 case 1 :
6803 // InternalSolverLanguage.g:2381:4: (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) 10310 // InternalSolverLanguage.g:3565:3: (enumLiteral_0= '==' )
6804 { 10311 {
6805 // InternalSolverLanguage.g:2381:4: (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) 10312 // InternalSolverLanguage.g:3565:3: (enumLiteral_0= '==' )
6806 // InternalSolverLanguage.g:2382:5: lv_targetMultiplicity_6_0= ruleMultiplicityDefinition 10313 // InternalSolverLanguage.g:3566:4: enumLiteral_0= '=='
6807 { 10314 {
10315 enumLiteral_0=(Token)match(input,47,FOLLOW_2); if (state.failed) return current;
10316 if ( state.backtracking==0 ) {
6808 10317
6809 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0()); 10318 current = grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
6810 10319 newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0());
6811 pushFollow(FOLLOW_21); 10320
6812 lv_targetMultiplicity_6_0=ruleMultiplicityDefinition(); 10321 }
6813 10322
6814 state._fsp--; 10323 }
10324
10325
10326 }
10327 break;
10328 case 2 :
10329 // InternalSolverLanguage.g:3573:3: (enumLiteral_1= '!=' )
10330 {
10331 // InternalSolverLanguage.g:3573:3: (enumLiteral_1= '!=' )
10332 // InternalSolverLanguage.g:3574:4: enumLiteral_1= '!='
10333 {
10334 enumLiteral_1=(Token)match(input,52,FOLLOW_2); if (state.failed) return current;
10335 if ( state.backtracking==0 ) {
10336
10337 current = grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
10338 newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1());
10339
10340 }
10341
10342 }
6815 10343
6816 10344
6817 if (current==null) { 10345 }
6818 current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); 10346 break;
6819 } 10347 case 3 :
6820 set( 10348 // InternalSolverLanguage.g:3581:3: (enumLiteral_2= '<' )
6821 current, 10349 {
6822 "targetMultiplicity", 10350 // InternalSolverLanguage.g:3581:3: (enumLiteral_2= '<' )
6823 lv_targetMultiplicity_6_0, 10351 // InternalSolverLanguage.g:3582:4: enumLiteral_2= '<'
6824 "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition"); 10352 {
6825 afterParserOrEnumRuleCall(); 10353 enumLiteral_2=(Token)match(input,53,FOLLOW_2); if (state.failed) return current;
6826 10354 if ( state.backtracking==0 ) {
10355
10356 current = grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
10357 newLeafNode(enumLiteral_2, grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2());
10358
10359 }
10360
10361 }
10362
10363
10364 }
10365 break;
10366 case 4 :
10367 // InternalSolverLanguage.g:3589:3: (enumLiteral_3= '<=' )
10368 {
10369 // InternalSolverLanguage.g:3589:3: (enumLiteral_3= '<=' )
10370 // InternalSolverLanguage.g:3590:4: enumLiteral_3= '<='
10371 {
10372 enumLiteral_3=(Token)match(input,48,FOLLOW_2); if (state.failed) return current;
10373 if ( state.backtracking==0 ) {
10374
10375 current = grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
10376 newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3());
10377
10378 }
10379
10380 }
10381
10382
10383 }
10384 break;
10385 case 5 :
10386 // InternalSolverLanguage.g:3597:3: (enumLiteral_4= '>' )
10387 {
10388 // InternalSolverLanguage.g:3597:3: (enumLiteral_4= '>' )
10389 // InternalSolverLanguage.g:3598:4: enumLiteral_4= '>'
10390 {
10391 enumLiteral_4=(Token)match(input,54,FOLLOW_2); if (state.failed) return current;
10392 if ( state.backtracking==0 ) {
10393
10394 current = grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4().getEnumLiteral().getInstance();
10395 newLeafNode(enumLiteral_4, grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4());
10396
10397 }
10398
10399 }
10400
10401
10402 }
10403 break;
10404 case 6 :
10405 // InternalSolverLanguage.g:3605:3: (enumLiteral_5= '>=' )
10406 {
10407 // InternalSolverLanguage.g:3605:3: (enumLiteral_5= '>=' )
10408 // InternalSolverLanguage.g:3606:4: enumLiteral_5= '>='
10409 {
10410 enumLiteral_5=(Token)match(input,49,FOLLOW_2); if (state.failed) return current;
10411 if ( state.backtracking==0 ) {
10412
10413 current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
10414 newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5());
10415
10416 }
10417
10418 }
10419
10420
10421 }
10422 break;
10423 case 7 :
10424 // InternalSolverLanguage.g:3613:3: (enumLiteral_6= 'in' )
10425 {
10426 // InternalSolverLanguage.g:3613:3: (enumLiteral_6= 'in' )
10427 // InternalSolverLanguage.g:3614:4: enumLiteral_6= 'in'
10428 {
10429 enumLiteral_6=(Token)match(input,55,FOLLOW_2); if (state.failed) return current;
10430 if ( state.backtracking==0 ) {
10431
10432 current = grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
10433 newLeafNode(enumLiteral_6, grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6());
10434
10435 }
6827 10436
6828 } 10437 }
6829 10438
@@ -6833,46 +10442,109 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6833 10442
6834 } 10443 }
6835 10444
6836 // InternalSolverLanguage.g:2399:3: ( (lv_target_7_0= ruleSymbol ) )
6837 // InternalSolverLanguage.g:2400:4: (lv_target_7_0= ruleSymbol )
6838 {
6839 // InternalSolverLanguage.g:2400:4: (lv_target_7_0= ruleSymbol )
6840 // InternalSolverLanguage.g:2401:5: lv_target_7_0= ruleSymbol
6841 {
6842 10445
6843 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0()); 10446 }
6844
6845 pushFollow(FOLLOW_2);
6846 lv_target_7_0=ruleSymbol();
6847 10447
6848 state._fsp--; 10448 if ( state.backtracking==0 ) {
6849 10449
10450 leaveRule();
6850 10451
6851 if (current==null) { 10452 }
6852 current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); 10453 }
6853 }
6854 set(
6855 current,
6856 "target",
6857 lv_target_7_0,
6858 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
6859 afterParserOrEnumRuleCall();
6860
6861 10454
10455 catch (RecognitionException re) {
10456 recover(input,re);
10457 appendSkippedTokens();
6862 } 10458 }
10459 finally {
10460 }
10461 return current;
10462 }
10463 // $ANTLR end "ruleComparisonOperator"
10464
6863 10465
10466 // $ANTLR start "ruleAdditiveBinaryOperator"
10467 // InternalSolverLanguage.g:3624:1: ruleAdditiveBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) ;
10468 public final Enumerator ruleAdditiveBinaryOperator() throws RecognitionException {
10469 Enumerator current = null;
10470
10471 Token enumLiteral_0=null;
10472 Token enumLiteral_1=null;
10473
10474
10475 enterRule();
10476
10477 try {
10478 // InternalSolverLanguage.g:3630:2: ( ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) )
10479 // InternalSolverLanguage.g:3631:2: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) )
10480 {
10481 // InternalSolverLanguage.g:3631:2: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) )
10482 int alt47=2;
10483 int LA47_0 = input.LA(1);
10484
10485 if ( (LA47_0==56) ) {
10486 alt47=1;
10487 }
10488 else if ( (LA47_0==57) ) {
10489 alt47=2;
10490 }
10491 else {
10492 if (state.backtracking>0) {state.failed=true; return current;}
10493 NoViableAltException nvae =
10494 new NoViableAltException("", 47, 0, input);
6864 10495
10496 throw nvae;
6865 } 10497 }
10498 switch (alt47) {
10499 case 1 :
10500 // InternalSolverLanguage.g:3632:3: (enumLiteral_0= '+' )
10501 {
10502 // InternalSolverLanguage.g:3632:3: (enumLiteral_0= '+' )
10503 // InternalSolverLanguage.g:3633:4: enumLiteral_0= '+'
10504 {
10505 enumLiteral_0=(Token)match(input,56,FOLLOW_2); if (state.failed) return current;
10506 if ( state.backtracking==0 ) {
10507
10508 current = grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
10509 newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0());
10510
10511 }
10512
10513 }
6866 10514
6867 10515
10516 }
10517 break;
10518 case 2 :
10519 // InternalSolverLanguage.g:3640:3: (enumLiteral_1= '-' )
10520 {
10521 // InternalSolverLanguage.g:3640:3: (enumLiteral_1= '-' )
10522 // InternalSolverLanguage.g:3641:4: enumLiteral_1= '-'
10523 {
10524 enumLiteral_1=(Token)match(input,57,FOLLOW_2); if (state.failed) return current;
10525 if ( state.backtracking==0 ) {
10526
10527 current = grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
10528 newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1());
10529
10530 }
10531
10532 }
10533
10534
10535 }
10536 break;
10537
6868 } 10538 }
6869 10539
6870 10540
6871 } 10541 }
6872 10542
10543 if ( state.backtracking==0 ) {
6873 10544
6874 leaveRule(); 10545 leaveRule();
6875 10546
10547 }
6876 } 10548 }
6877 10549
6878 catch (RecognitionException re) { 10550 catch (RecognitionException re) {
@@ -6883,32 +10555,91 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6883 } 10555 }
6884 return current; 10556 return current;
6885 } 10557 }
6886 // $ANTLR end "ruleGlobalRelationInterpretation" 10558 // $ANTLR end "ruleAdditiveBinaryOperator"
6887 10559
6888 10560
6889 // $ANTLR start "entryRuleMultiplicityDefinition" 10561 // $ANTLR start "ruleMultiplicativeBinaryOperator"
6890 // InternalSolverLanguage.g:2422:1: entryRuleMultiplicityDefinition returns [EObject current=null] : iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF ; 10562 // InternalSolverLanguage.g:3651:1: ruleMultiplicativeBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) ) ;
6891 public final EObject entryRuleMultiplicityDefinition() throws RecognitionException { 10563 public final Enumerator ruleMultiplicativeBinaryOperator() throws RecognitionException {
6892 EObject current = null; 10564 Enumerator current = null;
10565
10566 Token enumLiteral_0=null;
10567 Token enumLiteral_1=null;
6893 10568
6894 EObject iv_ruleMultiplicityDefinition = null;
6895 10569
10570 enterRule();
6896 10571
6897 try { 10572 try {
6898 // InternalSolverLanguage.g:2422:63: (iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF ) 10573 // InternalSolverLanguage.g:3657:2: ( ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) ) )
6899 // InternalSolverLanguage.g:2423:2: iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF 10574 // InternalSolverLanguage.g:3658:2: ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) )
6900 { 10575 {
6901 newCompositeNode(grammarAccess.getMultiplicityDefinitionRule()); 10576 // InternalSolverLanguage.g:3658:2: ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) )
6902 pushFollow(FOLLOW_1); 10577 int alt48=2;
6903 iv_ruleMultiplicityDefinition=ruleMultiplicityDefinition(); 10578 int LA48_0 = input.LA(1);
6904 10579
6905 state._fsp--; 10580 if ( (LA48_0==35) ) {
10581 alt48=1;
10582 }
10583 else if ( (LA48_0==58) ) {
10584 alt48=2;
10585 }
10586 else {
10587 if (state.backtracking>0) {state.failed=true; return current;}
10588 NoViableAltException nvae =
10589 new NoViableAltException("", 48, 0, input);
10590
10591 throw nvae;
10592 }
10593 switch (alt48) {
10594 case 1 :
10595 // InternalSolverLanguage.g:3659:3: (enumLiteral_0= '*' )
10596 {
10597 // InternalSolverLanguage.g:3659:3: (enumLiteral_0= '*' )
10598 // InternalSolverLanguage.g:3660:4: enumLiteral_0= '*'
10599 {
10600 enumLiteral_0=(Token)match(input,35,FOLLOW_2); if (state.failed) return current;
10601 if ( state.backtracking==0 ) {
10602
10603 current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
10604 newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0());
10605
10606 }
10607
10608 }
10609
10610
10611 }
10612 break;
10613 case 2 :
10614 // InternalSolverLanguage.g:3667:3: (enumLiteral_1= '/' )
10615 {
10616 // InternalSolverLanguage.g:3667:3: (enumLiteral_1= '/' )
10617 // InternalSolverLanguage.g:3668:4: enumLiteral_1= '/'
10618 {
10619 enumLiteral_1=(Token)match(input,58,FOLLOW_2); if (state.failed) return current;
10620 if ( state.backtracking==0 ) {
10621
10622 current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
10623 newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1());
10624
10625 }
10626
10627 }
10628
10629
10630 }
10631 break;
10632
10633 }
6906 10634
6907 current =iv_ruleMultiplicityDefinition;
6908 match(input,EOF,FOLLOW_2);
6909 10635
6910 } 10636 }
6911 10637
10638 if ( state.backtracking==0 ) {
10639
10640 leaveRule();
10641
10642 }
6912 } 10643 }
6913 10644
6914 catch (RecognitionException re) { 10645 catch (RecognitionException re) {
@@ -6919,102 +10650,517 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6919 } 10650 }
6920 return current; 10651 return current;
6921 } 10652 }
6922 // $ANTLR end "entryRuleMultiplicityDefinition" 10653 // $ANTLR end "ruleMultiplicativeBinaryOperator"
6923 10654
6924 10655
6925 // $ANTLR start "ruleMultiplicityDefinition" 10656 // $ANTLR start "ruleExponentialOp"
6926 // InternalSolverLanguage.g:2429:1: ruleMultiplicityDefinition returns [EObject current=null] : ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) ; 10657 // InternalSolverLanguage.g:3678:1: ruleExponentialOp returns [Enumerator current=null] : (enumLiteral_0= '^' ) ;
6927 public final EObject ruleMultiplicityDefinition() throws RecognitionException { 10658 public final Enumerator ruleExponentialOp() throws RecognitionException {
6928 EObject current = null; 10659 Enumerator current = null;
6929 10660
6930 Token lv_lower_0_0=null; 10661 Token enumLiteral_0=null;
6931 Token otherlv_1=null;
6932 Token lv_upper_2_0=null;
6933 Token lv_unlimitedUpper_3_0=null;
6934 10662
6935 10663
6936 enterRule(); 10664 enterRule();
6937 10665
6938 try { 10666 try {
6939 // InternalSolverLanguage.g:2435:2: ( ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) ) 10667 // InternalSolverLanguage.g:3684:2: ( (enumLiteral_0= '^' ) )
6940 // InternalSolverLanguage.g:2436:2: ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) 10668 // InternalSolverLanguage.g:3685:2: (enumLiteral_0= '^' )
6941 {
6942 // InternalSolverLanguage.g:2436:2: ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) )
6943 // InternalSolverLanguage.g:2437:3: ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) )
6944 { 10669 {
6945 // InternalSolverLanguage.g:2437:3: ( (lv_lower_0_0= RULE_INT ) ) 10670 // InternalSolverLanguage.g:3685:2: (enumLiteral_0= '^' )
6946 // InternalSolverLanguage.g:2438:4: (lv_lower_0_0= RULE_INT ) 10671 // InternalSolverLanguage.g:3686:3: enumLiteral_0= '^'
6947 { 10672 {
6948 // InternalSolverLanguage.g:2438:4: (lv_lower_0_0= RULE_INT ) 10673 enumLiteral_0=(Token)match(input,59,FOLLOW_2); if (state.failed) return current;
6949 // InternalSolverLanguage.g:2439:5: lv_lower_0_0= RULE_INT 10674 if ( state.backtracking==0 ) {
10675
10676 current = grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration().getEnumLiteral().getInstance();
10677 newLeafNode(enumLiteral_0, grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration());
10678
10679 }
10680
10681 }
10682
10683
10684 }
10685
10686 if ( state.backtracking==0 ) {
10687
10688 leaveRule();
10689
10690 }
10691 }
10692
10693 catch (RecognitionException re) {
10694 recover(input,re);
10695 appendSkippedTokens();
10696 }
10697 finally {
10698 }
10699 return current;
10700 }
10701 // $ANTLR end "ruleExponentialOp"
10702
10703
10704 // $ANTLR start "ruleUnaryOp"
10705 // InternalSolverLanguage.g:3695:1: ruleUnaryOp returns [Enumerator current=null] : ( (enumLiteral_0= '!' ) | (enumLiteral_1= '+' ) | (enumLiteral_2= '-' ) | (enumLiteral_3= 'may' ) | (enumLiteral_4= 'must' ) | (enumLiteral_5= 'current' ) ) ;
10706 public final Enumerator ruleUnaryOp() throws RecognitionException {
10707 Enumerator current = null;
10708
10709 Token enumLiteral_0=null;
10710 Token enumLiteral_1=null;
10711 Token enumLiteral_2=null;
10712 Token enumLiteral_3=null;
10713 Token enumLiteral_4=null;
10714 Token enumLiteral_5=null;
10715
10716
10717 enterRule();
10718
10719 try {
10720 // InternalSolverLanguage.g:3701:2: ( ( (enumLiteral_0= '!' ) | (enumLiteral_1= '+' ) | (enumLiteral_2= '-' ) | (enumLiteral_3= 'may' ) | (enumLiteral_4= 'must' ) | (enumLiteral_5= 'current' ) ) )
10721 // InternalSolverLanguage.g:3702:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '+' ) | (enumLiteral_2= '-' ) | (enumLiteral_3= 'may' ) | (enumLiteral_4= 'must' ) | (enumLiteral_5= 'current' ) )
6950 { 10722 {
6951 lv_lower_0_0=(Token)match(input,RULE_INT,FOLLOW_35); 10723 // InternalSolverLanguage.g:3702:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '+' ) | (enumLiteral_2= '-' ) | (enumLiteral_3= 'may' ) | (enumLiteral_4= 'must' ) | (enumLiteral_5= 'current' ) )
10724 int alt49=6;
10725 switch ( input.LA(1) ) {
10726 case 60:
10727 {
10728 alt49=1;
10729 }
10730 break;
10731 case 56:
10732 {
10733 alt49=2;
10734 }
10735 break;
10736 case 57:
10737 {
10738 alt49=3;
10739 }
10740 break;
10741 case 61:
10742 {
10743 alt49=4;
10744 }
10745 break;
10746 case 62:
10747 {
10748 alt49=5;
10749 }
10750 break;
10751 case 63:
10752 {
10753 alt49=6;
10754 }
10755 break;
10756 default:
10757 if (state.backtracking>0) {state.failed=true; return current;}
10758 NoViableAltException nvae =
10759 new NoViableAltException("", 49, 0, input);
10760
10761 throw nvae;
10762 }
10763
10764 switch (alt49) {
10765 case 1 :
10766 // InternalSolverLanguage.g:3703:3: (enumLiteral_0= '!' )
10767 {
10768 // InternalSolverLanguage.g:3703:3: (enumLiteral_0= '!' )
10769 // InternalSolverLanguage.g:3704:4: enumLiteral_0= '!'
10770 {
10771 enumLiteral_0=(Token)match(input,60,FOLLOW_2); if (state.failed) return current;
10772 if ( state.backtracking==0 ) {
10773
10774 current = grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
10775 newLeafNode(enumLiteral_0, grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0());
10776
10777 }
10778
10779 }
10780
6952 10781
6953 newLeafNode(lv_lower_0_0, grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0()); 10782 }
6954 10783 break;
10784 case 2 :
10785 // InternalSolverLanguage.g:3711:3: (enumLiteral_1= '+' )
10786 {
10787 // InternalSolverLanguage.g:3711:3: (enumLiteral_1= '+' )
10788 // InternalSolverLanguage.g:3712:4: enumLiteral_1= '+'
10789 {
10790 enumLiteral_1=(Token)match(input,56,FOLLOW_2); if (state.failed) return current;
10791 if ( state.backtracking==0 ) {
10792
10793 current = grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
10794 newLeafNode(enumLiteral_1, grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1());
10795
10796 }
6955 10797
6956 if (current==null) { 10798 }
6957 current = createModelElement(grammarAccess.getMultiplicityDefinitionRule()); 10799
6958 } 10800
6959 setWithLastConsumed( 10801 }
6960 current, 10802 break;
6961 "lower", 10803 case 3 :
6962 lv_lower_0_0, 10804 // InternalSolverLanguage.g:3719:3: (enumLiteral_2= '-' )
6963 "org.eclipse.xtext.common.Terminals.INT"); 10805 {
6964 10806 // InternalSolverLanguage.g:3719:3: (enumLiteral_2= '-' )
10807 // InternalSolverLanguage.g:3720:4: enumLiteral_2= '-'
10808 {
10809 enumLiteral_2=(Token)match(input,57,FOLLOW_2); if (state.failed) return current;
10810 if ( state.backtracking==0 ) {
10811
10812 current = grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
10813 newLeafNode(enumLiteral_2, grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2());
10814
10815 }
10816
10817 }
10818
10819
10820 }
10821 break;
10822 case 4 :
10823 // InternalSolverLanguage.g:3727:3: (enumLiteral_3= 'may' )
10824 {
10825 // InternalSolverLanguage.g:3727:3: (enumLiteral_3= 'may' )
10826 // InternalSolverLanguage.g:3728:4: enumLiteral_3= 'may'
10827 {
10828 enumLiteral_3=(Token)match(input,61,FOLLOW_2); if (state.failed) return current;
10829 if ( state.backtracking==0 ) {
10830
10831 current = grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
10832 newLeafNode(enumLiteral_3, grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3());
10833
10834 }
10835
10836 }
10837
10838
10839 }
10840 break;
10841 case 5 :
10842 // InternalSolverLanguage.g:3735:3: (enumLiteral_4= 'must' )
10843 {
10844 // InternalSolverLanguage.g:3735:3: (enumLiteral_4= 'must' )
10845 // InternalSolverLanguage.g:3736:4: enumLiteral_4= 'must'
10846 {
10847 enumLiteral_4=(Token)match(input,62,FOLLOW_2); if (state.failed) return current;
10848 if ( state.backtracking==0 ) {
10849
10850 current = grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
10851 newLeafNode(enumLiteral_4, grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4());
10852
10853 }
10854
10855 }
10856
10857
10858 }
10859 break;
10860 case 6 :
10861 // InternalSolverLanguage.g:3743:3: (enumLiteral_5= 'current' )
10862 {
10863 // InternalSolverLanguage.g:3743:3: (enumLiteral_5= 'current' )
10864 // InternalSolverLanguage.g:3744:4: enumLiteral_5= 'current'
10865 {
10866 enumLiteral_5=(Token)match(input,63,FOLLOW_2); if (state.failed) return current;
10867 if ( state.backtracking==0 ) {
10868
10869 current = grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
10870 newLeafNode(enumLiteral_5, grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5());
10871
10872 }
10873
10874 }
10875
10876
10877 }
10878 break;
6965 10879
6966 } 10880 }
6967 10881
6968 10882
6969 } 10883 }
6970 10884
6971 otherlv_1=(Token)match(input,41,FOLLOW_36); 10885 if ( state.backtracking==0 ) {
6972 10886
6973 newLeafNode(otherlv_1, grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1()); 10887 leaveRule();
6974
6975 // InternalSolverLanguage.g:2459:3: ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) )
6976 int alt47=2;
6977 int LA47_0 = input.LA(1);
6978 10888
6979 if ( (LA47_0==RULE_INT) ) {
6980 alt47=1;
6981 } 10889 }
6982 else if ( (LA47_0==31) ) { 10890 }
6983 alt47=2; 10891
10892 catch (RecognitionException re) {
10893 recover(input,re);
10894 appendSkippedTokens();
6984 } 10895 }
6985 else { 10896 finally {
10897 }
10898 return current;
10899 }
10900 // $ANTLR end "ruleUnaryOp"
10901
10902
10903 // $ANTLR start "ruleAggregationOp"
10904 // InternalSolverLanguage.g:3754:1: ruleAggregationOp returns [Enumerator current=null] : ( (enumLiteral_0= 'only' ) | (enumLiteral_1= 'sum' ) | (enumLiteral_2= 'prod' ) | (enumLiteral_3= 'avg' ) | (enumLiteral_4= 'min' ) | (enumLiteral_5= 'max' ) ) ;
10905 public final Enumerator ruleAggregationOp() throws RecognitionException {
10906 Enumerator current = null;
10907
10908 Token enumLiteral_0=null;
10909 Token enumLiteral_1=null;
10910 Token enumLiteral_2=null;
10911 Token enumLiteral_3=null;
10912 Token enumLiteral_4=null;
10913 Token enumLiteral_5=null;
10914
10915
10916 enterRule();
10917
10918 try {
10919 // InternalSolverLanguage.g:3760:2: ( ( (enumLiteral_0= 'only' ) | (enumLiteral_1= 'sum' ) | (enumLiteral_2= 'prod' ) | (enumLiteral_3= 'avg' ) | (enumLiteral_4= 'min' ) | (enumLiteral_5= 'max' ) ) )
10920 // InternalSolverLanguage.g:3761:2: ( (enumLiteral_0= 'only' ) | (enumLiteral_1= 'sum' ) | (enumLiteral_2= 'prod' ) | (enumLiteral_3= 'avg' ) | (enumLiteral_4= 'min' ) | (enumLiteral_5= 'max' ) )
10921 {
10922 // InternalSolverLanguage.g:3761:2: ( (enumLiteral_0= 'only' ) | (enumLiteral_1= 'sum' ) | (enumLiteral_2= 'prod' ) | (enumLiteral_3= 'avg' ) | (enumLiteral_4= 'min' ) | (enumLiteral_5= 'max' ) )
10923 int alt50=6;
10924 switch ( input.LA(1) ) {
10925 case 64:
10926 {
10927 alt50=1;
10928 }
10929 break;
10930 case 65:
10931 {
10932 alt50=2;
10933 }
10934 break;
10935 case 66:
10936 {
10937 alt50=3;
10938 }
10939 break;
10940 case 67:
10941 {
10942 alt50=4;
10943 }
10944 break;
10945 case 68:
10946 {
10947 alt50=5;
10948 }
10949 break;
10950 case 69:
10951 {
10952 alt50=6;
10953 }
10954 break;
10955 default:
10956 if (state.backtracking>0) {state.failed=true; return current;}
6986 NoViableAltException nvae = 10957 NoViableAltException nvae =
6987 new NoViableAltException("", 47, 0, input); 10958 new NoViableAltException("", 50, 0, input);
6988 10959
6989 throw nvae; 10960 throw nvae;
6990 } 10961 }
6991 switch (alt47) { 10962
10963 switch (alt50) {
6992 case 1 : 10964 case 1 :
6993 // InternalSolverLanguage.g:2460:4: ( (lv_upper_2_0= RULE_INT ) ) 10965 // InternalSolverLanguage.g:3762:3: (enumLiteral_0= 'only' )
10966 {
10967 // InternalSolverLanguage.g:3762:3: (enumLiteral_0= 'only' )
10968 // InternalSolverLanguage.g:3763:4: enumLiteral_0= 'only'
10969 {
10970 enumLiteral_0=(Token)match(input,64,FOLLOW_2); if (state.failed) return current;
10971 if ( state.backtracking==0 ) {
10972
10973 current = grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
10974 newLeafNode(enumLiteral_0, grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0());
10975
10976 }
10977
10978 }
10979
10980
10981 }
10982 break;
10983 case 2 :
10984 // InternalSolverLanguage.g:3770:3: (enumLiteral_1= 'sum' )
10985 {
10986 // InternalSolverLanguage.g:3770:3: (enumLiteral_1= 'sum' )
10987 // InternalSolverLanguage.g:3771:4: enumLiteral_1= 'sum'
6994 { 10988 {
6995 // InternalSolverLanguage.g:2460:4: ( (lv_upper_2_0= RULE_INT ) ) 10989 enumLiteral_1=(Token)match(input,65,FOLLOW_2); if (state.failed) return current;
6996 // InternalSolverLanguage.g:2461:5: (lv_upper_2_0= RULE_INT ) 10990 if ( state.backtracking==0 ) {
10991
10992 current = grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
10993 newLeafNode(enumLiteral_1, grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1());
10994
10995 }
10996
10997 }
10998
10999
11000 }
11001 break;
11002 case 3 :
11003 // InternalSolverLanguage.g:3778:3: (enumLiteral_2= 'prod' )
6997 { 11004 {
6998 // InternalSolverLanguage.g:2461:5: (lv_upper_2_0= RULE_INT ) 11005 // InternalSolverLanguage.g:3778:3: (enumLiteral_2= 'prod' )
6999 // InternalSolverLanguage.g:2462:6: lv_upper_2_0= RULE_INT 11006 // InternalSolverLanguage.g:3779:4: enumLiteral_2= 'prod'
7000 { 11007 {
7001 lv_upper_2_0=(Token)match(input,RULE_INT,FOLLOW_2); 11008 enumLiteral_2=(Token)match(input,66,FOLLOW_2); if (state.failed) return current;
11009 if ( state.backtracking==0 ) {
11010
11011 current = grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
11012 newLeafNode(enumLiteral_2, grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2());
11013
11014 }
7002 11015
7003 newLeafNode(lv_upper_2_0, grammarAccess.getMultiplicityDefinitionAccess().getUpperINTTerminalRuleCall_2_0_0()); 11016 }
7004
7005 11017
7006 if (current==null) {
7007 current = createModelElement(grammarAccess.getMultiplicityDefinitionRule());
7008 }
7009 setWithLastConsumed(
7010 current,
7011 "upper",
7012 lv_upper_2_0,
7013 "org.eclipse.xtext.common.Terminals.INT");
7014
7015 11018
7016 } 11019 }
11020 break;
11021 case 4 :
11022 // InternalSolverLanguage.g:3786:3: (enumLiteral_3= 'avg' )
11023 {
11024 // InternalSolverLanguage.g:3786:3: (enumLiteral_3= 'avg' )
11025 // InternalSolverLanguage.g:3787:4: enumLiteral_3= 'avg'
11026 {
11027 enumLiteral_3=(Token)match(input,67,FOLLOW_2); if (state.failed) return current;
11028 if ( state.backtracking==0 ) {
11029
11030 current = grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
11031 newLeafNode(enumLiteral_3, grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3());
11032
11033 }
11034
11035 }
11036
11037
11038 }
11039 break;
11040 case 5 :
11041 // InternalSolverLanguage.g:3794:3: (enumLiteral_4= 'min' )
11042 {
11043 // InternalSolverLanguage.g:3794:3: (enumLiteral_4= 'min' )
11044 // InternalSolverLanguage.g:3795:4: enumLiteral_4= 'min'
11045 {
11046 enumLiteral_4=(Token)match(input,68,FOLLOW_2); if (state.failed) return current;
11047 if ( state.backtracking==0 ) {
11048
11049 current = grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
11050 newLeafNode(enumLiteral_4, grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4());
11051
11052 }
11053
11054 }
11055
11056
11057 }
11058 break;
11059 case 6 :
11060 // InternalSolverLanguage.g:3802:3: (enumLiteral_5= 'max' )
11061 {
11062 // InternalSolverLanguage.g:3802:3: (enumLiteral_5= 'max' )
11063 // InternalSolverLanguage.g:3803:4: enumLiteral_5= 'max'
11064 {
11065 enumLiteral_5=(Token)match(input,69,FOLLOW_2); if (state.failed) return current;
11066 if ( state.backtracking==0 ) {
11067
11068 current = grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
11069 newLeafNode(enumLiteral_5, grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5());
11070
11071 }
11072
11073 }
11074
11075
11076 }
11077 break;
11078
11079 }
11080
11081
11082 }
11083
11084 if ( state.backtracking==0 ) {
11085
11086 leaveRule();
11087
11088 }
11089 }
11090
11091 catch (RecognitionException re) {
11092 recover(input,re);
11093 appendSkippedTokens();
11094 }
11095 finally {
11096 }
11097 return current;
11098 }
11099 // $ANTLR end "ruleAggregationOp"
11100
11101
11102 // $ANTLR start "ruleLogicValue"
11103 // InternalSolverLanguage.g:3813:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) | (enumLiteral_3= 'error' ) ) ;
11104 public final Enumerator ruleLogicValue() throws RecognitionException {
11105 Enumerator current = null;
11106
11107 Token enumLiteral_0=null;
11108 Token enumLiteral_1=null;
11109 Token enumLiteral_2=null;
11110 Token enumLiteral_3=null;
11111
11112
11113 enterRule();
11114
11115 try {
11116 // InternalSolverLanguage.g:3819:2: ( ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) | (enumLiteral_3= 'error' ) ) )
11117 // InternalSolverLanguage.g:3820:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) | (enumLiteral_3= 'error' ) )
11118 {
11119 // InternalSolverLanguage.g:3820:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) | (enumLiteral_3= 'error' ) )
11120 int alt51=4;
11121 switch ( input.LA(1) ) {
11122 case 70:
11123 {
11124 alt51=1;
11125 }
11126 break;
11127 case 71:
11128 {
11129 alt51=2;
11130 }
11131 break;
11132 case 72:
11133 {
11134 alt51=3;
11135 }
11136 break;
11137 case 19:
11138 {
11139 alt51=4;
11140 }
11141 break;
11142 default:
11143 if (state.backtracking>0) {state.failed=true; return current;}
11144 NoViableAltException nvae =
11145 new NoViableAltException("", 51, 0, input);
7017 11146
11147 throw nvae;
11148 }
11149
11150 switch (alt51) {
11151 case 1 :
11152 // InternalSolverLanguage.g:3821:3: (enumLiteral_0= 'true' )
11153 {
11154 // InternalSolverLanguage.g:3821:3: (enumLiteral_0= 'true' )
11155 // InternalSolverLanguage.g:3822:4: enumLiteral_0= 'true'
11156 {
11157 enumLiteral_0=(Token)match(input,70,FOLLOW_2); if (state.failed) return current;
11158 if ( state.backtracking==0 ) {
11159
11160 current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
11161 newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0());
11162
11163 }
7018 11164
7019 } 11165 }
7020 11166
@@ -7022,27 +11168,56 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7022 } 11168 }
7023 break; 11169 break;
7024 case 2 : 11170 case 2 :
7025 // InternalSolverLanguage.g:2479:4: ( (lv_unlimitedUpper_3_0= '*' ) ) 11171 // InternalSolverLanguage.g:3829:3: (enumLiteral_1= 'false' )
11172 {
11173 // InternalSolverLanguage.g:3829:3: (enumLiteral_1= 'false' )
11174 // InternalSolverLanguage.g:3830:4: enumLiteral_1= 'false'
7026 { 11175 {
7027 // InternalSolverLanguage.g:2479:4: ( (lv_unlimitedUpper_3_0= '*' ) ) 11176 enumLiteral_1=(Token)match(input,71,FOLLOW_2); if (state.failed) return current;
7028 // InternalSolverLanguage.g:2480:5: (lv_unlimitedUpper_3_0= '*' ) 11177 if ( state.backtracking==0 ) {
11178
11179 current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
11180 newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1());
11181
11182 }
11183
11184 }
11185
11186
11187 }
11188 break;
11189 case 3 :
11190 // InternalSolverLanguage.g:3837:3: (enumLiteral_2= 'unknown' )
7029 { 11191 {
7030 // InternalSolverLanguage.g:2480:5: (lv_unlimitedUpper_3_0= '*' ) 11192 // InternalSolverLanguage.g:3837:3: (enumLiteral_2= 'unknown' )
7031 // InternalSolverLanguage.g:2481:6: lv_unlimitedUpper_3_0= '*' 11193 // InternalSolverLanguage.g:3838:4: enumLiteral_2= 'unknown'
7032 { 11194 {
7033 lv_unlimitedUpper_3_0=(Token)match(input,31,FOLLOW_2); 11195 enumLiteral_2=(Token)match(input,72,FOLLOW_2); if (state.failed) return current;
11196 if ( state.backtracking==0 ) {
11197
11198 current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
11199 newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2());
11200
11201 }
7034 11202
7035 newLeafNode(lv_unlimitedUpper_3_0, grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); 11203 }
7036
7037 11204
7038 if (current==null) {
7039 current = createModelElement(grammarAccess.getMultiplicityDefinitionRule());
7040 }
7041 setWithLastConsumed(current, "unlimitedUpper", true, "*");
7042
7043 11205
7044 } 11206 }
11207 break;
11208 case 4 :
11209 // InternalSolverLanguage.g:3845:3: (enumLiteral_3= 'error' )
11210 {
11211 // InternalSolverLanguage.g:3845:3: (enumLiteral_3= 'error' )
11212 // InternalSolverLanguage.g:3846:4: enumLiteral_3= 'error'
11213 {
11214 enumLiteral_3=(Token)match(input,19,FOLLOW_2); if (state.failed) return current;
11215 if ( state.backtracking==0 ) {
7045 11216
11217 current = grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3().getEnumLiteral().getInstance();
11218 newLeafNode(enumLiteral_3, grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3());
11219
11220 }
7046 11221
7047 } 11222 }
7048 11223
@@ -7055,12 +11230,106 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7055 11230
7056 } 11231 }
7057 11232
11233 if ( state.backtracking==0 ) {
11234
11235 leaveRule();
7058 11236
7059 } 11237 }
11238 }
11239
11240 catch (RecognitionException re) {
11241 recover(input,re);
11242 appendSkippedTokens();
11243 }
11244 finally {
11245 }
11246 return current;
11247 }
11248 // $ANTLR end "ruleLogicValue"
11249
11250
11251 // $ANTLR start "ruleObjectiveKind"
11252 // InternalSolverLanguage.g:3856:1: ruleObjectiveKind returns [Enumerator current=null] : ( (enumLiteral_0= 'minimize' ) | (enumLiteral_1= 'maximize' ) ) ;
11253 public final Enumerator ruleObjectiveKind() throws RecognitionException {
11254 Enumerator current = null;
7060 11255
11256 Token enumLiteral_0=null;
11257 Token enumLiteral_1=null;
7061 11258
7062 leaveRule();
7063 11259
11260 enterRule();
11261
11262 try {
11263 // InternalSolverLanguage.g:3862:2: ( ( (enumLiteral_0= 'minimize' ) | (enumLiteral_1= 'maximize' ) ) )
11264 // InternalSolverLanguage.g:3863:2: ( (enumLiteral_0= 'minimize' ) | (enumLiteral_1= 'maximize' ) )
11265 {
11266 // InternalSolverLanguage.g:3863:2: ( (enumLiteral_0= 'minimize' ) | (enumLiteral_1= 'maximize' ) )
11267 int alt52=2;
11268 int LA52_0 = input.LA(1);
11269
11270 if ( (LA52_0==73) ) {
11271 alt52=1;
11272 }
11273 else if ( (LA52_0==74) ) {
11274 alt52=2;
11275 }
11276 else {
11277 if (state.backtracking>0) {state.failed=true; return current;}
11278 NoViableAltException nvae =
11279 new NoViableAltException("", 52, 0, input);
11280
11281 throw nvae;
11282 }
11283 switch (alt52) {
11284 case 1 :
11285 // InternalSolverLanguage.g:3864:3: (enumLiteral_0= 'minimize' )
11286 {
11287 // InternalSolverLanguage.g:3864:3: (enumLiteral_0= 'minimize' )
11288 // InternalSolverLanguage.g:3865:4: enumLiteral_0= 'minimize'
11289 {
11290 enumLiteral_0=(Token)match(input,73,FOLLOW_2); if (state.failed) return current;
11291 if ( state.backtracking==0 ) {
11292
11293 current = grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
11294 newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0());
11295
11296 }
11297
11298 }
11299
11300
11301 }
11302 break;
11303 case 2 :
11304 // InternalSolverLanguage.g:3872:3: (enumLiteral_1= 'maximize' )
11305 {
11306 // InternalSolverLanguage.g:3872:3: (enumLiteral_1= 'maximize' )
11307 // InternalSolverLanguage.g:3873:4: enumLiteral_1= 'maximize'
11308 {
11309 enumLiteral_1=(Token)match(input,74,FOLLOW_2); if (state.failed) return current;
11310 if ( state.backtracking==0 ) {
11311
11312 current = grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
11313 newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1());
11314
11315 }
11316
11317 }
11318
11319
11320 }
11321 break;
11322
11323 }
11324
11325
11326 }
11327
11328 if ( state.backtracking==0 ) {
11329
11330 leaveRule();
11331
11332 }
7064 } 11333 }
7065 11334
7066 catch (RecognitionException re) { 11335 catch (RecognitionException re) {
@@ -7071,27 +11340,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7071 } 11340 }
7072 return current; 11341 return current;
7073 } 11342 }
7074 // $ANTLR end "ruleMultiplicityDefinition" 11343 // $ANTLR end "ruleObjectiveKind"
7075 11344
7076 // Delegated rules 11345 // Delegated rules
7077 11346
7078 11347
7079 protected DFA2 dfa2 = new DFA2(this); 11348 protected DFA2 dfa2 = new DFA2(this);
7080 static final String dfa_1s = "\11\uffff"; 11349 protected DFA25 dfa25 = new DFA25(this);
7081 static final String dfa_2s = "\1\5\1\21\2\uffff\1\4\1\22\1\24\1\4\1\22"; 11350 protected DFA36 dfa36 = new DFA36(this);
7082 static final String dfa_3s = "\1\50\1\34\2\uffff\1\37\1\24\1\34\1\37\1\24"; 11351 static final String dfa_1s = "\15\uffff";
7083 static final String dfa_4s = "\2\uffff\1\1\1\2\5\uffff"; 11352 static final String dfa_2s = "\1\7\1\uffff\1\4\2\uffff\1\10\7\uffff";
7084 static final String dfa_5s = "\11\uffff}>"; 11353 static final String dfa_3s = "\1\112\1\uffff\1\73\2\uffff\1\63\7\uffff";
11354 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\7\1\5";
11355 static final String dfa_5s = "\15\uffff}>";
7085 static final String[] dfa_6s = { 11356 static final String[] dfa_6s = {
7086 "\1\1\12\uffff\1\3\4\uffff\6\2\5\uffff\3\2\3\uffff\3\2", 11357 "\4\1\7\uffff\1\3\1\2\1\4\1\5\1\uffff\1\1\5\uffff\1\1\3\uffff\1\1\2\uffff\1\1\2\uffff\2\1\2\7\3\uffff\1\10\3\uffff\2\6\4\uffff\2\1\2\uffff\15\1\2\11",
7087 "\1\4\2\uffff\1\2\7\uffff\1\3", 11358 "",
11359 "\1\1\3\uffff\1\3\1\uffff\1\3\4\uffff\3\1\1\3\7\uffff\3\1\4\uffff\1\12\1\uffff\1\1\13\uffff\3\1\2\uffff\10\1",
11360 "",
7088 "", 11361 "",
11362 "\1\14\1\uffff\1\14\47\uffff\2\13",
7089 "", 11363 "",
7090 "\1\2\1\5\1\2\4\uffff\1\2\1\uffff\2\2\4\uffff\1\6\1\2\6\uffff\1\2\3\uffff\1\2", 11364 "",
7091 "\1\7\1\6\1\3", 11365 "",
7092 "\1\2\7\uffff\1\3", 11366 "",
7093 "\1\2\1\10\1\2\4\uffff\1\2\1\uffff\2\2\5\uffff\1\2\6\uffff\1\2\3\uffff\1\2", 11367 "",
7094 "\1\7\1\6\1\3" 11368 "",
11369 ""
7095 }; 11370 };
7096 11371
7097 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); 11372 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
@@ -7115,46 +11390,156 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7115 this.transition = dfa_6; 11390 this.transition = dfa_6;
7116 } 11391 }
7117 public String getDescription() { 11392 public String getDescription() {
7118 return "114:2: (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate )"; 11393 return "116: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 )";
11394 }
11395 }
11396 static final String dfa_7s = "\12\uffff";
11397 static final String dfa_8s = "\1\uffff\2\3\4\uffff\1\11\1\3\1\uffff";
11398 static final String dfa_9s = "\1\7\2\10\2\uffff\1\10\1\uffff\1\7\1\10\1\uffff";
11399 static final String dfa_10s = "\1\110\2\73\2\uffff\1\10\1\uffff\1\110\1\73\1\uffff";
11400 static final String dfa_11s = "\3\uffff\1\1\1\2\1\uffff\1\3\2\uffff\1\4";
11401 static final String dfa_12s = "\12\uffff}>";
11402 static final String[] dfa_13s = {
11403 "\1\3\1\1\1\3\1\2\10\uffff\1\3\11\uffff\1\3\3\uffff\1\3\1\uffff\1\4\1\3\2\uffff\2\3\17\uffff\2\3\2\uffff\15\3",
11404 "\1\6\1\uffff\1\6\13\uffff\1\5\5\uffff\1\3\4\uffff\2\3\1\7\13\uffff\3\3\2\uffff\10\3",
11405 "\1\6\1\uffff\1\6\21\uffff\1\3\4\uffff\2\3\1\7\13\uffff\3\3\2\uffff\10\3",
11406 "",
11407 "",
11408 "\1\10",
11409 "",
11410 "\4\3\10\uffff\1\3\10\uffff\1\11\1\3\3\uffff\1\3\1\11\1\uffff\1\3\2\uffff\2\3\17\uffff\2\3\2\uffff\15\3",
11411 "\1\6\1\uffff\1\6\13\uffff\1\5\5\uffff\1\3\4\uffff\2\3\1\7\13\uffff\3\3\2\uffff\10\3",
11412 ""
11413 };
11414
11415 static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s);
11416 static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s);
11417 static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s);
11418 static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s);
11419 static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s);
11420 static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s);
11421 static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s);
11422
11423 class DFA25 extends DFA {
11424
11425 public DFA25(BaseRecognizer recognizer) {
11426 this.recognizer = recognizer;
11427 this.decisionNumber = 25;
11428 this.eot = dfa_7;
11429 this.eof = dfa_8;
11430 this.min = dfa_9;
11431 this.max = dfa_10;
11432 this.accept = dfa_11;
11433 this.special = dfa_12;
11434 this.transition = dfa_13;
11435 }
11436 public String getDescription() {
11437 return "1998:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )";
11438 }
11439 }
11440 static final String dfa_14s = "\17\uffff";
11441 static final String dfa_15s = "\15\uffff\1\11\1\uffff";
11442 static final String dfa_16s = "\1\56\1\10\1\60\1\26\1\57\1\10\1\uffff\1\10\2\uffff\3\26\1\4\1\26";
11443 static final String dfa_17s = "\1\56\1\12\3\61\1\12\1\uffff\1\10\2\uffff\2\60\1\61\1\10\1\60";
11444 static final String dfa_18s = "\6\uffff\1\2\1\uffff\1\1\1\3\5\uffff";
11445 static final String dfa_19s = "\17\uffff}>";
11446 static final String[] dfa_20s = {
11447 "\1\1",
11448 "\1\3\1\2\1\4",
11449 "\1\5\1\6",
11450 "\1\7\30\uffff\1\10\1\6\1\11",
11451 "\1\10\1\6\1\11",
11452 "\1\12\1\uffff\1\13",
11453 "",
11454 "\1\14",
11455 "",
11456 "",
11457 "\1\15\31\uffff\1\6",
11458 "\1\11\31\uffff\1\6",
11459 "\1\7\30\uffff\1\10\1\6\1\11",
11460 "\1\11\3\uffff\1\16",
11461 "\1\15\31\uffff\1\6"
11462 };
11463
11464 static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s);
11465 static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s);
11466 static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s);
11467 static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s);
11468 static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s);
11469 static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s);
11470 static final short[][] dfa_20 = unpackEncodedStringArray(dfa_20s);
11471
11472 class DFA36 extends DFA {
11473
11474 public DFA36(BaseRecognizer recognizer) {
11475 this.recognizer = recognizer;
11476 this.decisionNumber = 36;
11477 this.eot = dfa_14;
11478 this.eof = dfa_15;
11479 this.min = dfa_16;
11480 this.max = dfa_17;
11481 this.accept = dfa_18;
11482 this.special = dfa_19;
11483 this.transition = dfa_20;
11484 }
11485 public String getDescription() {
11486 return "2973:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )";
7119 } 11487 }
7120 } 11488 }
7121 11489
7122 11490
7123 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); 11491 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
7124 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); 11492 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
7125 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x000001C707E10022L}); 11493 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0xF30C479220BC0782L,0x00000000000007FFL});
7126 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L}); 11494 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L});
7127 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000001000L}); 11495 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000038002L});
7128 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000120000L}); 11496 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0xF300019220880780L,0x00000000000001FFL});
7129 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000088186870L}); 11497 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000080500L});
7130 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x00000000000C0000L}); 11498 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x00000000000C0500L});
7131 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000088106870L}); 11499 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000010000L});
7132 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000100000L}); 11500 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000200000000L});
7133 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x000000000001E000L}); 11501 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000008000L});
7134 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000020L}); 11502 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000400000L});
7135 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000008000000L}); 11503 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000020000L});
7136 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000010020000L}); 11504 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x000C000000000000L});
7137 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000080020L}); 11505 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000001000000L});
7138 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000010000000L}); 11506 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000002000000L});
7139 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x00000000E0007820L}); 11507 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x000000000C000002L});
7140 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000020001000L}); 11508 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000004000002L});
7141 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x00000000E0003820L}); 11509 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000008000000L});
7142 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000100002L}); 11510 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000010000002L});
7143 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000007E00020L}); 11511 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x00F3800000000002L});
7144 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x00000000C0000822L}); 11512 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0300000000000002L});
7145 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000020002L}); 11513 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0400000800000002L});
7146 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x00000000080C6870L}); 11514 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0800000000000002L});
7147 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000008006870L}); 11515 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000019220080780L,0x00000000000001FFL});
7148 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000020000L}); 11516 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000040000000L});
7149 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000400000000L}); 11517 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000080000000L});
7150 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000001800000000L}); 11518 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000100000000L});
7151 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000001000000020L}); 11519 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000200000002L});
7152 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x000000A000000020L}); 11520 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000400000000L});
7153 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000001000000000L}); 11521 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000200000060L});
7154 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000002008000000L}); 11522 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0xF300019E20880780L,0x00000000000001FFL});
7155 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000007E00030L}); 11523 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000410000000L});
7156 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000010000000000L}); 11524 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0xF300019A20880780L,0x00000000000001FFL});
7157 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000020000000000L}); 11525 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000000000500L});
7158 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000080000010L}); 11526 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000800000000L});
11527 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000002000000000L});
11528 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000004000000000L});
11529 public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000040000000000L});
11530 public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000100L});
11531 public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000080040000000L});
11532 public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000050000000L});
11533 public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000100080000500L});
11534 public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000001000000100L});
11535 public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000200004000002L});
11536 public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000800000200L});
11537 public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000200L});
11538 public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000800000000000L});
11539 public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000000000000700L});
11540 public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0001000000000000L});
11541 public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0002000000000000L});
11542 public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0002000000400000L});
11543 public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000400002L});
7159 11544
7160} \ No newline at end of file 11545} \ No newline at end of file
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/scoping/AbstractSolverLanguageScopeProvider.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/scoping/AbstractSolverLanguageScopeProvider.java
index 52cb01b5..fabd22c7 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/scoping/AbstractSolverLanguageScopeProvider.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/scoping/AbstractSolverLanguageScopeProvider.java
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.scoping; 4package org.eclipse.viatra.solver.language.scoping;
5 5
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 1ad39fd7..fc204c16 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
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.serializer; 4package org.eclipse.viatra.solver.language.serializer;
5 5
@@ -8,43 +8,48 @@ import java.util.Set;
8import org.eclipse.emf.ecore.EObject; 8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage; 9import 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.AllInstances; 11import org.eclipse.viatra.solver.language.solverLanguage.Aggregation;
12import org.eclipse.viatra.solver.language.solverLanguage.AllObjects; 12import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
13import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation; 13import org.eclipse.viatra.solver.language.solverLanguage.Assertion;
14import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse; 14import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression;
15import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject; 15import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity;
16import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol; 16import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition;
17import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue; 17import org.eclipse.viatra.solver.language.solverLanguage.Call;
18import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation; 18import org.eclipse.viatra.solver.language.solverLanguage.Case;
19import org.eclipse.viatra.solver.language.solverLanguage.Constraint; 19import org.eclipse.viatra.solver.language.solverLanguage.Comparison;
20import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; 20import org.eclipse.viatra.solver.language.solverLanguage.Conjunction;
21import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; 21import org.eclipse.viatra.solver.language.solverLanguage.Count;
22import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; 22import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition;
23import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; 23import org.eclipse.viatra.solver.language.solverLanguage.Disjunction;
24import org.eclipse.viatra.solver.language.solverLanguage.False; 24import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral;
25import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; 25import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity;
26import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation; 26import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition;
27import org.eclipse.viatra.solver.language.solverLanguage.IntObject; 27import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument;
28import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol; 28import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition;
29import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure; 29import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition;
30import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; 30import org.eclipse.viatra.solver.language.solverLanguage.IfElse;
31import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition; 31import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral;
32import org.eclipse.viatra.solver.language.solverLanguage.NamedObject; 32import org.eclipse.viatra.solver.language.solverLanguage.Interval;
33import org.eclipse.viatra.solver.language.solverLanguage.Negative; 33import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral;
34import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; 34import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition;
35import org.eclipse.viatra.solver.language.solverLanguage.Positive; 35import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity;
36import org.eclipse.viatra.solver.language.solverLanguage.Predicate; 36import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
37import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition;
38import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
39import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral;
40import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition;
41import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition;
37import org.eclipse.viatra.solver.language.solverLanguage.Problem; 42import org.eclipse.viatra.solver.language.solverLanguage.Problem;
38import org.eclipse.viatra.solver.language.solverLanguage.RealObject; 43import org.eclipse.viatra.solver.language.solverLanguage.Reference;
39import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
40import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure;
41import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 44import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
42import org.eclipse.viatra.solver.language.solverLanguage.StringObject; 45import org.eclipse.viatra.solver.language.solverLanguage.StarArgument;
43import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol; 46import org.eclipse.viatra.solver.language.solverLanguage.Statement;
44import org.eclipse.viatra.solver.language.solverLanguage.True; 47import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral;
45import org.eclipse.viatra.solver.language.solverLanguage.Unknown; 48import org.eclipse.viatra.solver.language.solverLanguage.Switch;
46import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject; 49import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument;
47import org.eclipse.viatra.solver.language.solverLanguage.Variable; 50import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument;
51import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression;
52import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition;
48import org.eclipse.xtext.Action; 53import org.eclipse.xtext.Action;
49import org.eclipse.xtext.Parameter; 54import org.eclipse.xtext.Parameter;
50import org.eclipse.xtext.ParserRule; 55import org.eclipse.xtext.ParserRule;
@@ -67,119 +72,183 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
67 Set<Parameter> parameters = context.getEnabledBooleanParameters(); 72 Set<Parameter> parameters = context.getEnabledBooleanParameters();
68 if (epackage == SolverLanguagePackage.eINSTANCE) 73 if (epackage == SolverLanguagePackage.eINSTANCE)
69 switch (semanticObject.eClass().getClassifierID()) { 74 switch (semanticObject.eClass().getClassifierID()) {
70 case SolverLanguagePackage.ALL_INSTANCES: 75 case SolverLanguagePackage.AGGREGATION:
71 sequence_AllInstances(context, (AllInstances) semanticObject); 76 sequence_Aggregation(context, (Aggregation) semanticObject);
72 return; 77 return;
73 case SolverLanguagePackage.ALL_OBJECTS: 78 case SolverLanguagePackage.ARGUMENT_LIST:
74 sequence_AllObjects(context, (AllObjects) semanticObject); 79 sequence_ArgumentList(context, (ArgumentList) semanticObject);
75 return; 80 return;
76 case SolverLanguagePackage.BASIC_INTERPRETATION: 81 case SolverLanguagePackage.ASSERTION:
77 sequence_BasicInterpretation(context, (BasicInterpretation) semanticObject); 82 sequence_AssertionOrDefinition(context, (Assertion) semanticObject);
78 return; 83 return;
79 case SolverLanguagePackage.BOOLEAN_FALSE: 84 case SolverLanguagePackage.BINARY_EXPRESSION:
80 sequence_BooleanValue(context, (BooleanFalse) semanticObject); 85 sequence_AdditiveExpression_ExponentialExpression_MultiplicativeExpression(context, (BinaryExpression) semanticObject);
81 return; 86 return;
82 case SolverLanguagePackage.BOOLEAN_OBJECT: 87 case SolverLanguagePackage.BOUNDED_MULTIPLICITY:
83 sequence_BooleanObject(context, (BooleanObject) semanticObject); 88 sequence_BoundedMultiplicity(context, (BoundedMultiplicity) semanticObject);
84 return; 89 return;
85 case SolverLanguagePackage.BOOLEAN_SYMBOL: 90 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION:
86 sequence_BooleanSymbol(context, (BooleanSymbol) semanticObject); 91 sequence_BoundedScopeDefinition(context, (BoundedScopeDefinition) semanticObject);
87 return; 92 return;
88 case SolverLanguagePackage.BOOLEAN_TRUE: 93 case SolverLanguagePackage.CALL:
89 sequence_BooleanValue(context, (BooleanTrue) semanticObject); 94 if (action == grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0()
95 || action == grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0()
96 || action == grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0()
97 || rule == grammarAccess.getExpressionRule()
98 || rule == grammarAccess.getDisjunctiveExpressionRule()
99 || action == grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0()
100 || action == grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0()
101 || rule == grammarAccess.getConjunctiveExpressionRule()
102 || action == grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0()
103 || rule == grammarAccess.getComparisonExpressionRule()
104 || action == grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0()
105 || rule == grammarAccess.getAdditiveExpressionRule()
106 || action == grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0()
107 || rule == grammarAccess.getMultiplicativeExpressionRule()
108 || action == grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0()
109 || rule == grammarAccess.getExponentialExpressionRule()
110 || action == grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0()
111 || rule == grammarAccess.getUnaryExpressionRule()
112 || rule == grammarAccess.getAggregationExpressionRule()
113 || rule == grammarAccess.getAtomicExpressionRule()) {
114 sequence_AtomicExpression(context, (Call) semanticObject);
115 return;
116 }
117 else if (rule == grammarAccess.getCallRule()) {
118 sequence_Call(context, (Call) semanticObject);
119 return;
120 }
121 else break;
122 case SolverLanguagePackage.CASE:
123 if (rule == grammarAccess.getCaseRule()) {
124 sequence_Case(context, (Case) semanticObject);
125 return;
126 }
127 else if (action == grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3()) {
128 sequence_DisjunctiveExpression_Switch_1_1_3(context, (Case) semanticObject);
129 return;
130 }
131 else break;
132 case SolverLanguagePackage.COMPARISON:
133 sequence_ComparisonExpression(context, (Comparison) semanticObject);
90 return; 134 return;
91 case SolverLanguagePackage.CLASS_INTERPRETATION: 135 case SolverLanguagePackage.CONJUNCTION:
92 sequence_ClassInterpretation(context, (ClassInterpretation) semanticObject); 136 sequence_ConjunctiveExpression(context, (Conjunction) semanticObject);
93 return; 137 return;
94 case SolverLanguagePackage.CONSTRAINT: 138 case SolverLanguagePackage.COUNT:
95 sequence_Constraint(context, (Constraint) semanticObject); 139 sequence_Count(context, (Count) semanticObject);
96 return; 140 return;
97 case SolverLanguagePackage.DEFAULT_INTERPRETATION: 141 case SolverLanguagePackage.DEFAULT_DEFINITION:
98 sequence_DefaultInterpretation(context, (DefaultInterpretation) semanticObject); 142 sequence_DefaultDefinition(context, (DefaultDefinition) semanticObject);
99 return; 143 return;
100 case SolverLanguagePackage.ENUM_INTERPRETATION: 144 case SolverLanguagePackage.DISJUNCTION:
101 sequence_EnumInterpretation(context, (EnumInterpretation) semanticObject); 145 sequence_DisjunctiveExpression(context, (Disjunction) semanticObject);
102 return; 146 return;
103 case SolverLanguagePackage.EQUALS_SYMBOL: 147 case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL:
104 sequence_EqualsSymbol(context, (EqualsSymbol) semanticObject); 148 sequence_EmptyIntervalLiteral(context, (EmptyIntervalLiteral) semanticObject);
105 return; 149 return;
106 case SolverLanguagePackage.ERROR: 150 case SolverLanguagePackage.EXACT_MULTIPLICITY:
107 sequence_TruthValue(context, (org.eclipse.viatra.solver.language.solverLanguage.Error) semanticObject); 151 sequence_ExactMultiplicity(context, (ExactMultiplicity) semanticObject);
108 return; 152 return;
109 case SolverLanguagePackage.EXIST_SYMBOL: 153 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION:
110 sequence_ExistSymbol(context, (ExistSymbol) semanticObject); 154 sequence_ExactScopeDefinition(context, (ExactScopeDefinition) semanticObject);
111 return; 155 return;
112 case SolverLanguagePackage.FALSE: 156 case SolverLanguagePackage.EXPRESSION_ARGUMENT:
113 sequence_TruthValue(context, (False) semanticObject); 157 sequence_ExpressionArgument(context, (ExpressionArgument) semanticObject);
114 return; 158 return;
115 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION: 159 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION:
116 sequence_FieldRelationInterpretation(context, (FieldRelationInterpretation) semanticObject); 160 sequence_ExternMetricDefinition(context, (ExternMetricDefinition) semanticObject);
117 return; 161 return;
118 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION: 162 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION:
119 sequence_GlobalRelationInterpretation(context, (GlobalRelationInterpretation) semanticObject); 163 sequence_ExternPredicateDefinition(context, (ExternPredicateDefinition) semanticObject);
120 return; 164 return;
121 case SolverLanguagePackage.INT_OBJECT: 165 case SolverLanguagePackage.IF_ELSE:
122 sequence_IntObject(context, (IntObject) semanticObject); 166 sequence_IfElse(context, (IfElse) semanticObject);
123 return; 167 return;
124 case SolverLanguagePackage.INTEGER_SYMBOL: 168 case SolverLanguagePackage.INFINITY_LITERAL:
125 sequence_IntegerSymbol(context, (IntegerSymbol) semanticObject); 169 sequence_InfinityLiteral(context, (InfinityLiteral) semanticObject);
126 return; 170 return;
127 case SolverLanguagePackage.IRREFLEXIVE_CLOSURE: 171 case SolverLanguagePackage.INTERVAL:
128 sequence_ClosureType(context, (IrreflexiveClosure) semanticObject); 172 sequence_Interval(context, (Interval) semanticObject);
129 return; 173 return;
130 case SolverLanguagePackage.MODEL_SYMBOL: 174 case SolverLanguagePackage.LOGIC_LITERAL:
131 sequence_ModelSymbol(context, (ModelSymbol) semanticObject); 175 sequence_LogicLiteral(context, (LogicLiteral) semanticObject);
132 return; 176 return;
133 case SolverLanguagePackage.MULTIPLICITY_DEFINITION: 177 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION:
134 sequence_MultiplicityDefinition(context, (MultiplicityDefinition) semanticObject); 178 sequence_LowerBoundedScopeDefinition(context, (LowerBoundedScopeDefinition) semanticObject);
135 return; 179 return;
136 case SolverLanguagePackage.NAMED_OBJECT: 180 case SolverLanguagePackage.MANY_MULTIPLICITY:
137 sequence_NamedObject(context, (NamedObject) semanticObject); 181 sequence_ManyMultiplicity(context, (ManyMultiplicity) semanticObject);
138 return; 182 return;
139 case SolverLanguagePackage.NEGATIVE: 183 case SolverLanguagePackage.MEMBER_DEFINITION:
140 sequence_Polarity(context, (Negative) semanticObject); 184 sequence_MemberDefinition(context, (MemberDefinition) semanticObject);
141 return; 185 return;
142 case SolverLanguagePackage.PARAMETER: 186 case SolverLanguagePackage.METRIC_DEFINITION:
143 sequence_Parameter(context, (org.eclipse.viatra.solver.language.solverLanguage.Parameter) semanticObject); 187 if (rule == grammarAccess.getAssertionOrDefinitionRule()) {
188 sequence_AssertionOrDefinition(context, (MetricDefinition) semanticObject);
189 return;
190 }
191 else if (rule == grammarAccess.getStatementRule()) {
192 sequence_AssertionOrDefinition_MetricDefinition(context, (MetricDefinition) semanticObject);
193 return;
194 }
195 else if (rule == grammarAccess.getMetricDefinitionRule()) {
196 sequence_MetricDefinition(context, (MetricDefinition) semanticObject);
197 return;
198 }
199 else break;
200 case SolverLanguagePackage.NAMED_ELEMENT:
201 sequence_NamedElement(context, (NamedElement) semanticObject);
144 return; 202 return;
145 case SolverLanguagePackage.PATTERN_BODY: 203 case SolverLanguagePackage.NUMERIC_LITERAL:
146 sequence_PatternBody(context, (PatternBody) semanticObject); 204 sequence_NumericLiteral(context, (NumericLiteral) semanticObject);
147 return; 205 return;
148 case SolverLanguagePackage.POSITIVE: 206 case SolverLanguagePackage.OBJECTIVE_DEFINITION:
149 sequence_Polarity(context, (Positive) semanticObject); 207 sequence_ObjectiveDefinition(context, (ObjectiveDefinition) semanticObject);
150 return;
151 case SolverLanguagePackage.PREDICATE:
152 sequence_Predicate(context, (Predicate) semanticObject);
153 return; 208 return;
209 case SolverLanguagePackage.PREDICATE_DEFINITION:
210 if (rule == grammarAccess.getAssertionOrDefinitionRule()) {
211 sequence_AssertionOrDefinition(context, (PredicateDefinition) semanticObject);
212 return;
213 }
214 else if (rule == grammarAccess.getStatementRule()) {
215 sequence_AssertionOrDefinition_PredicateDefinition(context, (PredicateDefinition) semanticObject);
216 return;
217 }
218 else if (rule == grammarAccess.getPredicateDefinitionRule()) {
219 sequence_PredicateDefinition(context, (PredicateDefinition) semanticObject);
220 return;
221 }
222 else break;
154 case SolverLanguagePackage.PROBLEM: 223 case SolverLanguagePackage.PROBLEM:
155 sequence_Problem(context, (Problem) semanticObject); 224 sequence_Problem(context, (Problem) semanticObject);
156 return; 225 return;
157 case SolverLanguagePackage.REAL_OBJECT: 226 case SolverLanguagePackage.REFERENCE:
158 sequence_RealObject(context, (RealObject) semanticObject); 227 sequence_Reference(context, (Reference) semanticObject);
159 return; 228 return;
160 case SolverLanguagePackage.REAL_SYMBOL: 229 case SolverLanguagePackage.STAR_ARGUMENT:
161 sequence_RealSymbol(context, (RealSymbol) semanticObject); 230 sequence_StarArgument(context, (StarArgument) semanticObject);
162 return; 231 return;
163 case SolverLanguagePackage.REFLEXIVE_CLOSURE: 232 case SolverLanguagePackage.STATEMENT:
164 sequence_ClosureType(context, (ReflexiveClosure) semanticObject); 233 sequence_ClassDefinition(context, (Statement) semanticObject);
165 return; 234 return;
166 case SolverLanguagePackage.STRING_OBJECT: 235 case SolverLanguagePackage.STRING_LITERAL:
167 sequence_StringObject(context, (StringObject) semanticObject); 236 sequence_StringLiteral(context, (StringLiteral) semanticObject);
168 return; 237 return;
169 case SolverLanguagePackage.STRING_SYMBOL: 238 case SolverLanguagePackage.SWITCH:
170 sequence_StringSymbol(context, (StringSymbol) semanticObject); 239 sequence_DisjunctiveExpression(context, (Switch) semanticObject);
171 return; 240 return;
172 case SolverLanguagePackage.TRUE: 241 case SolverLanguagePackage.TYPED_ARGUMENT:
173 sequence_TruthValue(context, (True) semanticObject); 242 sequence_TypedArgument(context, (TypedArgument) semanticObject);
174 return; 243 return;
175 case SolverLanguagePackage.UNKNOWN: 244 case SolverLanguagePackage.TYPED_STAR_ARGUMENT:
176 sequence_TruthValue(context, (Unknown) semanticObject); 245 sequence_TypedStarArgument(context, (TypedStarArgument) semanticObject);
177 return; 246 return;
178 case SolverLanguagePackage.UNNAMED_OBJECT: 247 case SolverLanguagePackage.UNARY_EXPRESSION:
179 sequence_UnnamedObject(context, (UnnamedObject) semanticObject); 248 sequence_UnaryExpression(context, (UnaryExpression) semanticObject);
180 return; 249 return;
181 case SolverLanguagePackage.VARIABLE: 250 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION:
182 sequence_Variable(context, (Variable) semanticObject); 251 sequence_UnnamedErrorPrediateDefinition(context, (UnnamedErrorPrediateDefinition) semanticObject);
183 return; 252 return;
184 } 253 }
185 if (errorAcceptor != null) 254 if (errorAcceptor != null)
@@ -188,574 +257,1169 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
188 257
189 /** 258 /**
190 * Contexts: 259 * Contexts:
191 * ComplexObject returns AllInstances 260 * AssertionOrDefinition.Assertion_1_0_0 returns BinaryExpression
192 * AllInstances returns AllInstances 261 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns BinaryExpression
262 * AssertionOrDefinition.MetricDefinition_1_2_0 returns BinaryExpression
263 * Expression returns BinaryExpression
264 * DisjunctiveExpression returns BinaryExpression
265 * DisjunctiveExpression.Disjunction_1_0_0 returns BinaryExpression
266 * DisjunctiveExpression.Case_1_1_0 returns BinaryExpression
267 * ConjunctiveExpression returns BinaryExpression
268 * ConjunctiveExpression.Conjunction_1_0 returns BinaryExpression
269 * ComparisonExpression returns BinaryExpression
270 * ComparisonExpression.Comparison_1_0 returns BinaryExpression
271 * AdditiveExpression returns BinaryExpression
272 * AdditiveExpression.BinaryExpression_1_0 returns BinaryExpression
273 * MultiplicativeExpression returns BinaryExpression
274 * MultiplicativeExpression.BinaryExpression_1_0 returns BinaryExpression
275 * ExponentialExpression returns BinaryExpression
276 * ExponentialExpression.BinaryExpression_1_0 returns BinaryExpression
277 * UnaryExpression returns BinaryExpression
278 * AggregationExpression returns BinaryExpression
279 * AtomicExpression returns BinaryExpression
280 *
281 * Constraint:
282 * (
283 * (left=AdditiveExpression_BinaryExpression_1_0 op=AdditiveBinaryOperator right=MultiplicativeExpression) |
284 * (left=MultiplicativeExpression_BinaryExpression_1_0 op=MultiplicativeBinaryOperator right=ExponentialExpression) |
285 * (left=ExponentialExpression_BinaryExpression_1_0 op=ExponentialOp right=ExponentialExpression)
286 * )
287 */
288 protected void sequence_AdditiveExpression_ExponentialExpression_MultiplicativeExpression(ISerializationContext context, BinaryExpression semanticObject) {
289 genericSequencer.createSequence(context, semanticObject);
290 }
291
292
293 /**
294 * Contexts:
295 * AssertionOrDefinition.Assertion_1_0_0 returns Aggregation
296 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Aggregation
297 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Aggregation
298 * Expression returns Aggregation
299 * DisjunctiveExpression returns Aggregation
300 * DisjunctiveExpression.Disjunction_1_0_0 returns Aggregation
301 * DisjunctiveExpression.Case_1_1_0 returns Aggregation
302 * ConjunctiveExpression returns Aggregation
303 * ConjunctiveExpression.Conjunction_1_0 returns Aggregation
304 * ComparisonExpression returns Aggregation
305 * ComparisonExpression.Comparison_1_0 returns Aggregation
306 * AdditiveExpression returns Aggregation
307 * AdditiveExpression.BinaryExpression_1_0 returns Aggregation
308 * MultiplicativeExpression returns Aggregation
309 * MultiplicativeExpression.BinaryExpression_1_0 returns Aggregation
310 * ExponentialExpression returns Aggregation
311 * ExponentialExpression.BinaryExpression_1_0 returns Aggregation
312 * UnaryExpression returns Aggregation
313 * AggregationExpression returns Aggregation
314 * Aggregation returns Aggregation
315 * AtomicExpression returns Aggregation
193 * 316 *
194 * Constraint: 317 * Constraint:
195 * symbol=Symbol 318 * (op=AggregationOp body=Expression condition=Expression)
196 */ 319 */
197 protected void sequence_AllInstances(ISerializationContext context, AllInstances semanticObject) { 320 protected void sequence_Aggregation(ISerializationContext context, Aggregation semanticObject) {
198 if (errorAcceptor != null) { 321 if (errorAcceptor != null) {
199 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.ALL_INSTANCES__SYMBOL) == ValueTransient.YES) 322 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__OP) == ValueTransient.YES)
200 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.ALL_INSTANCES__SYMBOL)); 323 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__OP));
324 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__BODY) == ValueTransient.YES)
325 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__BODY));
326 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__CONDITION) == ValueTransient.YES)
327 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__CONDITION));
201 } 328 }
202 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 329 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
203 feeder.accept(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0(), semanticObject.getSymbol()); 330 feeder.accept(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0(), semanticObject.getOp());
331 feeder.accept(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0(), semanticObject.getBody());
332 feeder.accept(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0(), semanticObject.getCondition());
204 feeder.finish(); 333 feeder.finish();
205 } 334 }
206 335
207 336
208 /** 337 /**
209 * Contexts: 338 * Contexts:
210 * ComplexObject returns AllObjects 339 * ArgumentList returns ArgumentList
211 * AllObjects returns AllObjects
212 * 340 *
213 * Constraint: 341 * Constraint:
214 * {AllObjects} 342 * (arguments+=Argument arguments+=Argument*)?
215 */ 343 */
216 protected void sequence_AllObjects(ISerializationContext context, AllObjects semanticObject) { 344 protected void sequence_ArgumentList(ISerializationContext context, ArgumentList semanticObject) {
217 genericSequencer.createSequence(context, semanticObject); 345 genericSequencer.createSequence(context, semanticObject);
218 } 346 }
219 347
220 348
221 /** 349 /**
222 * Contexts: 350 * Contexts:
223 * Statement returns BasicInterpretation 351 * Statement returns Assertion
224 * Interpretation returns BasicInterpretation 352 * AssertionOrDefinition returns Assertion
225 * BasicInterpretation returns BasicInterpretation
226 * 353 *
227 * Constraint: 354 * Constraint:
228 * (symbol=Symbol (objects+=ComplexObject objects+=ComplexObject*)? value=TruthValue) 355 * (body=AssertionOrDefinition_Assertion_1_0_0 range=Expression?)
229 */ 356 */
230 protected void sequence_BasicInterpretation(ISerializationContext context, BasicInterpretation semanticObject) { 357 protected void sequence_AssertionOrDefinition(ISerializationContext context, Assertion semanticObject) {
231 genericSequencer.createSequence(context, semanticObject); 358 genericSequencer.createSequence(context, semanticObject);
232 } 359 }
233 360
234 361
235 /** 362 /**
236 * Contexts: 363 * Contexts:
237 * ComplexObject returns BooleanObject 364 * AssertionOrDefinition returns MetricDefinition
238 * Object returns BooleanObject
239 * DataObject returns BooleanObject
240 * BooleanObject returns BooleanObject
241 * Literal returns BooleanObject
242 * 365 *
243 * Constraint: 366 * Constraint:
244 * value=BooleanValue 367 * (head=AssertionOrDefinition_MetricDefinition_1_2_0 body=Expression)
245 */ 368 */
246 protected void sequence_BooleanObject(ISerializationContext context, BooleanObject semanticObject) { 369 protected void sequence_AssertionOrDefinition(ISerializationContext context, MetricDefinition semanticObject) {
247 if (errorAcceptor != null) { 370 if (errorAcceptor != null) {
248 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.BOOLEAN_OBJECT__VALUE) == ValueTransient.YES) 371 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__HEAD) == ValueTransient.YES)
249 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.BOOLEAN_OBJECT__VALUE)); 372 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__HEAD));
373 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY) == ValueTransient.YES)
374 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY));
250 } 375 }
251 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 376 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
252 feeder.accept(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0(), semanticObject.getValue()); 377 feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0(), semanticObject.getHead());
378 feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0(), semanticObject.getBody());
253 feeder.finish(); 379 feeder.finish();
254 } 380 }
255 381
256 382
257 /** 383 /**
258 * Contexts: 384 * Contexts:
259 * Symbol returns BooleanSymbol 385 * Statement returns MetricDefinition
260 * DataSymbol returns BooleanSymbol
261 * BooleanSymbol returns BooleanSymbol
262 * 386 *
263 * Constraint: 387 * Constraint:
264 * {BooleanSymbol} 388 * ((head=AssertionOrDefinition_MetricDefinition_1_2_0 body=Expression) | (type=MetricType head=Expression body=Expression))
265 */ 389 */
266 protected void sequence_BooleanSymbol(ISerializationContext context, BooleanSymbol semanticObject) { 390 protected void sequence_AssertionOrDefinition_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) {
267 genericSequencer.createSequence(context, semanticObject); 391 genericSequencer.createSequence(context, semanticObject);
268 } 392 }
269 393
270 394
271 /** 395 /**
272 * Contexts: 396 * Contexts:
273 * BooleanValue returns BooleanFalse 397 * AssertionOrDefinition returns PredicateDefinition
274 * 398 *
275 * Constraint: 399 * Constraint:
276 * {BooleanFalse} 400 * (head=AssertionOrDefinition_PredicateDefinition_1_1_0 body=Expression)
277 */ 401 */
278 protected void sequence_BooleanValue(ISerializationContext context, BooleanFalse semanticObject) { 402 protected void sequence_AssertionOrDefinition(ISerializationContext context, PredicateDefinition semanticObject) {
279 genericSequencer.createSequence(context, semanticObject); 403 if (errorAcceptor != null) {
404 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.PREDICATE_DEFINITION__HEAD) == ValueTransient.YES)
405 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.PREDICATE_DEFINITION__HEAD));
406 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.PREDICATE_DEFINITION__BODY) == ValueTransient.YES)
407 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.PREDICATE_DEFINITION__BODY));
408 }
409 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
410 feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0(), semanticObject.getHead());
411 feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0(), semanticObject.getBody());
412 feeder.finish();
280 } 413 }
281 414
282 415
283 /** 416 /**
284 * Contexts: 417 * Contexts:
285 * BooleanValue returns BooleanTrue 418 * Statement returns PredicateDefinition
286 * 419 *
287 * Constraint: 420 * Constraint:
288 * {BooleanTrue} 421 * (
422 * (head=AssertionOrDefinition_PredicateDefinition_1_1_0 body=Expression) |
423 * (((functional?='functional' error?='error'?) | (error?='error' functional?='functional'?)) head=Call body=Expression)
424 * )
289 */ 425 */
290 protected void sequence_BooleanValue(ISerializationContext context, BooleanTrue semanticObject) { 426 protected void sequence_AssertionOrDefinition_PredicateDefinition(ISerializationContext context, PredicateDefinition semanticObject) {
291 genericSequencer.createSequence(context, semanticObject); 427 genericSequencer.createSequence(context, semanticObject);
292 } 428 }
293 429
294 430
295 /** 431 /**
296 * Contexts: 432 * Contexts:
297 * Statement returns ClassInterpretation 433 * AssertionOrDefinition.Assertion_1_0_0 returns Call
298 * Interpretation returns ClassInterpretation 434 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Call
299 * CDInterpretation returns ClassInterpretation 435 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Call
300 * ClassInterpretation returns ClassInterpretation 436 * Expression returns Call
437 * DisjunctiveExpression returns Call
438 * DisjunctiveExpression.Disjunction_1_0_0 returns Call
439 * DisjunctiveExpression.Case_1_1_0 returns Call
440 * ConjunctiveExpression returns Call
441 * ConjunctiveExpression.Conjunction_1_0 returns Call
442 * ComparisonExpression returns Call
443 * ComparisonExpression.Comparison_1_0 returns Call
444 * AdditiveExpression returns Call
445 * AdditiveExpression.BinaryExpression_1_0 returns Call
446 * MultiplicativeExpression returns Call
447 * MultiplicativeExpression.BinaryExpression_1_0 returns Call
448 * ExponentialExpression returns Call
449 * ExponentialExpression.BinaryExpression_1_0 returns Call
450 * UnaryExpression returns Call
451 * AggregationExpression returns Call
452 * AtomicExpression returns Call
301 * 453 *
302 * Constraint: 454 * Constraint:
303 * (abstract?='abstract'? symbol=ModelSymbol supertypes+=ModelSymbol* fielt+=FieldRelationInterpretation*) 455 * (functor=AtomicExpression_Call_0_1_0 argumentList=ArgumentList)
304 */ 456 */
305 protected void sequence_ClassInterpretation(ISerializationContext context, ClassInterpretation semanticObject) { 457 protected void sequence_AtomicExpression(ISerializationContext context, Call semanticObject) {
306 genericSequencer.createSequence(context, semanticObject); 458 if (errorAcceptor != null) {
459 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CALL__FUNCTOR) == ValueTransient.YES)
460 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CALL__FUNCTOR));
461 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CALL__ARGUMENT_LIST) == ValueTransient.YES)
462 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CALL__ARGUMENT_LIST));
463 }
464 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
465 feeder.accept(grammarAccess.getAtomicExpressionAccess().getCallFunctorAction_0_1_0(), semanticObject.getFunctor());
466 feeder.accept(grammarAccess.getAtomicExpressionAccess().getArgumentListArgumentListParserRuleCall_0_1_1_0(), semanticObject.getArgumentList());
467 feeder.finish();
307 } 468 }
308 469
309 470
310 /** 471 /**
311 * Contexts: 472 * Contexts:
312 * ClosureType returns IrreflexiveClosure 473 * Multiplicity returns BoundedMultiplicity
474 * BoundedMultiplicity returns BoundedMultiplicity
313 * 475 *
314 * Constraint: 476 * Constraint:
315 * {IrreflexiveClosure} 477 * (lowerBound=INT upperBound=UpperMultiplicty)
316 */ 478 */
317 protected void sequence_ClosureType(ISerializationContext context, IrreflexiveClosure semanticObject) { 479 protected void sequence_BoundedMultiplicity(ISerializationContext context, BoundedMultiplicity semanticObject) {
318 genericSequencer.createSequence(context, semanticObject); 480 if (errorAcceptor != null) {
481 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.BOUNDED_MULTIPLICITY__LOWER_BOUND) == ValueTransient.YES)
482 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.BOUNDED_MULTIPLICITY__LOWER_BOUND));
483 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.BOUNDED_MULTIPLICITY__UPPER_BOUND) == ValueTransient.YES)
484 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.BOUNDED_MULTIPLICITY__UPPER_BOUND));
485 }
486 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
487 feeder.accept(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0(), semanticObject.getLowerBound());
488 feeder.accept(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0(), semanticObject.getUpperBound());
489 feeder.finish();
319 } 490 }
320 491
321 492
322 /** 493 /**
323 * Contexts: 494 * Contexts:
324 * ClosureType returns ReflexiveClosure 495 * Statement returns BoundedScopeDefinition
496 * ScopeDefinition returns BoundedScopeDefinition
497 * BoundedScopeDefinition returns BoundedScopeDefinition
325 * 498 *
326 * Constraint: 499 * Constraint:
327 * {ReflexiveClosure} 500 * ((lowerBound=INT? type=[NamedElement|QualifiedName] upperBound=INT) | (upperBound=INT type=[NamedElement|QualifiedName] lowerBound=INT?))
328 */ 501 */
329 protected void sequence_ClosureType(ISerializationContext context, ReflexiveClosure semanticObject) { 502 protected void sequence_BoundedScopeDefinition(ISerializationContext context, BoundedScopeDefinition semanticObject) {
330 genericSequencer.createSequence(context, semanticObject); 503 genericSequencer.createSequence(context, semanticObject);
331 } 504 }
332 505
333 506
334 /** 507 /**
335 * Contexts: 508 * Contexts:
336 * Constraint returns Constraint 509 * Call returns Call
337 * 510 *
338 * Constraint: 511 * Constraint:
339 * ((polarity=Polarity? symbol=ModelSymbol params+=Literal? params+=Literal*) | (closureType=ClosureType params+=Literal? params+=Literal*)) 512 * (functor=Reference (transitiveClosure?=STAR | reflexiveTransitiveClosure?=PLUS)? argumentList=ArgumentList)
340 */ 513 */
341 protected void sequence_Constraint(ISerializationContext context, Constraint semanticObject) { 514 protected void sequence_Call(ISerializationContext context, Call semanticObject) {
342 genericSequencer.createSequence(context, semanticObject); 515 genericSequencer.createSequence(context, semanticObject);
343 } 516 }
344 517
345 518
346 /** 519 /**
347 * Contexts: 520 * Contexts:
348 * Statement returns DefaultInterpretation 521 * Case returns Case
349 * Interpretation returns DefaultInterpretation
350 * DefaultInterpretation returns DefaultInterpretation
351 * 522 *
352 * Constraint: 523 * Constraint:
353 * interpretation=BasicInterpretation 524 * (condition=ConjunctiveExpression body=ConjunctiveExpression)
354 */ 525 */
355 protected void sequence_DefaultInterpretation(ISerializationContext context, DefaultInterpretation semanticObject) { 526 protected void sequence_Case(ISerializationContext context, Case semanticObject) {
356 if (errorAcceptor != null) { 527 if (errorAcceptor != null) {
357 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.DEFAULT_INTERPRETATION__INTERPRETATION) == ValueTransient.YES) 528 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CASE__CONDITION) == ValueTransient.YES)
358 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.DEFAULT_INTERPRETATION__INTERPRETATION)); 529 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CASE__CONDITION));
530 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CASE__BODY) == ValueTransient.YES)
531 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CASE__BODY));
359 } 532 }
360 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 533 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
361 feeder.accept(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0(), semanticObject.getInterpretation()); 534 feeder.accept(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0(), semanticObject.getCondition());
535 feeder.accept(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0(), semanticObject.getBody());
362 feeder.finish(); 536 feeder.finish();
363 } 537 }
364 538
365 539
366 /** 540 /**
367 * Contexts: 541 * Contexts:
368 * Statement returns EnumInterpretation 542 * Statement returns Statement
369 * Interpretation returns EnumInterpretation 543 * ClassDefinition returns Statement
370 * CDInterpretation returns EnumInterpretation
371 * EnumInterpretation returns EnumInterpretation
372 * 544 *
373 * Constraint: 545 * Constraint:
374 * (Symbol=ModelSymbol objects+=NamedObject+) 546 * (
547 * abstract?='abstract'?
548 * name=ID
549 * (superclasses+=[NamedElement|QualifiedName] superclasses+=[NamedElement|QualifiedName]*)?
550 * members+=MemberDefinition*
551 * )
375 */ 552 */
376 protected void sequence_EnumInterpretation(ISerializationContext context, EnumInterpretation semanticObject) { 553 protected void sequence_ClassDefinition(ISerializationContext context, Statement semanticObject) {
377 genericSequencer.createSequence(context, semanticObject); 554 genericSequencer.createSequence(context, semanticObject);
378 } 555 }
379 556
380 557
381 /** 558 /**
382 * Contexts: 559 * Contexts:
383 * Symbol returns EqualsSymbol 560 * AssertionOrDefinition.Assertion_1_0_0 returns Comparison
384 * PartialitySymbol returns EqualsSymbol 561 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Comparison
385 * EqualsSymbol returns EqualsSymbol 562 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Comparison
563 * Expression returns Comparison
564 * DisjunctiveExpression returns Comparison
565 * DisjunctiveExpression.Disjunction_1_0_0 returns Comparison
566 * DisjunctiveExpression.Case_1_1_0 returns Comparison
567 * ConjunctiveExpression returns Comparison
568 * ConjunctiveExpression.Conjunction_1_0 returns Comparison
569 * ComparisonExpression returns Comparison
570 * ComparisonExpression.Comparison_1_0 returns Comparison
571 * AdditiveExpression returns Comparison
572 * AdditiveExpression.BinaryExpression_1_0 returns Comparison
573 * MultiplicativeExpression returns Comparison
574 * MultiplicativeExpression.BinaryExpression_1_0 returns Comparison
575 * ExponentialExpression returns Comparison
576 * ExponentialExpression.BinaryExpression_1_0 returns Comparison
577 * UnaryExpression returns Comparison
578 * AggregationExpression returns Comparison
579 * AtomicExpression returns Comparison
386 * 580 *
387 * Constraint: 581 * Constraint:
388 * {EqualsSymbol} 582 * (left=ComparisonExpression_Comparison_1_0 op=ComparisonOperator right=AdditiveExpression)
389 */ 583 */
390 protected void sequence_EqualsSymbol(ISerializationContext context, EqualsSymbol semanticObject) { 584 protected void sequence_ComparisonExpression(ISerializationContext context, Comparison semanticObject) {
391 genericSequencer.createSequence(context, semanticObject); 585 if (errorAcceptor != null) {
586 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.COMPARISON__LEFT) == ValueTransient.YES)
587 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.COMPARISON__LEFT));
588 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.COMPARISON__OP) == ValueTransient.YES)
589 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.COMPARISON__OP));
590 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.COMPARISON__RIGHT) == ValueTransient.YES)
591 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.COMPARISON__RIGHT));
592 }
593 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
594 feeder.accept(grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0(), semanticObject.getLeft());
595 feeder.accept(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0(), semanticObject.getOp());
596 feeder.accept(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0(), semanticObject.getRight());
597 feeder.finish();
392 } 598 }
393 599
394 600
395 /** 601 /**
396 * Contexts: 602 * Contexts:
397 * Symbol returns ExistSymbol 603 * AssertionOrDefinition.Assertion_1_0_0 returns Conjunction
398 * PartialitySymbol returns ExistSymbol 604 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Conjunction
399 * ExistSymbol returns ExistSymbol 605 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Conjunction
606 * Expression returns Conjunction
607 * DisjunctiveExpression returns Conjunction
608 * DisjunctiveExpression.Disjunction_1_0_0 returns Conjunction
609 * DisjunctiveExpression.Case_1_1_0 returns Conjunction
610 * ConjunctiveExpression returns Conjunction
611 * ConjunctiveExpression.Conjunction_1_0 returns Conjunction
612 * ComparisonExpression returns Conjunction
613 * ComparisonExpression.Comparison_1_0 returns Conjunction
614 * AdditiveExpression returns Conjunction
615 * AdditiveExpression.BinaryExpression_1_0 returns Conjunction
616 * MultiplicativeExpression returns Conjunction
617 * MultiplicativeExpression.BinaryExpression_1_0 returns Conjunction
618 * ExponentialExpression returns Conjunction
619 * ExponentialExpression.BinaryExpression_1_0 returns Conjunction
620 * UnaryExpression returns Conjunction
621 * AggregationExpression returns Conjunction
622 * AtomicExpression returns Conjunction
400 * 623 *
401 * Constraint: 624 * Constraint:
402 * {ExistSymbol} 625 * (children+=ConjunctiveExpression_Conjunction_1_0 children+=ComparisonExpression+)
403 */ 626 */
404 protected void sequence_ExistSymbol(ISerializationContext context, ExistSymbol semanticObject) { 627 protected void sequence_ConjunctiveExpression(ISerializationContext context, Conjunction semanticObject) {
405 genericSequencer.createSequence(context, semanticObject); 628 genericSequencer.createSequence(context, semanticObject);
406 } 629 }
407 630
408 631
409 /** 632 /**
410 * Contexts: 633 * Contexts:
411 * FieldRelationInterpretation returns FieldRelationInterpretation 634 * AssertionOrDefinition.Assertion_1_0_0 returns Count
635 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Count
636 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Count
637 * Expression returns Count
638 * DisjunctiveExpression returns Count
639 * DisjunctiveExpression.Disjunction_1_0_0 returns Count
640 * DisjunctiveExpression.Case_1_1_0 returns Count
641 * ConjunctiveExpression returns Count
642 * ConjunctiveExpression.Conjunction_1_0 returns Count
643 * ComparisonExpression returns Count
644 * ComparisonExpression.Comparison_1_0 returns Count
645 * AdditiveExpression returns Count
646 * AdditiveExpression.BinaryExpression_1_0 returns Count
647 * MultiplicativeExpression returns Count
648 * MultiplicativeExpression.BinaryExpression_1_0 returns Count
649 * ExponentialExpression returns Count
650 * ExponentialExpression.BinaryExpression_1_0 returns Count
651 * UnaryExpression returns Count
652 * AggregationExpression returns Count
653 * Count returns Count
654 * AtomicExpression returns Count
655 *
656 * Constraint:
657 * body=Expression
658 */
659 protected void sequence_Count(ISerializationContext context, Count semanticObject) {
660 if (errorAcceptor != null) {
661 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.COUNT__BODY) == ValueTransient.YES)
662 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.COUNT__BODY));
663 }
664 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
665 feeder.accept(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0(), semanticObject.getBody());
666 feeder.finish();
667 }
668
669
670 /**
671 * Contexts:
672 * Statement returns DefaultDefinition
673 * DefaultDefinition returns DefaultDefinition
674 *
675 * Constraint:
676 * (head=Call range=Expression)
677 */
678 protected void sequence_DefaultDefinition(ISerializationContext context, DefaultDefinition semanticObject) {
679 if (errorAcceptor != null) {
680 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.DEFAULT_DEFINITION__HEAD) == ValueTransient.YES)
681 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.DEFAULT_DEFINITION__HEAD));
682 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.DEFAULT_DEFINITION__RANGE) == ValueTransient.YES)
683 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.DEFAULT_DEFINITION__RANGE));
684 }
685 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
686 feeder.accept(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0(), semanticObject.getHead());
687 feeder.accept(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0(), semanticObject.getRange());
688 feeder.finish();
689 }
690
691
692 /**
693 * Contexts:
694 * AssertionOrDefinition.Assertion_1_0_0 returns Disjunction
695 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Disjunction
696 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Disjunction
697 * Expression returns Disjunction
698 * DisjunctiveExpression returns Disjunction
699 * DisjunctiveExpression.Disjunction_1_0_0 returns Disjunction
700 * DisjunctiveExpression.Case_1_1_0 returns Disjunction
701 * ConjunctiveExpression returns Disjunction
702 * ConjunctiveExpression.Conjunction_1_0 returns Disjunction
703 * ComparisonExpression returns Disjunction
704 * ComparisonExpression.Comparison_1_0 returns Disjunction
705 * AdditiveExpression returns Disjunction
706 * AdditiveExpression.BinaryExpression_1_0 returns Disjunction
707 * MultiplicativeExpression returns Disjunction
708 * MultiplicativeExpression.BinaryExpression_1_0 returns Disjunction
709 * ExponentialExpression returns Disjunction
710 * ExponentialExpression.BinaryExpression_1_0 returns Disjunction
711 * UnaryExpression returns Disjunction
712 * AggregationExpression returns Disjunction
713 * AtomicExpression returns Disjunction
412 * 714 *
413 * Constraint: 715 * Constraint:
414 * (containment?='containment'? symbol=ModelSymbol multiplicity=MultiplicityDefinition? target=Symbol) 716 * (children+=DisjunctiveExpression_Disjunction_1_0_0 children+=ConjunctiveExpression+)
415 */ 717 */
416 protected void sequence_FieldRelationInterpretation(ISerializationContext context, FieldRelationInterpretation semanticObject) { 718 protected void sequence_DisjunctiveExpression(ISerializationContext context, Disjunction semanticObject) {
417 genericSequencer.createSequence(context, semanticObject); 719 genericSequencer.createSequence(context, semanticObject);
418 } 720 }
419 721
420 722
421 /** 723 /**
422 * Contexts: 724 * Contexts:
423 * Statement returns GlobalRelationInterpretation 725 * AssertionOrDefinition.Assertion_1_0_0 returns Switch
424 * Interpretation returns GlobalRelationInterpretation 726 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Switch
425 * CDInterpretation returns GlobalRelationInterpretation 727 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Switch
426 * GlobalRelationInterpretation returns GlobalRelationInterpretation 728 * Expression returns Switch
729 * DisjunctiveExpression returns Switch
730 * DisjunctiveExpression.Disjunction_1_0_0 returns Switch
731 * DisjunctiveExpression.Case_1_1_0 returns Switch
732 * ConjunctiveExpression returns Switch
733 * ConjunctiveExpression.Conjunction_1_0 returns Switch
734 * ComparisonExpression returns Switch
735 * ComparisonExpression.Comparison_1_0 returns Switch
736 * AdditiveExpression returns Switch
737 * AdditiveExpression.BinaryExpression_1_0 returns Switch
738 * MultiplicativeExpression returns Switch
739 * MultiplicativeExpression.BinaryExpression_1_0 returns Switch
740 * ExponentialExpression returns Switch
741 * ExponentialExpression.BinaryExpression_1_0 returns Switch
742 * UnaryExpression returns Switch
743 * AggregationExpression returns Switch
744 * AtomicExpression returns Switch
427 * 745 *
428 * Constraint: 746 * Constraint:
429 * ( 747 * (cases+=DisjunctiveExpression_Switch_1_1_3 cases+=Case*)
430 * containment?='containment'?
431 * symbol=ModelSymbol
432 * sourceMultiplicity=MultiplicityDefinition?
433 * source=Symbol
434 * targetMultiplicity=MultiplicityDefinition?
435 * target=Symbol
436 * )
437 */ 748 */
438 protected void sequence_GlobalRelationInterpretation(ISerializationContext context, GlobalRelationInterpretation semanticObject) { 749 protected void sequence_DisjunctiveExpression(ISerializationContext context, Switch semanticObject) {
439 genericSequencer.createSequence(context, semanticObject); 750 genericSequencer.createSequence(context, semanticObject);
440 } 751 }
441 752
442 753
443 /** 754 /**
444 * Contexts: 755 * Contexts:
445 * ComplexObject returns IntObject 756 * DisjunctiveExpression.Switch_1_1_3 returns Case
446 * Object returns IntObject
447 * DataObject returns IntObject
448 * IntObject returns IntObject
449 * Literal returns IntObject
450 * 757 *
451 * Constraint: 758 * Constraint:
452 * value=INTLiteral 759 * (condition=DisjunctiveExpression_Case_1_1_0 body=ConjunctiveExpression)
453 */ 760 */
454 protected void sequence_IntObject(ISerializationContext context, IntObject semanticObject) { 761 protected void sequence_DisjunctiveExpression_Switch_1_1_3(ISerializationContext context, Case semanticObject) {
455 if (errorAcceptor != null) { 762 if (errorAcceptor != null) {
456 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.INT_OBJECT__VALUE) == ValueTransient.YES) 763 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CASE__CONDITION) == ValueTransient.YES)
457 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INT_OBJECT__VALUE)); 764 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CASE__CONDITION));
765 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CASE__BODY) == ValueTransient.YES)
766 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CASE__BODY));
458 } 767 }
459 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 768 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
460 feeder.accept(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0(), semanticObject.getValue()); 769 feeder.accept(grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0(), semanticObject.getCondition());
770 feeder.accept(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0(), semanticObject.getBody());
461 feeder.finish(); 771 feeder.finish();
462 } 772 }
463 773
464 774
465 /** 775 /**
466 * Contexts: 776 * Contexts:
467 * Symbol returns IntegerSymbol 777 * AssertionOrDefinition.Assertion_1_0_0 returns EmptyIntervalLiteral
468 * DataSymbol returns IntegerSymbol 778 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns EmptyIntervalLiteral
469 * IntegerSymbol returns IntegerSymbol 779 * AssertionOrDefinition.MetricDefinition_1_2_0 returns EmptyIntervalLiteral
780 * Expression returns EmptyIntervalLiteral
781 * DisjunctiveExpression returns EmptyIntervalLiteral
782 * DisjunctiveExpression.Disjunction_1_0_0 returns EmptyIntervalLiteral
783 * DisjunctiveExpression.Case_1_1_0 returns EmptyIntervalLiteral
784 * ConjunctiveExpression returns EmptyIntervalLiteral
785 * ConjunctiveExpression.Conjunction_1_0 returns EmptyIntervalLiteral
786 * ComparisonExpression returns EmptyIntervalLiteral
787 * ComparisonExpression.Comparison_1_0 returns EmptyIntervalLiteral
788 * AdditiveExpression returns EmptyIntervalLiteral
789 * AdditiveExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral
790 * MultiplicativeExpression returns EmptyIntervalLiteral
791 * MultiplicativeExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral
792 * ExponentialExpression returns EmptyIntervalLiteral
793 * ExponentialExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral
794 * UnaryExpression returns EmptyIntervalLiteral
795 * AggregationExpression returns EmptyIntervalLiteral
796 * AtomicExpression returns EmptyIntervalLiteral
797 * Literal returns EmptyIntervalLiteral
798 * EmptyIntervalLiteral returns EmptyIntervalLiteral
470 * 799 *
471 * Constraint: 800 * Constraint:
472 * {IntegerSymbol} 801 * {EmptyIntervalLiteral}
473 */ 802 */
474 protected void sequence_IntegerSymbol(ISerializationContext context, IntegerSymbol semanticObject) { 803 protected void sequence_EmptyIntervalLiteral(ISerializationContext context, EmptyIntervalLiteral semanticObject) {
475 genericSequencer.createSequence(context, semanticObject); 804 genericSequencer.createSequence(context, semanticObject);
476 } 805 }
477 806
478 807
479 /** 808 /**
480 * Contexts: 809 * Contexts:
481 * Symbol returns ModelSymbol 810 * Multiplicity returns ExactMultiplicity
482 * ModelSymbol returns ModelSymbol 811 * ExactMultiplicity returns ExactMultiplicity
483 * 812 *
484 * Constraint: 813 * Constraint:
485 * name=ID 814 * multiplicity=UpperMultiplicty
486 */ 815 */
487 protected void sequence_ModelSymbol(ISerializationContext context, ModelSymbol semanticObject) { 816 protected void sequence_ExactMultiplicity(ISerializationContext context, ExactMultiplicity semanticObject) {
488 if (errorAcceptor != null) { 817 if (errorAcceptor != null) {
489 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.MODEL_SYMBOL__NAME) == ValueTransient.YES) 818 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXACT_MULTIPLICITY__MULTIPLICITY) == ValueTransient.YES)
490 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.MODEL_SYMBOL__NAME)); 819 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXACT_MULTIPLICITY__MULTIPLICITY));
491 } 820 }
492 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 821 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
493 feeder.accept(grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName()); 822 feeder.accept(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0(), semanticObject.getMultiplicity());
494 feeder.finish(); 823 feeder.finish();
495 } 824 }
496 825
497 826
498 /** 827 /**
499 * Contexts: 828 * Contexts:
500 * MultiplicityDefinition returns MultiplicityDefinition 829 * Statement returns ExactScopeDefinition
830 * ScopeDefinition returns ExactScopeDefinition
831 * ExactScopeDefinition returns ExactScopeDefinition
501 * 832 *
502 * Constraint: 833 * Constraint:
503 * (lower=INT (upper=INT | unlimitedUpper?='*')) 834 * (type=[NamedElement|QualifiedName] exactScope=INT)
504 */ 835 */
505 protected void sequence_MultiplicityDefinition(ISerializationContext context, MultiplicityDefinition semanticObject) { 836 protected void sequence_ExactScopeDefinition(ISerializationContext context, ExactScopeDefinition semanticObject) {
506 genericSequencer.createSequence(context, semanticObject); 837 if (errorAcceptor != null) {
838 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.SCOPE_DEFINITION__TYPE) == ValueTransient.YES)
839 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.SCOPE_DEFINITION__TYPE));
840 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXACT_SCOPE_DEFINITION__EXACT_SCOPE) == ValueTransient.YES)
841 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXACT_SCOPE_DEFINITION__EXACT_SCOPE));
842 }
843 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
844 feeder.accept(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.SCOPE_DEFINITION__TYPE, false));
845 feeder.accept(grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0(), semanticObject.getExactScope());
846 feeder.finish();
507 } 847 }
508 848
509 849
510 /** 850 /**
511 * Contexts: 851 * Contexts:
512 * ComplexObject returns NamedObject 852 * Argument returns ExpressionArgument
513 * Object returns NamedObject 853 * ExpressionArgument returns ExpressionArgument
514 * NamedObject returns NamedObject
515 * Literal returns NamedObject
516 * 854 *
517 * Constraint: 855 * Constraint:
518 * name=ID 856 * body=ComparisonExpression
519 */ 857 */
520 protected void sequence_NamedObject(ISerializationContext context, NamedObject semanticObject) { 858 protected void sequence_ExpressionArgument(ISerializationContext context, ExpressionArgument semanticObject) {
521 if (errorAcceptor != null) { 859 if (errorAcceptor != null) {
522 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.NAMED_OBJECT__NAME) == ValueTransient.YES) 860 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT__BODY) == ValueTransient.YES)
523 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.NAMED_OBJECT__NAME)); 861 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT__BODY));
524 } 862 }
525 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 863 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
526 feeder.accept(grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName()); 864 feeder.accept(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0(), semanticObject.getBody());
527 feeder.finish(); 865 feeder.finish();
528 } 866 }
529 867
530 868
531 /** 869 /**
532 * Contexts: 870 * Contexts:
533 * Parameter returns Parameter 871 * Statement returns ExternMetricDefinition
872 * ExternMetricDefinition returns ExternMetricDefinition
534 * 873 *
535 * Constraint: 874 * Constraint:
536 * (variable=Variable type=Symbol?) 875 * (type=MetricType head=Call)
537 */ 876 */
538 protected void sequence_Parameter(ISerializationContext context, org.eclipse.viatra.solver.language.solverLanguage.Parameter semanticObject) { 877 protected void sequence_ExternMetricDefinition(ISerializationContext context, ExternMetricDefinition semanticObject) {
539 genericSequencer.createSequence(context, semanticObject); 878 if (errorAcceptor != null) {
879 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE) == ValueTransient.YES)
880 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE));
881 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__HEAD) == ValueTransient.YES)
882 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__HEAD));
883 }
884 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
885 feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0(), semanticObject.getType());
886 feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0(), semanticObject.getHead());
887 feeder.finish();
540 } 888 }
541 889
542 890
543 /** 891 /**
544 * Contexts: 892 * Contexts:
545 * PatternBody returns PatternBody 893 * Statement returns ExternPredicateDefinition
894 * ExternPredicateDefinition returns ExternPredicateDefinition
546 * 895 *
547 * Constraint: 896 * Constraint:
548 * constraints+=Constraint* 897 * head=Call
549 */ 898 */
550 protected void sequence_PatternBody(ISerializationContext context, PatternBody semanticObject) { 899 protected void sequence_ExternPredicateDefinition(ISerializationContext context, ExternPredicateDefinition semanticObject) {
551 genericSequencer.createSequence(context, semanticObject); 900 if (errorAcceptor != null) {
901 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__HEAD) == ValueTransient.YES)
902 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__HEAD));
903 }
904 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
905 feeder.accept(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0(), semanticObject.getHead());
906 feeder.finish();
907 }
908
909
910 /**
911 * Contexts:
912 * AssertionOrDefinition.Assertion_1_0_0 returns IfElse
913 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns IfElse
914 * AssertionOrDefinition.MetricDefinition_1_2_0 returns IfElse
915 * Expression returns IfElse
916 * IfElse returns IfElse
917 * DisjunctiveExpression returns IfElse
918 * DisjunctiveExpression.Disjunction_1_0_0 returns IfElse
919 * DisjunctiveExpression.Case_1_1_0 returns IfElse
920 * ConjunctiveExpression returns IfElse
921 * ConjunctiveExpression.Conjunction_1_0 returns IfElse
922 * ComparisonExpression returns IfElse
923 * ComparisonExpression.Comparison_1_0 returns IfElse
924 * AdditiveExpression returns IfElse
925 * AdditiveExpression.BinaryExpression_1_0 returns IfElse
926 * MultiplicativeExpression returns IfElse
927 * MultiplicativeExpression.BinaryExpression_1_0 returns IfElse
928 * ExponentialExpression returns IfElse
929 * ExponentialExpression.BinaryExpression_1_0 returns IfElse
930 * UnaryExpression returns IfElse
931 * AggregationExpression returns IfElse
932 * AtomicExpression returns IfElse
933 *
934 * Constraint:
935 * (condition=Expression then=Expression else=Expression)
936 */
937 protected void sequence_IfElse(ISerializationContext context, IfElse semanticObject) {
938 if (errorAcceptor != null) {
939 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__CONDITION) == ValueTransient.YES)
940 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__CONDITION));
941 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__THEN) == ValueTransient.YES)
942 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__THEN));
943 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__ELSE) == ValueTransient.YES)
944 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__ELSE));
945 }
946 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
947 feeder.accept(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0(), semanticObject.getCondition());
948 feeder.accept(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0(), semanticObject.getThen());
949 feeder.accept(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0(), semanticObject.getElse());
950 feeder.finish();
552 } 951 }
553 952
554 953
555 /** 954 /**
556 * Contexts: 955 * Contexts:
557 * Polarity returns Negative 956 * AssertionOrDefinition.Assertion_1_0_0 returns InfinityLiteral
957 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns InfinityLiteral
958 * AssertionOrDefinition.MetricDefinition_1_2_0 returns InfinityLiteral
959 * Expression returns InfinityLiteral
960 * DisjunctiveExpression returns InfinityLiteral
961 * DisjunctiveExpression.Disjunction_1_0_0 returns InfinityLiteral
962 * DisjunctiveExpression.Case_1_1_0 returns InfinityLiteral
963 * ConjunctiveExpression returns InfinityLiteral
964 * ConjunctiveExpression.Conjunction_1_0 returns InfinityLiteral
965 * ComparisonExpression returns InfinityLiteral
966 * ComparisonExpression.Comparison_1_0 returns InfinityLiteral
967 * AdditiveExpression returns InfinityLiteral
968 * AdditiveExpression.BinaryExpression_1_0 returns InfinityLiteral
969 * MultiplicativeExpression returns InfinityLiteral
970 * MultiplicativeExpression.BinaryExpression_1_0 returns InfinityLiteral
971 * ExponentialExpression returns InfinityLiteral
972 * ExponentialExpression.BinaryExpression_1_0 returns InfinityLiteral
973 * UnaryExpression returns InfinityLiteral
974 * AggregationExpression returns InfinityLiteral
975 * AtomicExpression returns InfinityLiteral
976 * Literal returns InfinityLiteral
977 * InfinityLiteral returns InfinityLiteral
558 * 978 *
559 * Constraint: 979 * Constraint:
560 * {Negative} 980 * {InfinityLiteral}
561 */ 981 */
562 protected void sequence_Polarity(ISerializationContext context, Negative semanticObject) { 982 protected void sequence_InfinityLiteral(ISerializationContext context, InfinityLiteral semanticObject) {
563 genericSequencer.createSequence(context, semanticObject); 983 genericSequencer.createSequence(context, semanticObject);
564 } 984 }
565 985
566 986
567 /** 987 /**
568 * Contexts: 988 * Contexts:
569 * Polarity returns Positive 989 * AssertionOrDefinition.Assertion_1_0_0 returns Interval
990 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Interval
991 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Interval
992 * Expression returns Interval
993 * DisjunctiveExpression returns Interval
994 * DisjunctiveExpression.Disjunction_1_0_0 returns Interval
995 * DisjunctiveExpression.Case_1_1_0 returns Interval
996 * ConjunctiveExpression returns Interval
997 * ConjunctiveExpression.Conjunction_1_0 returns Interval
998 * ComparisonExpression returns Interval
999 * ComparisonExpression.Comparison_1_0 returns Interval
1000 * AdditiveExpression returns Interval
1001 * AdditiveExpression.BinaryExpression_1_0 returns Interval
1002 * MultiplicativeExpression returns Interval
1003 * MultiplicativeExpression.BinaryExpression_1_0 returns Interval
1004 * ExponentialExpression returns Interval
1005 * ExponentialExpression.BinaryExpression_1_0 returns Interval
1006 * UnaryExpression returns Interval
1007 * AggregationExpression returns Interval
1008 * AtomicExpression returns Interval
1009 * Interval returns Interval
1010 *
1011 * Constraint:
1012 * (lowerBound=Expression upperBound=Expression)
1013 */
1014 protected void sequence_Interval(ISerializationContext context, Interval semanticObject) {
1015 if (errorAcceptor != null) {
1016 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.INTERVAL__LOWER_BOUND) == ValueTransient.YES)
1017 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INTERVAL__LOWER_BOUND));
1018 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.INTERVAL__UPPER_BOUND) == ValueTransient.YES)
1019 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INTERVAL__UPPER_BOUND));
1020 }
1021 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1022 feeder.accept(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0(), semanticObject.getLowerBound());
1023 feeder.accept(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0(), semanticObject.getUpperBound());
1024 feeder.finish();
1025 }
1026
1027
1028 /**
1029 * Contexts:
1030 * AssertionOrDefinition.Assertion_1_0_0 returns LogicLiteral
1031 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns LogicLiteral
1032 * AssertionOrDefinition.MetricDefinition_1_2_0 returns LogicLiteral
1033 * Expression returns LogicLiteral
1034 * DisjunctiveExpression returns LogicLiteral
1035 * DisjunctiveExpression.Disjunction_1_0_0 returns LogicLiteral
1036 * DisjunctiveExpression.Case_1_1_0 returns LogicLiteral
1037 * ConjunctiveExpression returns LogicLiteral
1038 * ConjunctiveExpression.Conjunction_1_0 returns LogicLiteral
1039 * ComparisonExpression returns LogicLiteral
1040 * ComparisonExpression.Comparison_1_0 returns LogicLiteral
1041 * AdditiveExpression returns LogicLiteral
1042 * AdditiveExpression.BinaryExpression_1_0 returns LogicLiteral
1043 * MultiplicativeExpression returns LogicLiteral
1044 * MultiplicativeExpression.BinaryExpression_1_0 returns LogicLiteral
1045 * ExponentialExpression returns LogicLiteral
1046 * ExponentialExpression.BinaryExpression_1_0 returns LogicLiteral
1047 * UnaryExpression returns LogicLiteral
1048 * AggregationExpression returns LogicLiteral
1049 * AtomicExpression returns LogicLiteral
1050 * Literal returns LogicLiteral
1051 * LogicLiteral returns LogicLiteral
570 * 1052 *
571 * Constraint: 1053 * Constraint:
572 * {Positive} 1054 * value=LogicValue
573 */ 1055 */
574 protected void sequence_Polarity(ISerializationContext context, Positive semanticObject) { 1056 protected void sequence_LogicLiteral(ISerializationContext context, LogicLiteral semanticObject) {
1057 if (errorAcceptor != null) {
1058 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.LOGIC_LITERAL__VALUE) == ValueTransient.YES)
1059 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.LOGIC_LITERAL__VALUE));
1060 }
1061 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1062 feeder.accept(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0(), semanticObject.getValue());
1063 feeder.finish();
1064 }
1065
1066
1067 /**
1068 * Contexts:
1069 * Statement returns LowerBoundedScopeDefinition
1070 * ScopeDefinition returns LowerBoundedScopeDefinition
1071 * LowerBoundedScopeDefinition returns LowerBoundedScopeDefinition
1072 *
1073 * Constraint:
1074 * ((lowerBound=INT type=[NamedElement|QualifiedName]) | (type=[NamedElement|QualifiedName] lowerBound=INT))
1075 */
1076 protected void sequence_LowerBoundedScopeDefinition(ISerializationContext context, LowerBoundedScopeDefinition semanticObject) {
575 genericSequencer.createSequence(context, semanticObject); 1077 genericSequencer.createSequence(context, semanticObject);
576 } 1078 }
577 1079
578 1080
579 /** 1081 /**
580 * Contexts: 1082 * Contexts:
581 * Statement returns Predicate 1083 * Multiplicity returns ManyMultiplicity
582 * Predicate returns Predicate 1084 * ManyMultiplicity returns ManyMultiplicity
583 * 1085 *
584 * Constraint: 1086 * Constraint:
585 * (isError?='error'? symbol=ModelSymbol (parameters+=Parameter parameters+=Parameter*)? (bodies+=PatternBody bodies+=PatternBody*)?) 1087 * {ManyMultiplicity}
586 */ 1088 */
587 protected void sequence_Predicate(ISerializationContext context, Predicate semanticObject) { 1089 protected void sequence_ManyMultiplicity(ISerializationContext context, ManyMultiplicity semanticObject) {
588 genericSequencer.createSequence(context, semanticObject); 1090 genericSequencer.createSequence(context, semanticObject);
589 } 1091 }
590 1092
591 1093
592 /** 1094 /**
593 * Contexts: 1095 * Contexts:
594 * Problem returns Problem 1096 * MemberDefinition returns MemberDefinition
595 * 1097 *
596 * Constraint: 1098 * Constraint:
597 * statements+=Statement+ 1099 * (containment?='contains'? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID opposite=[NamedElement|QualifiedName]?)
598 */ 1100 */
599 protected void sequence_Problem(ISerializationContext context, Problem semanticObject) { 1101 protected void sequence_MemberDefinition(ISerializationContext context, MemberDefinition semanticObject) {
600 genericSequencer.createSequence(context, semanticObject); 1102 genericSequencer.createSequence(context, semanticObject);
601 } 1103 }
602 1104
603 1105
604 /** 1106 /**
605 * Contexts: 1107 * Contexts:
606 * ComplexObject returns RealObject 1108 * MetricDefinition returns MetricDefinition
607 * Object returns RealObject
608 * DataObject returns RealObject
609 * RealObject returns RealObject
610 * Literal returns RealObject
611 * 1109 *
612 * Constraint: 1110 * Constraint:
613 * value=REALLiteral 1111 * (type=MetricType head=Expression body=Expression)
614 */ 1112 */
615 protected void sequence_RealObject(ISerializationContext context, RealObject semanticObject) { 1113 protected void sequence_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) {
616 if (errorAcceptor != null) { 1114 if (errorAcceptor != null) {
617 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.REAL_OBJECT__VALUE) == ValueTransient.YES) 1115 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__TYPE) == ValueTransient.YES)
618 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.REAL_OBJECT__VALUE)); 1116 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__TYPE));
1117 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__HEAD) == ValueTransient.YES)
1118 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__HEAD));
1119 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY) == ValueTransient.YES)
1120 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY));
619 } 1121 }
620 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 1122 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
621 feeder.accept(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0(), semanticObject.getValue()); 1123 feeder.accept(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0(), semanticObject.getType());
1124 feeder.accept(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0(), semanticObject.getHead());
1125 feeder.accept(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0(), semanticObject.getBody());
622 feeder.finish(); 1126 feeder.finish();
623 } 1127 }
624 1128
625 1129
626 /** 1130 /**
627 * Contexts: 1131 * Contexts:
628 * Symbol returns RealSymbol 1132 * NamedElement returns NamedElement
629 * DataSymbol returns RealSymbol
630 * RealSymbol returns RealSymbol
631 * 1133 *
632 * Constraint: 1134 * Constraint:
633 * {RealSymbol} 1135 * name=QualifiedName
634 */ 1136 */
635 protected void sequence_RealSymbol(ISerializationContext context, RealSymbol semanticObject) { 1137 protected void sequence_NamedElement(ISerializationContext context, NamedElement semanticObject) {
636 genericSequencer.createSequence(context, semanticObject); 1138 if (errorAcceptor != null) {
1139 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.NAMED_ELEMENT__NAME) == ValueTransient.YES)
1140 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.NAMED_ELEMENT__NAME));
1141 }
1142 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1143 feeder.accept(grammarAccess.getNamedElementAccess().getNameQualifiedNameParserRuleCall_0(), semanticObject.getName());
1144 feeder.finish();
637 } 1145 }
638 1146
639 1147
640 /** 1148 /**
641 * Contexts: 1149 * Contexts:
642 * ComplexObject returns StringObject 1150 * AssertionOrDefinition.Assertion_1_0_0 returns NumericLiteral
643 * Object returns StringObject 1151 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns NumericLiteral
644 * DataObject returns StringObject 1152 * AssertionOrDefinition.MetricDefinition_1_2_0 returns NumericLiteral
645 * StringObject returns StringObject 1153 * Expression returns NumericLiteral
646 * Literal returns StringObject 1154 * DisjunctiveExpression returns NumericLiteral
1155 * DisjunctiveExpression.Disjunction_1_0_0 returns NumericLiteral
1156 * DisjunctiveExpression.Case_1_1_0 returns NumericLiteral
1157 * ConjunctiveExpression returns NumericLiteral
1158 * ConjunctiveExpression.Conjunction_1_0 returns NumericLiteral
1159 * ComparisonExpression returns NumericLiteral
1160 * ComparisonExpression.Comparison_1_0 returns NumericLiteral
1161 * AdditiveExpression returns NumericLiteral
1162 * AdditiveExpression.BinaryExpression_1_0 returns NumericLiteral
1163 * MultiplicativeExpression returns NumericLiteral
1164 * MultiplicativeExpression.BinaryExpression_1_0 returns NumericLiteral
1165 * ExponentialExpression returns NumericLiteral
1166 * ExponentialExpression.BinaryExpression_1_0 returns NumericLiteral
1167 * UnaryExpression returns NumericLiteral
1168 * AggregationExpression returns NumericLiteral
1169 * AtomicExpression returns NumericLiteral
1170 * Literal returns NumericLiteral
1171 * NumericLiteral returns NumericLiteral
647 * 1172 *
648 * Constraint: 1173 * Constraint:
649 * value=STRING 1174 * value=Real
650 */ 1175 */
651 protected void sequence_StringObject(ISerializationContext context, StringObject semanticObject) { 1176 protected void sequence_NumericLiteral(ISerializationContext context, NumericLiteral semanticObject) {
652 if (errorAcceptor != null) { 1177 if (errorAcceptor != null) {
653 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.STRING_OBJECT__VALUE) == ValueTransient.YES) 1178 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.NUMERIC_LITERAL__VALUE) == ValueTransient.YES)
654 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.STRING_OBJECT__VALUE)); 1179 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.NUMERIC_LITERAL__VALUE));
655 } 1180 }
656 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 1181 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
657 feeder.accept(grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0(), semanticObject.getValue()); 1182 feeder.accept(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0(), semanticObject.getValue());
658 feeder.finish(); 1183 feeder.finish();
659 } 1184 }
660 1185
661 1186
662 /** 1187 /**
663 * Contexts: 1188 * Contexts:
664 * Symbol returns StringSymbol 1189 * Statement returns ObjectiveDefinition
665 * DataSymbol returns StringSymbol 1190 * ObjectiveDefinition returns ObjectiveDefinition
666 * StringSymbol returns StringSymbol
667 * 1191 *
668 * Constraint: 1192 * Constraint:
669 * {StringSymbol} 1193 * (kind=ObjectiveKind objective=Expression)
670 */ 1194 */
671 protected void sequence_StringSymbol(ISerializationContext context, StringSymbol semanticObject) { 1195 protected void sequence_ObjectiveDefinition(ISerializationContext context, ObjectiveDefinition semanticObject) {
672 genericSequencer.createSequence(context, semanticObject); 1196 if (errorAcceptor != null) {
1197 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION__KIND) == ValueTransient.YES)
1198 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION__KIND));
1199 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION__OBJECTIVE) == ValueTransient.YES)
1200 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION__OBJECTIVE));
1201 }
1202 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1203 feeder.accept(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0(), semanticObject.getKind());
1204 feeder.accept(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0(), semanticObject.getObjective());
1205 feeder.finish();
673 } 1206 }
674 1207
675 1208
676 /** 1209 /**
677 * Contexts: 1210 * Contexts:
678 * TruthValue returns Error 1211 * PredicateDefinition returns PredicateDefinition
679 * 1212 *
680 * Constraint: 1213 * Constraint:
681 * {Error} 1214 * (((functional?='functional' error?='error'?) | (error?='error' functional?='functional'?)) head=Call body=Expression)
682 */ 1215 */
683 protected void sequence_TruthValue(ISerializationContext context, org.eclipse.viatra.solver.language.solverLanguage.Error semanticObject) { 1216 protected void sequence_PredicateDefinition(ISerializationContext context, PredicateDefinition semanticObject) {
684 genericSequencer.createSequence(context, semanticObject); 1217 genericSequencer.createSequence(context, semanticObject);
685 } 1218 }
686 1219
687 1220
688 /** 1221 /**
689 * Contexts: 1222 * Contexts:
690 * TruthValue returns False 1223 * Problem returns Problem
691 * 1224 *
692 * Constraint: 1225 * Constraint:
693 * {False} 1226 * statements+=Statement+
694 */ 1227 */
695 protected void sequence_TruthValue(ISerializationContext context, False semanticObject) { 1228 protected void sequence_Problem(ISerializationContext context, Problem semanticObject) {
696 genericSequencer.createSequence(context, semanticObject); 1229 genericSequencer.createSequence(context, semanticObject);
697 } 1230 }
698 1231
699 1232
700 /** 1233 /**
701 * Contexts: 1234 * Contexts:
702 * TruthValue returns True 1235 * AssertionOrDefinition.Assertion_1_0_0 returns Reference
1236 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Reference
1237 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Reference
1238 * Expression returns Reference
1239 * DisjunctiveExpression returns Reference
1240 * DisjunctiveExpression.Disjunction_1_0_0 returns Reference
1241 * DisjunctiveExpression.Case_1_1_0 returns Reference
1242 * ConjunctiveExpression returns Reference
1243 * ConjunctiveExpression.Conjunction_1_0 returns Reference
1244 * ComparisonExpression returns Reference
1245 * ComparisonExpression.Comparison_1_0 returns Reference
1246 * AdditiveExpression returns Reference
1247 * AdditiveExpression.BinaryExpression_1_0 returns Reference
1248 * MultiplicativeExpression returns Reference
1249 * MultiplicativeExpression.BinaryExpression_1_0 returns Reference
1250 * ExponentialExpression returns Reference
1251 * ExponentialExpression.BinaryExpression_1_0 returns Reference
1252 * UnaryExpression returns Reference
1253 * AggregationExpression returns Reference
1254 * AtomicExpression returns Reference
1255 * AtomicExpression.Call_0_1_0 returns Reference
1256 * Reference returns Reference
703 * 1257 *
704 * Constraint: 1258 * Constraint:
705 * {True} 1259 * referred=[NamedElement|QualifiedName]
706 */ 1260 */
707 protected void sequence_TruthValue(ISerializationContext context, True semanticObject) { 1261 protected void sequence_Reference(ISerializationContext context, Reference semanticObject) {
708 genericSequencer.createSequence(context, semanticObject); 1262 if (errorAcceptor != null) {
1263 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.REFERENCE__REFERRED) == ValueTransient.YES)
1264 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.REFERENCE__REFERRED));
1265 }
1266 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1267 feeder.accept(grammarAccess.getReferenceAccess().getReferredNamedElementQualifiedNameParserRuleCall_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.REFERENCE__REFERRED, false));
1268 feeder.finish();
709 } 1269 }
710 1270
711 1271
712 /** 1272 /**
713 * Contexts: 1273 * Contexts:
714 * TruthValue returns Unknown 1274 * Argument returns StarArgument
1275 * StarArgument returns StarArgument
715 * 1276 *
716 * Constraint: 1277 * Constraint:
717 * {Unknown} 1278 * {StarArgument}
718 */ 1279 */
719 protected void sequence_TruthValue(ISerializationContext context, Unknown semanticObject) { 1280 protected void sequence_StarArgument(ISerializationContext context, StarArgument semanticObject) {
720 genericSequencer.createSequence(context, semanticObject); 1281 genericSequencer.createSequence(context, semanticObject);
721 } 1282 }
722 1283
723 1284
724 /** 1285 /**
725 * Contexts: 1286 * Contexts:
726 * ComplexObject returns UnnamedObject 1287 * AssertionOrDefinition.Assertion_1_0_0 returns StringLiteral
727 * Object returns UnnamedObject 1288 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns StringLiteral
728 * UnnamedObject returns UnnamedObject 1289 * AssertionOrDefinition.MetricDefinition_1_2_0 returns StringLiteral
1290 * Expression returns StringLiteral
1291 * DisjunctiveExpression returns StringLiteral
1292 * DisjunctiveExpression.Disjunction_1_0_0 returns StringLiteral
1293 * DisjunctiveExpression.Case_1_1_0 returns StringLiteral
1294 * ConjunctiveExpression returns StringLiteral
1295 * ConjunctiveExpression.Conjunction_1_0 returns StringLiteral
1296 * ComparisonExpression returns StringLiteral
1297 * ComparisonExpression.Comparison_1_0 returns StringLiteral
1298 * AdditiveExpression returns StringLiteral
1299 * AdditiveExpression.BinaryExpression_1_0 returns StringLiteral
1300 * MultiplicativeExpression returns StringLiteral
1301 * MultiplicativeExpression.BinaryExpression_1_0 returns StringLiteral
1302 * ExponentialExpression returns StringLiteral
1303 * ExponentialExpression.BinaryExpression_1_0 returns StringLiteral
1304 * UnaryExpression returns StringLiteral
1305 * AggregationExpression returns StringLiteral
1306 * AtomicExpression returns StringLiteral
1307 * Literal returns StringLiteral
1308 * StringLiteral returns StringLiteral
1309 *
1310 * Constraint:
1311 * value=STRING
1312 */
1313 protected void sequence_StringLiteral(ISerializationContext context, StringLiteral semanticObject) {
1314 if (errorAcceptor != null) {
1315 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.STRING_LITERAL__VALUE) == ValueTransient.YES)
1316 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.STRING_LITERAL__VALUE));
1317 }
1318 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1319 feeder.accept(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0(), semanticObject.getValue());
1320 feeder.finish();
1321 }
1322
1323
1324 /**
1325 * Contexts:
1326 * Argument returns TypedArgument
1327 * TypedArgument returns TypedArgument
1328 *
1329 * Constraint:
1330 * (type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName])
1331 */
1332 protected void sequence_TypedArgument(ISerializationContext context, TypedArgument semanticObject) {
1333 if (errorAcceptor != null) {
1334 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE) == ValueTransient.YES)
1335 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE));
1336 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__VARIABLE) == ValueTransient.YES)
1337 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__VARIABLE));
1338 }
1339 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1340 feeder.accept(grammarAccess.getTypedArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE, false));
1341 feeder.accept(grammarAccess.getTypedArgumentAccess().getVariableNamedElementQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.TYPED_ARGUMENT__VARIABLE, false));
1342 feeder.finish();
1343 }
1344
1345
1346 /**
1347 * Contexts:
1348 * Argument returns TypedStarArgument
1349 * TypedStarArgument returns TypedStarArgument
1350 *
1351 * Constraint:
1352 * type=[NamedElement|QualifiedName]
1353 */
1354 protected void sequence_TypedStarArgument(ISerializationContext context, TypedStarArgument semanticObject) {
1355 if (errorAcceptor != null) {
1356 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT__TYPE) == ValueTransient.YES)
1357 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT__TYPE));
1358 }
1359 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1360 feeder.accept(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT__TYPE, false));
1361 feeder.finish();
1362 }
1363
1364
1365 /**
1366 * Contexts:
1367 * AssertionOrDefinition.Assertion_1_0_0 returns UnaryExpression
1368 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns UnaryExpression
1369 * AssertionOrDefinition.MetricDefinition_1_2_0 returns UnaryExpression
1370 * Expression returns UnaryExpression
1371 * DisjunctiveExpression returns UnaryExpression
1372 * DisjunctiveExpression.Disjunction_1_0_0 returns UnaryExpression
1373 * DisjunctiveExpression.Case_1_1_0 returns UnaryExpression
1374 * ConjunctiveExpression returns UnaryExpression
1375 * ConjunctiveExpression.Conjunction_1_0 returns UnaryExpression
1376 * ComparisonExpression returns UnaryExpression
1377 * ComparisonExpression.Comparison_1_0 returns UnaryExpression
1378 * AdditiveExpression returns UnaryExpression
1379 * AdditiveExpression.BinaryExpression_1_0 returns UnaryExpression
1380 * MultiplicativeExpression returns UnaryExpression
1381 * MultiplicativeExpression.BinaryExpression_1_0 returns UnaryExpression
1382 * ExponentialExpression returns UnaryExpression
1383 * ExponentialExpression.BinaryExpression_1_0 returns UnaryExpression
1384 * UnaryExpression returns UnaryExpression
1385 * AggregationExpression returns UnaryExpression
1386 * AtomicExpression returns UnaryExpression
729 * 1387 *
730 * Constraint: 1388 * Constraint:
731 * name=ID 1389 * (op=UnaryOp body=AggregationExpression)
732 */ 1390 */
733 protected void sequence_UnnamedObject(ISerializationContext context, UnnamedObject semanticObject) { 1391 protected void sequence_UnaryExpression(ISerializationContext context, UnaryExpression semanticObject) {
734 if (errorAcceptor != null) { 1392 if (errorAcceptor != null) {
735 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNNAMED_OBJECT__NAME) == ValueTransient.YES) 1393 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNARY_EXPRESSION__OP) == ValueTransient.YES)
736 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNNAMED_OBJECT__NAME)); 1394 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNARY_EXPRESSION__OP));
1395 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNARY_EXPRESSION__BODY) == ValueTransient.YES)
1396 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNARY_EXPRESSION__BODY));
737 } 1397 }
738 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 1398 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
739 feeder.accept(grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName()); 1399 feeder.accept(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0(), semanticObject.getOp());
1400 feeder.accept(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0(), semanticObject.getBody());
740 feeder.finish(); 1401 feeder.finish();
741 } 1402 }
742 1403
743 1404
744 /** 1405 /**
745 * Contexts: 1406 * Contexts:
746 * Literal returns Variable 1407 * Statement returns UnnamedErrorPrediateDefinition
747 * Variable returns Variable 1408 * UnnamedErrorPrediateDefinition returns UnnamedErrorPrediateDefinition
748 * 1409 *
749 * Constraint: 1410 * Constraint:
750 * name=ID 1411 * (argumentList=ArgumentList body=Expression)
751 */ 1412 */
752 protected void sequence_Variable(ISerializationContext context, Variable semanticObject) { 1413 protected void sequence_UnnamedErrorPrediateDefinition(ISerializationContext context, UnnamedErrorPrediateDefinition semanticObject) {
753 if (errorAcceptor != null) { 1414 if (errorAcceptor != null) {
754 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.VARIABLE__NAME) == ValueTransient.YES) 1415 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST) == ValueTransient.YES)
755 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.VARIABLE__NAME)); 1416 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST));
1417 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY) == ValueTransient.YES)
1418 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY));
756 } 1419 }
757 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 1420 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
758 feeder.accept(grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName()); 1421 feeder.accept(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0(), semanticObject.getArgumentList());
1422 feeder.accept(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0(), semanticObject.getBody());
759 feeder.finish(); 1423 feeder.finish();
760 } 1424 }
761 1425
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 8a2d6f62..861f2125 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
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.serializer; 4package org.eclipse.viatra.solver.language.serializer;
5 5
@@ -11,7 +11,6 @@ import org.eclipse.xtext.IGrammarAccess;
11import org.eclipse.xtext.RuleCall; 11import org.eclipse.xtext.RuleCall;
12import org.eclipse.xtext.nodemodel.INode; 12import org.eclipse.xtext.nodemodel.INode;
13import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias; 13import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias;
14import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias;
15import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias; 14import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
16import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable; 15import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
17import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition; 16import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
@@ -21,25 +20,58 @@ import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
21public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer { 20public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer {
22 21
23 protected SolverLanguageGrammarAccess grammarAccess; 22 protected SolverLanguageGrammarAccess grammarAccess;
24 protected AbstractElementAlias match_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q; 23 protected AbstractElementAlias match_AtomicExpression_LeftParenthesisKeyword_3_0_a;
25 protected AbstractElementAlias match_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q; 24 protected AbstractElementAlias match_AtomicExpression_LeftParenthesisKeyword_3_0_p;
26 protected AbstractElementAlias match_PatternBody_TrueKeyword_1_0_q; 25 protected AbstractElementAlias match_MemberDefinition_SemicolonKeyword_5_q;
27 protected AbstractElementAlias match_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q;
28 26
29 @Inject 27 @Inject
30 protected void init(IGrammarAccess access) { 28 protected void init(IGrammarAccess access) {
31 grammarAccess = (SolverLanguageGrammarAccess) access; 29 grammarAccess = (SolverLanguageGrammarAccess) access;
32 match_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()), new TokenAlias(false, false, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2())); 30 match_AtomicExpression_LeftParenthesisKeyword_3_0_a = new TokenAlias(true, true, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0());
33 match_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()), new TokenAlias(false, false, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3())); 31 match_AtomicExpression_LeftParenthesisKeyword_3_0_p = new TokenAlias(true, false, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0());
34 match_PatternBody_TrueKeyword_1_0_q = new TokenAlias(false, true, grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); 32 match_MemberDefinition_SemicolonKeyword_5_q = new TokenAlias(false, true, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5());
35 match_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()), new TokenAlias(false, false, grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2()));
36 } 33 }
37 34
38 @Override 35 @Override
39 protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) { 36 protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) {
37 if (ruleCall.getRule() == grammarAccess.getDOTRule())
38 return getDOTToken(semanticObject, ruleCall, node);
39 else if (ruleCall.getRule() == grammarAccess.getPLUSRule())
40 return getPLUSToken(semanticObject, ruleCall, node);
41 else if (ruleCall.getRule() == grammarAccess.getSTARRule())
42 return getSTARToken(semanticObject, ruleCall, node);
40 return ""; 43 return "";
41 } 44 }
42 45
46 /**
47 * terminal DOT:
48 * "synthetic::dot";
49 */
50 protected String getDOTToken(EObject semanticObject, RuleCall ruleCall, INode node) {
51 if (node != null)
52 return getTokenText(node);
53 return "synthetic::dot";
54 }
55
56 /**
57 * terminal PLUS:
58 * "synthetic::plus";
59 */
60 protected String getPLUSToken(EObject semanticObject, RuleCall ruleCall, INode node) {
61 if (node != null)
62 return getTokenText(node);
63 return "synthetic::plus";
64 }
65
66 /**
67 * terminal STAR:
68 * "synthetic::star";
69 */
70 protected String getSTARToken(EObject semanticObject, RuleCall ruleCall, INode node) {
71 if (node != null)
72 return getTokenText(node);
73 return "synthetic::star";
74 }
43 75
44 @Override 76 @Override
45 protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) { 77 protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
@@ -47,60 +79,71 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer
47 List<INode> transitionNodes = collectNodes(fromNode, toNode); 79 List<INode> transitionNodes = collectNodes(fromNode, toNode);
48 for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) { 80 for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
49 List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax); 81 List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
50 if (match_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q.equals(syntax)) 82 if (match_AtomicExpression_LeftParenthesisKeyword_3_0_a.equals(syntax))
51 emit_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q(semanticObject, getLastNavigableState(), syntaxNodes); 83 emit_AtomicExpression_LeftParenthesisKeyword_3_0_a(semanticObject, getLastNavigableState(), syntaxNodes);
52 else if (match_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q.equals(syntax)) 84 else if (match_AtomicExpression_LeftParenthesisKeyword_3_0_p.equals(syntax))
53 emit_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q(semanticObject, getLastNavigableState(), syntaxNodes); 85 emit_AtomicExpression_LeftParenthesisKeyword_3_0_p(semanticObject, getLastNavigableState(), syntaxNodes);
54 else if (match_PatternBody_TrueKeyword_1_0_q.equals(syntax)) 86 else if (match_MemberDefinition_SemicolonKeyword_5_q.equals(syntax))
55 emit_PatternBody_TrueKeyword_1_0_q(semanticObject, getLastNavigableState(), syntaxNodes); 87 emit_MemberDefinition_SemicolonKeyword_5_q(semanticObject, getLastNavigableState(), syntaxNodes);
56 else if (match_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q.equals(syntax))
57 emit_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
58 else acceptNodes(getLastNavigableState(), syntaxNodes); 88 else acceptNodes(getLastNavigableState(), syntaxNodes);
59 } 89 }
60 } 90 }
61 91
62 /** 92 /**
63 * Ambiguous syntax: 93 * Ambiguous syntax:
64 * ('(' ')')? 94 * '('*
65 *
66 * This ambiguous syntax occurs at:
67 * symbol=Symbol (ambiguity) ':' value=TruthValue
68 */
69 protected void emit_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
70 acceptNodes(transition, nodes);
71 }
72
73 /**
74 * Ambiguous syntax:
75 * ('(' ')')?
76 * 95 *
77 * This ambiguous syntax occurs at: 96 * This ambiguous syntax occurs at:
78 * symbol=ModelSymbol (ambiguity) (rule end) 97 * (rule start) (ambiguity) '[' lowerBound=Expression
98 * (rule start) (ambiguity) 'count' '{' body=Expression
99 * (rule start) (ambiguity) 'empty' (rule start)
100 * (rule start) (ambiguity) 'if' condition=Expression
101 * (rule start) (ambiguity) 'inf' (rule start)
102 * (rule start) (ambiguity) op=AggregationOp
103 * (rule start) (ambiguity) op=UnaryOp
104 * (rule start) (ambiguity) referred=[NamedElement|QualifiedName]
105 * (rule start) (ambiguity) value=LogicValue
106 * (rule start) (ambiguity) value=Real
107 * (rule start) (ambiguity) value=STRING
108 * (rule start) (ambiguity) {BinaryExpression.left=}
109 * (rule start) (ambiguity) {Call.functor=}
110 * (rule start) (ambiguity) {Comparison.left=}
111 * (rule start) (ambiguity) {Conjunction.children+=}
112 * (rule start) (ambiguity) {Disjunction.children+=}
113 * (rule start) (ambiguity) {Switch.cases+=}
79 */ 114 */
80 protected void emit_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { 115 protected void emit_AtomicExpression_LeftParenthesisKeyword_3_0_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
81 acceptNodes(transition, nodes); 116 acceptNodes(transition, nodes);
82 } 117 }
83 118
84 /** 119 /**
85 * Ambiguous syntax: 120 * Ambiguous syntax:
86 * 'true'? 121 * '('+
87 * 122 *
88 * This ambiguous syntax occurs at: 123 * This ambiguous syntax occurs at:
89 * (rule start) (ambiguity) (rule start) 124 * (rule start) (ambiguity) 'count' '{' body=Expression
125 * (rule start) (ambiguity) 'if' condition=Expression
126 * (rule start) (ambiguity) op=AggregationOp
127 * (rule start) (ambiguity) op=UnaryOp
128 * (rule start) (ambiguity) {BinaryExpression.left=}
129 * (rule start) (ambiguity) {Comparison.left=}
130 * (rule start) (ambiguity) {Conjunction.children+=}
131 * (rule start) (ambiguity) {Disjunction.children+=}
132 * (rule start) (ambiguity) {Switch.cases+=}
90 */ 133 */
91 protected void emit_PatternBody_TrueKeyword_1_0_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { 134 protected void emit_AtomicExpression_LeftParenthesisKeyword_3_0_p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
92 acceptNodes(transition, nodes); 135 acceptNodes(transition, nodes);
93 } 136 }
94 137
95 /** 138 /**
96 * Ambiguous syntax: 139 * Ambiguous syntax:
97 * ('(' ')')? 140 * ';'?
98 * 141 *
99 * This ambiguous syntax occurs at: 142 * This ambiguous syntax occurs at:
100 * symbol=ModelSymbol (ambiguity) ':-' 'false' '.' (rule end) 143 * name=ID (ambiguity) (rule end)
101 * symbol=ModelSymbol (ambiguity) ':-' bodies+=PatternBody 144 * opposite=[NamedElement|QualifiedName] (ambiguity) (rule end)
102 */ 145 */
103 protected void emit_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { 146 protected void emit_MemberDefinition_SemicolonKeyword_5_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
104 acceptNodes(transition, nodes); 147 acceptNodes(transition, nodes);
105 } 148 }
106 149
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 e6a8f1d9..7064938f 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
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.services; 4package org.eclipse.viatra.solver.language.services;
5 5
@@ -9,6 +9,9 @@ import java.util.List;
9import org.eclipse.xtext.Action; 9import org.eclipse.xtext.Action;
10import org.eclipse.xtext.Alternatives; 10import org.eclipse.xtext.Alternatives;
11import org.eclipse.xtext.Assignment; 11import org.eclipse.xtext.Assignment;
12import org.eclipse.xtext.CrossReference;
13import org.eclipse.xtext.EnumLiteralDeclaration;
14import org.eclipse.xtext.EnumRule;
12import org.eclipse.xtext.Grammar; 15import org.eclipse.xtext.Grammar;
13import org.eclipse.xtext.GrammarUtil; 16import org.eclipse.xtext.GrammarUtil;
14import org.eclipse.xtext.Group; 17import org.eclipse.xtext.Group;
@@ -17,6 +20,7 @@ import org.eclipse.xtext.ParserRule;
17import org.eclipse.xtext.RuleCall; 20import org.eclipse.xtext.RuleCall;
18import org.eclipse.xtext.TerminalRule; 21import org.eclipse.xtext.TerminalRule;
19import org.eclipse.xtext.common.services.TerminalsGrammarAccess; 22import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
23import org.eclipse.xtext.service.AbstractElementFinder.AbstractEnumRuleElementFinder;
20import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder; 24import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder;
21import org.eclipse.xtext.service.GrammarProvider; 25import org.eclipse.xtext.service.GrammarProvider;
22 26
@@ -40,624 +44,1358 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
40 } 44 }
41 public class StatementElements extends AbstractParserRuleElementFinder { 45 public class StatementElements extends AbstractParserRuleElementFinder {
42 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); 46 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Statement");
43 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 47 private final Group cGroup = (Group)rule.eContents().get(1);
44 private final RuleCall cInterpretationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 48 private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
45 private final RuleCall cPredicateParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 49 private final RuleCall cAssertionOrDefinitionParserRuleCall_0_0 = (RuleCall)cAlternatives_0.eContents().get(0);
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);
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);
54 private final RuleCall cMetricDefinitionParserRuleCall_0_5 = (RuleCall)cAlternatives_0.eContents().get(5);
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);
57 private final RuleCall cScopeDefinitionParserRuleCall_0_8 = (RuleCall)cAlternatives_0.eContents().get(8);
58 private final RuleCall cObjectiveDefinitionParserRuleCall_0_9 = (RuleCall)cAlternatives_0.eContents().get(9);
59 private final RuleCall cDOTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
46 60
47 //Statement: 61 //Statement:
48 // Interpretation | Predicate; 62 // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition |
63 // ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition |
64 // ObjectiveDefinition) DOT;
49 @Override public ParserRule getRule() { return rule; } 65 @Override public ParserRule getRule() { return rule; }
50 66
51 //Interpretation | Predicate 67 //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition |
52 public Alternatives getAlternatives() { return cAlternatives; } 68 //ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition |
69 //ObjectiveDefinition) DOT
70 public Group getGroup() { return cGroup; }
71
72 //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition |
73 //ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition |
74 //ObjectiveDefinition)
75 public Alternatives getAlternatives_0() { return cAlternatives_0; }
76
77 //AssertionOrDefinition
78 public RuleCall getAssertionOrDefinitionParserRuleCall_0_0() { return cAssertionOrDefinitionParserRuleCall_0_0; }
79
80 //PredicateDefinition
81 public RuleCall getPredicateDefinitionParserRuleCall_0_1() { return cPredicateDefinitionParserRuleCall_0_1; }
82
83 //UnnamedErrorPrediateDefinition
84 public RuleCall getUnnamedErrorPrediateDefinitionParserRuleCall_0_2() { return cUnnamedErrorPrediateDefinitionParserRuleCall_0_2; }
85
86 //DefaultDefinition
87 public RuleCall getDefaultDefinitionParserRuleCall_0_3() { return cDefaultDefinitionParserRuleCall_0_3; }
88
89 //ExternPredicateDefinition
90 public RuleCall getExternPredicateDefinitionParserRuleCall_0_4() { return cExternPredicateDefinitionParserRuleCall_0_4; }
91
92 //MetricDefinition
93 public RuleCall getMetricDefinitionParserRuleCall_0_5() { return cMetricDefinitionParserRuleCall_0_5; }
53 94
54 //Interpretation 95 //ExternMetricDefinition
55 public RuleCall getInterpretationParserRuleCall_0() { return cInterpretationParserRuleCall_0; } 96 public RuleCall getExternMetricDefinitionParserRuleCall_0_6() { return cExternMetricDefinitionParserRuleCall_0_6; }
56 97
57 //Predicate 98 //ClassDefinition
58 public RuleCall getPredicateParserRuleCall_1() { return cPredicateParserRuleCall_1; } 99 public RuleCall getClassDefinitionParserRuleCall_0_7() { return cClassDefinitionParserRuleCall_0_7; }
100
101 //ScopeDefinition
102 public RuleCall getScopeDefinitionParserRuleCall_0_8() { return cScopeDefinitionParserRuleCall_0_8; }
103
104 //ObjectiveDefinition
105 public RuleCall getObjectiveDefinitionParserRuleCall_0_9() { return cObjectiveDefinitionParserRuleCall_0_9; }
106
107 //DOT
108 public RuleCall getDOTTerminalRuleCall_1() { return cDOTTerminalRuleCall_1; }
59 } 109 }
60 public class REALLiteralElements extends AbstractParserRuleElementFinder { 110 public class AssertionOrDefinitionElements extends AbstractParserRuleElementFinder {
61 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.REALLiteral"); 111 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AssertionOrDefinition");
62 private final Group cGroup = (Group)rule.eContents().get(1); 112 private final Group cGroup = (Group)rule.eContents().get(1);
63 private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0); 113 private final RuleCall cExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
64 private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); 114 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
65 private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); 115 private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
66 private final RuleCall cINTTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3); 116 private final Action cAssertionBodyAction_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);
118 private final Keyword cColonKeyword_1_0_1_0 = (Keyword)cGroup_1_0_1.eContents().get(0);
119 private final Assignment cRangeAssignment_1_0_1_1 = (Assignment)cGroup_1_0_1.eContents().get(1);
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);
122 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);
124 private final Assignment cBodyAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
125 private final RuleCall cBodyExpressionParserRuleCall_1_1_2_0 = (RuleCall)cBodyAssignment_1_1_2.eContents().get(0);
126 private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2);
127 private final Action cMetricDefinitionHeadAction_1_2_0 = (Action)cGroup_1_2.eContents().get(0);
128 private final Keyword cEqualsSignKeyword_1_2_1 = (Keyword)cGroup_1_2.eContents().get(1);
129 private final Assignment cBodyAssignment_1_2_2 = (Assignment)cGroup_1_2.eContents().get(2);
130 private final RuleCall cBodyExpressionParserRuleCall_1_2_2_0 = (RuleCall)cBodyAssignment_1_2_2.eContents().get(0);
131
132 //AssertionOrDefinition Statement:
133 // Expression ({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-"
134 // body=Expression | {MetricDefinition.head=current} "=" body=Expression);
135 @Override public ParserRule getRule() { return rule; }
136
137 //Expression ({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" body=Expression |
138 //{MetricDefinition.head=current} "=" body=Expression)
139 public Group getGroup() { return cGroup; }
140
141 //Expression
142 public RuleCall getExpressionParserRuleCall_0() { return cExpressionParserRuleCall_0; }
143
144 //({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" body=Expression |
145 //{MetricDefinition.head=current} "=" body=Expression)
146 public Alternatives getAlternatives_1() { return cAlternatives_1; }
67 147
68 //REALLiteral ecore::EBigDecimal: 148 //{Assertion.body=current} (":" range=Expression)?
69 // '-'? INT '.' INT; 149 public Group getGroup_1_0() { return cGroup_1_0; }
150
151 //{Assertion.body=current}
152 public Action getAssertionBodyAction_1_0_0() { return cAssertionBodyAction_1_0_0; }
153
154 //(":" range=Expression)?
155 public Group getGroup_1_0_1() { return cGroup_1_0_1; }
156
157 //":"
158 public Keyword getColonKeyword_1_0_1_0() { return cColonKeyword_1_0_1_0; }
159
160 //range=Expression
161 public Assignment getRangeAssignment_1_0_1_1() { return cRangeAssignment_1_0_1_1; }
162
163 //Expression
164 public RuleCall getRangeExpressionParserRuleCall_1_0_1_1_0() { return cRangeExpressionParserRuleCall_1_0_1_1_0; }
165
166 //{PredicateDefinition.head=current} ":-" body=Expression
167 public Group getGroup_1_1() { return cGroup_1_1; }
168
169 //{PredicateDefinition.head=current}
170 public Action getPredicateDefinitionHeadAction_1_1_0() { return cPredicateDefinitionHeadAction_1_1_0; }
171
172 //":-"
173 public Keyword getColonHyphenMinusKeyword_1_1_1() { return cColonHyphenMinusKeyword_1_1_1; }
174
175 //body=Expression
176 public Assignment getBodyAssignment_1_1_2() { return cBodyAssignment_1_1_2; }
177
178 //Expression
179 public RuleCall getBodyExpressionParserRuleCall_1_1_2_0() { return cBodyExpressionParserRuleCall_1_1_2_0; }
180
181 //{MetricDefinition.head=current} "=" body=Expression
182 public Group getGroup_1_2() { return cGroup_1_2; }
183
184 //{MetricDefinition.head=current}
185 public Action getMetricDefinitionHeadAction_1_2_0() { return cMetricDefinitionHeadAction_1_2_0; }
186
187 //"="
188 public Keyword getEqualsSignKeyword_1_2_1() { return cEqualsSignKeyword_1_2_1; }
189
190 //body=Expression
191 public Assignment getBodyAssignment_1_2_2() { return cBodyAssignment_1_2_2; }
192
193 //Expression
194 public RuleCall getBodyExpressionParserRuleCall_1_2_2_0() { return cBodyExpressionParserRuleCall_1_2_2_0; }
195 }
196 public class PredicateDefinitionElements extends AbstractParserRuleElementFinder {
197 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PredicateDefinition");
198 private final Group cGroup = (Group)rule.eContents().get(1);
199 private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
200 private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0);
201 private final Assignment cFunctionalAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0);
202 private final Keyword cFunctionalFunctionalKeyword_0_0_0_0 = (Keyword)cFunctionalAssignment_0_0_0.eContents().get(0);
203 private final Assignment cErrorAssignment_0_0_1 = (Assignment)cGroup_0_0.eContents().get(1);
204 private final Keyword cErrorErrorKeyword_0_0_1_0 = (Keyword)cErrorAssignment_0_0_1.eContents().get(0);
205 private final Group cGroup_0_1 = (Group)cAlternatives_0.eContents().get(1);
206 private final Assignment cErrorAssignment_0_1_0 = (Assignment)cGroup_0_1.eContents().get(0);
207 private final Keyword cErrorErrorKeyword_0_1_0_0 = (Keyword)cErrorAssignment_0_1_0.eContents().get(0);
208 private final Assignment cFunctionalAssignment_0_1_1 = (Assignment)cGroup_0_1.eContents().get(1);
209 private final Keyword cFunctionalFunctionalKeyword_0_1_1_0 = (Keyword)cFunctionalAssignment_0_1_1.eContents().get(0);
210 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1);
211 private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0);
212 private final Keyword cColonHyphenMinusKeyword_2 = (Keyword)cGroup.eContents().get(2);
213 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
214 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
215
216 //PredicateDefinition:
217 // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression;
70 @Override public ParserRule getRule() { return rule; } 218 @Override public ParserRule getRule() { return rule; }
71 219
72 //'-'? INT '.' INT 220 //(functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression
73 public Group getGroup() { return cGroup; } 221 public Group getGroup() { return cGroup; }
74 222
75 //'-'? 223 //(functional?="functional" error?="error"? | error?="error" functional?="functional"?)
76 public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; } 224 public Alternatives getAlternatives_0() { return cAlternatives_0; }
77 225
78 //INT 226 //functional?="functional" error?="error"?
79 public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; } 227 public Group getGroup_0_0() { return cGroup_0_0; }
80 228
81 //'.' 229 //functional?="functional"
82 public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; } 230 public Assignment getFunctionalAssignment_0_0_0() { return cFunctionalAssignment_0_0_0; }
83 231
84 //INT 232 //"functional"
85 public RuleCall getINTTerminalRuleCall_3() { return cINTTerminalRuleCall_3; } 233 public Keyword getFunctionalFunctionalKeyword_0_0_0_0() { return cFunctionalFunctionalKeyword_0_0_0_0; }
234
235 //error?="error"?
236 public Assignment getErrorAssignment_0_0_1() { return cErrorAssignment_0_0_1; }
237
238 //"error"
239 public Keyword getErrorErrorKeyword_0_0_1_0() { return cErrorErrorKeyword_0_0_1_0; }
240
241 //error?="error" functional?="functional"?
242 public Group getGroup_0_1() { return cGroup_0_1; }
243
244 //error?="error"
245 public Assignment getErrorAssignment_0_1_0() { return cErrorAssignment_0_1_0; }
246
247 //"error"
248 public Keyword getErrorErrorKeyword_0_1_0_0() { return cErrorErrorKeyword_0_1_0_0; }
249
250 //functional?="functional"?
251 public Assignment getFunctionalAssignment_0_1_1() { return cFunctionalAssignment_0_1_1; }
252
253 //"functional"
254 public Keyword getFunctionalFunctionalKeyword_0_1_1_0() { return cFunctionalFunctionalKeyword_0_1_1_0; }
255
256 //head=Call
257 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; }
258
259 //Call
260 public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; }
261
262 //":-"
263 public Keyword getColonHyphenMinusKeyword_2() { return cColonHyphenMinusKeyword_2; }
264
265 //body=Expression
266 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; }
267
268 //Expression
269 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
270 }
271 public class UnnamedErrorPrediateDefinitionElements extends AbstractParserRuleElementFinder {
272 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnnamedErrorPrediateDefinition");
273 private final Group cGroup = (Group)rule.eContents().get(1);
274 private final Keyword cErrorKeyword_0 = (Keyword)cGroup.eContents().get(0);
275 private final Assignment cArgumentListAssignment_1 = (Assignment)cGroup.eContents().get(1);
276 private final RuleCall cArgumentListArgumentListParserRuleCall_1_0 = (RuleCall)cArgumentListAssignment_1.eContents().get(0);
277 private final Keyword cColonHyphenMinusKeyword_2 = (Keyword)cGroup.eContents().get(2);
278 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
279 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
280
281 //UnnamedErrorPrediateDefinition:
282 // "error" argumentList=ArgumentList ":-" body=Expression;
283 @Override public ParserRule getRule() { return rule; }
284
285 //"error" argumentList=ArgumentList ":-" body=Expression
286 public Group getGroup() { return cGroup; }
287
288 //"error"
289 public Keyword getErrorKeyword_0() { return cErrorKeyword_0; }
290
291 //argumentList=ArgumentList
292 public Assignment getArgumentListAssignment_1() { return cArgumentListAssignment_1; }
293
294 //ArgumentList
295 public RuleCall getArgumentListArgumentListParserRuleCall_1_0() { return cArgumentListArgumentListParserRuleCall_1_0; }
296
297 //":-"
298 public Keyword getColonHyphenMinusKeyword_2() { return cColonHyphenMinusKeyword_2; }
299
300 //body=Expression
301 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; }
302
303 //Expression
304 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
86 } 305 }
87 public class INTLiteralElements extends AbstractParserRuleElementFinder { 306 public class DefaultDefinitionElements extends AbstractParserRuleElementFinder {
88 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.INTLiteral"); 307 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DefaultDefinition");
89 private final Group cGroup = (Group)rule.eContents().get(1); 308 private final Group cGroup = (Group)rule.eContents().get(1);
90 private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0); 309 private final Keyword cDefaultKeyword_0 = (Keyword)cGroup.eContents().get(0);
91 private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); 310 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1);
311 private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0);
312 private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
313 private final Assignment cRangeAssignment_3 = (Assignment)cGroup.eContents().get(3);
314 private final RuleCall cRangeExpressionParserRuleCall_3_0 = (RuleCall)cRangeAssignment_3.eContents().get(0);
92 315
93 //INTLiteral ecore::EInt: 316 //DefaultDefinition:
94 // '-'? INT; 317 // "default" head=Call ":" range=Expression;
95 @Override public ParserRule getRule() { return rule; } 318 @Override public ParserRule getRule() { return rule; }
96 319
97 //'-'? INT 320 //"default" head=Call ":" range=Expression
98 public Group getGroup() { return cGroup; } 321 public Group getGroup() { return cGroup; }
99 322
100 //'-'? 323 //"default"
101 public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; } 324 public Keyword getDefaultKeyword_0() { return cDefaultKeyword_0; }
102 325
103 //INT 326 //head=Call
104 public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; } 327 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; }
328
329 //Call
330 public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; }
331
332 //":"
333 public Keyword getColonKeyword_2() { return cColonKeyword_2; }
334
335 //range=Expression
336 public Assignment getRangeAssignment_3() { return cRangeAssignment_3; }
337
338 //Expression
339 public RuleCall getRangeExpressionParserRuleCall_3_0() { return cRangeExpressionParserRuleCall_3_0; }
105 } 340 }
106 public class BooleanValueElements extends AbstractParserRuleElementFinder { 341 public class ExternPredicateDefinitionElements extends AbstractParserRuleElementFinder {
107 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BooleanValue"); 342 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternPredicateDefinition");
108 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 343 private final Group cGroup = (Group)rule.eContents().get(1);
109 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); 344 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
110 private final Action cBooleanTrueAction_0_0 = (Action)cGroup_0.eContents().get(0); 345 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1);
111 private final Keyword cTrueKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); 346 private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0);
112 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); 347 private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
113 private final Keyword cFalseKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
114 private final Action cBooleanFalseAction_1_1 = (Action)cGroup_1.eContents().get(1);
115 348
116 //BooleanValue: 349 //ExternPredicateDefinition:
117 // {BooleanTrue} 'true' | 'false' {BooleanFalse}; 350 // "extern" head=Call ".";
118 @Override public ParserRule getRule() { return rule; } 351 @Override public ParserRule getRule() { return rule; }
119 352
120 //{BooleanTrue} 'true' | 'false' {BooleanFalse} 353 //"extern" head=Call "."
121 public Alternatives getAlternatives() { return cAlternatives; } 354 public Group getGroup() { return cGroup; }
122 355
123 //{BooleanTrue} 'true' 356 //"extern"
124 public Group getGroup_0() { return cGroup_0; } 357 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
125 358
126 //{BooleanTrue} 359 //head=Call
127 public Action getBooleanTrueAction_0_0() { return cBooleanTrueAction_0_0; } 360 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; }
128 361
129 //'true' 362 //Call
130 public Keyword getTrueKeyword_0_1() { return cTrueKeyword_0_1; } 363 public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; }
131 364
132 //'false' {BooleanFalse} 365 //"."
133 public Group getGroup_1() { return cGroup_1; } 366 public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; }
367 }
368 public class MetricDefinitionElements extends AbstractParserRuleElementFinder {
369 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MetricDefinition");
370 private final Group cGroup = (Group)rule.eContents().get(1);
371 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
372 private final RuleCall cTypeMetricTypeEnumRuleCall_0_0 = (RuleCall)cTypeAssignment_0.eContents().get(0);
373 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1);
374 private final RuleCall cHeadExpressionParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0);
375 private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
376 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
377 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
378
379 //MetricDefinition:
380 // type=MetricType head=Expression "=" body=Expression;
381 @Override public ParserRule getRule() { return rule; }
382
383 //type=MetricType head=Expression "=" body=Expression
384 public Group getGroup() { return cGroup; }
385
386 //type=MetricType
387 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; }
134 388
135 //'false' 389 //MetricType
136 public Keyword getFalseKeyword_1_0() { return cFalseKeyword_1_0; } 390 public RuleCall getTypeMetricTypeEnumRuleCall_0_0() { return cTypeMetricTypeEnumRuleCall_0_0; }
137 391
138 //{BooleanFalse} 392 //head=Expression
139 public Action getBooleanFalseAction_1_1() { return cBooleanFalseAction_1_1; } 393 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; }
394
395 //Expression
396 public RuleCall getHeadExpressionParserRuleCall_1_0() { return cHeadExpressionParserRuleCall_1_0; }
397
398 //"="
399 public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; }
400
401 //body=Expression
402 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; }
403
404 //Expression
405 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
140 } 406 }
141 public class TruthValueElements extends AbstractParserRuleElementFinder { 407 public class ExternMetricDefinitionElements extends AbstractParserRuleElementFinder {
142 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TruthValue"); 408 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternMetricDefinition");
409 private final Group cGroup = (Group)rule.eContents().get(1);
410 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
411 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
412 private final RuleCall cTypeMetricTypeEnumRuleCall_1_0 = (RuleCall)cTypeAssignment_1.eContents().get(0);
413 private final Assignment cHeadAssignment_2 = (Assignment)cGroup.eContents().get(2);
414 private final RuleCall cHeadCallParserRuleCall_2_0 = (RuleCall)cHeadAssignment_2.eContents().get(0);
415
416 //ExternMetricDefinition:
417 // "extern" type=MetricType head=Call;
418 @Override public ParserRule getRule() { return rule; }
419
420 //"extern" type=MetricType head=Call
421 public Group getGroup() { return cGroup; }
422
423 //"extern"
424 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
425
426 //type=MetricType
427 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
428
429 //MetricType
430 public RuleCall getTypeMetricTypeEnumRuleCall_1_0() { return cTypeMetricTypeEnumRuleCall_1_0; }
431
432 //head=Call
433 public Assignment getHeadAssignment_2() { return cHeadAssignment_2; }
434
435 //Call
436 public RuleCall getHeadCallParserRuleCall_2_0() { return cHeadCallParserRuleCall_2_0; }
437 }
438 public class ExpressionElements extends AbstractParserRuleElementFinder {
439 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
143 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 440 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
144 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); 441 private final RuleCall cIfElseParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
145 private final Action cTrueAction_0_0 = (Action)cGroup_0.eContents().get(0); 442 private final RuleCall cDisjunctiveExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
146 private final Keyword cTrueKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1);
147 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
148 private final Action cFalseAction_1_0 = (Action)cGroup_1.eContents().get(0);
149 private final Keyword cFalseKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
150 private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2);
151 private final Action cUnknownAction_2_0 = (Action)cGroup_2.eContents().get(0);
152 private final Keyword cUnknownKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
153 private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3);
154 private final Action cErrorAction_3_0 = (Action)cGroup_3.eContents().get(0);
155 private final Keyword cErrorKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
156 443
157 //TruthValue: 444 //Expression:
158 // {True} 'true' | {False} 'false' | {Unknown} 'unknown' | {Error} 'error'; 445 // IfElse | DisjunctiveExpression;
159 @Override public ParserRule getRule() { return rule; } 446 @Override public ParserRule getRule() { return rule; }
160 447
161 //{True} 'true' | {False} 'false' | {Unknown} 'unknown' | {Error} 'error' 448 //IfElse | DisjunctiveExpression
162 public Alternatives getAlternatives() { return cAlternatives; } 449 public Alternatives getAlternatives() { return cAlternatives; }
163 450
164 //{True} 'true' 451 //IfElse
165 public Group getGroup_0() { return cGroup_0; } 452 public RuleCall getIfElseParserRuleCall_0() { return cIfElseParserRuleCall_0; }
166 453
167 //{True} 454 //DisjunctiveExpression
168 public Action getTrueAction_0_0() { return cTrueAction_0_0; } 455 public RuleCall getDisjunctiveExpressionParserRuleCall_1() { return cDisjunctiveExpressionParserRuleCall_1; }
456 }
457 public class IfElseElements extends AbstractParserRuleElementFinder {
458 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IfElse");
459 private final Group cGroup = (Group)rule.eContents().get(1);
460 private final Keyword cIfKeyword_0 = (Keyword)cGroup.eContents().get(0);
461 private final Assignment cConditionAssignment_1 = (Assignment)cGroup.eContents().get(1);
462 private final RuleCall cConditionExpressionParserRuleCall_1_0 = (RuleCall)cConditionAssignment_1.eContents().get(0);
463 private final Keyword cThenKeyword_2 = (Keyword)cGroup.eContents().get(2);
464 private final Assignment cThenAssignment_3 = (Assignment)cGroup.eContents().get(3);
465 private final RuleCall cThenExpressionParserRuleCall_3_0 = (RuleCall)cThenAssignment_3.eContents().get(0);
466 private final Keyword cElseKeyword_4 = (Keyword)cGroup.eContents().get(4);
467 private final Assignment cElseAssignment_5 = (Assignment)cGroup.eContents().get(5);
468 private final RuleCall cElseExpressionParserRuleCall_5_0 = (RuleCall)cElseAssignment_5.eContents().get(0);
469
470 //IfElse:
471 // "if" condition=Expression "then" then=Expression "else" else=Expression;
472 @Override public ParserRule getRule() { return rule; }
169 473
170 //'true' 474 //"if" condition=Expression "then" then=Expression "else" else=Expression
171 public Keyword getTrueKeyword_0_1() { return cTrueKeyword_0_1; } 475 public Group getGroup() { return cGroup; }
172 476
173 //{False} 'false' 477 //"if"
174 public Group getGroup_1() { return cGroup_1; } 478 public Keyword getIfKeyword_0() { return cIfKeyword_0; }
175 479
176 //{False} 480 //condition=Expression
177 public Action getFalseAction_1_0() { return cFalseAction_1_0; } 481 public Assignment getConditionAssignment_1() { return cConditionAssignment_1; }
178 482
179 //'false' 483 //Expression
180 public Keyword getFalseKeyword_1_1() { return cFalseKeyword_1_1; } 484 public RuleCall getConditionExpressionParserRuleCall_1_0() { return cConditionExpressionParserRuleCall_1_0; }
181 485
182 //{Unknown} 'unknown' 486 //"then"
183 public Group getGroup_2() { return cGroup_2; } 487 public Keyword getThenKeyword_2() { return cThenKeyword_2; }
184 488
185 //{Unknown} 489 //then=Expression
186 public Action getUnknownAction_2_0() { return cUnknownAction_2_0; } 490 public Assignment getThenAssignment_3() { return cThenAssignment_3; }
187 491
188 //'unknown' 492 //Expression
189 public Keyword getUnknownKeyword_2_1() { return cUnknownKeyword_2_1; } 493 public RuleCall getThenExpressionParserRuleCall_3_0() { return cThenExpressionParserRuleCall_3_0; }
190 494
191 //{Error} 'error' 495 //"else"
192 public Group getGroup_3() { return cGroup_3; } 496 public Keyword getElseKeyword_4() { return cElseKeyword_4; }
193 497
194 //{Error} 498 //else=Expression
195 public Action getErrorAction_3_0() { return cErrorAction_3_0; } 499 public Assignment getElseAssignment_5() { return cElseAssignment_5; }
196 500
197 //'error' 501 //Expression
198 public Keyword getErrorKeyword_3_1() { return cErrorKeyword_3_1; } 502 public RuleCall getElseExpressionParserRuleCall_5_0() { return cElseExpressionParserRuleCall_5_0; }
199 } 503 }
200 public class InterpretationElements extends AbstractParserRuleElementFinder { 504 public class DisjunctiveExpressionElements extends AbstractParserRuleElementFinder {
201 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Interpretation"); 505 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression");
202 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 506 private final Group cGroup = (Group)rule.eContents().get(1);
203 private final RuleCall cBasicInterpretationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 507 private final RuleCall cConjunctiveExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
204 private final RuleCall cDefaultInterpretationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 508 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
205 private final RuleCall cCDInterpretationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 509 private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
206 510 private final Action cDisjunctionChildrenAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0);
207 ///////////////////// 511 private final Group cGroup_1_0_1 = (Group)cGroup_1_0.eContents().get(1);
208 //// Core grammar 512 private final Keyword cSemicolonKeyword_1_0_1_0 = (Keyword)cGroup_1_0_1.eContents().get(0);
209 // /////////////////// 513 private final Assignment cChildrenAssignment_1_0_1_1 = (Assignment)cGroup_1_0_1.eContents().get(1);
210 //Interpretation: 514 private final RuleCall cChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0 = (RuleCall)cChildrenAssignment_1_0_1_1.eContents().get(0);
211 // BasicInterpretation | DefaultInterpretation | CDInterpretation; 515 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
516 private final Action cCaseConditionAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0);
517 private final Keyword cHyphenMinusGreaterThanSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
518 private final Assignment cBodyAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
519 private final RuleCall cBodyConjunctiveExpressionParserRuleCall_1_1_2_0 = (RuleCall)cBodyAssignment_1_1_2.eContents().get(0);
520 private final Action cSwitchCasesAction_1_1_3 = (Action)cGroup_1_1.eContents().get(3);
521 private final Group cGroup_1_1_4 = (Group)cGroup_1_1.eContents().get(4);
522 private final Keyword cSemicolonKeyword_1_1_4_0 = (Keyword)cGroup_1_1_4.eContents().get(0);
523 private final Assignment cCasesAssignment_1_1_4_1 = (Assignment)cGroup_1_1_4.eContents().get(1);
524 private final RuleCall cCasesCaseParserRuleCall_1_1_4_1_0 = (RuleCall)cCasesAssignment_1_1_4_1.eContents().get(0);
525
526 //DisjunctiveExpression Expression:
527 // ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ |
528 // {Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?;
212 @Override public ParserRule getRule() { return rule; } 529 @Override public ParserRule getRule() { return rule; }
213 530
214 //BasicInterpretation | DefaultInterpretation | CDInterpretation 531 //ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ | {Case.condition=current}
215 public Alternatives getAlternatives() { return cAlternatives; } 532 //"->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?
533 public Group getGroup() { return cGroup; }
534
535 //ConjunctiveExpression
536 public RuleCall getConjunctiveExpressionParserRuleCall_0() { return cConjunctiveExpressionParserRuleCall_0; }
537
538 //({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ | {Case.condition=current} "->"
539 //body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?
540 public Alternatives getAlternatives_1() { return cAlternatives_1; }
541
542 //{Disjunction.children+=current} (";" children+=ConjunctiveExpression)+
543 public Group getGroup_1_0() { return cGroup_1_0; }
544
545 //{Disjunction.children+=current}
546 public Action getDisjunctionChildrenAction_1_0_0() { return cDisjunctionChildrenAction_1_0_0; }
547
548 //(";" children+=ConjunctiveExpression)+
549 public Group getGroup_1_0_1() { return cGroup_1_0_1; }
216 550
217 //BasicInterpretation 551 //";"
218 public RuleCall getBasicInterpretationParserRuleCall_0() { return cBasicInterpretationParserRuleCall_0; } 552 public Keyword getSemicolonKeyword_1_0_1_0() { return cSemicolonKeyword_1_0_1_0; }
219 553
220 //DefaultInterpretation 554 //children+=ConjunctiveExpression
221 public RuleCall getDefaultInterpretationParserRuleCall_1() { return cDefaultInterpretationParserRuleCall_1; } 555 public Assignment getChildrenAssignment_1_0_1_1() { return cChildrenAssignment_1_0_1_1; }
222 556
223 //CDInterpretation 557 //ConjunctiveExpression
224 public RuleCall getCDInterpretationParserRuleCall_2() { return cCDInterpretationParserRuleCall_2; } 558 public RuleCall getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0() { return cChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0; }
559
560 //{Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*
561 public Group getGroup_1_1() { return cGroup_1_1; }
562
563 //{Case.condition=current}
564 public Action getCaseConditionAction_1_1_0() { return cCaseConditionAction_1_1_0; }
565
566 //"->"
567 public Keyword getHyphenMinusGreaterThanSignKeyword_1_1_1() { return cHyphenMinusGreaterThanSignKeyword_1_1_1; }
568
569 //body=ConjunctiveExpression
570 public Assignment getBodyAssignment_1_1_2() { return cBodyAssignment_1_1_2; }
571
572 //ConjunctiveExpression
573 public RuleCall getBodyConjunctiveExpressionParserRuleCall_1_1_2_0() { return cBodyConjunctiveExpressionParserRuleCall_1_1_2_0; }
574
575 //{Switch.cases+=current}
576 public Action getSwitchCasesAction_1_1_3() { return cSwitchCasesAction_1_1_3; }
577
578 //(";" cases+=Case)*
579 public Group getGroup_1_1_4() { return cGroup_1_1_4; }
580
581 //";"
582 public Keyword getSemicolonKeyword_1_1_4_0() { return cSemicolonKeyword_1_1_4_0; }
583
584 //cases+=Case
585 public Assignment getCasesAssignment_1_1_4_1() { return cCasesAssignment_1_1_4_1; }
586
587 //Case
588 public RuleCall getCasesCaseParserRuleCall_1_1_4_1_0() { return cCasesCaseParserRuleCall_1_1_4_1_0; }
589 }
590 public class CaseElements extends AbstractParserRuleElementFinder {
591 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Case");
592 private final Group cGroup = (Group)rule.eContents().get(1);
593 private final Assignment cConditionAssignment_0 = (Assignment)cGroup.eContents().get(0);
594 private final RuleCall cConditionConjunctiveExpressionParserRuleCall_0_0 = (RuleCall)cConditionAssignment_0.eContents().get(0);
595 private final Keyword cHyphenMinusGreaterThanSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
596 private final Assignment cBodyAssignment_2 = (Assignment)cGroup.eContents().get(2);
597 private final RuleCall cBodyConjunctiveExpressionParserRuleCall_2_0 = (RuleCall)cBodyAssignment_2.eContents().get(0);
598
599 //Case:
600 // condition=ConjunctiveExpression "->" body=ConjunctiveExpression;
601 @Override public ParserRule getRule() { return rule; }
602
603 //condition=ConjunctiveExpression "->" body=ConjunctiveExpression
604 public Group getGroup() { return cGroup; }
605
606 //condition=ConjunctiveExpression
607 public Assignment getConditionAssignment_0() { return cConditionAssignment_0; }
608
609 //ConjunctiveExpression
610 public RuleCall getConditionConjunctiveExpressionParserRuleCall_0_0() { return cConditionConjunctiveExpressionParserRuleCall_0_0; }
611
612 //"->"
613 public Keyword getHyphenMinusGreaterThanSignKeyword_1() { return cHyphenMinusGreaterThanSignKeyword_1; }
614
615 //body=ConjunctiveExpression
616 public Assignment getBodyAssignment_2() { return cBodyAssignment_2; }
617
618 //ConjunctiveExpression
619 public RuleCall getBodyConjunctiveExpressionParserRuleCall_2_0() { return cBodyConjunctiveExpressionParserRuleCall_2_0; }
225 } 620 }
226 public class BasicInterpretationElements extends AbstractParserRuleElementFinder { 621 public class ConjunctiveExpressionElements extends AbstractParserRuleElementFinder {
227 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BasicInterpretation"); 622 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression");
228 private final Group cGroup = (Group)rule.eContents().get(1); 623 private final Group cGroup = (Group)rule.eContents().get(1);
229 private final Assignment cSymbolAssignment_0 = (Assignment)cGroup.eContents().get(0); 624 private final RuleCall cComparisonExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
230 private final RuleCall cSymbolSymbolParserRuleCall_0_0 = (RuleCall)cSymbolAssignment_0.eContents().get(0);
231 private final Group cGroup_1 = (Group)cGroup.eContents().get(1); 625 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
232 private final Keyword cLeftParenthesisKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); 626 private final Action cConjunctionChildrenAction_1_0 = (Action)cGroup_1.eContents().get(0);
233 private final Group cGroup_1_1 = (Group)cGroup_1.eContents().get(1); 627 private final Group cGroup_1_1 = (Group)cGroup_1.eContents().get(1);
234 private final Assignment cObjectsAssignment_1_1_0 = (Assignment)cGroup_1_1.eContents().get(0); 628 private final Keyword cCommaKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
235 private final RuleCall cObjectsComplexObjectParserRuleCall_1_1_0_0 = (RuleCall)cObjectsAssignment_1_1_0.eContents().get(0); 629 private final Assignment cChildrenAssignment_1_1_1 = (Assignment)cGroup_1_1.eContents().get(1);
236 private final Group cGroup_1_1_1 = (Group)cGroup_1_1.eContents().get(1); 630 private final RuleCall cChildrenComparisonExpressionParserRuleCall_1_1_1_0 = (RuleCall)cChildrenAssignment_1_1_1.eContents().get(0);
237 private final Keyword cCommaKeyword_1_1_1_0 = (Keyword)cGroup_1_1_1.eContents().get(0);
238 private final Assignment cObjectsAssignment_1_1_1_1 = (Assignment)cGroup_1_1_1.eContents().get(1);
239 private final RuleCall cObjectsComplexObjectParserRuleCall_1_1_1_1_0 = (RuleCall)cObjectsAssignment_1_1_1_1.eContents().get(0);
240 private final Keyword cRightParenthesisKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
241 private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
242 private final Assignment cValueAssignment_3 = (Assignment)cGroup.eContents().get(3);
243 private final RuleCall cValueTruthValueParserRuleCall_3_0 = (RuleCall)cValueAssignment_3.eContents().get(0);
244 631
245 //BasicInterpretation: 632 //ConjunctiveExpression Expression:
246 // symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value=TruthValue; 633 // ComparisonExpression ({Conjunction.children+=current} ("," children+=ComparisonExpression)+)?;
247 @Override public ParserRule getRule() { return rule; } 634 @Override public ParserRule getRule() { return rule; }
248 635
249 //symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value=TruthValue 636 //ComparisonExpression ({Conjunction.children+=current} ("," children+=ComparisonExpression)+)?
250 public Group getGroup() { return cGroup; } 637 public Group getGroup() { return cGroup; }
251 638
252 //symbol=Symbol 639 //ComparisonExpression
253 public Assignment getSymbolAssignment_0() { return cSymbolAssignment_0; } 640 public RuleCall getComparisonExpressionParserRuleCall_0() { return cComparisonExpressionParserRuleCall_0; }
254
255 //Symbol
256 public RuleCall getSymbolSymbolParserRuleCall_0_0() { return cSymbolSymbolParserRuleCall_0_0; }
257 641
258 //('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? 642 //({Conjunction.children+=current} ("," children+=ComparisonExpression)+)?
259 public Group getGroup_1() { return cGroup_1; } 643 public Group getGroup_1() { return cGroup_1; }
260 644
261 //'(' 645 //{Conjunction.children+=current}
262 public Keyword getLeftParenthesisKeyword_1_0() { return cLeftParenthesisKeyword_1_0; } 646 public Action getConjunctionChildrenAction_1_0() { return cConjunctionChildrenAction_1_0; }
263 647
264 //(objects+=ComplexObject (',' objects+=ComplexObject)*)? 648 //("," children+=ComparisonExpression)+
265 public Group getGroup_1_1() { return cGroup_1_1; } 649 public Group getGroup_1_1() { return cGroup_1_1; }
266 650
267 //objects+=ComplexObject 651 //","
268 public Assignment getObjectsAssignment_1_1_0() { return cObjectsAssignment_1_1_0; } 652 public Keyword getCommaKeyword_1_1_0() { return cCommaKeyword_1_1_0; }
269 653
270 //ComplexObject 654 //children+=ComparisonExpression
271 public RuleCall getObjectsComplexObjectParserRuleCall_1_1_0_0() { return cObjectsComplexObjectParserRuleCall_1_1_0_0; } 655 public Assignment getChildrenAssignment_1_1_1() { return cChildrenAssignment_1_1_1; }
272 656
273 //(',' objects+=ComplexObject)* 657 //ComparisonExpression
274 public Group getGroup_1_1_1() { return cGroup_1_1_1; } 658 public RuleCall getChildrenComparisonExpressionParserRuleCall_1_1_1_0() { return cChildrenComparisonExpressionParserRuleCall_1_1_1_0; }
659 }
660 public class ComparisonExpressionElements extends AbstractParserRuleElementFinder {
661 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression");
662 private final Group cGroup = (Group)rule.eContents().get(1);
663 private final RuleCall cAdditiveExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
664 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
665 private final Action cComparisonLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
666 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
667 private final RuleCall cOpComparisonOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
668 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
669 private final RuleCall cRightAdditiveExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
670
671 //ComparisonExpression Expression:
672 // AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?;
673 @Override public ParserRule getRule() { return rule; }
275 674
276 //',' 675 //AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?
277 public Keyword getCommaKeyword_1_1_1_0() { return cCommaKeyword_1_1_1_0; } 676 public Group getGroup() { return cGroup; }
278 677
279 //objects+=ComplexObject 678 //AdditiveExpression
280 public Assignment getObjectsAssignment_1_1_1_1() { return cObjectsAssignment_1_1_1_1; } 679 public RuleCall getAdditiveExpressionParserRuleCall_0() { return cAdditiveExpressionParserRuleCall_0; }
281 680
282 //ComplexObject 681 //({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?
283 public RuleCall getObjectsComplexObjectParserRuleCall_1_1_1_1_0() { return cObjectsComplexObjectParserRuleCall_1_1_1_1_0; } 682 public Group getGroup_1() { return cGroup_1; }
284 683
285 //')' 684 //{Comparison.left=current}
286 public Keyword getRightParenthesisKeyword_1_2() { return cRightParenthesisKeyword_1_2; } 685 public Action getComparisonLeftAction_1_0() { return cComparisonLeftAction_1_0; }
287 686
288 //':' 687 //op=ComparisonOperator
289 public Keyword getColonKeyword_2() { return cColonKeyword_2; } 688 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; }
290 689
291 //value=TruthValue 690 //ComparisonOperator
292 public Assignment getValueAssignment_3() { return cValueAssignment_3; } 691 public RuleCall getOpComparisonOperatorEnumRuleCall_1_1_0() { return cOpComparisonOperatorEnumRuleCall_1_1_0; }
293 692
294 //TruthValue 693 //right=AdditiveExpression
295 public RuleCall getValueTruthValueParserRuleCall_3_0() { return cValueTruthValueParserRuleCall_3_0; } 694 public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
695
696 //AdditiveExpression
697 public RuleCall getRightAdditiveExpressionParserRuleCall_1_2_0() { return cRightAdditiveExpressionParserRuleCall_1_2_0; }
296 } 698 }
297 public class SymbolElements extends AbstractParserRuleElementFinder { 699 public class AdditiveExpressionElements extends AbstractParserRuleElementFinder {
298 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); 700 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression");
299 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 701 private final Group cGroup = (Group)rule.eContents().get(1);
300 private final RuleCall cModelSymbolParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 702 private final RuleCall cMultiplicativeExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
301 private final RuleCall cPartialitySymbolParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 703 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
302 private final RuleCall cDataSymbolParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 704 private final Action cBinaryExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
705 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
706 private final RuleCall cOpAdditiveBinaryOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
707 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
708 private final RuleCall cRightMultiplicativeExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
709
710 //AdditiveExpression Expression:
711 // MultiplicativeExpression ({BinaryExpression.left=current} op=AdditiveBinaryOperator right=MultiplicativeExpression)*;
712 @Override public ParserRule getRule() { return rule; }
713
714 //MultiplicativeExpression ({BinaryExpression.left=current} op=AdditiveBinaryOperator right=MultiplicativeExpression)*
715 public Group getGroup() { return cGroup; }
716
717 //MultiplicativeExpression
718 public RuleCall getMultiplicativeExpressionParserRuleCall_0() { return cMultiplicativeExpressionParserRuleCall_0; }
719
720 //({BinaryExpression.left=current} op=AdditiveBinaryOperator right=MultiplicativeExpression)*
721 public Group getGroup_1() { return cGroup_1; }
722
723 //{BinaryExpression.left=current}
724 public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; }
725
726 //op=AdditiveBinaryOperator
727 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; }
303 728
304 //Symbol: 729 //AdditiveBinaryOperator
305 // ModelSymbol | PartialitySymbol | DataSymbol; 730 public RuleCall getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0() { return cOpAdditiveBinaryOperatorEnumRuleCall_1_1_0; }
731
732 //right=MultiplicativeExpression
733 public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
734
735 //MultiplicativeExpression
736 public RuleCall getRightMultiplicativeExpressionParserRuleCall_1_2_0() { return cRightMultiplicativeExpressionParserRuleCall_1_2_0; }
737 }
738 public class MultiplicativeExpressionElements extends AbstractParserRuleElementFinder {
739 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeExpression");
740 private final Group cGroup = (Group)rule.eContents().get(1);
741 private final RuleCall cExponentialExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
742 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
743 private final Action cBinaryExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
744 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
745 private final RuleCall cOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
746 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
747 private final RuleCall cRightExponentialExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
748
749 //MultiplicativeExpression Expression:
750 // ExponentialExpression ({BinaryExpression.left=current} op=MultiplicativeBinaryOperator right=ExponentialExpression)*;
306 @Override public ParserRule getRule() { return rule; } 751 @Override public ParserRule getRule() { return rule; }
307 752
308 //ModelSymbol | PartialitySymbol | DataSymbol 753 //ExponentialExpression ({BinaryExpression.left=current} op=MultiplicativeBinaryOperator right=ExponentialExpression)*
309 public Alternatives getAlternatives() { return cAlternatives; } 754 public Group getGroup() { return cGroup; }
755
756 //ExponentialExpression
757 public RuleCall getExponentialExpressionParserRuleCall_0() { return cExponentialExpressionParserRuleCall_0; }
758
759 //({BinaryExpression.left=current} op=MultiplicativeBinaryOperator right=ExponentialExpression)*
760 public Group getGroup_1() { return cGroup_1; }
761
762 //{BinaryExpression.left=current}
763 public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; }
310 764
311 //ModelSymbol 765 //op=MultiplicativeBinaryOperator
312 public RuleCall getModelSymbolParserRuleCall_0() { return cModelSymbolParserRuleCall_0; } 766 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; }
313 767
314 //PartialitySymbol 768 //MultiplicativeBinaryOperator
315 public RuleCall getPartialitySymbolParserRuleCall_1() { return cPartialitySymbolParserRuleCall_1; } 769 public RuleCall getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0() { return cOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0; }
316 770
317 //DataSymbol 771 //right=ExponentialExpression
318 public RuleCall getDataSymbolParserRuleCall_2() { return cDataSymbolParserRuleCall_2; } 772 public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
773
774 //ExponentialExpression
775 public RuleCall getRightExponentialExpressionParserRuleCall_1_2_0() { return cRightExponentialExpressionParserRuleCall_1_2_0; }
319 } 776 }
320 public class ModelSymbolElements extends AbstractParserRuleElementFinder { 777 public class ExponentialExpressionElements extends AbstractParserRuleElementFinder {
321 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); 778 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression");
322 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1); 779 private final Group cGroup = (Group)rule.eContents().get(1);
323 private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0); 780 private final RuleCall cUnaryExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
781 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
782 private final Action cBinaryExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
783 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
784 private final RuleCall cOpExponentialOpEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
785 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
786 private final RuleCall cRightExponentialExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
787
788 //ExponentialExpression Expression:
789 // UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?;
790 @Override public ParserRule getRule() { return rule; }
791
792 //UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?
793 public Group getGroup() { return cGroup; }
794
795 //UnaryExpression
796 public RuleCall getUnaryExpressionParserRuleCall_0() { return cUnaryExpressionParserRuleCall_0; }
797
798 //({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?
799 public Group getGroup_1() { return cGroup_1; }
324 800
325 //ModelSymbol: 801 //{BinaryExpression.left=current}
326 // name=ID; 802 public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; }
803
804 //op=ExponentialOp
805 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; }
806
807 //ExponentialOp
808 public RuleCall getOpExponentialOpEnumRuleCall_1_1_0() { return cOpExponentialOpEnumRuleCall_1_1_0; }
809
810 //right=ExponentialExpression
811 public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
812
813 //ExponentialExpression
814 public RuleCall getRightExponentialExpressionParserRuleCall_1_2_0() { return cRightExponentialExpressionParserRuleCall_1_2_0; }
815 }
816 public class UnaryExpressionElements extends AbstractParserRuleElementFinder {
817 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryExpression");
818 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
819 private final RuleCall cAggregationExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
820 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
821 private final Action cUnaryExpressionAction_1_0 = (Action)cGroup_1.eContents().get(0);
822 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
823 private final RuleCall cOpUnaryOpEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
824 private final Assignment cBodyAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
825 private final RuleCall cBodyAggregationExpressionParserRuleCall_1_2_0 = (RuleCall)cBodyAssignment_1_2.eContents().get(0);
826
827 //UnaryExpression Expression:
828 // AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression;
327 @Override public ParserRule getRule() { return rule; } 829 @Override public ParserRule getRule() { return rule; }
328 830
329 //name=ID 831 //AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression
330 public Assignment getNameAssignment() { return cNameAssignment; } 832 public Alternatives getAlternatives() { return cAlternatives; }
331 833
332 //ID 834 //AggregationExpression
333 public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } 835 public RuleCall getAggregationExpressionParserRuleCall_0() { return cAggregationExpressionParserRuleCall_0; }
836
837 //{UnaryExpression} op=UnaryOp body=AggregationExpression
838 public Group getGroup_1() { return cGroup_1; }
839
840 //{UnaryExpression}
841 public Action getUnaryExpressionAction_1_0() { return cUnaryExpressionAction_1_0; }
842
843 //op=UnaryOp
844 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; }
845
846 //UnaryOp
847 public RuleCall getOpUnaryOpEnumRuleCall_1_1_0() { return cOpUnaryOpEnumRuleCall_1_1_0; }
848
849 //body=AggregationExpression
850 public Assignment getBodyAssignment_1_2() { return cBodyAssignment_1_2; }
851
852 //AggregationExpression
853 public RuleCall getBodyAggregationExpressionParserRuleCall_1_2_0() { return cBodyAggregationExpressionParserRuleCall_1_2_0; }
334 } 854 }
335 public class PartialitySymbolElements extends AbstractParserRuleElementFinder { 855 public class AggregationExpressionElements extends AbstractParserRuleElementFinder {
336 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PartialitySymbol"); 856 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression");
337 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 857 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
338 private final RuleCall cExistSymbolParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 858 private final RuleCall cAtomicExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
339 private final RuleCall cEqualsSymbolParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 859 private final RuleCall cCountParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
860 private final RuleCall cAggregationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
340 861
341 //PartialitySymbol: 862 //AggregationExpression Expression:
342 // ExistSymbol | EqualsSymbol; 863 // AtomicExpression | Count | Aggregation;
343 @Override public ParserRule getRule() { return rule; } 864 @Override public ParserRule getRule() { return rule; }
344 865
345 //ExistSymbol | EqualsSymbol 866 //AtomicExpression | Count | Aggregation
346 public Alternatives getAlternatives() { return cAlternatives; } 867 public Alternatives getAlternatives() { return cAlternatives; }
347 868
348 //ExistSymbol 869 //AtomicExpression
349 public RuleCall getExistSymbolParserRuleCall_0() { return cExistSymbolParserRuleCall_0; } 870 public RuleCall getAtomicExpressionParserRuleCall_0() { return cAtomicExpressionParserRuleCall_0; }
871
872 //Count
873 public RuleCall getCountParserRuleCall_1() { return cCountParserRuleCall_1; }
350 874
351 //EqualsSymbol 875 //Aggregation
352 public RuleCall getEqualsSymbolParserRuleCall_1() { return cEqualsSymbolParserRuleCall_1; } 876 public RuleCall getAggregationParserRuleCall_2() { return cAggregationParserRuleCall_2; }
353 } 877 }
354 public class ExistSymbolElements extends AbstractParserRuleElementFinder { 878 public class CountElements extends AbstractParserRuleElementFinder {
355 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExistSymbol"); 879 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Count");
356 private final Group cGroup = (Group)rule.eContents().get(1); 880 private final Group cGroup = (Group)rule.eContents().get(1);
357 private final Keyword cExistsKeyword_0 = (Keyword)cGroup.eContents().get(0); 881 private final Keyword cCountKeyword_0 = (Keyword)cGroup.eContents().get(0);
358 private final Action cExistSymbolAction_1 = (Action)cGroup.eContents().get(1); 882 private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
359 883 private final Assignment cBodyAssignment_2 = (Assignment)cGroup.eContents().get(2);
360 //ExistSymbol: 884 private final RuleCall cBodyExpressionParserRuleCall_2_0 = (RuleCall)cBodyAssignment_2.eContents().get(0);
361 // 'exists' {ExistSymbol}; 885 private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
886
887 //Count:
888 // "count" "{" body=Expression "}";
362 @Override public ParserRule getRule() { return rule; } 889 @Override public ParserRule getRule() { return rule; }
363 890
364 //'exists' {ExistSymbol} 891 //"count" "{" body=Expression "}"
365 public Group getGroup() { return cGroup; } 892 public Group getGroup() { return cGroup; }
366 893
367 //'exists' 894 //"count"
368 public Keyword getExistsKeyword_0() { return cExistsKeyword_0; } 895 public Keyword getCountKeyword_0() { return cCountKeyword_0; }
896
897 //"{"
898 public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
369 899
370 //{ExistSymbol} 900 //body=Expression
371 public Action getExistSymbolAction_1() { return cExistSymbolAction_1; } 901 public Assignment getBodyAssignment_2() { return cBodyAssignment_2; }
902
903 //Expression
904 public RuleCall getBodyExpressionParserRuleCall_2_0() { return cBodyExpressionParserRuleCall_2_0; }
905
906 //"}"
907 public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; }
372 } 908 }
373 public class EqualsSymbolElements extends AbstractParserRuleElementFinder { 909 public class AggregationElements extends AbstractParserRuleElementFinder {
374 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EqualsSymbol"); 910 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Aggregation");
375 private final Group cGroup = (Group)rule.eContents().get(1); 911 private final Group cGroup = (Group)rule.eContents().get(1);
376 private final Keyword cEqualsKeyword_0 = (Keyword)cGroup.eContents().get(0); 912 private final Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0);
377 private final Action cEqualsSymbolAction_1 = (Action)cGroup.eContents().get(1); 913 private final RuleCall cOpAggregationOpEnumRuleCall_0_0 = (RuleCall)cOpAssignment_0.eContents().get(0);
378 914 private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
379 //EqualsSymbol: 915 private final Assignment cBodyAssignment_2 = (Assignment)cGroup.eContents().get(2);
380 // 'equals' {EqualsSymbol}; 916 private final RuleCall cBodyExpressionParserRuleCall_2_0 = (RuleCall)cBodyAssignment_2.eContents().get(0);
917 private final Keyword cVerticalLineKeyword_3 = (Keyword)cGroup.eContents().get(3);
918 private final Assignment cConditionAssignment_4 = (Assignment)cGroup.eContents().get(4);
919 private final RuleCall cConditionExpressionParserRuleCall_4_0 = (RuleCall)cConditionAssignment_4.eContents().get(0);
920 private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
921
922 //Aggregation:
923 // op=AggregationOp "{" body=Expression "|" condition=Expression "}";
381 @Override public ParserRule getRule() { return rule; } 924 @Override public ParserRule getRule() { return rule; }
382 925
383 //'equals' {EqualsSymbol} 926 //op=AggregationOp "{" body=Expression "|" condition=Expression "}"
384 public Group getGroup() { return cGroup; } 927 public Group getGroup() { return cGroup; }
385 928
386 //'equals' 929 //op=AggregationOp
387 public Keyword getEqualsKeyword_0() { return cEqualsKeyword_0; } 930 public Assignment getOpAssignment_0() { return cOpAssignment_0; }
931
932 //AggregationOp
933 public RuleCall getOpAggregationOpEnumRuleCall_0_0() { return cOpAggregationOpEnumRuleCall_0_0; }
934
935 //"{"
936 public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
937
938 //body=Expression
939 public Assignment getBodyAssignment_2() { return cBodyAssignment_2; }
388 940
389 //{EqualsSymbol} 941 //Expression
390 public Action getEqualsSymbolAction_1() { return cEqualsSymbolAction_1; } 942 public RuleCall getBodyExpressionParserRuleCall_2_0() { return cBodyExpressionParserRuleCall_2_0; }
943
944 //"|"
945 public Keyword getVerticalLineKeyword_3() { return cVerticalLineKeyword_3; }
946
947 //condition=Expression
948 public Assignment getConditionAssignment_4() { return cConditionAssignment_4; }
949
950 //Expression
951 public RuleCall getConditionExpressionParserRuleCall_4_0() { return cConditionExpressionParserRuleCall_4_0; }
952
953 //"}"
954 public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
391 } 955 }
392 public class DataSymbolElements extends AbstractParserRuleElementFinder { 956 public class AtomicExpressionElements extends AbstractParserRuleElementFinder {
393 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DataSymbol"); 957 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AtomicExpression");
394 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 958 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
395 private final RuleCall cBooleanSymbolParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 959 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
396 private final RuleCall cIntegerSymbolParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 960 private final RuleCall cReferenceParserRuleCall_0_0 = (RuleCall)cGroup_0.eContents().get(0);
397 private final RuleCall cRealSymbolParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 961 private final Group cGroup_0_1 = (Group)cGroup_0.eContents().get(1);
398 private final RuleCall cStringSymbolParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); 962 private final Action cCallFunctorAction_0_1_0 = (Action)cGroup_0_1.eContents().get(0);
963 private final Assignment cArgumentListAssignment_0_1_1 = (Assignment)cGroup_0_1.eContents().get(1);
964 private final RuleCall cArgumentListArgumentListParserRuleCall_0_1_1_0 = (RuleCall)cArgumentListAssignment_0_1_1.eContents().get(0);
965 private final RuleCall cIntervalParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
966 private final RuleCall cLiteralParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
967 private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3);
968 private final Keyword cLeftParenthesisKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
969 private final RuleCall cExpressionParserRuleCall_3_1 = (RuleCall)cGroup_3.eContents().get(1);
970 private final Keyword cRightParenthesisKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
399 971
400 //DataSymbol: 972 //AtomicExpression Expression:
401 // BooleanSymbol | IntegerSymbol | RealSymbol | StringSymbol; 973 // Reference ({Call.functor=current} -> argumentList=ArgumentList)? | Interval | Literal | "(" Expression ")";
402 @Override public ParserRule getRule() { return rule; } 974 @Override public ParserRule getRule() { return rule; }
403 975
404 //BooleanSymbol | IntegerSymbol | RealSymbol | StringSymbol 976 //Reference ({Call.functor=current} -> argumentList=ArgumentList)? | Interval | Literal | "(" Expression ")"
405 public Alternatives getAlternatives() { return cAlternatives; } 977 public Alternatives getAlternatives() { return cAlternatives; }
406 978
407 //BooleanSymbol 979 //Reference ({Call.functor=current} -> argumentList=ArgumentList)?
408 public RuleCall getBooleanSymbolParserRuleCall_0() { return cBooleanSymbolParserRuleCall_0; } 980 public Group getGroup_0() { return cGroup_0; }
981
982 //Reference
983 public RuleCall getReferenceParserRuleCall_0_0() { return cReferenceParserRuleCall_0_0; }
984
985 //({Call.functor=current} -> argumentList=ArgumentList)?
986 public Group getGroup_0_1() { return cGroup_0_1; }
987
988 //{Call.functor=current}
989 public Action getCallFunctorAction_0_1_0() { return cCallFunctorAction_0_1_0; }
990
991 //-> argumentList=ArgumentList
992 public Assignment getArgumentListAssignment_0_1_1() { return cArgumentListAssignment_0_1_1; }
993
994 //ArgumentList
995 public RuleCall getArgumentListArgumentListParserRuleCall_0_1_1_0() { return cArgumentListArgumentListParserRuleCall_0_1_1_0; }
996
997 //Interval
998 public RuleCall getIntervalParserRuleCall_1() { return cIntervalParserRuleCall_1; }
999
1000 //Literal
1001 public RuleCall getLiteralParserRuleCall_2() { return cLiteralParserRuleCall_2; }
1002
1003 //"(" Expression ")"
1004 public Group getGroup_3() { return cGroup_3; }
409 1005
410 //IntegerSymbol 1006 //"("
411 public RuleCall getIntegerSymbolParserRuleCall_1() { return cIntegerSymbolParserRuleCall_1; } 1007 public Keyword getLeftParenthesisKeyword_3_0() { return cLeftParenthesisKeyword_3_0; }
412 1008
413 //RealSymbol 1009 //Expression
414 public RuleCall getRealSymbolParserRuleCall_2() { return cRealSymbolParserRuleCall_2; } 1010 public RuleCall getExpressionParserRuleCall_3_1() { return cExpressionParserRuleCall_3_1; }
415 1011
416 //StringSymbol 1012 //")"
417 public RuleCall getStringSymbolParserRuleCall_3() { return cStringSymbolParserRuleCall_3; } 1013 public Keyword getRightParenthesisKeyword_3_2() { return cRightParenthesisKeyword_3_2; }
418 } 1014 }
419 public class BooleanSymbolElements extends AbstractParserRuleElementFinder { 1015 public class CallElements extends AbstractParserRuleElementFinder {
420 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BooleanSymbol"); 1016 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Call");
421 private final Group cGroup = (Group)rule.eContents().get(1); 1017 private final Group cGroup = (Group)rule.eContents().get(1);
422 private final Keyword cBoolKeyword_0 = (Keyword)cGroup.eContents().get(0); 1018 private final Assignment cFunctorAssignment_0 = (Assignment)cGroup.eContents().get(0);
423 private final Action cBooleanSymbolAction_1 = (Action)cGroup.eContents().get(1); 1019 private final RuleCall cFunctorReferenceParserRuleCall_0_0 = (RuleCall)cFunctorAssignment_0.eContents().get(0);
424 1020 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
425 //BooleanSymbol: 1021 private final Assignment cTransitiveClosureAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0);
426 // 'bool' {BooleanSymbol}; 1022 private final RuleCall cTransitiveClosureSTARTerminalRuleCall_1_0_0 = (RuleCall)cTransitiveClosureAssignment_1_0.eContents().get(0);
1023 private final Assignment cReflexiveTransitiveClosureAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1);
1024 private final RuleCall cReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0 = (RuleCall)cReflexiveTransitiveClosureAssignment_1_1.eContents().get(0);
1025 private final Assignment cArgumentListAssignment_2 = (Assignment)cGroup.eContents().get(2);
1026 private final RuleCall cArgumentListArgumentListParserRuleCall_2_0 = (RuleCall)cArgumentListAssignment_2.eContents().get(0);
1027
1028 //Call:
1029 // functor=Reference (transitiveClosure?=STAR | reflexiveTransitiveClosure?=PLUS)? argumentList=ArgumentList;
427 @Override public ParserRule getRule() { return rule; } 1030 @Override public ParserRule getRule() { return rule; }
428 1031
429 //'bool' {BooleanSymbol} 1032 //functor=Reference (transitiveClosure?=STAR | reflexiveTransitiveClosure?=PLUS)? argumentList=ArgumentList
430 public Group getGroup() { return cGroup; } 1033 public Group getGroup() { return cGroup; }
431 1034
432 //'bool' 1035 //functor=Reference
433 public Keyword getBoolKeyword_0() { return cBoolKeyword_0; } 1036 public Assignment getFunctorAssignment_0() { return cFunctorAssignment_0; }
1037
1038 //Reference
1039 public RuleCall getFunctorReferenceParserRuleCall_0_0() { return cFunctorReferenceParserRuleCall_0_0; }
1040
1041 //(transitiveClosure?=STAR | reflexiveTransitiveClosure?=PLUS)?
1042 public Alternatives getAlternatives_1() { return cAlternatives_1; }
1043
1044 //transitiveClosure?=STAR
1045 public Assignment getTransitiveClosureAssignment_1_0() { return cTransitiveClosureAssignment_1_0; }
1046
1047 //STAR
1048 public RuleCall getTransitiveClosureSTARTerminalRuleCall_1_0_0() { return cTransitiveClosureSTARTerminalRuleCall_1_0_0; }
1049
1050 //reflexiveTransitiveClosure?=PLUS
1051 public Assignment getReflexiveTransitiveClosureAssignment_1_1() { return cReflexiveTransitiveClosureAssignment_1_1; }
1052
1053 //PLUS
1054 public RuleCall getReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0() { return cReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0; }
434 1055
435 //{BooleanSymbol} 1056 //argumentList=ArgumentList
436 public Action getBooleanSymbolAction_1() { return cBooleanSymbolAction_1; } 1057 public Assignment getArgumentListAssignment_2() { return cArgumentListAssignment_2; }
1058
1059 //ArgumentList
1060 public RuleCall getArgumentListArgumentListParserRuleCall_2_0() { return cArgumentListArgumentListParserRuleCall_2_0; }
437 } 1061 }
438 public class IntegerSymbolElements extends AbstractParserRuleElementFinder { 1062 public class ArgumentListElements extends AbstractParserRuleElementFinder {
439 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IntegerSymbol"); 1063 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
440 private final Group cGroup = (Group)rule.eContents().get(1); 1064 private final Group cGroup = (Group)rule.eContents().get(1);
441 private final Keyword cIntKeyword_0 = (Keyword)cGroup.eContents().get(0); 1065 private final Action cArgumentListAction_0 = (Action)cGroup.eContents().get(0);
442 private final Action cIntegerSymbolAction_1 = (Action)cGroup.eContents().get(1); 1066 private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
1067 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
1068 private final Assignment cArgumentsAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
1069 private final RuleCall cArgumentsArgumentParserRuleCall_2_0_0 = (RuleCall)cArgumentsAssignment_2_0.eContents().get(0);
1070 private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1);
1071 private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0);
1072 private final Assignment cArgumentsAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1);
1073 private final RuleCall cArgumentsArgumentParserRuleCall_2_1_1_0 = (RuleCall)cArgumentsAssignment_2_1_1.eContents().get(0);
1074 private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
443 1075
444 //IntegerSymbol: 1076 //ArgumentList:
445 // 'int' {IntegerSymbol}; 1077 // {ArgumentList} "(" (arguments+=Argument ("," arguments+=Argument)*)? ")";
446 @Override public ParserRule getRule() { return rule; } 1078 @Override public ParserRule getRule() { return rule; }
447 1079
448 //'int' {IntegerSymbol} 1080 //{ArgumentList} "(" (arguments+=Argument ("," arguments+=Argument)*)? ")"
449 public Group getGroup() { return cGroup; } 1081 public Group getGroup() { return cGroup; }
450 1082
451 //'int' 1083 //{ArgumentList}
452 public Keyword getIntKeyword_0() { return cIntKeyword_0; } 1084 public Action getArgumentListAction_0() { return cArgumentListAction_0; }
1085
1086 //"("
1087 public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
1088
1089 //(arguments+=Argument ("," arguments+=Argument)*)?
1090 public Group getGroup_2() { return cGroup_2; }
1091
1092 //arguments+=Argument
1093 public Assignment getArgumentsAssignment_2_0() { return cArgumentsAssignment_2_0; }
1094
1095 //Argument
1096 public RuleCall getArgumentsArgumentParserRuleCall_2_0_0() { return cArgumentsArgumentParserRuleCall_2_0_0; }
1097
1098 //("," arguments+=Argument)*
1099 public Group getGroup_2_1() { return cGroup_2_1; }
1100
1101 //","
1102 public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; }
1103
1104 //arguments+=Argument
1105 public Assignment getArgumentsAssignment_2_1_1() { return cArgumentsAssignment_2_1_1; }
1106
1107 //Argument
1108 public RuleCall getArgumentsArgumentParserRuleCall_2_1_1_0() { return cArgumentsArgumentParserRuleCall_2_1_1_0; }
453 1109
454 //{IntegerSymbol} 1110 //")"
455 public Action getIntegerSymbolAction_1() { return cIntegerSymbolAction_1; } 1111 public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
456 } 1112 }
457 public class RealSymbolElements extends AbstractParserRuleElementFinder { 1113 public class ArgumentElements extends AbstractParserRuleElementFinder {
458 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.RealSymbol"); 1114 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Argument");
1115 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1116 private final RuleCall cExpressionArgumentParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1117 private final RuleCall cStarArgumentParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1118 private final RuleCall cTypedArgumentParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
1119 private final RuleCall cTypedStarArgumentParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
1120
1121 //Argument:
1122 // ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument;
1123 @Override public ParserRule getRule() { return rule; }
1124
1125 //ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument
1126 public Alternatives getAlternatives() { return cAlternatives; }
1127
1128 //ExpressionArgument
1129 public RuleCall getExpressionArgumentParserRuleCall_0() { return cExpressionArgumentParserRuleCall_0; }
1130
1131 //StarArgument
1132 public RuleCall getStarArgumentParserRuleCall_1() { return cStarArgumentParserRuleCall_1; }
1133
1134 //TypedArgument
1135 public RuleCall getTypedArgumentParserRuleCall_2() { return cTypedArgumentParserRuleCall_2; }
1136
1137 //TypedStarArgument
1138 public RuleCall getTypedStarArgumentParserRuleCall_3() { return cTypedStarArgumentParserRuleCall_3; }
1139 }
1140 public class ExpressionArgumentElements extends AbstractParserRuleElementFinder {
1141 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExpressionArgument");
1142 private final Assignment cBodyAssignment = (Assignment)rule.eContents().get(1);
1143 private final RuleCall cBodyComparisonExpressionParserRuleCall_0 = (RuleCall)cBodyAssignment.eContents().get(0);
1144
1145 //ExpressionArgument:
1146 // body=ComparisonExpression;
1147 @Override public ParserRule getRule() { return rule; }
1148
1149 //body=ComparisonExpression
1150 public Assignment getBodyAssignment() { return cBodyAssignment; }
1151
1152 //ComparisonExpression
1153 public RuleCall getBodyComparisonExpressionParserRuleCall_0() { return cBodyComparisonExpressionParserRuleCall_0; }
1154 }
1155 public class StarArgumentElements extends AbstractParserRuleElementFinder {
1156 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StarArgument");
459 private final Group cGroup = (Group)rule.eContents().get(1); 1157 private final Group cGroup = (Group)rule.eContents().get(1);
460 private final Keyword cRealKeyword_0 = (Keyword)cGroup.eContents().get(0); 1158 private final Action cStarArgumentAction_0 = (Action)cGroup.eContents().get(0);
461 private final Action cRealSymbolAction_1 = (Action)cGroup.eContents().get(1); 1159 private final Keyword cAsteriskKeyword_1 = (Keyword)cGroup.eContents().get(1);
462 1160
463 //RealSymbol: 1161 //StarArgument:
464 // 'real' {RealSymbol}; 1162 // {StarArgument} "*";
465 @Override public ParserRule getRule() { return rule; } 1163 @Override public ParserRule getRule() { return rule; }
466 1164
467 //'real' {RealSymbol} 1165 //{StarArgument} "*"
468 public Group getGroup() { return cGroup; } 1166 public Group getGroup() { return cGroup; }
469 1167
470 //'real' 1168 //{StarArgument}
471 public Keyword getRealKeyword_0() { return cRealKeyword_0; } 1169 public Action getStarArgumentAction_0() { return cStarArgumentAction_0; }
472 1170
473 //{RealSymbol} 1171 //"*"
474 public Action getRealSymbolAction_1() { return cRealSymbolAction_1; } 1172 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; }
475 } 1173 }
476 public class StringSymbolElements extends AbstractParserRuleElementFinder { 1174 public class TypedArgumentElements extends AbstractParserRuleElementFinder {
477 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StringSymbol"); 1175 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypedArgument");
478 private final Group cGroup = (Group)rule.eContents().get(1); 1176 private final Group cGroup = (Group)rule.eContents().get(1);
479 private final Keyword cStringKeyword_0 = (Keyword)cGroup.eContents().get(0); 1177 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
480 private final Action cStringSymbolAction_1 = (Action)cGroup.eContents().get(1); 1178 private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0);
481 1179 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1);
482 //StringSymbol: 1180 private final Assignment cVariableAssignment_1 = (Assignment)cGroup.eContents().get(1);
483 // 'string' {StringSymbol}; 1181 private final CrossReference cVariableNamedElementCrossReference_1_0 = (CrossReference)cVariableAssignment_1.eContents().get(0);
1182 private final RuleCall cVariableNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cVariableNamedElementCrossReference_1_0.eContents().get(1);
1183
1184 //TypedArgument:
1185 // type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName];
484 @Override public ParserRule getRule() { return rule; } 1186 @Override public ParserRule getRule() { return rule; }
485 1187
486 //'string' {StringSymbol} 1188 //type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName]
487 public Group getGroup() { return cGroup; } 1189 public Group getGroup() { return cGroup; }
488 1190
489 //'string' 1191 //type=[NamedElement|QualifiedName]
490 public Keyword getStringKeyword_0() { return cStringKeyword_0; } 1192 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; }
491 1193
492 //{StringSymbol} 1194 //[NamedElement|QualifiedName]
493 public Action getStringSymbolAction_1() { return cStringSymbolAction_1; } 1195 public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; }
1196
1197 //QualifiedName
1198 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; }
1199
1200 //variable=[NamedElement|QualifiedName]
1201 public Assignment getVariableAssignment_1() { return cVariableAssignment_1; }
1202
1203 //[NamedElement|QualifiedName]
1204 public CrossReference getVariableNamedElementCrossReference_1_0() { return cVariableNamedElementCrossReference_1_0; }
1205
1206 //QualifiedName
1207 public RuleCall getVariableNamedElementQualifiedNameParserRuleCall_1_0_1() { return cVariableNamedElementQualifiedNameParserRuleCall_1_0_1; }
494 } 1208 }
495 public class ComplexObjectElements extends AbstractParserRuleElementFinder { 1209 public class TypedStarArgumentElements extends AbstractParserRuleElementFinder {
496 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject"); 1210 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypedStarArgument");
497 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1211 private final Group cGroup = (Group)rule.eContents().get(1);
498 private final RuleCall cObjectParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1212 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
499 private final RuleCall cAllInstancesParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 1213 private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0);
500 private final RuleCall cAllObjectsParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 1214 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1);
1215 private final Keyword cAsteriskKeyword_1 = (Keyword)cGroup.eContents().get(1);
501 1216
502 //ComplexObject: 1217 //TypedStarArgument:
503 // Object | AllInstances | AllObjects; 1218 // type=[NamedElement|QualifiedName] "*";
504 @Override public ParserRule getRule() { return rule; } 1219 @Override public ParserRule getRule() { return rule; }
505 1220
506 //Object | AllInstances | AllObjects 1221 //type=[NamedElement|QualifiedName] "*"
507 public Alternatives getAlternatives() { return cAlternatives; } 1222 public Group getGroup() { return cGroup; }
508 1223
509 //Object 1224 //type=[NamedElement|QualifiedName]
510 public RuleCall getObjectParserRuleCall_0() { return cObjectParserRuleCall_0; } 1225 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; }
511 1226
512 //AllInstances 1227 //[NamedElement|QualifiedName]
513 public RuleCall getAllInstancesParserRuleCall_1() { return cAllInstancesParserRuleCall_1; } 1228 public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; }
514 1229
515 //AllObjects 1230 //QualifiedName
516 public RuleCall getAllObjectsParserRuleCall_2() { return cAllObjectsParserRuleCall_2; } 1231 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; }
1232
1233 //"*"
1234 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; }
517 } 1235 }
518 public class ObjectElements extends AbstractParserRuleElementFinder { 1236 public class ReferenceElements extends AbstractParserRuleElementFinder {
519 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Object"); 1237 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Reference");
520 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1238 private final Assignment cReferredAssignment = (Assignment)rule.eContents().get(1);
521 private final RuleCall cNamedObjectParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1239 private final CrossReference cReferredNamedElementCrossReference_0 = (CrossReference)cReferredAssignment.eContents().get(0);
522 private final RuleCall cUnnamedObjectParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 1240 private final RuleCall cReferredNamedElementQualifiedNameParserRuleCall_0_1 = (RuleCall)cReferredNamedElementCrossReference_0.eContents().get(1);
523 private final RuleCall cDataObjectParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
524 1241
525 //Object: 1242 //Reference:
526 // NamedObject | UnnamedObject | DataObject; 1243 // referred=[NamedElement|QualifiedName];
527 @Override public ParserRule getRule() { return rule; } 1244 @Override public ParserRule getRule() { return rule; }
528 1245
529 //NamedObject | UnnamedObject | DataObject 1246 //referred=[NamedElement|QualifiedName]
530 public Alternatives getAlternatives() { return cAlternatives; } 1247 public Assignment getReferredAssignment() { return cReferredAssignment; }
531
532 //NamedObject
533 public RuleCall getNamedObjectParserRuleCall_0() { return cNamedObjectParserRuleCall_0; }
534 1248
535 //UnnamedObject 1249 //[NamedElement|QualifiedName]
536 public RuleCall getUnnamedObjectParserRuleCall_1() { return cUnnamedObjectParserRuleCall_1; } 1250 public CrossReference getReferredNamedElementCrossReference_0() { return cReferredNamedElementCrossReference_0; }
537 1251
538 //DataObject 1252 //QualifiedName
539 public RuleCall getDataObjectParserRuleCall_2() { return cDataObjectParserRuleCall_2; } 1253 public RuleCall getReferredNamedElementQualifiedNameParserRuleCall_0_1() { return cReferredNamedElementQualifiedNameParserRuleCall_0_1; }
540 } 1254 }
541 public class NamedObjectElements extends AbstractParserRuleElementFinder { 1255 public class IntervalElements extends AbstractParserRuleElementFinder {
542 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NamedObject"); 1256 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Interval");
543 private final Group cGroup = (Group)rule.eContents().get(1); 1257 private final Group cGroup = (Group)rule.eContents().get(1);
544 private final Keyword cApostropheKeyword_0 = (Keyword)cGroup.eContents().get(0); 1258 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
545 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); 1259 private final Assignment cLowerBoundAssignment_1 = (Assignment)cGroup.eContents().get(1);
546 private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); 1260 private final RuleCall cLowerBoundExpressionParserRuleCall_1_0 = (RuleCall)cLowerBoundAssignment_1.eContents().get(0);
547 private final Keyword cApostropheKeyword_2 = (Keyword)cGroup.eContents().get(2); 1261 private final Keyword cFullStopFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
548 1262 private final Assignment cUpperBoundAssignment_3 = (Assignment)cGroup.eContents().get(3);
549 //NamedObject: 1263 private final RuleCall cUpperBoundExpressionParserRuleCall_3_0 = (RuleCall)cUpperBoundAssignment_3.eContents().get(0);
550 // "'" name=ID "'"; 1264 private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
1265
1266 //Interval:
1267 // "[" lowerBound=Expression ".." upperBound=Expression "]";
551 @Override public ParserRule getRule() { return rule; } 1268 @Override public ParserRule getRule() { return rule; }
552 1269
553 //"'" name=ID "'" 1270 //"[" lowerBound=Expression ".." upperBound=Expression "]"
554 public Group getGroup() { return cGroup; } 1271 public Group getGroup() { return cGroup; }
555 1272
556 //"'" 1273 //"["
557 public Keyword getApostropheKeyword_0() { return cApostropheKeyword_0; } 1274 public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; }
558 1275
559 //name=ID 1276 //lowerBound=Expression
560 public Assignment getNameAssignment_1() { return cNameAssignment_1; } 1277 public Assignment getLowerBoundAssignment_1() { return cLowerBoundAssignment_1; }
561 1278
562 //ID 1279 //Expression
563 public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } 1280 public RuleCall getLowerBoundExpressionParserRuleCall_1_0() { return cLowerBoundExpressionParserRuleCall_1_0; }
564 1281
565 //"'" 1282 //".."
566 public Keyword getApostropheKeyword_2() { return cApostropheKeyword_2; } 1283 public Keyword getFullStopFullStopKeyword_2() { return cFullStopFullStopKeyword_2; }
567 }
568 public class UnnamedObjectElements extends AbstractParserRuleElementFinder {
569 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnnamedObject");
570 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
571 private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
572 1284
573 //UnnamedObject: 1285 //upperBound=Expression
574 // name=ID; 1286 public Assignment getUpperBoundAssignment_3() { return cUpperBoundAssignment_3; }
575 @Override public ParserRule getRule() { return rule; }
576 1287
577 //name=ID 1288 //Expression
578 public Assignment getNameAssignment() { return cNameAssignment; } 1289 public RuleCall getUpperBoundExpressionParserRuleCall_3_0() { return cUpperBoundExpressionParserRuleCall_3_0; }
579 1290
580 //ID 1291 //"]"
581 public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } 1292 public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; }
582 } 1293 }
583 public class DataObjectElements extends AbstractParserRuleElementFinder { 1294 public class LiteralElements extends AbstractParserRuleElementFinder {
584 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DataObject"); 1295 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
585 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1296 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
586 private final RuleCall cBooleanObjectParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1297 private final RuleCall cLogicLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
587 private final RuleCall cIntObjectParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 1298 private final RuleCall cNumericLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
588 private final RuleCall cRealObjectParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 1299 private final RuleCall cInfinityLiteralParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
589 private final RuleCall cStringObjectParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); 1300 private final RuleCall cEmptyIntervalLiteralParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
1301 private final RuleCall cStringLiteralParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
590 1302
591 //DataObject: 1303 //Literal:
592 // BooleanObject | IntObject | RealObject | StringObject; 1304 // LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral;
593 @Override public ParserRule getRule() { return rule; } 1305 @Override public ParserRule getRule() { return rule; }
594 1306
595 //BooleanObject | IntObject | RealObject | StringObject 1307 //LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral
596 public Alternatives getAlternatives() { return cAlternatives; } 1308 public Alternatives getAlternatives() { return cAlternatives; }
597 1309
598 //BooleanObject 1310 //LogicLiteral
599 public RuleCall getBooleanObjectParserRuleCall_0() { return cBooleanObjectParserRuleCall_0; } 1311 public RuleCall getLogicLiteralParserRuleCall_0() { return cLogicLiteralParserRuleCall_0; }
1312
1313 //NumericLiteral
1314 public RuleCall getNumericLiteralParserRuleCall_1() { return cNumericLiteralParserRuleCall_1; }
600 1315
601 //IntObject 1316 //InfinityLiteral
602 public RuleCall getIntObjectParserRuleCall_1() { return cIntObjectParserRuleCall_1; } 1317 public RuleCall getInfinityLiteralParserRuleCall_2() { return cInfinityLiteralParserRuleCall_2; }
603 1318
604 //RealObject 1319 //EmptyIntervalLiteral
605 public RuleCall getRealObjectParserRuleCall_2() { return cRealObjectParserRuleCall_2; } 1320 public RuleCall getEmptyIntervalLiteralParserRuleCall_3() { return cEmptyIntervalLiteralParserRuleCall_3; }
606 1321
607 //StringObject 1322 //StringLiteral
608 public RuleCall getStringObjectParserRuleCall_3() { return cStringObjectParserRuleCall_3; } 1323 public RuleCall getStringLiteralParserRuleCall_4() { return cStringLiteralParserRuleCall_4; }
609 } 1324 }
610 public class BooleanObjectElements extends AbstractParserRuleElementFinder { 1325 public class LogicLiteralElements extends AbstractParserRuleElementFinder {
611 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BooleanObject"); 1326 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicLiteral");
612 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); 1327 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
613 private final RuleCall cValueBooleanValueParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); 1328 private final RuleCall cValueLogicValueEnumRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
614 1329
615 //BooleanObject: 1330 //LogicLiteral:
616 // value=BooleanValue; 1331 // value=LogicValue;
617 @Override public ParserRule getRule() { return rule; } 1332 @Override public ParserRule getRule() { return rule; }
618 1333
619 //value=BooleanValue 1334 //value=LogicValue
620 public Assignment getValueAssignment() { return cValueAssignment; } 1335 public Assignment getValueAssignment() { return cValueAssignment; }
621 1336
622 //BooleanValue 1337 //LogicValue
623 public RuleCall getValueBooleanValueParserRuleCall_0() { return cValueBooleanValueParserRuleCall_0; } 1338 public RuleCall getValueLogicValueEnumRuleCall_0() { return cValueLogicValueEnumRuleCall_0; }
624 } 1339 }
625 public class IntObjectElements extends AbstractParserRuleElementFinder { 1340 public class NumericLiteralElements extends AbstractParserRuleElementFinder {
626 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IntObject"); 1341 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NumericLiteral");
627 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); 1342 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
628 private final RuleCall cValueINTLiteralParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); 1343 private final RuleCall cValueRealParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
629 1344
630 //IntObject: 1345 //NumericLiteral:
631 // value=INTLiteral; 1346 // value=Real;
632 @Override public ParserRule getRule() { return rule; } 1347 @Override public ParserRule getRule() { return rule; }
633 1348
634 //value=INTLiteral 1349 //value=Real
635 public Assignment getValueAssignment() { return cValueAssignment; } 1350 public Assignment getValueAssignment() { return cValueAssignment; }
636 1351
637 //INTLiteral 1352 //Real
638 public RuleCall getValueINTLiteralParserRuleCall_0() { return cValueINTLiteralParserRuleCall_0; } 1353 public RuleCall getValueRealParserRuleCall_0() { return cValueRealParserRuleCall_0; }
639 } 1354 }
640 public class RealObjectElements extends AbstractParserRuleElementFinder { 1355 public class InfinityLiteralElements extends AbstractParserRuleElementFinder {
641 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.RealObject"); 1356 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.InfinityLiteral");
642 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); 1357 private final Group cGroup = (Group)rule.eContents().get(1);
643 private final RuleCall cValueREALLiteralParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); 1358 private final Action cInfinityLiteralAction_0 = (Action)cGroup.eContents().get(0);
1359 private final Keyword cInfKeyword_1 = (Keyword)cGroup.eContents().get(1);
644 1360
645 //RealObject: 1361 //InfinityLiteral:
646 // value=REALLiteral; 1362 // {InfinityLiteral} "inf";
647 @Override public ParserRule getRule() { return rule; } 1363 @Override public ParserRule getRule() { return rule; }
648 1364
649 //value=REALLiteral 1365 //{InfinityLiteral} "inf"
650 public Assignment getValueAssignment() { return cValueAssignment; } 1366 public Group getGroup() { return cGroup; }
1367
1368 //{InfinityLiteral}
1369 public Action getInfinityLiteralAction_0() { return cInfinityLiteralAction_0; }
651 1370
652 //REALLiteral 1371 //"inf"
653 public RuleCall getValueREALLiteralParserRuleCall_0() { return cValueREALLiteralParserRuleCall_0; } 1372 public Keyword getInfKeyword_1() { return cInfKeyword_1; }
654 } 1373 }
655 public class StringObjectElements extends AbstractParserRuleElementFinder { 1374 public class EmptyIntervalLiteralElements extends AbstractParserRuleElementFinder {
656 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StringObject"); 1375 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EmptyIntervalLiteral");
1376 private final Group cGroup = (Group)rule.eContents().get(1);
1377 private final Action cEmptyIntervalLiteralAction_0 = (Action)cGroup.eContents().get(0);
1378 private final Keyword cEmptyKeyword_1 = (Keyword)cGroup.eContents().get(1);
1379
1380 //EmptyIntervalLiteral:
1381 // {EmptyIntervalLiteral} "empty";
1382 @Override public ParserRule getRule() { return rule; }
1383
1384 //{EmptyIntervalLiteral} "empty"
1385 public Group getGroup() { return cGroup; }
1386
1387 //{EmptyIntervalLiteral}
1388 public Action getEmptyIntervalLiteralAction_0() { return cEmptyIntervalLiteralAction_0; }
1389
1390 //"empty"
1391 public Keyword getEmptyKeyword_1() { return cEmptyKeyword_1; }
1392 }
1393 public class StringLiteralElements extends AbstractParserRuleElementFinder {
1394 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StringLiteral");
657 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); 1395 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
658 private final RuleCall cValueSTRINGTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); 1396 private final RuleCall cValueSTRINGTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
659 1397
660 //StringObject: 1398 //StringLiteral:
661 // value=STRING; 1399 // value=STRING;
662 @Override public ParserRule getRule() { return rule; } 1400 @Override public ParserRule getRule() { return rule; }
663 1401
@@ -667,817 +1405,1189 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
667 //STRING 1405 //STRING
668 public RuleCall getValueSTRINGTerminalRuleCall_0() { return cValueSTRINGTerminalRuleCall_0; } 1406 public RuleCall getValueSTRINGTerminalRuleCall_0() { return cValueSTRINGTerminalRuleCall_0; }
669 } 1407 }
670 public class PredicateElements extends AbstractParserRuleElementFinder { 1408 public class ClassDefinitionElements extends AbstractParserRuleElementFinder {
671 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Predicate"); 1409 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClassDefinition");
672 private final Group cGroup = (Group)rule.eContents().get(1); 1410 private final Group cGroup = (Group)rule.eContents().get(1);
673 private final Assignment cIsErrorAssignment_0 = (Assignment)cGroup.eContents().get(0); 1411 private final Assignment cAbstractAssignment_0 = (Assignment)cGroup.eContents().get(0);
674 private final Keyword cIsErrorErrorKeyword_0_0 = (Keyword)cIsErrorAssignment_0.eContents().get(0); 1412 private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0);
675 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1); 1413 private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1);
676 private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0); 1414 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
677 private final Group cGroup_2 = (Group)cGroup.eContents().get(2); 1415 private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
678 private final Keyword cLeftParenthesisKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); 1416 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
679 private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); 1417 private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
680 private final Assignment cParametersAssignment_2_1_0 = (Assignment)cGroup_2_1.eContents().get(0); 1418 private final Assignment cSuperclassesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
681 private final RuleCall cParametersParameterParserRuleCall_2_1_0_0 = (RuleCall)cParametersAssignment_2_1_0.eContents().get(0); 1419 private final CrossReference cSuperclassesNamedElementCrossReference_3_1_0 = (CrossReference)cSuperclassesAssignment_3_1.eContents().get(0);
682 private final Group cGroup_2_1_1 = (Group)cGroup_2_1.eContents().get(1); 1420 private final RuleCall cSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSuperclassesNamedElementCrossReference_3_1_0.eContents().get(1);
683 private final Keyword cCommaKeyword_2_1_1_0 = (Keyword)cGroup_2_1_1.eContents().get(0); 1421 private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2);
684 private final Assignment cParametersAssignment_2_1_1_1 = (Assignment)cGroup_2_1_1.eContents().get(1); 1422 private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0);
685 private final RuleCall cParametersParameterParserRuleCall_2_1_1_1_0 = (RuleCall)cParametersAssignment_2_1_1_1.eContents().get(0); 1423 private final Assignment cSuperclassesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1);
686 private final Keyword cRightParenthesisKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); 1424 private final CrossReference cSuperclassesNamedElementCrossReference_3_2_1_0 = (CrossReference)cSuperclassesAssignment_3_2_1.eContents().get(0);
687 private final Keyword cColonHyphenMinusKeyword_3 = (Keyword)cGroup.eContents().get(3); 1425 private final RuleCall cSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSuperclassesNamedElementCrossReference_3_2_1_0.eContents().get(1);
688 private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4); 1426 private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
689 private final Keyword cFalseKeyword_4_0 = (Keyword)cAlternatives_4.eContents().get(0); 1427 private final Assignment cMembersAssignment_5 = (Assignment)cGroup.eContents().get(5);
690 private final Group cGroup_4_1 = (Group)cAlternatives_4.eContents().get(1); 1428 private final RuleCall cMembersMemberDefinitionParserRuleCall_5_0 = (RuleCall)cMembersAssignment_5.eContents().get(0);
691 private final Assignment cBodiesAssignment_4_1_0 = (Assignment)cGroup_4_1.eContents().get(0); 1429 private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
692 private final RuleCall cBodiesPatternBodyParserRuleCall_4_1_0_0 = (RuleCall)cBodiesAssignment_4_1_0.eContents().get(0); 1430
693 private final Group cGroup_4_1_1 = (Group)cGroup_4_1.eContents().get(1); 1431 //ClassDefinition Statement:
694 private final Keyword cVerticalLineKeyword_4_1_1_0 = (Keyword)cGroup_4_1_1.eContents().get(0); 1432 // abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] (","
695 private final Assignment cBodiesAssignment_4_1_1_1 = (Assignment)cGroup_4_1_1.eContents().get(1); 1433 // superclasses+=[NamedElement|QualifiedName])*)?
696 private final RuleCall cBodiesPatternBodyParserRuleCall_4_1_1_1_0 = (RuleCall)cBodiesAssignment_4_1_1_1.eContents().get(0); 1434 // "{" members+=MemberDefinition* "}";
697 private final Keyword cFullStopKeyword_5 = (Keyword)cGroup.eContents().get(5);
698
699 /////////////////////
700 //// Predicte grammar
701 /////////////////////
702 //Predicate:
703 // isError?='error'? symbol=ModelSymbol ('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? ':-' ('false' |
704 // bodies+=PatternBody ('|' bodies+=PatternBody)*) '.';
705 @Override public ParserRule getRule() { return rule; } 1435 @Override public ParserRule getRule() { return rule; }
706 1436
707 //isError?='error'? symbol=ModelSymbol ('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? ':-' ('false' | 1437 //abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] (","
708 //bodies+=PatternBody ('|' bodies+=PatternBody)*) '.' 1438 //superclasses+=[NamedElement|QualifiedName])*)? "{" members+=MemberDefinition* "}"
709 public Group getGroup() { return cGroup; } 1439 public Group getGroup() { return cGroup; }
710 1440
711 //isError?='error'? 1441 //abstract?="abstract"?
712 public Assignment getIsErrorAssignment_0() { return cIsErrorAssignment_0; } 1442 public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; }
713 1443
714 //'error' 1444 //"abstract"
715 public Keyword getIsErrorErrorKeyword_0_0() { return cIsErrorErrorKeyword_0_0; } 1445 public Keyword getAbstractAbstractKeyword_0_0() { return cAbstractAbstractKeyword_0_0; }
716 1446
717 //symbol=ModelSymbol 1447 //"class"
718 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; } 1448 public Keyword getClassKeyword_1() { return cClassKeyword_1; }
719 1449
720 //ModelSymbol 1450 //name=ID
721 public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; } 1451 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
722 1452
723 //('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? 1453 //ID
724 public Group getGroup_2() { return cGroup_2; } 1454 public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
725 1455
726 //'(' 1456 //("extends" superclasses+=[NamedElement|QualifiedName] ("," superclasses+=[NamedElement|QualifiedName])*)?
727 public Keyword getLeftParenthesisKeyword_2_0() { return cLeftParenthesisKeyword_2_0; } 1457 public Group getGroup_3() { return cGroup_3; }
728 1458
729 //(parameters+=Parameter (',' parameters+=Parameter)*)? 1459 //"extends"
730 public Group getGroup_2_1() { return cGroup_2_1; } 1460 public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; }
731 1461
732 //parameters+=Parameter 1462 //superclasses+=[NamedElement|QualifiedName]
733 public Assignment getParametersAssignment_2_1_0() { return cParametersAssignment_2_1_0; } 1463 public Assignment getSuperclassesAssignment_3_1() { return cSuperclassesAssignment_3_1; }
734 1464
735 //Parameter 1465 //[NamedElement|QualifiedName]
736 public RuleCall getParametersParameterParserRuleCall_2_1_0_0() { return cParametersParameterParserRuleCall_2_1_0_0; } 1466 public CrossReference getSuperclassesNamedElementCrossReference_3_1_0() { return cSuperclassesNamedElementCrossReference_3_1_0; }
737 1467
738 //(',' parameters+=Parameter)* 1468 //QualifiedName
739 public Group getGroup_2_1_1() { return cGroup_2_1_1; } 1469 public RuleCall getSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1() { return cSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1; }
740 1470
741 //',' 1471 //("," superclasses+=[NamedElement|QualifiedName])*
742 public Keyword getCommaKeyword_2_1_1_0() { return cCommaKeyword_2_1_1_0; } 1472 public Group getGroup_3_2() { return cGroup_3_2; }
743 1473
744 //parameters+=Parameter 1474 //","
745 public Assignment getParametersAssignment_2_1_1_1() { return cParametersAssignment_2_1_1_1; } 1475 public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; }
746 1476
747 //Parameter 1477 //superclasses+=[NamedElement|QualifiedName]
748 public RuleCall getParametersParameterParserRuleCall_2_1_1_1_0() { return cParametersParameterParserRuleCall_2_1_1_1_0; } 1478 public Assignment getSuperclassesAssignment_3_2_1() { return cSuperclassesAssignment_3_2_1; }
749 1479
750 //')' 1480 //[NamedElement|QualifiedName]
751 public Keyword getRightParenthesisKeyword_2_2() { return cRightParenthesisKeyword_2_2; } 1481 public CrossReference getSuperclassesNamedElementCrossReference_3_2_1_0() { return cSuperclassesNamedElementCrossReference_3_2_1_0; }
752 1482
753 //':-' 1483 //QualifiedName
754 public Keyword getColonHyphenMinusKeyword_3() { return cColonHyphenMinusKeyword_3; } 1484 public RuleCall getSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1() { return cSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1; }
755 1485
756 //'false' | bodies+=PatternBody ('|' bodies+=PatternBody)* 1486 //"{"
757 public Alternatives getAlternatives_4() { return cAlternatives_4; } 1487 public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
758 1488
759 //'false' 1489 //members+=MemberDefinition*
760 public Keyword getFalseKeyword_4_0() { return cFalseKeyword_4_0; } 1490 public Assignment getMembersAssignment_5() { return cMembersAssignment_5; }
761 1491
762 //bodies+=PatternBody ('|' bodies+=PatternBody)* 1492 //MemberDefinition
763 public Group getGroup_4_1() { return cGroup_4_1; } 1493 public RuleCall getMembersMemberDefinitionParserRuleCall_5_0() { return cMembersMemberDefinitionParserRuleCall_5_0; }
764 1494
765 //bodies+=PatternBody 1495 //"}"
766 public Assignment getBodiesAssignment_4_1_0() { return cBodiesAssignment_4_1_0; } 1496 public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
1497 }
1498 public class MemberDefinitionElements extends AbstractParserRuleElementFinder {
1499 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition");
1500 private final Group cGroup = (Group)rule.eContents().get(1);
1501 private final Assignment cContainmentAssignment_0 = (Assignment)cGroup.eContents().get(0);
1502 private final Keyword cContainmentContainsKeyword_0_0 = (Keyword)cContainmentAssignment_0.eContents().get(0);
1503 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
1504 private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0);
1505 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1);
1506 private final Assignment cMultiplicityAssignment_2 = (Assignment)cGroup.eContents().get(2);
1507 private final RuleCall cMultiplicityMultiplicityParserRuleCall_2_0 = (RuleCall)cMultiplicityAssignment_2.eContents().get(0);
1508 private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3);
1509 private final RuleCall cNameIDTerminalRuleCall_3_0 = (RuleCall)cNameAssignment_3.eContents().get(0);
1510 private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
1511 private final Keyword cOppositeKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
1512 private final Assignment cOppositeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
1513 private final CrossReference cOppositeNamedElementCrossReference_4_1_0 = (CrossReference)cOppositeAssignment_4_1.eContents().get(0);
1514 private final RuleCall cOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1 = (RuleCall)cOppositeNamedElementCrossReference_4_1_0.eContents().get(1);
1515 private final Keyword cSemicolonKeyword_5 = (Keyword)cGroup.eContents().get(5);
1516
1517 //MemberDefinition:
1518 // containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite"
1519 // opposite=[NamedElement|QualifiedName])? ";"?;
1520 @Override public ParserRule getRule() { return rule; }
1521
1522 //containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite"
1523 //opposite=[NamedElement|QualifiedName])? ";"?
1524 public Group getGroup() { return cGroup; }
1525
1526 //containment?="contains"?
1527 public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; }
1528
1529 //"contains"
1530 public Keyword getContainmentContainsKeyword_0_0() { return cContainmentContainsKeyword_0_0; }
1531
1532 //type=[NamedElement|QualifiedName]
1533 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
1534
1535 //[NamedElement|QualifiedName]
1536 public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; }
1537
1538 //QualifiedName
1539 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; }
1540
1541 //multiplicity=Multiplicity?
1542 public Assignment getMultiplicityAssignment_2() { return cMultiplicityAssignment_2; }
1543
1544 //Multiplicity
1545 public RuleCall getMultiplicityMultiplicityParserRuleCall_2_0() { return cMultiplicityMultiplicityParserRuleCall_2_0; }
1546
1547 //name=ID
1548 public Assignment getNameAssignment_3() { return cNameAssignment_3; }
1549
1550 //ID
1551 public RuleCall getNameIDTerminalRuleCall_3_0() { return cNameIDTerminalRuleCall_3_0; }
1552
1553 //("opposite" opposite=[NamedElement|QualifiedName])?
1554 public Group getGroup_4() { return cGroup_4; }
1555
1556 //"opposite"
1557 public Keyword getOppositeKeyword_4_0() { return cOppositeKeyword_4_0; }
1558
1559 //opposite=[NamedElement|QualifiedName]
1560 public Assignment getOppositeAssignment_4_1() { return cOppositeAssignment_4_1; }
1561
1562 //[NamedElement|QualifiedName]
1563 public CrossReference getOppositeNamedElementCrossReference_4_1_0() { return cOppositeNamedElementCrossReference_4_1_0; }
1564
1565 //QualifiedName
1566 public RuleCall getOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1() { return cOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1; }
767 1567
768 //PatternBody 1568 //";"?
769 public RuleCall getBodiesPatternBodyParserRuleCall_4_1_0_0() { return cBodiesPatternBodyParserRuleCall_4_1_0_0; } 1569 public Keyword getSemicolonKeyword_5() { return cSemicolonKeyword_5; }
1570 }
1571 public class MultiplicityElements extends AbstractParserRuleElementFinder {
1572 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity");
1573 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1574 private final RuleCall cManyMultiplicityParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1575 private final RuleCall cExactMultiplicityParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1576 private final RuleCall cBoundedMultiplicityParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
770 1577
771 //('|' bodies+=PatternBody)* 1578 //Multiplicity:
772 public Group getGroup_4_1_1() { return cGroup_4_1_1; } 1579 // ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity;
1580 @Override public ParserRule getRule() { return rule; }
773 1581
774 //'|' 1582 //ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity
775 public Keyword getVerticalLineKeyword_4_1_1_0() { return cVerticalLineKeyword_4_1_1_0; } 1583 public Alternatives getAlternatives() { return cAlternatives; }
776 1584
777 //bodies+=PatternBody 1585 //ManyMultiplicity
778 public Assignment getBodiesAssignment_4_1_1_1() { return cBodiesAssignment_4_1_1_1; } 1586 public RuleCall getManyMultiplicityParserRuleCall_0() { return cManyMultiplicityParserRuleCall_0; }
779 1587
780 //PatternBody 1588 //ExactMultiplicity
781 public RuleCall getBodiesPatternBodyParserRuleCall_4_1_1_1_0() { return cBodiesPatternBodyParserRuleCall_4_1_1_1_0; } 1589 public RuleCall getExactMultiplicityParserRuleCall_1() { return cExactMultiplicityParserRuleCall_1; }
782 1590
783 //'.' 1591 //BoundedMultiplicity
784 public Keyword getFullStopKeyword_5() { return cFullStopKeyword_5; } 1592 public RuleCall getBoundedMultiplicityParserRuleCall_2() { return cBoundedMultiplicityParserRuleCall_2; }
785 } 1593 }
786 public class ParameterElements extends AbstractParserRuleElementFinder { 1594 public class ManyMultiplicityElements extends AbstractParserRuleElementFinder {
787 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); 1595 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ManyMultiplicity");
788 private final Group cGroup = (Group)rule.eContents().get(1); 1596 private final Group cGroup = (Group)rule.eContents().get(1);
789 private final Assignment cVariableAssignment_0 = (Assignment)cGroup.eContents().get(0); 1597 private final Action cManyMultiplicityAction_0 = (Action)cGroup.eContents().get(0);
790 private final RuleCall cVariableVariableParserRuleCall_0_0 = (RuleCall)cVariableAssignment_0.eContents().get(0); 1598 private final Keyword cLeftSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
791 private final Group cGroup_1 = (Group)cGroup.eContents().get(1); 1599 private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
792 private final Keyword cColonKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
793 private final Assignment cTypeAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
794 private final RuleCall cTypeSymbolParserRuleCall_1_1_0 = (RuleCall)cTypeAssignment_1_1.eContents().get(0);
795 1600
796 //Parameter: 1601 //ManyMultiplicity:
797 // variable=Variable (':' type=Symbol)?; 1602 // {ManyMultiplicity} "[" "]";
798 @Override public ParserRule getRule() { return rule; } 1603 @Override public ParserRule getRule() { return rule; }
799 1604
800 //variable=Variable (':' type=Symbol)? 1605 //{ManyMultiplicity} "[" "]"
801 public Group getGroup() { return cGroup; } 1606 public Group getGroup() { return cGroup; }
802 1607
803 //variable=Variable 1608 //{ManyMultiplicity}
804 public Assignment getVariableAssignment_0() { return cVariableAssignment_0; } 1609 public Action getManyMultiplicityAction_0() { return cManyMultiplicityAction_0; }
805 1610
806 //Variable 1611 //"["
807 public RuleCall getVariableVariableParserRuleCall_0_0() { return cVariableVariableParserRuleCall_0_0; } 1612 public Keyword getLeftSquareBracketKeyword_1() { return cLeftSquareBracketKeyword_1; }
808 1613
809 //(':' type=Symbol)? 1614 //"]"
810 public Group getGroup_1() { return cGroup_1; } 1615 public Keyword getRightSquareBracketKeyword_2() { return cRightSquareBracketKeyword_2; }
1616 }
1617 public class ExactMultiplicityElements extends AbstractParserRuleElementFinder {
1618 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExactMultiplicity");
1619 private final Group cGroup = (Group)rule.eContents().get(1);
1620 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
1621 private final Assignment cMultiplicityAssignment_1 = (Assignment)cGroup.eContents().get(1);
1622 private final RuleCall cMultiplicityUpperMultiplictyParserRuleCall_1_0 = (RuleCall)cMultiplicityAssignment_1.eContents().get(0);
1623 private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
811 1624
812 //':' 1625 //ExactMultiplicity:
813 public Keyword getColonKeyword_1_0() { return cColonKeyword_1_0; } 1626 // "[" multiplicity=UpperMultiplicty "]";
1627 @Override public ParserRule getRule() { return rule; }
1628
1629 //"[" multiplicity=UpperMultiplicty "]"
1630 public Group getGroup() { return cGroup; }
814 1631
815 //type=Symbol 1632 //"["
816 public Assignment getTypeAssignment_1_1() { return cTypeAssignment_1_1; } 1633 public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; }
817 1634
818 //Symbol 1635 //multiplicity=UpperMultiplicty
819 public RuleCall getTypeSymbolParserRuleCall_1_1_0() { return cTypeSymbolParserRuleCall_1_1_0; } 1636 public Assignment getMultiplicityAssignment_1() { return cMultiplicityAssignment_1; }
1637
1638 //UpperMultiplicty
1639 public RuleCall getMultiplicityUpperMultiplictyParserRuleCall_1_0() { return cMultiplicityUpperMultiplictyParserRuleCall_1_0; }
1640
1641 //"]"
1642 public Keyword getRightSquareBracketKeyword_2() { return cRightSquareBracketKeyword_2; }
820 } 1643 }
821 public class PatternBodyElements extends AbstractParserRuleElementFinder { 1644 public class BoundedMultiplicityElements extends AbstractParserRuleElementFinder {
822 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); 1645 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BoundedMultiplicity");
823 private final Group cGroup = (Group)rule.eContents().get(1); 1646 private final Group cGroup = (Group)rule.eContents().get(1);
824 private final Action cPatternBodyAction_0 = (Action)cGroup.eContents().get(0); 1647 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
825 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); 1648 private final Assignment cLowerBoundAssignment_1 = (Assignment)cGroup.eContents().get(1);
826 private final Keyword cTrueKeyword_1_0 = (Keyword)cAlternatives_1.eContents().get(0); 1649 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0 = (RuleCall)cLowerBoundAssignment_1.eContents().get(0);
827 private final Assignment cConstraintsAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1); 1650 private final Keyword cFullStopFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
828 private final RuleCall cConstraintsConstraintParserRuleCall_1_1_0 = (RuleCall)cConstraintsAssignment_1_1.eContents().get(0); 1651 private final Assignment cUpperBoundAssignment_3 = (Assignment)cGroup.eContents().get(3);
829 1652 private final RuleCall cUpperBoundUpperMultiplictyParserRuleCall_3_0 = (RuleCall)cUpperBoundAssignment_3.eContents().get(0);
830 //PatternBody: 1653 private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
831 // {PatternBody} ('true' | constraints+=Constraint*); 1654
1655 //BoundedMultiplicity:
1656 // "[" lowerBound=INT ".." upperBound=UpperMultiplicty "]";
832 @Override public ParserRule getRule() { return rule; } 1657 @Override public ParserRule getRule() { return rule; }
833 1658
834 //{PatternBody} ('true' | constraints+=Constraint*) 1659 //"[" lowerBound=INT ".." upperBound=UpperMultiplicty "]"
835 public Group getGroup() { return cGroup; } 1660 public Group getGroup() { return cGroup; }
836 1661
837 //{PatternBody} 1662 //"["
838 public Action getPatternBodyAction_0() { return cPatternBodyAction_0; } 1663 public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; }
839 1664
840 //'true' | constraints+=Constraint* 1665 //lowerBound=INT
841 public Alternatives getAlternatives_1() { return cAlternatives_1; } 1666 public Assignment getLowerBoundAssignment_1() { return cLowerBoundAssignment_1; }
842 1667
843 //'true' 1668 //INT
844 public Keyword getTrueKeyword_1_0() { return cTrueKeyword_1_0; } 1669 public RuleCall getLowerBoundINTTerminalRuleCall_1_0() { return cLowerBoundINTTerminalRuleCall_1_0; }
1670
1671 //".."
1672 public Keyword getFullStopFullStopKeyword_2() { return cFullStopFullStopKeyword_2; }
1673
1674 //upperBound=UpperMultiplicty
1675 public Assignment getUpperBoundAssignment_3() { return cUpperBoundAssignment_3; }
845 1676
846 //constraints+=Constraint* 1677 //UpperMultiplicty
847 public Assignment getConstraintsAssignment_1_1() { return cConstraintsAssignment_1_1; } 1678 public RuleCall getUpperBoundUpperMultiplictyParserRuleCall_3_0() { return cUpperBoundUpperMultiplictyParserRuleCall_3_0; }
848 1679
849 //Constraint 1680 //"]"
850 public RuleCall getConstraintsConstraintParserRuleCall_1_1_0() { return cConstraintsConstraintParserRuleCall_1_1_0; } 1681 public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; }
851 } 1682 }
852 public class PolarityElements extends AbstractParserRuleElementFinder { 1683 public class ScopeDefinitionElements extends AbstractParserRuleElementFinder {
853 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Polarity"); 1684 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ScopeDefinition");
854 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1685 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
855 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); 1686 private final RuleCall cExactScopeDefinitionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
856 private final Action cPositiveAction_0_0 = (Action)cGroup_0.eContents().get(0); 1687 private final RuleCall cBoundedScopeDefinitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
857 private final Keyword cPlusSignKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); 1688 private final RuleCall cLowerBoundedScopeDefinitionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
858 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
859 private final Action cNegativeAction_1_0 = (Action)cGroup_1.eContents().get(0);
860 private final Keyword cHyphenMinusKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
861 1689
862 //Polarity: 1690 //ScopeDefinition:
863 // {Positive} '+' | {Negative} '-'; 1691 // ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition;
864 @Override public ParserRule getRule() { return rule; } 1692 @Override public ParserRule getRule() { return rule; }
865 1693
866 //{Positive} '+' | {Negative} '-' 1694 //ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition
867 public Alternatives getAlternatives() { return cAlternatives; } 1695 public Alternatives getAlternatives() { return cAlternatives; }
868 1696
869 //{Positive} '+' 1697 //ExactScopeDefinition
870 public Group getGroup_0() { return cGroup_0; } 1698 public RuleCall getExactScopeDefinitionParserRuleCall_0() { return cExactScopeDefinitionParserRuleCall_0; }
871 1699
872 //{Positive} 1700 //BoundedScopeDefinition
873 public Action getPositiveAction_0_0() { return cPositiveAction_0_0; } 1701 public RuleCall getBoundedScopeDefinitionParserRuleCall_1() { return cBoundedScopeDefinitionParserRuleCall_1; }
874 1702
875 //'+' 1703 //LowerBoundedScopeDefinition
876 public Keyword getPlusSignKeyword_0_1() { return cPlusSignKeyword_0_1; } 1704 public RuleCall getLowerBoundedScopeDefinitionParserRuleCall_2() { return cLowerBoundedScopeDefinitionParserRuleCall_2; }
1705 }
1706 public class ExactScopeDefinitionElements extends AbstractParserRuleElementFinder {
1707 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExactScopeDefinition");
1708 private final Group cGroup = (Group)rule.eContents().get(1);
1709 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0);
1710 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
1711 private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0);
1712 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1);
1713 private final Keyword cEqualsSignEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
1714 private final Assignment cExactScopeAssignment_3 = (Assignment)cGroup.eContents().get(3);
1715 private final RuleCall cExactScopeINTTerminalRuleCall_3_0 = (RuleCall)cExactScopeAssignment_3.eContents().get(0);
1716
1717 //ExactScopeDefinition:
1718 // "scope" type=[NamedElement|QualifiedName] "==" exactScope=INT;
1719 @Override public ParserRule getRule() { return rule; }
877 1720
878 //{Negative} '-' 1721 //"scope" type=[NamedElement|QualifiedName] "==" exactScope=INT
879 public Group getGroup_1() { return cGroup_1; } 1722 public Group getGroup() { return cGroup; }
1723
1724 //"scope"
1725 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; }
1726
1727 //type=[NamedElement|QualifiedName]
1728 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
1729
1730 //[NamedElement|QualifiedName]
1731 public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; }
1732
1733 //QualifiedName
1734 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; }
1735
1736 //"=="
1737 public Keyword getEqualsSignEqualsSignKeyword_2() { return cEqualsSignEqualsSignKeyword_2; }
880 1738
881 //{Negative} 1739 //exactScope=INT
882 public Action getNegativeAction_1_0() { return cNegativeAction_1_0; } 1740 public Assignment getExactScopeAssignment_3() { return cExactScopeAssignment_3; }
883 1741
884 //'-' 1742 //INT
885 public Keyword getHyphenMinusKeyword_1_1() { return cHyphenMinusKeyword_1_1; } 1743 public RuleCall getExactScopeINTTerminalRuleCall_3_0() { return cExactScopeINTTerminalRuleCall_3_0; }
886 } 1744 }
887 public class ConstraintElements extends AbstractParserRuleElementFinder { 1745 public class BoundedScopeDefinitionElements extends AbstractParserRuleElementFinder {
888 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Constraint"); 1746 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BoundedScopeDefinition");
889 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1747 private final Group cGroup = (Group)rule.eContents().get(1);
890 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); 1748 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0);
891 private final Assignment cPolarityAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0); 1749 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
892 private final RuleCall cPolarityPolarityParserRuleCall_0_0_0 = (RuleCall)cPolarityAssignment_0_0.eContents().get(0); 1750 private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
893 private final Assignment cSymbolAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); 1751 private final Group cGroup_1_0_0 = (Group)cGroup_1_0.eContents().get(0);
894 private final RuleCall cSymbolModelSymbolParserRuleCall_0_1_0 = (RuleCall)cSymbolAssignment_0_1.eContents().get(0); 1752 private final Assignment cLowerBoundAssignment_1_0_0_0 = (Assignment)cGroup_1_0_0.eContents().get(0);
895 private final Group cGroup_0_2 = (Group)cGroup_0.eContents().get(2); 1753 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0_0_0_0 = (RuleCall)cLowerBoundAssignment_1_0_0_0.eContents().get(0);
896 private final Keyword cLeftParenthesisKeyword_0_2_0 = (Keyword)cGroup_0_2.eContents().get(0); 1754 private final Keyword cLessThanSignEqualsSignKeyword_1_0_0_1 = (Keyword)cGroup_1_0_0.eContents().get(1);
897 private final Assignment cParamsAssignment_0_2_1 = (Assignment)cGroup_0_2.eContents().get(1); 1755 private final Assignment cTypeAssignment_1_0_1 = (Assignment)cGroup_1_0.eContents().get(1);
898 private final RuleCall cParamsLiteralParserRuleCall_0_2_1_0 = (RuleCall)cParamsAssignment_0_2_1.eContents().get(0); 1756 private final CrossReference cTypeNamedElementCrossReference_1_0_1_0 = (CrossReference)cTypeAssignment_1_0_1.eContents().get(0);
899 private final Group cGroup_0_2_2 = (Group)cGroup_0_2.eContents().get(2); 1757 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0_1_0.eContents().get(1);
900 private final Keyword cCommaKeyword_0_2_2_0 = (Keyword)cGroup_0_2_2.eContents().get(0); 1758 private final Keyword cLessThanSignEqualsSignKeyword_1_0_2 = (Keyword)cGroup_1_0.eContents().get(2);
901 private final Assignment cParamsAssignment_0_2_2_1 = (Assignment)cGroup_0_2_2.eContents().get(1); 1759 private final Assignment cUpperBoundAssignment_1_0_3 = (Assignment)cGroup_1_0.eContents().get(3);
902 private final RuleCall cParamsLiteralParserRuleCall_0_2_2_1_0 = (RuleCall)cParamsAssignment_0_2_2_1.eContents().get(0); 1760 private final RuleCall cUpperBoundINTTerminalRuleCall_1_0_3_0 = (RuleCall)cUpperBoundAssignment_1_0_3.eContents().get(0);
903 private final Keyword cRightParenthesisKeyword_0_2_3 = (Keyword)cGroup_0_2.eContents().get(3); 1761 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
904 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); 1762 private final Assignment cUpperBoundAssignment_1_1_0 = (Assignment)cGroup_1_1.eContents().get(0);
905 private final Assignment cClosureTypeAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0); 1763 private final RuleCall cUpperBoundINTTerminalRuleCall_1_1_0_0 = (RuleCall)cUpperBoundAssignment_1_1_0.eContents().get(0);
906 private final RuleCall cClosureTypeClosureTypeParserRuleCall_1_0_0 = (RuleCall)cClosureTypeAssignment_1_0.eContents().get(0); 1764 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
907 private final Keyword cLeftParenthesisKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); 1765 private final Assignment cTypeAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
908 private final Assignment cParamsAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); 1766 private final CrossReference cTypeNamedElementCrossReference_1_1_2_0 = (CrossReference)cTypeAssignment_1_1_2.eContents().get(0);
909 private final RuleCall cParamsLiteralParserRuleCall_1_2_0 = (RuleCall)cParamsAssignment_1_2.eContents().get(0); 1767 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_1_2_0.eContents().get(1);
910 private final Group cGroup_1_3 = (Group)cGroup_1.eContents().get(3); 1768 private final Group cGroup_1_1_3 = (Group)cGroup_1_1.eContents().get(3);
911 private final Keyword cCommaKeyword_1_3_0 = (Keyword)cGroup_1_3.eContents().get(0); 1769 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_3_0 = (Keyword)cGroup_1_1_3.eContents().get(0);
912 private final Assignment cParamsAssignment_1_3_1 = (Assignment)cGroup_1_3.eContents().get(1); 1770 private final Assignment cLowerBoundAssignment_1_1_3_1 = (Assignment)cGroup_1_1_3.eContents().get(1);
913 private final RuleCall cParamsLiteralParserRuleCall_1_3_1_0 = (RuleCall)cParamsAssignment_1_3_1.eContents().get(0); 1771 private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_3_1_0 = (RuleCall)cLowerBoundAssignment_1_1_3_1.eContents().get(0);
914 private final Keyword cRightParenthesisKeyword_1_4 = (Keyword)cGroup_1.eContents().get(4); 1772 private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
915 1773
916 //Constraint: 1774 //BoundedScopeDefinition:
917 // polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? | closureType=ClosureType 1775 // "scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">="
918 // '(' params+=Literal? (',' params+=Literal)* ')'; 1776 // type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?) ".";
919 @Override public ParserRule getRule() { return rule; } 1777 @Override public ParserRule getRule() { return rule; }
920 1778
921 //polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? | closureType=ClosureType '(' 1779 //"scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">="
922 //params+=Literal? (',' params+=Literal)* ')' 1780 //type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?) "."
923 public Alternatives getAlternatives() { return cAlternatives; } 1781 public Group getGroup() { return cGroup; }
924 1782
925 //polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? 1783 //"scope"
926 public Group getGroup_0() { return cGroup_0; } 1784 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; }
927 1785
928 //polarity=Polarity? 1786 //((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">="
929 public Assignment getPolarityAssignment_0_0() { return cPolarityAssignment_0_0; } 1787 //type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?)
1788 public Alternatives getAlternatives_1() { return cAlternatives_1; }
930 1789
931 //Polarity 1790 //(lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT
932 public RuleCall getPolarityPolarityParserRuleCall_0_0_0() { return cPolarityPolarityParserRuleCall_0_0_0; } 1791 public Group getGroup_1_0() { return cGroup_1_0; }
933 1792
934 //symbol=ModelSymbol 1793 //(lowerBound=INT "<=")?
935 public Assignment getSymbolAssignment_0_1() { return cSymbolAssignment_0_1; } 1794 public Group getGroup_1_0_0() { return cGroup_1_0_0; }
936 1795
937 //ModelSymbol 1796 //lowerBound=INT
938 public RuleCall getSymbolModelSymbolParserRuleCall_0_1_0() { return cSymbolModelSymbolParserRuleCall_0_1_0; } 1797 public Assignment getLowerBoundAssignment_1_0_0_0() { return cLowerBoundAssignment_1_0_0_0; }
939 1798
940 //('(' params+=Literal? (',' params+=Literal)* ')')? 1799 //INT
941 public Group getGroup_0_2() { return cGroup_0_2; } 1800 public RuleCall getLowerBoundINTTerminalRuleCall_1_0_0_0_0() { return cLowerBoundINTTerminalRuleCall_1_0_0_0_0; }
942 1801
943 //'(' 1802 //"<="
944 public Keyword getLeftParenthesisKeyword_0_2_0() { return cLeftParenthesisKeyword_0_2_0; } 1803 public Keyword getLessThanSignEqualsSignKeyword_1_0_0_1() { return cLessThanSignEqualsSignKeyword_1_0_0_1; }
945 1804
946 //params+=Literal? 1805 //type=[NamedElement|QualifiedName]
947 public Assignment getParamsAssignment_0_2_1() { return cParamsAssignment_0_2_1; } 1806 public Assignment getTypeAssignment_1_0_1() { return cTypeAssignment_1_0_1; }
948 1807
949 //Literal 1808 //[NamedElement|QualifiedName]
950 public RuleCall getParamsLiteralParserRuleCall_0_2_1_0() { return cParamsLiteralParserRuleCall_0_2_1_0; } 1809 public CrossReference getTypeNamedElementCrossReference_1_0_1_0() { return cTypeNamedElementCrossReference_1_0_1_0; }
951 1810
952 //(',' params+=Literal)* 1811 //QualifiedName
953 public Group getGroup_0_2_2() { return cGroup_0_2_2; } 1812 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1; }
954 1813
955 //',' 1814 //"<="
956 public Keyword getCommaKeyword_0_2_2_0() { return cCommaKeyword_0_2_2_0; } 1815 public Keyword getLessThanSignEqualsSignKeyword_1_0_2() { return cLessThanSignEqualsSignKeyword_1_0_2; }
957 1816
958 //params+=Literal 1817 //upperBound=INT
959 public Assignment getParamsAssignment_0_2_2_1() { return cParamsAssignment_0_2_2_1; } 1818 public Assignment getUpperBoundAssignment_1_0_3() { return cUpperBoundAssignment_1_0_3; }
960 1819
961 //Literal 1820 //INT
962 public RuleCall getParamsLiteralParserRuleCall_0_2_2_1_0() { return cParamsLiteralParserRuleCall_0_2_2_1_0; } 1821 public RuleCall getUpperBoundINTTerminalRuleCall_1_0_3_0() { return cUpperBoundINTTerminalRuleCall_1_0_3_0; }
963 1822
964 //')' 1823 //upperBound=INT ">=" type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?
965 public Keyword getRightParenthesisKeyword_0_2_3() { return cRightParenthesisKeyword_0_2_3; } 1824 public Group getGroup_1_1() { return cGroup_1_1; }
966 1825
967 //closureType=ClosureType '(' params+=Literal? (',' params+=Literal)* ')' 1826 //upperBound=INT
968 public Group getGroup_1() { return cGroup_1; } 1827 public Assignment getUpperBoundAssignment_1_1_0() { return cUpperBoundAssignment_1_1_0; }
969 1828
970 //closureType=ClosureType 1829 //INT
971 public Assignment getClosureTypeAssignment_1_0() { return cClosureTypeAssignment_1_0; } 1830 public RuleCall getUpperBoundINTTerminalRuleCall_1_1_0_0() { return cUpperBoundINTTerminalRuleCall_1_1_0_0; }
972 1831
973 //ClosureType 1832 //">="
974 public RuleCall getClosureTypeClosureTypeParserRuleCall_1_0_0() { return cClosureTypeClosureTypeParserRuleCall_1_0_0; } 1833 public Keyword getGreaterThanSignEqualsSignKeyword_1_1_1() { return cGreaterThanSignEqualsSignKeyword_1_1_1; }
975 1834
976 //'(' 1835 //type=[NamedElement|QualifiedName]
977 public Keyword getLeftParenthesisKeyword_1_1() { return cLeftParenthesisKeyword_1_1; } 1836 public Assignment getTypeAssignment_1_1_2() { return cTypeAssignment_1_1_2; }
978 1837
979 //params+=Literal? 1838 //[NamedElement|QualifiedName]
980 public Assignment getParamsAssignment_1_2() { return cParamsAssignment_1_2; } 1839 public CrossReference getTypeNamedElementCrossReference_1_1_2_0() { return cTypeNamedElementCrossReference_1_1_2_0; }
981 1840
982 //Literal 1841 //QualifiedName
983 public RuleCall getParamsLiteralParserRuleCall_1_2_0() { return cParamsLiteralParserRuleCall_1_2_0; } 1842 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1; }
984 1843
985 //(',' params+=Literal)* 1844 //(">=" lowerBound=INT)?
986 public Group getGroup_1_3() { return cGroup_1_3; } 1845 public Group getGroup_1_1_3() { return cGroup_1_1_3; }
987 1846
988 //',' 1847 //">="
989 public Keyword getCommaKeyword_1_3_0() { return cCommaKeyword_1_3_0; } 1848 public Keyword getGreaterThanSignEqualsSignKeyword_1_1_3_0() { return cGreaterThanSignEqualsSignKeyword_1_1_3_0; }
990 1849
991 //params+=Literal 1850 //lowerBound=INT
992 public Assignment getParamsAssignment_1_3_1() { return cParamsAssignment_1_3_1; } 1851 public Assignment getLowerBoundAssignment_1_1_3_1() { return cLowerBoundAssignment_1_1_3_1; }
993 1852
994 //Literal 1853 //INT
995 public RuleCall getParamsLiteralParserRuleCall_1_3_1_0() { return cParamsLiteralParserRuleCall_1_3_1_0; } 1854 public RuleCall getLowerBoundINTTerminalRuleCall_1_1_3_1_0() { return cLowerBoundINTTerminalRuleCall_1_1_3_1_0; }
996 1855
997 //')' 1856 //"."
998 public Keyword getRightParenthesisKeyword_1_4() { return cRightParenthesisKeyword_1_4; } 1857 public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; }
999 } 1858 }
1000 public class ClosureTypeElements extends AbstractParserRuleElementFinder { 1859 public class LowerBoundedScopeDefinitionElements extends AbstractParserRuleElementFinder {
1001 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType"); 1860 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LowerBoundedScopeDefinition");
1002 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1861 private final Group cGroup = (Group)rule.eContents().get(1);
1003 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); 1862 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0);
1004 private final Action cReflexiveClosureAction_0_0 = (Action)cGroup_0.eContents().get(0); 1863 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
1005 private final Keyword cAsteriskKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); 1864 private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
1006 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); 1865 private final Assignment cLowerBoundAssignment_1_0_0 = (Assignment)cGroup_1_0.eContents().get(0);
1007 private final Action cIrreflexiveClosureAction_1_0 = (Action)cGroup_1.eContents().get(0); 1866 private final RuleCall cLowerBoundINTTerminalRuleCall_1_0_0_0 = (RuleCall)cLowerBoundAssignment_1_0_0.eContents().get(0);
1008 private final Keyword cPlusSignKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); 1867 private final Keyword cLessThanSignEqualsSignKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1);
1868 private final Assignment cTypeAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
1869 private final CrossReference cTypeNamedElementCrossReference_1_0_2_0 = (CrossReference)cTypeAssignment_1_0_2.eContents().get(0);
1870 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0_2_0.eContents().get(1);
1871 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
1872 private final Assignment cTypeAssignment_1_1_0 = (Assignment)cGroup_1_1.eContents().get(0);
1873 private final CrossReference cTypeNamedElementCrossReference_1_1_0_0 = (CrossReference)cTypeAssignment_1_1_0.eContents().get(0);
1874 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_1_0_0.eContents().get(1);
1875 private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
1876 private final Assignment cLowerBoundAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
1877 private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_2_0 = (RuleCall)cLowerBoundAssignment_1_1_2.eContents().get(0);
1878 private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
1009 1879
1010 //ClosureType: 1880 //LowerBoundedScopeDefinition:
1011 // {ReflexiveClosure} '*' | {IrreflexiveClosure} '+'; 1881 // "scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">="
1882 // lowerBound=INT) ".";
1012 @Override public ParserRule getRule() { return rule; } 1883 @Override public ParserRule getRule() { return rule; }
1013 1884
1014 //{ReflexiveClosure} '*' | {IrreflexiveClosure} '+' 1885 //"scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" lowerBound=INT)
1015 public Alternatives getAlternatives() { return cAlternatives; } 1886 //"."
1887 public Group getGroup() { return cGroup; }
1016 1888
1017 //{ReflexiveClosure} '*' 1889 //"scope"
1018 public Group getGroup_0() { return cGroup_0; } 1890 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; }
1019 1891
1020 //{ReflexiveClosure} 1892 //(lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" lowerBound=INT)
1021 public Action getReflexiveClosureAction_0_0() { return cReflexiveClosureAction_0_0; } 1893 public Alternatives getAlternatives_1() { return cAlternatives_1; }
1022 1894
1023 //'*' 1895 //lowerBound=INT "<=" type=[NamedElement|QualifiedName]
1024 public Keyword getAsteriskKeyword_0_1() { return cAsteriskKeyword_0_1; } 1896 public Group getGroup_1_0() { return cGroup_1_0; }
1025 1897
1026 //{IrreflexiveClosure} '+' 1898 //lowerBound=INT
1027 public Group getGroup_1() { return cGroup_1; } 1899 public Assignment getLowerBoundAssignment_1_0_0() { return cLowerBoundAssignment_1_0_0; }
1028 1900
1029 //{IrreflexiveClosure} 1901 //INT
1030 public Action getIrreflexiveClosureAction_1_0() { return cIrreflexiveClosureAction_1_0; } 1902 public RuleCall getLowerBoundINTTerminalRuleCall_1_0_0_0() { return cLowerBoundINTTerminalRuleCall_1_0_0_0; }
1031 1903
1032 //'+' 1904 //"<="
1033 public Keyword getPlusSignKeyword_1_1() { return cPlusSignKeyword_1_1; } 1905 public Keyword getLessThanSignEqualsSignKeyword_1_0_1() { return cLessThanSignEqualsSignKeyword_1_0_1; }
1034 }
1035 public class LiteralElements extends AbstractParserRuleElementFinder {
1036 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
1037 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1038 private final RuleCall cVariableParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1039 private final RuleCall cDataObjectParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1040 private final RuleCall cNamedObjectParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
1041 1906
1042 //Literal: 1907 //type=[NamedElement|QualifiedName]
1043 // Variable | DataObject | NamedObject; 1908 public Assignment getTypeAssignment_1_0_2() { return cTypeAssignment_1_0_2; }
1044 @Override public ParserRule getRule() { return rule; }
1045 1909
1046 //Variable | DataObject | NamedObject 1910 //[NamedElement|QualifiedName]
1047 public Alternatives getAlternatives() { return cAlternatives; } 1911 public CrossReference getTypeNamedElementCrossReference_1_0_2_0() { return cTypeNamedElementCrossReference_1_0_2_0; }
1048 1912
1049 //Variable 1913 //QualifiedName
1050 public RuleCall getVariableParserRuleCall_0() { return cVariableParserRuleCall_0; } 1914 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1; }
1051 1915
1052 //DataObject 1916 //type=[NamedElement|QualifiedName] ">=" lowerBound=INT
1053 public RuleCall getDataObjectParserRuleCall_1() { return cDataObjectParserRuleCall_1; } 1917 public Group getGroup_1_1() { return cGroup_1_1; }
1054 1918
1055 //NamedObject 1919 //type=[NamedElement|QualifiedName]
1056 public RuleCall getNamedObjectParserRuleCall_2() { return cNamedObjectParserRuleCall_2; } 1920 public Assignment getTypeAssignment_1_1_0() { return cTypeAssignment_1_1_0; }
1057 }
1058 public class VariableElements extends AbstractParserRuleElementFinder {
1059 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
1060 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
1061 private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
1062 1921
1063 //Variable: 1922 //[NamedElement|QualifiedName]
1064 // name=ID; 1923 public CrossReference getTypeNamedElementCrossReference_1_1_0_0() { return cTypeNamedElementCrossReference_1_1_0_0; }
1065 @Override public ParserRule getRule() { return rule; }
1066 1924
1067 //name=ID 1925 //QualifiedName
1068 public Assignment getNameAssignment() { return cNameAssignment; } 1926 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1; }
1069 1927
1070 //ID 1928 //">="
1071 public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } 1929 public Keyword getGreaterThanSignEqualsSignKeyword_1_1_1() { return cGreaterThanSignEqualsSignKeyword_1_1_1; }
1930
1931 //lowerBound=INT
1932 public Assignment getLowerBoundAssignment_1_1_2() { return cLowerBoundAssignment_1_1_2; }
1933
1934 //INT
1935 public RuleCall getLowerBoundINTTerminalRuleCall_1_1_2_0() { return cLowerBoundINTTerminalRuleCall_1_1_2_0; }
1936
1937 //"."
1938 public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; }
1072 } 1939 }
1073 public class AllInstancesElements extends AbstractParserRuleElementFinder { 1940 public class ObjectiveDefinitionElements extends AbstractParserRuleElementFinder {
1074 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AllInstances"); 1941 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveDefinition");
1075 private final Group cGroup = (Group)rule.eContents().get(1); 1942 private final Group cGroup = (Group)rule.eContents().get(1);
1076 private final Keyword cColonKeyword_0 = (Keyword)cGroup.eContents().get(0); 1943 private final Assignment cKindAssignment_0 = (Assignment)cGroup.eContents().get(0);
1077 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1); 1944 private final RuleCall cKindObjectiveKindEnumRuleCall_0_0 = (RuleCall)cKindAssignment_0.eContents().get(0);
1078 private final RuleCall cSymbolSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0); 1945 private final Assignment cObjectiveAssignment_1 = (Assignment)cGroup.eContents().get(1);
1079 1946 private final RuleCall cObjectiveExpressionParserRuleCall_1_0 = (RuleCall)cObjectiveAssignment_1.eContents().get(0);
1080 ///////////////////// 1947
1081 //// Complex Interpretation grammar 1948 //ObjectiveDefinition:
1082 ///////////////////// 1949 // kind=ObjectiveKind objective=Expression;
1083 //AllInstances:
1084 // ':' symbol=Symbol;
1085 @Override public ParserRule getRule() { return rule; } 1950 @Override public ParserRule getRule() { return rule; }
1086 1951
1087 //':' symbol=Symbol 1952 //kind=ObjectiveKind objective=Expression
1088 public Group getGroup() { return cGroup; } 1953 public Group getGroup() { return cGroup; }
1089 1954
1090 //':' 1955 //kind=ObjectiveKind
1091 public Keyword getColonKeyword_0() { return cColonKeyword_0; } 1956 public Assignment getKindAssignment_0() { return cKindAssignment_0; }
1092 1957
1093 //symbol=Symbol 1958 //ObjectiveKind
1094 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; } 1959 public RuleCall getKindObjectiveKindEnumRuleCall_0_0() { return cKindObjectiveKindEnumRuleCall_0_0; }
1095 1960
1096 //Symbol 1961 //objective=Expression
1097 public RuleCall getSymbolSymbolParserRuleCall_1_0() { return cSymbolSymbolParserRuleCall_1_0; } 1962 public Assignment getObjectiveAssignment_1() { return cObjectiveAssignment_1; }
1963
1964 //Expression
1965 public RuleCall getObjectiveExpressionParserRuleCall_1_0() { return cObjectiveExpressionParserRuleCall_1_0; }
1098 } 1966 }
1099 public class AllObjectsElements extends AbstractParserRuleElementFinder { 1967 public class UpperMultiplictyElements extends AbstractParserRuleElementFinder {
1100 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AllObjects"); 1968 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty");
1101 private final Group cGroup = (Group)rule.eContents().get(1); 1969 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1102 private final Action cAllObjectsAction_0 = (Action)cGroup.eContents().get(0); 1970 private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1103 private final Keyword cAsteriskKeyword_1 = (Keyword)cGroup.eContents().get(1); 1971 private final Keyword cAsteriskKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
1104 1972
1105 //AllObjects: 1973 //UpperMultiplicty ecore::EInt:
1106 // {AllObjects} '*'; 1974 // INT | "*";
1107 @Override public ParserRule getRule() { return rule; } 1975 @Override public ParserRule getRule() { return rule; }
1108 1976
1109 //{AllObjects} '*' 1977 //INT | "*"
1110 public Group getGroup() { return cGroup; } 1978 public Alternatives getAlternatives() { return cAlternatives; }
1111 1979
1112 //{AllObjects} 1980 //INT
1113 public Action getAllObjectsAction_0() { return cAllObjectsAction_0; } 1981 public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
1114 1982
1115 //'*' 1983 //"*"
1116 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; } 1984 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; }
1117 } 1985 }
1118 public class DefaultInterpretationElements extends AbstractParserRuleElementFinder { 1986 public class RealElements extends AbstractParserRuleElementFinder {
1119 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DefaultInterpretation"); 1987 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Real");
1120 private final Group cGroup = (Group)rule.eContents().get(1); 1988 private final Group cGroup = (Group)rule.eContents().get(1);
1121 private final Keyword cDefaultKeyword_0 = (Keyword)cGroup.eContents().get(0); 1989 private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
1122 private final Assignment cInterpretationAssignment_1 = (Assignment)cGroup.eContents().get(1); 1990 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
1123 private final RuleCall cInterpretationBasicInterpretationParserRuleCall_1_0 = (RuleCall)cInterpretationAssignment_1.eContents().get(0); 1991 private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
1124 1992 private final RuleCall cINTTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
1125 ///////////////////// 1993
1126 //// Defaul Interpretation grammar 1994 //Real ecore::EBigDecimal hidden():
1127 ///////////////////// 1995 // INT ("." INT)?;
1128 //DefaultInterpretation:
1129 // 'default' interpretation=BasicInterpretation;
1130 @Override public ParserRule getRule() { return rule; } 1996 @Override public ParserRule getRule() { return rule; }
1131 1997
1132 //'default' interpretation=BasicInterpretation 1998 //INT ("." INT)?
1133 public Group getGroup() { return cGroup; } 1999 public Group getGroup() { return cGroup; }
1134 2000
1135 //'default' 2001 //INT
1136 public Keyword getDefaultKeyword_0() { return cDefaultKeyword_0; } 2002 public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
2003
2004 //("." INT)?
2005 public Group getGroup_1() { return cGroup_1; }
1137 2006
1138 //interpretation=BasicInterpretation 2007 //"."
1139 public Assignment getInterpretationAssignment_1() { return cInterpretationAssignment_1; } 2008 public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
1140 2009
1141 //BasicInterpretation 2010 //INT
1142 public RuleCall getInterpretationBasicInterpretationParserRuleCall_1_0() { return cInterpretationBasicInterpretationParserRuleCall_1_0; } 2011 public RuleCall getINTTerminalRuleCall_1_1() { return cINTTerminalRuleCall_1_1; }
1143 } 2012 }
1144 public class CDInterpretationElements extends AbstractParserRuleElementFinder { 2013 public class QualifiedNameElements extends AbstractParserRuleElementFinder {
1145 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.CDInterpretation"); 2014 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
1146 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2015 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1147 private final RuleCall cClassInterpretationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 2016 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
1148 private final RuleCall cEnumInterpretationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 2017 private final RuleCall cIDTerminalRuleCall_0_0 = (RuleCall)cGroup_0.eContents().get(0);
1149 private final RuleCall cGlobalRelationInterpretationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 2018 private final Group cGroup_0_1 = (Group)cGroup_0.eContents().get(1);
1150 2019 private final Keyword cFullStopKeyword_0_1_0 = (Keyword)cGroup_0_1.eContents().get(0);
1151 ///////////////////// 2020 private final RuleCall cIDTerminalRuleCall_0_1_1 = (RuleCall)cGroup_0_1.eContents().get(1);
1152 //// Advanced Class-Diagram interpretations 2021 private final RuleCall cQUOTED_IDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1153 ///////////////////// 2022
1154 //CDInterpretation: 2023 //QualifiedName hidden():
1155 // ClassInterpretation | EnumInterpretation | GlobalRelationInterpretation; 2024 // ID ("." ID)* | QUOTED_ID;
1156 @Override public ParserRule getRule() { return rule; } 2025 @Override public ParserRule getRule() { return rule; }
1157 2026
1158 //ClassInterpretation | EnumInterpretation | GlobalRelationInterpretation 2027 //ID ("." ID)* | QUOTED_ID
1159 public Alternatives getAlternatives() { return cAlternatives; } 2028 public Alternatives getAlternatives() { return cAlternatives; }
1160 2029
1161 //ClassInterpretation 2030 //ID ("." ID)*
1162 public RuleCall getClassInterpretationParserRuleCall_0() { return cClassInterpretationParserRuleCall_0; } 2031 public Group getGroup_0() { return cGroup_0; }
2032
2033 //ID
2034 public RuleCall getIDTerminalRuleCall_0_0() { return cIDTerminalRuleCall_0_0; }
2035
2036 //("." ID)*
2037 public Group getGroup_0_1() { return cGroup_0_1; }
2038
2039 //"."
2040 public Keyword getFullStopKeyword_0_1_0() { return cFullStopKeyword_0_1_0; }
1163 2041
1164 //EnumInterpretation 2042 //ID
1165 public RuleCall getEnumInterpretationParserRuleCall_1() { return cEnumInterpretationParserRuleCall_1; } 2043 public RuleCall getIDTerminalRuleCall_0_1_1() { return cIDTerminalRuleCall_0_1_1; }
1166 2044
1167 //GlobalRelationInterpretation 2045 //QUOTED_ID
1168 public RuleCall getGlobalRelationInterpretationParserRuleCall_2() { return cGlobalRelationInterpretationParserRuleCall_2; } 2046 public RuleCall getQUOTED_IDTerminalRuleCall_1() { return cQUOTED_IDTerminalRuleCall_1; }
1169 } 2047 }
1170 public class ClassInterpretationElements extends AbstractParserRuleElementFinder { 2048 public class NamedElementElements extends AbstractParserRuleElementFinder {
1171 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClassInterpretation"); 2049 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NamedElement");
1172 private final Group cGroup = (Group)rule.eContents().get(1); 2050 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
1173 private final Assignment cAbstractAssignment_0 = (Assignment)cGroup.eContents().get(0); 2051 private final RuleCall cNameQualifiedNameParserRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
1174 private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0);
1175 private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1);
1176 private final Assignment cSymbolAssignment_2 = (Assignment)cGroup.eContents().get(2);
1177 private final RuleCall cSymbolModelSymbolParserRuleCall_2_0 = (RuleCall)cSymbolAssignment_2.eContents().get(0);
1178 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
1179 private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
1180 private final Assignment cSupertypesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
1181 private final RuleCall cSupertypesModelSymbolParserRuleCall_3_1_0 = (RuleCall)cSupertypesAssignment_3_1.eContents().get(0);
1182 private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
1183 private final Assignment cFieltAssignment_5 = (Assignment)cGroup.eContents().get(5);
1184 private final RuleCall cFieltFieldRelationInterpretationParserRuleCall_5_0 = (RuleCall)cFieltAssignment_5.eContents().get(0);
1185 private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
1186 2052
1187 //ClassInterpretation: 2053 //NamedElement:
1188 // abstract?='abstract'? 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' 2054 // name=QualifiedName;
1189 // fielt+=FieldRelationInterpretation*
1190 // '}';
1191 @Override public ParserRule getRule() { return rule; } 2055 @Override public ParserRule getRule() { return rule; }
1192 2056
1193 //abstract?='abstract'? 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' 2057 //name=QualifiedName
1194 //fielt+=FieldRelationInterpretation* '}' 2058 public Assignment getNameAssignment() { return cNameAssignment; }
1195 public Group getGroup() { return cGroup; }
1196 2059
1197 //abstract?='abstract'? 2060 //QualifiedName
1198 public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; } 2061 public RuleCall getNameQualifiedNameParserRuleCall_0() { return cNameQualifiedNameParserRuleCall_0; }
2062 }
2063
2064 public class MetricTypeElements extends AbstractEnumRuleElementFinder {
2065 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MetricType");
2066 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2067 private final EnumLiteralDeclaration cINTEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2068 private final Keyword cINTIntKeyword_0_0 = (Keyword)cINTEnumLiteralDeclaration_0.eContents().get(0);
2069 private final EnumLiteralDeclaration cREALEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2070 private final Keyword cREALRealKeyword_1_0 = (Keyword)cREALEnumLiteralDeclaration_1.eContents().get(0);
1199 2071
1200 //'abstract' 2072 //enum MetricType:
1201 public Keyword getAbstractAbstractKeyword_0_0() { return cAbstractAbstractKeyword_0_0; } 2073 // INT="int" | REAL="real";
2074 public EnumRule getRule() { return rule; }
1202 2075
1203 //'class' 2076 //INT="int" | REAL="real"
1204 public Keyword getClassKeyword_1() { return cClassKeyword_1; } 2077 public Alternatives getAlternatives() { return cAlternatives; }
1205 2078
1206 //symbol=ModelSymbol 2079 //INT="int"
1207 public Assignment getSymbolAssignment_2() { return cSymbolAssignment_2; } 2080 public EnumLiteralDeclaration getINTEnumLiteralDeclaration_0() { return cINTEnumLiteralDeclaration_0; }
1208 2081
1209 //ModelSymbol 2082 //"int"
1210 public RuleCall getSymbolModelSymbolParserRuleCall_2_0() { return cSymbolModelSymbolParserRuleCall_2_0; } 2083 public Keyword getINTIntKeyword_0_0() { return cINTIntKeyword_0_0; }
1211 2084
1212 //('extends' supertypes+=ModelSymbol+)? 2085 //REAL="real"
1213 public Group getGroup_3() { return cGroup_3; } 2086 public EnumLiteralDeclaration getREALEnumLiteralDeclaration_1() { return cREALEnumLiteralDeclaration_1; }
1214 2087
1215 //'extends' 2088 //"real"
1216 public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; } 2089 public Keyword getREALRealKeyword_1_0() { return cREALRealKeyword_1_0; }
2090 }
2091 public class BinaryOperatorElements extends AbstractEnumRuleElementFinder {
2092 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BinaryOperator");
2093 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2094 private final EnumLiteralDeclaration cEQEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2095 private final Keyword cEQEQKeyword_0_0 = (Keyword)cEQEnumLiteralDeclaration_0.eContents().get(0);
2096 private final EnumLiteralDeclaration cNOT_EQEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2097 private final Keyword cNOT_EQNOT_EQKeyword_1_0 = (Keyword)cNOT_EQEnumLiteralDeclaration_1.eContents().get(0);
2098 private final EnumLiteralDeclaration cLESSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2099 private final Keyword cLESSLESSKeyword_2_0 = (Keyword)cLESSEnumLiteralDeclaration_2.eContents().get(0);
2100 private final EnumLiteralDeclaration cLESS_EQEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
2101 private final Keyword cLESS_EQLESS_EQKeyword_3_0 = (Keyword)cLESS_EQEnumLiteralDeclaration_3.eContents().get(0);
2102 private final EnumLiteralDeclaration cGREATEREnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
2103 private final Keyword cGREATERGREATERKeyword_4_0 = (Keyword)cGREATEREnumLiteralDeclaration_4.eContents().get(0);
2104 private final EnumLiteralDeclaration cGREATER_EQEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
2105 private final Keyword cGREATER_EQGREATER_EQKeyword_5_0 = (Keyword)cGREATER_EQEnumLiteralDeclaration_5.eContents().get(0);
2106 private final EnumLiteralDeclaration cINEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
2107 private final Keyword cININKeyword_6_0 = (Keyword)cINEnumLiteralDeclaration_6.eContents().get(0);
2108 private final EnumLiteralDeclaration cADDEnumLiteralDeclaration_7 = (EnumLiteralDeclaration)cAlternatives.eContents().get(7);
2109 private final Keyword cADDADDKeyword_7_0 = (Keyword)cADDEnumLiteralDeclaration_7.eContents().get(0);
2110 private final EnumLiteralDeclaration cSUBEnumLiteralDeclaration_8 = (EnumLiteralDeclaration)cAlternatives.eContents().get(8);
2111 private final Keyword cSUBSUBKeyword_8_0 = (Keyword)cSUBEnumLiteralDeclaration_8.eContents().get(0);
2112 private final EnumLiteralDeclaration cMULEnumLiteralDeclaration_9 = (EnumLiteralDeclaration)cAlternatives.eContents().get(9);
2113 private final Keyword cMULMULKeyword_9_0 = (Keyword)cMULEnumLiteralDeclaration_9.eContents().get(0);
2114 private final EnumLiteralDeclaration cDIVEnumLiteralDeclaration_10 = (EnumLiteralDeclaration)cAlternatives.eContents().get(10);
2115 private final Keyword cDIVDIVKeyword_10_0 = (Keyword)cDIVEnumLiteralDeclaration_10.eContents().get(0);
2116 private final EnumLiteralDeclaration cPOWEnumLiteralDeclaration_11 = (EnumLiteralDeclaration)cAlternatives.eContents().get(11);
2117 private final Keyword cPOWPOWKeyword_11_0 = (Keyword)cPOWEnumLiteralDeclaration_11.eContents().get(0);
2118
2119 //enum BinaryOperator:
2120 // EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW;
2121 public EnumRule getRule() { return rule; }
2122
2123 //EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW
2124 public Alternatives getAlternatives() { return cAlternatives; }
1217 2125
1218 //supertypes+=ModelSymbol+ 2126 //EQ
1219 public Assignment getSupertypesAssignment_3_1() { return cSupertypesAssignment_3_1; } 2127 public EnumLiteralDeclaration getEQEnumLiteralDeclaration_0() { return cEQEnumLiteralDeclaration_0; }
1220 2128
1221 //ModelSymbol 2129 //"EQ"
1222 public RuleCall getSupertypesModelSymbolParserRuleCall_3_1_0() { return cSupertypesModelSymbolParserRuleCall_3_1_0; } 2130 public Keyword getEQEQKeyword_0_0() { return cEQEQKeyword_0_0; }
1223 2131
1224 //'{' 2132 //NOT_EQ
1225 public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; } 2133 public EnumLiteralDeclaration getNOT_EQEnumLiteralDeclaration_1() { return cNOT_EQEnumLiteralDeclaration_1; }
1226 2134
1227 //fielt+=FieldRelationInterpretation* 2135 //"NOT_EQ"
1228 public Assignment getFieltAssignment_5() { return cFieltAssignment_5; } 2136 public Keyword getNOT_EQNOT_EQKeyword_1_0() { return cNOT_EQNOT_EQKeyword_1_0; }
1229 2137
1230 //FieldRelationInterpretation 2138 //LESS
1231 public RuleCall getFieltFieldRelationInterpretationParserRuleCall_5_0() { return cFieltFieldRelationInterpretationParserRuleCall_5_0; } 2139 public EnumLiteralDeclaration getLESSEnumLiteralDeclaration_2() { return cLESSEnumLiteralDeclaration_2; }
1232 2140
1233 //'}' 2141 //"LESS"
1234 public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } 2142 public Keyword getLESSLESSKeyword_2_0() { return cLESSLESSKeyword_2_0; }
2143
2144 //LESS_EQ
2145 public EnumLiteralDeclaration getLESS_EQEnumLiteralDeclaration_3() { return cLESS_EQEnumLiteralDeclaration_3; }
2146
2147 //"LESS_EQ"
2148 public Keyword getLESS_EQLESS_EQKeyword_3_0() { return cLESS_EQLESS_EQKeyword_3_0; }
2149
2150 //GREATER
2151 public EnumLiteralDeclaration getGREATEREnumLiteralDeclaration_4() { return cGREATEREnumLiteralDeclaration_4; }
2152
2153 //"GREATER"
2154 public Keyword getGREATERGREATERKeyword_4_0() { return cGREATERGREATERKeyword_4_0; }
2155
2156 //GREATER_EQ
2157 public EnumLiteralDeclaration getGREATER_EQEnumLiteralDeclaration_5() { return cGREATER_EQEnumLiteralDeclaration_5; }
2158
2159 //"GREATER_EQ"
2160 public Keyword getGREATER_EQGREATER_EQKeyword_5_0() { return cGREATER_EQGREATER_EQKeyword_5_0; }
2161
2162 //IN
2163 public EnumLiteralDeclaration getINEnumLiteralDeclaration_6() { return cINEnumLiteralDeclaration_6; }
2164
2165 //"IN"
2166 public Keyword getININKeyword_6_0() { return cININKeyword_6_0; }
2167
2168 //ADD
2169 public EnumLiteralDeclaration getADDEnumLiteralDeclaration_7() { return cADDEnumLiteralDeclaration_7; }
2170
2171 //"ADD"
2172 public Keyword getADDADDKeyword_7_0() { return cADDADDKeyword_7_0; }
2173
2174 //SUB
2175 public EnumLiteralDeclaration getSUBEnumLiteralDeclaration_8() { return cSUBEnumLiteralDeclaration_8; }
2176
2177 //"SUB"
2178 public Keyword getSUBSUBKeyword_8_0() { return cSUBSUBKeyword_8_0; }
2179
2180 //MUL
2181 public EnumLiteralDeclaration getMULEnumLiteralDeclaration_9() { return cMULEnumLiteralDeclaration_9; }
2182
2183 //"MUL"
2184 public Keyword getMULMULKeyword_9_0() { return cMULMULKeyword_9_0; }
2185
2186 //DIV
2187 public EnumLiteralDeclaration getDIVEnumLiteralDeclaration_10() { return cDIVEnumLiteralDeclaration_10; }
2188
2189 //"DIV"
2190 public Keyword getDIVDIVKeyword_10_0() { return cDIVDIVKeyword_10_0; }
2191
2192 //POW
2193 public EnumLiteralDeclaration getPOWEnumLiteralDeclaration_11() { return cPOWEnumLiteralDeclaration_11; }
2194
2195 //"POW"
2196 public Keyword getPOWPOWKeyword_11_0() { return cPOWPOWKeyword_11_0; }
1235 } 2197 }
1236 public class EnumInterpretationElements extends AbstractParserRuleElementFinder { 2198 public class ComparisonOperatorElements extends AbstractEnumRuleElementFinder {
1237 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EnumInterpretation"); 2199 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator");
1238 private final Group cGroup = (Group)rule.eContents().get(1); 2200 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1239 private final Keyword cEnumKeyword_0 = (Keyword)cGroup.eContents().get(0); 2201 private final EnumLiteralDeclaration cEQEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
1240 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1); 2202 private final Keyword cEQEqualsSignEqualsSignKeyword_0_0 = (Keyword)cEQEnumLiteralDeclaration_0.eContents().get(0);
1241 private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0); 2203 private final EnumLiteralDeclaration cNOT_EQEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
1242 private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); 2204 private final Keyword cNOT_EQExclamationMarkEqualsSignKeyword_1_0 = (Keyword)cNOT_EQEnumLiteralDeclaration_1.eContents().get(0);
1243 private final Assignment cObjectsAssignment_3 = (Assignment)cGroup.eContents().get(3); 2205 private final EnumLiteralDeclaration cLESSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
1244 private final RuleCall cObjectsNamedObjectParserRuleCall_3_0 = (RuleCall)cObjectsAssignment_3.eContents().get(0); 2206 private final Keyword cLESSLessThanSignKeyword_2_0 = (Keyword)cLESSEnumLiteralDeclaration_2.eContents().get(0);
1245 private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); 2207 private final EnumLiteralDeclaration cLESS_EQEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
1246 2208 private final Keyword cLESS_EQLessThanSignEqualsSignKeyword_3_0 = (Keyword)cLESS_EQEnumLiteralDeclaration_3.eContents().get(0);
1247 //EnumInterpretation: 2209 private final EnumLiteralDeclaration cGREATEREnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
1248 // 'enum' Symbol=ModelSymbol '{' objects+=NamedObject+ '}'; 2210 private final Keyword cGREATERGreaterThanSignKeyword_4_0 = (Keyword)cGREATEREnumLiteralDeclaration_4.eContents().get(0);
1249 @Override public ParserRule getRule() { return rule; } 2211 private final EnumLiteralDeclaration cGREATER_EQEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
2212 private final Keyword cGREATER_EQGreaterThanSignEqualsSignKeyword_5_0 = (Keyword)cGREATER_EQEnumLiteralDeclaration_5.eContents().get(0);
2213 private final EnumLiteralDeclaration cINEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
2214 private final Keyword cINInKeyword_6_0 = (Keyword)cINEnumLiteralDeclaration_6.eContents().get(0);
2215
2216 //enum ComparisonOperator returns BinaryOperator:
2217 // EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in";
2218 public EnumRule getRule() { return rule; }
2219
2220 //EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in"
2221 public Alternatives getAlternatives() { return cAlternatives; }
1250 2222
1251 //'enum' Symbol=ModelSymbol '{' objects+=NamedObject+ '}' 2223 //EQ="=="
1252 public Group getGroup() { return cGroup; } 2224 public EnumLiteralDeclaration getEQEnumLiteralDeclaration_0() { return cEQEnumLiteralDeclaration_0; }
2225
2226 //"=="
2227 public Keyword getEQEqualsSignEqualsSignKeyword_0_0() { return cEQEqualsSignEqualsSignKeyword_0_0; }
1253 2228
1254 //'enum' 2229 //NOT_EQ="!="
1255 public Keyword getEnumKeyword_0() { return cEnumKeyword_0; } 2230 public EnumLiteralDeclaration getNOT_EQEnumLiteralDeclaration_1() { return cNOT_EQEnumLiteralDeclaration_1; }
1256 2231
1257 //Symbol=ModelSymbol 2232 //"!="
1258 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; } 2233 public Keyword getNOT_EQExclamationMarkEqualsSignKeyword_1_0() { return cNOT_EQExclamationMarkEqualsSignKeyword_1_0; }
1259 2234
1260 //ModelSymbol 2235 //LESS="<"
1261 public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; } 2236 public EnumLiteralDeclaration getLESSEnumLiteralDeclaration_2() { return cLESSEnumLiteralDeclaration_2; }
1262 2237
1263 //'{' 2238 //"<"
1264 public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } 2239 public Keyword getLESSLessThanSignKeyword_2_0() { return cLESSLessThanSignKeyword_2_0; }
1265 2240
1266 //objects+=NamedObject+ 2241 //LESS_EQ="<="
1267 public Assignment getObjectsAssignment_3() { return cObjectsAssignment_3; } 2242 public EnumLiteralDeclaration getLESS_EQEnumLiteralDeclaration_3() { return cLESS_EQEnumLiteralDeclaration_3; }
1268 2243
1269 //NamedObject 2244 //"<="
1270 public RuleCall getObjectsNamedObjectParserRuleCall_3_0() { return cObjectsNamedObjectParserRuleCall_3_0; } 2245 public Keyword getLESS_EQLessThanSignEqualsSignKeyword_3_0() { return cLESS_EQLessThanSignEqualsSignKeyword_3_0; }
1271 2246
1272 //'}' 2247 //GREATER=">"
1273 public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } 2248 public EnumLiteralDeclaration getGREATEREnumLiteralDeclaration_4() { return cGREATEREnumLiteralDeclaration_4; }
2249
2250 //">"
2251 public Keyword getGREATERGreaterThanSignKeyword_4_0() { return cGREATERGreaterThanSignKeyword_4_0; }
2252
2253 //GREATER_EQ=">="
2254 public EnumLiteralDeclaration getGREATER_EQEnumLiteralDeclaration_5() { return cGREATER_EQEnumLiteralDeclaration_5; }
2255
2256 //">="
2257 public Keyword getGREATER_EQGreaterThanSignEqualsSignKeyword_5_0() { return cGREATER_EQGreaterThanSignEqualsSignKeyword_5_0; }
2258
2259 //IN="in"
2260 public EnumLiteralDeclaration getINEnumLiteralDeclaration_6() { return cINEnumLiteralDeclaration_6; }
2261
2262 //"in"
2263 public Keyword getINInKeyword_6_0() { return cINInKeyword_6_0; }
1274 } 2264 }
1275 public class FieldRelationInterpretationElements extends AbstractParserRuleElementFinder { 2265 public class AdditiveBinaryOperatorElements extends AbstractEnumRuleElementFinder {
1276 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.FieldRelationInterpretation"); 2266 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveBinaryOperator");
1277 private final Group cGroup = (Group)rule.eContents().get(1); 2267 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1278 private final Assignment cContainmentAssignment_0 = (Assignment)cGroup.eContents().get(0); 2268 private final EnumLiteralDeclaration cADDEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
1279 private final Keyword cContainmentContainmentKeyword_0_0 = (Keyword)cContainmentAssignment_0.eContents().get(0); 2269 private final Keyword cADDPlusSignKeyword_0_0 = (Keyword)cADDEnumLiteralDeclaration_0.eContents().get(0);
1280 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1); 2270 private final EnumLiteralDeclaration cSUBEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
1281 private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0); 2271 private final Keyword cSUBHyphenMinusKeyword_1_0 = (Keyword)cSUBEnumLiteralDeclaration_1.eContents().get(0);
1282 private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
1283 private final Assignment cMultiplicityAssignment_3 = (Assignment)cGroup.eContents().get(3);
1284 private final RuleCall cMultiplicityMultiplicityDefinitionParserRuleCall_3_0 = (RuleCall)cMultiplicityAssignment_3.eContents().get(0);
1285 private final Assignment cTargetAssignment_4 = (Assignment)cGroup.eContents().get(4);
1286 private final RuleCall cTargetSymbolParserRuleCall_4_0 = (RuleCall)cTargetAssignment_4.eContents().get(0);
1287 2272
1288 //FieldRelationInterpretation: 2273 //enum AdditiveBinaryOperator returns BinaryOperator:
1289 // containment?='containment'? symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol; 2274 // ADD="+" | SUB="-";
1290 @Override public ParserRule getRule() { return rule; } 2275 public EnumRule getRule() { return rule; }
1291 2276
1292 //containment?='containment'? symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol 2277 //ADD="+" | SUB="-"
1293 public Group getGroup() { return cGroup; } 2278 public Alternatives getAlternatives() { return cAlternatives; }
1294 2279
1295 //containment?='containment'? 2280 //ADD="+"
1296 public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; } 2281 public EnumLiteralDeclaration getADDEnumLiteralDeclaration_0() { return cADDEnumLiteralDeclaration_0; }
1297 2282
1298 //'containment' 2283 //"+"
1299 public Keyword getContainmentContainmentKeyword_0_0() { return cContainmentContainmentKeyword_0_0; } 2284 public Keyword getADDPlusSignKeyword_0_0() { return cADDPlusSignKeyword_0_0; }
1300 2285
1301 //symbol=ModelSymbol 2286 //SUB="-"
1302 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; } 2287 public EnumLiteralDeclaration getSUBEnumLiteralDeclaration_1() { return cSUBEnumLiteralDeclaration_1; }
1303 2288
1304 //ModelSymbol 2289 //"-"
1305 public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; } 2290 public Keyword getSUBHyphenMinusKeyword_1_0() { return cSUBHyphenMinusKeyword_1_0; }
2291 }
2292 public class MultiplicativeBinaryOperatorElements extends AbstractEnumRuleElementFinder {
2293 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeBinaryOperator");
2294 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2295 private final EnumLiteralDeclaration cMULEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2296 private final Keyword cMULAsteriskKeyword_0_0 = (Keyword)cMULEnumLiteralDeclaration_0.eContents().get(0);
2297 private final EnumLiteralDeclaration cDIVEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2298 private final Keyword cDIVSolidusKeyword_1_0 = (Keyword)cDIVEnumLiteralDeclaration_1.eContents().get(0);
1306 2299
1307 //':' 2300 //enum MultiplicativeBinaryOperator returns BinaryOperator:
1308 public Keyword getColonKeyword_2() { return cColonKeyword_2; } 2301 // MUL="*" | DIV="/";
2302 public EnumRule getRule() { return rule; }
1309 2303
1310 //multiplicity=MultiplicityDefinition? 2304 //MUL="*" | DIV="/"
1311 public Assignment getMultiplicityAssignment_3() { return cMultiplicityAssignment_3; } 2305 public Alternatives getAlternatives() { return cAlternatives; }
2306
2307 //MUL="*"
2308 public EnumLiteralDeclaration getMULEnumLiteralDeclaration_0() { return cMULEnumLiteralDeclaration_0; }
1312 2309
1313 //MultiplicityDefinition 2310 //"*"
1314 public RuleCall getMultiplicityMultiplicityDefinitionParserRuleCall_3_0() { return cMultiplicityMultiplicityDefinitionParserRuleCall_3_0; } 2311 public Keyword getMULAsteriskKeyword_0_0() { return cMULAsteriskKeyword_0_0; }
1315 2312
1316 //target=Symbol 2313 //DIV="/"
1317 public Assignment getTargetAssignment_4() { return cTargetAssignment_4; } 2314 public EnumLiteralDeclaration getDIVEnumLiteralDeclaration_1() { return cDIVEnumLiteralDeclaration_1; }
1318 2315
1319 //Symbol 2316 //"/"
1320 public RuleCall getTargetSymbolParserRuleCall_4_0() { return cTargetSymbolParserRuleCall_4_0; } 2317 public Keyword getDIVSolidusKeyword_1_0() { return cDIVSolidusKeyword_1_0; }
1321 } 2318 }
1322 public class GlobalRelationInterpretationElements extends AbstractParserRuleElementFinder { 2319 public class ExponentialOpElements extends AbstractEnumRuleElementFinder {
1323 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.GlobalRelationInterpretation"); 2320 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialOp");
1324 private final Group cGroup = (Group)rule.eContents().get(1); 2321 private final EnumLiteralDeclaration cPOWEnumLiteralDeclaration = (EnumLiteralDeclaration)rule.eContents().get(1);
1325 private final Assignment cContainmentAssignment_0 = (Assignment)cGroup.eContents().get(0); 2322 private final Keyword cPOWCircumflexAccentKeyword_0 = (Keyword)cPOWEnumLiteralDeclaration.eContents().get(0);
1326 private final Keyword cContainmentContainmentKeyword_0_0 = (Keyword)cContainmentAssignment_0.eContents().get(0);
1327 private final Keyword cRelationKeyword_1 = (Keyword)cGroup.eContents().get(1);
1328 private final Assignment cSymbolAssignment_2 = (Assignment)cGroup.eContents().get(2);
1329 private final RuleCall cSymbolModelSymbolParserRuleCall_2_0 = (RuleCall)cSymbolAssignment_2.eContents().get(0);
1330 private final Keyword cColonKeyword_3 = (Keyword)cGroup.eContents().get(3);
1331 private final Assignment cSourceMultiplicityAssignment_4 = (Assignment)cGroup.eContents().get(4);
1332 private final RuleCall cSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0 = (RuleCall)cSourceMultiplicityAssignment_4.eContents().get(0);
1333 private final Assignment cSourceAssignment_5 = (Assignment)cGroup.eContents().get(5);
1334 private final RuleCall cSourceSymbolParserRuleCall_5_0 = (RuleCall)cSourceAssignment_5.eContents().get(0);
1335 private final Assignment cTargetMultiplicityAssignment_6 = (Assignment)cGroup.eContents().get(6);
1336 private final RuleCall cTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0 = (RuleCall)cTargetMultiplicityAssignment_6.eContents().get(0);
1337 private final Assignment cTargetAssignment_7 = (Assignment)cGroup.eContents().get(7);
1338 private final RuleCall cTargetSymbolParserRuleCall_7_0 = (RuleCall)cTargetAssignment_7.eContents().get(0);
1339
1340 //GlobalRelationInterpretation:
1341 // containment?='containment'? 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition?
1342 // source=Symbol targetMultiplicity=MultiplicityDefinition? target=Symbol;
1343 @Override public ParserRule getRule() { return rule; }
1344 2323
1345 //containment?='containment'? 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? source=Symbol 2324 //enum ExponentialOp returns BinaryOperator:
1346 //targetMultiplicity=MultiplicityDefinition? target=Symbol 2325 // POW="^";
1347 public Group getGroup() { return cGroup; } 2326 public EnumRule getRule() { return rule; }
1348 2327
1349 //containment?='containment'? 2328 //POW="^"
1350 public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; } 2329 public EnumLiteralDeclaration getPOWEnumLiteralDeclaration() { return cPOWEnumLiteralDeclaration; }
1351 2330
1352 //'containment' 2331 //"^"
1353 public Keyword getContainmentContainmentKeyword_0_0() { return cContainmentContainmentKeyword_0_0; } 2332 public Keyword getPOWCircumflexAccentKeyword_0() { return cPOWCircumflexAccentKeyword_0; }
2333 }
2334 public class UnaryOpElements extends AbstractEnumRuleElementFinder {
2335 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp");
2336 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2337 private final EnumLiteralDeclaration cNEGEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2338 private final Keyword cNEGExclamationMarkKeyword_0_0 = (Keyword)cNEGEnumLiteralDeclaration_0.eContents().get(0);
2339 private final EnumLiteralDeclaration cPLUSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2340 private final Keyword cPLUSPlusSignKeyword_1_0 = (Keyword)cPLUSEnumLiteralDeclaration_1.eContents().get(0);
2341 private final EnumLiteralDeclaration cMINUSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2342 private final Keyword cMINUSHyphenMinusKeyword_2_0 = (Keyword)cMINUSEnumLiteralDeclaration_2.eContents().get(0);
2343 private final EnumLiteralDeclaration cMAYEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
2344 private final Keyword cMAYMayKeyword_3_0 = (Keyword)cMAYEnumLiteralDeclaration_3.eContents().get(0);
2345 private final EnumLiteralDeclaration cMUSTEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
2346 private final Keyword cMUSTMustKeyword_4_0 = (Keyword)cMUSTEnumLiteralDeclaration_4.eContents().get(0);
2347 private final EnumLiteralDeclaration cCURRENTEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
2348 private final Keyword cCURRENTCurrentKeyword_5_0 = (Keyword)cCURRENTEnumLiteralDeclaration_5.eContents().get(0);
2349
2350 //enum UnaryOp:
2351 // NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current";
2352 public EnumRule getRule() { return rule; }
2353
2354 //NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current"
2355 public Alternatives getAlternatives() { return cAlternatives; }
1354 2356
1355 //'relation' 2357 //NEG="!"
1356 public Keyword getRelationKeyword_1() { return cRelationKeyword_1; } 2358 public EnumLiteralDeclaration getNEGEnumLiteralDeclaration_0() { return cNEGEnumLiteralDeclaration_0; }
1357 2359
1358 //symbol=ModelSymbol 2360 //"!"
1359 public Assignment getSymbolAssignment_2() { return cSymbolAssignment_2; } 2361 public Keyword getNEGExclamationMarkKeyword_0_0() { return cNEGExclamationMarkKeyword_0_0; }
1360 2362
1361 //ModelSymbol 2363 //PLUS="+"
1362 public RuleCall getSymbolModelSymbolParserRuleCall_2_0() { return cSymbolModelSymbolParserRuleCall_2_0; } 2364 public EnumLiteralDeclaration getPLUSEnumLiteralDeclaration_1() { return cPLUSEnumLiteralDeclaration_1; }
1363 2365
1364 //':' 2366 //"+"
1365 public Keyword getColonKeyword_3() { return cColonKeyword_3; } 2367 public Keyword getPLUSPlusSignKeyword_1_0() { return cPLUSPlusSignKeyword_1_0; }
1366 2368
1367 //sourceMultiplicity=MultiplicityDefinition? 2369 //MINUS="-"
1368 public Assignment getSourceMultiplicityAssignment_4() { return cSourceMultiplicityAssignment_4; } 2370 public EnumLiteralDeclaration getMINUSEnumLiteralDeclaration_2() { return cMINUSEnumLiteralDeclaration_2; }
1369 2371
1370 //MultiplicityDefinition 2372 //"-"
1371 public RuleCall getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0() { return cSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0; } 2373 public Keyword getMINUSHyphenMinusKeyword_2_0() { return cMINUSHyphenMinusKeyword_2_0; }
1372 2374
1373 //source=Symbol 2375 //MAY="may"
1374 public Assignment getSourceAssignment_5() { return cSourceAssignment_5; } 2376 public EnumLiteralDeclaration getMAYEnumLiteralDeclaration_3() { return cMAYEnumLiteralDeclaration_3; }
1375 2377
1376 //Symbol 2378 //"may"
1377 public RuleCall getSourceSymbolParserRuleCall_5_0() { return cSourceSymbolParserRuleCall_5_0; } 2379 public Keyword getMAYMayKeyword_3_0() { return cMAYMayKeyword_3_0; }
1378 2380
1379 //targetMultiplicity=MultiplicityDefinition? 2381 //MUST="must"
1380 public Assignment getTargetMultiplicityAssignment_6() { return cTargetMultiplicityAssignment_6; } 2382 public EnumLiteralDeclaration getMUSTEnumLiteralDeclaration_4() { return cMUSTEnumLiteralDeclaration_4; }
1381 2383
1382 //MultiplicityDefinition 2384 //"must"
1383 public RuleCall getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0() { return cTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0; } 2385 public Keyword getMUSTMustKeyword_4_0() { return cMUSTMustKeyword_4_0; }
1384 2386
1385 //target=Symbol 2387 //CURRENT="current"
1386 public Assignment getTargetAssignment_7() { return cTargetAssignment_7; } 2388 public EnumLiteralDeclaration getCURRENTEnumLiteralDeclaration_5() { return cCURRENTEnumLiteralDeclaration_5; }
1387 2389
1388 //Symbol 2390 //"current"
1389 public RuleCall getTargetSymbolParserRuleCall_7_0() { return cTargetSymbolParserRuleCall_7_0; } 2391 public Keyword getCURRENTCurrentKeyword_5_0() { return cCURRENTCurrentKeyword_5_0; }
1390 } 2392 }
1391 public class MultiplicityDefinitionElements extends AbstractParserRuleElementFinder { 2393 public class AggregationOpElements extends AbstractEnumRuleElementFinder {
1392 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition"); 2394 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp");
1393 private final Group cGroup = (Group)rule.eContents().get(1); 2395 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1394 private final Assignment cLowerAssignment_0 = (Assignment)cGroup.eContents().get(0); 2396 private final EnumLiteralDeclaration cONLYEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
1395 private final RuleCall cLowerINTTerminalRuleCall_0_0 = (RuleCall)cLowerAssignment_0.eContents().get(0); 2397 private final Keyword cONLYOnlyKeyword_0_0 = (Keyword)cONLYEnumLiteralDeclaration_0.eContents().get(0);
1396 private final Keyword cFullStopFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1); 2398 private final EnumLiteralDeclaration cSUMEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
1397 private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); 2399 private final Keyword cSUMSumKeyword_1_0 = (Keyword)cSUMEnumLiteralDeclaration_1.eContents().get(0);
1398 private final Assignment cUpperAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0); 2400 private final EnumLiteralDeclaration cPRODEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
1399 private final RuleCall cUpperINTTerminalRuleCall_2_0_0 = (RuleCall)cUpperAssignment_2_0.eContents().get(0); 2401 private final Keyword cPRODProdKeyword_2_0 = (Keyword)cPRODEnumLiteralDeclaration_2.eContents().get(0);
1400 private final Assignment cUnlimitedUpperAssignment_2_1 = (Assignment)cAlternatives_2.eContents().get(1); 2402 private final EnumLiteralDeclaration cAVGEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
1401 private final Keyword cUnlimitedUpperAsteriskKeyword_2_1_0 = (Keyword)cUnlimitedUpperAssignment_2_1.eContents().get(0); 2403 private final Keyword cAVGAvgKeyword_3_0 = (Keyword)cAVGEnumLiteralDeclaration_3.eContents().get(0);
1402 2404 private final EnumLiteralDeclaration cMINEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
1403 //MultiplicityDefinition: 2405 private final Keyword cMINMinKeyword_4_0 = (Keyword)cMINEnumLiteralDeclaration_4.eContents().get(0);
1404 // lower=INT '..' (upper=INT | unlimitedUpper?='*'); 2406 private final EnumLiteralDeclaration cMAXEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
1405 @Override public ParserRule getRule() { return rule; } 2407 private final Keyword cMAXMaxKeyword_5_0 = (Keyword)cMAXEnumLiteralDeclaration_5.eContents().get(0);
2408
2409 //enum AggregationOp:
2410 // ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max";
2411 public EnumRule getRule() { return rule; }
2412
2413 //ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max"
2414 public Alternatives getAlternatives() { return cAlternatives; }
1406 2415
1407 //lower=INT '..' (upper=INT | unlimitedUpper?='*') 2416 //ONLY="only"
1408 public Group getGroup() { return cGroup; } 2417 public EnumLiteralDeclaration getONLYEnumLiteralDeclaration_0() { return cONLYEnumLiteralDeclaration_0; }
1409 2418
1410 //lower=INT 2419 //"only"
1411 public Assignment getLowerAssignment_0() { return cLowerAssignment_0; } 2420 public Keyword getONLYOnlyKeyword_0_0() { return cONLYOnlyKeyword_0_0; }
1412 2421
1413 //INT 2422 //SUM="sum"
1414 public RuleCall getLowerINTTerminalRuleCall_0_0() { return cLowerINTTerminalRuleCall_0_0; } 2423 public EnumLiteralDeclaration getSUMEnumLiteralDeclaration_1() { return cSUMEnumLiteralDeclaration_1; }
1415 2424
1416 //'..' 2425 //"sum"
1417 public Keyword getFullStopFullStopKeyword_1() { return cFullStopFullStopKeyword_1; } 2426 public Keyword getSUMSumKeyword_1_0() { return cSUMSumKeyword_1_0; }
1418 2427
1419 //upper=INT | unlimitedUpper?='*' 2428 //PROD="prod"
1420 public Alternatives getAlternatives_2() { return cAlternatives_2; } 2429 public EnumLiteralDeclaration getPRODEnumLiteralDeclaration_2() { return cPRODEnumLiteralDeclaration_2; }
1421 2430
1422 //upper=INT 2431 //"prod"
1423 public Assignment getUpperAssignment_2_0() { return cUpperAssignment_2_0; } 2432 public Keyword getPRODProdKeyword_2_0() { return cPRODProdKeyword_2_0; }
1424 2433
1425 //INT 2434 //AVG="avg"
1426 public RuleCall getUpperINTTerminalRuleCall_2_0_0() { return cUpperINTTerminalRuleCall_2_0_0; } 2435 public EnumLiteralDeclaration getAVGEnumLiteralDeclaration_3() { return cAVGEnumLiteralDeclaration_3; }
2436
2437 //"avg"
2438 public Keyword getAVGAvgKeyword_3_0() { return cAVGAvgKeyword_3_0; }
1427 2439
1428 //unlimitedUpper?='*' 2440 //MIN="min"
1429 public Assignment getUnlimitedUpperAssignment_2_1() { return cUnlimitedUpperAssignment_2_1; } 2441 public EnumLiteralDeclaration getMINEnumLiteralDeclaration_4() { return cMINEnumLiteralDeclaration_4; }
1430 2442
1431 //'*' 2443 //"min"
1432 public Keyword getUnlimitedUpperAsteriskKeyword_2_1_0() { return cUnlimitedUpperAsteriskKeyword_2_1_0; } 2444 public Keyword getMINMinKeyword_4_0() { return cMINMinKeyword_4_0; }
2445
2446 //MAX="max"
2447 public EnumLiteralDeclaration getMAXEnumLiteralDeclaration_5() { return cMAXEnumLiteralDeclaration_5; }
2448
2449 //"max"
2450 public Keyword getMAXMaxKeyword_5_0() { return cMAXMaxKeyword_5_0; }
2451 }
2452 public class LogicValueElements extends AbstractEnumRuleElementFinder {
2453 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue");
2454 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2455 private final EnumLiteralDeclaration cTRUEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2456 private final Keyword cTRUETrueKeyword_0_0 = (Keyword)cTRUEEnumLiteralDeclaration_0.eContents().get(0);
2457 private final EnumLiteralDeclaration cFALSEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2458 private final Keyword cFALSEFalseKeyword_1_0 = (Keyword)cFALSEEnumLiteralDeclaration_1.eContents().get(0);
2459 private final EnumLiteralDeclaration cUNKNOWNEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2460 private final Keyword cUNKNOWNUnknownKeyword_2_0 = (Keyword)cUNKNOWNEnumLiteralDeclaration_2.eContents().get(0);
2461 private final EnumLiteralDeclaration cERROREnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
2462 private final Keyword cERRORErrorKeyword_3_0 = (Keyword)cERROREnumLiteralDeclaration_3.eContents().get(0);
2463
2464 //enum LogicValue:
2465 // TRUE="true" | FALSE="false" | UNKNOWN="unknown" | ERROR="error";
2466 public EnumRule getRule() { return rule; }
2467
2468 //TRUE="true" | FALSE="false" | UNKNOWN="unknown" | ERROR="error"
2469 public Alternatives getAlternatives() { return cAlternatives; }
2470
2471 //TRUE="true"
2472 public EnumLiteralDeclaration getTRUEEnumLiteralDeclaration_0() { return cTRUEEnumLiteralDeclaration_0; }
2473
2474 //"true"
2475 public Keyword getTRUETrueKeyword_0_0() { return cTRUETrueKeyword_0_0; }
2476
2477 //FALSE="false"
2478 public EnumLiteralDeclaration getFALSEEnumLiteralDeclaration_1() { return cFALSEEnumLiteralDeclaration_1; }
2479
2480 //"false"
2481 public Keyword getFALSEFalseKeyword_1_0() { return cFALSEFalseKeyword_1_0; }
2482
2483 //UNKNOWN="unknown"
2484 public EnumLiteralDeclaration getUNKNOWNEnumLiteralDeclaration_2() { return cUNKNOWNEnumLiteralDeclaration_2; }
2485
2486 //"unknown"
2487 public Keyword getUNKNOWNUnknownKeyword_2_0() { return cUNKNOWNUnknownKeyword_2_0; }
2488
2489 //ERROR="error"
2490 public EnumLiteralDeclaration getERROREnumLiteralDeclaration_3() { return cERROREnumLiteralDeclaration_3; }
2491
2492 //"error"
2493 public Keyword getERRORErrorKeyword_3_0() { return cERRORErrorKeyword_3_0; }
2494 }
2495 public class ObjectiveKindElements extends AbstractEnumRuleElementFinder {
2496 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveKind");
2497 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2498 private final EnumLiteralDeclaration cMINIMIZEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2499 private final Keyword cMINIMIZEMinimizeKeyword_0_0 = (Keyword)cMINIMIZEEnumLiteralDeclaration_0.eContents().get(0);
2500 private final EnumLiteralDeclaration cMAXIMIZEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2501 private final Keyword cMAXIMIZEMaximizeKeyword_1_0 = (Keyword)cMAXIMIZEEnumLiteralDeclaration_1.eContents().get(0);
2502
2503 //enum ObjectiveKind:
2504 // MINIMIZE="minimize" | MAXIMIZE="maximize";
2505 public EnumRule getRule() { return rule; }
2506
2507 //MINIMIZE="minimize" | MAXIMIZE="maximize"
2508 public Alternatives getAlternatives() { return cAlternatives; }
2509
2510 //MINIMIZE="minimize"
2511 public EnumLiteralDeclaration getMINIMIZEEnumLiteralDeclaration_0() { return cMINIMIZEEnumLiteralDeclaration_0; }
2512
2513 //"minimize"
2514 public Keyword getMINIMIZEMinimizeKeyword_0_0() { return cMINIMIZEMinimizeKeyword_0_0; }
2515
2516 //MAXIMIZE="maximize"
2517 public EnumLiteralDeclaration getMAXIMIZEEnumLiteralDeclaration_1() { return cMAXIMIZEEnumLiteralDeclaration_1; }
2518
2519 //"maximize"
2520 public Keyword getMAXIMIZEMaximizeKeyword_1_0() { return cMAXIMIZEMaximizeKeyword_1_0; }
1433 } 2521 }
1434
1435 2522
1436 private final ProblemElements pProblem; 2523 private final ProblemElements pProblem;
1437 private final StatementElements pStatement; 2524 private final StatementElements pStatement;
1438 private final TerminalRule tSTRING; 2525 private final AssertionOrDefinitionElements pAssertionOrDefinition;
1439 private final REALLiteralElements pREALLiteral; 2526 private final PredicateDefinitionElements pPredicateDefinition;
1440 private final INTLiteralElements pINTLiteral; 2527 private final UnnamedErrorPrediateDefinitionElements pUnnamedErrorPrediateDefinition;
1441 private final BooleanValueElements pBooleanValue; 2528 private final DefaultDefinitionElements pDefaultDefinition;
1442 private final TruthValueElements pTruthValue; 2529 private final ExternPredicateDefinitionElements pExternPredicateDefinition;
1443 private final InterpretationElements pInterpretation; 2530 private final MetricTypeElements eMetricType;
1444 private final BasicInterpretationElements pBasicInterpretation; 2531 private final MetricDefinitionElements pMetricDefinition;
1445 private final SymbolElements pSymbol; 2532 private final ExternMetricDefinitionElements pExternMetricDefinition;
1446 private final ModelSymbolElements pModelSymbol; 2533 private final ExpressionElements pExpression;
1447 private final PartialitySymbolElements pPartialitySymbol; 2534 private final IfElseElements pIfElse;
1448 private final ExistSymbolElements pExistSymbol; 2535 private final DisjunctiveExpressionElements pDisjunctiveExpression;
1449 private final EqualsSymbolElements pEqualsSymbol; 2536 private final CaseElements pCase;
1450 private final DataSymbolElements pDataSymbol; 2537 private final ConjunctiveExpressionElements pConjunctiveExpression;
1451 private final BooleanSymbolElements pBooleanSymbol; 2538 private final BinaryOperatorElements eBinaryOperator;
1452 private final IntegerSymbolElements pIntegerSymbol; 2539 private final ComparisonOperatorElements eComparisonOperator;
1453 private final RealSymbolElements pRealSymbol; 2540 private final ComparisonExpressionElements pComparisonExpression;
1454 private final StringSymbolElements pStringSymbol; 2541 private final AdditiveBinaryOperatorElements eAdditiveBinaryOperator;
1455 private final ComplexObjectElements pComplexObject; 2542 private final AdditiveExpressionElements pAdditiveExpression;
1456 private final ObjectElements pObject; 2543 private final MultiplicativeBinaryOperatorElements eMultiplicativeBinaryOperator;
1457 private final NamedObjectElements pNamedObject; 2544 private final MultiplicativeExpressionElements pMultiplicativeExpression;
1458 private final UnnamedObjectElements pUnnamedObject; 2545 private final ExponentialOpElements eExponentialOp;
1459 private final DataObjectElements pDataObject; 2546 private final ExponentialExpressionElements pExponentialExpression;
1460 private final BooleanObjectElements pBooleanObject; 2547 private final UnaryOpElements eUnaryOp;
1461 private final IntObjectElements pIntObject; 2548 private final UnaryExpressionElements pUnaryExpression;
1462 private final RealObjectElements pRealObject; 2549 private final AggregationExpressionElements pAggregationExpression;
1463 private final StringObjectElements pStringObject; 2550 private final CountElements pCount;
1464 private final PredicateElements pPredicate; 2551 private final AggregationOpElements eAggregationOp;
1465 private final ParameterElements pParameter; 2552 private final AggregationElements pAggregation;
1466 private final PatternBodyElements pPatternBody; 2553 private final AtomicExpressionElements pAtomicExpression;
1467 private final PolarityElements pPolarity; 2554 private final CallElements pCall;
1468 private final ConstraintElements pConstraint; 2555 private final ArgumentListElements pArgumentList;
1469 private final ClosureTypeElements pClosureType; 2556 private final ArgumentElements pArgument;
2557 private final ExpressionArgumentElements pExpressionArgument;
2558 private final StarArgumentElements pStarArgument;
2559 private final TypedArgumentElements pTypedArgument;
2560 private final TypedStarArgumentElements pTypedStarArgument;
2561 private final ReferenceElements pReference;
2562 private final IntervalElements pInterval;
1470 private final LiteralElements pLiteral; 2563 private final LiteralElements pLiteral;
1471 private final VariableElements pVariable; 2564 private final LogicValueElements eLogicValue;
1472 private final AllInstancesElements pAllInstances; 2565 private final LogicLiteralElements pLogicLiteral;
1473 private final AllObjectsElements pAllObjects; 2566 private final NumericLiteralElements pNumericLiteral;
1474 private final DefaultInterpretationElements pDefaultInterpretation; 2567 private final InfinityLiteralElements pInfinityLiteral;
1475 private final CDInterpretationElements pCDInterpretation; 2568 private final EmptyIntervalLiteralElements pEmptyIntervalLiteral;
1476 private final ClassInterpretationElements pClassInterpretation; 2569 private final StringLiteralElements pStringLiteral;
1477 private final EnumInterpretationElements pEnumInterpretation; 2570 private final ClassDefinitionElements pClassDefinition;
1478 private final FieldRelationInterpretationElements pFieldRelationInterpretation; 2571 private final MemberDefinitionElements pMemberDefinition;
1479 private final GlobalRelationInterpretationElements pGlobalRelationInterpretation; 2572 private final MultiplicityElements pMultiplicity;
1480 private final MultiplicityDefinitionElements pMultiplicityDefinition; 2573 private final ManyMultiplicityElements pManyMultiplicity;
2574 private final ExactMultiplicityElements pExactMultiplicity;
2575 private final BoundedMultiplicityElements pBoundedMultiplicity;
2576 private final ScopeDefinitionElements pScopeDefinition;
2577 private final ExactScopeDefinitionElements pExactScopeDefinition;
2578 private final BoundedScopeDefinitionElements pBoundedScopeDefinition;
2579 private final LowerBoundedScopeDefinitionElements pLowerBoundedScopeDefinition;
2580 private final ObjectiveKindElements eObjectiveKind;
2581 private final ObjectiveDefinitionElements pObjectiveDefinition;
2582 private final UpperMultiplictyElements pUpperMultiplicty;
2583 private final RealElements pReal;
2584 private final QualifiedNameElements pQualifiedName;
2585 private final TerminalRule tSTRING;
2586 private final TerminalRule tQUOTED_ID;
2587 private final TerminalRule tPLUS;
2588 private final TerminalRule tSTAR;
2589 private final TerminalRule tDOT;
2590 private final NamedElementElements pNamedElement;
1481 2591
1482 private final Grammar grammar; 2592 private final Grammar grammar;
1483 2593
@@ -1490,49 +2600,72 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1490 this.gaTerminals = gaTerminals; 2600 this.gaTerminals = gaTerminals;
1491 this.pProblem = new ProblemElements(); 2601 this.pProblem = new ProblemElements();
1492 this.pStatement = new StatementElements(); 2602 this.pStatement = new StatementElements();
1493 this.tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); 2603 this.pAssertionOrDefinition = new AssertionOrDefinitionElements();
1494 this.pREALLiteral = new REALLiteralElements(); 2604 this.pPredicateDefinition = new PredicateDefinitionElements();
1495 this.pINTLiteral = new INTLiteralElements(); 2605 this.pUnnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionElements();
1496 this.pBooleanValue = new BooleanValueElements(); 2606 this.pDefaultDefinition = new DefaultDefinitionElements();
1497 this.pTruthValue = new TruthValueElements(); 2607 this.pExternPredicateDefinition = new ExternPredicateDefinitionElements();
1498 this.pInterpretation = new InterpretationElements(); 2608 this.eMetricType = new MetricTypeElements();
1499 this.pBasicInterpretation = new BasicInterpretationElements(); 2609 this.pMetricDefinition = new MetricDefinitionElements();
1500 this.pSymbol = new SymbolElements(); 2610 this.pExternMetricDefinition = new ExternMetricDefinitionElements();
1501 this.pModelSymbol = new ModelSymbolElements(); 2611 this.pExpression = new ExpressionElements();
1502 this.pPartialitySymbol = new PartialitySymbolElements(); 2612 this.pIfElse = new IfElseElements();
1503 this.pExistSymbol = new ExistSymbolElements(); 2613 this.pDisjunctiveExpression = new DisjunctiveExpressionElements();
1504 this.pEqualsSymbol = new EqualsSymbolElements(); 2614 this.pCase = new CaseElements();
1505 this.pDataSymbol = new DataSymbolElements(); 2615 this.pConjunctiveExpression = new ConjunctiveExpressionElements();
1506 this.pBooleanSymbol = new BooleanSymbolElements(); 2616 this.eBinaryOperator = new BinaryOperatorElements();
1507 this.pIntegerSymbol = new IntegerSymbolElements(); 2617 this.eComparisonOperator = new ComparisonOperatorElements();
1508 this.pRealSymbol = new RealSymbolElements(); 2618 this.pComparisonExpression = new ComparisonExpressionElements();
1509 this.pStringSymbol = new StringSymbolElements(); 2619 this.eAdditiveBinaryOperator = new AdditiveBinaryOperatorElements();
1510 this.pComplexObject = new ComplexObjectElements(); 2620 this.pAdditiveExpression = new AdditiveExpressionElements();
1511 this.pObject = new ObjectElements(); 2621 this.eMultiplicativeBinaryOperator = new MultiplicativeBinaryOperatorElements();
1512 this.pNamedObject = new NamedObjectElements(); 2622 this.pMultiplicativeExpression = new MultiplicativeExpressionElements();
1513 this.pUnnamedObject = new UnnamedObjectElements(); 2623 this.eExponentialOp = new ExponentialOpElements();
1514 this.pDataObject = new DataObjectElements(); 2624 this.pExponentialExpression = new ExponentialExpressionElements();
1515 this.pBooleanObject = new BooleanObjectElements(); 2625 this.eUnaryOp = new UnaryOpElements();
1516 this.pIntObject = new IntObjectElements(); 2626 this.pUnaryExpression = new UnaryExpressionElements();
1517 this.pRealObject = new RealObjectElements(); 2627 this.pAggregationExpression = new AggregationExpressionElements();
1518 this.pStringObject = new StringObjectElements(); 2628 this.pCount = new CountElements();
1519 this.pPredicate = new PredicateElements(); 2629 this.eAggregationOp = new AggregationOpElements();
1520 this.pParameter = new ParameterElements(); 2630 this.pAggregation = new AggregationElements();
1521 this.pPatternBody = new PatternBodyElements(); 2631 this.pAtomicExpression = new AtomicExpressionElements();
1522 this.pPolarity = new PolarityElements(); 2632 this.pCall = new CallElements();
1523 this.pConstraint = new ConstraintElements(); 2633 this.pArgumentList = new ArgumentListElements();
1524 this.pClosureType = new ClosureTypeElements(); 2634 this.pArgument = new ArgumentElements();
2635 this.pExpressionArgument = new ExpressionArgumentElements();
2636 this.pStarArgument = new StarArgumentElements();
2637 this.pTypedArgument = new TypedArgumentElements();
2638 this.pTypedStarArgument = new TypedStarArgumentElements();
2639 this.pReference = new ReferenceElements();
2640 this.pInterval = new IntervalElements();
1525 this.pLiteral = new LiteralElements(); 2641 this.pLiteral = new LiteralElements();
1526 this.pVariable = new VariableElements(); 2642 this.eLogicValue = new LogicValueElements();
1527 this.pAllInstances = new AllInstancesElements(); 2643 this.pLogicLiteral = new LogicLiteralElements();
1528 this.pAllObjects = new AllObjectsElements(); 2644 this.pNumericLiteral = new NumericLiteralElements();
1529 this.pDefaultInterpretation = new DefaultInterpretationElements(); 2645 this.pInfinityLiteral = new InfinityLiteralElements();
1530 this.pCDInterpretation = new CDInterpretationElements(); 2646 this.pEmptyIntervalLiteral = new EmptyIntervalLiteralElements();
1531 this.pClassInterpretation = new ClassInterpretationElements(); 2647 this.pStringLiteral = new StringLiteralElements();
1532 this.pEnumInterpretation = new EnumInterpretationElements(); 2648 this.pClassDefinition = new ClassDefinitionElements();
1533 this.pFieldRelationInterpretation = new FieldRelationInterpretationElements(); 2649 this.pMemberDefinition = new MemberDefinitionElements();
1534 this.pGlobalRelationInterpretation = new GlobalRelationInterpretationElements(); 2650 this.pMultiplicity = new MultiplicityElements();
1535 this.pMultiplicityDefinition = new MultiplicityDefinitionElements(); 2651 this.pManyMultiplicity = new ManyMultiplicityElements();
2652 this.pExactMultiplicity = new ExactMultiplicityElements();
2653 this.pBoundedMultiplicity = new BoundedMultiplicityElements();
2654 this.pScopeDefinition = new ScopeDefinitionElements();
2655 this.pExactScopeDefinition = new ExactScopeDefinitionElements();
2656 this.pBoundedScopeDefinition = new BoundedScopeDefinitionElements();
2657 this.pLowerBoundedScopeDefinition = new LowerBoundedScopeDefinitionElements();
2658 this.eObjectiveKind = new ObjectiveKindElements();
2659 this.pObjectiveDefinition = new ObjectiveDefinitionElements();
2660 this.pUpperMultiplicty = new UpperMultiplictyElements();
2661 this.pReal = new RealElements();
2662 this.pQualifiedName = new QualifiedNameElements();
2663 this.tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.STRING");
2664 this.tQUOTED_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QUOTED_ID");
2665 this.tPLUS = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PLUS");
2666 this.tSTAR = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.STAR");
2667 this.tDOT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DOT");
2668 this.pNamedElement = new NamedElementElements();
1536 } 2669 }
1537 2670
1538 protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { 2671 protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
@@ -1573,7 +2706,9 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1573 } 2706 }
1574 2707
1575 //Statement: 2708 //Statement:
1576 // Interpretation | Predicate; 2709 // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition |
2710 // ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition |
2711 // ObjectiveDefinition) DOT;
1577 public StatementElements getStatementAccess() { 2712 public StatementElements getStatementAccess() {
1578 return pStatement; 2713 return pStatement;
1579 } 2714 }
@@ -1582,333 +2717,390 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1582 return getStatementAccess().getRule(); 2717 return getStatementAccess().getRule();
1583 } 2718 }
1584 2719
1585 //@Override 2720 //AssertionOrDefinition Statement:
1586 //terminal STRING: 2721 // Expression ({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-"
1587 // '"' ('\\' . | !('\\' | '"'))* '"'; 2722 // body=Expression | {MetricDefinition.head=current} "=" body=Expression);
1588 public TerminalRule getSTRINGRule() { 2723 public AssertionOrDefinitionElements getAssertionOrDefinitionAccess() {
1589 return tSTRING; 2724 return pAssertionOrDefinition;
1590 } 2725 }
1591 2726
1592 //REALLiteral ecore::EBigDecimal: 2727 public ParserRule getAssertionOrDefinitionRule() {
1593 // '-'? INT '.' INT; 2728 return getAssertionOrDefinitionAccess().getRule();
1594 public REALLiteralElements getREALLiteralAccess() {
1595 return pREALLiteral;
1596 } 2729 }
1597 2730
1598 public ParserRule getREALLiteralRule() { 2731 //PredicateDefinition:
1599 return getREALLiteralAccess().getRule(); 2732 // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression;
2733 public PredicateDefinitionElements getPredicateDefinitionAccess() {
2734 return pPredicateDefinition;
1600 } 2735 }
1601 2736
1602 //INTLiteral ecore::EInt: 2737 public ParserRule getPredicateDefinitionRule() {
1603 // '-'? INT; 2738 return getPredicateDefinitionAccess().getRule();
1604 public INTLiteralElements getINTLiteralAccess() {
1605 return pINTLiteral;
1606 } 2739 }
1607 2740
1608 public ParserRule getINTLiteralRule() { 2741 //UnnamedErrorPrediateDefinition:
1609 return getINTLiteralAccess().getRule(); 2742 // "error" argumentList=ArgumentList ":-" body=Expression;
2743 public UnnamedErrorPrediateDefinitionElements getUnnamedErrorPrediateDefinitionAccess() {
2744 return pUnnamedErrorPrediateDefinition;
1610 } 2745 }
1611 2746
1612 //BooleanValue: 2747 public ParserRule getUnnamedErrorPrediateDefinitionRule() {
1613 // {BooleanTrue} 'true' | 'false' {BooleanFalse}; 2748 return getUnnamedErrorPrediateDefinitionAccess().getRule();
1614 public BooleanValueElements getBooleanValueAccess() {
1615 return pBooleanValue;
1616 } 2749 }
1617 2750
1618 public ParserRule getBooleanValueRule() { 2751 //DefaultDefinition:
1619 return getBooleanValueAccess().getRule(); 2752 // "default" head=Call ":" range=Expression;
2753 public DefaultDefinitionElements getDefaultDefinitionAccess() {
2754 return pDefaultDefinition;
1620 } 2755 }
1621 2756
1622 //TruthValue: 2757 public ParserRule getDefaultDefinitionRule() {
1623 // {True} 'true' | {False} 'false' | {Unknown} 'unknown' | {Error} 'error'; 2758 return getDefaultDefinitionAccess().getRule();
1624 public TruthValueElements getTruthValueAccess() {
1625 return pTruthValue;
1626 } 2759 }
1627 2760
1628 public ParserRule getTruthValueRule() { 2761 //ExternPredicateDefinition:
1629 return getTruthValueAccess().getRule(); 2762 // "extern" head=Call ".";
2763 public ExternPredicateDefinitionElements getExternPredicateDefinitionAccess() {
2764 return pExternPredicateDefinition;
1630 } 2765 }
1631 2766
1632 ///////////////////// 2767 public ParserRule getExternPredicateDefinitionRule() {
1633 //// Core grammar 2768 return getExternPredicateDefinitionAccess().getRule();
1634 // ///////////////////
1635 //Interpretation:
1636 // BasicInterpretation | DefaultInterpretation | CDInterpretation;
1637 public InterpretationElements getInterpretationAccess() {
1638 return pInterpretation;
1639 } 2769 }
1640 2770
1641 public ParserRule getInterpretationRule() { 2771 //enum MetricType:
1642 return getInterpretationAccess().getRule(); 2772 // INT="int" | REAL="real";
2773 public MetricTypeElements getMetricTypeAccess() {
2774 return eMetricType;
1643 } 2775 }
1644 2776
1645 //BasicInterpretation: 2777 public EnumRule getMetricTypeRule() {
1646 // symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value=TruthValue; 2778 return getMetricTypeAccess().getRule();
1647 public BasicInterpretationElements getBasicInterpretationAccess() {
1648 return pBasicInterpretation;
1649 } 2779 }
1650 2780
1651 public ParserRule getBasicInterpretationRule() { 2781 //MetricDefinition:
1652 return getBasicInterpretationAccess().getRule(); 2782 // type=MetricType head=Expression "=" body=Expression;
2783 public MetricDefinitionElements getMetricDefinitionAccess() {
2784 return pMetricDefinition;
1653 } 2785 }
1654 2786
1655 //Symbol: 2787 public ParserRule getMetricDefinitionRule() {
1656 // ModelSymbol | PartialitySymbol | DataSymbol; 2788 return getMetricDefinitionAccess().getRule();
1657 public SymbolElements getSymbolAccess() {
1658 return pSymbol;
1659 } 2789 }
1660 2790
1661 public ParserRule getSymbolRule() { 2791 //ExternMetricDefinition:
1662 return getSymbolAccess().getRule(); 2792 // "extern" type=MetricType head=Call;
2793 public ExternMetricDefinitionElements getExternMetricDefinitionAccess() {
2794 return pExternMetricDefinition;
1663 } 2795 }
1664 2796
1665 //ModelSymbol: 2797 public ParserRule getExternMetricDefinitionRule() {
1666 // name=ID; 2798 return getExternMetricDefinitionAccess().getRule();
1667 public ModelSymbolElements getModelSymbolAccess() {
1668 return pModelSymbol;
1669 } 2799 }
1670 2800
1671 public ParserRule getModelSymbolRule() { 2801 //Expression:
1672 return getModelSymbolAccess().getRule(); 2802 // IfElse | DisjunctiveExpression;
2803 public ExpressionElements getExpressionAccess() {
2804 return pExpression;
1673 } 2805 }
1674 2806
1675 //PartialitySymbol: 2807 public ParserRule getExpressionRule() {
1676 // ExistSymbol | EqualsSymbol; 2808 return getExpressionAccess().getRule();
1677 public PartialitySymbolElements getPartialitySymbolAccess() {
1678 return pPartialitySymbol;
1679 } 2809 }
1680 2810
1681 public ParserRule getPartialitySymbolRule() { 2811 //IfElse:
1682 return getPartialitySymbolAccess().getRule(); 2812 // "if" condition=Expression "then" then=Expression "else" else=Expression;
2813 public IfElseElements getIfElseAccess() {
2814 return pIfElse;
1683 } 2815 }
1684 2816
1685 //ExistSymbol: 2817 public ParserRule getIfElseRule() {
1686 // 'exists' {ExistSymbol}; 2818 return getIfElseAccess().getRule();
1687 public ExistSymbolElements getExistSymbolAccess() {
1688 return pExistSymbol;
1689 } 2819 }
1690 2820
1691 public ParserRule getExistSymbolRule() { 2821 //DisjunctiveExpression Expression:
1692 return getExistSymbolAccess().getRule(); 2822 // ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ |
2823 // {Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?;
2824 public DisjunctiveExpressionElements getDisjunctiveExpressionAccess() {
2825 return pDisjunctiveExpression;
1693 } 2826 }
1694 2827
1695 //EqualsSymbol: 2828 public ParserRule getDisjunctiveExpressionRule() {
1696 // 'equals' {EqualsSymbol}; 2829 return getDisjunctiveExpressionAccess().getRule();
1697 public EqualsSymbolElements getEqualsSymbolAccess() {
1698 return pEqualsSymbol;
1699 } 2830 }
1700 2831
1701 public ParserRule getEqualsSymbolRule() { 2832 //Case:
1702 return getEqualsSymbolAccess().getRule(); 2833 // condition=ConjunctiveExpression "->" body=ConjunctiveExpression;
2834 public CaseElements getCaseAccess() {
2835 return pCase;
1703 } 2836 }
1704 2837
1705 //DataSymbol: 2838 public ParserRule getCaseRule() {
1706 // BooleanSymbol | IntegerSymbol | RealSymbol | StringSymbol; 2839 return getCaseAccess().getRule();
1707 public DataSymbolElements getDataSymbolAccess() {
1708 return pDataSymbol;
1709 } 2840 }
1710 2841
1711 public ParserRule getDataSymbolRule() { 2842 //ConjunctiveExpression Expression:
1712 return getDataSymbolAccess().getRule(); 2843 // ComparisonExpression ({Conjunction.children+=current} ("," children+=ComparisonExpression)+)?;
2844 public ConjunctiveExpressionElements getConjunctiveExpressionAccess() {
2845 return pConjunctiveExpression;
1713 } 2846 }
1714 2847
1715 //BooleanSymbol: 2848 public ParserRule getConjunctiveExpressionRule() {
1716 // 'bool' {BooleanSymbol}; 2849 return getConjunctiveExpressionAccess().getRule();
1717 public BooleanSymbolElements getBooleanSymbolAccess() {
1718 return pBooleanSymbol;
1719 } 2850 }
1720 2851
1721 public ParserRule getBooleanSymbolRule() { 2852 //enum BinaryOperator:
1722 return getBooleanSymbolAccess().getRule(); 2853 // EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW;
2854 public BinaryOperatorElements getBinaryOperatorAccess() {
2855 return eBinaryOperator;
1723 } 2856 }
1724 2857
1725 //IntegerSymbol: 2858 public EnumRule getBinaryOperatorRule() {
1726 // 'int' {IntegerSymbol}; 2859 return getBinaryOperatorAccess().getRule();
1727 public IntegerSymbolElements getIntegerSymbolAccess() {
1728 return pIntegerSymbol;
1729 } 2860 }
1730 2861
1731 public ParserRule getIntegerSymbolRule() { 2862 //enum ComparisonOperator returns BinaryOperator:
1732 return getIntegerSymbolAccess().getRule(); 2863 // EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in";
2864 public ComparisonOperatorElements getComparisonOperatorAccess() {
2865 return eComparisonOperator;
1733 } 2866 }
1734 2867
1735 //RealSymbol: 2868 public EnumRule getComparisonOperatorRule() {
1736 // 'real' {RealSymbol}; 2869 return getComparisonOperatorAccess().getRule();
1737 public RealSymbolElements getRealSymbolAccess() {
1738 return pRealSymbol;
1739 } 2870 }
1740 2871
1741 public ParserRule getRealSymbolRule() { 2872 //ComparisonExpression Expression:
1742 return getRealSymbolAccess().getRule(); 2873 // AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?;
2874 public ComparisonExpressionElements getComparisonExpressionAccess() {
2875 return pComparisonExpression;
1743 } 2876 }
1744 2877
1745 //StringSymbol: 2878 public ParserRule getComparisonExpressionRule() {
1746 // 'string' {StringSymbol}; 2879 return getComparisonExpressionAccess().getRule();
1747 public StringSymbolElements getStringSymbolAccess() {
1748 return pStringSymbol;
1749 } 2880 }
1750 2881
1751 public ParserRule getStringSymbolRule() { 2882 //enum AdditiveBinaryOperator returns BinaryOperator:
1752 return getStringSymbolAccess().getRule(); 2883 // ADD="+" | SUB="-";
2884 public AdditiveBinaryOperatorElements getAdditiveBinaryOperatorAccess() {
2885 return eAdditiveBinaryOperator;
1753 } 2886 }
1754 2887
1755 //ComplexObject: 2888 public EnumRule getAdditiveBinaryOperatorRule() {
1756 // Object | AllInstances | AllObjects; 2889 return getAdditiveBinaryOperatorAccess().getRule();
1757 public ComplexObjectElements getComplexObjectAccess() {
1758 return pComplexObject;
1759 } 2890 }
1760 2891
1761 public ParserRule getComplexObjectRule() { 2892 //AdditiveExpression Expression:
1762 return getComplexObjectAccess().getRule(); 2893 // MultiplicativeExpression ({BinaryExpression.left=current} op=AdditiveBinaryOperator right=MultiplicativeExpression)*;
2894 public AdditiveExpressionElements getAdditiveExpressionAccess() {
2895 return pAdditiveExpression;
1763 } 2896 }
1764 2897
1765 //Object: 2898 public ParserRule getAdditiveExpressionRule() {
1766 // NamedObject | UnnamedObject | DataObject; 2899 return getAdditiveExpressionAccess().getRule();
1767 public ObjectElements getObjectAccess() {
1768 return pObject;
1769 } 2900 }
1770 2901
1771 public ParserRule getObjectRule() { 2902 //enum MultiplicativeBinaryOperator returns BinaryOperator:
1772 return getObjectAccess().getRule(); 2903 // MUL="*" | DIV="/";
2904 public MultiplicativeBinaryOperatorElements getMultiplicativeBinaryOperatorAccess() {
2905 return eMultiplicativeBinaryOperator;
1773 } 2906 }
1774 2907
1775 //NamedObject: 2908 public EnumRule getMultiplicativeBinaryOperatorRule() {
1776 // "'" name=ID "'"; 2909 return getMultiplicativeBinaryOperatorAccess().getRule();
1777 public NamedObjectElements getNamedObjectAccess() {
1778 return pNamedObject;
1779 } 2910 }
1780 2911
1781 public ParserRule getNamedObjectRule() { 2912 //MultiplicativeExpression Expression:
1782 return getNamedObjectAccess().getRule(); 2913 // ExponentialExpression ({BinaryExpression.left=current} op=MultiplicativeBinaryOperator right=ExponentialExpression)*;
2914 public MultiplicativeExpressionElements getMultiplicativeExpressionAccess() {
2915 return pMultiplicativeExpression;
1783 } 2916 }
1784 2917
1785 //UnnamedObject: 2918 public ParserRule getMultiplicativeExpressionRule() {
1786 // name=ID; 2919 return getMultiplicativeExpressionAccess().getRule();
1787 public UnnamedObjectElements getUnnamedObjectAccess() {
1788 return pUnnamedObject;
1789 } 2920 }
1790 2921
1791 public ParserRule getUnnamedObjectRule() { 2922 //enum ExponentialOp returns BinaryOperator:
1792 return getUnnamedObjectAccess().getRule(); 2923 // POW="^";
2924 public ExponentialOpElements getExponentialOpAccess() {
2925 return eExponentialOp;
1793 } 2926 }
1794 2927
1795 //DataObject: 2928 public EnumRule getExponentialOpRule() {
1796 // BooleanObject | IntObject | RealObject | StringObject; 2929 return getExponentialOpAccess().getRule();
1797 public DataObjectElements getDataObjectAccess() {
1798 return pDataObject;
1799 } 2930 }
1800 2931
1801 public ParserRule getDataObjectRule() { 2932 //ExponentialExpression Expression:
1802 return getDataObjectAccess().getRule(); 2933 // UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?;
2934 public ExponentialExpressionElements getExponentialExpressionAccess() {
2935 return pExponentialExpression;
1803 } 2936 }
1804 2937
1805 //BooleanObject: 2938 public ParserRule getExponentialExpressionRule() {
1806 // value=BooleanValue; 2939 return getExponentialExpressionAccess().getRule();
1807 public BooleanObjectElements getBooleanObjectAccess() {
1808 return pBooleanObject;
1809 } 2940 }
1810 2941
1811 public ParserRule getBooleanObjectRule() { 2942 //enum UnaryOp:
1812 return getBooleanObjectAccess().getRule(); 2943 // NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current";
2944 public UnaryOpElements getUnaryOpAccess() {
2945 return eUnaryOp;
1813 } 2946 }
1814 2947
1815 //IntObject: 2948 public EnumRule getUnaryOpRule() {
1816 // value=INTLiteral; 2949 return getUnaryOpAccess().getRule();
1817 public IntObjectElements getIntObjectAccess() {
1818 return pIntObject;
1819 } 2950 }
1820 2951
1821 public ParserRule getIntObjectRule() { 2952 //UnaryExpression Expression:
1822 return getIntObjectAccess().getRule(); 2953 // AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression;
2954 public UnaryExpressionElements getUnaryExpressionAccess() {
2955 return pUnaryExpression;
1823 } 2956 }
1824 2957
1825 //RealObject: 2958 public ParserRule getUnaryExpressionRule() {
1826 // value=REALLiteral; 2959 return getUnaryExpressionAccess().getRule();
1827 public RealObjectElements getRealObjectAccess() {
1828 return pRealObject;
1829 } 2960 }
1830 2961
1831 public ParserRule getRealObjectRule() { 2962 //AggregationExpression Expression:
1832 return getRealObjectAccess().getRule(); 2963 // AtomicExpression | Count | Aggregation;
2964 public AggregationExpressionElements getAggregationExpressionAccess() {
2965 return pAggregationExpression;
1833 } 2966 }
1834 2967
1835 //StringObject: 2968 public ParserRule getAggregationExpressionRule() {
1836 // value=STRING; 2969 return getAggregationExpressionAccess().getRule();
1837 public StringObjectElements getStringObjectAccess() { 2970 }
1838 return pStringObject; 2971
2972 //Count:
2973 // "count" "{" body=Expression "}";
2974 public CountElements getCountAccess() {
2975 return pCount;
2976 }
2977
2978 public ParserRule getCountRule() {
2979 return getCountAccess().getRule();
2980 }
2981
2982 //enum AggregationOp:
2983 // ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max";
2984 public AggregationOpElements getAggregationOpAccess() {
2985 return eAggregationOp;
1839 } 2986 }
1840 2987
1841 public ParserRule getStringObjectRule() { 2988 public EnumRule getAggregationOpRule() {
1842 return getStringObjectAccess().getRule(); 2989 return getAggregationOpAccess().getRule();
1843 } 2990 }
1844 2991
1845 ///////////////////// 2992 //Aggregation:
1846 //// Predicte grammar 2993 // op=AggregationOp "{" body=Expression "|" condition=Expression "}";
1847 ///////////////////// 2994 public AggregationElements getAggregationAccess() {
1848 //Predicate: 2995 return pAggregation;
1849 // isError?='error'? symbol=ModelSymbol ('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? ':-' ('false' |
1850 // bodies+=PatternBody ('|' bodies+=PatternBody)*) '.';
1851 public PredicateElements getPredicateAccess() {
1852 return pPredicate;
1853 } 2996 }
1854 2997
1855 public ParserRule getPredicateRule() { 2998 public ParserRule getAggregationRule() {
1856 return getPredicateAccess().getRule(); 2999 return getAggregationAccess().getRule();
1857 } 3000 }
1858 3001
1859 //Parameter: 3002 //AtomicExpression Expression:
1860 // variable=Variable (':' type=Symbol)?; 3003 // Reference ({Call.functor=current} -> argumentList=ArgumentList)? | Interval | Literal | "(" Expression ")";
1861 public ParameterElements getParameterAccess() { 3004 public AtomicExpressionElements getAtomicExpressionAccess() {
1862 return pParameter; 3005 return pAtomicExpression;
1863 } 3006 }
1864 3007
1865 public ParserRule getParameterRule() { 3008 public ParserRule getAtomicExpressionRule() {
1866 return getParameterAccess().getRule(); 3009 return getAtomicExpressionAccess().getRule();
1867 } 3010 }
1868 3011
1869 //PatternBody: 3012 //Call:
1870 // {PatternBody} ('true' | constraints+=Constraint*); 3013 // functor=Reference (transitiveClosure?=STAR | reflexiveTransitiveClosure?=PLUS)? argumentList=ArgumentList;
1871 public PatternBodyElements getPatternBodyAccess() { 3014 public CallElements getCallAccess() {
1872 return pPatternBody; 3015 return pCall;
1873 } 3016 }
1874 3017
1875 public ParserRule getPatternBodyRule() { 3018 public ParserRule getCallRule() {
1876 return getPatternBodyAccess().getRule(); 3019 return getCallAccess().getRule();
1877 } 3020 }
1878 3021
1879 //Polarity: 3022 //ArgumentList:
1880 // {Positive} '+' | {Negative} '-'; 3023 // {ArgumentList} "(" (arguments+=Argument ("," arguments+=Argument)*)? ")";
1881 public PolarityElements getPolarityAccess() { 3024 public ArgumentListElements getArgumentListAccess() {
1882 return pPolarity; 3025 return pArgumentList;
1883 } 3026 }
1884 3027
1885 public ParserRule getPolarityRule() { 3028 public ParserRule getArgumentListRule() {
1886 return getPolarityAccess().getRule(); 3029 return getArgumentListAccess().getRule();
1887 } 3030 }
1888 3031
1889 //Constraint: 3032 //Argument:
1890 // polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? | closureType=ClosureType 3033 // ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument;
1891 // '(' params+=Literal? (',' params+=Literal)* ')'; 3034 public ArgumentElements getArgumentAccess() {
1892 public ConstraintElements getConstraintAccess() { 3035 return pArgument;
1893 return pConstraint;
1894 } 3036 }
1895 3037
1896 public ParserRule getConstraintRule() { 3038 public ParserRule getArgumentRule() {
1897 return getConstraintAccess().getRule(); 3039 return getArgumentAccess().getRule();
1898 } 3040 }
1899 3041
1900 //ClosureType: 3042 //ExpressionArgument:
1901 // {ReflexiveClosure} '*' | {IrreflexiveClosure} '+'; 3043 // body=ComparisonExpression;
1902 public ClosureTypeElements getClosureTypeAccess() { 3044 public ExpressionArgumentElements getExpressionArgumentAccess() {
1903 return pClosureType; 3045 return pExpressionArgument;
1904 } 3046 }
1905 3047
1906 public ParserRule getClosureTypeRule() { 3048 public ParserRule getExpressionArgumentRule() {
1907 return getClosureTypeAccess().getRule(); 3049 return getExpressionArgumentAccess().getRule();
3050 }
3051
3052 //StarArgument:
3053 // {StarArgument} "*";
3054 public StarArgumentElements getStarArgumentAccess() {
3055 return pStarArgument;
3056 }
3057
3058 public ParserRule getStarArgumentRule() {
3059 return getStarArgumentAccess().getRule();
3060 }
3061
3062 //TypedArgument:
3063 // type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName];
3064 public TypedArgumentElements getTypedArgumentAccess() {
3065 return pTypedArgument;
3066 }
3067
3068 public ParserRule getTypedArgumentRule() {
3069 return getTypedArgumentAccess().getRule();
3070 }
3071
3072 //TypedStarArgument:
3073 // type=[NamedElement|QualifiedName] "*";
3074 public TypedStarArgumentElements getTypedStarArgumentAccess() {
3075 return pTypedStarArgument;
3076 }
3077
3078 public ParserRule getTypedStarArgumentRule() {
3079 return getTypedStarArgumentAccess().getRule();
3080 }
3081
3082 //Reference:
3083 // referred=[NamedElement|QualifiedName];
3084 public ReferenceElements getReferenceAccess() {
3085 return pReference;
3086 }
3087
3088 public ParserRule getReferenceRule() {
3089 return getReferenceAccess().getRule();
3090 }
3091
3092 //Interval:
3093 // "[" lowerBound=Expression ".." upperBound=Expression "]";
3094 public IntervalElements getIntervalAccess() {
3095 return pInterval;
3096 }
3097
3098 public ParserRule getIntervalRule() {
3099 return getIntervalAccess().getRule();
1908 } 3100 }
1909 3101
1910 //Literal: 3102 //Literal:
1911 // Variable | DataObject | NamedObject; 3103 // LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral;
1912 public LiteralElements getLiteralAccess() { 3104 public LiteralElements getLiteralAccess() {
1913 return pLiteral; 3105 return pLiteral;
1914 } 3106 }
@@ -1917,116 +3109,260 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1917 return getLiteralAccess().getRule(); 3109 return getLiteralAccess().getRule();
1918 } 3110 }
1919 3111
1920 //Variable: 3112 //enum LogicValue:
1921 // name=ID; 3113 // TRUE="true" | FALSE="false" | UNKNOWN="unknown" | ERROR="error";
1922 public VariableElements getVariableAccess() { 3114 public LogicValueElements getLogicValueAccess() {
1923 return pVariable; 3115 return eLogicValue;
3116 }
3117
3118 public EnumRule getLogicValueRule() {
3119 return getLogicValueAccess().getRule();
3120 }
3121
3122 //LogicLiteral:
3123 // value=LogicValue;
3124 public LogicLiteralElements getLogicLiteralAccess() {
3125 return pLogicLiteral;
3126 }
3127
3128 public ParserRule getLogicLiteralRule() {
3129 return getLogicLiteralAccess().getRule();
3130 }
3131
3132 //NumericLiteral:
3133 // value=Real;
3134 public NumericLiteralElements getNumericLiteralAccess() {
3135 return pNumericLiteral;
3136 }
3137
3138 public ParserRule getNumericLiteralRule() {
3139 return getNumericLiteralAccess().getRule();
3140 }
3141
3142 //InfinityLiteral:
3143 // {InfinityLiteral} "inf";
3144 public InfinityLiteralElements getInfinityLiteralAccess() {
3145 return pInfinityLiteral;
3146 }
3147
3148 public ParserRule getInfinityLiteralRule() {
3149 return getInfinityLiteralAccess().getRule();
3150 }
3151
3152 //EmptyIntervalLiteral:
3153 // {EmptyIntervalLiteral} "empty";
3154 public EmptyIntervalLiteralElements getEmptyIntervalLiteralAccess() {
3155 return pEmptyIntervalLiteral;
3156 }
3157
3158 public ParserRule getEmptyIntervalLiteralRule() {
3159 return getEmptyIntervalLiteralAccess().getRule();
3160 }
3161
3162 //StringLiteral:
3163 // value=STRING;
3164 public StringLiteralElements getStringLiteralAccess() {
3165 return pStringLiteral;
3166 }
3167
3168 public ParserRule getStringLiteralRule() {
3169 return getStringLiteralAccess().getRule();
3170 }
3171
3172 //ClassDefinition Statement:
3173 // abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] (","
3174 // superclasses+=[NamedElement|QualifiedName])*)?
3175 // "{" members+=MemberDefinition* "}";
3176 public ClassDefinitionElements getClassDefinitionAccess() {
3177 return pClassDefinition;
3178 }
3179
3180 public ParserRule getClassDefinitionRule() {
3181 return getClassDefinitionAccess().getRule();
3182 }
3183
3184 //MemberDefinition:
3185 // containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite"
3186 // opposite=[NamedElement|QualifiedName])? ";"?;
3187 public MemberDefinitionElements getMemberDefinitionAccess() {
3188 return pMemberDefinition;
3189 }
3190
3191 public ParserRule getMemberDefinitionRule() {
3192 return getMemberDefinitionAccess().getRule();
3193 }
3194
3195 //Multiplicity:
3196 // ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity;
3197 public MultiplicityElements getMultiplicityAccess() {
3198 return pMultiplicity;
3199 }
3200
3201 public ParserRule getMultiplicityRule() {
3202 return getMultiplicityAccess().getRule();
3203 }
3204
3205 //ManyMultiplicity:
3206 // {ManyMultiplicity} "[" "]";
3207 public ManyMultiplicityElements getManyMultiplicityAccess() {
3208 return pManyMultiplicity;
3209 }
3210
3211 public ParserRule getManyMultiplicityRule() {
3212 return getManyMultiplicityAccess().getRule();
3213 }
3214
3215 //ExactMultiplicity:
3216 // "[" multiplicity=UpperMultiplicty "]";
3217 public ExactMultiplicityElements getExactMultiplicityAccess() {
3218 return pExactMultiplicity;
3219 }
3220
3221 public ParserRule getExactMultiplicityRule() {
3222 return getExactMultiplicityAccess().getRule();
1924 } 3223 }
1925 3224
1926 public ParserRule getVariableRule() { 3225 //BoundedMultiplicity:
1927 return getVariableAccess().getRule(); 3226 // "[" lowerBound=INT ".." upperBound=UpperMultiplicty "]";
3227 public BoundedMultiplicityElements getBoundedMultiplicityAccess() {
3228 return pBoundedMultiplicity;
1928 } 3229 }
1929 3230
1930 ///////////////////// 3231 public ParserRule getBoundedMultiplicityRule() {
1931 //// Complex Interpretation grammar 3232 return getBoundedMultiplicityAccess().getRule();
1932 /////////////////////
1933 //AllInstances:
1934 // ':' symbol=Symbol;
1935 public AllInstancesElements getAllInstancesAccess() {
1936 return pAllInstances;
1937 } 3233 }
1938 3234
1939 public ParserRule getAllInstancesRule() { 3235 //ScopeDefinition:
1940 return getAllInstancesAccess().getRule(); 3236 // ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition;
3237 public ScopeDefinitionElements getScopeDefinitionAccess() {
3238 return pScopeDefinition;
1941 } 3239 }
1942 3240
1943 //AllObjects: 3241 public ParserRule getScopeDefinitionRule() {
1944 // {AllObjects} '*'; 3242 return getScopeDefinitionAccess().getRule();
1945 public AllObjectsElements getAllObjectsAccess() {
1946 return pAllObjects;
1947 } 3243 }
1948 3244
1949 public ParserRule getAllObjectsRule() { 3245 //ExactScopeDefinition:
1950 return getAllObjectsAccess().getRule(); 3246 // "scope" type=[NamedElement|QualifiedName] "==" exactScope=INT;
3247 public ExactScopeDefinitionElements getExactScopeDefinitionAccess() {
3248 return pExactScopeDefinition;
1951 } 3249 }
1952 3250
1953 ///////////////////// 3251 public ParserRule getExactScopeDefinitionRule() {
1954 //// Defaul Interpretation grammar 3252 return getExactScopeDefinitionAccess().getRule();
1955 /////////////////////
1956 //DefaultInterpretation:
1957 // 'default' interpretation=BasicInterpretation;
1958 public DefaultInterpretationElements getDefaultInterpretationAccess() {
1959 return pDefaultInterpretation;
1960 } 3253 }
1961 3254
1962 public ParserRule getDefaultInterpretationRule() { 3255 //BoundedScopeDefinition:
1963 return getDefaultInterpretationAccess().getRule(); 3256 // "scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">="
3257 // type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?) ".";
3258 public BoundedScopeDefinitionElements getBoundedScopeDefinitionAccess() {
3259 return pBoundedScopeDefinition;
1964 } 3260 }
1965 3261
1966 ///////////////////// 3262 public ParserRule getBoundedScopeDefinitionRule() {
1967 //// Advanced Class-Diagram interpretations 3263 return getBoundedScopeDefinitionAccess().getRule();
1968 /////////////////////
1969 //CDInterpretation:
1970 // ClassInterpretation | EnumInterpretation | GlobalRelationInterpretation;
1971 public CDInterpretationElements getCDInterpretationAccess() {
1972 return pCDInterpretation;
1973 } 3264 }
1974 3265
1975 public ParserRule getCDInterpretationRule() { 3266 //LowerBoundedScopeDefinition:
1976 return getCDInterpretationAccess().getRule(); 3267 // "scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">="
3268 // lowerBound=INT) ".";
3269 public LowerBoundedScopeDefinitionElements getLowerBoundedScopeDefinitionAccess() {
3270 return pLowerBoundedScopeDefinition;
1977 } 3271 }
1978 3272
1979 //ClassInterpretation: 3273 public ParserRule getLowerBoundedScopeDefinitionRule() {
1980 // abstract?='abstract'? 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' 3274 return getLowerBoundedScopeDefinitionAccess().getRule();
1981 // fielt+=FieldRelationInterpretation*
1982 // '}';
1983 public ClassInterpretationElements getClassInterpretationAccess() {
1984 return pClassInterpretation;
1985 } 3275 }
1986 3276
1987 public ParserRule getClassInterpretationRule() { 3277 //enum ObjectiveKind:
1988 return getClassInterpretationAccess().getRule(); 3278 // MINIMIZE="minimize" | MAXIMIZE="maximize";
3279 public ObjectiveKindElements getObjectiveKindAccess() {
3280 return eObjectiveKind;
1989 } 3281 }
1990 3282
1991 //EnumInterpretation: 3283 public EnumRule getObjectiveKindRule() {
1992 // 'enum' Symbol=ModelSymbol '{' objects+=NamedObject+ '}'; 3284 return getObjectiveKindAccess().getRule();
1993 public EnumInterpretationElements getEnumInterpretationAccess() {
1994 return pEnumInterpretation;
1995 } 3285 }
1996 3286
1997 public ParserRule getEnumInterpretationRule() { 3287 //ObjectiveDefinition:
1998 return getEnumInterpretationAccess().getRule(); 3288 // kind=ObjectiveKind objective=Expression;
3289 public ObjectiveDefinitionElements getObjectiveDefinitionAccess() {
3290 return pObjectiveDefinition;
3291 }
3292
3293 public ParserRule getObjectiveDefinitionRule() {
3294 return getObjectiveDefinitionAccess().getRule();
3295 }
3296
3297 //UpperMultiplicty ecore::EInt:
3298 // INT | "*";
3299 public UpperMultiplictyElements getUpperMultiplictyAccess() {
3300 return pUpperMultiplicty;
3301 }
3302
3303 public ParserRule getUpperMultiplictyRule() {
3304 return getUpperMultiplictyAccess().getRule();
3305 }
3306
3307 //Real ecore::EBigDecimal hidden():
3308 // INT ("." INT)?;
3309 public RealElements getRealAccess() {
3310 return pReal;
3311 }
3312
3313 public ParserRule getRealRule() {
3314 return getRealAccess().getRule();
3315 }
3316
3317 //QualifiedName hidden():
3318 // ID ("." ID)* | QUOTED_ID;
3319 public QualifiedNameElements getQualifiedNameAccess() {
3320 return pQualifiedName;
3321 }
3322
3323 public ParserRule getQualifiedNameRule() {
3324 return getQualifiedNameAccess().getRule();
3325 }
3326
3327 //@Override
3328 //terminal STRING:
3329 // '"' ('\\' . | !('\\' | '"'))* '"';
3330 public TerminalRule getSTRINGRule() {
3331 return tSTRING;
1999 } 3332 }
2000 3333
2001 //FieldRelationInterpretation: 3334 //terminal QUOTED_ID:
2002 // containment?='containment'? symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol; 3335 // '\'' ('\\' . | !('\\' | '\''))* '\'';
2003 public FieldRelationInterpretationElements getFieldRelationInterpretationAccess() { 3336 public TerminalRule getQUOTED_IDRule() {
2004 return pFieldRelationInterpretation; 3337 return tQUOTED_ID;
2005 } 3338 }
2006 3339
2007 public ParserRule getFieldRelationInterpretationRule() { 3340 //terminal PLUS:
2008 return getFieldRelationInterpretationAccess().getRule(); 3341 // "synthetic::plus";
3342 public TerminalRule getPLUSRule() {
3343 return tPLUS;
2009 } 3344 }
2010 3345
2011 //GlobalRelationInterpretation: 3346 //terminal STAR:
2012 // containment?='containment'? 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? 3347 // "synthetic::star";
2013 // source=Symbol targetMultiplicity=MultiplicityDefinition? target=Symbol; 3348 public TerminalRule getSTARRule() {
2014 public GlobalRelationInterpretationElements getGlobalRelationInterpretationAccess() { 3349 return tSTAR;
2015 return pGlobalRelationInterpretation;
2016 } 3350 }
2017 3351
2018 public ParserRule getGlobalRelationInterpretationRule() { 3352 //terminal DOT:
2019 return getGlobalRelationInterpretationAccess().getRule(); 3353 // "synthetic::dot";
3354 public TerminalRule getDOTRule() {
3355 return tDOT;
2020 } 3356 }
2021 3357
2022 //MultiplicityDefinition: 3358 //NamedElement:
2023 // lower=INT '..' (upper=INT | unlimitedUpper?='*'); 3359 // name=QualifiedName;
2024 public MultiplicityDefinitionElements getMultiplicityDefinitionAccess() { 3360 public NamedElementElements getNamedElementAccess() {
2025 return pMultiplicityDefinition; 3361 return pNamedElement;
2026 } 3362 }
2027 3363
2028 public ParserRule getMultiplicityDefinitionRule() { 3364 public ParserRule getNamedElementRule() {
2029 return getMultiplicityDefinitionAccess().getRule(); 3365 return getNamedElementAccess().getRule();
2030 } 3366 }
2031 3367
2032 //terminal ID: 3368 //terminal ID:
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
new file mode 100644
index 00000000..8641f197
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java
@@ -0,0 +1,96 @@
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
new file mode 100644
index 00000000..1a0664ed
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOp.java
@@ -0,0 +1,317 @@
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/AllInstances.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllInstances.java
deleted file mode 100644
index 17cb45fb..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllInstances.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>All Instances</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.AllInstances#getSymbol <em>Symbol</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAllInstances()
20 * @model
21 * @generated
22 */
23public interface AllInstances extends ComplexObject
24{
25 /**
26 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Symbol</em>' containment reference.
30 * @see #setSymbol(Symbol)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAllInstances_Symbol()
32 * @model containment="true"
33 * @generated
34 */
35 Symbol getSymbol();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances#getSymbol <em>Symbol</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Symbol</em>' containment reference.
42 * @see #getSymbol()
43 * @generated
44 */
45 void setSymbol(Symbol value);
46
47} // AllInstances
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllObjects.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllObjects.java
deleted file mode 100644
index fbb18046..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllObjects.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>All Objects</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAllObjects()
14 * @model
15 * @generated
16 */
17public interface AllObjects extends ComplexObject
18{
19} // AllObjects
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Polarity.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java
index ba30c6ad..73c79940 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Polarity.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
@@ -7,14 +7,14 @@ import 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>Polarity</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#getPolarity() 14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgument()
15 * @model 15 * @model
16 * @generated 16 * @generated
17 */ 17 */
18public interface Polarity extends EObject 18public interface Argument extends EObject
19{ 19{
20} // Polarity 20} // Argument
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PatternBody.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java
index 62be12a1..4a932fea 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PatternBody.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
@@ -9,32 +9,32 @@ import 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>Pattern Body</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.PatternBody#getConstraints <em>Constraints</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#getPatternBody() 22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgumentList()
23 * @model 23 * @model
24 * @generated 24 * @generated
25 */ 25 */
26public interface PatternBody extends EObject 26public interface ArgumentList extends EObject
27{ 27{
28 /** 28 /**
29 * Returns the value of the '<em><b>Constraints</b></em>' containment reference list. 29 * Returns the value of the '<em><b>Arguments</b></em>' containment reference list.
30 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Constraint}. 30 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Argument}.
31 * <!-- begin-user-doc --> 31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc --> 32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Constraints</em>' containment reference list. 33 * @return the value of the '<em>Arguments</em>' containment reference list.
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPatternBody_Constraints() 34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgumentList_Arguments()
35 * @model containment="true" 35 * @model containment="true"
36 * @generated 36 * @generated
37 */ 37 */
38 EList<Constraint> getConstraints(); 38 EList<Argument> getArguments();
39 39
40} // PatternBody 40} // ArgumentList
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java
new file mode 100644
index 00000000..b67d81ca
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java
@@ -0,0 +1,70 @@
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/BasicInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BasicInterpretation.java
deleted file mode 100644
index b4226d4a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BasicInterpretation.java
+++ /dev/null
@@ -1,84 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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>Basic Interpretation</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.BasicInterpretation#getSymbol <em>Symbol</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getObjects <em>Objects</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getValue <em>Value</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBasicInterpretation()
23 * @model
24 * @generated
25 */
26public interface BasicInterpretation extends Interpretation
27{
28 /**
29 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Symbol</em>' containment reference.
33 * @see #setSymbol(Symbol)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBasicInterpretation_Symbol()
35 * @model containment="true"
36 * @generated
37 */
38 Symbol getSymbol();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getSymbol <em>Symbol</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Symbol</em>' containment reference.
45 * @see #getSymbol()
46 * @generated
47 */
48 void setSymbol(Symbol value);
49
50 /**
51 * Returns the value of the '<em><b>Objects</b></em>' containment reference list.
52 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.ComplexObject}.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Objects</em>' containment reference list.
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBasicInterpretation_Objects()
57 * @model containment="true"
58 * @generated
59 */
60 EList<ComplexObject> getObjects();
61
62 /**
63 * Returns the value of the '<em><b>Value</b></em>' containment reference.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @return the value of the '<em>Value</em>' containment reference.
67 * @see #setValue(TruthValue)
68 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBasicInterpretation_Value()
69 * @model containment="true"
70 * @generated
71 */
72 TruthValue getValue();
73
74 /**
75 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getValue <em>Value</em>}' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @param value the new value of the '<em>Value</em>' containment reference.
79 * @see #getValue()
80 * @generated
81 */
82 void setValue(TruthValue value);
83
84} // BasicInterpretation
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
new file mode 100644
index 00000000..8a81e68b
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java
@@ -0,0 +1,96 @@
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
new file mode 100644
index 00000000..9e8e073a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java
@@ -0,0 +1,455 @@
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/BooleanFalse.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanFalse.java
deleted file mode 100644
index 678e8fee..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanFalse.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Boolean False</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanFalse()
14 * @model
15 * @generated
16 */
17public interface BooleanFalse extends BooleanValue
18{
19} // BooleanFalse
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanObject.java
deleted file mode 100644
index c2c652ab..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanObject.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Boolean Object</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.BooleanObject#getValue <em>Value</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanObject()
20 * @model
21 * @generated
22 */
23public interface BooleanObject extends DataObject
24{
25 /**
26 * Returns the value of the '<em><b>Value</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Value</em>' containment reference.
30 * @see #setValue(BooleanValue)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanObject_Value()
32 * @model containment="true"
33 * @generated
34 */
35 BooleanValue getValue();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject#getValue <em>Value</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Value</em>' containment reference.
42 * @see #getValue()
43 * @generated
44 */
45 void setValue(BooleanValue value);
46
47} // BooleanObject
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanSymbol.java
deleted file mode 100644
index 4760c96c..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanSymbol.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Boolean Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanSymbol()
14 * @model
15 * @generated
16 */
17public interface BooleanSymbol extends DataSymbol
18{
19} // BooleanSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanTrue.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanTrue.java
deleted file mode 100644
index 7c72ec36..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanTrue.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Boolean True</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanTrue()
14 * @model
15 * @generated
16 */
17public interface BooleanTrue extends BooleanValue
18{
19} // BooleanTrue
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanValue.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanValue.java
deleted file mode 100644
index 8fe67a48..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanValue.java
+++ /dev/null
@@ -1,20 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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>Boolean Value</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanValue()
15 * @model
16 * @generated
17 */
18public interface BooleanValue extends EObject
19{
20} // BooleanValue
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
new file mode 100644
index 00000000..8e81e1a2
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java
@@ -0,0 +1,70 @@
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
new file mode 100644
index 00000000..1e76e86a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java
@@ -0,0 +1,70 @@
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/CDInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/CDInterpretation.java
deleted file mode 100644
index 9a69fc8a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/CDInterpretation.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>CD Interpretation</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCDInterpretation()
14 * @model
15 * @generated
16 */
17public interface CDInterpretation extends Interpretation
18{
19} // CDInterpretation
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
new file mode 100644
index 00000000..538ac75c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java
@@ -0,0 +1,116 @@
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#getArgumentList <em>Argument List</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</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>Argument List</b></em>' containment reference.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Argument List</em>' containment reference.
55 * @see #setArgumentList(ArgumentList)
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ArgumentList()
57 * @model containment="true"
58 * @generated
59 */
60 ArgumentList getArgumentList();
61
62 /**
63 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}' containment reference.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @param value the new value of the '<em>Argument List</em>' containment reference.
67 * @see #getArgumentList()
68 * @generated
69 */
70 void setArgumentList(ArgumentList value);
71
72 /**
73 * Returns the value of the '<em><b>Transitive Closure</b></em>' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @return the value of the '<em>Transitive Closure</em>' attribute.
77 * @see #setTransitiveClosure(boolean)
78 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_TransitiveClosure()
79 * @model
80 * @generated
81 */
82 boolean isTransitiveClosure();
83
84 /**
85 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}' attribute.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @param value the new value of the '<em>Transitive Closure</em>' attribute.
89 * @see #isTransitiveClosure()
90 * @generated
91 */
92 void setTransitiveClosure(boolean value);
93
94 /**
95 * Returns the value of the '<em><b>Reflexive Transitive Closure</b></em>' attribute.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @return the value of the '<em>Reflexive Transitive Closure</em>' attribute.
99 * @see #setReflexiveTransitiveClosure(boolean)
100 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ReflexiveTransitiveClosure()
101 * @model
102 * @generated
103 */
104 boolean isReflexiveTransitiveClosure();
105
106 /**
107 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}' attribute.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @param value the new value of the '<em>Reflexive Transitive Closure</em>' attribute.
111 * @see #isReflexiveTransitiveClosure()
112 * @generated
113 */
114 void setReflexiveTransitiveClosure(boolean 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
new file mode 100644
index 00000000..970d1de2
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java
@@ -0,0 +1,70 @@
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/ClassInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassInterpretation.java
deleted file mode 100644
index 777e0c50..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassInterpretation.java
+++ /dev/null
@@ -1,97 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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 Interpretation</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.ClassInterpretation#isAbstract <em>Abstract</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSymbol <em>Symbol</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSupertypes <em>Supertypes</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getFielt <em>Fielt</em>}</li>
21 * </ul>
22 *
23 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation()
24 * @model
25 * @generated
26 */
27public interface ClassInterpretation extends CDInterpretation
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#getClassInterpretation_Abstract()
36 * @model
37 * @generated
38 */
39 boolean isAbstract();
40
41 /**
42 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#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>Symbol</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Symbol</em>' containment reference.
56 * @see #setSymbol(ModelSymbol)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation_Symbol()
58 * @model containment="true"
59 * @generated
60 */
61 ModelSymbol getSymbol();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSymbol <em>Symbol</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Symbol</em>' containment reference.
68 * @see #getSymbol()
69 * @generated
70 */
71 void setSymbol(ModelSymbol value);
72
73 /**
74 * Returns the value of the '<em><b>Supertypes</b></em>' containment reference list.
75 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol}.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Supertypes</em>' containment reference list.
79 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation_Supertypes()
80 * @model containment="true"
81 * @generated
82 */
83 EList<ModelSymbol> getSupertypes();
84
85 /**
86 * Returns the value of the '<em><b>Fielt</b></em>' containment reference list.
87 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation}.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @return the value of the '<em>Fielt</em>' containment reference list.
91 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation_Fielt()
92 * @model containment="true"
93 * @generated
94 */
95 EList<FieldRelationInterpretation> getFielt();
96
97} // ClassInterpretation
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
new file mode 100644
index 00000000..43e9341a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java
@@ -0,0 +1,96 @@
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/ComplexObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ComplexObject.java
deleted file mode 100644
index e266f231..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ComplexObject.java
+++ /dev/null
@@ -1,20 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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>Complex Object</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComplexObject()
15 * @model
16 * @generated
17 */
18public interface ComplexObject extends EObject
19{
20} // ComplexObject
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
new file mode 100644
index 00000000..9f1967c0
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java
@@ -0,0 +1,38 @@
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/Constraint.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Constraint.java
deleted file mode 100644
index 9c957def..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Constraint.java
+++ /dev/null
@@ -1,109 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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>Constraint</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.Constraint#getPolarity <em>Polarity</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol <em>Symbol</em>}</li>
21 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getParams <em>Params</em>}</li>
22 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType <em>Closure Type</em>}</li>
23 * </ul>
24 *
25 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint()
26 * @model
27 * @generated
28 */
29public interface Constraint extends EObject
30{
31 /**
32 * Returns the value of the '<em><b>Polarity</b></em>' containment reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Polarity</em>' containment reference.
36 * @see #setPolarity(Polarity)
37 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_Polarity()
38 * @model containment="true"
39 * @generated
40 */
41 Polarity getPolarity();
42
43 /**
44 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getPolarity <em>Polarity</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Polarity</em>' containment reference.
48 * @see #getPolarity()
49 * @generated
50 */
51 void setPolarity(Polarity value);
52
53 /**
54 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @return the value of the '<em>Symbol</em>' containment reference.
58 * @see #setSymbol(ModelSymbol)
59 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_Symbol()
60 * @model containment="true"
61 * @generated
62 */
63 ModelSymbol getSymbol();
64
65 /**
66 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol <em>Symbol</em>}' containment reference.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @param value the new value of the '<em>Symbol</em>' containment reference.
70 * @see #getSymbol()
71 * @generated
72 */
73 void setSymbol(ModelSymbol value);
74
75 /**
76 * Returns the value of the '<em><b>Params</b></em>' containment reference list.
77 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Literal}.
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @return the value of the '<em>Params</em>' containment reference list.
81 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_Params()
82 * @model containment="true"
83 * @generated
84 */
85 EList<Literal> getParams();
86
87 /**
88 * Returns the value of the '<em><b>Closure Type</b></em>' containment reference.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @return the value of the '<em>Closure Type</em>' containment reference.
92 * @see #setClosureType(ClosureType)
93 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_ClosureType()
94 * @model containment="true"
95 * @generated
96 */
97 ClosureType getClosureType();
98
99 /**
100 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType <em>Closure Type</em>}' containment reference.
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @param value the new value of the '<em>Closure Type</em>' containment reference.
104 * @see #getClosureType()
105 * @generated
106 */
107 void setClosureType(ClosureType value);
108
109} // Constraint
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
new file mode 100644
index 00000000..f4b95a1e
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java
@@ -0,0 +1,47 @@
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/DataObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataObject.java
deleted file mode 100644
index 79a0af43..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataObject.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Data Object</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDataObject()
14 * @model
15 * @generated
16 */
17public interface DataObject extends org.eclipse.viatra.solver.language.solverLanguage.Object, Literal
18{
19} // DataObject
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataSymbol.java
deleted file mode 100644
index eae8175a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataSymbol.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Data Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDataSymbol()
14 * @model
15 * @generated
16 */
17public interface DataSymbol extends Symbol
18{
19} // DataSymbol
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
new file mode 100644
index 00000000..c088f8d7
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java
@@ -0,0 +1,70 @@
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/DefaultInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultInterpretation.java
deleted file mode 100644
index 2e9209f6..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultInterpretation.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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 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.DefaultInterpretation#getInterpretation <em>Interpretation</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultInterpretation()
20 * @model
21 * @generated
22 */
23public interface DefaultInterpretation extends Interpretation
24{
25 /**
26 * Returns the value of the '<em><b>Interpretation</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Interpretation</em>' containment reference.
30 * @see #setInterpretation(BasicInterpretation)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultInterpretation_Interpretation()
32 * @model containment="true"
33 * @generated
34 */
35 BasicInterpretation getInterpretation();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation#getInterpretation <em>Interpretation</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Interpretation</em>' containment reference.
42 * @see #getInterpretation()
43 * @generated
44 */
45 void setInterpretation(BasicInterpretation value);
46
47} // DefaultInterpretation
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
new file mode 100644
index 00000000..724fc04a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java
@@ -0,0 +1,38 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Disjunction</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren <em>Children</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDisjunction()
21 * @model
22 * @generated
23 */
24public interface Disjunction extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
28 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Expression}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Children</em>' containment reference list.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDisjunction_Children()
33 * @model containment="true"
34 * @generated
35 */
36 EList<Expression> getChildren();
37
38} // Disjunction
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java
new file mode 100644
index 00000000..03f09681
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Empty Interval Literal</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEmptyIntervalLiteral()
14 * @model
15 * @generated
16 */
17public interface EmptyIntervalLiteral extends Literal
18{
19} // EmptyIntervalLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumInterpretation.java
deleted file mode 100644
index 8d48c0df..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumInterpretation.java
+++ /dev/null
@@ -1,61 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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>Enum Interpretation</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.EnumInterpretation#getSymbol <em>Symbol</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getObjects <em>Objects</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEnumInterpretation()
22 * @model
23 * @generated
24 */
25public interface EnumInterpretation extends CDInterpretation
26{
27 /**
28 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Symbol</em>' containment reference.
32 * @see #setSymbol(ModelSymbol)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEnumInterpretation_Symbol()
34 * @model containment="true"
35 * @generated
36 */
37 ModelSymbol getSymbol();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getSymbol <em>Symbol</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Symbol</em>' containment reference.
44 * @see #getSymbol()
45 * @generated
46 */
47 void setSymbol(ModelSymbol value);
48
49 /**
50 * Returns the value of the '<em><b>Objects</b></em>' containment reference list.
51 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject}.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Objects</em>' containment reference list.
55 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEnumInterpretation_Objects()
56 * @model containment="true"
57 * @generated
58 */
59 EList<NamedObject> getObjects();
60
61} // EnumInterpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EqualsSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EqualsSymbol.java
deleted file mode 100644
index 1edb994f..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EqualsSymbol.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Equals Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEqualsSymbol()
14 * @model
15 * @generated
16 */
17public interface EqualsSymbol extends PartialitySymbol
18{
19} // EqualsSymbol
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
new file mode 100644
index 00000000..33e88fc4
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java
@@ -0,0 +1,47 @@
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
new file mode 100644
index 00000000..50eb6a00
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java
@@ -0,0 +1,47 @@
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/ExistSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExistSymbol.java
deleted file mode 100644
index 4dad3295..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExistSymbol.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Exist Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExistSymbol()
14 * @model
15 * @generated
16 */
17public interface ExistSymbol extends PartialitySymbol
18{
19} // ExistSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Error.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java
index bf99bc42..1ecd89a5 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Error.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java
@@ -1,19 +1,19 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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>Error</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#getError() 13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpression()
14 * @model 14 * @model
15 * @generated 15 * @generated
16 */ 16 */
17public interface Error extends TruthValue 17public interface Expression extends Statement
18{ 18{
19} // Error 19} // Expression
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java
new file mode 100644
index 00000000..518693a1
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java
@@ -0,0 +1,47 @@
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
new file mode 100644
index 00000000..086c4b27
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java
@@ -0,0 +1,73 @@
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
new file mode 100644
index 00000000..56e6b645
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java
@@ -0,0 +1,47 @@
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/False.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/False.java
deleted file mode 100644
index 71947237..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/False.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>False</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFalse()
14 * @model
15 * @generated
16 */
17public interface False extends TruthValue
18{
19} // False
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FieldRelationInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FieldRelationInterpretation.java
deleted file mode 100644
index eccf49e0..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FieldRelationInterpretation.java
+++ /dev/null
@@ -1,117 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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>Field Relation Interpretation</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.FieldRelationInterpretation#isContainment <em>Containment</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getSymbol <em>Symbol</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getMultiplicity <em>Multiplicity</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getTarget <em>Target</em>}</li>
21 * </ul>
22 *
23 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation()
24 * @model
25 * @generated
26 */
27public interface FieldRelationInterpretation extends EObject
28{
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#getFieldRelationInterpretation_Containment()
36 * @model
37 * @generated
38 */
39 boolean isContainment();
40
41 /**
42 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#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>Symbol</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Symbol</em>' containment reference.
56 * @see #setSymbol(ModelSymbol)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation_Symbol()
58 * @model containment="true"
59 * @generated
60 */
61 ModelSymbol getSymbol();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getSymbol <em>Symbol</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Symbol</em>' containment reference.
68 * @see #getSymbol()
69 * @generated
70 */
71 void setSymbol(ModelSymbol 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(MultiplicityDefinition)
79 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation_Multiplicity()
80 * @model containment="true"
81 * @generated
82 */
83 MultiplicityDefinition getMultiplicity();
84
85 /**
86 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#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(MultiplicityDefinition value);
94
95 /**
96 * Returns the value of the '<em><b>Target</b></em>' containment reference.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @return the value of the '<em>Target</em>' containment reference.
100 * @see #setTarget(Symbol)
101 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation_Target()
102 * @model containment="true"
103 * @generated
104 */
105 Symbol getTarget();
106
107 /**
108 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getTarget <em>Target</em>}' containment reference.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @param value the new value of the '<em>Target</em>' containment reference.
112 * @see #getTarget()
113 * @generated
114 */
115 void setTarget(Symbol value);
116
117} // FieldRelationInterpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/GlobalRelationInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/GlobalRelationInterpretation.java
deleted file mode 100644
index 59ab4278..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/GlobalRelationInterpretation.java
+++ /dev/null
@@ -1,162 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Global Relation 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.GlobalRelationInterpretation#isContainment <em>Containment</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSymbol <em>Symbol</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSourceMultiplicity <em>Source Multiplicity</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSource <em>Source</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTargetMultiplicity <em>Target Multiplicity</em>}</li>
21 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTarget <em>Target</em>}</li>
22 * </ul>
23 *
24 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation()
25 * @model
26 * @generated
27 */
28public interface GlobalRelationInterpretation extends CDInterpretation
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#getGlobalRelationInterpretation_Containment()
37 * @model
38 * @generated
39 */
40 boolean isContainment();
41
42 /**
43 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#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>Symbol</b></em>' containment reference.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @return the value of the '<em>Symbol</em>' containment reference.
57 * @see #setSymbol(ModelSymbol)
58 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_Symbol()
59 * @model containment="true"
60 * @generated
61 */
62 ModelSymbol getSymbol();
63
64 /**
65 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSymbol <em>Symbol</em>}' containment reference.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @param value the new value of the '<em>Symbol</em>' containment reference.
69 * @see #getSymbol()
70 * @generated
71 */
72 void setSymbol(ModelSymbol value);
73
74 /**
75 * Returns the value of the '<em><b>Source Multiplicity</b></em>' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Source Multiplicity</em>' containment reference.
79 * @see #setSourceMultiplicity(MultiplicityDefinition)
80 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_SourceMultiplicity()
81 * @model containment="true"
82 * @generated
83 */
84 MultiplicityDefinition getSourceMultiplicity();
85
86 /**
87 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSourceMultiplicity <em>Source Multiplicity</em>}' containment reference.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param value the new value of the '<em>Source Multiplicity</em>' containment reference.
91 * @see #getSourceMultiplicity()
92 * @generated
93 */
94 void setSourceMultiplicity(MultiplicityDefinition value);
95
96 /**
97 * Returns the value of the '<em><b>Source</b></em>' containment reference.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @return the value of the '<em>Source</em>' containment reference.
101 * @see #setSource(Symbol)
102 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_Source()
103 * @model containment="true"
104 * @generated
105 */
106 Symbol getSource();
107
108 /**
109 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSource <em>Source</em>}' containment reference.
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @param value the new value of the '<em>Source</em>' containment reference.
113 * @see #getSource()
114 * @generated
115 */
116 void setSource(Symbol value);
117
118 /**
119 * Returns the value of the '<em><b>Target Multiplicity</b></em>' containment reference.
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @return the value of the '<em>Target Multiplicity</em>' containment reference.
123 * @see #setTargetMultiplicity(MultiplicityDefinition)
124 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_TargetMultiplicity()
125 * @model containment="true"
126 * @generated
127 */
128 MultiplicityDefinition getTargetMultiplicity();
129
130 /**
131 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTargetMultiplicity <em>Target Multiplicity</em>}' containment reference.
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @param value the new value of the '<em>Target Multiplicity</em>' containment reference.
135 * @see #getTargetMultiplicity()
136 * @generated
137 */
138 void setTargetMultiplicity(MultiplicityDefinition value);
139
140 /**
141 * Returns the value of the '<em><b>Target</b></em>' containment reference.
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @return the value of the '<em>Target</em>' containment reference.
145 * @see #setTarget(Symbol)
146 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_Target()
147 * @model containment="true"
148 * @generated
149 */
150 Symbol getTarget();
151
152 /**
153 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTarget <em>Target</em>}' containment reference.
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @param value the new value of the '<em>Target</em>' containment reference.
157 * @see #getTarget()
158 * @generated
159 */
160 void setTarget(Symbol value);
161
162} // GlobalRelationInterpretation
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
new file mode 100644
index 00000000..f08a8420
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java
@@ -0,0 +1,93 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>If Else</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition <em>Condition</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen <em>Then</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse <em>Else</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse()
22 * @model
23 * @generated
24 */
25public interface IfElse extends Expression
26{
27 /**
28 * Returns the value of the '<em><b>Condition</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Condition</em>' containment reference.
32 * @see #setCondition(Expression)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Condition()
34 * @model containment="true"
35 * @generated
36 */
37 Expression getCondition();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition <em>Condition</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Condition</em>' containment reference.
44 * @see #getCondition()
45 * @generated
46 */
47 void setCondition(Expression value);
48
49 /**
50 * Returns the value of the '<em><b>Then</b></em>' containment reference.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Then</em>' containment reference.
54 * @see #setThen(Expression)
55 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Then()
56 * @model containment="true"
57 * @generated
58 */
59 Expression getThen();
60
61 /**
62 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen <em>Then</em>}' containment reference.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @param value the new value of the '<em>Then</em>' containment reference.
66 * @see #getThen()
67 * @generated
68 */
69 void setThen(Expression value);
70
71 /**
72 * Returns the value of the '<em><b>Else</b></em>' containment reference.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @return the value of the '<em>Else</em>' containment reference.
76 * @see #setElse(Expression)
77 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Else()
78 * @model containment="true"
79 * @generated
80 */
81 Expression getElse();
82
83 /**
84 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse <em>Else</em>}' containment reference.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @param value the new value of the '<em>Else</em>' containment reference.
88 * @see #getElse()
89 * @generated
90 */
91 void setElse(Expression value);
92
93} // IfElse
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java
new file mode 100644
index 00000000..24e9633b
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Infinity Literal</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInfinityLiteral()
14 * @model
15 * @generated
16 */
17public interface InfinityLiteral extends Literal
18{
19} // InfinityLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntegerSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntegerSymbol.java
deleted file mode 100644
index d1472499..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntegerSymbol.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Integer Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIntegerSymbol()
14 * @model
15 * @generated
16 */
17public interface IntegerSymbol extends DataSymbol
18{
19} // IntegerSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java
deleted file mode 100644
index 56541016..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterpretation()
14 * @model
15 * @generated
16 */
17public interface Interpretation extends Statement
18{
19} // Interpretation
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
new file mode 100644
index 00000000..3431ef8b
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java
@@ -0,0 +1,70 @@
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/IrreflexiveClosure.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IrreflexiveClosure.java
deleted file mode 100644
index eca04f1e..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IrreflexiveClosure.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Irreflexive Closure</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIrreflexiveClosure()
14 * @model
15 * @generated
16 */
17public interface IrreflexiveClosure extends ClosureType
18{
19} // IrreflexiveClosure
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java
index 259abe8c..67d4e64f 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/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java
@@ -1,9 +1,8 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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;
7 6
8/** 7/**
9 * <!-- begin-user-doc --> 8 * <!-- begin-user-doc -->
@@ -15,6 +14,6 @@ import org.eclipse.emf.ecore.EObject;
15 * @model 14 * @model
16 * @generated 15 * @generated
17 */ 16 */
18public interface Literal extends EObject 17public interface Literal extends Expression
19{ 18{
20} // Literal 19} // Literal
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java
index 1a42b0c3..b3eb1523 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntObject.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java
@@ -1,47 +1,50 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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>Int Object</b></em>'. 9 * A representation of the model object '<em><b>Logic Literal</b></em>'.
10 * <!-- end-user-doc --> 10 * <!-- end-user-doc -->
11 * 11 *
12 * <p> 12 * <p>
13 * The following features are supported: 13 * The following features are supported:
14 * </p> 14 * </p>
15 * <ul> 15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject#getValue <em>Value</em>}</li> 16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue <em>Value</em>}</li>
17 * </ul> 17 * </ul>
18 * 18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIntObject() 19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicLiteral()
20 * @model 20 * @model
21 * @generated 21 * @generated
22 */ 22 */
23public interface IntObject extends DataObject 23public interface LogicLiteral extends Literal
24{ 24{
25 /** 25 /**
26 * Returns the value of the '<em><b>Value</b></em>' attribute. 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}.
27 * <!-- begin-user-doc --> 28 * <!-- begin-user-doc -->
28 * <!-- end-user-doc --> 29 * <!-- end-user-doc -->
29 * @return the value of the '<em>Value</em>' attribute. 30 * @return the value of the '<em>Value</em>' attribute.
30 * @see #setValue(int) 31 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIntObject_Value() 32 * @see #setValue(LogicValue)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicLiteral_Value()
32 * @model 34 * @model
33 * @generated 35 * @generated
34 */ 36 */
35 int getValue(); 37 LogicValue getValue();
36 38
37 /** 39 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject#getValue <em>Value</em>}' attribute. 40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue <em>Value</em>}' attribute.
39 * <!-- begin-user-doc --> 41 * <!-- begin-user-doc -->
40 * <!-- end-user-doc --> 42 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Value</em>' attribute. 43 * @param value the new value of the '<em>Value</em>' attribute.
44 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
42 * @see #getValue() 45 * @see #getValue()
43 * @generated 46 * @generated
44 */ 47 */
45 void setValue(int value); 48 void setValue(LogicValue value);
46 49
47} // IntObject 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
new file mode 100644
index 00000000..61be81f7
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java
@@ -0,0 +1,271 @@
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
new file mode 100644
index 00000000..57edcfda
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Lower Bounded Scope Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLowerBoundedScopeDefinition()
20 * @model
21 * @generated
22 */
23public interface LowerBoundedScopeDefinition extends ScopeDefinition
24{
25 /**
26 * Returns the value of the '<em><b>Lower Bound</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Lower Bound</em>' attribute.
30 * @see #setLowerBound(int)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLowerBoundedScopeDefinition_LowerBound()
32 * @model
33 * @generated
34 */
35 int getLowerBound();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Lower Bound</em>' attribute.
42 * @see #getLowerBound()
43 * @generated
44 */
45 void setLowerBound(int value);
46
47} // LowerBoundedScopeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java
new file mode 100644
index 00000000..4a667d4a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Many Multiplicity</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getManyMultiplicity()
14 * @model
15 * @generated
16 */
17public interface ManyMultiplicity extends Multiplicity
18{
19} // ManyMultiplicity
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java
new file mode 100644
index 00000000..3b413c11
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java
@@ -0,0 +1,140 @@
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
new file mode 100644
index 00000000..a35ab60c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java
@@ -0,0 +1,96 @@
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
new file mode 100644
index 00000000..0aa6a805
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricType.java
@@ -0,0 +1,225 @@
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/ClosureType.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java
index f9d8dc28..1cbfadd6 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClosureType.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
@@ -7,14 +7,14 @@ import 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>Closure Type</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#getClosureType() 14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicity()
15 * @model 15 * @model
16 * @generated 16 * @generated
17 */ 17 */
18public interface ClosureType extends EObject 18public interface Multiplicity extends EObject
19{ 19{
20} // ClosureType 20} // Multiplicity
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MultiplicityDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MultiplicityDefinition.java
deleted file mode 100644
index 9b4def59..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MultiplicityDefinition.java
+++ /dev/null
@@ -1,94 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Multiplicity 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.MultiplicityDefinition#getLower <em>Lower</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getUpper <em>Upper</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#isUnlimitedUpper <em>Unlimited Upper</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicityDefinition()
23 * @model
24 * @generated
25 */
26public interface MultiplicityDefinition extends EObject
27{
28 /**
29 * Returns the value of the '<em><b>Lower</b></em>' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Lower</em>' attribute.
33 * @see #setLower(int)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicityDefinition_Lower()
35 * @model
36 * @generated
37 */
38 int getLower();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getLower <em>Lower</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Lower</em>' attribute.
45 * @see #getLower()
46 * @generated
47 */
48 void setLower(int value);
49
50 /**
51 * Returns the value of the '<em><b>Upper</b></em>' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Upper</em>' attribute.
55 * @see #setUpper(int)
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicityDefinition_Upper()
57 * @model
58 * @generated
59 */
60 int getUpper();
61
62 /**
63 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getUpper <em>Upper</em>}' attribute.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @param value the new value of the '<em>Upper</em>' attribute.
67 * @see #getUpper()
68 * @generated
69 */
70 void setUpper(int value);
71
72 /**
73 * Returns the value of the '<em><b>Unlimited Upper</b></em>' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @return the value of the '<em>Unlimited Upper</em>' attribute.
77 * @see #setUnlimitedUpper(boolean)
78 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicityDefinition_UnlimitedUpper()
79 * @model
80 * @generated
81 */
82 boolean isUnlimitedUpper();
83
84 /**
85 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#isUnlimitedUpper <em>Unlimited Upper</em>}' attribute.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @param value the new value of the '<em>Unlimited Upper</em>' attribute.
89 * @see #isUnlimitedUpper()
90 * @generated
91 */
92 void setUnlimitedUpper(boolean value);
93
94} // MultiplicityDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ModelSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java
index 0d91b791..0372da14 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ModelSymbol.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java
@@ -1,26 +1,27 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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;
6 7
7/** 8/**
8 * <!-- begin-user-doc --> 9 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Model Symbol</b></em>'. 10 * A representation of the model object '<em><b>Named Element</b></em>'.
10 * <!-- end-user-doc --> 11 * <!-- end-user-doc -->
11 * 12 *
12 * <p> 13 * <p>
13 * The following features are supported: 14 * The following features are supported:
14 * </p> 15 * </p>
15 * <ul> 16 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol#getName <em>Name</em>}</li> 17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName <em>Name</em>}</li>
17 * </ul> 18 * </ul>
18 * 19 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getModelSymbol() 20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedElement()
20 * @model 21 * @model
21 * @generated 22 * @generated
22 */ 23 */
23public interface ModelSymbol extends Symbol 24public interface NamedElement extends EObject
24{ 25{
25 /** 26 /**
26 * Returns the value of the '<em><b>Name</b></em>' attribute. 27 * Returns the value of the '<em><b>Name</b></em>' attribute.
@@ -28,14 +29,14 @@ public interface ModelSymbol extends Symbol
28 * <!-- end-user-doc --> 29 * <!-- end-user-doc -->
29 * @return the value of the '<em>Name</em>' attribute. 30 * @return the value of the '<em>Name</em>' attribute.
30 * @see #setName(String) 31 * @see #setName(String)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getModelSymbol_Name() 32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedElement_Name()
32 * @model 33 * @model
33 * @generated 34 * @generated
34 */ 35 */
35 String getName(); 36 String getName();
36 37
37 /** 38 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol#getName <em>Name</em>}' attribute. 39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName <em>Name</em>}' attribute.
39 * <!-- begin-user-doc --> 40 * <!-- begin-user-doc -->
40 * <!-- end-user-doc --> 41 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Name</em>' attribute. 42 * @param value the new value of the '<em>Name</em>' attribute.
@@ -44,4 +45,4 @@ public interface ModelSymbol extends Symbol
44 */ 45 */
45 void setName(String value); 46 void setName(String value);
46 47
47} // ModelSymbol 48} // NamedElement
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java
deleted file mode 100644
index b44ef060..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Named Object</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.NamedObject#getName <em>Name</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedObject()
20 * @model
21 * @generated
22 */
23public interface NamedObject extends org.eclipse.viatra.solver.language.solverLanguage.Object, Literal
24{
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#getNamedObject_Name()
32 * @model
33 * @generated
34 */
35 String getName();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject#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} // NamedObject
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Negative.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Negative.java
deleted file mode 100644
index 5d735fec..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Negative.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Negative</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNegative()
14 * @model
15 * @generated
16 */
17public interface Negative extends Polarity
18{
19} // Negative
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java
index 12e8be3e..9e30d508 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealObject.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
@@ -7,21 +7,21 @@ import java.math.BigDecimal;
7 7
8/** 8/**
9 * <!-- begin-user-doc --> 9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Real Object</b></em>'. 10 * A representation of the model object '<em><b>Numeric Literal</b></em>'.
11 * <!-- end-user-doc --> 11 * <!-- end-user-doc -->
12 * 12 *
13 * <p> 13 * <p>
14 * The following features are supported: 14 * The following features are supported:
15 * </p> 15 * </p>
16 * <ul> 16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject#getValue <em>Value</em>}</li> 17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue <em>Value</em>}</li>
18 * </ul> 18 * </ul>
19 * 19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getRealObject() 20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNumericLiteral()
21 * @model 21 * @model
22 * @generated 22 * @generated
23 */ 23 */
24public interface RealObject extends DataObject 24public interface NumericLiteral extends Literal
25{ 25{
26 /** 26 /**
27 * Returns the value of the '<em><b>Value</b></em>' attribute. 27 * Returns the value of the '<em><b>Value</b></em>' attribute.
@@ -29,14 +29,14 @@ public interface RealObject extends DataObject
29 * <!-- end-user-doc --> 29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Value</em>' attribute. 30 * @return the value of the '<em>Value</em>' attribute.
31 * @see #setValue(BigDecimal) 31 * @see #setValue(BigDecimal)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getRealObject_Value() 32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNumericLiteral_Value()
33 * @model 33 * @model
34 * @generated 34 * @generated
35 */ 35 */
36 BigDecimal getValue(); 36 BigDecimal getValue();
37 37
38 /** 38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject#getValue <em>Value</em>}' attribute. 39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue <em>Value</em>}' attribute.
40 * <!-- begin-user-doc --> 40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc --> 41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Value</em>' attribute. 42 * @param value the new value of the '<em>Value</em>' attribute.
@@ -45,4 +45,4 @@ public interface RealObject extends DataObject
45 */ 45 */
46 void setValue(BigDecimal value); 46 void setValue(BigDecimal value);
47 47
48} // RealObject 48} // NumericLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Object.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Object.java
deleted file mode 100644
index 908ae5a6..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Object.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Object</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObject()
14 * @model
15 * @generated
16 */
17public interface Object extends ComplexObject
18{
19} // Object
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
new file mode 100644
index 00000000..417a389c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java
@@ -0,0 +1,73 @@
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
new file mode 100644
index 00000000..d3a4f626
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java
@@ -0,0 +1,225 @@
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/Parameter.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Parameter.java
deleted file mode 100644
index e4ef1c28..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Parameter.java
+++ /dev/null
@@ -1,71 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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>Parameter</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.Parameter#getVariable <em>Variable</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getType <em>Type</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getParameter()
22 * @model
23 * @generated
24 */
25public interface Parameter extends EObject
26{
27 /**
28 * Returns the value of the '<em><b>Variable</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Variable</em>' containment reference.
32 * @see #setVariable(Variable)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getParameter_Variable()
34 * @model containment="true"
35 * @generated
36 */
37 Variable getVariable();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getVariable <em>Variable</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Variable</em>' containment reference.
44 * @see #getVariable()
45 * @generated
46 */
47 void setVariable(Variable value);
48
49 /**
50 * Returns the value of the '<em><b>Type</b></em>' containment reference.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Type</em>' containment reference.
54 * @see #setType(Symbol)
55 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getParameter_Type()
56 * @model containment="true"
57 * @generated
58 */
59 Symbol getType();
60
61 /**
62 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getType <em>Type</em>}' containment reference.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @param value the new value of the '<em>Type</em>' containment reference.
66 * @see #getType()
67 * @generated
68 */
69 void setType(Symbol value);
70
71} // Parameter
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PartialitySymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PartialitySymbol.java
deleted file mode 100644
index a4331248..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PartialitySymbol.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Partiality Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPartialitySymbol()
14 * @model
15 * @generated
16 */
17public interface PartialitySymbol extends Symbol
18{
19} // PartialitySymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Positive.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Positive.java
deleted file mode 100644
index 075a865f..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Positive.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Positive</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPositive()
14 * @model
15 * @generated
16 */
17public interface Positive extends Polarity
18{
19} // Positive
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java
deleted file mode 100644
index 7892fd57..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java
+++ /dev/null
@@ -1,97 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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>Predicate</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.Predicate#isIsError <em>Is Error</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol <em>Symbol</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters <em>Parameters</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies <em>Bodies</em>}</li>
21 * </ul>
22 *
23 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate()
24 * @model
25 * @generated
26 */
27public interface Predicate extends Statement
28{
29 /**
30 * Returns the value of the '<em><b>Is Error</b></em>' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Is Error</em>' attribute.
34 * @see #setIsError(boolean)
35 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_IsError()
36 * @model
37 * @generated
38 */
39 boolean isIsError();
40
41 /**
42 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError <em>Is Error</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Is Error</em>' attribute.
46 * @see #isIsError()
47 * @generated
48 */
49 void setIsError(boolean value);
50
51 /**
52 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Symbol</em>' containment reference.
56 * @see #setSymbol(ModelSymbol)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_Symbol()
58 * @model containment="true"
59 * @generated
60 */
61 ModelSymbol getSymbol();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol <em>Symbol</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Symbol</em>' containment reference.
68 * @see #getSymbol()
69 * @generated
70 */
71 void setSymbol(ModelSymbol value);
72
73 /**
74 * Returns the value of the '<em><b>Parameters</b></em>' containment reference list.
75 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Parameter}.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Parameters</em>' containment reference list.
79 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_Parameters()
80 * @model containment="true"
81 * @generated
82 */
83 EList<Parameter> getParameters();
84
85 /**
86 * Returns the value of the '<em><b>Bodies</b></em>' containment reference list.
87 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody}.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @return the value of the '<em>Bodies</em>' containment reference list.
91 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_Bodies()
92 * @model containment="true"
93 * @generated
94 */
95 EList<PatternBody> getBodies();
96
97} // Predicate
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
new file mode 100644
index 00000000..256cb5ac
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java
@@ -0,0 +1,116 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Predicate Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead <em>Head</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody <em>Body</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional <em>Functional</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError <em>Error</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition()
23 * @model
24 * @generated
25 */
26public interface PredicateDefinition extends Statement
27{
28 /**
29 * Returns the value of the '<em><b>Head</b></em>' containment reference.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Head</em>' containment reference.
33 * @see #setHead(Expression)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Head()
35 * @model containment="true"
36 * @generated
37 */
38 Expression getHead();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead <em>Head</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Head</em>' containment reference.
45 * @see #getHead()
46 * @generated
47 */
48 void setHead(Expression value);
49
50 /**
51 * Returns the value of the '<em><b>Body</b></em>' containment reference.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Body</em>' containment reference.
55 * @see #setBody(Expression)
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Body()
57 * @model containment="true"
58 * @generated
59 */
60 Expression getBody();
61
62 /**
63 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody <em>Body</em>}' containment reference.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @param value the new value of the '<em>Body</em>' containment reference.
67 * @see #getBody()
68 * @generated
69 */
70 void setBody(Expression value);
71
72 /**
73 * Returns the value of the '<em><b>Functional</b></em>' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @return the value of the '<em>Functional</em>' attribute.
77 * @see #setFunctional(boolean)
78 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Functional()
79 * @model
80 * @generated
81 */
82 boolean isFunctional();
83
84 /**
85 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional <em>Functional</em>}' attribute.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @param value the new value of the '<em>Functional</em>' attribute.
89 * @see #isFunctional()
90 * @generated
91 */
92 void setFunctional(boolean value);
93
94 /**
95 * Returns the value of the '<em><b>Error</b></em>' attribute.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @return the value of the '<em>Error</em>' attribute.
99 * @see #setError(boolean)
100 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Error()
101 * @model
102 * @generated
103 */
104 boolean isError();
105
106 /**
107 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError <em>Error</em>}' attribute.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @param value the new value of the '<em>Error</em>' attribute.
111 * @see #isError()
112 * @generated
113 */
114 void setError(boolean value);
115
116} // PredicateDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java
index 91967617..2383bf18 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/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealSymbol.java
deleted file mode 100644
index 06dd35fc..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealSymbol.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Real Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getRealSymbol()
14 * @model
15 * @generated
16 */
17public interface RealSymbol extends DataSymbol
18{
19} // RealSymbol
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
new file mode 100644
index 00000000..6adb6a9d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java
@@ -0,0 +1,47 @@
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/ReflexiveClosure.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ReflexiveClosure.java
deleted file mode 100644
index 3eb30271..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ReflexiveClosure.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Reflexive Closure</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getReflexiveClosure()
14 * @model
15 * @generated
16 */
17public interface ReflexiveClosure extends ClosureType
18{
19} // ReflexiveClosure
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
new file mode 100644
index 00000000..42fb6513
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java
@@ -0,0 +1,47 @@
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
index c5d4cbff..cf5c8e62 100644
--- 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
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
@@ -42,454 +42,400 @@ public interface SolverLanguageFactory extends EFactory
42 Statement createStatement(); 42 Statement createStatement();
43 43
44 /** 44 /**
45 * Returns a new object of class '<em>Boolean Value</em>'. 45 * Returns a new object of class '<em>Predicate Definition</em>'.
46 * <!-- begin-user-doc --> 46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc --> 47 * <!-- end-user-doc -->
48 * @return a new object of class '<em>Boolean Value</em>'. 48 * @return a new object of class '<em>Predicate Definition</em>'.
49 * @generated 49 * @generated
50 */ 50 */
51 BooleanValue createBooleanValue(); 51 PredicateDefinition createPredicateDefinition();
52 52
53 /** 53 /**
54 * Returns a new object of class '<em>Truth Value</em>'. 54 * Returns a new object of class '<em>Unnamed Error Prediate Definition</em>'.
55 * <!-- begin-user-doc --> 55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc --> 56 * <!-- end-user-doc -->
57 * @return a new object of class '<em>Truth Value</em>'. 57 * @return a new object of class '<em>Unnamed Error Prediate Definition</em>'.
58 * @generated 58 * @generated
59 */ 59 */
60 TruthValue createTruthValue(); 60 UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition();
61 61
62 /** 62 /**
63 * Returns a new object of class '<em>Interpretation</em>'. 63 * Returns a new object of class '<em>Default Definition</em>'.
64 * <!-- begin-user-doc --> 64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc --> 65 * <!-- end-user-doc -->
66 * @return a new object of class '<em>Interpretation</em>'. 66 * @return a new object of class '<em>Default Definition</em>'.
67 * @generated 67 * @generated
68 */ 68 */
69 Interpretation createInterpretation(); 69 DefaultDefinition createDefaultDefinition();
70 70
71 /** 71 /**
72 * Returns a new object of class '<em>Basic Interpretation</em>'. 72 * Returns a new object of class '<em>Extern Predicate Definition</em>'.
73 * <!-- begin-user-doc --> 73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc --> 74 * <!-- end-user-doc -->
75 * @return a new object of class '<em>Basic Interpretation</em>'. 75 * @return a new object of class '<em>Extern Predicate Definition</em>'.
76 * @generated 76 * @generated
77 */ 77 */
78 BasicInterpretation createBasicInterpretation(); 78 ExternPredicateDefinition createExternPredicateDefinition();
79 79
80 /** 80 /**
81 * Returns a new object of class '<em>Symbol</em>'. 81 * Returns a new object of class '<em>Metric Definition</em>'.
82 * <!-- begin-user-doc --> 82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc --> 83 * <!-- end-user-doc -->
84 * @return a new object of class '<em>Symbol</em>'. 84 * @return a new object of class '<em>Metric Definition</em>'.
85 * @generated 85 * @generated
86 */ 86 */
87 Symbol createSymbol(); 87 MetricDefinition createMetricDefinition();
88 88
89 /** 89 /**
90 * Returns a new object of class '<em>Model Symbol</em>'. 90 * Returns a new object of class '<em>Extern Metric Definition</em>'.
91 * <!-- begin-user-doc --> 91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc --> 92 * <!-- end-user-doc -->
93 * @return a new object of class '<em>Model Symbol</em>'. 93 * @return a new object of class '<em>Extern Metric Definition</em>'.
94 * @generated 94 * @generated
95 */ 95 */
96 ModelSymbol createModelSymbol(); 96 ExternMetricDefinition createExternMetricDefinition();
97 97
98 /** 98 /**
99 * Returns a new object of class '<em>Partiality Symbol</em>'. 99 * Returns a new object of class '<em>Expression</em>'.
100 * <!-- begin-user-doc --> 100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc --> 101 * <!-- end-user-doc -->
102 * @return a new object of class '<em>Partiality Symbol</em>'. 102 * @return a new object of class '<em>Expression</em>'.
103 * @generated 103 * @generated
104 */ 104 */
105 PartialitySymbol createPartialitySymbol(); 105 Expression createExpression();
106 106
107 /** 107 /**
108 * Returns a new object of class '<em>Exist Symbol</em>'. 108 * Returns a new object of class '<em>If Else</em>'.
109 * <!-- begin-user-doc --> 109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc --> 110 * <!-- end-user-doc -->
111 * @return a new object of class '<em>Exist Symbol</em>'. 111 * @return a new object of class '<em>If Else</em>'.
112 * @generated 112 * @generated
113 */ 113 */
114 ExistSymbol createExistSymbol(); 114 IfElse createIfElse();
115 115
116 /** 116 /**
117 * Returns a new object of class '<em>Equals Symbol</em>'. 117 * Returns a new object of class '<em>Case</em>'.
118 * <!-- begin-user-doc --> 118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc --> 119 * <!-- end-user-doc -->
120 * @return a new object of class '<em>Equals Symbol</em>'. 120 * @return a new object of class '<em>Case</em>'.
121 * @generated 121 * @generated
122 */ 122 */
123 EqualsSymbol createEqualsSymbol(); 123 Case createCase();
124 124
125 /** 125 /**
126 * Returns a new object of class '<em>Data Symbol</em>'. 126 * Returns a new object of class '<em>Count</em>'.
127 * <!-- begin-user-doc --> 127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc --> 128 * <!-- end-user-doc -->
129 * @return a new object of class '<em>Data Symbol</em>'. 129 * @return a new object of class '<em>Count</em>'.
130 * @generated 130 * @generated
131 */ 131 */
132 DataSymbol createDataSymbol(); 132 Count createCount();
133 133
134 /** 134 /**
135 * Returns a new object of class '<em>Boolean Symbol</em>'. 135 * Returns a new object of class '<em>Aggregation</em>'.
136 * <!-- begin-user-doc --> 136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc --> 137 * <!-- end-user-doc -->
138 * @return a new object of class '<em>Boolean Symbol</em>'. 138 * @return a new object of class '<em>Aggregation</em>'.
139 * @generated 139 * @generated
140 */ 140 */
141 BooleanSymbol createBooleanSymbol(); 141 Aggregation createAggregation();
142 142
143 /** 143 /**
144 * Returns a new object of class '<em>Integer Symbol</em>'. 144 * Returns a new object of class '<em>Call</em>'.
145 * <!-- begin-user-doc --> 145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc --> 146 * <!-- end-user-doc -->
147 * @return a new object of class '<em>Integer Symbol</em>'. 147 * @return a new object of class '<em>Call</em>'.
148 * @generated 148 * @generated
149 */ 149 */
150 IntegerSymbol createIntegerSymbol(); 150 Call createCall();
151 151
152 /** 152 /**
153 * Returns a new object of class '<em>Real Symbol</em>'. 153 * Returns a new object of class '<em>Argument List</em>'.
154 * <!-- begin-user-doc --> 154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc --> 155 * <!-- end-user-doc -->
156 * @return a new object of class '<em>Real Symbol</em>'. 156 * @return a new object of class '<em>Argument List</em>'.
157 * @generated 157 * @generated
158 */ 158 */
159 RealSymbol createRealSymbol(); 159 ArgumentList createArgumentList();
160 160
161 /** 161 /**
162 * Returns a new object of class '<em>String Symbol</em>'. 162 * Returns a new object of class '<em>Argument</em>'.
163 * <!-- begin-user-doc --> 163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc --> 164 * <!-- end-user-doc -->
165 * @return a new object of class '<em>String Symbol</em>'. 165 * @return a new object of class '<em>Argument</em>'.
166 * @generated 166 * @generated
167 */ 167 */
168 StringSymbol createStringSymbol(); 168 Argument createArgument();
169 169
170 /** 170 /**
171 * Returns a new object of class '<em>Complex Object</em>'. 171 * Returns a new object of class '<em>Expression Argument</em>'.
172 * <!-- begin-user-doc --> 172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc --> 173 * <!-- end-user-doc -->
174 * @return a new object of class '<em>Complex Object</em>'. 174 * @return a new object of class '<em>Expression Argument</em>'.
175 * @generated 175 * @generated
176 */ 176 */
177 ComplexObject createComplexObject(); 177 ExpressionArgument createExpressionArgument();
178 178
179 /** 179 /**
180 * Returns a new object of class '<em>Object</em>'. 180 * Returns a new object of class '<em>Star Argument</em>'.
181 * <!-- begin-user-doc --> 181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc --> 182 * <!-- end-user-doc -->
183 * @return a new object of class '<em>Object</em>'. 183 * @return a new object of class '<em>Star Argument</em>'.
184 * @generated 184 * @generated
185 */ 185 */
186 Object createObject(); 186 StarArgument createStarArgument();
187 187
188 /** 188 /**
189 * Returns a new object of class '<em>Named Object</em>'. 189 * Returns a new object of class '<em>Typed Argument</em>'.
190 * <!-- begin-user-doc --> 190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc --> 191 * <!-- end-user-doc -->
192 * @return a new object of class '<em>Named Object</em>'. 192 * @return a new object of class '<em>Typed Argument</em>'.
193 * @generated 193 * @generated
194 */ 194 */
195 NamedObject createNamedObject(); 195 TypedArgument createTypedArgument();
196 196
197 /** 197 /**
198 * Returns a new object of class '<em>Unnamed Object</em>'. 198 * Returns a new object of class '<em>Typed Star Argument</em>'.
199 * <!-- begin-user-doc --> 199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc --> 200 * <!-- end-user-doc -->
201 * @return a new object of class '<em>Unnamed Object</em>'. 201 * @return a new object of class '<em>Typed Star Argument</em>'.
202 * @generated 202 * @generated
203 */ 203 */
204 UnnamedObject createUnnamedObject(); 204 TypedStarArgument createTypedStarArgument();
205 205
206 /** 206 /**
207 * Returns a new object of class '<em>Data Object</em>'. 207 * Returns a new object of class '<em>Reference</em>'.
208 * <!-- begin-user-doc --> 208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc --> 209 * <!-- end-user-doc -->
210 * @return a new object of class '<em>Data Object</em>'. 210 * @return a new object of class '<em>Reference</em>'.
211 * @generated 211 * @generated
212 */ 212 */
213 DataObject createDataObject(); 213 Reference createReference();
214 214
215 /** 215 /**
216 * Returns a new object of class '<em>Boolean Object</em>'. 216 * Returns a new object of class '<em>Interval</em>'.
217 * <!-- begin-user-doc --> 217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc --> 218 * <!-- end-user-doc -->
219 * @return a new object of class '<em>Boolean Object</em>'. 219 * @return a new object of class '<em>Interval</em>'.
220 * @generated 220 * @generated
221 */ 221 */
222 BooleanObject createBooleanObject(); 222 Interval createInterval();
223 223
224 /** 224 /**
225 * Returns a new object of class '<em>Int Object</em>'. 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>Int Object</em>'.
229 * @generated
230 */
231 IntObject createIntObject();
232
233 /**
234 * Returns a new object of class '<em>Real Object</em>'.
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @return a new object of class '<em>Real Object</em>'.
238 * @generated
239 */
240 RealObject createRealObject();
241
242 /**
243 * Returns a new object of class '<em>String Object</em>'.
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @return a new object of class '<em>String Object</em>'.
247 * @generated
248 */
249 StringObject createStringObject();
250
251 /**
252 * Returns a new object of class '<em>Predicate</em>'.
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @return a new object of class '<em>Predicate</em>'.
256 * @generated
257 */
258 Predicate createPredicate();
259
260 /**
261 * Returns a new object of class '<em>Parameter</em>'.
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @return a new object of class '<em>Parameter</em>'.
265 * @generated
266 */
267 Parameter createParameter();
268
269 /**
270 * Returns a new object of class '<em>Pattern Body</em>'.
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @return a new object of class '<em>Pattern Body</em>'.
274 * @generated
275 */
276 PatternBody createPatternBody();
277
278 /**
279 * Returns a new object of class '<em>Polarity</em>'.
280 * <!-- begin-user-doc --> 226 * <!-- begin-user-doc -->
281 * <!-- end-user-doc --> 227 * <!-- end-user-doc -->
282 * @return a new object of class '<em>Polarity</em>'. 228 * @return a new object of class '<em>Literal</em>'.
283 * @generated 229 * @generated
284 */ 230 */
285 Polarity createPolarity(); 231 Literal createLiteral();
286 232
287 /** 233 /**
288 * Returns a new object of class '<em>Constraint</em>'. 234 * Returns a new object of class '<em>Logic Literal</em>'.
289 * <!-- begin-user-doc --> 235 * <!-- begin-user-doc -->
290 * <!-- end-user-doc --> 236 * <!-- end-user-doc -->
291 * @return a new object of class '<em>Constraint</em>'. 237 * @return a new object of class '<em>Logic Literal</em>'.
292 * @generated 238 * @generated
293 */ 239 */
294 Constraint createConstraint(); 240 LogicLiteral createLogicLiteral();
295 241
296 /** 242 /**
297 * Returns a new object of class '<em>Closure Type</em>'. 243 * Returns a new object of class '<em>Numeric Literal</em>'.
298 * <!-- begin-user-doc --> 244 * <!-- begin-user-doc -->
299 * <!-- end-user-doc --> 245 * <!-- end-user-doc -->
300 * @return a new object of class '<em>Closure Type</em>'. 246 * @return a new object of class '<em>Numeric Literal</em>'.
301 * @generated 247 * @generated
302 */ 248 */
303 ClosureType createClosureType(); 249 NumericLiteral createNumericLiteral();
304 250
305 /** 251 /**
306 * Returns a new object of class '<em>Literal</em>'. 252 * Returns a new object of class '<em>Infinity Literal</em>'.
307 * <!-- begin-user-doc --> 253 * <!-- begin-user-doc -->
308 * <!-- end-user-doc --> 254 * <!-- end-user-doc -->
309 * @return a new object of class '<em>Literal</em>'. 255 * @return a new object of class '<em>Infinity Literal</em>'.
310 * @generated 256 * @generated
311 */ 257 */
312 Literal createLiteral(); 258 InfinityLiteral createInfinityLiteral();
313 259
314 /** 260 /**
315 * Returns a new object of class '<em>Variable</em>'. 261 * Returns a new object of class '<em>Empty Interval Literal</em>'.
316 * <!-- begin-user-doc --> 262 * <!-- begin-user-doc -->
317 * <!-- end-user-doc --> 263 * <!-- end-user-doc -->
318 * @return a new object of class '<em>Variable</em>'. 264 * @return a new object of class '<em>Empty Interval Literal</em>'.
319 * @generated 265 * @generated
320 */ 266 */
321 Variable createVariable(); 267 EmptyIntervalLiteral createEmptyIntervalLiteral();
322 268
323 /** 269 /**
324 * Returns a new object of class '<em>All Instances</em>'. 270 * Returns a new object of class '<em>String Literal</em>'.
325 * <!-- begin-user-doc --> 271 * <!-- begin-user-doc -->
326 * <!-- end-user-doc --> 272 * <!-- end-user-doc -->
327 * @return a new object of class '<em>All Instances</em>'. 273 * @return a new object of class '<em>String Literal</em>'.
328 * @generated 274 * @generated
329 */ 275 */
330 AllInstances createAllInstances(); 276 StringLiteral createStringLiteral();
331 277
332 /** 278 /**
333 * Returns a new object of class '<em>All Objects</em>'. 279 * Returns a new object of class '<em>Member Definition</em>'.
334 * <!-- begin-user-doc --> 280 * <!-- begin-user-doc -->
335 * <!-- end-user-doc --> 281 * <!-- end-user-doc -->
336 * @return a new object of class '<em>All Objects</em>'. 282 * @return a new object of class '<em>Member Definition</em>'.
337 * @generated 283 * @generated
338 */ 284 */
339 AllObjects createAllObjects(); 285 MemberDefinition createMemberDefinition();
340 286
341 /** 287 /**
342 * Returns a new object of class '<em>Default Interpretation</em>'. 288 * Returns a new object of class '<em>Multiplicity</em>'.
343 * <!-- begin-user-doc --> 289 * <!-- begin-user-doc -->
344 * <!-- end-user-doc --> 290 * <!-- end-user-doc -->
345 * @return a new object of class '<em>Default Interpretation</em>'. 291 * @return a new object of class '<em>Multiplicity</em>'.
346 * @generated 292 * @generated
347 */ 293 */
348 DefaultInterpretation createDefaultInterpretation(); 294 Multiplicity createMultiplicity();
349 295
350 /** 296 /**
351 * Returns a new object of class '<em>CD Interpretation</em>'. 297 * Returns a new object of class '<em>Many Multiplicity</em>'.
352 * <!-- begin-user-doc --> 298 * <!-- begin-user-doc -->
353 * <!-- end-user-doc --> 299 * <!-- end-user-doc -->
354 * @return a new object of class '<em>CD Interpretation</em>'. 300 * @return a new object of class '<em>Many Multiplicity</em>'.
355 * @generated 301 * @generated
356 */ 302 */
357 CDInterpretation createCDInterpretation(); 303 ManyMultiplicity createManyMultiplicity();
358 304
359 /** 305 /**
360 * Returns a new object of class '<em>Class Interpretation</em>'. 306 * Returns a new object of class '<em>Exact Multiplicity</em>'.
361 * <!-- begin-user-doc --> 307 * <!-- begin-user-doc -->
362 * <!-- end-user-doc --> 308 * <!-- end-user-doc -->
363 * @return a new object of class '<em>Class Interpretation</em>'. 309 * @return a new object of class '<em>Exact Multiplicity</em>'.
364 * @generated 310 * @generated
365 */ 311 */
366 ClassInterpretation createClassInterpretation(); 312 ExactMultiplicity createExactMultiplicity();
367 313
368 /** 314 /**
369 * Returns a new object of class '<em>Enum Interpretation</em>'. 315 * Returns a new object of class '<em>Bounded Multiplicity</em>'.
370 * <!-- begin-user-doc --> 316 * <!-- begin-user-doc -->
371 * <!-- end-user-doc --> 317 * <!-- end-user-doc -->
372 * @return a new object of class '<em>Enum Interpretation</em>'. 318 * @return a new object of class '<em>Bounded Multiplicity</em>'.
373 * @generated 319 * @generated
374 */ 320 */
375 EnumInterpretation createEnumInterpretation(); 321 BoundedMultiplicity createBoundedMultiplicity();
376 322
377 /** 323 /**
378 * Returns a new object of class '<em>Field Relation Interpretation</em>'. 324 * Returns a new object of class '<em>Scope Definition</em>'.
379 * <!-- begin-user-doc --> 325 * <!-- begin-user-doc -->
380 * <!-- end-user-doc --> 326 * <!-- end-user-doc -->
381 * @return a new object of class '<em>Field Relation Interpretation</em>'. 327 * @return a new object of class '<em>Scope Definition</em>'.
382 * @generated 328 * @generated
383 */ 329 */
384 FieldRelationInterpretation createFieldRelationInterpretation(); 330 ScopeDefinition createScopeDefinition();
385 331
386 /** 332 /**
387 * Returns a new object of class '<em>Global Relation Interpretation</em>'. 333 * Returns a new object of class '<em>Exact Scope Definition</em>'.
388 * <!-- begin-user-doc --> 334 * <!-- begin-user-doc -->
389 * <!-- end-user-doc --> 335 * <!-- end-user-doc -->
390 * @return a new object of class '<em>Global Relation Interpretation</em>'. 336 * @return a new object of class '<em>Exact Scope Definition</em>'.
391 * @generated 337 * @generated
392 */ 338 */
393 GlobalRelationInterpretation createGlobalRelationInterpretation(); 339 ExactScopeDefinition createExactScopeDefinition();
394 340
395 /** 341 /**
396 * Returns a new object of class '<em>Multiplicity Definition</em>'. 342 * Returns a new object of class '<em>Bounded Scope Definition</em>'.
397 * <!-- begin-user-doc --> 343 * <!-- begin-user-doc -->
398 * <!-- end-user-doc --> 344 * <!-- end-user-doc -->
399 * @return a new object of class '<em>Multiplicity Definition</em>'. 345 * @return a new object of class '<em>Bounded Scope Definition</em>'.
400 * @generated 346 * @generated
401 */ 347 */
402 MultiplicityDefinition createMultiplicityDefinition(); 348 BoundedScopeDefinition createBoundedScopeDefinition();
403 349
404 /** 350 /**
405 * Returns a new object of class '<em>Boolean True</em>'. 351 * Returns a new object of class '<em>Lower Bounded Scope Definition</em>'.
406 * <!-- begin-user-doc --> 352 * <!-- begin-user-doc -->
407 * <!-- end-user-doc --> 353 * <!-- end-user-doc -->
408 * @return a new object of class '<em>Boolean True</em>'. 354 * @return a new object of class '<em>Lower Bounded Scope Definition</em>'.
409 * @generated 355 * @generated
410 */ 356 */
411 BooleanTrue createBooleanTrue(); 357 LowerBoundedScopeDefinition createLowerBoundedScopeDefinition();
412 358
413 /** 359 /**
414 * Returns a new object of class '<em>Boolean False</em>'. 360 * Returns a new object of class '<em>Objective Definition</em>'.
415 * <!-- begin-user-doc --> 361 * <!-- begin-user-doc -->
416 * <!-- end-user-doc --> 362 * <!-- end-user-doc -->
417 * @return a new object of class '<em>Boolean False</em>'. 363 * @return a new object of class '<em>Objective Definition</em>'.
418 * @generated 364 * @generated
419 */ 365 */
420 BooleanFalse createBooleanFalse(); 366 ObjectiveDefinition createObjectiveDefinition();
421 367
422 /** 368 /**
423 * Returns a new object of class '<em>True</em>'. 369 * Returns a new object of class '<em>Named Element</em>'.
424 * <!-- begin-user-doc --> 370 * <!-- begin-user-doc -->
425 * <!-- end-user-doc --> 371 * <!-- end-user-doc -->
426 * @return a new object of class '<em>True</em>'. 372 * @return a new object of class '<em>Named Element</em>'.
427 * @generated 373 * @generated
428 */ 374 */
429 True createTrue(); 375 NamedElement createNamedElement();
430 376
431 /** 377 /**
432 * Returns a new object of class '<em>False</em>'. 378 * Returns a new object of class '<em>Assertion</em>'.
433 * <!-- begin-user-doc --> 379 * <!-- begin-user-doc -->
434 * <!-- end-user-doc --> 380 * <!-- end-user-doc -->
435 * @return a new object of class '<em>False</em>'. 381 * @return a new object of class '<em>Assertion</em>'.
436 * @generated 382 * @generated
437 */ 383 */
438 False createFalse(); 384 Assertion createAssertion();
439 385
440 /** 386 /**
441 * Returns a new object of class '<em>Unknown</em>'. 387 * Returns a new object of class '<em>Disjunction</em>'.
442 * <!-- begin-user-doc --> 388 * <!-- begin-user-doc -->
443 * <!-- end-user-doc --> 389 * <!-- end-user-doc -->
444 * @return a new object of class '<em>Unknown</em>'. 390 * @return a new object of class '<em>Disjunction</em>'.
445 * @generated 391 * @generated
446 */ 392 */
447 Unknown createUnknown(); 393 Disjunction createDisjunction();
448 394
449 /** 395 /**
450 * Returns a new object of class '<em>Error</em>'. 396 * Returns a new object of class '<em>Switch</em>'.
451 * <!-- begin-user-doc --> 397 * <!-- begin-user-doc -->
452 * <!-- end-user-doc --> 398 * <!-- end-user-doc -->
453 * @return a new object of class '<em>Error</em>'. 399 * @return a new object of class '<em>Switch</em>'.
454 * @generated 400 * @generated
455 */ 401 */
456 Error createError(); 402 Switch createSwitch();
457 403
458 /** 404 /**
459 * Returns a new object of class '<em>Positive</em>'. 405 * Returns a new object of class '<em>Conjunction</em>'.
460 * <!-- begin-user-doc --> 406 * <!-- begin-user-doc -->
461 * <!-- end-user-doc --> 407 * <!-- end-user-doc -->
462 * @return a new object of class '<em>Positive</em>'. 408 * @return a new object of class '<em>Conjunction</em>'.
463 * @generated 409 * @generated
464 */ 410 */
465 Positive createPositive(); 411 Conjunction createConjunction();
466 412
467 /** 413 /**
468 * Returns a new object of class '<em>Negative</em>'. 414 * Returns a new object of class '<em>Comparison</em>'.
469 * <!-- begin-user-doc --> 415 * <!-- begin-user-doc -->
470 * <!-- end-user-doc --> 416 * <!-- end-user-doc -->
471 * @return a new object of class '<em>Negative</em>'. 417 * @return a new object of class '<em>Comparison</em>'.
472 * @generated 418 * @generated
473 */ 419 */
474 Negative createNegative(); 420 Comparison createComparison();
475 421
476 /** 422 /**
477 * Returns a new object of class '<em>Reflexive Closure</em>'. 423 * Returns a new object of class '<em>Binary Expression</em>'.
478 * <!-- begin-user-doc --> 424 * <!-- begin-user-doc -->
479 * <!-- end-user-doc --> 425 * <!-- end-user-doc -->
480 * @return a new object of class '<em>Reflexive Closure</em>'. 426 * @return a new object of class '<em>Binary Expression</em>'.
481 * @generated 427 * @generated
482 */ 428 */
483 ReflexiveClosure createReflexiveClosure(); 429 BinaryExpression createBinaryExpression();
484 430
485 /** 431 /**
486 * Returns a new object of class '<em>Irreflexive Closure</em>'. 432 * Returns a new object of class '<em>Unary Expression</em>'.
487 * <!-- begin-user-doc --> 433 * <!-- begin-user-doc -->
488 * <!-- end-user-doc --> 434 * <!-- end-user-doc -->
489 * @return a new object of class '<em>Irreflexive Closure</em>'. 435 * @return a new object of class '<em>Unary Expression</em>'.
490 * @generated 436 * @generated
491 */ 437 */
492 IrreflexiveClosure createIrreflexiveClosure(); 438 UnaryExpression createUnaryExpression();
493 439
494 /** 440 /**
495 * Returns the package supported by this factory. 441 * Returns the package supported by this factory.
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
index 9767d002..d34acdb8 100644
--- 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
@@ -1,10 +1,11 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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.EAttribute; 6import org.eclipse.emf.ecore.EAttribute;
7import org.eclipse.emf.ecore.EClass; 7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EEnum;
8import org.eclipse.emf.ecore.EPackage; 9import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.EReference; 10import org.eclipse.emf.ecore.EReference;
10 11
@@ -96,145 +97,232 @@ public interface SolverLanguagePackage extends EPackage
96 int STATEMENT = 1; 97 int STATEMENT = 1;
97 98
98 /** 99 /**
100 * The feature id for the '<em><b>Abstract</b></em>' attribute.
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 * @ordered
105 */
106 int STATEMENT__ABSTRACT = 0;
107
108 /**
109 * The feature id for the '<em><b>Name</b></em>' attribute.
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 * @ordered
114 */
115 int STATEMENT__NAME = 1;
116
117 /**
118 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 * @ordered
123 */
124 int STATEMENT__SUPERCLASSES = 2;
125
126 /**
127 * The feature id for the '<em><b>Members</b></em>' containment reference list.
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 * @ordered
132 */
133 int STATEMENT__MEMBERS = 3;
134
135 /**
99 * The number of structural features of the '<em>Statement</em>' class. 136 * The number of structural features of the '<em>Statement</em>' class.
100 * <!-- begin-user-doc --> 137 * <!-- begin-user-doc -->
101 * <!-- end-user-doc --> 138 * <!-- end-user-doc -->
102 * @generated 139 * @generated
103 * @ordered 140 * @ordered
104 */ 141 */
105 int STATEMENT_FEATURE_COUNT = 0; 142 int STATEMENT_FEATURE_COUNT = 4;
106 143
107 /** 144 /**
108 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanValueImpl <em>Boolean Value</em>}' class. 145 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class.
109 * <!-- begin-user-doc --> 146 * <!-- begin-user-doc -->
110 * <!-- end-user-doc --> 147 * <!-- end-user-doc -->
111 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanValueImpl 148 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl
112 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanValue() 149 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition()
113 * @generated 150 * @generated
114 */ 151 */
115 int BOOLEAN_VALUE = 2; 152 int PREDICATE_DEFINITION = 2;
116 153
117 /** 154 /**
118 * The number of structural features of the '<em>Boolean Value</em>' class. 155 * The feature id for the '<em><b>Abstract</b></em>' attribute.
119 * <!-- begin-user-doc --> 156 * <!-- begin-user-doc -->
120 * <!-- end-user-doc --> 157 * <!-- end-user-doc -->
121 * @generated 158 * @generated
122 * @ordered 159 * @ordered
123 */ 160 */
124 int BOOLEAN_VALUE_FEATURE_COUNT = 0; 161 int PREDICATE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
125 162
126 /** 163 /**
127 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TruthValueImpl <em>Truth Value</em>}' class. 164 * The feature id for the '<em><b>Name</b></em>' attribute.
128 * <!-- begin-user-doc --> 165 * <!-- begin-user-doc -->
129 * <!-- end-user-doc --> 166 * <!-- end-user-doc -->
130 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TruthValueImpl
131 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTruthValue()
132 * @generated 167 * @generated
168 * @ordered
133 */ 169 */
134 int TRUTH_VALUE = 3; 170 int PREDICATE_DEFINITION__NAME = STATEMENT__NAME;
135 171
136 /** 172 /**
137 * The number of structural features of the '<em>Truth Value</em>' class. 173 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
138 * <!-- begin-user-doc --> 174 * <!-- begin-user-doc -->
139 * <!-- end-user-doc --> 175 * <!-- end-user-doc -->
140 * @generated 176 * @generated
141 * @ordered 177 * @ordered
142 */ 178 */
143 int TRUTH_VALUE_FEATURE_COUNT = 0; 179 int PREDICATE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
144 180
145 /** 181 /**
146 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl <em>Interpretation</em>}' class. 182 * The feature id for the '<em><b>Members</b></em>' containment reference list.
147 * <!-- begin-user-doc --> 183 * <!-- begin-user-doc -->
148 * <!-- end-user-doc --> 184 * <!-- end-user-doc -->
149 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl
150 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterpretation()
151 * @generated 185 * @generated
186 * @ordered
152 */ 187 */
153 int INTERPRETATION = 4; 188 int PREDICATE_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
154 189
155 /** 190 /**
156 * The number of structural features of the '<em>Interpretation</em>' class. 191 * The feature id for the '<em><b>Head</b></em>' containment reference.
157 * <!-- begin-user-doc --> 192 * <!-- begin-user-doc -->
158 * <!-- end-user-doc --> 193 * <!-- end-user-doc -->
159 * @generated 194 * @generated
160 * @ordered 195 * @ordered
161 */ 196 */
162 int INTERPRETATION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0; 197 int PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
163 198
164 /** 199 /**
165 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl <em>Basic Interpretation</em>}' class. 200 * The feature id for the '<em><b>Body</b></em>' containment reference.
166 * <!-- begin-user-doc --> 201 * <!-- begin-user-doc -->
167 * <!-- end-user-doc --> 202 * <!-- end-user-doc -->
168 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl
169 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBasicInterpretation()
170 * @generated 203 * @generated
204 * @ordered
171 */ 205 */
172 int BASIC_INTERPRETATION = 5; 206 int PREDICATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1;
173 207
174 /** 208 /**
175 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 209 * The feature id for the '<em><b>Functional</b></em>' attribute.
176 * <!-- begin-user-doc --> 210 * <!-- begin-user-doc -->
177 * <!-- end-user-doc --> 211 * <!-- end-user-doc -->
178 * @generated 212 * @generated
179 * @ordered 213 * @ordered
180 */ 214 */
181 int BASIC_INTERPRETATION__SYMBOL = INTERPRETATION_FEATURE_COUNT + 0; 215 int PREDICATE_DEFINITION__FUNCTIONAL = STATEMENT_FEATURE_COUNT + 2;
182 216
183 /** 217 /**
184 * The feature id for the '<em><b>Objects</b></em>' containment reference list. 218 * The feature id for the '<em><b>Error</b></em>' attribute.
185 * <!-- begin-user-doc --> 219 * <!-- begin-user-doc -->
186 * <!-- end-user-doc --> 220 * <!-- end-user-doc -->
187 * @generated 221 * @generated
188 * @ordered 222 * @ordered
189 */ 223 */
190 int BASIC_INTERPRETATION__OBJECTS = INTERPRETATION_FEATURE_COUNT + 1; 224 int PREDICATE_DEFINITION__ERROR = STATEMENT_FEATURE_COUNT + 3;
191 225
192 /** 226 /**
193 * The feature id for the '<em><b>Value</b></em>' containment reference. 227 * The number of structural features of the '<em>Predicate Definition</em>' class.
194 * <!-- begin-user-doc --> 228 * <!-- begin-user-doc -->
195 * <!-- end-user-doc --> 229 * <!-- end-user-doc -->
196 * @generated 230 * @generated
197 * @ordered 231 * @ordered
198 */ 232 */
199 int BASIC_INTERPRETATION__VALUE = INTERPRETATION_FEATURE_COUNT + 2; 233 int PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4;
234
235 /**
236 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl <em>Unnamed Error Prediate Definition</em>}' class.
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl
240 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPrediateDefinition()
241 * @generated
242 */
243 int UNNAMED_ERROR_PREDIATE_DEFINITION = 3;
200 244
201 /** 245 /**
202 * The number of structural features of the '<em>Basic Interpretation</em>' class. 246 * The feature id for the '<em><b>Abstract</b></em>' attribute.
203 * <!-- begin-user-doc --> 247 * <!-- begin-user-doc -->
204 * <!-- end-user-doc --> 248 * <!-- end-user-doc -->
205 * @generated 249 * @generated
206 * @ordered 250 * @ordered
207 */ 251 */
208 int BASIC_INTERPRETATION_FEATURE_COUNT = INTERPRETATION_FEATURE_COUNT + 3; 252 int UNNAMED_ERROR_PREDIATE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
209 253
210 /** 254 /**
211 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl <em>Symbol</em>}' class. 255 * The feature id for the '<em><b>Name</b></em>' attribute.
212 * <!-- begin-user-doc --> 256 * <!-- begin-user-doc -->
213 * <!-- end-user-doc --> 257 * <!-- end-user-doc -->
214 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl
215 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSymbol()
216 * @generated 258 * @generated
259 * @ordered
217 */ 260 */
218 int SYMBOL = 6; 261 int UNNAMED_ERROR_PREDIATE_DEFINITION__NAME = STATEMENT__NAME;
219 262
220 /** 263 /**
221 * The number of structural features of the '<em>Symbol</em>' class. 264 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
222 * <!-- begin-user-doc --> 265 * <!-- begin-user-doc -->
223 * <!-- end-user-doc --> 266 * <!-- end-user-doc -->
224 * @generated 267 * @generated
225 * @ordered 268 * @ordered
226 */ 269 */
227 int SYMBOL_FEATURE_COUNT = 0; 270 int UNNAMED_ERROR_PREDIATE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
228 271
229 /** 272 /**
230 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl <em>Model Symbol</em>}' class. 273 * The feature id for the '<em><b>Members</b></em>' containment reference list.
231 * <!-- begin-user-doc --> 274 * <!-- begin-user-doc -->
232 * <!-- end-user-doc --> 275 * <!-- end-user-doc -->
233 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl
234 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getModelSymbol()
235 * @generated 276 * @generated
277 * @ordered
236 */ 278 */
237 int MODEL_SYMBOL = 7; 279 int UNNAMED_ERROR_PREDIATE_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
280
281 /**
282 * The feature id for the '<em><b>Argument List</b></em>' containment reference.
283 * <!-- begin-user-doc -->
284 * <!-- end-user-doc -->
285 * @generated
286 * @ordered
287 */
288 int UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 0;
289
290 /**
291 * The feature id for the '<em><b>Body</b></em>' containment reference.
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 * @ordered
296 */
297 int UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1;
298
299 /**
300 * The number of structural features of the '<em>Unnamed Error Prediate Definition</em>' class.
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 * @ordered
305 */
306 int UNNAMED_ERROR_PREDIATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
307
308 /**
309 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl <em>Default Definition</em>}' class.
310 * <!-- begin-user-doc -->
311 * <!-- end-user-doc -->
312 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl
313 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition()
314 * @generated
315 */
316 int DEFAULT_DEFINITION = 4;
317
318 /**
319 * The feature id for the '<em><b>Abstract</b></em>' attribute.
320 * <!-- begin-user-doc -->
321 * <!-- end-user-doc -->
322 * @generated
323 * @ordered
324 */
325 int DEFAULT_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
238 326
239 /** 327 /**
240 * The feature id for the '<em><b>Name</b></em>' attribute. 328 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -243,216 +331,290 @@ public interface SolverLanguagePackage extends EPackage
243 * @generated 331 * @generated
244 * @ordered 332 * @ordered
245 */ 333 */
246 int MODEL_SYMBOL__NAME = SYMBOL_FEATURE_COUNT + 0; 334 int DEFAULT_DEFINITION__NAME = STATEMENT__NAME;
335
336 /**
337 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
338 * <!-- begin-user-doc -->
339 * <!-- end-user-doc -->
340 * @generated
341 * @ordered
342 */
343 int DEFAULT_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
344
345 /**
346 * The feature id for the '<em><b>Members</b></em>' containment reference list.
347 * <!-- begin-user-doc -->
348 * <!-- end-user-doc -->
349 * @generated
350 * @ordered
351 */
352 int DEFAULT_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
353
354 /**
355 * The feature id for the '<em><b>Head</b></em>' containment reference.
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 * @ordered
360 */
361 int DEFAULT_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
362
363 /**
364 * The feature id for the '<em><b>Range</b></em>' containment reference.
365 * <!-- begin-user-doc -->
366 * <!-- end-user-doc -->
367 * @generated
368 * @ordered
369 */
370 int DEFAULT_DEFINITION__RANGE = STATEMENT_FEATURE_COUNT + 1;
247 371
248 /** 372 /**
249 * The number of structural features of the '<em>Model Symbol</em>' class. 373 * The number of structural features of the '<em>Default Definition</em>' class.
250 * <!-- begin-user-doc --> 374 * <!-- begin-user-doc -->
251 * <!-- end-user-doc --> 375 * <!-- end-user-doc -->
252 * @generated 376 * @generated
253 * @ordered 377 * @ordered
254 */ 378 */
255 int MODEL_SYMBOL_FEATURE_COUNT = SYMBOL_FEATURE_COUNT + 1; 379 int DEFAULT_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
380
381 /**
382 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl <em>Extern Predicate Definition</em>}' class.
383 * <!-- begin-user-doc -->
384 * <!-- end-user-doc -->
385 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl
386 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition()
387 * @generated
388 */
389 int EXTERN_PREDICATE_DEFINITION = 5;
256 390
257 /** 391 /**
258 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PartialitySymbolImpl <em>Partiality Symbol</em>}' class. 392 * The feature id for the '<em><b>Abstract</b></em>' attribute.
259 * <!-- begin-user-doc --> 393 * <!-- begin-user-doc -->
260 * <!-- end-user-doc --> 394 * <!-- end-user-doc -->
261 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PartialitySymbolImpl
262 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPartialitySymbol()
263 * @generated 395 * @generated
396 * @ordered
264 */ 397 */
265 int PARTIALITY_SYMBOL = 8; 398 int EXTERN_PREDICATE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
266 399
267 /** 400 /**
268 * The number of structural features of the '<em>Partiality Symbol</em>' class. 401 * The feature id for the '<em><b>Name</b></em>' attribute.
269 * <!-- begin-user-doc --> 402 * <!-- begin-user-doc -->
270 * <!-- end-user-doc --> 403 * <!-- end-user-doc -->
271 * @generated 404 * @generated
272 * @ordered 405 * @ordered
273 */ 406 */
274 int PARTIALITY_SYMBOL_FEATURE_COUNT = SYMBOL_FEATURE_COUNT + 0; 407 int EXTERN_PREDICATE_DEFINITION__NAME = STATEMENT__NAME;
275 408
276 /** 409 /**
277 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExistSymbolImpl <em>Exist Symbol</em>}' class. 410 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
278 * <!-- begin-user-doc --> 411 * <!-- begin-user-doc -->
279 * <!-- end-user-doc --> 412 * <!-- end-user-doc -->
280 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExistSymbolImpl
281 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExistSymbol()
282 * @generated 413 * @generated
414 * @ordered
283 */ 415 */
284 int EXIST_SYMBOL = 9; 416 int EXTERN_PREDICATE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
285 417
286 /** 418 /**
287 * The number of structural features of the '<em>Exist Symbol</em>' class. 419 * The feature id for the '<em><b>Members</b></em>' containment reference list.
288 * <!-- begin-user-doc --> 420 * <!-- begin-user-doc -->
289 * <!-- end-user-doc --> 421 * <!-- end-user-doc -->
290 * @generated 422 * @generated
291 * @ordered 423 * @ordered
292 */ 424 */
293 int EXIST_SYMBOL_FEATURE_COUNT = PARTIALITY_SYMBOL_FEATURE_COUNT + 0; 425 int EXTERN_PREDICATE_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
294 426
295 /** 427 /**
296 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EqualsSymbolImpl <em>Equals Symbol</em>}' class. 428 * The feature id for the '<em><b>Head</b></em>' containment reference.
297 * <!-- begin-user-doc --> 429 * <!-- begin-user-doc -->
298 * <!-- end-user-doc --> 430 * <!-- end-user-doc -->
299 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EqualsSymbolImpl
300 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEqualsSymbol()
301 * @generated 431 * @generated
432 * @ordered
302 */ 433 */
303 int EQUALS_SYMBOL = 10; 434 int EXTERN_PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
304 435
305 /** 436 /**
306 * The number of structural features of the '<em>Equals Symbol</em>' class. 437 * The number of structural features of the '<em>Extern Predicate Definition</em>' class.
307 * <!-- begin-user-doc --> 438 * <!-- begin-user-doc -->
308 * <!-- end-user-doc --> 439 * <!-- end-user-doc -->
309 * @generated 440 * @generated
310 * @ordered 441 * @ordered
311 */ 442 */
312 int EQUALS_SYMBOL_FEATURE_COUNT = PARTIALITY_SYMBOL_FEATURE_COUNT + 0; 443 int EXTERN_PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1;
313 444
314 /** 445 /**
315 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DataSymbolImpl <em>Data Symbol</em>}' class. 446 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl <em>Metric Definition</em>}' class.
316 * <!-- begin-user-doc --> 447 * <!-- begin-user-doc -->
317 * <!-- end-user-doc --> 448 * <!-- end-user-doc -->
318 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DataSymbolImpl 449 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl
319 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDataSymbol() 450 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition()
320 * @generated 451 * @generated
321 */ 452 */
322 int DATA_SYMBOL = 11; 453 int METRIC_DEFINITION = 6;
323 454
324 /** 455 /**
325 * The number of structural features of the '<em>Data Symbol</em>' class. 456 * The feature id for the '<em><b>Abstract</b></em>' attribute.
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @generated
460 * @ordered
461 */
462 int METRIC_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
463
464 /**
465 * The feature id for the '<em><b>Name</b></em>' attribute.
326 * <!-- begin-user-doc --> 466 * <!-- begin-user-doc -->
327 * <!-- end-user-doc --> 467 * <!-- end-user-doc -->
328 * @generated 468 * @generated
329 * @ordered 469 * @ordered
330 */ 470 */
331 int DATA_SYMBOL_FEATURE_COUNT = SYMBOL_FEATURE_COUNT + 0; 471 int METRIC_DEFINITION__NAME = STATEMENT__NAME;
332 472
333 /** 473 /**
334 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanSymbolImpl <em>Boolean Symbol</em>}' class. 474 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
335 * <!-- begin-user-doc --> 475 * <!-- begin-user-doc -->
336 * <!-- end-user-doc --> 476 * <!-- end-user-doc -->
337 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanSymbolImpl
338 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanSymbol()
339 * @generated 477 * @generated
478 * @ordered
340 */ 479 */
341 int BOOLEAN_SYMBOL = 12; 480 int METRIC_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
342 481
343 /** 482 /**
344 * The number of structural features of the '<em>Boolean Symbol</em>' class. 483 * The feature id for the '<em><b>Members</b></em>' containment reference list.
345 * <!-- begin-user-doc --> 484 * <!-- begin-user-doc -->
346 * <!-- end-user-doc --> 485 * <!-- end-user-doc -->
347 * @generated 486 * @generated
348 * @ordered 487 * @ordered
349 */ 488 */
350 int BOOLEAN_SYMBOL_FEATURE_COUNT = DATA_SYMBOL_FEATURE_COUNT + 0; 489 int METRIC_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
351 490
352 /** 491 /**
353 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntegerSymbolImpl <em>Integer Symbol</em>}' class. 492 * The feature id for the '<em><b>Head</b></em>' containment reference.
354 * <!-- begin-user-doc --> 493 * <!-- begin-user-doc -->
355 * <!-- end-user-doc --> 494 * <!-- end-user-doc -->
356 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntegerSymbolImpl
357 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntegerSymbol()
358 * @generated 495 * @generated
496 * @ordered
359 */ 497 */
360 int INTEGER_SYMBOL = 13; 498 int METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
361 499
362 /** 500 /**
363 * The number of structural features of the '<em>Integer Symbol</em>' class. 501 * The feature id for the '<em><b>Body</b></em>' containment reference.
364 * <!-- begin-user-doc --> 502 * <!-- begin-user-doc -->
365 * <!-- end-user-doc --> 503 * <!-- end-user-doc -->
366 * @generated 504 * @generated
367 * @ordered 505 * @ordered
368 */ 506 */
369 int INTEGER_SYMBOL_FEATURE_COUNT = DATA_SYMBOL_FEATURE_COUNT + 0; 507 int METRIC_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1;
370 508
371 /** 509 /**
372 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealSymbolImpl <em>Real Symbol</em>}' class. 510 * The feature id for the '<em><b>Type</b></em>' attribute.
373 * <!-- begin-user-doc --> 511 * <!-- begin-user-doc -->
374 * <!-- end-user-doc --> 512 * <!-- end-user-doc -->
375 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealSymbolImpl
376 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealSymbol()
377 * @generated 513 * @generated
514 * @ordered
378 */ 515 */
379 int REAL_SYMBOL = 14; 516 int METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 2;
380 517
381 /** 518 /**
382 * The number of structural features of the '<em>Real Symbol</em>' class. 519 * The number of structural features of the '<em>Metric Definition</em>' class.
383 * <!-- begin-user-doc --> 520 * <!-- begin-user-doc -->
384 * <!-- end-user-doc --> 521 * <!-- end-user-doc -->
385 * @generated 522 * @generated
386 * @ordered 523 * @ordered
387 */ 524 */
388 int REAL_SYMBOL_FEATURE_COUNT = DATA_SYMBOL_FEATURE_COUNT + 0; 525 int METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3;
389 526
390 /** 527 /**
391 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringSymbolImpl <em>String Symbol</em>}' class. 528 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl <em>Extern Metric Definition</em>}' class.
392 * <!-- begin-user-doc --> 529 * <!-- begin-user-doc -->
393 * <!-- end-user-doc --> 530 * <!-- end-user-doc -->
394 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringSymbolImpl 531 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl
395 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringSymbol() 532 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternMetricDefinition()
396 * @generated 533 * @generated
397 */ 534 */
398 int STRING_SYMBOL = 15; 535 int EXTERN_METRIC_DEFINITION = 7;
399 536
400 /** 537 /**
401 * The number of structural features of the '<em>String Symbol</em>' class. 538 * The feature id for the '<em><b>Abstract</b></em>' attribute.
539 * <!-- begin-user-doc -->
540 * <!-- end-user-doc -->
541 * @generated
542 * @ordered
543 */
544 int EXTERN_METRIC_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
545
546 /**
547 * The feature id for the '<em><b>Name</b></em>' attribute.
402 * <!-- begin-user-doc --> 548 * <!-- begin-user-doc -->
403 * <!-- end-user-doc --> 549 * <!-- end-user-doc -->
404 * @generated 550 * @generated
405 * @ordered 551 * @ordered
406 */ 552 */
407 int STRING_SYMBOL_FEATURE_COUNT = DATA_SYMBOL_FEATURE_COUNT + 0; 553 int EXTERN_METRIC_DEFINITION__NAME = STATEMENT__NAME;
408 554
409 /** 555 /**
410 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComplexObjectImpl <em>Complex Object</em>}' class. 556 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
411 * <!-- begin-user-doc --> 557 * <!-- begin-user-doc -->
412 * <!-- end-user-doc --> 558 * <!-- end-user-doc -->
413 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComplexObjectImpl
414 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComplexObject()
415 * @generated 559 * @generated
560 * @ordered
416 */ 561 */
417 int COMPLEX_OBJECT = 16; 562 int EXTERN_METRIC_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
418 563
419 /** 564 /**
420 * The number of structural features of the '<em>Complex Object</em>' class. 565 * The feature id for the '<em><b>Members</b></em>' containment reference list.
421 * <!-- begin-user-doc --> 566 * <!-- begin-user-doc -->
422 * <!-- end-user-doc --> 567 * <!-- end-user-doc -->
423 * @generated 568 * @generated
424 * @ordered 569 * @ordered
425 */ 570 */
426 int COMPLEX_OBJECT_FEATURE_COUNT = 0; 571 int EXTERN_METRIC_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
427 572
428 /** 573 /**
429 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectImpl <em>Object</em>}' class. 574 * The feature id for the '<em><b>Type</b></em>' attribute.
430 * <!-- begin-user-doc --> 575 * <!-- begin-user-doc -->
431 * <!-- end-user-doc --> 576 * <!-- end-user-doc -->
432 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectImpl
433 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObject()
434 * @generated 577 * @generated
578 * @ordered
435 */ 579 */
436 int OBJECT = 17; 580 int EXTERN_METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0;
437 581
438 /** 582 /**
439 * The number of structural features of the '<em>Object</em>' class. 583 * The feature id for the '<em><b>Head</b></em>' containment reference.
440 * <!-- begin-user-doc --> 584 * <!-- begin-user-doc -->
441 * <!-- end-user-doc --> 585 * <!-- end-user-doc -->
442 * @generated 586 * @generated
443 * @ordered 587 * @ordered
444 */ 588 */
445 int OBJECT_FEATURE_COUNT = COMPLEX_OBJECT_FEATURE_COUNT + 0; 589 int EXTERN_METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 1;
446 590
447 /** 591 /**
448 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl <em>Named Object</em>}' class. 592 * The number of structural features of the '<em>Extern Metric Definition</em>' class.
449 * <!-- begin-user-doc --> 593 * <!-- begin-user-doc -->
450 * <!-- end-user-doc --> 594 * <!-- end-user-doc -->
451 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl
452 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedObject()
453 * @generated 595 * @generated
596 * @ordered
454 */ 597 */
455 int NAMED_OBJECT = 18; 598 int EXTERN_METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
599
600 /**
601 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl <em>Expression</em>}' class.
602 * <!-- begin-user-doc -->
603 * <!-- end-user-doc -->
604 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl
605 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression()
606 * @generated
607 */
608 int EXPRESSION = 8;
609
610 /**
611 * The feature id for the '<em><b>Abstract</b></em>' attribute.
612 * <!-- begin-user-doc -->
613 * <!-- end-user-doc -->
614 * @generated
615 * @ordered
616 */
617 int EXPRESSION__ABSTRACT = STATEMENT__ABSTRACT;
456 618
457 /** 619 /**
458 * The feature id for the '<em><b>Name</b></em>' attribute. 620 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -461,26 +623,53 @@ public interface SolverLanguagePackage extends EPackage
461 * @generated 623 * @generated
462 * @ordered 624 * @ordered
463 */ 625 */
464 int NAMED_OBJECT__NAME = OBJECT_FEATURE_COUNT + 0; 626 int EXPRESSION__NAME = STATEMENT__NAME;
627
628 /**
629 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
630 * <!-- begin-user-doc -->
631 * <!-- end-user-doc -->
632 * @generated
633 * @ordered
634 */
635 int EXPRESSION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
465 636
466 /** 637 /**
467 * The number of structural features of the '<em>Named Object</em>' class. 638 * The feature id for the '<em><b>Members</b></em>' containment reference list.
468 * <!-- begin-user-doc --> 639 * <!-- begin-user-doc -->
469 * <!-- end-user-doc --> 640 * <!-- end-user-doc -->
470 * @generated 641 * @generated
471 * @ordered 642 * @ordered
472 */ 643 */
473 int NAMED_OBJECT_FEATURE_COUNT = OBJECT_FEATURE_COUNT + 1; 644 int EXPRESSION__MEMBERS = STATEMENT__MEMBERS;
474 645
475 /** 646 /**
476 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl <em>Unnamed Object</em>}' class. 647 * The number of structural features of the '<em>Expression</em>' class.
477 * <!-- begin-user-doc --> 648 * <!-- begin-user-doc -->
478 * <!-- end-user-doc --> 649 * <!-- end-user-doc -->
479 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl
480 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedObject()
481 * @generated 650 * @generated
651 * @ordered
482 */ 652 */
483 int UNNAMED_OBJECT = 19; 653 int EXPRESSION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0;
654
655 /**
656 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl <em>If Else</em>}' class.
657 * <!-- begin-user-doc -->
658 * <!-- end-user-doc -->
659 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl
660 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse()
661 * @generated
662 */
663 int IF_ELSE = 9;
664
665 /**
666 * The feature id for the '<em><b>Abstract</b></em>' attribute.
667 * <!-- begin-user-doc -->
668 * <!-- end-user-doc -->
669 * @generated
670 * @ordered
671 */
672 int IF_ELSE__ABSTRACT = EXPRESSION__ABSTRACT;
484 673
485 /** 674 /**
486 * The feature id for the '<em><b>Name</b></em>' attribute. 675 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -489,360 +678,667 @@ public interface SolverLanguagePackage extends EPackage
489 * @generated 678 * @generated
490 * @ordered 679 * @ordered
491 */ 680 */
492 int UNNAMED_OBJECT__NAME = OBJECT_FEATURE_COUNT + 0; 681 int IF_ELSE__NAME = EXPRESSION__NAME;
493 682
494 /** 683 /**
495 * The number of structural features of the '<em>Unnamed Object</em>' class. 684 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
496 * <!-- begin-user-doc --> 685 * <!-- begin-user-doc -->
497 * <!-- end-user-doc --> 686 * <!-- end-user-doc -->
498 * @generated 687 * @generated
499 * @ordered 688 * @ordered
500 */ 689 */
501 int UNNAMED_OBJECT_FEATURE_COUNT = OBJECT_FEATURE_COUNT + 1; 690 int IF_ELSE__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
502 691
503 /** 692 /**
504 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DataObjectImpl <em>Data Object</em>}' class. 693 * The feature id for the '<em><b>Members</b></em>' containment reference list.
505 * <!-- begin-user-doc --> 694 * <!-- begin-user-doc -->
506 * <!-- end-user-doc --> 695 * <!-- end-user-doc -->
507 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DataObjectImpl
508 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDataObject()
509 * @generated 696 * @generated
697 * @ordered
510 */ 698 */
511 int DATA_OBJECT = 20; 699 int IF_ELSE__MEMBERS = EXPRESSION__MEMBERS;
512 700
513 /** 701 /**
514 * The number of structural features of the '<em>Data Object</em>' class. 702 * The feature id for the '<em><b>Condition</b></em>' containment reference.
515 * <!-- begin-user-doc --> 703 * <!-- begin-user-doc -->
516 * <!-- end-user-doc --> 704 * <!-- end-user-doc -->
517 * @generated 705 * @generated
518 * @ordered 706 * @ordered
519 */ 707 */
520 int DATA_OBJECT_FEATURE_COUNT = OBJECT_FEATURE_COUNT + 0; 708 int IF_ELSE__CONDITION = EXPRESSION_FEATURE_COUNT + 0;
521 709
522 /** 710 /**
523 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl <em>Boolean Object</em>}' class. 711 * The feature id for the '<em><b>Then</b></em>' containment reference.
524 * <!-- begin-user-doc --> 712 * <!-- begin-user-doc -->
525 * <!-- end-user-doc --> 713 * <!-- end-user-doc -->
526 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl
527 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanObject()
528 * @generated 714 * @generated
715 * @ordered
529 */ 716 */
530 int BOOLEAN_OBJECT = 21; 717 int IF_ELSE__THEN = EXPRESSION_FEATURE_COUNT + 1;
531 718
532 /** 719 /**
533 * The feature id for the '<em><b>Value</b></em>' containment reference. 720 * The feature id for the '<em><b>Else</b></em>' containment reference.
534 * <!-- begin-user-doc --> 721 * <!-- begin-user-doc -->
535 * <!-- end-user-doc --> 722 * <!-- end-user-doc -->
536 * @generated 723 * @generated
537 * @ordered 724 * @ordered
538 */ 725 */
539 int BOOLEAN_OBJECT__VALUE = DATA_OBJECT_FEATURE_COUNT + 0; 726 int IF_ELSE__ELSE = EXPRESSION_FEATURE_COUNT + 2;
540 727
541 /** 728 /**
542 * The number of structural features of the '<em>Boolean Object</em>' class. 729 * The number of structural features of the '<em>If Else</em>' class.
543 * <!-- begin-user-doc --> 730 * <!-- begin-user-doc -->
544 * <!-- end-user-doc --> 731 * <!-- end-user-doc -->
545 * @generated 732 * @generated
546 * @ordered 733 * @ordered
547 */ 734 */
548 int BOOLEAN_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 1; 735 int IF_ELSE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
549 736
550 /** 737 /**
551 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl <em>Int Object</em>}' class. 738 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl <em>Case</em>}' class.
552 * <!-- begin-user-doc --> 739 * <!-- begin-user-doc -->
553 * <!-- end-user-doc --> 740 * <!-- end-user-doc -->
554 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl 741 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl
555 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntObject() 742 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase()
556 * @generated 743 * @generated
557 */ 744 */
558 int INT_OBJECT = 22; 745 int CASE = 10;
559 746
560 /** 747 /**
561 * The feature id for the '<em><b>Value</b></em>' attribute. 748 * The feature id for the '<em><b>Abstract</b></em>' attribute.
562 * <!-- begin-user-doc --> 749 * <!-- begin-user-doc -->
563 * <!-- end-user-doc --> 750 * <!-- end-user-doc -->
564 * @generated 751 * @generated
565 * @ordered 752 * @ordered
566 */ 753 */
567 int INT_OBJECT__VALUE = DATA_OBJECT_FEATURE_COUNT + 0; 754 int CASE__ABSTRACT = EXPRESSION__ABSTRACT;
568 755
569 /** 756 /**
570 * The number of structural features of the '<em>Int Object</em>' class. 757 * The feature id for the '<em><b>Name</b></em>' attribute.
571 * <!-- begin-user-doc --> 758 * <!-- begin-user-doc -->
572 * <!-- end-user-doc --> 759 * <!-- end-user-doc -->
573 * @generated 760 * @generated
574 * @ordered 761 * @ordered
575 */ 762 */
576 int INT_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 1; 763 int CASE__NAME = EXPRESSION__NAME;
577 764
578 /** 765 /**
579 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl <em>Real Object</em>}' class. 766 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
580 * <!-- begin-user-doc --> 767 * <!-- begin-user-doc -->
581 * <!-- end-user-doc --> 768 * <!-- end-user-doc -->
582 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl
583 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealObject()
584 * @generated 769 * @generated
770 * @ordered
585 */ 771 */
586 int REAL_OBJECT = 23; 772 int CASE__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
587 773
588 /** 774 /**
589 * The feature id for the '<em><b>Value</b></em>' attribute. 775 * The feature id for the '<em><b>Members</b></em>' containment reference list.
590 * <!-- begin-user-doc --> 776 * <!-- begin-user-doc -->
591 * <!-- end-user-doc --> 777 * <!-- end-user-doc -->
592 * @generated 778 * @generated
593 * @ordered 779 * @ordered
594 */ 780 */
595 int REAL_OBJECT__VALUE = DATA_OBJECT_FEATURE_COUNT + 0; 781 int CASE__MEMBERS = EXPRESSION__MEMBERS;
596 782
597 /** 783 /**
598 * The number of structural features of the '<em>Real Object</em>' class. 784 * The feature id for the '<em><b>Condition</b></em>' containment reference.
599 * <!-- begin-user-doc --> 785 * <!-- begin-user-doc -->
600 * <!-- end-user-doc --> 786 * <!-- end-user-doc -->
601 * @generated 787 * @generated
602 * @ordered 788 * @ordered
603 */ 789 */
604 int REAL_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 1; 790 int CASE__CONDITION = EXPRESSION_FEATURE_COUNT + 0;
605 791
606 /** 792 /**
607 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl <em>String Object</em>}' class. 793 * The feature id for the '<em><b>Body</b></em>' containment reference.
608 * <!-- begin-user-doc --> 794 * <!-- begin-user-doc -->
609 * <!-- end-user-doc --> 795 * <!-- end-user-doc -->
610 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl
611 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringObject()
612 * @generated 796 * @generated
797 * @ordered
613 */ 798 */
614 int STRING_OBJECT = 24; 799 int CASE__BODY = EXPRESSION_FEATURE_COUNT + 1;
615 800
616 /** 801 /**
617 * The feature id for the '<em><b>Value</b></em>' attribute. 802 * The number of structural features of the '<em>Case</em>' class.
618 * <!-- begin-user-doc --> 803 * <!-- begin-user-doc -->
619 * <!-- end-user-doc --> 804 * <!-- end-user-doc -->
620 * @generated 805 * @generated
621 * @ordered 806 * @ordered
622 */ 807 */
623 int STRING_OBJECT__VALUE = DATA_OBJECT_FEATURE_COUNT + 0; 808 int CASE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
624 809
625 /** 810 /**
626 * The number of structural features of the '<em>String Object</em>' class. 811 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl <em>Count</em>}' class.
812 * <!-- begin-user-doc -->
813 * <!-- end-user-doc -->
814 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl
815 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCount()
816 * @generated
817 */
818 int COUNT = 11;
819
820 /**
821 * The feature id for the '<em><b>Abstract</b></em>' attribute.
822 * <!-- begin-user-doc -->
823 * <!-- end-user-doc -->
824 * @generated
825 * @ordered
826 */
827 int COUNT__ABSTRACT = EXPRESSION__ABSTRACT;
828
829 /**
830 * The feature id for the '<em><b>Name</b></em>' attribute.
627 * <!-- begin-user-doc --> 831 * <!-- begin-user-doc -->
628 * <!-- end-user-doc --> 832 * <!-- end-user-doc -->
629 * @generated 833 * @generated
630 * @ordered 834 * @ordered
631 */ 835 */
632 int STRING_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 1; 836 int COUNT__NAME = EXPRESSION__NAME;
633 837
634 /** 838 /**
635 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl <em>Predicate</em>}' class. 839 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
636 * <!-- begin-user-doc --> 840 * <!-- begin-user-doc -->
637 * <!-- end-user-doc --> 841 * <!-- end-user-doc -->
638 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl
639 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicate()
640 * @generated 842 * @generated
843 * @ordered
641 */ 844 */
642 int PREDICATE = 25; 845 int COUNT__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
643 846
644 /** 847 /**
645 * The feature id for the '<em><b>Is Error</b></em>' attribute. 848 * The feature id for the '<em><b>Members</b></em>' containment reference list.
646 * <!-- begin-user-doc --> 849 * <!-- begin-user-doc -->
647 * <!-- end-user-doc --> 850 * <!-- end-user-doc -->
648 * @generated 851 * @generated
649 * @ordered 852 * @ordered
650 */ 853 */
651 int PREDICATE__IS_ERROR = STATEMENT_FEATURE_COUNT + 0; 854 int COUNT__MEMBERS = EXPRESSION__MEMBERS;
652 855
653 /** 856 /**
654 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 857 * The feature id for the '<em><b>Body</b></em>' containment reference.
655 * <!-- begin-user-doc --> 858 * <!-- begin-user-doc -->
656 * <!-- end-user-doc --> 859 * <!-- end-user-doc -->
657 * @generated 860 * @generated
658 * @ordered 861 * @ordered
659 */ 862 */
660 int PREDICATE__SYMBOL = STATEMENT_FEATURE_COUNT + 1; 863 int COUNT__BODY = EXPRESSION_FEATURE_COUNT + 0;
661 864
662 /** 865 /**
663 * The feature id for the '<em><b>Parameters</b></em>' containment reference list. 866 * The number of structural features of the '<em>Count</em>' class.
664 * <!-- begin-user-doc --> 867 * <!-- begin-user-doc -->
665 * <!-- end-user-doc --> 868 * <!-- end-user-doc -->
666 * @generated 869 * @generated
667 * @ordered 870 * @ordered
668 */ 871 */
669 int PREDICATE__PARAMETERS = STATEMENT_FEATURE_COUNT + 2; 872 int COUNT_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
873
874 /**
875 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl <em>Aggregation</em>}' class.
876 * <!-- begin-user-doc -->
877 * <!-- end-user-doc -->
878 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl
879 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation()
880 * @generated
881 */
882 int AGGREGATION = 12;
670 883
671 /** 884 /**
672 * The feature id for the '<em><b>Bodies</b></em>' containment reference list. 885 * The feature id for the '<em><b>Abstract</b></em>' attribute.
673 * <!-- begin-user-doc --> 886 * <!-- begin-user-doc -->
674 * <!-- end-user-doc --> 887 * <!-- end-user-doc -->
675 * @generated 888 * @generated
676 * @ordered 889 * @ordered
677 */ 890 */
678 int PREDICATE__BODIES = STATEMENT_FEATURE_COUNT + 3; 891 int AGGREGATION__ABSTRACT = EXPRESSION__ABSTRACT;
679 892
680 /** 893 /**
681 * The number of structural features of the '<em>Predicate</em>' class. 894 * The feature id for the '<em><b>Name</b></em>' attribute.
682 * <!-- begin-user-doc --> 895 * <!-- begin-user-doc -->
683 * <!-- end-user-doc --> 896 * <!-- end-user-doc -->
684 * @generated 897 * @generated
685 * @ordered 898 * @ordered
686 */ 899 */
687 int PREDICATE_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4; 900 int AGGREGATION__NAME = EXPRESSION__NAME;
688 901
689 /** 902 /**
690 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl <em>Parameter</em>}' class. 903 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
691 * <!-- begin-user-doc --> 904 * <!-- begin-user-doc -->
692 * <!-- end-user-doc --> 905 * <!-- end-user-doc -->
693 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl
694 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getParameter()
695 * @generated 906 * @generated
907 * @ordered
696 */ 908 */
697 int PARAMETER = 26; 909 int AGGREGATION__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
698 910
699 /** 911 /**
700 * The feature id for the '<em><b>Variable</b></em>' containment reference. 912 * The feature id for the '<em><b>Members</b></em>' containment reference list.
701 * <!-- begin-user-doc --> 913 * <!-- begin-user-doc -->
702 * <!-- end-user-doc --> 914 * <!-- end-user-doc -->
703 * @generated 915 * @generated
704 * @ordered 916 * @ordered
705 */ 917 */
706 int PARAMETER__VARIABLE = 0; 918 int AGGREGATION__MEMBERS = EXPRESSION__MEMBERS;
707 919
708 /** 920 /**
709 * The feature id for the '<em><b>Type</b></em>' containment reference. 921 * The feature id for the '<em><b>Op</b></em>' attribute.
710 * <!-- begin-user-doc --> 922 * <!-- begin-user-doc -->
711 * <!-- end-user-doc --> 923 * <!-- end-user-doc -->
712 * @generated 924 * @generated
713 * @ordered 925 * @ordered
714 */ 926 */
715 int PARAMETER__TYPE = 1; 927 int AGGREGATION__OP = EXPRESSION_FEATURE_COUNT + 0;
716 928
717 /** 929 /**
718 * The number of structural features of the '<em>Parameter</em>' class. 930 * The feature id for the '<em><b>Body</b></em>' containment reference.
719 * <!-- begin-user-doc --> 931 * <!-- begin-user-doc -->
720 * <!-- end-user-doc --> 932 * <!-- end-user-doc -->
721 * @generated 933 * @generated
722 * @ordered 934 * @ordered
723 */ 935 */
724 int PARAMETER_FEATURE_COUNT = 2; 936 int AGGREGATION__BODY = EXPRESSION_FEATURE_COUNT + 1;
725 937
726 /** 938 /**
727 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl <em>Pattern Body</em>}' class. 939 * The feature id for the '<em><b>Condition</b></em>' containment reference.
728 * <!-- begin-user-doc --> 940 * <!-- begin-user-doc -->
729 * <!-- end-user-doc --> 941 * <!-- end-user-doc -->
730 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl
731 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPatternBody()
732 * @generated 942 * @generated
943 * @ordered
733 */ 944 */
734 int PATTERN_BODY = 27; 945 int AGGREGATION__CONDITION = EXPRESSION_FEATURE_COUNT + 2;
735 946
736 /** 947 /**
737 * The feature id for the '<em><b>Constraints</b></em>' containment reference list. 948 * The number of structural features of the '<em>Aggregation</em>' class.
738 * <!-- begin-user-doc --> 949 * <!-- begin-user-doc -->
739 * <!-- end-user-doc --> 950 * <!-- end-user-doc -->
740 * @generated 951 * @generated
741 * @ordered 952 * @ordered
742 */ 953 */
743 int PATTERN_BODY__CONSTRAINTS = 0; 954 int AGGREGATION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
744 955
745 /** 956 /**
746 * The number of structural features of the '<em>Pattern Body</em>' class. 957 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl <em>Call</em>}' class.
958 * <!-- begin-user-doc -->
959 * <!-- end-user-doc -->
960 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl
961 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCall()
962 * @generated
963 */
964 int CALL = 13;
965
966 /**
967 * The feature id for the '<em><b>Abstract</b></em>' attribute.
747 * <!-- begin-user-doc --> 968 * <!-- begin-user-doc -->
748 * <!-- end-user-doc --> 969 * <!-- end-user-doc -->
749 * @generated 970 * @generated
750 * @ordered 971 * @ordered
751 */ 972 */
752 int PATTERN_BODY_FEATURE_COUNT = 1; 973 int CALL__ABSTRACT = EXPRESSION__ABSTRACT;
753 974
754 /** 975 /**
755 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PolarityImpl <em>Polarity</em>}' class. 976 * The feature id for the '<em><b>Name</b></em>' attribute.
756 * <!-- begin-user-doc --> 977 * <!-- begin-user-doc -->
757 * <!-- end-user-doc --> 978 * <!-- end-user-doc -->
758 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PolarityImpl
759 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPolarity()
760 * @generated 979 * @generated
980 * @ordered
761 */ 981 */
762 int POLARITY = 28; 982 int CALL__NAME = EXPRESSION__NAME;
763 983
764 /** 984 /**
765 * The number of structural features of the '<em>Polarity</em>' class. 985 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
766 * <!-- begin-user-doc --> 986 * <!-- begin-user-doc -->
767 * <!-- end-user-doc --> 987 * <!-- end-user-doc -->
768 * @generated 988 * @generated
769 * @ordered 989 * @ordered
770 */ 990 */
771 int POLARITY_FEATURE_COUNT = 0; 991 int CALL__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
772 992
773 /** 993 /**
774 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl <em>Constraint</em>}' class. 994 * The feature id for the '<em><b>Members</b></em>' containment reference list.
775 * <!-- begin-user-doc --> 995 * <!-- begin-user-doc -->
776 * <!-- end-user-doc --> 996 * <!-- end-user-doc -->
777 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl
778 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConstraint()
779 * @generated 997 * @generated
998 * @ordered
780 */ 999 */
781 int CONSTRAINT = 29; 1000 int CALL__MEMBERS = EXPRESSION__MEMBERS;
782 1001
783 /** 1002 /**
784 * The feature id for the '<em><b>Polarity</b></em>' containment reference. 1003 * The feature id for the '<em><b>Functor</b></em>' containment reference.
785 * <!-- begin-user-doc --> 1004 * <!-- begin-user-doc -->
786 * <!-- end-user-doc --> 1005 * <!-- end-user-doc -->
787 * @generated 1006 * @generated
788 * @ordered 1007 * @ordered
789 */ 1008 */
790 int CONSTRAINT__POLARITY = 0; 1009 int CALL__FUNCTOR = EXPRESSION_FEATURE_COUNT + 0;
791 1010
792 /** 1011 /**
793 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 1012 * The feature id for the '<em><b>Argument List</b></em>' containment reference.
794 * <!-- begin-user-doc --> 1013 * <!-- begin-user-doc -->
795 * <!-- end-user-doc --> 1014 * <!-- end-user-doc -->
796 * @generated 1015 * @generated
797 * @ordered 1016 * @ordered
798 */ 1017 */
799 int CONSTRAINT__SYMBOL = 1; 1018 int CALL__ARGUMENT_LIST = EXPRESSION_FEATURE_COUNT + 1;
800 1019
801 /** 1020 /**
802 * The feature id for the '<em><b>Params</b></em>' containment reference list. 1021 * The feature id for the '<em><b>Transitive Closure</b></em>' attribute.
803 * <!-- begin-user-doc --> 1022 * <!-- begin-user-doc -->
804 * <!-- end-user-doc --> 1023 * <!-- end-user-doc -->
805 * @generated 1024 * @generated
806 * @ordered 1025 * @ordered
807 */ 1026 */
808 int CONSTRAINT__PARAMS = 2; 1027 int CALL__TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 2;
809 1028
810 /** 1029 /**
811 * The feature id for the '<em><b>Closure Type</b></em>' containment reference. 1030 * The feature id for the '<em><b>Reflexive Transitive Closure</b></em>' attribute.
812 * <!-- begin-user-doc --> 1031 * <!-- begin-user-doc -->
813 * <!-- end-user-doc --> 1032 * <!-- end-user-doc -->
814 * @generated 1033 * @generated
815 * @ordered 1034 * @ordered
816 */ 1035 */
817 int CONSTRAINT__CLOSURE_TYPE = 3; 1036 int CALL__REFLEXIVE_TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 3;
818 1037
819 /** 1038 /**
820 * The number of structural features of the '<em>Constraint</em>' class. 1039 * The number of structural features of the '<em>Call</em>' class.
821 * <!-- begin-user-doc --> 1040 * <!-- begin-user-doc -->
822 * <!-- end-user-doc --> 1041 * <!-- end-user-doc -->
823 * @generated 1042 * @generated
824 * @ordered 1043 * @ordered
825 */ 1044 */
826 int CONSTRAINT_FEATURE_COUNT = 4; 1045 int CALL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4;
1046
1047 /**
1048 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl <em>Argument List</em>}' class.
1049 * <!-- begin-user-doc -->
1050 * <!-- end-user-doc -->
1051 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl
1052 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgumentList()
1053 * @generated
1054 */
1055 int ARGUMENT_LIST = 14;
827 1056
828 /** 1057 /**
829 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClosureTypeImpl <em>Closure Type</em>}' class. 1058 * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
830 * <!-- begin-user-doc --> 1059 * <!-- begin-user-doc -->
831 * <!-- end-user-doc --> 1060 * <!-- end-user-doc -->
832 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClosureTypeImpl
833 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClosureType()
834 * @generated 1061 * @generated
1062 * @ordered
835 */ 1063 */
836 int CLOSURE_TYPE = 30; 1064 int ARGUMENT_LIST__ARGUMENTS = 0;
837 1065
838 /** 1066 /**
839 * The number of structural features of the '<em>Closure Type</em>' class. 1067 * The number of structural features of the '<em>Argument List</em>' class.
840 * <!-- begin-user-doc --> 1068 * <!-- begin-user-doc -->
841 * <!-- end-user-doc --> 1069 * <!-- end-user-doc -->
842 * @generated 1070 * @generated
843 * @ordered 1071 * @ordered
844 */ 1072 */
845 int CLOSURE_TYPE_FEATURE_COUNT = 0; 1073 int ARGUMENT_LIST_FEATURE_COUNT = 1;
1074
1075 /**
1076 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl <em>Argument</em>}' class.
1077 * <!-- begin-user-doc -->
1078 * <!-- end-user-doc -->
1079 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl
1080 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgument()
1081 * @generated
1082 */
1083 int ARGUMENT = 15;
1084
1085 /**
1086 * The number of structural features of the '<em>Argument</em>' class.
1087 * <!-- begin-user-doc -->
1088 * <!-- end-user-doc -->
1089 * @generated
1090 * @ordered
1091 */
1092 int ARGUMENT_FEATURE_COUNT = 0;
1093
1094 /**
1095 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl <em>Expression Argument</em>}' class.
1096 * <!-- begin-user-doc -->
1097 * <!-- end-user-doc -->
1098 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl
1099 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpressionArgument()
1100 * @generated
1101 */
1102 int EXPRESSION_ARGUMENT = 16;
1103
1104 /**
1105 * The feature id for the '<em><b>Body</b></em>' containment reference.
1106 * <!-- begin-user-doc -->
1107 * <!-- end-user-doc -->
1108 * @generated
1109 * @ordered
1110 */
1111 int EXPRESSION_ARGUMENT__BODY = ARGUMENT_FEATURE_COUNT + 0;
1112
1113 /**
1114 * The number of structural features of the '<em>Expression Argument</em>' class.
1115 * <!-- begin-user-doc -->
1116 * <!-- end-user-doc -->
1117 * @generated
1118 * @ordered
1119 */
1120 int EXPRESSION_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1;
1121
1122 /**
1123 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl <em>Star Argument</em>}' class.
1124 * <!-- begin-user-doc -->
1125 * <!-- end-user-doc -->
1126 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl
1127 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument()
1128 * @generated
1129 */
1130 int STAR_ARGUMENT = 17;
1131
1132 /**
1133 * The number of structural features of the '<em>Star Argument</em>' class.
1134 * <!-- begin-user-doc -->
1135 * <!-- end-user-doc -->
1136 * @generated
1137 * @ordered
1138 */
1139 int STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 0;
1140
1141 /**
1142 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl <em>Typed Argument</em>}' class.
1143 * <!-- begin-user-doc -->
1144 * <!-- end-user-doc -->
1145 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl
1146 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedArgument()
1147 * @generated
1148 */
1149 int TYPED_ARGUMENT = 18;
1150
1151 /**
1152 * The feature id for the '<em><b>Type</b></em>' reference.
1153 * <!-- begin-user-doc -->
1154 * <!-- end-user-doc -->
1155 * @generated
1156 * @ordered
1157 */
1158 int TYPED_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0;
1159
1160 /**
1161 * The feature id for the '<em><b>Variable</b></em>' reference.
1162 * <!-- begin-user-doc -->
1163 * <!-- end-user-doc -->
1164 * @generated
1165 * @ordered
1166 */
1167 int TYPED_ARGUMENT__VARIABLE = ARGUMENT_FEATURE_COUNT + 1;
1168
1169 /**
1170 * The number of structural features of the '<em>Typed Argument</em>' class.
1171 * <!-- begin-user-doc -->
1172 * <!-- end-user-doc -->
1173 * @generated
1174 * @ordered
1175 */
1176 int TYPED_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 2;
1177
1178 /**
1179 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl <em>Typed Star Argument</em>}' class.
1180 * <!-- begin-user-doc -->
1181 * <!-- end-user-doc -->
1182 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl
1183 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument()
1184 * @generated
1185 */
1186 int TYPED_STAR_ARGUMENT = 19;
1187
1188 /**
1189 * The feature id for the '<em><b>Type</b></em>' reference.
1190 * <!-- begin-user-doc -->
1191 * <!-- end-user-doc -->
1192 * @generated
1193 * @ordered
1194 */
1195 int TYPED_STAR_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0;
1196
1197 /**
1198 * The number of structural features of the '<em>Typed Star Argument</em>' class.
1199 * <!-- begin-user-doc -->
1200 * <!-- end-user-doc -->
1201 * @generated
1202 * @ordered
1203 */
1204 int TYPED_STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1;
1205
1206 /**
1207 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl <em>Reference</em>}' class.
1208 * <!-- begin-user-doc -->
1209 * <!-- end-user-doc -->
1210 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl
1211 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference()
1212 * @generated
1213 */
1214 int REFERENCE = 20;
1215
1216 /**
1217 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1218 * <!-- begin-user-doc -->
1219 * <!-- end-user-doc -->
1220 * @generated
1221 * @ordered
1222 */
1223 int REFERENCE__ABSTRACT = EXPRESSION__ABSTRACT;
1224
1225 /**
1226 * The feature id for the '<em><b>Name</b></em>' attribute.
1227 * <!-- begin-user-doc -->
1228 * <!-- end-user-doc -->
1229 * @generated
1230 * @ordered
1231 */
1232 int REFERENCE__NAME = EXPRESSION__NAME;
1233
1234 /**
1235 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1236 * <!-- begin-user-doc -->
1237 * <!-- end-user-doc -->
1238 * @generated
1239 * @ordered
1240 */
1241 int REFERENCE__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
1242
1243 /**
1244 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1245 * <!-- begin-user-doc -->
1246 * <!-- end-user-doc -->
1247 * @generated
1248 * @ordered
1249 */
1250 int REFERENCE__MEMBERS = EXPRESSION__MEMBERS;
1251
1252 /**
1253 * The feature id for the '<em><b>Referred</b></em>' reference.
1254 * <!-- begin-user-doc -->
1255 * <!-- end-user-doc -->
1256 * @generated
1257 * @ordered
1258 */
1259 int REFERENCE__REFERRED = EXPRESSION_FEATURE_COUNT + 0;
1260
1261 /**
1262 * The number of structural features of the '<em>Reference</em>' class.
1263 * <!-- begin-user-doc -->
1264 * <!-- end-user-doc -->
1265 * @generated
1266 * @ordered
1267 */
1268 int REFERENCE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
1269
1270 /**
1271 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl <em>Interval</em>}' class.
1272 * <!-- begin-user-doc -->
1273 * <!-- end-user-doc -->
1274 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl
1275 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval()
1276 * @generated
1277 */
1278 int INTERVAL = 21;
1279
1280 /**
1281 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1282 * <!-- begin-user-doc -->
1283 * <!-- end-user-doc -->
1284 * @generated
1285 * @ordered
1286 */
1287 int INTERVAL__ABSTRACT = EXPRESSION__ABSTRACT;
1288
1289 /**
1290 * The feature id for the '<em><b>Name</b></em>' attribute.
1291 * <!-- begin-user-doc -->
1292 * <!-- end-user-doc -->
1293 * @generated
1294 * @ordered
1295 */
1296 int INTERVAL__NAME = EXPRESSION__NAME;
1297
1298 /**
1299 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1300 * <!-- begin-user-doc -->
1301 * <!-- end-user-doc -->
1302 * @generated
1303 * @ordered
1304 */
1305 int INTERVAL__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
1306
1307 /**
1308 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1309 * <!-- begin-user-doc -->
1310 * <!-- end-user-doc -->
1311 * @generated
1312 * @ordered
1313 */
1314 int INTERVAL__MEMBERS = EXPRESSION__MEMBERS;
1315
1316 /**
1317 * The feature id for the '<em><b>Lower Bound</b></em>' containment reference.
1318 * <!-- begin-user-doc -->
1319 * <!-- end-user-doc -->
1320 * @generated
1321 * @ordered
1322 */
1323 int INTERVAL__LOWER_BOUND = EXPRESSION_FEATURE_COUNT + 0;
1324
1325 /**
1326 * The feature id for the '<em><b>Upper Bound</b></em>' containment reference.
1327 * <!-- begin-user-doc -->
1328 * <!-- end-user-doc -->
1329 * @generated
1330 * @ordered
1331 */
1332 int INTERVAL__UPPER_BOUND = EXPRESSION_FEATURE_COUNT + 1;
1333
1334 /**
1335 * The number of structural features of the '<em>Interval</em>' class.
1336 * <!-- begin-user-doc -->
1337 * <!-- end-user-doc -->
1338 * @generated
1339 * @ordered
1340 */
1341 int INTERVAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
846 1342
847 /** 1343 /**
848 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl <em>Literal</em>}' class. 1344 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl <em>Literal</em>}' class.
@@ -852,7 +1348,43 @@ public interface SolverLanguagePackage extends EPackage
852 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral() 1348 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral()
853 * @generated 1349 * @generated
854 */ 1350 */
855 int LITERAL = 31; 1351 int LITERAL = 22;
1352
1353 /**
1354 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1355 * <!-- begin-user-doc -->
1356 * <!-- end-user-doc -->
1357 * @generated
1358 * @ordered
1359 */
1360 int LITERAL__ABSTRACT = EXPRESSION__ABSTRACT;
1361
1362 /**
1363 * The feature id for the '<em><b>Name</b></em>' attribute.
1364 * <!-- begin-user-doc -->
1365 * <!-- end-user-doc -->
1366 * @generated
1367 * @ordered
1368 */
1369 int LITERAL__NAME = EXPRESSION__NAME;
1370
1371 /**
1372 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1373 * <!-- begin-user-doc -->
1374 * <!-- end-user-doc -->
1375 * @generated
1376 * @ordered
1377 */
1378 int LITERAL__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
1379
1380 /**
1381 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1382 * <!-- begin-user-doc -->
1383 * <!-- end-user-doc -->
1384 * @generated
1385 * @ordered
1386 */
1387 int LITERAL__MEMBERS = EXPRESSION__MEMBERS;
856 1388
857 /** 1389 /**
858 * The number of structural features of the '<em>Literal</em>' class. 1390 * The number of structural features of the '<em>Literal</em>' class.
@@ -861,17 +1393,26 @@ public interface SolverLanguagePackage extends EPackage
861 * @generated 1393 * @generated
862 * @ordered 1394 * @ordered
863 */ 1395 */
864 int LITERAL_FEATURE_COUNT = 0; 1396 int LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0;
865 1397
866 /** 1398 /**
867 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl <em>Variable</em>}' class. 1399 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl <em>Logic Literal</em>}' class.
868 * <!-- begin-user-doc --> 1400 * <!-- begin-user-doc -->
869 * <!-- end-user-doc --> 1401 * <!-- end-user-doc -->
870 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl 1402 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl
871 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getVariable() 1403 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral()
872 * @generated 1404 * @generated
873 */ 1405 */
874 int VARIABLE = 32; 1406 int LOGIC_LITERAL = 23;
1407
1408 /**
1409 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1410 * <!-- begin-user-doc -->
1411 * <!-- end-user-doc -->
1412 * @generated
1413 * @ordered
1414 */
1415 int LOGIC_LITERAL__ABSTRACT = LITERAL__ABSTRACT;
875 1416
876 /** 1417 /**
877 * The feature id for the '<em><b>Name</b></em>' attribute. 1418 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -880,120 +1421,117 @@ public interface SolverLanguagePackage extends EPackage
880 * @generated 1421 * @generated
881 * @ordered 1422 * @ordered
882 */ 1423 */
883 int VARIABLE__NAME = LITERAL_FEATURE_COUNT + 0; 1424 int LOGIC_LITERAL__NAME = LITERAL__NAME;
884 1425
885 /** 1426 /**
886 * The number of structural features of the '<em>Variable</em>' class. 1427 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
887 * <!-- begin-user-doc --> 1428 * <!-- begin-user-doc -->
888 * <!-- end-user-doc --> 1429 * <!-- end-user-doc -->
889 * @generated 1430 * @generated
890 * @ordered 1431 * @ordered
891 */ 1432 */
892 int VARIABLE_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; 1433 int LOGIC_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES;
893 1434
894 /** 1435 /**
895 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl <em>All Instances</em>}' class. 1436 * The feature id for the '<em><b>Members</b></em>' containment reference list.
896 * <!-- begin-user-doc --> 1437 * <!-- begin-user-doc -->
897 * <!-- end-user-doc --> 1438 * <!-- end-user-doc -->
898 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl
899 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllInstances()
900 * @generated 1439 * @generated
1440 * @ordered
901 */ 1441 */
902 int ALL_INSTANCES = 33; 1442 int LOGIC_LITERAL__MEMBERS = LITERAL__MEMBERS;
903 1443
904 /** 1444 /**
905 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 1445 * The feature id for the '<em><b>Value</b></em>' attribute.
906 * <!-- begin-user-doc --> 1446 * <!-- begin-user-doc -->
907 * <!-- end-user-doc --> 1447 * <!-- end-user-doc -->
908 * @generated 1448 * @generated
909 * @ordered 1449 * @ordered
910 */ 1450 */
911 int ALL_INSTANCES__SYMBOL = COMPLEX_OBJECT_FEATURE_COUNT + 0; 1451 int LOGIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
912 1452
913 /** 1453 /**
914 * The number of structural features of the '<em>All Instances</em>' class. 1454 * The number of structural features of the '<em>Logic Literal</em>' class.
915 * <!-- begin-user-doc --> 1455 * <!-- begin-user-doc -->
916 * <!-- end-user-doc --> 1456 * <!-- end-user-doc -->
917 * @generated 1457 * @generated
918 * @ordered 1458 * @ordered
919 */ 1459 */
920 int ALL_INSTANCES_FEATURE_COUNT = COMPLEX_OBJECT_FEATURE_COUNT + 1; 1460 int LOGIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
921 1461
922 /** 1462 /**
923 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllObjectsImpl <em>All Objects</em>}' class. 1463 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl <em>Numeric Literal</em>}' class.
924 * <!-- begin-user-doc --> 1464 * <!-- begin-user-doc -->
925 * <!-- end-user-doc --> 1465 * <!-- end-user-doc -->
926 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AllObjectsImpl 1466 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl
927 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllObjects() 1467 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNumericLiteral()
928 * @generated 1468 * @generated
929 */ 1469 */
930 int ALL_OBJECTS = 34; 1470 int NUMERIC_LITERAL = 24;
931 1471
932 /** 1472 /**
933 * The number of structural features of the '<em>All Objects</em>' class. 1473 * The feature id for the '<em><b>Abstract</b></em>' attribute.
934 * <!-- begin-user-doc --> 1474 * <!-- begin-user-doc -->
935 * <!-- end-user-doc --> 1475 * <!-- end-user-doc -->
936 * @generated 1476 * @generated
937 * @ordered 1477 * @ordered
938 */ 1478 */
939 int ALL_OBJECTS_FEATURE_COUNT = COMPLEX_OBJECT_FEATURE_COUNT + 0; 1479 int NUMERIC_LITERAL__ABSTRACT = LITERAL__ABSTRACT;
940 1480
941 /** 1481 /**
942 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl <em>Default Interpretation</em>}' class. 1482 * The feature id for the '<em><b>Name</b></em>' attribute.
943 * <!-- begin-user-doc --> 1483 * <!-- begin-user-doc -->
944 * <!-- end-user-doc --> 1484 * <!-- end-user-doc -->
945 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl
946 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultInterpretation()
947 * @generated 1485 * @generated
1486 * @ordered
948 */ 1487 */
949 int DEFAULT_INTERPRETATION = 35; 1488 int NUMERIC_LITERAL__NAME = LITERAL__NAME;
950 1489
951 /** 1490 /**
952 * The feature id for the '<em><b>Interpretation</b></em>' containment reference. 1491 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
953 * <!-- begin-user-doc --> 1492 * <!-- begin-user-doc -->
954 * <!-- end-user-doc --> 1493 * <!-- end-user-doc -->
955 * @generated 1494 * @generated
956 * @ordered 1495 * @ordered
957 */ 1496 */
958 int DEFAULT_INTERPRETATION__INTERPRETATION = INTERPRETATION_FEATURE_COUNT + 0; 1497 int NUMERIC_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES;
959 1498
960 /** 1499 /**
961 * The number of structural features of the '<em>Default Interpretation</em>' class. 1500 * The feature id for the '<em><b>Members</b></em>' containment reference list.
962 * <!-- begin-user-doc --> 1501 * <!-- begin-user-doc -->
963 * <!-- end-user-doc --> 1502 * <!-- end-user-doc -->
964 * @generated 1503 * @generated
965 * @ordered 1504 * @ordered
966 */ 1505 */
967 int DEFAULT_INTERPRETATION_FEATURE_COUNT = INTERPRETATION_FEATURE_COUNT + 1; 1506 int NUMERIC_LITERAL__MEMBERS = LITERAL__MEMBERS;
968 1507
969 /** 1508 /**
970 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CDInterpretationImpl <em>CD Interpretation</em>}' class. 1509 * The feature id for the '<em><b>Value</b></em>' attribute.
971 * <!-- begin-user-doc --> 1510 * <!-- begin-user-doc -->
972 * <!-- end-user-doc --> 1511 * <!-- end-user-doc -->
973 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CDInterpretationImpl
974 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCDInterpretation()
975 * @generated 1512 * @generated
1513 * @ordered
976 */ 1514 */
977 int CD_INTERPRETATION = 36; 1515 int NUMERIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
978 1516
979 /** 1517 /**
980 * The number of structural features of the '<em>CD Interpretation</em>' class. 1518 * The number of structural features of the '<em>Numeric Literal</em>' class.
981 * <!-- begin-user-doc --> 1519 * <!-- begin-user-doc -->
982 * <!-- end-user-doc --> 1520 * <!-- end-user-doc -->
983 * @generated 1521 * @generated
984 * @ordered 1522 * @ordered
985 */ 1523 */
986 int CD_INTERPRETATION_FEATURE_COUNT = INTERPRETATION_FEATURE_COUNT + 0; 1524 int NUMERIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
987 1525
988 /** 1526 /**
989 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl <em>Class Interpretation</em>}' class. 1527 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl <em>Infinity Literal</em>}' class.
990 * <!-- begin-user-doc --> 1528 * <!-- begin-user-doc -->
991 * <!-- end-user-doc --> 1529 * <!-- end-user-doc -->
992 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl 1530 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl
993 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassInterpretation() 1531 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInfinityLiteral()
994 * @generated 1532 * @generated
995 */ 1533 */
996 int CLASS_INTERPRETATION = 37; 1534 int INFINITY_LITERAL = 25;
997 1535
998 /** 1536 /**
999 * The feature id for the '<em><b>Abstract</b></em>' attribute. 1537 * The feature id for the '<em><b>Abstract</b></em>' attribute.
@@ -1002,90 +1540,172 @@ public interface SolverLanguagePackage extends EPackage
1002 * @generated 1540 * @generated
1003 * @ordered 1541 * @ordered
1004 */ 1542 */
1005 int CLASS_INTERPRETATION__ABSTRACT = CD_INTERPRETATION_FEATURE_COUNT + 0; 1543 int INFINITY_LITERAL__ABSTRACT = LITERAL__ABSTRACT;
1544
1545 /**
1546 * The feature id for the '<em><b>Name</b></em>' attribute.
1547 * <!-- begin-user-doc -->
1548 * <!-- end-user-doc -->
1549 * @generated
1550 * @ordered
1551 */
1552 int INFINITY_LITERAL__NAME = LITERAL__NAME;
1553
1554 /**
1555 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1556 * <!-- begin-user-doc -->
1557 * <!-- end-user-doc -->
1558 * @generated
1559 * @ordered
1560 */
1561 int INFINITY_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES;
1562
1563 /**
1564 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1565 * <!-- begin-user-doc -->
1566 * <!-- end-user-doc -->
1567 * @generated
1568 * @ordered
1569 */
1570 int INFINITY_LITERAL__MEMBERS = LITERAL__MEMBERS;
1571
1572 /**
1573 * The number of structural features of the '<em>Infinity Literal</em>' class.
1574 * <!-- begin-user-doc -->
1575 * <!-- end-user-doc -->
1576 * @generated
1577 * @ordered
1578 */
1579 int INFINITY_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0;
1580
1581 /**
1582 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl <em>Empty Interval Literal</em>}' class.
1583 * <!-- begin-user-doc -->
1584 * <!-- end-user-doc -->
1585 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl
1586 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyIntervalLiteral()
1587 * @generated
1588 */
1589 int EMPTY_INTERVAL_LITERAL = 26;
1590
1591 /**
1592 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1593 * <!-- begin-user-doc -->
1594 * <!-- end-user-doc -->
1595 * @generated
1596 * @ordered
1597 */
1598 int EMPTY_INTERVAL_LITERAL__ABSTRACT = LITERAL__ABSTRACT;
1599
1600 /**
1601 * The feature id for the '<em><b>Name</b></em>' attribute.
1602 * <!-- begin-user-doc -->
1603 * <!-- end-user-doc -->
1604 * @generated
1605 * @ordered
1606 */
1607 int EMPTY_INTERVAL_LITERAL__NAME = LITERAL__NAME;
1608
1609 /**
1610 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1611 * <!-- begin-user-doc -->
1612 * <!-- end-user-doc -->
1613 * @generated
1614 * @ordered
1615 */
1616 int EMPTY_INTERVAL_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES;
1006 1617
1007 /** 1618 /**
1008 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 1619 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1009 * <!-- begin-user-doc --> 1620 * <!-- begin-user-doc -->
1010 * <!-- end-user-doc --> 1621 * <!-- end-user-doc -->
1011 * @generated 1622 * @generated
1012 * @ordered 1623 * @ordered
1013 */ 1624 */
1014 int CLASS_INTERPRETATION__SYMBOL = CD_INTERPRETATION_FEATURE_COUNT + 1; 1625 int EMPTY_INTERVAL_LITERAL__MEMBERS = LITERAL__MEMBERS;
1015 1626
1016 /** 1627 /**
1017 * The feature id for the '<em><b>Supertypes</b></em>' containment reference list. 1628 * The number of structural features of the '<em>Empty Interval Literal</em>' class.
1018 * <!-- begin-user-doc --> 1629 * <!-- begin-user-doc -->
1019 * <!-- end-user-doc --> 1630 * <!-- end-user-doc -->
1020 * @generated 1631 * @generated
1021 * @ordered 1632 * @ordered
1022 */ 1633 */
1023 int CLASS_INTERPRETATION__SUPERTYPES = CD_INTERPRETATION_FEATURE_COUNT + 2; 1634 int EMPTY_INTERVAL_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0;
1635
1636 /**
1637 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl <em>String Literal</em>}' class.
1638 * <!-- begin-user-doc -->
1639 * <!-- end-user-doc -->
1640 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl
1641 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral()
1642 * @generated
1643 */
1644 int STRING_LITERAL = 27;
1024 1645
1025 /** 1646 /**
1026 * The feature id for the '<em><b>Fielt</b></em>' containment reference list. 1647 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1027 * <!-- begin-user-doc --> 1648 * <!-- begin-user-doc -->
1028 * <!-- end-user-doc --> 1649 * <!-- end-user-doc -->
1029 * @generated 1650 * @generated
1030 * @ordered 1651 * @ordered
1031 */ 1652 */
1032 int CLASS_INTERPRETATION__FIELT = CD_INTERPRETATION_FEATURE_COUNT + 3; 1653 int STRING_LITERAL__ABSTRACT = LITERAL__ABSTRACT;
1033 1654
1034 /** 1655 /**
1035 * The number of structural features of the '<em>Class Interpretation</em>' class. 1656 * The feature id for the '<em><b>Name</b></em>' attribute.
1036 * <!-- begin-user-doc --> 1657 * <!-- begin-user-doc -->
1037 * <!-- end-user-doc --> 1658 * <!-- end-user-doc -->
1038 * @generated 1659 * @generated
1039 * @ordered 1660 * @ordered
1040 */ 1661 */
1041 int CLASS_INTERPRETATION_FEATURE_COUNT = CD_INTERPRETATION_FEATURE_COUNT + 4; 1662 int STRING_LITERAL__NAME = LITERAL__NAME;
1042 1663
1043 /** 1664 /**
1044 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl <em>Enum Interpretation</em>}' class. 1665 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1045 * <!-- begin-user-doc --> 1666 * <!-- begin-user-doc -->
1046 * <!-- end-user-doc --> 1667 * <!-- end-user-doc -->
1047 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl
1048 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEnumInterpretation()
1049 * @generated 1668 * @generated
1669 * @ordered
1050 */ 1670 */
1051 int ENUM_INTERPRETATION = 38; 1671 int STRING_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES;
1052 1672
1053 /** 1673 /**
1054 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 1674 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1055 * <!-- begin-user-doc --> 1675 * <!-- begin-user-doc -->
1056 * <!-- end-user-doc --> 1676 * <!-- end-user-doc -->
1057 * @generated 1677 * @generated
1058 * @ordered 1678 * @ordered
1059 */ 1679 */
1060 int ENUM_INTERPRETATION__SYMBOL = CD_INTERPRETATION_FEATURE_COUNT + 0; 1680 int STRING_LITERAL__MEMBERS = LITERAL__MEMBERS;
1061 1681
1062 /** 1682 /**
1063 * The feature id for the '<em><b>Objects</b></em>' containment reference list. 1683 * The feature id for the '<em><b>Value</b></em>' attribute.
1064 * <!-- begin-user-doc --> 1684 * <!-- begin-user-doc -->
1065 * <!-- end-user-doc --> 1685 * <!-- end-user-doc -->
1066 * @generated 1686 * @generated
1067 * @ordered 1687 * @ordered
1068 */ 1688 */
1069 int ENUM_INTERPRETATION__OBJECTS = CD_INTERPRETATION_FEATURE_COUNT + 1; 1689 int STRING_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
1070 1690
1071 /** 1691 /**
1072 * The number of structural features of the '<em>Enum Interpretation</em>' class. 1692 * The number of structural features of the '<em>String Literal</em>' class.
1073 * <!-- begin-user-doc --> 1693 * <!-- begin-user-doc -->
1074 * <!-- end-user-doc --> 1694 * <!-- end-user-doc -->
1075 * @generated 1695 * @generated
1076 * @ordered 1696 * @ordered
1077 */ 1697 */
1078 int ENUM_INTERPRETATION_FEATURE_COUNT = CD_INTERPRETATION_FEATURE_COUNT + 2; 1698 int STRING_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
1079 1699
1080 /** 1700 /**
1081 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl <em>Field Relation Interpretation</em>}' class. 1701 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl <em>Member Definition</em>}' class.
1082 * <!-- begin-user-doc --> 1702 * <!-- begin-user-doc -->
1083 * <!-- end-user-doc --> 1703 * <!-- end-user-doc -->
1084 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl 1704 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl
1085 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFieldRelationInterpretation() 1705 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition()
1086 * @generated 1706 * @generated
1087 */ 1707 */
1088 int FIELD_RELATION_INTERPRETATION = 39; 1708 int MEMBER_DEFINITION = 28;
1089 1709
1090 /** 1710 /**
1091 * The feature id for the '<em><b>Containment</b></em>' attribute. 1711 * The feature id for the '<em><b>Containment</b></em>' attribute.
@@ -1094,16 +1714,16 @@ public interface SolverLanguagePackage extends EPackage
1094 * @generated 1714 * @generated
1095 * @ordered 1715 * @ordered
1096 */ 1716 */
1097 int FIELD_RELATION_INTERPRETATION__CONTAINMENT = 0; 1717 int MEMBER_DEFINITION__CONTAINMENT = 0;
1098 1718
1099 /** 1719 /**
1100 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 1720 * The feature id for the '<em><b>Type</b></em>' reference.
1101 * <!-- begin-user-doc --> 1721 * <!-- begin-user-doc -->
1102 * <!-- end-user-doc --> 1722 * <!-- end-user-doc -->
1103 * @generated 1723 * @generated
1104 * @ordered 1724 * @ordered
1105 */ 1725 */
1106 int FIELD_RELATION_INTERPRETATION__SYMBOL = 1; 1726 int MEMBER_DEFINITION__TYPE = 1;
1107 1727
1108 /** 1728 /**
1109 * The feature id for the '<em><b>Multiplicity</b></em>' containment reference. 1729 * The feature id for the '<em><b>Multiplicity</b></em>' containment reference.
@@ -1112,334 +1732,1092 @@ public interface SolverLanguagePackage extends EPackage
1112 * @generated 1732 * @generated
1113 * @ordered 1733 * @ordered
1114 */ 1734 */
1115 int FIELD_RELATION_INTERPRETATION__MULTIPLICITY = 2; 1735 int MEMBER_DEFINITION__MULTIPLICITY = 2;
1116 1736
1117 /** 1737 /**
1118 * The feature id for the '<em><b>Target</b></em>' containment reference. 1738 * The feature id for the '<em><b>Name</b></em>' attribute.
1119 * <!-- begin-user-doc --> 1739 * <!-- begin-user-doc -->
1120 * <!-- end-user-doc --> 1740 * <!-- end-user-doc -->
1121 * @generated 1741 * @generated
1122 * @ordered 1742 * @ordered
1123 */ 1743 */
1124 int FIELD_RELATION_INTERPRETATION__TARGET = 3; 1744 int MEMBER_DEFINITION__NAME = 3;
1125 1745
1126 /** 1746 /**
1127 * The number of structural features of the '<em>Field Relation Interpretation</em>' class. 1747 * The feature id for the '<em><b>Opposite</b></em>' reference.
1128 * <!-- begin-user-doc --> 1748 * <!-- begin-user-doc -->
1129 * <!-- end-user-doc --> 1749 * <!-- end-user-doc -->
1130 * @generated 1750 * @generated
1131 * @ordered 1751 * @ordered
1132 */ 1752 */
1133 int FIELD_RELATION_INTERPRETATION_FEATURE_COUNT = 4; 1753 int MEMBER_DEFINITION__OPPOSITE = 4;
1134 1754
1135 /** 1755 /**
1136 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl <em>Global Relation Interpretation</em>}' class. 1756 * The number of structural features of the '<em>Member Definition</em>' class.
1137 * <!-- begin-user-doc --> 1757 * <!-- begin-user-doc -->
1138 * <!-- end-user-doc --> 1758 * <!-- end-user-doc -->
1139 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl
1140 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getGlobalRelationInterpretation()
1141 * @generated 1759 * @generated
1760 * @ordered
1142 */ 1761 */
1143 int GLOBAL_RELATION_INTERPRETATION = 40; 1762 int MEMBER_DEFINITION_FEATURE_COUNT = 5;
1144 1763
1145 /** 1764 /**
1146 * The feature id for the '<em><b>Containment</b></em>' attribute. 1765 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl <em>Multiplicity</em>}' class.
1766 * <!-- begin-user-doc -->
1767 * <!-- end-user-doc -->
1768 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl
1769 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity()
1770 * @generated
1771 */
1772 int MULTIPLICITY = 29;
1773
1774 /**
1775 * The number of structural features of the '<em>Multiplicity</em>' class.
1776 * <!-- begin-user-doc -->
1777 * <!-- end-user-doc -->
1778 * @generated
1779 * @ordered
1780 */
1781 int MULTIPLICITY_FEATURE_COUNT = 0;
1782
1783 /**
1784 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl <em>Many Multiplicity</em>}' class.
1785 * <!-- begin-user-doc -->
1786 * <!-- end-user-doc -->
1787 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl
1788 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity()
1789 * @generated
1790 */
1791 int MANY_MULTIPLICITY = 30;
1792
1793 /**
1794 * The number of structural features of the '<em>Many Multiplicity</em>' class.
1795 * <!-- begin-user-doc -->
1796 * <!-- end-user-doc -->
1797 * @generated
1798 * @ordered
1799 */
1800 int MANY_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 0;
1801
1802 /**
1803 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl <em>Exact Multiplicity</em>}' class.
1804 * <!-- begin-user-doc -->
1805 * <!-- end-user-doc -->
1806 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl
1807 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity()
1808 * @generated
1809 */
1810 int EXACT_MULTIPLICITY = 31;
1811
1812 /**
1813 * The feature id for the '<em><b>Multiplicity</b></em>' attribute.
1147 * <!-- begin-user-doc --> 1814 * <!-- begin-user-doc -->
1148 * <!-- end-user-doc --> 1815 * <!-- end-user-doc -->
1149 * @generated 1816 * @generated
1150 * @ordered 1817 * @ordered
1151 */ 1818 */
1152 int GLOBAL_RELATION_INTERPRETATION__CONTAINMENT = CD_INTERPRETATION_FEATURE_COUNT + 0; 1819 int EXACT_MULTIPLICITY__MULTIPLICITY = MULTIPLICITY_FEATURE_COUNT + 0;
1153 1820
1154 /** 1821 /**
1155 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 1822 * The number of structural features of the '<em>Exact Multiplicity</em>' class.
1156 * <!-- begin-user-doc --> 1823 * <!-- begin-user-doc -->
1157 * <!-- end-user-doc --> 1824 * <!-- end-user-doc -->
1158 * @generated 1825 * @generated
1159 * @ordered 1826 * @ordered
1160 */ 1827 */
1161 int GLOBAL_RELATION_INTERPRETATION__SYMBOL = CD_INTERPRETATION_FEATURE_COUNT + 1; 1828 int EXACT_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 1;
1829
1830 /**
1831 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl <em>Bounded Multiplicity</em>}' class.
1832 * <!-- begin-user-doc -->
1833 * <!-- end-user-doc -->
1834 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl
1835 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity()
1836 * @generated
1837 */
1838 int BOUNDED_MULTIPLICITY = 32;
1162 1839
1163 /** 1840 /**
1164 * The feature id for the '<em><b>Source Multiplicity</b></em>' containment reference. 1841 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
1165 * <!-- begin-user-doc --> 1842 * <!-- begin-user-doc -->
1166 * <!-- end-user-doc --> 1843 * <!-- end-user-doc -->
1167 * @generated 1844 * @generated
1168 * @ordered 1845 * @ordered
1169 */ 1846 */
1170 int GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY = CD_INTERPRETATION_FEATURE_COUNT + 2; 1847 int BOUNDED_MULTIPLICITY__LOWER_BOUND = MULTIPLICITY_FEATURE_COUNT + 0;
1171 1848
1172 /** 1849 /**
1173 * The feature id for the '<em><b>Source</b></em>' containment reference. 1850 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
1174 * <!-- begin-user-doc --> 1851 * <!-- begin-user-doc -->
1175 * <!-- end-user-doc --> 1852 * <!-- end-user-doc -->
1176 * @generated 1853 * @generated
1177 * @ordered 1854 * @ordered
1178 */ 1855 */
1179 int GLOBAL_RELATION_INTERPRETATION__SOURCE = CD_INTERPRETATION_FEATURE_COUNT + 3; 1856 int BOUNDED_MULTIPLICITY__UPPER_BOUND = MULTIPLICITY_FEATURE_COUNT + 1;
1180 1857
1181 /** 1858 /**
1182 * The feature id for the '<em><b>Target Multiplicity</b></em>' containment reference. 1859 * The number of structural features of the '<em>Bounded Multiplicity</em>' class.
1183 * <!-- begin-user-doc --> 1860 * <!-- begin-user-doc -->
1184 * <!-- end-user-doc --> 1861 * <!-- end-user-doc -->
1185 * @generated 1862 * @generated
1186 * @ordered 1863 * @ordered
1187 */ 1864 */
1188 int GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY = CD_INTERPRETATION_FEATURE_COUNT + 4; 1865 int BOUNDED_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 2;
1866
1867 /**
1868 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl <em>Scope Definition</em>}' class.
1869 * <!-- begin-user-doc -->
1870 * <!-- end-user-doc -->
1871 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl
1872 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition()
1873 * @generated
1874 */
1875 int SCOPE_DEFINITION = 33;
1189 1876
1190 /** 1877 /**
1191 * The feature id for the '<em><b>Target</b></em>' containment reference. 1878 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1192 * <!-- begin-user-doc --> 1879 * <!-- begin-user-doc -->
1193 * <!-- end-user-doc --> 1880 * <!-- end-user-doc -->
1194 * @generated 1881 * @generated
1195 * @ordered 1882 * @ordered
1196 */ 1883 */
1197 int GLOBAL_RELATION_INTERPRETATION__TARGET = CD_INTERPRETATION_FEATURE_COUNT + 5; 1884 int SCOPE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
1198 1885
1199 /** 1886 /**
1200 * The number of structural features of the '<em>Global Relation Interpretation</em>' class. 1887 * The feature id for the '<em><b>Name</b></em>' attribute.
1201 * <!-- begin-user-doc --> 1888 * <!-- begin-user-doc -->
1202 * <!-- end-user-doc --> 1889 * <!-- end-user-doc -->
1203 * @generated 1890 * @generated
1204 * @ordered 1891 * @ordered
1205 */ 1892 */
1206 int GLOBAL_RELATION_INTERPRETATION_FEATURE_COUNT = CD_INTERPRETATION_FEATURE_COUNT + 6; 1893 int SCOPE_DEFINITION__NAME = STATEMENT__NAME;
1207 1894
1208 /** 1895 /**
1209 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl <em>Multiplicity Definition</em>}' class. 1896 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1210 * <!-- begin-user-doc --> 1897 * <!-- begin-user-doc -->
1211 * <!-- end-user-doc --> 1898 * <!-- end-user-doc -->
1212 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl
1213 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicityDefinition()
1214 * @generated 1899 * @generated
1900 * @ordered
1215 */ 1901 */
1216 int MULTIPLICITY_DEFINITION = 41; 1902 int SCOPE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
1217 1903
1218 /** 1904 /**
1219 * The feature id for the '<em><b>Lower</b></em>' attribute. 1905 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1220 * <!-- begin-user-doc --> 1906 * <!-- begin-user-doc -->
1221 * <!-- end-user-doc --> 1907 * <!-- end-user-doc -->
1222 * @generated 1908 * @generated
1223 * @ordered 1909 * @ordered
1224 */ 1910 */
1225 int MULTIPLICITY_DEFINITION__LOWER = 0; 1911 int SCOPE_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
1226 1912
1227 /** 1913 /**
1228 * The feature id for the '<em><b>Upper</b></em>' attribute. 1914 * The feature id for the '<em><b>Type</b></em>' reference.
1229 * <!-- begin-user-doc --> 1915 * <!-- begin-user-doc -->
1230 * <!-- end-user-doc --> 1916 * <!-- end-user-doc -->
1231 * @generated 1917 * @generated
1232 * @ordered 1918 * @ordered
1233 */ 1919 */
1234 int MULTIPLICITY_DEFINITION__UPPER = 1; 1920 int SCOPE_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0;
1235 1921
1236 /** 1922 /**
1237 * The feature id for the '<em><b>Unlimited Upper</b></em>' attribute. 1923 * The number of structural features of the '<em>Scope Definition</em>' class.
1238 * <!-- begin-user-doc --> 1924 * <!-- begin-user-doc -->
1239 * <!-- end-user-doc --> 1925 * <!-- end-user-doc -->
1240 * @generated 1926 * @generated
1241 * @ordered 1927 * @ordered
1242 */ 1928 */
1243 int MULTIPLICITY_DEFINITION__UNLIMITED_UPPER = 2; 1929 int SCOPE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1;
1930
1931 /**
1932 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl <em>Exact Scope Definition</em>}' class.
1933 * <!-- begin-user-doc -->
1934 * <!-- end-user-doc -->
1935 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl
1936 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition()
1937 * @generated
1938 */
1939 int EXACT_SCOPE_DEFINITION = 34;
1244 1940
1245 /** 1941 /**
1246 * The number of structural features of the '<em>Multiplicity Definition</em>' class. 1942 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1247 * <!-- begin-user-doc --> 1943 * <!-- begin-user-doc -->
1248 * <!-- end-user-doc --> 1944 * <!-- end-user-doc -->
1249 * @generated 1945 * @generated
1250 * @ordered 1946 * @ordered
1251 */ 1947 */
1252 int MULTIPLICITY_DEFINITION_FEATURE_COUNT = 3; 1948 int EXACT_SCOPE_DEFINITION__ABSTRACT = SCOPE_DEFINITION__ABSTRACT;
1253 1949
1254 /** 1950 /**
1255 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanTrueImpl <em>Boolean True</em>}' class. 1951 * The feature id for the '<em><b>Name</b></em>' attribute.
1256 * <!-- begin-user-doc --> 1952 * <!-- begin-user-doc -->
1257 * <!-- end-user-doc --> 1953 * <!-- end-user-doc -->
1258 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanTrueImpl
1259 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanTrue()
1260 * @generated 1954 * @generated
1955 * @ordered
1261 */ 1956 */
1262 int BOOLEAN_TRUE = 42; 1957 int EXACT_SCOPE_DEFINITION__NAME = SCOPE_DEFINITION__NAME;
1263 1958
1264 /** 1959 /**
1265 * The number of structural features of the '<em>Boolean True</em>' class. 1960 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1266 * <!-- begin-user-doc --> 1961 * <!-- begin-user-doc -->
1267 * <!-- end-user-doc --> 1962 * <!-- end-user-doc -->
1268 * @generated 1963 * @generated
1269 * @ordered 1964 * @ordered
1270 */ 1965 */
1271 int BOOLEAN_TRUE_FEATURE_COUNT = BOOLEAN_VALUE_FEATURE_COUNT + 0; 1966 int EXACT_SCOPE_DEFINITION__SUPERCLASSES = SCOPE_DEFINITION__SUPERCLASSES;
1272 1967
1273 /** 1968 /**
1274 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanFalseImpl <em>Boolean False</em>}' class. 1969 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1275 * <!-- begin-user-doc --> 1970 * <!-- begin-user-doc -->
1276 * <!-- end-user-doc --> 1971 * <!-- end-user-doc -->
1277 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanFalseImpl
1278 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanFalse()
1279 * @generated 1972 * @generated
1973 * @ordered
1280 */ 1974 */
1281 int BOOLEAN_FALSE = 43; 1975 int EXACT_SCOPE_DEFINITION__MEMBERS = SCOPE_DEFINITION__MEMBERS;
1282 1976
1283 /** 1977 /**
1284 * The number of structural features of the '<em>Boolean False</em>' class. 1978 * The feature id for the '<em><b>Type</b></em>' reference.
1285 * <!-- begin-user-doc --> 1979 * <!-- begin-user-doc -->
1286 * <!-- end-user-doc --> 1980 * <!-- end-user-doc -->
1287 * @generated 1981 * @generated
1288 * @ordered 1982 * @ordered
1289 */ 1983 */
1290 int BOOLEAN_FALSE_FEATURE_COUNT = BOOLEAN_VALUE_FEATURE_COUNT + 0; 1984 int EXACT_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE;
1291 1985
1292 /** 1986 /**
1293 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TrueImpl <em>True</em>}' class. 1987 * The feature id for the '<em><b>Exact Scope</b></em>' attribute.
1294 * <!-- begin-user-doc --> 1988 * <!-- begin-user-doc -->
1295 * <!-- end-user-doc --> 1989 * <!-- end-user-doc -->
1296 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TrueImpl
1297 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTrue()
1298 * @generated 1990 * @generated
1991 * @ordered
1299 */ 1992 */
1300 int TRUE = 44; 1993 int EXACT_SCOPE_DEFINITION__EXACT_SCOPE = SCOPE_DEFINITION_FEATURE_COUNT + 0;
1301 1994
1302 /** 1995 /**
1303 * The number of structural features of the '<em>True</em>' class. 1996 * The number of structural features of the '<em>Exact Scope Definition</em>' class.
1304 * <!-- begin-user-doc --> 1997 * <!-- begin-user-doc -->
1305 * <!-- end-user-doc --> 1998 * <!-- end-user-doc -->
1306 * @generated 1999 * @generated
1307 * @ordered 2000 * @ordered
1308 */ 2001 */
1309 int TRUE_FEATURE_COUNT = TRUTH_VALUE_FEATURE_COUNT + 0; 2002 int EXACT_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1;
1310 2003
1311 /** 2004 /**
1312 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FalseImpl <em>False</em>}' class. 2005 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl <em>Bounded Scope Definition</em>}' class.
1313 * <!-- begin-user-doc --> 2006 * <!-- begin-user-doc -->
1314 * <!-- end-user-doc --> 2007 * <!-- end-user-doc -->
1315 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FalseImpl 2008 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl
1316 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFalse() 2009 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition()
1317 * @generated 2010 * @generated
1318 */ 2011 */
1319 int FALSE = 45; 2012 int BOUNDED_SCOPE_DEFINITION = 35;
1320 2013
1321 /** 2014 /**
1322 * The number of structural features of the '<em>False</em>' class. 2015 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1323 * <!-- begin-user-doc --> 2016 * <!-- begin-user-doc -->
1324 * <!-- end-user-doc --> 2017 * <!-- end-user-doc -->
1325 * @generated 2018 * @generated
1326 * @ordered 2019 * @ordered
1327 */ 2020 */
1328 int FALSE_FEATURE_COUNT = TRUTH_VALUE_FEATURE_COUNT + 0; 2021 int BOUNDED_SCOPE_DEFINITION__ABSTRACT = SCOPE_DEFINITION__ABSTRACT;
1329 2022
1330 /** 2023 /**
1331 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnknownImpl <em>Unknown</em>}' class. 2024 * The feature id for the '<em><b>Name</b></em>' attribute.
1332 * <!-- begin-user-doc --> 2025 * <!-- begin-user-doc -->
1333 * <!-- end-user-doc --> 2026 * <!-- end-user-doc -->
1334 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnknownImpl
1335 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnknown()
1336 * @generated 2027 * @generated
2028 * @ordered
1337 */ 2029 */
1338 int UNKNOWN = 46; 2030 int BOUNDED_SCOPE_DEFINITION__NAME = SCOPE_DEFINITION__NAME;
1339 2031
1340 /** 2032 /**
1341 * The number of structural features of the '<em>Unknown</em>' class. 2033 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1342 * <!-- begin-user-doc --> 2034 * <!-- begin-user-doc -->
1343 * <!-- end-user-doc --> 2035 * <!-- end-user-doc -->
1344 * @generated 2036 * @generated
1345 * @ordered 2037 * @ordered
1346 */ 2038 */
1347 int UNKNOWN_FEATURE_COUNT = TRUTH_VALUE_FEATURE_COUNT + 0; 2039 int BOUNDED_SCOPE_DEFINITION__SUPERCLASSES = SCOPE_DEFINITION__SUPERCLASSES;
1348 2040
1349 /** 2041 /**
1350 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorImpl <em>Error</em>}' class. 2042 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1351 * <!-- begin-user-doc --> 2043 * <!-- begin-user-doc -->
1352 * <!-- end-user-doc --> 2044 * <!-- end-user-doc -->
1353 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorImpl
1354 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getError()
1355 * @generated 2045 * @generated
2046 * @ordered
1356 */ 2047 */
1357 int ERROR = 47; 2048 int BOUNDED_SCOPE_DEFINITION__MEMBERS = SCOPE_DEFINITION__MEMBERS;
1358 2049
1359 /** 2050 /**
1360 * The number of structural features of the '<em>Error</em>' class. 2051 * The feature id for the '<em><b>Type</b></em>' reference.
1361 * <!-- begin-user-doc --> 2052 * <!-- begin-user-doc -->
1362 * <!-- end-user-doc --> 2053 * <!-- end-user-doc -->
1363 * @generated 2054 * @generated
1364 * @ordered 2055 * @ordered
1365 */ 2056 */
1366 int ERROR_FEATURE_COUNT = TRUTH_VALUE_FEATURE_COUNT + 0; 2057 int BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE;
1367 2058
1368 /** 2059 /**
1369 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PositiveImpl <em>Positive</em>}' class. 2060 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
1370 * <!-- begin-user-doc --> 2061 * <!-- begin-user-doc -->
1371 * <!-- end-user-doc --> 2062 * <!-- end-user-doc -->
1372 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PositiveImpl
1373 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPositive()
1374 * @generated 2063 * @generated
2064 * @ordered
1375 */ 2065 */
1376 int POSITIVE = 48; 2066 int BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0;
1377 2067
1378 /** 2068 /**
1379 * The number of structural features of the '<em>Positive</em>' class. 2069 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
1380 * <!-- begin-user-doc --> 2070 * <!-- begin-user-doc -->
1381 * <!-- end-user-doc --> 2071 * <!-- end-user-doc -->
1382 * @generated 2072 * @generated
1383 * @ordered 2073 * @ordered
1384 */ 2074 */
1385 int POSITIVE_FEATURE_COUNT = POLARITY_FEATURE_COUNT + 0; 2075 int BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 1;
1386 2076
1387 /** 2077 /**
1388 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NegativeImpl <em>Negative</em>}' class. 2078 * The number of structural features of the '<em>Bounded Scope Definition</em>' class.
1389 * <!-- begin-user-doc --> 2079 * <!-- begin-user-doc -->
1390 * <!-- end-user-doc --> 2080 * <!-- end-user-doc -->
1391 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NegativeImpl
1392 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNegative()
1393 * @generated 2081 * @generated
2082 * @ordered
1394 */ 2083 */
1395 int NEGATIVE = 49; 2084 int BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 2;
1396 2085
1397 /** 2086 /**
1398 * The number of structural features of the '<em>Negative</em>' class. 2087 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl <em>Lower Bounded Scope Definition</em>}' class.
2088 * <!-- begin-user-doc -->
2089 * <!-- end-user-doc -->
2090 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl
2091 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition()
2092 * @generated
2093 */
2094 int LOWER_BOUNDED_SCOPE_DEFINITION = 36;
2095
2096 /**
2097 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2098 * <!-- begin-user-doc -->
2099 * <!-- end-user-doc -->
2100 * @generated
2101 * @ordered
2102 */
2103 int LOWER_BOUNDED_SCOPE_DEFINITION__ABSTRACT = SCOPE_DEFINITION__ABSTRACT;
2104
2105 /**
2106 * The feature id for the '<em><b>Name</b></em>' attribute.
2107 * <!-- begin-user-doc -->
2108 * <!-- end-user-doc -->
2109 * @generated
2110 * @ordered
2111 */
2112 int LOWER_BOUNDED_SCOPE_DEFINITION__NAME = SCOPE_DEFINITION__NAME;
2113
2114 /**
2115 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
1399 * <!-- begin-user-doc --> 2116 * <!-- begin-user-doc -->
1400 * <!-- end-user-doc --> 2117 * <!-- end-user-doc -->
1401 * @generated 2118 * @generated
1402 * @ordered 2119 * @ordered
1403 */ 2120 */
1404 int NEGATIVE_FEATURE_COUNT = POLARITY_FEATURE_COUNT + 0; 2121 int LOWER_BOUNDED_SCOPE_DEFINITION__SUPERCLASSES = SCOPE_DEFINITION__SUPERCLASSES;
1405 2122
1406 /** 2123 /**
1407 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReflexiveClosureImpl <em>Reflexive Closure</em>}' class. 2124 * The feature id for the '<em><b>Members</b></em>' containment reference list.
1408 * <!-- begin-user-doc --> 2125 * <!-- begin-user-doc -->
1409 * <!-- end-user-doc --> 2126 * <!-- end-user-doc -->
1410 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReflexiveClosureImpl
1411 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReflexiveClosure()
1412 * @generated 2127 * @generated
2128 * @ordered
1413 */ 2129 */
1414 int REFLEXIVE_CLOSURE = 50; 2130 int LOWER_BOUNDED_SCOPE_DEFINITION__MEMBERS = SCOPE_DEFINITION__MEMBERS;
1415 2131
1416 /** 2132 /**
1417 * The number of structural features of the '<em>Reflexive Closure</em>' class. 2133 * The feature id for the '<em><b>Type</b></em>' reference.
1418 * <!-- begin-user-doc --> 2134 * <!-- begin-user-doc -->
1419 * <!-- end-user-doc --> 2135 * <!-- end-user-doc -->
1420 * @generated 2136 * @generated
1421 * @ordered 2137 * @ordered
1422 */ 2138 */
1423 int REFLEXIVE_CLOSURE_FEATURE_COUNT = CLOSURE_TYPE_FEATURE_COUNT + 0; 2139 int LOWER_BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE;
1424 2140
1425 /** 2141 /**
1426 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IrreflexiveClosureImpl <em>Irreflexive Closure</em>}' class. 2142 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
1427 * <!-- begin-user-doc --> 2143 * <!-- begin-user-doc -->
1428 * <!-- end-user-doc --> 2144 * <!-- end-user-doc -->
1429 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IrreflexiveClosureImpl
1430 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIrreflexiveClosure()
1431 * @generated 2145 * @generated
2146 * @ordered
1432 */ 2147 */
1433 int IRREFLEXIVE_CLOSURE = 51; 2148 int LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0;
1434 2149
1435 /** 2150 /**
1436 * The number of structural features of the '<em>Irreflexive Closure</em>' class. 2151 * The number of structural features of the '<em>Lower Bounded Scope Definition</em>' class.
1437 * <!-- begin-user-doc --> 2152 * <!-- begin-user-doc -->
1438 * <!-- end-user-doc --> 2153 * <!-- end-user-doc -->
1439 * @generated 2154 * @generated
1440 * @ordered 2155 * @ordered
1441 */ 2156 */
1442 int IRREFLEXIVE_CLOSURE_FEATURE_COUNT = CLOSURE_TYPE_FEATURE_COUNT + 0; 2157 int LOWER_BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1;
2158
2159 /**
2160 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl <em>Objective Definition</em>}' class.
2161 * <!-- begin-user-doc -->
2162 * <!-- end-user-doc -->
2163 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl
2164 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition()
2165 * @generated
2166 */
2167 int OBJECTIVE_DEFINITION = 37;
2168
2169 /**
2170 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2171 * <!-- begin-user-doc -->
2172 * <!-- end-user-doc -->
2173 * @generated
2174 * @ordered
2175 */
2176 int OBJECTIVE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT;
2177
2178 /**
2179 * The feature id for the '<em><b>Name</b></em>' attribute.
2180 * <!-- begin-user-doc -->
2181 * <!-- end-user-doc -->
2182 * @generated
2183 * @ordered
2184 */
2185 int OBJECTIVE_DEFINITION__NAME = STATEMENT__NAME;
2186
2187 /**
2188 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2189 * <!-- begin-user-doc -->
2190 * <!-- end-user-doc -->
2191 * @generated
2192 * @ordered
2193 */
2194 int OBJECTIVE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
2195
2196 /**
2197 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2198 * <!-- begin-user-doc -->
2199 * <!-- end-user-doc -->
2200 * @generated
2201 * @ordered
2202 */
2203 int OBJECTIVE_DEFINITION__MEMBERS = STATEMENT__MEMBERS;
2204
2205 /**
2206 * The feature id for the '<em><b>Kind</b></em>' attribute.
2207 * <!-- begin-user-doc -->
2208 * <!-- end-user-doc -->
2209 * @generated
2210 * @ordered
2211 */
2212 int OBJECTIVE_DEFINITION__KIND = STATEMENT_FEATURE_COUNT + 0;
2213
2214 /**
2215 * The feature id for the '<em><b>Objective</b></em>' containment reference.
2216 * <!-- begin-user-doc -->
2217 * <!-- end-user-doc -->
2218 * @generated
2219 * @ordered
2220 */
2221 int OBJECTIVE_DEFINITION__OBJECTIVE = STATEMENT_FEATURE_COUNT + 1;
2222
2223 /**
2224 * The number of structural features of the '<em>Objective Definition</em>' class.
2225 * <!-- begin-user-doc -->
2226 * <!-- end-user-doc -->
2227 * @generated
2228 * @ordered
2229 */
2230 int OBJECTIVE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
2231
2232 /**
2233 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl <em>Named Element</em>}' class.
2234 * <!-- begin-user-doc -->
2235 * <!-- end-user-doc -->
2236 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl
2237 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement()
2238 * @generated
2239 */
2240 int NAMED_ELEMENT = 38;
2241
2242 /**
2243 * The feature id for the '<em><b>Name</b></em>' attribute.
2244 * <!-- begin-user-doc -->
2245 * <!-- end-user-doc -->
2246 * @generated
2247 * @ordered
2248 */
2249 int NAMED_ELEMENT__NAME = 0;
2250
2251 /**
2252 * The number of structural features of the '<em>Named Element</em>' class.
2253 * <!-- begin-user-doc -->
2254 * <!-- end-user-doc -->
2255 * @generated
2256 * @ordered
2257 */
2258 int NAMED_ELEMENT_FEATURE_COUNT = 1;
2259
2260 /**
2261 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl <em>Assertion</em>}' class.
2262 * <!-- begin-user-doc -->
2263 * <!-- end-user-doc -->
2264 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl
2265 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAssertion()
2266 * @generated
2267 */
2268 int ASSERTION = 39;
2269
2270 /**
2271 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2272 * <!-- begin-user-doc -->
2273 * <!-- end-user-doc -->
2274 * @generated
2275 * @ordered
2276 */
2277 int ASSERTION__ABSTRACT = STATEMENT__ABSTRACT;
2278
2279 /**
2280 * The feature id for the '<em><b>Name</b></em>' attribute.
2281 * <!-- begin-user-doc -->
2282 * <!-- end-user-doc -->
2283 * @generated
2284 * @ordered
2285 */
2286 int ASSERTION__NAME = STATEMENT__NAME;
2287
2288 /**
2289 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2290 * <!-- begin-user-doc -->
2291 * <!-- end-user-doc -->
2292 * @generated
2293 * @ordered
2294 */
2295 int ASSERTION__SUPERCLASSES = STATEMENT__SUPERCLASSES;
2296
2297 /**
2298 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2299 * <!-- begin-user-doc -->
2300 * <!-- end-user-doc -->
2301 * @generated
2302 * @ordered
2303 */
2304 int ASSERTION__MEMBERS = STATEMENT__MEMBERS;
2305
2306 /**
2307 * The feature id for the '<em><b>Body</b></em>' containment reference.
2308 * <!-- begin-user-doc -->
2309 * <!-- end-user-doc -->
2310 * @generated
2311 * @ordered
2312 */
2313 int ASSERTION__BODY = STATEMENT_FEATURE_COUNT + 0;
2314
2315 /**
2316 * The feature id for the '<em><b>Range</b></em>' containment reference.
2317 * <!-- begin-user-doc -->
2318 * <!-- end-user-doc -->
2319 * @generated
2320 * @ordered
2321 */
2322 int ASSERTION__RANGE = STATEMENT_FEATURE_COUNT + 1;
2323
2324 /**
2325 * The number of structural features of the '<em>Assertion</em>' class.
2326 * <!-- begin-user-doc -->
2327 * <!-- end-user-doc -->
2328 * @generated
2329 * @ordered
2330 */
2331 int ASSERTION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
2332
2333 /**
2334 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl <em>Disjunction</em>}' class.
2335 * <!-- begin-user-doc -->
2336 * <!-- end-user-doc -->
2337 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl
2338 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction()
2339 * @generated
2340 */
2341 int DISJUNCTION = 40;
2342
2343 /**
2344 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2345 * <!-- begin-user-doc -->
2346 * <!-- end-user-doc -->
2347 * @generated
2348 * @ordered
2349 */
2350 int DISJUNCTION__ABSTRACT = EXPRESSION__ABSTRACT;
2351
2352 /**
2353 * The feature id for the '<em><b>Name</b></em>' attribute.
2354 * <!-- begin-user-doc -->
2355 * <!-- end-user-doc -->
2356 * @generated
2357 * @ordered
2358 */
2359 int DISJUNCTION__NAME = EXPRESSION__NAME;
2360
2361 /**
2362 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2363 * <!-- begin-user-doc -->
2364 * <!-- end-user-doc -->
2365 * @generated
2366 * @ordered
2367 */
2368 int DISJUNCTION__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2369
2370 /**
2371 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2372 * <!-- begin-user-doc -->
2373 * <!-- end-user-doc -->
2374 * @generated
2375 * @ordered
2376 */
2377 int DISJUNCTION__MEMBERS = EXPRESSION__MEMBERS;
2378
2379 /**
2380 * The feature id for the '<em><b>Children</b></em>' containment reference list.
2381 * <!-- begin-user-doc -->
2382 * <!-- end-user-doc -->
2383 * @generated
2384 * @ordered
2385 */
2386 int DISJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0;
2387
2388 /**
2389 * The number of structural features of the '<em>Disjunction</em>' class.
2390 * <!-- begin-user-doc -->
2391 * <!-- end-user-doc -->
2392 * @generated
2393 * @ordered
2394 */
2395 int DISJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
2396
2397 /**
2398 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl <em>Switch</em>}' class.
2399 * <!-- begin-user-doc -->
2400 * <!-- end-user-doc -->
2401 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl
2402 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch()
2403 * @generated
2404 */
2405 int SWITCH = 41;
2406
2407 /**
2408 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2409 * <!-- begin-user-doc -->
2410 * <!-- end-user-doc -->
2411 * @generated
2412 * @ordered
2413 */
2414 int SWITCH__ABSTRACT = EXPRESSION__ABSTRACT;
2415
2416 /**
2417 * The feature id for the '<em><b>Name</b></em>' attribute.
2418 * <!-- begin-user-doc -->
2419 * <!-- end-user-doc -->
2420 * @generated
2421 * @ordered
2422 */
2423 int SWITCH__NAME = EXPRESSION__NAME;
2424
2425 /**
2426 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2427 * <!-- begin-user-doc -->
2428 * <!-- end-user-doc -->
2429 * @generated
2430 * @ordered
2431 */
2432 int SWITCH__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2433
2434 /**
2435 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2436 * <!-- begin-user-doc -->
2437 * <!-- end-user-doc -->
2438 * @generated
2439 * @ordered
2440 */
2441 int SWITCH__MEMBERS = EXPRESSION__MEMBERS;
2442
2443 /**
2444 * The feature id for the '<em><b>Cases</b></em>' containment reference list.
2445 * <!-- begin-user-doc -->
2446 * <!-- end-user-doc -->
2447 * @generated
2448 * @ordered
2449 */
2450 int SWITCH__CASES = EXPRESSION_FEATURE_COUNT + 0;
2451
2452 /**
2453 * The number of structural features of the '<em>Switch</em>' class.
2454 * <!-- begin-user-doc -->
2455 * <!-- end-user-doc -->
2456 * @generated
2457 * @ordered
2458 */
2459 int SWITCH_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
2460
2461 /**
2462 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl <em>Conjunction</em>}' class.
2463 * <!-- begin-user-doc -->
2464 * <!-- end-user-doc -->
2465 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl
2466 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction()
2467 * @generated
2468 */
2469 int CONJUNCTION = 42;
2470
2471 /**
2472 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2473 * <!-- begin-user-doc -->
2474 * <!-- end-user-doc -->
2475 * @generated
2476 * @ordered
2477 */
2478 int CONJUNCTION__ABSTRACT = EXPRESSION__ABSTRACT;
2479
2480 /**
2481 * The feature id for the '<em><b>Name</b></em>' attribute.
2482 * <!-- begin-user-doc -->
2483 * <!-- end-user-doc -->
2484 * @generated
2485 * @ordered
2486 */
2487 int CONJUNCTION__NAME = EXPRESSION__NAME;
2488
2489 /**
2490 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2491 * <!-- begin-user-doc -->
2492 * <!-- end-user-doc -->
2493 * @generated
2494 * @ordered
2495 */
2496 int CONJUNCTION__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2497
2498 /**
2499 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2500 * <!-- begin-user-doc -->
2501 * <!-- end-user-doc -->
2502 * @generated
2503 * @ordered
2504 */
2505 int CONJUNCTION__MEMBERS = EXPRESSION__MEMBERS;
2506
2507 /**
2508 * The feature id for the '<em><b>Children</b></em>' containment reference list.
2509 * <!-- begin-user-doc -->
2510 * <!-- end-user-doc -->
2511 * @generated
2512 * @ordered
2513 */
2514 int CONJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0;
2515
2516 /**
2517 * The number of structural features of the '<em>Conjunction</em>' class.
2518 * <!-- begin-user-doc -->
2519 * <!-- end-user-doc -->
2520 * @generated
2521 * @ordered
2522 */
2523 int CONJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
2524
2525 /**
2526 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl <em>Comparison</em>}' class.
2527 * <!-- begin-user-doc -->
2528 * <!-- end-user-doc -->
2529 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl
2530 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison()
2531 * @generated
2532 */
2533 int COMPARISON = 43;
2534
2535 /**
2536 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2537 * <!-- begin-user-doc -->
2538 * <!-- end-user-doc -->
2539 * @generated
2540 * @ordered
2541 */
2542 int COMPARISON__ABSTRACT = EXPRESSION__ABSTRACT;
2543
2544 /**
2545 * The feature id for the '<em><b>Name</b></em>' attribute.
2546 * <!-- begin-user-doc -->
2547 * <!-- end-user-doc -->
2548 * @generated
2549 * @ordered
2550 */
2551 int COMPARISON__NAME = EXPRESSION__NAME;
2552
2553 /**
2554 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2555 * <!-- begin-user-doc -->
2556 * <!-- end-user-doc -->
2557 * @generated
2558 * @ordered
2559 */
2560 int COMPARISON__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2561
2562 /**
2563 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2564 * <!-- begin-user-doc -->
2565 * <!-- end-user-doc -->
2566 * @generated
2567 * @ordered
2568 */
2569 int COMPARISON__MEMBERS = EXPRESSION__MEMBERS;
2570
2571 /**
2572 * The feature id for the '<em><b>Left</b></em>' containment reference.
2573 * <!-- begin-user-doc -->
2574 * <!-- end-user-doc -->
2575 * @generated
2576 * @ordered
2577 */
2578 int COMPARISON__LEFT = EXPRESSION_FEATURE_COUNT + 0;
2579
2580 /**
2581 * The feature id for the '<em><b>Op</b></em>' attribute.
2582 * <!-- begin-user-doc -->
2583 * <!-- end-user-doc -->
2584 * @generated
2585 * @ordered
2586 */
2587 int COMPARISON__OP = EXPRESSION_FEATURE_COUNT + 1;
2588
2589 /**
2590 * The feature id for the '<em><b>Right</b></em>' containment reference.
2591 * <!-- begin-user-doc -->
2592 * <!-- end-user-doc -->
2593 * @generated
2594 * @ordered
2595 */
2596 int COMPARISON__RIGHT = EXPRESSION_FEATURE_COUNT + 2;
2597
2598 /**
2599 * The number of structural features of the '<em>Comparison</em>' class.
2600 * <!-- begin-user-doc -->
2601 * <!-- end-user-doc -->
2602 * @generated
2603 * @ordered
2604 */
2605 int COMPARISON_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
2606
2607 /**
2608 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl <em>Binary Expression</em>}' class.
2609 * <!-- begin-user-doc -->
2610 * <!-- end-user-doc -->
2611 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl
2612 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression()
2613 * @generated
2614 */
2615 int BINARY_EXPRESSION = 44;
2616
2617 /**
2618 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2619 * <!-- begin-user-doc -->
2620 * <!-- end-user-doc -->
2621 * @generated
2622 * @ordered
2623 */
2624 int BINARY_EXPRESSION__ABSTRACT = EXPRESSION__ABSTRACT;
2625
2626 /**
2627 * The feature id for the '<em><b>Name</b></em>' attribute.
2628 * <!-- begin-user-doc -->
2629 * <!-- end-user-doc -->
2630 * @generated
2631 * @ordered
2632 */
2633 int BINARY_EXPRESSION__NAME = EXPRESSION__NAME;
2634
2635 /**
2636 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2637 * <!-- begin-user-doc -->
2638 * <!-- end-user-doc -->
2639 * @generated
2640 * @ordered
2641 */
2642 int BINARY_EXPRESSION__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2643
2644 /**
2645 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2646 * <!-- begin-user-doc -->
2647 * <!-- end-user-doc -->
2648 * @generated
2649 * @ordered
2650 */
2651 int BINARY_EXPRESSION__MEMBERS = EXPRESSION__MEMBERS;
2652
2653 /**
2654 * The feature id for the '<em><b>Left</b></em>' containment reference.
2655 * <!-- begin-user-doc -->
2656 * <!-- end-user-doc -->
2657 * @generated
2658 * @ordered
2659 */
2660 int BINARY_EXPRESSION__LEFT = EXPRESSION_FEATURE_COUNT + 0;
2661
2662 /**
2663 * The feature id for the '<em><b>Op</b></em>' attribute.
2664 * <!-- begin-user-doc -->
2665 * <!-- end-user-doc -->
2666 * @generated
2667 * @ordered
2668 */
2669 int BINARY_EXPRESSION__OP = EXPRESSION_FEATURE_COUNT + 1;
2670
2671 /**
2672 * The feature id for the '<em><b>Right</b></em>' containment reference.
2673 * <!-- begin-user-doc -->
2674 * <!-- end-user-doc -->
2675 * @generated
2676 * @ordered
2677 */
2678 int BINARY_EXPRESSION__RIGHT = EXPRESSION_FEATURE_COUNT + 2;
2679
2680 /**
2681 * The number of structural features of the '<em>Binary Expression</em>' class.
2682 * <!-- begin-user-doc -->
2683 * <!-- end-user-doc -->
2684 * @generated
2685 * @ordered
2686 */
2687 int BINARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
2688
2689 /**
2690 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl <em>Unary Expression</em>}' class.
2691 * <!-- begin-user-doc -->
2692 * <!-- end-user-doc -->
2693 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl
2694 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression()
2695 * @generated
2696 */
2697 int UNARY_EXPRESSION = 45;
2698
2699 /**
2700 * The feature id for the '<em><b>Abstract</b></em>' attribute.
2701 * <!-- begin-user-doc -->
2702 * <!-- end-user-doc -->
2703 * @generated
2704 * @ordered
2705 */
2706 int UNARY_EXPRESSION__ABSTRACT = EXPRESSION__ABSTRACT;
2707
2708 /**
2709 * The feature id for the '<em><b>Name</b></em>' attribute.
2710 * <!-- begin-user-doc -->
2711 * <!-- end-user-doc -->
2712 * @generated
2713 * @ordered
2714 */
2715 int UNARY_EXPRESSION__NAME = EXPRESSION__NAME;
2716
2717 /**
2718 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
2719 * <!-- begin-user-doc -->
2720 * <!-- end-user-doc -->
2721 * @generated
2722 * @ordered
2723 */
2724 int UNARY_EXPRESSION__SUPERCLASSES = EXPRESSION__SUPERCLASSES;
2725
2726 /**
2727 * The feature id for the '<em><b>Members</b></em>' containment reference list.
2728 * <!-- begin-user-doc -->
2729 * <!-- end-user-doc -->
2730 * @generated
2731 * @ordered
2732 */
2733 int UNARY_EXPRESSION__MEMBERS = EXPRESSION__MEMBERS;
2734
2735 /**
2736 * The feature id for the '<em><b>Op</b></em>' attribute.
2737 * <!-- begin-user-doc -->
2738 * <!-- end-user-doc -->
2739 * @generated
2740 * @ordered
2741 */
2742 int UNARY_EXPRESSION__OP = EXPRESSION_FEATURE_COUNT + 0;
2743
2744 /**
2745 * The feature id for the '<em><b>Body</b></em>' containment reference.
2746 * <!-- begin-user-doc -->
2747 * <!-- end-user-doc -->
2748 * @generated
2749 * @ordered
2750 */
2751 int UNARY_EXPRESSION__BODY = EXPRESSION_FEATURE_COUNT + 1;
2752
2753 /**
2754 * The number of structural features of the '<em>Unary Expression</em>' class.
2755 * <!-- begin-user-doc -->
2756 * <!-- end-user-doc -->
2757 * @generated
2758 * @ordered
2759 */
2760 int UNARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
2761
2762 /**
2763 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricType <em>Metric Type</em>}' enum.
2764 * <!-- begin-user-doc -->
2765 * <!-- end-user-doc -->
2766 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
2767 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricType()
2768 * @generated
2769 */
2770 int METRIC_TYPE = 46;
2771
2772 /**
2773 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator <em>Binary Operator</em>}' enum.
2774 * <!-- begin-user-doc -->
2775 * <!-- end-user-doc -->
2776 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
2777 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryOperator()
2778 * @generated
2779 */
2780 int BINARY_OPERATOR = 47;
2781
2782 /**
2783 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp <em>Unary Op</em>}' enum.
2784 * <!-- begin-user-doc -->
2785 * <!-- end-user-doc -->
2786 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
2787 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOp()
2788 * @generated
2789 */
2790 int UNARY_OP = 48;
2791
2792 /**
2793 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp <em>Aggregation Op</em>}' enum.
2794 * <!-- begin-user-doc -->
2795 * <!-- end-user-doc -->
2796 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
2797 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregationOp()
2798 * @generated
2799 */
2800 int AGGREGATION_OP = 49;
2801
2802 /**
2803 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue <em>Logic Value</em>}' enum.
2804 * <!-- begin-user-doc -->
2805 * <!-- end-user-doc -->
2806 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
2807 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicValue()
2808 * @generated
2809 */
2810 int LOGIC_VALUE = 50;
2811
2812 /**
2813 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind <em>Objective Kind</em>}' enum.
2814 * <!-- begin-user-doc -->
2815 * <!-- end-user-doc -->
2816 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
2817 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveKind()
2818 * @generated
2819 */
2820 int OBJECTIVE_KIND = 51;
1443 2821
1444 2822
1445 /** 2823 /**
@@ -1474,525 +2852,633 @@ public interface SolverLanguagePackage extends EPackage
1474 EClass getStatement(); 2852 EClass getStatement();
1475 2853
1476 /** 2854 /**
1477 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanValue <em>Boolean Value</em>}'. 2855 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract <em>Abstract</em>}'.
1478 * <!-- begin-user-doc --> 2856 * <!-- begin-user-doc -->
1479 * <!-- end-user-doc --> 2857 * <!-- end-user-doc -->
1480 * @return the meta object for class '<em>Boolean Value</em>'. 2858 * @return the meta object for the attribute '<em>Abstract</em>'.
1481 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanValue 2859 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract()
2860 * @see #getStatement()
1482 * @generated 2861 * @generated
1483 */ 2862 */
1484 EClass getBooleanValue(); 2863 EAttribute getStatement_Abstract();
1485 2864
1486 /** 2865 /**
1487 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TruthValue <em>Truth Value</em>}'. 2866 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getName <em>Name</em>}'.
1488 * <!-- begin-user-doc --> 2867 * <!-- begin-user-doc -->
1489 * <!-- end-user-doc --> 2868 * <!-- end-user-doc -->
1490 * @return the meta object for class '<em>Truth Value</em>'. 2869 * @return the meta object for the attribute '<em>Name</em>'.
1491 * @see org.eclipse.viatra.solver.language.solverLanguage.TruthValue 2870 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#getName()
2871 * @see #getStatement()
1492 * @generated 2872 * @generated
1493 */ 2873 */
1494 EClass getTruthValue(); 2874 EAttribute getStatement_Name();
1495 2875
1496 /** 2876 /**
1497 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation <em>Interpretation</em>}'. 2877 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getSuperclasses <em>Superclasses</em>}'.
1498 * <!-- begin-user-doc --> 2878 * <!-- begin-user-doc -->
1499 * <!-- end-user-doc --> 2879 * <!-- end-user-doc -->
1500 * @return the meta object for class '<em>Interpretation</em>'. 2880 * @return the meta object for the reference list '<em>Superclasses</em>'.
1501 * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation 2881 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#getSuperclasses()
2882 * @see #getStatement()
1502 * @generated 2883 * @generated
1503 */ 2884 */
1504 EClass getInterpretation(); 2885 EReference getStatement_Superclasses();
1505 2886
1506 /** 2887 /**
1507 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation <em>Basic Interpretation</em>}'. 2888 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getMembers <em>Members</em>}'.
1508 * <!-- begin-user-doc --> 2889 * <!-- begin-user-doc -->
1509 * <!-- end-user-doc --> 2890 * <!-- end-user-doc -->
1510 * @return the meta object for class '<em>Basic Interpretation</em>'. 2891 * @return the meta object for the containment reference list '<em>Members</em>'.
1511 * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation 2892 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#getMembers()
2893 * @see #getStatement()
1512 * @generated 2894 * @generated
1513 */ 2895 */
1514 EClass getBasicInterpretation(); 2896 EReference getStatement_Members();
1515 2897
1516 /** 2898 /**
1517 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getSymbol <em>Symbol</em>}'. 2899 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition <em>Predicate Definition</em>}'.
1518 * <!-- begin-user-doc --> 2900 * <!-- begin-user-doc -->
1519 * <!-- end-user-doc --> 2901 * <!-- end-user-doc -->
1520 * @return the meta object for the containment reference '<em>Symbol</em>'. 2902 * @return the meta object for class '<em>Predicate Definition</em>'.
1521 * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getSymbol() 2903 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition
1522 * @see #getBasicInterpretation()
1523 * @generated 2904 * @generated
1524 */ 2905 */
1525 EReference getBasicInterpretation_Symbol(); 2906 EClass getPredicateDefinition();
1526 2907
1527 /** 2908 /**
1528 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getObjects <em>Objects</em>}'. 2909 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead <em>Head</em>}'.
1529 * <!-- begin-user-doc --> 2910 * <!-- begin-user-doc -->
1530 * <!-- end-user-doc --> 2911 * <!-- end-user-doc -->
1531 * @return the meta object for the containment reference list '<em>Objects</em>'. 2912 * @return the meta object for the containment reference '<em>Head</em>'.
1532 * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getObjects() 2913 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead()
1533 * @see #getBasicInterpretation() 2914 * @see #getPredicateDefinition()
1534 * @generated 2915 * @generated
1535 */ 2916 */
1536 EReference getBasicInterpretation_Objects(); 2917 EReference getPredicateDefinition_Head();
1537 2918
1538 /** 2919 /**
1539 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getValue <em>Value</em>}'. 2920 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody <em>Body</em>}'.
1540 * <!-- begin-user-doc --> 2921 * <!-- begin-user-doc -->
1541 * <!-- end-user-doc --> 2922 * <!-- end-user-doc -->
1542 * @return the meta object for the containment reference '<em>Value</em>'. 2923 * @return the meta object for the containment reference '<em>Body</em>'.
1543 * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getValue() 2924 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody()
1544 * @see #getBasicInterpretation() 2925 * @see #getPredicateDefinition()
1545 * @generated 2926 * @generated
1546 */ 2927 */
1547 EReference getBasicInterpretation_Value(); 2928 EReference getPredicateDefinition_Body();
1548 2929
1549 /** 2930 /**
1550 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Symbol <em>Symbol</em>}'. 2931 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional <em>Functional</em>}'.
1551 * <!-- begin-user-doc --> 2932 * <!-- begin-user-doc -->
1552 * <!-- end-user-doc --> 2933 * <!-- end-user-doc -->
1553 * @return the meta object for class '<em>Symbol</em>'. 2934 * @return the meta object for the attribute '<em>Functional</em>'.
1554 * @see org.eclipse.viatra.solver.language.solverLanguage.Symbol 2935 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional()
2936 * @see #getPredicateDefinition()
1555 * @generated 2937 * @generated
1556 */ 2938 */
1557 EClass getSymbol(); 2939 EAttribute getPredicateDefinition_Functional();
1558 2940
1559 /** 2941 /**
1560 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol <em>Model Symbol</em>}'. 2942 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError <em>Error</em>}'.
1561 * <!-- begin-user-doc --> 2943 * <!-- begin-user-doc -->
1562 * <!-- end-user-doc --> 2944 * <!-- end-user-doc -->
1563 * @return the meta object for class '<em>Model Symbol</em>'. 2945 * @return the meta object for the attribute '<em>Error</em>'.
1564 * @see org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol 2946 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError()
2947 * @see #getPredicateDefinition()
1565 * @generated 2948 * @generated
1566 */ 2949 */
1567 EClass getModelSymbol(); 2950 EAttribute getPredicateDefinition_Error();
1568 2951
1569 /** 2952 /**
1570 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol#getName <em>Name</em>}'. 2953 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition <em>Unnamed Error Prediate Definition</em>}'.
1571 * <!-- begin-user-doc --> 2954 * <!-- begin-user-doc -->
1572 * <!-- end-user-doc --> 2955 * <!-- end-user-doc -->
1573 * @return the meta object for the attribute '<em>Name</em>'. 2956 * @return the meta object for class '<em>Unnamed Error Prediate Definition</em>'.
1574 * @see org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol#getName() 2957 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition
1575 * @see #getModelSymbol()
1576 * @generated 2958 * @generated
1577 */ 2959 */
1578 EAttribute getModelSymbol_Name(); 2960 EClass getUnnamedErrorPrediateDefinition();
1579 2961
1580 /** 2962 /**
1581 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol <em>Partiality Symbol</em>}'. 2963 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList <em>Argument List</em>}'.
1582 * <!-- begin-user-doc --> 2964 * <!-- begin-user-doc -->
1583 * <!-- end-user-doc --> 2965 * <!-- end-user-doc -->
1584 * @return the meta object for class '<em>Partiality Symbol</em>'. 2966 * @return the meta object for the containment reference '<em>Argument List</em>'.
1585 * @see org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol 2967 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList()
2968 * @see #getUnnamedErrorPrediateDefinition()
1586 * @generated 2969 * @generated
1587 */ 2970 */
1588 EClass getPartialitySymbol(); 2971 EReference getUnnamedErrorPrediateDefinition_ArgumentList();
1589 2972
1590 /** 2973 /**
1591 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol <em>Exist Symbol</em>}'. 2974 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody <em>Body</em>}'.
1592 * <!-- begin-user-doc --> 2975 * <!-- begin-user-doc -->
1593 * <!-- end-user-doc --> 2976 * <!-- end-user-doc -->
1594 * @return the meta object for class '<em>Exist Symbol</em>'. 2977 * @return the meta object for the containment reference '<em>Body</em>'.
1595 * @see org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol 2978 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody()
2979 * @see #getUnnamedErrorPrediateDefinition()
1596 * @generated 2980 * @generated
1597 */ 2981 */
1598 EClass getExistSymbol(); 2982 EReference getUnnamedErrorPrediateDefinition_Body();
1599 2983
1600 /** 2984 /**
1601 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol <em>Equals Symbol</em>}'. 2985 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition <em>Default Definition</em>}'.
1602 * <!-- begin-user-doc --> 2986 * <!-- begin-user-doc -->
1603 * <!-- end-user-doc --> 2987 * <!-- end-user-doc -->
1604 * @return the meta object for class '<em>Equals Symbol</em>'. 2988 * @return the meta object for class '<em>Default Definition</em>'.
1605 * @see org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol 2989 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition
1606 * @generated 2990 * @generated
1607 */ 2991 */
1608 EClass getEqualsSymbol(); 2992 EClass getDefaultDefinition();
1609 2993
1610 /** 2994 /**
1611 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DataSymbol <em>Data Symbol</em>}'. 2995 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead <em>Head</em>}'.
1612 * <!-- begin-user-doc --> 2996 * <!-- begin-user-doc -->
1613 * <!-- end-user-doc --> 2997 * <!-- end-user-doc -->
1614 * @return the meta object for class '<em>Data Symbol</em>'. 2998 * @return the meta object for the containment reference '<em>Head</em>'.
1615 * @see org.eclipse.viatra.solver.language.solverLanguage.DataSymbol 2999 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead()
3000 * @see #getDefaultDefinition()
1616 * @generated 3001 * @generated
1617 */ 3002 */
1618 EClass getDataSymbol(); 3003 EReference getDefaultDefinition_Head();
1619 3004
1620 /** 3005 /**
1621 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol <em>Boolean Symbol</em>}'. 3006 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange <em>Range</em>}'.
1622 * <!-- begin-user-doc --> 3007 * <!-- begin-user-doc -->
1623 * <!-- end-user-doc --> 3008 * <!-- end-user-doc -->
1624 * @return the meta object for class '<em>Boolean Symbol</em>'. 3009 * @return the meta object for the containment reference '<em>Range</em>'.
1625 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol 3010 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange()
3011 * @see #getDefaultDefinition()
1626 * @generated 3012 * @generated
1627 */ 3013 */
1628 EClass getBooleanSymbol(); 3014 EReference getDefaultDefinition_Range();
1629 3015
1630 /** 3016 /**
1631 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol <em>Integer Symbol</em>}'. 3017 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition <em>Extern Predicate Definition</em>}'.
1632 * <!-- begin-user-doc --> 3018 * <!-- begin-user-doc -->
1633 * <!-- end-user-doc --> 3019 * <!-- end-user-doc -->
1634 * @return the meta object for class '<em>Integer Symbol</em>'. 3020 * @return the meta object for class '<em>Extern Predicate Definition</em>'.
1635 * @see org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol 3021 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition
1636 * @generated 3022 * @generated
1637 */ 3023 */
1638 EClass getIntegerSymbol(); 3024 EClass getExternPredicateDefinition();
1639 3025
1640 /** 3026 /**
1641 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealSymbol <em>Real Symbol</em>}'. 3027 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getHead <em>Head</em>}'.
1642 * <!-- begin-user-doc --> 3028 * <!-- begin-user-doc -->
1643 * <!-- end-user-doc --> 3029 * <!-- end-user-doc -->
1644 * @return the meta object for class '<em>Real Symbol</em>'. 3030 * @return the meta object for the containment reference '<em>Head</em>'.
1645 * @see org.eclipse.viatra.solver.language.solverLanguage.RealSymbol 3031 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getHead()
3032 * @see #getExternPredicateDefinition()
1646 * @generated 3033 * @generated
1647 */ 3034 */
1648 EClass getRealSymbol(); 3035 EReference getExternPredicateDefinition_Head();
1649 3036
1650 /** 3037 /**
1651 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringSymbol <em>String Symbol</em>}'. 3038 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition <em>Metric Definition</em>}'.
1652 * <!-- begin-user-doc --> 3039 * <!-- begin-user-doc -->
1653 * <!-- end-user-doc --> 3040 * <!-- end-user-doc -->
1654 * @return the meta object for class '<em>String Symbol</em>'. 3041 * @return the meta object for class '<em>Metric Definition</em>'.
1655 * @see org.eclipse.viatra.solver.language.solverLanguage.StringSymbol 3042 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition
1656 * @generated 3043 * @generated
1657 */ 3044 */
1658 EClass getStringSymbol(); 3045 EClass getMetricDefinition();
1659 3046
1660 /** 3047 /**
1661 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ComplexObject <em>Complex Object</em>}'. 3048 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead <em>Head</em>}'.
1662 * <!-- begin-user-doc --> 3049 * <!-- begin-user-doc -->
1663 * <!-- end-user-doc --> 3050 * <!-- end-user-doc -->
1664 * @return the meta object for class '<em>Complex Object</em>'. 3051 * @return the meta object for the containment reference '<em>Head</em>'.
1665 * @see org.eclipse.viatra.solver.language.solverLanguage.ComplexObject 3052 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead()
3053 * @see #getMetricDefinition()
1666 * @generated 3054 * @generated
1667 */ 3055 */
1668 EClass getComplexObject(); 3056 EReference getMetricDefinition_Head();
1669 3057
1670 /** 3058 /**
1671 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Object <em>Object</em>}'. 3059 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody <em>Body</em>}'.
1672 * <!-- begin-user-doc --> 3060 * <!-- begin-user-doc -->
1673 * <!-- end-user-doc --> 3061 * <!-- end-user-doc -->
1674 * @return the meta object for class '<em>Object</em>'. 3062 * @return the meta object for the containment reference '<em>Body</em>'.
1675 * @see org.eclipse.viatra.solver.language.solverLanguage.Object 3063 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody()
3064 * @see #getMetricDefinition()
1676 * @generated 3065 * @generated
1677 */ 3066 */
1678 EClass getObject(); 3067 EReference getMetricDefinition_Body();
1679 3068
1680 /** 3069 /**
1681 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject <em>Named Object</em>}'. 3070 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType <em>Type</em>}'.
1682 * <!-- begin-user-doc --> 3071 * <!-- begin-user-doc -->
1683 * <!-- end-user-doc --> 3072 * <!-- end-user-doc -->
1684 * @return the meta object for class '<em>Named Object</em>'. 3073 * @return the meta object for the attribute '<em>Type</em>'.
1685 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedObject 3074 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType()
3075 * @see #getMetricDefinition()
1686 * @generated 3076 * @generated
1687 */ 3077 */
1688 EClass getNamedObject(); 3078 EAttribute getMetricDefinition_Type();
1689 3079
1690 /** 3080 /**
1691 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject#getName <em>Name</em>}'. 3081 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition <em>Extern Metric Definition</em>}'.
1692 * <!-- begin-user-doc --> 3082 * <!-- begin-user-doc -->
1693 * <!-- end-user-doc --> 3083 * <!-- end-user-doc -->
1694 * @return the meta object for the attribute '<em>Name</em>'. 3084 * @return the meta object for class '<em>Extern Metric Definition</em>'.
1695 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedObject#getName() 3085 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition
1696 * @see #getNamedObject()
1697 * @generated 3086 * @generated
1698 */ 3087 */
1699 EAttribute getNamedObject_Name(); 3088 EClass getExternMetricDefinition();
1700 3089
1701 /** 3090 /**
1702 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject <em>Unnamed Object</em>}'. 3091 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType <em>Type</em>}'.
1703 * <!-- begin-user-doc --> 3092 * <!-- begin-user-doc -->
1704 * <!-- end-user-doc --> 3093 * <!-- end-user-doc -->
1705 * @return the meta object for class '<em>Unnamed Object</em>'. 3094 * @return the meta object for the attribute '<em>Type</em>'.
1706 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject 3095 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType()
3096 * @see #getExternMetricDefinition()
1707 * @generated 3097 * @generated
1708 */ 3098 */
1709 EClass getUnnamedObject(); 3099 EAttribute getExternMetricDefinition_Type();
1710 3100
1711 /** 3101 /**
1712 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject#getName <em>Name</em>}'. 3102 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead <em>Head</em>}'.
1713 * <!-- begin-user-doc --> 3103 * <!-- begin-user-doc -->
1714 * <!-- end-user-doc --> 3104 * <!-- end-user-doc -->
1715 * @return the meta object for the attribute '<em>Name</em>'. 3105 * @return the meta object for the containment reference '<em>Head</em>'.
1716 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject#getName() 3106 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead()
1717 * @see #getUnnamedObject() 3107 * @see #getExternMetricDefinition()
1718 * @generated 3108 * @generated
1719 */ 3109 */
1720 EAttribute getUnnamedObject_Name(); 3110 EReference getExternMetricDefinition_Head();
1721 3111
1722 /** 3112 /**
1723 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DataObject <em>Data Object</em>}'. 3113 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Expression <em>Expression</em>}'.
1724 * <!-- begin-user-doc --> 3114 * <!-- begin-user-doc -->
1725 * <!-- end-user-doc --> 3115 * <!-- end-user-doc -->
1726 * @return the meta object for class '<em>Data Object</em>'. 3116 * @return the meta object for class '<em>Expression</em>'.
1727 * @see org.eclipse.viatra.solver.language.solverLanguage.DataObject 3117 * @see org.eclipse.viatra.solver.language.solverLanguage.Expression
1728 * @generated 3118 * @generated
1729 */ 3119 */
1730 EClass getDataObject(); 3120 EClass getExpression();
1731 3121
1732 /** 3122 /**
1733 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject <em>Boolean Object</em>}'. 3123 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse <em>If Else</em>}'.
1734 * <!-- begin-user-doc --> 3124 * <!-- begin-user-doc -->
1735 * <!-- end-user-doc --> 3125 * <!-- end-user-doc -->
1736 * @return the meta object for class '<em>Boolean Object</em>'. 3126 * @return the meta object for class '<em>If Else</em>'.
1737 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanObject 3127 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse
1738 * @generated 3128 * @generated
1739 */ 3129 */
1740 EClass getBooleanObject(); 3130 EClass getIfElse();
1741 3131
1742 /** 3132 /**
1743 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject#getValue <em>Value</em>}'. 3133 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition <em>Condition</em>}'.
1744 * <!-- begin-user-doc --> 3134 * <!-- begin-user-doc -->
1745 * <!-- end-user-doc --> 3135 * <!-- end-user-doc -->
1746 * @return the meta object for the containment reference '<em>Value</em>'. 3136 * @return the meta object for the containment reference '<em>Condition</em>'.
1747 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanObject#getValue() 3137 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition()
1748 * @see #getBooleanObject() 3138 * @see #getIfElse()
1749 * @generated 3139 * @generated
1750 */ 3140 */
1751 EReference getBooleanObject_Value(); 3141 EReference getIfElse_Condition();
1752 3142
1753 /** 3143 /**
1754 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject <em>Int Object</em>}'. 3144 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen <em>Then</em>}'.
1755 * <!-- begin-user-doc --> 3145 * <!-- begin-user-doc -->
1756 * <!-- end-user-doc --> 3146 * <!-- end-user-doc -->
1757 * @return the meta object for class '<em>Int Object</em>'. 3147 * @return the meta object for the containment reference '<em>Then</em>'.
1758 * @see org.eclipse.viatra.solver.language.solverLanguage.IntObject 3148 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen()
3149 * @see #getIfElse()
1759 * @generated 3150 * @generated
1760 */ 3151 */
1761 EClass getIntObject(); 3152 EReference getIfElse_Then();
1762 3153
1763 /** 3154 /**
1764 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject#getValue <em>Value</em>}'. 3155 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse <em>Else</em>}'.
1765 * <!-- begin-user-doc --> 3156 * <!-- begin-user-doc -->
1766 * <!-- end-user-doc --> 3157 * <!-- end-user-doc -->
1767 * @return the meta object for the attribute '<em>Value</em>'. 3158 * @return the meta object for the containment reference '<em>Else</em>'.
1768 * @see org.eclipse.viatra.solver.language.solverLanguage.IntObject#getValue() 3159 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse()
1769 * @see #getIntObject() 3160 * @see #getIfElse()
1770 * @generated 3161 * @generated
1771 */ 3162 */
1772 EAttribute getIntObject_Value(); 3163 EReference getIfElse_Else();
1773 3164
1774 /** 3165 /**
1775 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject <em>Real Object</em>}'. 3166 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Case <em>Case</em>}'.
1776 * <!-- begin-user-doc --> 3167 * <!-- begin-user-doc -->
1777 * <!-- end-user-doc --> 3168 * <!-- end-user-doc -->
1778 * @return the meta object for class '<em>Real Object</em>'. 3169 * @return the meta object for class '<em>Case</em>'.
1779 * @see org.eclipse.viatra.solver.language.solverLanguage.RealObject 3170 * @see org.eclipse.viatra.solver.language.solverLanguage.Case
1780 * @generated 3171 * @generated
1781 */ 3172 */
1782 EClass getRealObject(); 3173 EClass getCase();
1783 3174
1784 /** 3175 /**
1785 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject#getValue <em>Value</em>}'. 3176 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition <em>Condition</em>}'.
1786 * <!-- begin-user-doc --> 3177 * <!-- begin-user-doc -->
1787 * <!-- end-user-doc --> 3178 * <!-- end-user-doc -->
1788 * @return the meta object for the attribute '<em>Value</em>'. 3179 * @return the meta object for the containment reference '<em>Condition</em>'.
1789 * @see org.eclipse.viatra.solver.language.solverLanguage.RealObject#getValue() 3180 * @see org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition()
1790 * @see #getRealObject() 3181 * @see #getCase()
1791 * @generated 3182 * @generated
1792 */ 3183 */
1793 EAttribute getRealObject_Value(); 3184 EReference getCase_Condition();
1794 3185
1795 /** 3186 /**
1796 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject <em>String Object</em>}'. 3187 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody <em>Body</em>}'.
1797 * <!-- begin-user-doc --> 3188 * <!-- begin-user-doc -->
1798 * <!-- end-user-doc --> 3189 * <!-- end-user-doc -->
1799 * @return the meta object for class '<em>String Object</em>'. 3190 * @return the meta object for the containment reference '<em>Body</em>'.
1800 * @see org.eclipse.viatra.solver.language.solverLanguage.StringObject 3191 * @see org.eclipse.viatra.solver.language.solverLanguage.Case#getBody()
3192 * @see #getCase()
1801 * @generated 3193 * @generated
1802 */ 3194 */
1803 EClass getStringObject(); 3195 EReference getCase_Body();
1804 3196
1805 /** 3197 /**
1806 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject#getValue <em>Value</em>}'. 3198 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Count <em>Count</em>}'.
1807 * <!-- begin-user-doc --> 3199 * <!-- begin-user-doc -->
1808 * <!-- end-user-doc --> 3200 * <!-- end-user-doc -->
1809 * @return the meta object for the attribute '<em>Value</em>'. 3201 * @return the meta object for class '<em>Count</em>'.
1810 * @see org.eclipse.viatra.solver.language.solverLanguage.StringObject#getValue() 3202 * @see org.eclipse.viatra.solver.language.solverLanguage.Count
1811 * @see #getStringObject() 3203 * @generated
3204 */
3205 EClass getCount();
3206
3207 /**
3208 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Count#getBody <em>Body</em>}'.
3209 * <!-- begin-user-doc -->
3210 * <!-- end-user-doc -->
3211 * @return the meta object for the containment reference '<em>Body</em>'.
3212 * @see org.eclipse.viatra.solver.language.solverLanguage.Count#getBody()
3213 * @see #getCount()
3214 * @generated
3215 */
3216 EReference getCount_Body();
3217
3218 /**
3219 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation <em>Aggregation</em>}'.
3220 * <!-- begin-user-doc -->
3221 * <!-- end-user-doc -->
3222 * @return the meta object for class '<em>Aggregation</em>'.
3223 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation
3224 * @generated
3225 */
3226 EClass getAggregation();
3227
3228 /**
3229 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp <em>Op</em>}'.
3230 * <!-- begin-user-doc -->
3231 * <!-- end-user-doc -->
3232 * @return the meta object for the attribute '<em>Op</em>'.
3233 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp()
3234 * @see #getAggregation()
3235 * @generated
3236 */
3237 EAttribute getAggregation_Op();
3238
3239 /**
3240 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody <em>Body</em>}'.
3241 * <!-- begin-user-doc -->
3242 * <!-- end-user-doc -->
3243 * @return the meta object for the containment reference '<em>Body</em>'.
3244 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody()
3245 * @see #getAggregation()
3246 * @generated
3247 */
3248 EReference getAggregation_Body();
3249
3250 /**
3251 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition <em>Condition</em>}'.
3252 * <!-- begin-user-doc -->
3253 * <!-- end-user-doc -->
3254 * @return the meta object for the containment reference '<em>Condition</em>'.
3255 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition()
3256 * @see #getAggregation()
1812 * @generated 3257 * @generated
1813 */ 3258 */
1814 EAttribute getStringObject_Value(); 3259 EReference getAggregation_Condition();
1815 3260
1816 /** 3261 /**
1817 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate <em>Predicate</em>}'. 3262 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Call <em>Call</em>}'.
1818 * <!-- begin-user-doc --> 3263 * <!-- begin-user-doc -->
1819 * <!-- end-user-doc --> 3264 * <!-- end-user-doc -->
1820 * @return the meta object for class '<em>Predicate</em>'. 3265 * @return the meta object for class '<em>Call</em>'.
1821 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate 3266 * @see org.eclipse.viatra.solver.language.solverLanguage.Call
1822 * @generated 3267 * @generated
1823 */ 3268 */
1824 EClass getPredicate(); 3269 EClass getCall();
1825 3270
1826 /** 3271 /**
1827 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError <em>Is Error</em>}'. 3272 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor <em>Functor</em>}'.
1828 * <!-- begin-user-doc --> 3273 * <!-- begin-user-doc -->
1829 * <!-- end-user-doc --> 3274 * <!-- end-user-doc -->
1830 * @return the meta object for the attribute '<em>Is Error</em>'. 3275 * @return the meta object for the containment reference '<em>Functor</em>'.
1831 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError() 3276 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor()
1832 * @see #getPredicate() 3277 * @see #getCall()
1833 * @generated 3278 * @generated
1834 */ 3279 */
1835 EAttribute getPredicate_IsError(); 3280 EReference getCall_Functor();
1836 3281
1837 /** 3282 /**
1838 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol <em>Symbol</em>}'. 3283 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}'.
1839 * <!-- begin-user-doc --> 3284 * <!-- begin-user-doc -->
1840 * <!-- end-user-doc --> 3285 * <!-- end-user-doc -->
1841 * @return the meta object for the containment reference '<em>Symbol</em>'. 3286 * @return the meta object for the containment reference '<em>Argument List</em>'.
1842 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol() 3287 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList()
1843 * @see #getPredicate() 3288 * @see #getCall()
1844 * @generated 3289 * @generated
1845 */ 3290 */
1846 EReference getPredicate_Symbol(); 3291 EReference getCall_ArgumentList();
1847 3292
1848 /** 3293 /**
1849 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters <em>Parameters</em>}'. 3294 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}'.
1850 * <!-- begin-user-doc --> 3295 * <!-- begin-user-doc -->
1851 * <!-- end-user-doc --> 3296 * <!-- end-user-doc -->
1852 * @return the meta object for the containment reference list '<em>Parameters</em>'. 3297 * @return the meta object for the attribute '<em>Transitive Closure</em>'.
1853 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters() 3298 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure()
1854 * @see #getPredicate() 3299 * @see #getCall()
1855 * @generated 3300 * @generated
1856 */ 3301 */
1857 EReference getPredicate_Parameters(); 3302 EAttribute getCall_TransitiveClosure();
1858 3303
1859 /** 3304 /**
1860 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies <em>Bodies</em>}'. 3305 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}'.
1861 * <!-- begin-user-doc --> 3306 * <!-- begin-user-doc -->
1862 * <!-- end-user-doc --> 3307 * <!-- end-user-doc -->
1863 * @return the meta object for the containment reference list '<em>Bodies</em>'. 3308 * @return the meta object for the attribute '<em>Reflexive Transitive Closure</em>'.
1864 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies() 3309 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure()
1865 * @see #getPredicate() 3310 * @see #getCall()
1866 * @generated 3311 * @generated
1867 */ 3312 */
1868 EReference getPredicate_Bodies(); 3313 EAttribute getCall_ReflexiveTransitiveClosure();
1869 3314
1870 /** 3315 /**
1871 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter <em>Parameter</em>}'. 3316 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList <em>Argument List</em>}'.
1872 * <!-- begin-user-doc --> 3317 * <!-- begin-user-doc -->
1873 * <!-- end-user-doc --> 3318 * <!-- end-user-doc -->
1874 * @return the meta object for class '<em>Parameter</em>'. 3319 * @return the meta object for class '<em>Argument List</em>'.
1875 * @see org.eclipse.viatra.solver.language.solverLanguage.Parameter 3320 * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList
1876 * @generated 3321 * @generated
1877 */ 3322 */
1878 EClass getParameter(); 3323 EClass getArgumentList();
1879 3324
1880 /** 3325 /**
1881 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getVariable <em>Variable</em>}'. 3326 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments <em>Arguments</em>}'.
1882 * <!-- begin-user-doc --> 3327 * <!-- begin-user-doc -->
1883 * <!-- end-user-doc --> 3328 * <!-- end-user-doc -->
1884 * @return the meta object for the containment reference '<em>Variable</em>'. 3329 * @return the meta object for the containment reference list '<em>Arguments</em>'.
1885 * @see org.eclipse.viatra.solver.language.solverLanguage.Parameter#getVariable() 3330 * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments()
1886 * @see #getParameter() 3331 * @see #getArgumentList()
1887 * @generated 3332 * @generated
1888 */ 3333 */
1889 EReference getParameter_Variable(); 3334 EReference getArgumentList_Arguments();
1890 3335
1891 /** 3336 /**
1892 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getType <em>Type</em>}'. 3337 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Argument <em>Argument</em>}'.
1893 * <!-- begin-user-doc --> 3338 * <!-- begin-user-doc -->
1894 * <!-- end-user-doc --> 3339 * <!-- end-user-doc -->
1895 * @return the meta object for the containment reference '<em>Type</em>'. 3340 * @return the meta object for class '<em>Argument</em>'.
1896 * @see org.eclipse.viatra.solver.language.solverLanguage.Parameter#getType() 3341 * @see org.eclipse.viatra.solver.language.solverLanguage.Argument
1897 * @see #getParameter()
1898 * @generated 3342 * @generated
1899 */ 3343 */
1900 EReference getParameter_Type(); 3344 EClass getArgument();
1901 3345
1902 /** 3346 /**
1903 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody <em>Pattern Body</em>}'. 3347 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument <em>Expression Argument</em>}'.
1904 * <!-- begin-user-doc --> 3348 * <!-- begin-user-doc -->
1905 * <!-- end-user-doc --> 3349 * <!-- end-user-doc -->
1906 * @return the meta object for class '<em>Pattern Body</em>'. 3350 * @return the meta object for class '<em>Expression Argument</em>'.
1907 * @see org.eclipse.viatra.solver.language.solverLanguage.PatternBody 3351 * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument
1908 * @generated 3352 * @generated
1909 */ 3353 */
1910 EClass getPatternBody(); 3354 EClass getExpressionArgument();
1911 3355
1912 /** 3356 /**
1913 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody#getConstraints <em>Constraints</em>}'. 3357 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody <em>Body</em>}'.
1914 * <!-- begin-user-doc --> 3358 * <!-- begin-user-doc -->
1915 * <!-- end-user-doc --> 3359 * <!-- end-user-doc -->
1916 * @return the meta object for the containment reference list '<em>Constraints</em>'. 3360 * @return the meta object for the containment reference '<em>Body</em>'.
1917 * @see org.eclipse.viatra.solver.language.solverLanguage.PatternBody#getConstraints() 3361 * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody()
1918 * @see #getPatternBody() 3362 * @see #getExpressionArgument()
1919 * @generated 3363 * @generated
1920 */ 3364 */
1921 EReference getPatternBody_Constraints(); 3365 EReference getExpressionArgument_Body();
1922 3366
1923 /** 3367 /**
1924 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Polarity <em>Polarity</em>}'. 3368 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StarArgument <em>Star Argument</em>}'.
1925 * <!-- begin-user-doc --> 3369 * <!-- begin-user-doc -->
1926 * <!-- end-user-doc --> 3370 * <!-- end-user-doc -->
1927 * @return the meta object for class '<em>Polarity</em>'. 3371 * @return the meta object for class '<em>Star Argument</em>'.
1928 * @see org.eclipse.viatra.solver.language.solverLanguage.Polarity 3372 * @see org.eclipse.viatra.solver.language.solverLanguage.StarArgument
1929 * @generated 3373 * @generated
1930 */ 3374 */
1931 EClass getPolarity(); 3375 EClass getStarArgument();
1932 3376
1933 /** 3377 /**
1934 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint <em>Constraint</em>}'. 3378 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument <em>Typed Argument</em>}'.
1935 * <!-- begin-user-doc --> 3379 * <!-- begin-user-doc -->
1936 * <!-- end-user-doc --> 3380 * <!-- end-user-doc -->
1937 * @return the meta object for class '<em>Constraint</em>'. 3381 * @return the meta object for class '<em>Typed Argument</em>'.
1938 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint 3382 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument
1939 * @generated 3383 * @generated
1940 */ 3384 */
1941 EClass getConstraint(); 3385 EClass getTypedArgument();
1942 3386
1943 /** 3387 /**
1944 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getPolarity <em>Polarity</em>}'. 3388 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType <em>Type</em>}'.
1945 * <!-- begin-user-doc --> 3389 * <!-- begin-user-doc -->
1946 * <!-- end-user-doc --> 3390 * <!-- end-user-doc -->
1947 * @return the meta object for the containment reference '<em>Polarity</em>'. 3391 * @return the meta object for the reference '<em>Type</em>'.
1948 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint#getPolarity() 3392 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType()
1949 * @see #getConstraint() 3393 * @see #getTypedArgument()
1950 * @generated 3394 * @generated
1951 */ 3395 */
1952 EReference getConstraint_Polarity(); 3396 EReference getTypedArgument_Type();
1953 3397
1954 /** 3398 /**
1955 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol <em>Symbol</em>}'. 3399 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable <em>Variable</em>}'.
1956 * <!-- begin-user-doc --> 3400 * <!-- begin-user-doc -->
1957 * <!-- end-user-doc --> 3401 * <!-- end-user-doc -->
1958 * @return the meta object for the containment reference '<em>Symbol</em>'. 3402 * @return the meta object for the reference '<em>Variable</em>'.
1959 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol() 3403 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable()
1960 * @see #getConstraint() 3404 * @see #getTypedArgument()
1961 * @generated 3405 * @generated
1962 */ 3406 */
1963 EReference getConstraint_Symbol(); 3407 EReference getTypedArgument_Variable();
1964 3408
1965 /** 3409 /**
1966 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getParams <em>Params</em>}'. 3410 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument <em>Typed Star Argument</em>}'.
1967 * <!-- begin-user-doc --> 3411 * <!-- begin-user-doc -->
1968 * <!-- end-user-doc --> 3412 * <!-- end-user-doc -->
1969 * @return the meta object for the containment reference list '<em>Params</em>'. 3413 * @return the meta object for class '<em>Typed Star Argument</em>'.
1970 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint#getParams() 3414 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument
1971 * @see #getConstraint()
1972 * @generated 3415 * @generated
1973 */ 3416 */
1974 EReference getConstraint_Params(); 3417 EClass getTypedStarArgument();
1975 3418
1976 /** 3419 /**
1977 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType <em>Closure Type</em>}'. 3420 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType <em>Type</em>}'.
1978 * <!-- begin-user-doc --> 3421 * <!-- begin-user-doc -->
1979 * <!-- end-user-doc --> 3422 * <!-- end-user-doc -->
1980 * @return the meta object for the containment reference '<em>Closure Type</em>'. 3423 * @return the meta object for the reference '<em>Type</em>'.
1981 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType() 3424 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType()
1982 * @see #getConstraint() 3425 * @see #getTypedStarArgument()
1983 * @generated 3426 * @generated
1984 */ 3427 */
1985 EReference getConstraint_ClosureType(); 3428 EReference getTypedStarArgument_Type();
1986 3429
1987 /** 3430 /**
1988 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClosureType <em>Closure Type</em>}'. 3431 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference <em>Reference</em>}'.
1989 * <!-- begin-user-doc --> 3432 * <!-- begin-user-doc -->
1990 * <!-- end-user-doc --> 3433 * <!-- end-user-doc -->
1991 * @return the meta object for class '<em>Closure Type</em>'. 3434 * @return the meta object for class '<em>Reference</em>'.
1992 * @see org.eclipse.viatra.solver.language.solverLanguage.ClosureType 3435 * @see org.eclipse.viatra.solver.language.solverLanguage.Reference
1993 * @generated 3436 * @generated
1994 */ 3437 */
1995 EClass getClosureType(); 3438 EClass getReference();
3439
3440 /**
3441 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred <em>Referred</em>}'.
3442 * <!-- begin-user-doc -->
3443 * <!-- end-user-doc -->
3444 * @return the meta object for the reference '<em>Referred</em>'.
3445 * @see org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred()
3446 * @see #getReference()
3447 * @generated
3448 */
3449 EReference getReference_Referred();
3450
3451 /**
3452 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval <em>Interval</em>}'.
3453 * <!-- begin-user-doc -->
3454 * <!-- end-user-doc -->
3455 * @return the meta object for class '<em>Interval</em>'.
3456 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval
3457 * @generated
3458 */
3459 EClass getInterval();
3460
3461 /**
3462 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound <em>Lower Bound</em>}'.
3463 * <!-- begin-user-doc -->
3464 * <!-- end-user-doc -->
3465 * @return the meta object for the containment reference '<em>Lower Bound</em>'.
3466 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound()
3467 * @see #getInterval()
3468 * @generated
3469 */
3470 EReference getInterval_LowerBound();
3471
3472 /**
3473 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound <em>Upper Bound</em>}'.
3474 * <!-- begin-user-doc -->
3475 * <!-- end-user-doc -->
3476 * @return the meta object for the containment reference '<em>Upper Bound</em>'.
3477 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound()
3478 * @see #getInterval()
3479 * @generated
3480 */
3481 EReference getInterval_UpperBound();
1996 3482
1997 /** 3483 /**
1998 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal <em>Literal</em>}'. 3484 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal <em>Literal</em>}'.
@@ -2005,446 +3491,646 @@ public interface SolverLanguagePackage extends EPackage
2005 EClass getLiteral(); 3491 EClass getLiteral();
2006 3492
2007 /** 3493 /**
2008 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable <em>Variable</em>}'. 3494 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral <em>Logic Literal</em>}'.
2009 * <!-- begin-user-doc --> 3495 * <!-- begin-user-doc -->
2010 * <!-- end-user-doc --> 3496 * <!-- end-user-doc -->
2011 * @return the meta object for class '<em>Variable</em>'. 3497 * @return the meta object for class '<em>Logic Literal</em>'.
2012 * @see org.eclipse.viatra.solver.language.solverLanguage.Variable 3498 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral
2013 * @generated 3499 * @generated
2014 */ 3500 */
2015 EClass getVariable(); 3501 EClass getLogicLiteral();
2016 3502
2017 /** 3503 /**
2018 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getName <em>Name</em>}'. 3504 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue <em>Value</em>}'.
3505 * <!-- begin-user-doc -->
3506 * <!-- end-user-doc -->
3507 * @return the meta object for the attribute '<em>Value</em>'.
3508 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue()
3509 * @see #getLogicLiteral()
3510 * @generated
3511 */
3512 EAttribute getLogicLiteral_Value();
3513
3514 /**
3515 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral <em>Numeric Literal</em>}'.
3516 * <!-- begin-user-doc -->
3517 * <!-- end-user-doc -->
3518 * @return the meta object for class '<em>Numeric Literal</em>'.
3519 * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral
3520 * @generated
3521 */
3522 EClass getNumericLiteral();
3523
3524 /**
3525 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue <em>Value</em>}'.
3526 * <!-- begin-user-doc -->
3527 * <!-- end-user-doc -->
3528 * @return the meta object for the attribute '<em>Value</em>'.
3529 * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue()
3530 * @see #getNumericLiteral()
3531 * @generated
3532 */
3533 EAttribute getNumericLiteral_Value();
3534
3535 /**
3536 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral <em>Infinity Literal</em>}'.
3537 * <!-- begin-user-doc -->
3538 * <!-- end-user-doc -->
3539 * @return the meta object for class '<em>Infinity Literal</em>'.
3540 * @see org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral
3541 * @generated
3542 */
3543 EClass getInfinityLiteral();
3544
3545 /**
3546 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral <em>Empty Interval Literal</em>}'.
3547 * <!-- begin-user-doc -->
3548 * <!-- end-user-doc -->
3549 * @return the meta object for class '<em>Empty Interval Literal</em>'.
3550 * @see org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral
3551 * @generated
3552 */
3553 EClass getEmptyIntervalLiteral();
3554
3555 /**
3556 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral <em>String Literal</em>}'.
3557 * <!-- begin-user-doc -->
3558 * <!-- end-user-doc -->
3559 * @return the meta object for class '<em>String Literal</em>'.
3560 * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral
3561 * @generated
3562 */
3563 EClass getStringLiteral();
3564
3565 /**
3566 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue <em>Value</em>}'.
3567 * <!-- begin-user-doc -->
3568 * <!-- end-user-doc -->
3569 * @return the meta object for the attribute '<em>Value</em>'.
3570 * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue()
3571 * @see #getStringLiteral()
3572 * @generated
3573 */
3574 EAttribute getStringLiteral_Value();
3575
3576 /**
3577 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition <em>Member Definition</em>}'.
3578 * <!-- begin-user-doc -->
3579 * <!-- end-user-doc -->
3580 * @return the meta object for class '<em>Member Definition</em>'.
3581 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition
3582 * @generated
3583 */
3584 EClass getMemberDefinition();
3585
3586 /**
3587 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment <em>Containment</em>}'.
3588 * <!-- begin-user-doc -->
3589 * <!-- end-user-doc -->
3590 * @return the meta object for the attribute '<em>Containment</em>'.
3591 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment()
3592 * @see #getMemberDefinition()
3593 * @generated
3594 */
3595 EAttribute getMemberDefinition_Containment();
3596
3597 /**
3598 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType <em>Type</em>}'.
3599 * <!-- begin-user-doc -->
3600 * <!-- end-user-doc -->
3601 * @return the meta object for the reference '<em>Type</em>'.
3602 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType()
3603 * @see #getMemberDefinition()
3604 * @generated
3605 */
3606 EReference getMemberDefinition_Type();
3607
3608 /**
3609 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity <em>Multiplicity</em>}'.
3610 * <!-- begin-user-doc -->
3611 * <!-- end-user-doc -->
3612 * @return the meta object for the containment reference '<em>Multiplicity</em>'.
3613 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity()
3614 * @see #getMemberDefinition()
3615 * @generated
3616 */
3617 EReference getMemberDefinition_Multiplicity();
3618
3619 /**
3620 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName <em>Name</em>}'.
2019 * <!-- begin-user-doc --> 3621 * <!-- begin-user-doc -->
2020 * <!-- end-user-doc --> 3622 * <!-- end-user-doc -->
2021 * @return the meta object for the attribute '<em>Name</em>'. 3623 * @return the meta object for the attribute '<em>Name</em>'.
2022 * @see org.eclipse.viatra.solver.language.solverLanguage.Variable#getName() 3624 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName()
2023 * @see #getVariable() 3625 * @see #getMemberDefinition()
2024 * @generated 3626 * @generated
2025 */ 3627 */
2026 EAttribute getVariable_Name(); 3628 EAttribute getMemberDefinition_Name();
2027 3629
2028 /** 3630 /**
2029 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances <em>All Instances</em>}'. 3631 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite <em>Opposite</em>}'.
2030 * <!-- begin-user-doc --> 3632 * <!-- begin-user-doc -->
2031 * <!-- end-user-doc --> 3633 * <!-- end-user-doc -->
2032 * @return the meta object for class '<em>All Instances</em>'. 3634 * @return the meta object for the reference '<em>Opposite</em>'.
2033 * @see org.eclipse.viatra.solver.language.solverLanguage.AllInstances 3635 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite()
3636 * @see #getMemberDefinition()
2034 * @generated 3637 * @generated
2035 */ 3638 */
2036 EClass getAllInstances(); 3639 EReference getMemberDefinition_Opposite();
2037 3640
2038 /** 3641 /**
2039 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances#getSymbol <em>Symbol</em>}'. 3642 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Multiplicity <em>Multiplicity</em>}'.
2040 * <!-- begin-user-doc --> 3643 * <!-- begin-user-doc -->
2041 * <!-- end-user-doc --> 3644 * <!-- end-user-doc -->
2042 * @return the meta object for the containment reference '<em>Symbol</em>'. 3645 * @return the meta object for class '<em>Multiplicity</em>'.
2043 * @see org.eclipse.viatra.solver.language.solverLanguage.AllInstances#getSymbol() 3646 * @see org.eclipse.viatra.solver.language.solverLanguage.Multiplicity
2044 * @see #getAllInstances()
2045 * @generated 3647 * @generated
2046 */ 3648 */
2047 EReference getAllInstances_Symbol(); 3649 EClass getMultiplicity();
2048 3650
2049 /** 3651 /**
2050 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.AllObjects <em>All Objects</em>}'. 3652 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity <em>Many Multiplicity</em>}'.
2051 * <!-- begin-user-doc --> 3653 * <!-- begin-user-doc -->
2052 * <!-- end-user-doc --> 3654 * <!-- end-user-doc -->
2053 * @return the meta object for class '<em>All Objects</em>'. 3655 * @return the meta object for class '<em>Many Multiplicity</em>'.
2054 * @see org.eclipse.viatra.solver.language.solverLanguage.AllObjects 3656 * @see org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity
2055 * @generated 3657 * @generated
2056 */ 3658 */
2057 EClass getAllObjects(); 3659 EClass getManyMultiplicity();
2058 3660
2059 /** 3661 /**
2060 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation <em>Default Interpretation</em>}'. 3662 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity <em>Exact Multiplicity</em>}'.
2061 * <!-- begin-user-doc --> 3663 * <!-- begin-user-doc -->
2062 * <!-- end-user-doc --> 3664 * <!-- end-user-doc -->
2063 * @return the meta object for class '<em>Default Interpretation</em>'. 3665 * @return the meta object for class '<em>Exact Multiplicity</em>'.
2064 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation 3666 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity
2065 * @generated 3667 * @generated
2066 */ 3668 */
2067 EClass getDefaultInterpretation(); 3669 EClass getExactMultiplicity();
2068 3670
2069 /** 3671 /**
2070 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation#getInterpretation <em>Interpretation</em>}'. 3672 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity <em>Multiplicity</em>}'.
2071 * <!-- begin-user-doc --> 3673 * <!-- begin-user-doc -->
2072 * <!-- end-user-doc --> 3674 * <!-- end-user-doc -->
2073 * @return the meta object for the containment reference '<em>Interpretation</em>'. 3675 * @return the meta object for the attribute '<em>Multiplicity</em>'.
2074 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation#getInterpretation() 3676 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity()
2075 * @see #getDefaultInterpretation() 3677 * @see #getExactMultiplicity()
2076 * @generated 3678 * @generated
2077 */ 3679 */
2078 EReference getDefaultInterpretation_Interpretation(); 3680 EAttribute getExactMultiplicity_Multiplicity();
2079 3681
2080 /** 3682 /**
2081 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation <em>CD Interpretation</em>}'. 3683 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity <em>Bounded Multiplicity</em>}'.
2082 * <!-- begin-user-doc --> 3684 * <!-- begin-user-doc -->
2083 * <!-- end-user-doc --> 3685 * <!-- end-user-doc -->
2084 * @return the meta object for class '<em>CD Interpretation</em>'. 3686 * @return the meta object for class '<em>Bounded Multiplicity</em>'.
2085 * @see org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation 3687 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity
2086 * @generated 3688 * @generated
2087 */ 3689 */
2088 EClass getCDInterpretation(); 3690 EClass getBoundedMultiplicity();
2089 3691
2090 /** 3692 /**
2091 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation <em>Class Interpretation</em>}'. 3693 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound <em>Lower Bound</em>}'.
2092 * <!-- begin-user-doc --> 3694 * <!-- begin-user-doc -->
2093 * <!-- end-user-doc --> 3695 * <!-- end-user-doc -->
2094 * @return the meta object for class '<em>Class Interpretation</em>'. 3696 * @return the meta object for the attribute '<em>Lower Bound</em>'.
2095 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation 3697 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound()
3698 * @see #getBoundedMultiplicity()
2096 * @generated 3699 * @generated
2097 */ 3700 */
2098 EClass getClassInterpretation(); 3701 EAttribute getBoundedMultiplicity_LowerBound();
2099 3702
2100 /** 3703 /**
2101 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#isAbstract <em>Abstract</em>}'. 3704 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound <em>Upper Bound</em>}'.
2102 * <!-- begin-user-doc --> 3705 * <!-- begin-user-doc -->
2103 * <!-- end-user-doc --> 3706 * <!-- end-user-doc -->
2104 * @return the meta object for the attribute '<em>Abstract</em>'. 3707 * @return the meta object for the attribute '<em>Upper Bound</em>'.
2105 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#isAbstract() 3708 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound()
2106 * @see #getClassInterpretation() 3709 * @see #getBoundedMultiplicity()
2107 * @generated 3710 * @generated
2108 */ 3711 */
2109 EAttribute getClassInterpretation_Abstract(); 3712 EAttribute getBoundedMultiplicity_UpperBound();
2110 3713
2111 /** 3714 /**
2112 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSymbol <em>Symbol</em>}'. 3715 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition <em>Scope Definition</em>}'.
2113 * <!-- begin-user-doc --> 3716 * <!-- begin-user-doc -->
2114 * <!-- end-user-doc --> 3717 * <!-- end-user-doc -->
2115 * @return the meta object for the containment reference '<em>Symbol</em>'. 3718 * @return the meta object for class '<em>Scope Definition</em>'.
2116 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSymbol() 3719 * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition
2117 * @see #getClassInterpretation()
2118 * @generated 3720 * @generated
2119 */ 3721 */
2120 EReference getClassInterpretation_Symbol(); 3722 EClass getScopeDefinition();
2121 3723
2122 /** 3724 /**
2123 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSupertypes <em>Supertypes</em>}'. 3725 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType <em>Type</em>}'.
2124 * <!-- begin-user-doc --> 3726 * <!-- begin-user-doc -->
2125 * <!-- end-user-doc --> 3727 * <!-- end-user-doc -->
2126 * @return the meta object for the containment reference list '<em>Supertypes</em>'. 3728 * @return the meta object for the reference '<em>Type</em>'.
2127 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSupertypes() 3729 * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType()
2128 * @see #getClassInterpretation() 3730 * @see #getScopeDefinition()
2129 * @generated 3731 * @generated
2130 */ 3732 */
2131 EReference getClassInterpretation_Supertypes(); 3733 EReference getScopeDefinition_Type();
2132 3734
2133 /** 3735 /**
2134 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getFielt <em>Fielt</em>}'. 3736 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition <em>Exact Scope Definition</em>}'.
2135 * <!-- begin-user-doc --> 3737 * <!-- begin-user-doc -->
2136 * <!-- end-user-doc --> 3738 * <!-- end-user-doc -->
2137 * @return the meta object for the containment reference list '<em>Fielt</em>'. 3739 * @return the meta object for class '<em>Exact Scope Definition</em>'.
2138 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getFielt() 3740 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition
2139 * @see #getClassInterpretation()
2140 * @generated 3741 * @generated
2141 */ 3742 */
2142 EReference getClassInterpretation_Fielt(); 3743 EClass getExactScopeDefinition();
2143 3744
2144 /** 3745 /**
2145 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation <em>Enum Interpretation</em>}'. 3746 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope <em>Exact Scope</em>}'.
2146 * <!-- begin-user-doc --> 3747 * <!-- begin-user-doc -->
2147 * <!-- end-user-doc --> 3748 * <!-- end-user-doc -->
2148 * @return the meta object for class '<em>Enum Interpretation</em>'. 3749 * @return the meta object for the attribute '<em>Exact Scope</em>'.
2149 * @see org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation 3750 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope()
3751 * @see #getExactScopeDefinition()
2150 * @generated 3752 * @generated
2151 */ 3753 */
2152 EClass getEnumInterpretation(); 3754 EAttribute getExactScopeDefinition_ExactScope();
2153 3755
2154 /** 3756 /**
2155 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getSymbol <em>Symbol</em>}'. 3757 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition <em>Bounded Scope Definition</em>}'.
2156 * <!-- begin-user-doc --> 3758 * <!-- begin-user-doc -->
2157 * <!-- end-user-doc --> 3759 * <!-- end-user-doc -->
2158 * @return the meta object for the containment reference '<em>Symbol</em>'. 3760 * @return the meta object for class '<em>Bounded Scope Definition</em>'.
2159 * @see org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getSymbol() 3761 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition
2160 * @see #getEnumInterpretation()
2161 * @generated 3762 * @generated
2162 */ 3763 */
2163 EReference getEnumInterpretation_Symbol(); 3764 EClass getBoundedScopeDefinition();
2164 3765
2165 /** 3766 /**
2166 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getObjects <em>Objects</em>}'. 3767 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}'.
2167 * <!-- begin-user-doc --> 3768 * <!-- begin-user-doc -->
2168 * <!-- end-user-doc --> 3769 * <!-- end-user-doc -->
2169 * @return the meta object for the containment reference list '<em>Objects</em>'. 3770 * @return the meta object for the attribute '<em>Lower Bound</em>'.
2170 * @see org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getObjects() 3771 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound()
2171 * @see #getEnumInterpretation() 3772 * @see #getBoundedScopeDefinition()
2172 * @generated 3773 * @generated
2173 */ 3774 */
2174 EReference getEnumInterpretation_Objects(); 3775 EAttribute getBoundedScopeDefinition_LowerBound();
2175 3776
2176 /** 3777 /**
2177 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation <em>Field Relation Interpretation</em>}'. 3778 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound <em>Upper Bound</em>}'.
2178 * <!-- begin-user-doc --> 3779 * <!-- begin-user-doc -->
2179 * <!-- end-user-doc --> 3780 * <!-- end-user-doc -->
2180 * @return the meta object for class '<em>Field Relation Interpretation</em>'. 3781 * @return the meta object for the attribute '<em>Upper Bound</em>'.
2181 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation 3782 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound()
3783 * @see #getBoundedScopeDefinition()
2182 * @generated 3784 * @generated
2183 */ 3785 */
2184 EClass getFieldRelationInterpretation(); 3786 EAttribute getBoundedScopeDefinition_UpperBound();
2185 3787
2186 /** 3788 /**
2187 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#isContainment <em>Containment</em>}'. 3789 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition <em>Lower Bounded Scope Definition</em>}'.
2188 * <!-- begin-user-doc --> 3790 * <!-- begin-user-doc -->
2189 * <!-- end-user-doc --> 3791 * <!-- end-user-doc -->
2190 * @return the meta object for the attribute '<em>Containment</em>'. 3792 * @return the meta object for class '<em>Lower Bounded Scope Definition</em>'.
2191 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#isContainment() 3793 * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition
2192 * @see #getFieldRelationInterpretation()
2193 * @generated 3794 * @generated
2194 */ 3795 */
2195 EAttribute getFieldRelationInterpretation_Containment(); 3796 EClass getLowerBoundedScopeDefinition();
2196 3797
2197 /** 3798 /**
2198 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getSymbol <em>Symbol</em>}'. 3799 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}'.
2199 * <!-- begin-user-doc --> 3800 * <!-- begin-user-doc -->
2200 * <!-- end-user-doc --> 3801 * <!-- end-user-doc -->
2201 * @return the meta object for the containment reference '<em>Symbol</em>'. 3802 * @return the meta object for the attribute '<em>Lower Bound</em>'.
2202 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getSymbol() 3803 * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound()
2203 * @see #getFieldRelationInterpretation() 3804 * @see #getLowerBoundedScopeDefinition()
2204 * @generated 3805 * @generated
2205 */ 3806 */
2206 EReference getFieldRelationInterpretation_Symbol(); 3807 EAttribute getLowerBoundedScopeDefinition_LowerBound();
2207 3808
2208 /** 3809 /**
2209 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getMultiplicity <em>Multiplicity</em>}'. 3810 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition <em>Objective Definition</em>}'.
2210 * <!-- begin-user-doc --> 3811 * <!-- begin-user-doc -->
2211 * <!-- end-user-doc --> 3812 * <!-- end-user-doc -->
2212 * @return the meta object for the containment reference '<em>Multiplicity</em>'. 3813 * @return the meta object for class '<em>Objective Definition</em>'.
2213 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getMultiplicity() 3814 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition
2214 * @see #getFieldRelationInterpretation()
2215 * @generated 3815 * @generated
2216 */ 3816 */
2217 EReference getFieldRelationInterpretation_Multiplicity(); 3817 EClass getObjectiveDefinition();
2218 3818
2219 /** 3819 /**
2220 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getTarget <em>Target</em>}'. 3820 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind <em>Kind</em>}'.
2221 * <!-- begin-user-doc --> 3821 * <!-- begin-user-doc -->
2222 * <!-- end-user-doc --> 3822 * <!-- end-user-doc -->
2223 * @return the meta object for the containment reference '<em>Target</em>'. 3823 * @return the meta object for the attribute '<em>Kind</em>'.
2224 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getTarget() 3824 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind()
2225 * @see #getFieldRelationInterpretation() 3825 * @see #getObjectiveDefinition()
2226 * @generated 3826 * @generated
2227 */ 3827 */
2228 EReference getFieldRelationInterpretation_Target(); 3828 EAttribute getObjectiveDefinition_Kind();
2229 3829
2230 /** 3830 /**
2231 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation <em>Global Relation Interpretation</em>}'. 3831 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective <em>Objective</em>}'.
2232 * <!-- begin-user-doc --> 3832 * <!-- begin-user-doc -->
2233 * <!-- end-user-doc --> 3833 * <!-- end-user-doc -->
2234 * @return the meta object for class '<em>Global Relation Interpretation</em>'. 3834 * @return the meta object for the containment reference '<em>Objective</em>'.
2235 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation 3835 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective()
3836 * @see #getObjectiveDefinition()
2236 * @generated 3837 * @generated
2237 */ 3838 */
2238 EClass getGlobalRelationInterpretation(); 3839 EReference getObjectiveDefinition_Objective();
2239 3840
2240 /** 3841 /**
2241 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#isContainment <em>Containment</em>}'. 3842 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement <em>Named Element</em>}'.
2242 * <!-- begin-user-doc --> 3843 * <!-- begin-user-doc -->
2243 * <!-- end-user-doc --> 3844 * <!-- end-user-doc -->
2244 * @return the meta object for the attribute '<em>Containment</em>'. 3845 * @return the meta object for class '<em>Named Element</em>'.
2245 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#isContainment() 3846 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement
2246 * @see #getGlobalRelationInterpretation() 3847 * @generated
3848 */
3849 EClass getNamedElement();
3850
3851 /**
3852 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName <em>Name</em>}'.
3853 * <!-- begin-user-doc -->
3854 * <!-- end-user-doc -->
3855 * @return the meta object for the attribute '<em>Name</em>'.
3856 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName()
3857 * @see #getNamedElement()
3858 * @generated
3859 */
3860 EAttribute getNamedElement_Name();
3861
3862 /**
3863 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion <em>Assertion</em>}'.
3864 * <!-- begin-user-doc -->
3865 * <!-- end-user-doc -->
3866 * @return the meta object for class '<em>Assertion</em>'.
3867 * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion
3868 * @generated
3869 */
3870 EClass getAssertion();
3871
3872 /**
3873 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getBody <em>Body</em>}'.
3874 * <!-- begin-user-doc -->
3875 * <!-- end-user-doc -->
3876 * @return the meta object for the containment reference '<em>Body</em>'.
3877 * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion#getBody()
3878 * @see #getAssertion()
3879 * @generated
3880 */
3881 EReference getAssertion_Body();
3882
3883 /**
3884 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange <em>Range</em>}'.
3885 * <!-- begin-user-doc -->
3886 * <!-- end-user-doc -->
3887 * @return the meta object for the containment reference '<em>Range</em>'.
3888 * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange()
3889 * @see #getAssertion()
3890 * @generated
3891 */
3892 EReference getAssertion_Range();
3893
3894 /**
3895 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction <em>Disjunction</em>}'.
3896 * <!-- begin-user-doc -->
3897 * <!-- end-user-doc -->
3898 * @return the meta object for class '<em>Disjunction</em>'.
3899 * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction
3900 * @generated
3901 */
3902 EClass getDisjunction();
3903
3904 /**
3905 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren <em>Children</em>}'.
3906 * <!-- begin-user-doc -->
3907 * <!-- end-user-doc -->
3908 * @return the meta object for the containment reference list '<em>Children</em>'.
3909 * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren()
3910 * @see #getDisjunction()
3911 * @generated
3912 */
3913 EReference getDisjunction_Children();
3914
3915 /**
3916 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch <em>Switch</em>}'.
3917 * <!-- begin-user-doc -->
3918 * <!-- end-user-doc -->
3919 * @return the meta object for class '<em>Switch</em>'.
3920 * @see org.eclipse.viatra.solver.language.solverLanguage.Switch
3921 * @generated
3922 */
3923 EClass getSwitch();
3924
3925 /**
3926 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases <em>Cases</em>}'.
3927 * <!-- begin-user-doc -->
3928 * <!-- end-user-doc -->
3929 * @return the meta object for the containment reference list '<em>Cases</em>'.
3930 * @see org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases()
3931 * @see #getSwitch()
2247 * @generated 3932 * @generated
2248 */ 3933 */
2249 EAttribute getGlobalRelationInterpretation_Containment(); 3934 EReference getSwitch_Cases();
2250 3935
2251 /** 3936 /**
2252 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSymbol <em>Symbol</em>}'. 3937 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction <em>Conjunction</em>}'.
2253 * <!-- begin-user-doc --> 3938 * <!-- begin-user-doc -->
2254 * <!-- end-user-doc --> 3939 * <!-- end-user-doc -->
2255 * @return the meta object for the containment reference '<em>Symbol</em>'. 3940 * @return the meta object for class '<em>Conjunction</em>'.
2256 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSymbol() 3941 * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction
2257 * @see #getGlobalRelationInterpretation()
2258 * @generated 3942 * @generated
2259 */ 3943 */
2260 EReference getGlobalRelationInterpretation_Symbol(); 3944 EClass getConjunction();
2261 3945
2262 /** 3946 /**
2263 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSourceMultiplicity <em>Source Multiplicity</em>}'. 3947 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren <em>Children</em>}'.
2264 * <!-- begin-user-doc --> 3948 * <!-- begin-user-doc -->
2265 * <!-- end-user-doc --> 3949 * <!-- end-user-doc -->
2266 * @return the meta object for the containment reference '<em>Source Multiplicity</em>'. 3950 * @return the meta object for the containment reference list '<em>Children</em>'.
2267 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSourceMultiplicity() 3951 * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren()
2268 * @see #getGlobalRelationInterpretation() 3952 * @see #getConjunction()
2269 * @generated 3953 * @generated
2270 */ 3954 */
2271 EReference getGlobalRelationInterpretation_SourceMultiplicity(); 3955 EReference getConjunction_Children();
2272 3956
2273 /** 3957 /**
2274 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSource <em>Source</em>}'. 3958 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison <em>Comparison</em>}'.
2275 * <!-- begin-user-doc --> 3959 * <!-- begin-user-doc -->
2276 * <!-- end-user-doc --> 3960 * <!-- end-user-doc -->
2277 * @return the meta object for the containment reference '<em>Source</em>'. 3961 * @return the meta object for class '<em>Comparison</em>'.
2278 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSource() 3962 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison
2279 * @see #getGlobalRelationInterpretation()
2280 * @generated 3963 * @generated
2281 */ 3964 */
2282 EReference getGlobalRelationInterpretation_Source(); 3965 EClass getComparison();
2283 3966
2284 /** 3967 /**
2285 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTargetMultiplicity <em>Target Multiplicity</em>}'. 3968 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft <em>Left</em>}'.
2286 * <!-- begin-user-doc --> 3969 * <!-- begin-user-doc -->
2287 * <!-- end-user-doc --> 3970 * <!-- end-user-doc -->
2288 * @return the meta object for the containment reference '<em>Target Multiplicity</em>'. 3971 * @return the meta object for the containment reference '<em>Left</em>'.
2289 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTargetMultiplicity() 3972 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft()
2290 * @see #getGlobalRelationInterpretation() 3973 * @see #getComparison()
2291 * @generated 3974 * @generated
2292 */ 3975 */
2293 EReference getGlobalRelationInterpretation_TargetMultiplicity(); 3976 EReference getComparison_Left();
2294 3977
2295 /** 3978 /**
2296 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTarget <em>Target</em>}'. 3979 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp <em>Op</em>}'.
2297 * <!-- begin-user-doc --> 3980 * <!-- begin-user-doc -->
2298 * <!-- end-user-doc --> 3981 * <!-- end-user-doc -->
2299 * @return the meta object for the containment reference '<em>Target</em>'. 3982 * @return the meta object for the attribute '<em>Op</em>'.
2300 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTarget() 3983 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp()
2301 * @see #getGlobalRelationInterpretation() 3984 * @see #getComparison()
2302 * @generated 3985 * @generated
2303 */ 3986 */
2304 EReference getGlobalRelationInterpretation_Target(); 3987 EAttribute getComparison_Op();
2305 3988
2306 /** 3989 /**
2307 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition <em>Multiplicity Definition</em>}'. 3990 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight <em>Right</em>}'.
2308 * <!-- begin-user-doc --> 3991 * <!-- begin-user-doc -->
2309 * <!-- end-user-doc --> 3992 * <!-- end-user-doc -->
2310 * @return the meta object for class '<em>Multiplicity Definition</em>'. 3993 * @return the meta object for the containment reference '<em>Right</em>'.
2311 * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition 3994 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight()
3995 * @see #getComparison()
2312 * @generated 3996 * @generated
2313 */ 3997 */
2314 EClass getMultiplicityDefinition(); 3998 EReference getComparison_Right();
2315 3999
2316 /** 4000 /**
2317 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getLower <em>Lower</em>}'. 4001 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression <em>Binary Expression</em>}'.
2318 * <!-- begin-user-doc --> 4002 * <!-- begin-user-doc -->
2319 * <!-- end-user-doc --> 4003 * <!-- end-user-doc -->
2320 * @return the meta object for the attribute '<em>Lower</em>'. 4004 * @return the meta object for class '<em>Binary Expression</em>'.
2321 * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getLower() 4005 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression
2322 * @see #getMultiplicityDefinition()
2323 * @generated 4006 * @generated
2324 */ 4007 */
2325 EAttribute getMultiplicityDefinition_Lower(); 4008 EClass getBinaryExpression();
2326 4009
2327 /** 4010 /**
2328 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getUpper <em>Upper</em>}'. 4011 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft <em>Left</em>}'.
2329 * <!-- begin-user-doc --> 4012 * <!-- begin-user-doc -->
2330 * <!-- end-user-doc --> 4013 * <!-- end-user-doc -->
2331 * @return the meta object for the attribute '<em>Upper</em>'. 4014 * @return the meta object for the containment reference '<em>Left</em>'.
2332 * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getUpper() 4015 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft()
2333 * @see #getMultiplicityDefinition() 4016 * @see #getBinaryExpression()
2334 * @generated 4017 * @generated
2335 */ 4018 */
2336 EAttribute getMultiplicityDefinition_Upper(); 4019 EReference getBinaryExpression_Left();
2337 4020
2338 /** 4021 /**
2339 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#isUnlimitedUpper <em>Unlimited Upper</em>}'. 4022 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp <em>Op</em>}'.
2340 * <!-- begin-user-doc --> 4023 * <!-- begin-user-doc -->
2341 * <!-- end-user-doc --> 4024 * <!-- end-user-doc -->
2342 * @return the meta object for the attribute '<em>Unlimited Upper</em>'. 4025 * @return the meta object for the attribute '<em>Op</em>'.
2343 * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#isUnlimitedUpper() 4026 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp()
2344 * @see #getMultiplicityDefinition() 4027 * @see #getBinaryExpression()
2345 * @generated 4028 * @generated
2346 */ 4029 */
2347 EAttribute getMultiplicityDefinition_UnlimitedUpper(); 4030 EAttribute getBinaryExpression_Op();
2348 4031
2349 /** 4032 /**
2350 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue <em>Boolean True</em>}'. 4033 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight <em>Right</em>}'.
2351 * <!-- begin-user-doc --> 4034 * <!-- begin-user-doc -->
2352 * <!-- end-user-doc --> 4035 * <!-- end-user-doc -->
2353 * @return the meta object for class '<em>Boolean True</em>'. 4036 * @return the meta object for the containment reference '<em>Right</em>'.
2354 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue 4037 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight()
4038 * @see #getBinaryExpression()
2355 * @generated 4039 * @generated
2356 */ 4040 */
2357 EClass getBooleanTrue(); 4041 EReference getBinaryExpression_Right();
2358 4042
2359 /** 4043 /**
2360 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse <em>Boolean False</em>}'. 4044 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression <em>Unary Expression</em>}'.
2361 * <!-- begin-user-doc --> 4045 * <!-- begin-user-doc -->
2362 * <!-- end-user-doc --> 4046 * <!-- end-user-doc -->
2363 * @return the meta object for class '<em>Boolean False</em>'. 4047 * @return the meta object for class '<em>Unary Expression</em>'.
2364 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse 4048 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression
2365 * @generated 4049 * @generated
2366 */ 4050 */
2367 EClass getBooleanFalse(); 4051 EClass getUnaryExpression();
2368 4052
2369 /** 4053 /**
2370 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.True <em>True</em>}'. 4054 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp <em>Op</em>}'.
2371 * <!-- begin-user-doc --> 4055 * <!-- begin-user-doc -->
2372 * <!-- end-user-doc --> 4056 * <!-- end-user-doc -->
2373 * @return the meta object for class '<em>True</em>'. 4057 * @return the meta object for the attribute '<em>Op</em>'.
2374 * @see org.eclipse.viatra.solver.language.solverLanguage.True 4058 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp()
4059 * @see #getUnaryExpression()
2375 * @generated 4060 * @generated
2376 */ 4061 */
2377 EClass getTrue(); 4062 EAttribute getUnaryExpression_Op();
2378 4063
2379 /** 4064 /**
2380 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.False <em>False</em>}'. 4065 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody <em>Body</em>}'.
2381 * <!-- begin-user-doc --> 4066 * <!-- begin-user-doc -->
2382 * <!-- end-user-doc --> 4067 * <!-- end-user-doc -->
2383 * @return the meta object for class '<em>False</em>'. 4068 * @return the meta object for the containment reference '<em>Body</em>'.
2384 * @see org.eclipse.viatra.solver.language.solverLanguage.False 4069 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody()
4070 * @see #getUnaryExpression()
2385 * @generated 4071 * @generated
2386 */ 4072 */
2387 EClass getFalse(); 4073 EReference getUnaryExpression_Body();
2388 4074
2389 /** 4075 /**
2390 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Unknown <em>Unknown</em>}'. 4076 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricType <em>Metric Type</em>}'.
2391 * <!-- begin-user-doc --> 4077 * <!-- begin-user-doc -->
2392 * <!-- end-user-doc --> 4078 * <!-- end-user-doc -->
2393 * @return the meta object for class '<em>Unknown</em>'. 4079 * @return the meta object for enum '<em>Metric Type</em>'.
2394 * @see org.eclipse.viatra.solver.language.solverLanguage.Unknown 4080 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
2395 * @generated 4081 * @generated
2396 */ 4082 */
2397 EClass getUnknown(); 4083 EEnum getMetricType();
2398 4084
2399 /** 4085 /**
2400 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Error <em>Error</em>}'. 4086 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator <em>Binary Operator</em>}'.
2401 * <!-- begin-user-doc --> 4087 * <!-- begin-user-doc -->
2402 * <!-- end-user-doc --> 4088 * <!-- end-user-doc -->
2403 * @return the meta object for class '<em>Error</em>'. 4089 * @return the meta object for enum '<em>Binary Operator</em>'.
2404 * @see org.eclipse.viatra.solver.language.solverLanguage.Error 4090 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
2405 * @generated 4091 * @generated
2406 */ 4092 */
2407 EClass getError(); 4093 EEnum getBinaryOperator();
2408 4094
2409 /** 4095 /**
2410 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Positive <em>Positive</em>}'. 4096 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp <em>Unary Op</em>}'.
2411 * <!-- begin-user-doc --> 4097 * <!-- begin-user-doc -->
2412 * <!-- end-user-doc --> 4098 * <!-- end-user-doc -->
2413 * @return the meta object for class '<em>Positive</em>'. 4099 * @return the meta object for enum '<em>Unary Op</em>'.
2414 * @see org.eclipse.viatra.solver.language.solverLanguage.Positive 4100 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
2415 * @generated 4101 * @generated
2416 */ 4102 */
2417 EClass getPositive(); 4103 EEnum getUnaryOp();
2418 4104
2419 /** 4105 /**
2420 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Negative <em>Negative</em>}'. 4106 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp <em>Aggregation Op</em>}'.
2421 * <!-- begin-user-doc --> 4107 * <!-- begin-user-doc -->
2422 * <!-- end-user-doc --> 4108 * <!-- end-user-doc -->
2423 * @return the meta object for class '<em>Negative</em>'. 4109 * @return the meta object for enum '<em>Aggregation Op</em>'.
2424 * @see org.eclipse.viatra.solver.language.solverLanguage.Negative 4110 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
2425 * @generated 4111 * @generated
2426 */ 4112 */
2427 EClass getNegative(); 4113 EEnum getAggregationOp();
2428 4114
2429 /** 4115 /**
2430 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure <em>Reflexive Closure</em>}'. 4116 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue <em>Logic Value</em>}'.
2431 * <!-- begin-user-doc --> 4117 * <!-- begin-user-doc -->
2432 * <!-- end-user-doc --> 4118 * <!-- end-user-doc -->
2433 * @return the meta object for class '<em>Reflexive Closure</em>'. 4119 * @return the meta object for enum '<em>Logic Value</em>'.
2434 * @see org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure 4120 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
2435 * @generated 4121 * @generated
2436 */ 4122 */
2437 EClass getReflexiveClosure(); 4123 EEnum getLogicValue();
2438 4124
2439 /** 4125 /**
2440 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure <em>Irreflexive Closure</em>}'. 4126 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind <em>Objective Kind</em>}'.
2441 * <!-- begin-user-doc --> 4127 * <!-- begin-user-doc -->
2442 * <!-- end-user-doc --> 4128 * <!-- end-user-doc -->
2443 * @return the meta object for class '<em>Irreflexive Closure</em>'. 4129 * @return the meta object for enum '<em>Objective Kind</em>'.
2444 * @see org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure 4130 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
2445 * @generated 4131 * @generated
2446 */ 4132 */
2447 EClass getIrreflexiveClosure(); 4133 EEnum getObjectiveKind();
2448 4134
2449 /** 4135 /**
2450 * Returns the factory that creates the instances of the model. 4136 * Returns the factory that creates the instances of the model.
@@ -2498,462 +4184,516 @@ public interface SolverLanguagePackage extends EPackage
2498 EClass STATEMENT = eINSTANCE.getStatement(); 4184 EClass STATEMENT = eINSTANCE.getStatement();
2499 4185
2500 /** 4186 /**
2501 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanValueImpl <em>Boolean Value</em>}' class. 4187 * The meta object literal for the '<em><b>Abstract</b></em>' attribute feature.
2502 * <!-- begin-user-doc --> 4188 * <!-- begin-user-doc -->
2503 * <!-- end-user-doc --> 4189 * <!-- end-user-doc -->
2504 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanValueImpl
2505 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanValue()
2506 * @generated 4190 * @generated
2507 */ 4191 */
2508 EClass BOOLEAN_VALUE = eINSTANCE.getBooleanValue(); 4192 EAttribute STATEMENT__ABSTRACT = eINSTANCE.getStatement_Abstract();
2509 4193
2510 /** 4194 /**
2511 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TruthValueImpl <em>Truth Value</em>}' class. 4195 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
2512 * <!-- begin-user-doc --> 4196 * <!-- begin-user-doc -->
2513 * <!-- end-user-doc --> 4197 * <!-- end-user-doc -->
2514 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TruthValueImpl
2515 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTruthValue()
2516 * @generated 4198 * @generated
2517 */ 4199 */
2518 EClass TRUTH_VALUE = eINSTANCE.getTruthValue(); 4200 EAttribute STATEMENT__NAME = eINSTANCE.getStatement_Name();
2519 4201
2520 /** 4202 /**
2521 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl <em>Interpretation</em>}' class. 4203 * The meta object literal for the '<em><b>Superclasses</b></em>' reference list feature.
2522 * <!-- begin-user-doc --> 4204 * <!-- begin-user-doc -->
2523 * <!-- end-user-doc --> 4205 * <!-- end-user-doc -->
2524 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl
2525 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterpretation()
2526 * @generated 4206 * @generated
2527 */ 4207 */
2528 EClass INTERPRETATION = eINSTANCE.getInterpretation(); 4208 EReference STATEMENT__SUPERCLASSES = eINSTANCE.getStatement_Superclasses();
2529 4209
2530 /** 4210 /**
2531 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl <em>Basic Interpretation</em>}' class. 4211 * The meta object literal for the '<em><b>Members</b></em>' containment reference list feature.
2532 * <!-- begin-user-doc --> 4212 * <!-- begin-user-doc -->
2533 * <!-- end-user-doc --> 4213 * <!-- end-user-doc -->
2534 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl
2535 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBasicInterpretation()
2536 * @generated 4214 * @generated
2537 */ 4215 */
2538 EClass BASIC_INTERPRETATION = eINSTANCE.getBasicInterpretation(); 4216 EReference STATEMENT__MEMBERS = eINSTANCE.getStatement_Members();
2539 4217
2540 /** 4218 /**
2541 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature. 4219 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class.
2542 * <!-- begin-user-doc --> 4220 * <!-- begin-user-doc -->
2543 * <!-- end-user-doc --> 4221 * <!-- end-user-doc -->
4222 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl
4223 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition()
2544 * @generated 4224 * @generated
2545 */ 4225 */
2546 EReference BASIC_INTERPRETATION__SYMBOL = eINSTANCE.getBasicInterpretation_Symbol(); 4226 EClass PREDICATE_DEFINITION = eINSTANCE.getPredicateDefinition();
2547 4227
2548 /** 4228 /**
2549 * The meta object literal for the '<em><b>Objects</b></em>' containment reference list feature. 4229 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
2550 * <!-- begin-user-doc --> 4230 * <!-- begin-user-doc -->
2551 * <!-- end-user-doc --> 4231 * <!-- end-user-doc -->
2552 * @generated 4232 * @generated
2553 */ 4233 */
2554 EReference BASIC_INTERPRETATION__OBJECTS = eINSTANCE.getBasicInterpretation_Objects(); 4234 EReference PREDICATE_DEFINITION__HEAD = eINSTANCE.getPredicateDefinition_Head();
2555 4235
2556 /** 4236 /**
2557 * The meta object literal for the '<em><b>Value</b></em>' containment reference feature. 4237 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
2558 * <!-- begin-user-doc --> 4238 * <!-- begin-user-doc -->
2559 * <!-- end-user-doc --> 4239 * <!-- end-user-doc -->
2560 * @generated 4240 * @generated
2561 */ 4241 */
2562 EReference BASIC_INTERPRETATION__VALUE = eINSTANCE.getBasicInterpretation_Value(); 4242 EReference PREDICATE_DEFINITION__BODY = eINSTANCE.getPredicateDefinition_Body();
2563 4243
2564 /** 4244 /**
2565 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl <em>Symbol</em>}' class. 4245 * The meta object literal for the '<em><b>Functional</b></em>' attribute feature.
2566 * <!-- begin-user-doc --> 4246 * <!-- begin-user-doc -->
2567 * <!-- end-user-doc --> 4247 * <!-- end-user-doc -->
2568 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl
2569 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSymbol()
2570 * @generated 4248 * @generated
2571 */ 4249 */
2572 EClass SYMBOL = eINSTANCE.getSymbol(); 4250 EAttribute PREDICATE_DEFINITION__FUNCTIONAL = eINSTANCE.getPredicateDefinition_Functional();
2573 4251
2574 /** 4252 /**
2575 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl <em>Model Symbol</em>}' class. 4253 * The meta object literal for the '<em><b>Error</b></em>' attribute feature.
2576 * <!-- begin-user-doc --> 4254 * <!-- begin-user-doc -->
2577 * <!-- end-user-doc --> 4255 * <!-- end-user-doc -->
2578 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl
2579 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getModelSymbol()
2580 * @generated 4256 * @generated
2581 */ 4257 */
2582 EClass MODEL_SYMBOL = eINSTANCE.getModelSymbol(); 4258 EAttribute PREDICATE_DEFINITION__ERROR = eINSTANCE.getPredicateDefinition_Error();
2583 4259
2584 /** 4260 /**
2585 * The meta object literal for the '<em><b>Name</b></em>' attribute feature. 4261 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl <em>Unnamed Error Prediate Definition</em>}' class.
2586 * <!-- begin-user-doc --> 4262 * <!-- begin-user-doc -->
2587 * <!-- end-user-doc --> 4263 * <!-- end-user-doc -->
4264 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl
4265 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPrediateDefinition()
2588 * @generated 4266 * @generated
2589 */ 4267 */
2590 EAttribute MODEL_SYMBOL__NAME = eINSTANCE.getModelSymbol_Name(); 4268 EClass UNNAMED_ERROR_PREDIATE_DEFINITION = eINSTANCE.getUnnamedErrorPrediateDefinition();
2591 4269
2592 /** 4270 /**
2593 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PartialitySymbolImpl <em>Partiality Symbol</em>}' class. 4271 * The meta object literal for the '<em><b>Argument List</b></em>' containment reference feature.
2594 * <!-- begin-user-doc --> 4272 * <!-- begin-user-doc -->
2595 * <!-- end-user-doc --> 4273 * <!-- end-user-doc -->
2596 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PartialitySymbolImpl
2597 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPartialitySymbol()
2598 * @generated 4274 * @generated
2599 */ 4275 */
2600 EClass PARTIALITY_SYMBOL = eINSTANCE.getPartialitySymbol(); 4276 EReference UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = eINSTANCE.getUnnamedErrorPrediateDefinition_ArgumentList();
2601 4277
2602 /** 4278 /**
2603 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExistSymbolImpl <em>Exist Symbol</em>}' class. 4279 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
2604 * <!-- begin-user-doc --> 4280 * <!-- begin-user-doc -->
2605 * <!-- end-user-doc --> 4281 * <!-- end-user-doc -->
2606 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExistSymbolImpl
2607 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExistSymbol()
2608 * @generated 4282 * @generated
2609 */ 4283 */
2610 EClass EXIST_SYMBOL = eINSTANCE.getExistSymbol(); 4284 EReference UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = eINSTANCE.getUnnamedErrorPrediateDefinition_Body();
2611 4285
2612 /** 4286 /**
2613 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EqualsSymbolImpl <em>Equals Symbol</em>}' class. 4287 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl <em>Default Definition</em>}' class.
2614 * <!-- begin-user-doc --> 4288 * <!-- begin-user-doc -->
2615 * <!-- end-user-doc --> 4289 * <!-- end-user-doc -->
2616 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EqualsSymbolImpl 4290 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl
2617 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEqualsSymbol() 4291 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition()
2618 * @generated 4292 * @generated
2619 */ 4293 */
2620 EClass EQUALS_SYMBOL = eINSTANCE.getEqualsSymbol(); 4294 EClass DEFAULT_DEFINITION = eINSTANCE.getDefaultDefinition();
2621 4295
2622 /** 4296 /**
2623 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DataSymbolImpl <em>Data Symbol</em>}' class. 4297 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
2624 * <!-- begin-user-doc --> 4298 * <!-- begin-user-doc -->
2625 * <!-- end-user-doc --> 4299 * <!-- end-user-doc -->
2626 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DataSymbolImpl
2627 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDataSymbol()
2628 * @generated 4300 * @generated
2629 */ 4301 */
2630 EClass DATA_SYMBOL = eINSTANCE.getDataSymbol(); 4302 EReference DEFAULT_DEFINITION__HEAD = eINSTANCE.getDefaultDefinition_Head();
2631 4303
2632 /** 4304 /**
2633 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanSymbolImpl <em>Boolean Symbol</em>}' class. 4305 * The meta object literal for the '<em><b>Range</b></em>' containment reference feature.
2634 * <!-- begin-user-doc --> 4306 * <!-- begin-user-doc -->
2635 * <!-- end-user-doc --> 4307 * <!-- end-user-doc -->
2636 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanSymbolImpl
2637 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanSymbol()
2638 * @generated 4308 * @generated
2639 */ 4309 */
2640 EClass BOOLEAN_SYMBOL = eINSTANCE.getBooleanSymbol(); 4310 EReference DEFAULT_DEFINITION__RANGE = eINSTANCE.getDefaultDefinition_Range();
2641 4311
2642 /** 4312 /**
2643 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntegerSymbolImpl <em>Integer Symbol</em>}' class. 4313 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl <em>Extern Predicate Definition</em>}' class.
2644 * <!-- begin-user-doc --> 4314 * <!-- begin-user-doc -->
2645 * <!-- end-user-doc --> 4315 * <!-- end-user-doc -->
2646 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntegerSymbolImpl 4316 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl
2647 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntegerSymbol() 4317 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition()
2648 * @generated 4318 * @generated
2649 */ 4319 */
2650 EClass INTEGER_SYMBOL = eINSTANCE.getIntegerSymbol(); 4320 EClass EXTERN_PREDICATE_DEFINITION = eINSTANCE.getExternPredicateDefinition();
2651 4321
2652 /** 4322 /**
2653 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealSymbolImpl <em>Real Symbol</em>}' class. 4323 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
2654 * <!-- begin-user-doc --> 4324 * <!-- begin-user-doc -->
2655 * <!-- end-user-doc --> 4325 * <!-- end-user-doc -->
2656 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealSymbolImpl
2657 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealSymbol()
2658 * @generated 4326 * @generated
2659 */ 4327 */
2660 EClass REAL_SYMBOL = eINSTANCE.getRealSymbol(); 4328 EReference EXTERN_PREDICATE_DEFINITION__HEAD = eINSTANCE.getExternPredicateDefinition_Head();
2661 4329
2662 /** 4330 /**
2663 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringSymbolImpl <em>String Symbol</em>}' class. 4331 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl <em>Metric Definition</em>}' class.
2664 * <!-- begin-user-doc --> 4332 * <!-- begin-user-doc -->
2665 * <!-- end-user-doc --> 4333 * <!-- end-user-doc -->
2666 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringSymbolImpl 4334 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl
2667 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringSymbol() 4335 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition()
2668 * @generated 4336 * @generated
2669 */ 4337 */
2670 EClass STRING_SYMBOL = eINSTANCE.getStringSymbol(); 4338 EClass METRIC_DEFINITION = eINSTANCE.getMetricDefinition();
2671 4339
2672 /** 4340 /**
2673 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComplexObjectImpl <em>Complex Object</em>}' class. 4341 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
2674 * <!-- begin-user-doc --> 4342 * <!-- begin-user-doc -->
2675 * <!-- end-user-doc --> 4343 * <!-- end-user-doc -->
2676 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComplexObjectImpl
2677 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComplexObject()
2678 * @generated 4344 * @generated
2679 */ 4345 */
2680 EClass COMPLEX_OBJECT = eINSTANCE.getComplexObject(); 4346 EReference METRIC_DEFINITION__HEAD = eINSTANCE.getMetricDefinition_Head();
2681 4347
2682 /** 4348 /**
2683 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectImpl <em>Object</em>}' class. 4349 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
2684 * <!-- begin-user-doc --> 4350 * <!-- begin-user-doc -->
2685 * <!-- end-user-doc --> 4351 * <!-- end-user-doc -->
2686 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectImpl
2687 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObject()
2688 * @generated 4352 * @generated
2689 */ 4353 */
2690 EClass OBJECT = eINSTANCE.getObject(); 4354 EReference METRIC_DEFINITION__BODY = eINSTANCE.getMetricDefinition_Body();
2691 4355
2692 /** 4356 /**
2693 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl <em>Named Object</em>}' class. 4357 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
2694 * <!-- begin-user-doc --> 4358 * <!-- begin-user-doc -->
2695 * <!-- end-user-doc --> 4359 * <!-- end-user-doc -->
2696 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl
2697 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedObject()
2698 * @generated 4360 * @generated
2699 */ 4361 */
2700 EClass NAMED_OBJECT = eINSTANCE.getNamedObject(); 4362 EAttribute METRIC_DEFINITION__TYPE = eINSTANCE.getMetricDefinition_Type();
2701 4363
2702 /** 4364 /**
2703 * The meta object literal for the '<em><b>Name</b></em>' attribute feature. 4365 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl <em>Extern Metric Definition</em>}' class.
2704 * <!-- begin-user-doc --> 4366 * <!-- begin-user-doc -->
2705 * <!-- end-user-doc --> 4367 * <!-- end-user-doc -->
4368 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl
4369 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternMetricDefinition()
2706 * @generated 4370 * @generated
2707 */ 4371 */
2708 EAttribute NAMED_OBJECT__NAME = eINSTANCE.getNamedObject_Name(); 4372 EClass EXTERN_METRIC_DEFINITION = eINSTANCE.getExternMetricDefinition();
2709 4373
2710 /** 4374 /**
2711 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl <em>Unnamed Object</em>}' class. 4375 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
2712 * <!-- begin-user-doc --> 4376 * <!-- begin-user-doc -->
2713 * <!-- end-user-doc --> 4377 * <!-- end-user-doc -->
2714 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl
2715 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedObject()
2716 * @generated 4378 * @generated
2717 */ 4379 */
2718 EClass UNNAMED_OBJECT = eINSTANCE.getUnnamedObject(); 4380 EAttribute EXTERN_METRIC_DEFINITION__TYPE = eINSTANCE.getExternMetricDefinition_Type();
2719 4381
2720 /** 4382 /**
2721 * The meta object literal for the '<em><b>Name</b></em>' attribute feature. 4383 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
2722 * <!-- begin-user-doc --> 4384 * <!-- begin-user-doc -->
2723 * <!-- end-user-doc --> 4385 * <!-- end-user-doc -->
2724 * @generated 4386 * @generated
2725 */ 4387 */
2726 EAttribute UNNAMED_OBJECT__NAME = eINSTANCE.getUnnamedObject_Name(); 4388 EReference EXTERN_METRIC_DEFINITION__HEAD = eINSTANCE.getExternMetricDefinition_Head();
2727 4389
2728 /** 4390 /**
2729 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DataObjectImpl <em>Data Object</em>}' class. 4391 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl <em>Expression</em>}' class.
2730 * <!-- begin-user-doc --> 4392 * <!-- begin-user-doc -->
2731 * <!-- end-user-doc --> 4393 * <!-- end-user-doc -->
2732 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DataObjectImpl 4394 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl
2733 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDataObject() 4395 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression()
2734 * @generated 4396 * @generated
2735 */ 4397 */
2736 EClass DATA_OBJECT = eINSTANCE.getDataObject(); 4398 EClass EXPRESSION = eINSTANCE.getExpression();
2737 4399
2738 /** 4400 /**
2739 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl <em>Boolean Object</em>}' class. 4401 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl <em>If Else</em>}' class.
2740 * <!-- begin-user-doc --> 4402 * <!-- begin-user-doc -->
2741 * <!-- end-user-doc --> 4403 * <!-- end-user-doc -->
2742 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl 4404 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl
2743 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanObject() 4405 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse()
2744 * @generated 4406 * @generated
2745 */ 4407 */
2746 EClass BOOLEAN_OBJECT = eINSTANCE.getBooleanObject(); 4408 EClass IF_ELSE = eINSTANCE.getIfElse();
2747 4409
2748 /** 4410 /**
2749 * The meta object literal for the '<em><b>Value</b></em>' containment reference feature. 4411 * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
2750 * <!-- begin-user-doc --> 4412 * <!-- begin-user-doc -->
2751 * <!-- end-user-doc --> 4413 * <!-- end-user-doc -->
2752 * @generated 4414 * @generated
2753 */ 4415 */
2754 EReference BOOLEAN_OBJECT__VALUE = eINSTANCE.getBooleanObject_Value(); 4416 EReference IF_ELSE__CONDITION = eINSTANCE.getIfElse_Condition();
2755 4417
2756 /** 4418 /**
2757 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl <em>Int Object</em>}' class. 4419 * The meta object literal for the '<em><b>Then</b></em>' containment reference feature.
2758 * <!-- begin-user-doc --> 4420 * <!-- begin-user-doc -->
2759 * <!-- end-user-doc --> 4421 * <!-- end-user-doc -->
2760 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl
2761 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntObject()
2762 * @generated 4422 * @generated
2763 */ 4423 */
2764 EClass INT_OBJECT = eINSTANCE.getIntObject(); 4424 EReference IF_ELSE__THEN = eINSTANCE.getIfElse_Then();
2765 4425
2766 /** 4426 /**
2767 * The meta object literal for the '<em><b>Value</b></em>' attribute feature. 4427 * The meta object literal for the '<em><b>Else</b></em>' containment reference feature.
2768 * <!-- begin-user-doc --> 4428 * <!-- begin-user-doc -->
2769 * <!-- end-user-doc --> 4429 * <!-- end-user-doc -->
2770 * @generated 4430 * @generated
2771 */ 4431 */
2772 EAttribute INT_OBJECT__VALUE = eINSTANCE.getIntObject_Value(); 4432 EReference IF_ELSE__ELSE = eINSTANCE.getIfElse_Else();
2773 4433
2774 /** 4434 /**
2775 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl <em>Real Object</em>}' class. 4435 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl <em>Case</em>}' class.
2776 * <!-- begin-user-doc --> 4436 * <!-- begin-user-doc -->
2777 * <!-- end-user-doc --> 4437 * <!-- end-user-doc -->
2778 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl 4438 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl
2779 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealObject() 4439 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase()
2780 * @generated 4440 * @generated
2781 */ 4441 */
2782 EClass REAL_OBJECT = eINSTANCE.getRealObject(); 4442 EClass CASE = eINSTANCE.getCase();
2783 4443
2784 /** 4444 /**
2785 * The meta object literal for the '<em><b>Value</b></em>' attribute feature. 4445 * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
2786 * <!-- begin-user-doc --> 4446 * <!-- begin-user-doc -->
2787 * <!-- end-user-doc --> 4447 * <!-- end-user-doc -->
2788 * @generated 4448 * @generated
2789 */ 4449 */
2790 EAttribute REAL_OBJECT__VALUE = eINSTANCE.getRealObject_Value(); 4450 EReference CASE__CONDITION = eINSTANCE.getCase_Condition();
2791 4451
2792 /** 4452 /**
2793 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl <em>String Object</em>}' class. 4453 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
2794 * <!-- begin-user-doc --> 4454 * <!-- begin-user-doc -->
2795 * <!-- end-user-doc --> 4455 * <!-- end-user-doc -->
2796 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl
2797 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringObject()
2798 * @generated 4456 * @generated
2799 */ 4457 */
2800 EClass STRING_OBJECT = eINSTANCE.getStringObject(); 4458 EReference CASE__BODY = eINSTANCE.getCase_Body();
2801 4459
2802 /** 4460 /**
2803 * The meta object literal for the '<em><b>Value</b></em>' attribute feature. 4461 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl <em>Count</em>}' class.
4462 * <!-- begin-user-doc -->
4463 * <!-- end-user-doc -->
4464 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl
4465 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCount()
4466 * @generated
4467 */
4468 EClass COUNT = eINSTANCE.getCount();
4469
4470 /**
4471 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
4472 * <!-- begin-user-doc -->
4473 * <!-- end-user-doc -->
4474 * @generated
4475 */
4476 EReference COUNT__BODY = eINSTANCE.getCount_Body();
4477
4478 /**
4479 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl <em>Aggregation</em>}' class.
4480 * <!-- begin-user-doc -->
4481 * <!-- end-user-doc -->
4482 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl
4483 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation()
4484 * @generated
4485 */
4486 EClass AGGREGATION = eINSTANCE.getAggregation();
4487
4488 /**
4489 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
4490 * <!-- begin-user-doc -->
4491 * <!-- end-user-doc -->
4492 * @generated
4493 */
4494 EAttribute AGGREGATION__OP = eINSTANCE.getAggregation_Op();
4495
4496 /**
4497 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
4498 * <!-- begin-user-doc -->
4499 * <!-- end-user-doc -->
4500 * @generated
4501 */
4502 EReference AGGREGATION__BODY = eINSTANCE.getAggregation_Body();
4503
4504 /**
4505 * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
4506 * <!-- begin-user-doc -->
4507 * <!-- end-user-doc -->
4508 * @generated
4509 */
4510 EReference AGGREGATION__CONDITION = eINSTANCE.getAggregation_Condition();
4511
4512 /**
4513 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl <em>Call</em>}' class.
2804 * <!-- begin-user-doc --> 4514 * <!-- begin-user-doc -->
2805 * <!-- end-user-doc --> 4515 * <!-- end-user-doc -->
4516 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl
4517 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCall()
2806 * @generated 4518 * @generated
2807 */ 4519 */
2808 EAttribute STRING_OBJECT__VALUE = eINSTANCE.getStringObject_Value(); 4520 EClass CALL = eINSTANCE.getCall();
2809 4521
2810 /** 4522 /**
2811 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl <em>Predicate</em>}' class. 4523 * The meta object literal for the '<em><b>Functor</b></em>' containment reference feature.
2812 * <!-- begin-user-doc --> 4524 * <!-- begin-user-doc -->
2813 * <!-- end-user-doc --> 4525 * <!-- end-user-doc -->
2814 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl
2815 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicate()
2816 * @generated 4526 * @generated
2817 */ 4527 */
2818 EClass PREDICATE = eINSTANCE.getPredicate(); 4528 EReference CALL__FUNCTOR = eINSTANCE.getCall_Functor();
2819 4529
2820 /** 4530 /**
2821 * The meta object literal for the '<em><b>Is Error</b></em>' attribute feature. 4531 * The meta object literal for the '<em><b>Argument List</b></em>' containment reference feature.
2822 * <!-- begin-user-doc --> 4532 * <!-- begin-user-doc -->
2823 * <!-- end-user-doc --> 4533 * <!-- end-user-doc -->
2824 * @generated 4534 * @generated
2825 */ 4535 */
2826 EAttribute PREDICATE__IS_ERROR = eINSTANCE.getPredicate_IsError(); 4536 EReference CALL__ARGUMENT_LIST = eINSTANCE.getCall_ArgumentList();
2827 4537
2828 /** 4538 /**
2829 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature. 4539 * The meta object literal for the '<em><b>Transitive Closure</b></em>' attribute feature.
2830 * <!-- begin-user-doc --> 4540 * <!-- begin-user-doc -->
2831 * <!-- end-user-doc --> 4541 * <!-- end-user-doc -->
2832 * @generated 4542 * @generated
2833 */ 4543 */
2834 EReference PREDICATE__SYMBOL = eINSTANCE.getPredicate_Symbol(); 4544 EAttribute CALL__TRANSITIVE_CLOSURE = eINSTANCE.getCall_TransitiveClosure();
2835 4545
2836 /** 4546 /**
2837 * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature. 4547 * The meta object literal for the '<em><b>Reflexive Transitive Closure</b></em>' attribute feature.
2838 * <!-- begin-user-doc --> 4548 * <!-- begin-user-doc -->
2839 * <!-- end-user-doc --> 4549 * <!-- end-user-doc -->
2840 * @generated 4550 * @generated
2841 */ 4551 */
2842 EReference PREDICATE__PARAMETERS = eINSTANCE.getPredicate_Parameters(); 4552 EAttribute CALL__REFLEXIVE_TRANSITIVE_CLOSURE = eINSTANCE.getCall_ReflexiveTransitiveClosure();
2843 4553
2844 /** 4554 /**
2845 * The meta object literal for the '<em><b>Bodies</b></em>' containment reference list feature. 4555 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl <em>Argument List</em>}' class.
2846 * <!-- begin-user-doc --> 4556 * <!-- begin-user-doc -->
2847 * <!-- end-user-doc --> 4557 * <!-- end-user-doc -->
4558 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl
4559 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgumentList()
2848 * @generated 4560 * @generated
2849 */ 4561 */
2850 EReference PREDICATE__BODIES = eINSTANCE.getPredicate_Bodies(); 4562 EClass ARGUMENT_LIST = eINSTANCE.getArgumentList();
2851 4563
2852 /** 4564 /**
2853 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl <em>Parameter</em>}' class. 4565 * The meta object literal for the '<em><b>Arguments</b></em>' containment reference list feature.
2854 * <!-- begin-user-doc --> 4566 * <!-- begin-user-doc -->
2855 * <!-- end-user-doc --> 4567 * <!-- end-user-doc -->
2856 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl
2857 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getParameter()
2858 * @generated 4568 * @generated
2859 */ 4569 */
2860 EClass PARAMETER = eINSTANCE.getParameter(); 4570 EReference ARGUMENT_LIST__ARGUMENTS = eINSTANCE.getArgumentList_Arguments();
2861 4571
2862 /** 4572 /**
2863 * The meta object literal for the '<em><b>Variable</b></em>' containment reference feature. 4573 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl <em>Argument</em>}' class.
2864 * <!-- begin-user-doc --> 4574 * <!-- begin-user-doc -->
2865 * <!-- end-user-doc --> 4575 * <!-- end-user-doc -->
4576 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl
4577 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgument()
2866 * @generated 4578 * @generated
2867 */ 4579 */
2868 EReference PARAMETER__VARIABLE = eINSTANCE.getParameter_Variable(); 4580 EClass ARGUMENT = eINSTANCE.getArgument();
2869 4581
2870 /** 4582 /**
2871 * The meta object literal for the '<em><b>Type</b></em>' containment reference feature. 4583 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl <em>Expression Argument</em>}' class.
2872 * <!-- begin-user-doc --> 4584 * <!-- begin-user-doc -->
2873 * <!-- end-user-doc --> 4585 * <!-- end-user-doc -->
4586 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl
4587 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpressionArgument()
2874 * @generated 4588 * @generated
2875 */ 4589 */
2876 EReference PARAMETER__TYPE = eINSTANCE.getParameter_Type(); 4590 EClass EXPRESSION_ARGUMENT = eINSTANCE.getExpressionArgument();
2877 4591
2878 /** 4592 /**
2879 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl <em>Pattern Body</em>}' class. 4593 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
2880 * <!-- begin-user-doc --> 4594 * <!-- begin-user-doc -->
2881 * <!-- end-user-doc --> 4595 * <!-- end-user-doc -->
2882 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl
2883 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPatternBody()
2884 * @generated 4596 * @generated
2885 */ 4597 */
2886 EClass PATTERN_BODY = eINSTANCE.getPatternBody(); 4598 EReference EXPRESSION_ARGUMENT__BODY = eINSTANCE.getExpressionArgument_Body();
2887 4599
2888 /** 4600 /**
2889 * The meta object literal for the '<em><b>Constraints</b></em>' containment reference list feature. 4601 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl <em>Star Argument</em>}' class.
2890 * <!-- begin-user-doc --> 4602 * <!-- begin-user-doc -->
2891 * <!-- end-user-doc --> 4603 * <!-- end-user-doc -->
4604 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl
4605 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument()
2892 * @generated 4606 * @generated
2893 */ 4607 */
2894 EReference PATTERN_BODY__CONSTRAINTS = eINSTANCE.getPatternBody_Constraints(); 4608 EClass STAR_ARGUMENT = eINSTANCE.getStarArgument();
2895 4609
2896 /** 4610 /**
2897 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PolarityImpl <em>Polarity</em>}' class. 4611 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl <em>Typed Argument</em>}' class.
2898 * <!-- begin-user-doc --> 4612 * <!-- begin-user-doc -->
2899 * <!-- end-user-doc --> 4613 * <!-- end-user-doc -->
2900 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PolarityImpl 4614 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl
2901 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPolarity() 4615 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedArgument()
2902 * @generated 4616 * @generated
2903 */ 4617 */
2904 EClass POLARITY = eINSTANCE.getPolarity(); 4618 EClass TYPED_ARGUMENT = eINSTANCE.getTypedArgument();
2905 4619
2906 /** 4620 /**
2907 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl <em>Constraint</em>}' class. 4621 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
2908 * <!-- begin-user-doc --> 4622 * <!-- begin-user-doc -->
2909 * <!-- end-user-doc --> 4623 * <!-- end-user-doc -->
2910 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl
2911 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConstraint()
2912 * @generated 4624 * @generated
2913 */ 4625 */
2914 EClass CONSTRAINT = eINSTANCE.getConstraint(); 4626 EReference TYPED_ARGUMENT__TYPE = eINSTANCE.getTypedArgument_Type();
2915 4627
2916 /** 4628 /**
2917 * The meta object literal for the '<em><b>Polarity</b></em>' containment reference feature. 4629 * The meta object literal for the '<em><b>Variable</b></em>' reference feature.
2918 * <!-- begin-user-doc --> 4630 * <!-- begin-user-doc -->
2919 * <!-- end-user-doc --> 4631 * <!-- end-user-doc -->
2920 * @generated 4632 * @generated
2921 */ 4633 */
2922 EReference CONSTRAINT__POLARITY = eINSTANCE.getConstraint_Polarity(); 4634 EReference TYPED_ARGUMENT__VARIABLE = eINSTANCE.getTypedArgument_Variable();
2923 4635
2924 /** 4636 /**
2925 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature. 4637 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl <em>Typed Star Argument</em>}' class.
2926 * <!-- begin-user-doc --> 4638 * <!-- begin-user-doc -->
2927 * <!-- end-user-doc --> 4639 * <!-- end-user-doc -->
4640 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl
4641 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument()
2928 * @generated 4642 * @generated
2929 */ 4643 */
2930 EReference CONSTRAINT__SYMBOL = eINSTANCE.getConstraint_Symbol(); 4644 EClass TYPED_STAR_ARGUMENT = eINSTANCE.getTypedStarArgument();
2931 4645
2932 /** 4646 /**
2933 * The meta object literal for the '<em><b>Params</b></em>' containment reference list feature. 4647 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
2934 * <!-- begin-user-doc --> 4648 * <!-- begin-user-doc -->
2935 * <!-- end-user-doc --> 4649 * <!-- end-user-doc -->
2936 * @generated 4650 * @generated
2937 */ 4651 */
2938 EReference CONSTRAINT__PARAMS = eINSTANCE.getConstraint_Params(); 4652 EReference TYPED_STAR_ARGUMENT__TYPE = eINSTANCE.getTypedStarArgument_Type();
2939 4653
2940 /** 4654 /**
2941 * The meta object literal for the '<em><b>Closure Type</b></em>' containment reference feature. 4655 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl <em>Reference</em>}' class.
2942 * <!-- begin-user-doc --> 4656 * <!-- begin-user-doc -->
2943 * <!-- end-user-doc --> 4657 * <!-- end-user-doc -->
4658 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl
4659 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference()
2944 * @generated 4660 * @generated
2945 */ 4661 */
2946 EReference CONSTRAINT__CLOSURE_TYPE = eINSTANCE.getConstraint_ClosureType(); 4662 EClass REFERENCE = eINSTANCE.getReference();
2947 4663
2948 /** 4664 /**
2949 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClosureTypeImpl <em>Closure Type</em>}' class. 4665 * The meta object literal for the '<em><b>Referred</b></em>' reference feature.
2950 * <!-- begin-user-doc --> 4666 * <!-- begin-user-doc -->
2951 * <!-- end-user-doc --> 4667 * <!-- end-user-doc -->
2952 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClosureTypeImpl
2953 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClosureType()
2954 * @generated 4668 * @generated
2955 */ 4669 */
2956 EClass CLOSURE_TYPE = eINSTANCE.getClosureType(); 4670 EReference REFERENCE__REFERRED = eINSTANCE.getReference_Referred();
4671
4672 /**
4673 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl <em>Interval</em>}' class.
4674 * <!-- begin-user-doc -->
4675 * <!-- end-user-doc -->
4676 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl
4677 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval()
4678 * @generated
4679 */
4680 EClass INTERVAL = eINSTANCE.getInterval();
4681
4682 /**
4683 * The meta object literal for the '<em><b>Lower Bound</b></em>' containment reference feature.
4684 * <!-- begin-user-doc -->
4685 * <!-- end-user-doc -->
4686 * @generated
4687 */
4688 EReference INTERVAL__LOWER_BOUND = eINSTANCE.getInterval_LowerBound();
4689
4690 /**
4691 * The meta object literal for the '<em><b>Upper Bound</b></em>' containment reference feature.
4692 * <!-- begin-user-doc -->
4693 * <!-- end-user-doc -->
4694 * @generated
4695 */
4696 EReference INTERVAL__UPPER_BOUND = eINSTANCE.getInterval_UpperBound();
2957 4697
2958 /** 4698 /**
2959 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl <em>Literal</em>}' class. 4699 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl <em>Literal</em>}' class.
@@ -2966,14 +4706,112 @@ public interface SolverLanguagePackage extends EPackage
2966 EClass LITERAL = eINSTANCE.getLiteral(); 4706 EClass LITERAL = eINSTANCE.getLiteral();
2967 4707
2968 /** 4708 /**
2969 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl <em>Variable</em>}' class. 4709 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl <em>Logic Literal</em>}' class.
4710 * <!-- begin-user-doc -->
4711 * <!-- end-user-doc -->
4712 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl
4713 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral()
4714 * @generated
4715 */
4716 EClass LOGIC_LITERAL = eINSTANCE.getLogicLiteral();
4717
4718 /**
4719 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
2970 * <!-- begin-user-doc --> 4720 * <!-- begin-user-doc -->
2971 * <!-- end-user-doc --> 4721 * <!-- end-user-doc -->
2972 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl
2973 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getVariable()
2974 * @generated 4722 * @generated
2975 */ 4723 */
2976 EClass VARIABLE = eINSTANCE.getVariable(); 4724 EAttribute LOGIC_LITERAL__VALUE = eINSTANCE.getLogicLiteral_Value();
4725
4726 /**
4727 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl <em>Numeric Literal</em>}' class.
4728 * <!-- begin-user-doc -->
4729 * <!-- end-user-doc -->
4730 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl
4731 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNumericLiteral()
4732 * @generated
4733 */
4734 EClass NUMERIC_LITERAL = eINSTANCE.getNumericLiteral();
4735
4736 /**
4737 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
4738 * <!-- begin-user-doc -->
4739 * <!-- end-user-doc -->
4740 * @generated
4741 */
4742 EAttribute NUMERIC_LITERAL__VALUE = eINSTANCE.getNumericLiteral_Value();
4743
4744 /**
4745 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl <em>Infinity Literal</em>}' class.
4746 * <!-- begin-user-doc -->
4747 * <!-- end-user-doc -->
4748 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl
4749 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInfinityLiteral()
4750 * @generated
4751 */
4752 EClass INFINITY_LITERAL = eINSTANCE.getInfinityLiteral();
4753
4754 /**
4755 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl <em>Empty Interval Literal</em>}' class.
4756 * <!-- begin-user-doc -->
4757 * <!-- end-user-doc -->
4758 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl
4759 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyIntervalLiteral()
4760 * @generated
4761 */
4762 EClass EMPTY_INTERVAL_LITERAL = eINSTANCE.getEmptyIntervalLiteral();
4763
4764 /**
4765 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl <em>String Literal</em>}' class.
4766 * <!-- begin-user-doc -->
4767 * <!-- end-user-doc -->
4768 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl
4769 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral()
4770 * @generated
4771 */
4772 EClass STRING_LITERAL = eINSTANCE.getStringLiteral();
4773
4774 /**
4775 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
4776 * <!-- begin-user-doc -->
4777 * <!-- end-user-doc -->
4778 * @generated
4779 */
4780 EAttribute STRING_LITERAL__VALUE = eINSTANCE.getStringLiteral_Value();
4781
4782 /**
4783 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl <em>Member Definition</em>}' class.
4784 * <!-- begin-user-doc -->
4785 * <!-- end-user-doc -->
4786 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl
4787 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition()
4788 * @generated
4789 */
4790 EClass MEMBER_DEFINITION = eINSTANCE.getMemberDefinition();
4791
4792 /**
4793 * The meta object literal for the '<em><b>Containment</b></em>' attribute feature.
4794 * <!-- begin-user-doc -->
4795 * <!-- end-user-doc -->
4796 * @generated
4797 */
4798 EAttribute MEMBER_DEFINITION__CONTAINMENT = eINSTANCE.getMemberDefinition_Containment();
4799
4800 /**
4801 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
4802 * <!-- begin-user-doc -->
4803 * <!-- end-user-doc -->
4804 * @generated
4805 */
4806 EReference MEMBER_DEFINITION__TYPE = eINSTANCE.getMemberDefinition_Type();
4807
4808 /**
4809 * The meta object literal for the '<em><b>Multiplicity</b></em>' containment reference feature.
4810 * <!-- begin-user-doc -->
4811 * <!-- end-user-doc -->
4812 * @generated
4813 */
4814 EReference MEMBER_DEFINITION__MULTIPLICITY = eINSTANCE.getMemberDefinition_Multiplicity();
2977 4815
2978 /** 4816 /**
2979 * The meta object literal for the '<em><b>Name</b></em>' attribute feature. 4817 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
@@ -2981,365 +4819,437 @@ public interface SolverLanguagePackage extends EPackage
2981 * <!-- end-user-doc --> 4819 * <!-- end-user-doc -->
2982 * @generated 4820 * @generated
2983 */ 4821 */
2984 EAttribute VARIABLE__NAME = eINSTANCE.getVariable_Name(); 4822 EAttribute MEMBER_DEFINITION__NAME = eINSTANCE.getMemberDefinition_Name();
2985 4823
2986 /** 4824 /**
2987 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl <em>All Instances</em>}' class. 4825 * The meta object literal for the '<em><b>Opposite</b></em>' reference feature.
2988 * <!-- begin-user-doc --> 4826 * <!-- begin-user-doc -->
2989 * <!-- end-user-doc --> 4827 * <!-- end-user-doc -->
2990 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl
2991 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllInstances()
2992 * @generated 4828 * @generated
2993 */ 4829 */
2994 EClass ALL_INSTANCES = eINSTANCE.getAllInstances(); 4830 EReference MEMBER_DEFINITION__OPPOSITE = eINSTANCE.getMemberDefinition_Opposite();
2995 4831
2996 /** 4832 /**
2997 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature. 4833 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl <em>Multiplicity</em>}' class.
2998 * <!-- begin-user-doc --> 4834 * <!-- begin-user-doc -->
2999 * <!-- end-user-doc --> 4835 * <!-- end-user-doc -->
4836 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl
4837 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity()
3000 * @generated 4838 * @generated
3001 */ 4839 */
3002 EReference ALL_INSTANCES__SYMBOL = eINSTANCE.getAllInstances_Symbol(); 4840 EClass MULTIPLICITY = eINSTANCE.getMultiplicity();
3003 4841
3004 /** 4842 /**
3005 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllObjectsImpl <em>All Objects</em>}' class. 4843 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl <em>Many Multiplicity</em>}' class.
3006 * <!-- begin-user-doc --> 4844 * <!-- begin-user-doc -->
3007 * <!-- end-user-doc --> 4845 * <!-- end-user-doc -->
3008 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AllObjectsImpl 4846 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl
3009 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllObjects() 4847 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity()
3010 * @generated 4848 * @generated
3011 */ 4849 */
3012 EClass ALL_OBJECTS = eINSTANCE.getAllObjects(); 4850 EClass MANY_MULTIPLICITY = eINSTANCE.getManyMultiplicity();
3013 4851
3014 /** 4852 /**
3015 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl <em>Default Interpretation</em>}' class. 4853 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl <em>Exact Multiplicity</em>}' class.
3016 * <!-- begin-user-doc --> 4854 * <!-- begin-user-doc -->
3017 * <!-- end-user-doc --> 4855 * <!-- end-user-doc -->
3018 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl 4856 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl
3019 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultInterpretation() 4857 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity()
3020 * @generated 4858 * @generated
3021 */ 4859 */
3022 EClass DEFAULT_INTERPRETATION = eINSTANCE.getDefaultInterpretation(); 4860 EClass EXACT_MULTIPLICITY = eINSTANCE.getExactMultiplicity();
3023 4861
3024 /** 4862 /**
3025 * The meta object literal for the '<em><b>Interpretation</b></em>' containment reference feature. 4863 * The meta object literal for the '<em><b>Multiplicity</b></em>' attribute feature.
3026 * <!-- begin-user-doc --> 4864 * <!-- begin-user-doc -->
3027 * <!-- end-user-doc --> 4865 * <!-- end-user-doc -->
3028 * @generated 4866 * @generated
3029 */ 4867 */
3030 EReference DEFAULT_INTERPRETATION__INTERPRETATION = eINSTANCE.getDefaultInterpretation_Interpretation(); 4868 EAttribute EXACT_MULTIPLICITY__MULTIPLICITY = eINSTANCE.getExactMultiplicity_Multiplicity();
3031 4869
3032 /** 4870 /**
3033 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CDInterpretationImpl <em>CD Interpretation</em>}' class. 4871 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl <em>Bounded Multiplicity</em>}' class.
3034 * <!-- begin-user-doc --> 4872 * <!-- begin-user-doc -->
3035 * <!-- end-user-doc --> 4873 * <!-- end-user-doc -->
3036 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CDInterpretationImpl 4874 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl
3037 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCDInterpretation() 4875 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity()
3038 * @generated 4876 * @generated
3039 */ 4877 */
3040 EClass CD_INTERPRETATION = eINSTANCE.getCDInterpretation(); 4878 EClass BOUNDED_MULTIPLICITY = eINSTANCE.getBoundedMultiplicity();
3041 4879
3042 /** 4880 /**
3043 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl <em>Class Interpretation</em>}' class. 4881 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
3044 * <!-- begin-user-doc --> 4882 * <!-- begin-user-doc -->
3045 * <!-- end-user-doc --> 4883 * <!-- end-user-doc -->
3046 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl
3047 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassInterpretation()
3048 * @generated 4884 * @generated
3049 */ 4885 */
3050 EClass CLASS_INTERPRETATION = eINSTANCE.getClassInterpretation(); 4886 EAttribute BOUNDED_MULTIPLICITY__LOWER_BOUND = eINSTANCE.getBoundedMultiplicity_LowerBound();
3051 4887
3052 /** 4888 /**
3053 * The meta object literal for the '<em><b>Abstract</b></em>' attribute feature. 4889 * The meta object literal for the '<em><b>Upper Bound</b></em>' attribute feature.
3054 * <!-- begin-user-doc --> 4890 * <!-- begin-user-doc -->
3055 * <!-- end-user-doc --> 4891 * <!-- end-user-doc -->
3056 * @generated 4892 * @generated
3057 */ 4893 */
3058 EAttribute CLASS_INTERPRETATION__ABSTRACT = eINSTANCE.getClassInterpretation_Abstract(); 4894 EAttribute BOUNDED_MULTIPLICITY__UPPER_BOUND = eINSTANCE.getBoundedMultiplicity_UpperBound();
3059 4895
3060 /** 4896 /**
3061 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature. 4897 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl <em>Scope Definition</em>}' class.
3062 * <!-- begin-user-doc --> 4898 * <!-- begin-user-doc -->
3063 * <!-- end-user-doc --> 4899 * <!-- end-user-doc -->
4900 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl
4901 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition()
3064 * @generated 4902 * @generated
3065 */ 4903 */
3066 EReference CLASS_INTERPRETATION__SYMBOL = eINSTANCE.getClassInterpretation_Symbol(); 4904 EClass SCOPE_DEFINITION = eINSTANCE.getScopeDefinition();
3067 4905
3068 /** 4906 /**
3069 * The meta object literal for the '<em><b>Supertypes</b></em>' containment reference list feature. 4907 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
3070 * <!-- begin-user-doc --> 4908 * <!-- begin-user-doc -->
3071 * <!-- end-user-doc --> 4909 * <!-- end-user-doc -->
3072 * @generated 4910 * @generated
3073 */ 4911 */
3074 EReference CLASS_INTERPRETATION__SUPERTYPES = eINSTANCE.getClassInterpretation_Supertypes(); 4912 EReference SCOPE_DEFINITION__TYPE = eINSTANCE.getScopeDefinition_Type();
3075 4913
3076 /** 4914 /**
3077 * The meta object literal for the '<em><b>Fielt</b></em>' containment reference list feature. 4915 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl <em>Exact Scope Definition</em>}' class.
3078 * <!-- begin-user-doc --> 4916 * <!-- begin-user-doc -->
3079 * <!-- end-user-doc --> 4917 * <!-- end-user-doc -->
4918 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl
4919 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition()
3080 * @generated 4920 * @generated
3081 */ 4921 */
3082 EReference CLASS_INTERPRETATION__FIELT = eINSTANCE.getClassInterpretation_Fielt(); 4922 EClass EXACT_SCOPE_DEFINITION = eINSTANCE.getExactScopeDefinition();
3083 4923
3084 /** 4924 /**
3085 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl <em>Enum Interpretation</em>}' class. 4925 * The meta object literal for the '<em><b>Exact Scope</b></em>' attribute feature.
3086 * <!-- begin-user-doc --> 4926 * <!-- begin-user-doc -->
3087 * <!-- end-user-doc --> 4927 * <!-- end-user-doc -->
3088 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl
3089 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEnumInterpretation()
3090 * @generated 4928 * @generated
3091 */ 4929 */
3092 EClass ENUM_INTERPRETATION = eINSTANCE.getEnumInterpretation(); 4930 EAttribute EXACT_SCOPE_DEFINITION__EXACT_SCOPE = eINSTANCE.getExactScopeDefinition_ExactScope();
3093 4931
3094 /** 4932 /**
3095 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature. 4933 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl <em>Bounded Scope Definition</em>}' class.
3096 * <!-- begin-user-doc --> 4934 * <!-- begin-user-doc -->
3097 * <!-- end-user-doc --> 4935 * <!-- end-user-doc -->
4936 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl
4937 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition()
3098 * @generated 4938 * @generated
3099 */ 4939 */
3100 EReference ENUM_INTERPRETATION__SYMBOL = eINSTANCE.getEnumInterpretation_Symbol(); 4940 EClass BOUNDED_SCOPE_DEFINITION = eINSTANCE.getBoundedScopeDefinition();
3101 4941
3102 /** 4942 /**
3103 * The meta object literal for the '<em><b>Objects</b></em>' containment reference list feature. 4943 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
3104 * <!-- begin-user-doc --> 4944 * <!-- begin-user-doc -->
3105 * <!-- end-user-doc --> 4945 * <!-- end-user-doc -->
3106 * @generated 4946 * @generated
3107 */ 4947 */
3108 EReference ENUM_INTERPRETATION__OBJECTS = eINSTANCE.getEnumInterpretation_Objects(); 4948 EAttribute BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getBoundedScopeDefinition_LowerBound();
3109 4949
3110 /** 4950 /**
3111 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl <em>Field Relation Interpretation</em>}' class. 4951 * The meta object literal for the '<em><b>Upper Bound</b></em>' attribute feature.
3112 * <!-- begin-user-doc --> 4952 * <!-- begin-user-doc -->
3113 * <!-- end-user-doc --> 4953 * <!-- end-user-doc -->
3114 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl
3115 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFieldRelationInterpretation()
3116 * @generated 4954 * @generated
3117 */ 4955 */
3118 EClass FIELD_RELATION_INTERPRETATION = eINSTANCE.getFieldRelationInterpretation(); 4956 EAttribute BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = eINSTANCE.getBoundedScopeDefinition_UpperBound();
3119 4957
3120 /** 4958 /**
3121 * The meta object literal for the '<em><b>Containment</b></em>' attribute feature. 4959 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl <em>Lower Bounded Scope Definition</em>}' class.
3122 * <!-- begin-user-doc --> 4960 * <!-- begin-user-doc -->
3123 * <!-- end-user-doc --> 4961 * <!-- end-user-doc -->
4962 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl
4963 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition()
3124 * @generated 4964 * @generated
3125 */ 4965 */
3126 EAttribute FIELD_RELATION_INTERPRETATION__CONTAINMENT = eINSTANCE.getFieldRelationInterpretation_Containment(); 4966 EClass LOWER_BOUNDED_SCOPE_DEFINITION = eINSTANCE.getLowerBoundedScopeDefinition();
3127 4967
3128 /** 4968 /**
3129 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature. 4969 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
3130 * <!-- begin-user-doc --> 4970 * <!-- begin-user-doc -->
3131 * <!-- end-user-doc --> 4971 * <!-- end-user-doc -->
3132 * @generated 4972 * @generated
3133 */ 4973 */
3134 EReference FIELD_RELATION_INTERPRETATION__SYMBOL = eINSTANCE.getFieldRelationInterpretation_Symbol(); 4974 EAttribute LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getLowerBoundedScopeDefinition_LowerBound();
3135 4975
3136 /** 4976 /**
3137 * The meta object literal for the '<em><b>Multiplicity</b></em>' containment reference feature. 4977 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl <em>Objective Definition</em>}' class.
3138 * <!-- begin-user-doc --> 4978 * <!-- begin-user-doc -->
3139 * <!-- end-user-doc --> 4979 * <!-- end-user-doc -->
4980 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl
4981 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition()
3140 * @generated 4982 * @generated
3141 */ 4983 */
3142 EReference FIELD_RELATION_INTERPRETATION__MULTIPLICITY = eINSTANCE.getFieldRelationInterpretation_Multiplicity(); 4984 EClass OBJECTIVE_DEFINITION = eINSTANCE.getObjectiveDefinition();
3143 4985
3144 /** 4986 /**
3145 * The meta object literal for the '<em><b>Target</b></em>' containment reference feature. 4987 * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
3146 * <!-- begin-user-doc --> 4988 * <!-- begin-user-doc -->
3147 * <!-- end-user-doc --> 4989 * <!-- end-user-doc -->
3148 * @generated 4990 * @generated
3149 */ 4991 */
3150 EReference FIELD_RELATION_INTERPRETATION__TARGET = eINSTANCE.getFieldRelationInterpretation_Target(); 4992 EAttribute OBJECTIVE_DEFINITION__KIND = eINSTANCE.getObjectiveDefinition_Kind();
3151 4993
3152 /** 4994 /**
3153 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl <em>Global Relation Interpretation</em>}' class. 4995 * The meta object literal for the '<em><b>Objective</b></em>' containment reference feature.
3154 * <!-- begin-user-doc --> 4996 * <!-- begin-user-doc -->
3155 * <!-- end-user-doc --> 4997 * <!-- end-user-doc -->
3156 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl
3157 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getGlobalRelationInterpretation()
3158 * @generated 4998 * @generated
3159 */ 4999 */
3160 EClass GLOBAL_RELATION_INTERPRETATION = eINSTANCE.getGlobalRelationInterpretation(); 5000 EReference OBJECTIVE_DEFINITION__OBJECTIVE = eINSTANCE.getObjectiveDefinition_Objective();
3161 5001
3162 /** 5002 /**
3163 * The meta object literal for the '<em><b>Containment</b></em>' attribute feature. 5003 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl <em>Named Element</em>}' class.
5004 * <!-- begin-user-doc -->
5005 * <!-- end-user-doc -->
5006 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl
5007 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement()
5008 * @generated
5009 */
5010 EClass NAMED_ELEMENT = eINSTANCE.getNamedElement();
5011
5012 /**
5013 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
5014 * <!-- begin-user-doc -->
5015 * <!-- end-user-doc -->
5016 * @generated
5017 */
5018 EAttribute NAMED_ELEMENT__NAME = eINSTANCE.getNamedElement_Name();
5019
5020 /**
5021 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl <em>Assertion</em>}' class.
5022 * <!-- begin-user-doc -->
5023 * <!-- end-user-doc -->
5024 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl
5025 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAssertion()
5026 * @generated
5027 */
5028 EClass ASSERTION = eINSTANCE.getAssertion();
5029
5030 /**
5031 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
5032 * <!-- begin-user-doc -->
5033 * <!-- end-user-doc -->
5034 * @generated
5035 */
5036 EReference ASSERTION__BODY = eINSTANCE.getAssertion_Body();
5037
5038 /**
5039 * The meta object literal for the '<em><b>Range</b></em>' containment reference feature.
5040 * <!-- begin-user-doc -->
5041 * <!-- end-user-doc -->
5042 * @generated
5043 */
5044 EReference ASSERTION__RANGE = eINSTANCE.getAssertion_Range();
5045
5046 /**
5047 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl <em>Disjunction</em>}' class.
5048 * <!-- begin-user-doc -->
5049 * <!-- end-user-doc -->
5050 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl
5051 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction()
5052 * @generated
5053 */
5054 EClass DISJUNCTION = eINSTANCE.getDisjunction();
5055
5056 /**
5057 * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature.
5058 * <!-- begin-user-doc -->
5059 * <!-- end-user-doc -->
5060 * @generated
5061 */
5062 EReference DISJUNCTION__CHILDREN = eINSTANCE.getDisjunction_Children();
5063
5064 /**
5065 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl <em>Switch</em>}' class.
5066 * <!-- begin-user-doc -->
5067 * <!-- end-user-doc -->
5068 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl
5069 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch()
5070 * @generated
5071 */
5072 EClass SWITCH = eINSTANCE.getSwitch();
5073
5074 /**
5075 * The meta object literal for the '<em><b>Cases</b></em>' containment reference list feature.
3164 * <!-- begin-user-doc --> 5076 * <!-- begin-user-doc -->
3165 * <!-- end-user-doc --> 5077 * <!-- end-user-doc -->
3166 * @generated 5078 * @generated
3167 */ 5079 */
3168 EAttribute GLOBAL_RELATION_INTERPRETATION__CONTAINMENT = eINSTANCE.getGlobalRelationInterpretation_Containment(); 5080 EReference SWITCH__CASES = eINSTANCE.getSwitch_Cases();
3169 5081
3170 /** 5082 /**
3171 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature. 5083 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl <em>Conjunction</em>}' class.
3172 * <!-- begin-user-doc --> 5084 * <!-- begin-user-doc -->
3173 * <!-- end-user-doc --> 5085 * <!-- end-user-doc -->
5086 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl
5087 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction()
3174 * @generated 5088 * @generated
3175 */ 5089 */
3176 EReference GLOBAL_RELATION_INTERPRETATION__SYMBOL = eINSTANCE.getGlobalRelationInterpretation_Symbol(); 5090 EClass CONJUNCTION = eINSTANCE.getConjunction();
3177 5091
3178 /** 5092 /**
3179 * The meta object literal for the '<em><b>Source Multiplicity</b></em>' containment reference feature. 5093 * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature.
3180 * <!-- begin-user-doc --> 5094 * <!-- begin-user-doc -->
3181 * <!-- end-user-doc --> 5095 * <!-- end-user-doc -->
3182 * @generated 5096 * @generated
3183 */ 5097 */
3184 EReference GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY = eINSTANCE.getGlobalRelationInterpretation_SourceMultiplicity(); 5098 EReference CONJUNCTION__CHILDREN = eINSTANCE.getConjunction_Children();
3185 5099
3186 /** 5100 /**
3187 * The meta object literal for the '<em><b>Source</b></em>' containment reference feature. 5101 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl <em>Comparison</em>}' class.
3188 * <!-- begin-user-doc --> 5102 * <!-- begin-user-doc -->
3189 * <!-- end-user-doc --> 5103 * <!-- end-user-doc -->
5104 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl
5105 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison()
3190 * @generated 5106 * @generated
3191 */ 5107 */
3192 EReference GLOBAL_RELATION_INTERPRETATION__SOURCE = eINSTANCE.getGlobalRelationInterpretation_Source(); 5108 EClass COMPARISON = eINSTANCE.getComparison();
3193 5109
3194 /** 5110 /**
3195 * The meta object literal for the '<em><b>Target Multiplicity</b></em>' containment reference feature. 5111 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
3196 * <!-- begin-user-doc --> 5112 * <!-- begin-user-doc -->
3197 * <!-- end-user-doc --> 5113 * <!-- end-user-doc -->
3198 * @generated 5114 * @generated
3199 */ 5115 */
3200 EReference GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY = eINSTANCE.getGlobalRelationInterpretation_TargetMultiplicity(); 5116 EReference COMPARISON__LEFT = eINSTANCE.getComparison_Left();
3201 5117
3202 /** 5118 /**
3203 * The meta object literal for the '<em><b>Target</b></em>' containment reference feature. 5119 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
3204 * <!-- begin-user-doc --> 5120 * <!-- begin-user-doc -->
3205 * <!-- end-user-doc --> 5121 * <!-- end-user-doc -->
3206 * @generated 5122 * @generated
3207 */ 5123 */
3208 EReference GLOBAL_RELATION_INTERPRETATION__TARGET = eINSTANCE.getGlobalRelationInterpretation_Target(); 5124 EAttribute COMPARISON__OP = eINSTANCE.getComparison_Op();
3209 5125
3210 /** 5126 /**
3211 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl <em>Multiplicity Definition</em>}' class. 5127 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
3212 * <!-- begin-user-doc --> 5128 * <!-- begin-user-doc -->
3213 * <!-- end-user-doc --> 5129 * <!-- end-user-doc -->
3214 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl
3215 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicityDefinition()
3216 * @generated 5130 * @generated
3217 */ 5131 */
3218 EClass MULTIPLICITY_DEFINITION = eINSTANCE.getMultiplicityDefinition(); 5132 EReference COMPARISON__RIGHT = eINSTANCE.getComparison_Right();
3219 5133
3220 /** 5134 /**
3221 * The meta object literal for the '<em><b>Lower</b></em>' attribute feature. 5135 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl <em>Binary Expression</em>}' class.
3222 * <!-- begin-user-doc --> 5136 * <!-- begin-user-doc -->
3223 * <!-- end-user-doc --> 5137 * <!-- end-user-doc -->
5138 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl
5139 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression()
3224 * @generated 5140 * @generated
3225 */ 5141 */
3226 EAttribute MULTIPLICITY_DEFINITION__LOWER = eINSTANCE.getMultiplicityDefinition_Lower(); 5142 EClass BINARY_EXPRESSION = eINSTANCE.getBinaryExpression();
3227 5143
3228 /** 5144 /**
3229 * The meta object literal for the '<em><b>Upper</b></em>' attribute feature. 5145 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
3230 * <!-- begin-user-doc --> 5146 * <!-- begin-user-doc -->
3231 * <!-- end-user-doc --> 5147 * <!-- end-user-doc -->
3232 * @generated 5148 * @generated
3233 */ 5149 */
3234 EAttribute MULTIPLICITY_DEFINITION__UPPER = eINSTANCE.getMultiplicityDefinition_Upper(); 5150 EReference BINARY_EXPRESSION__LEFT = eINSTANCE.getBinaryExpression_Left();
3235 5151
3236 /** 5152 /**
3237 * The meta object literal for the '<em><b>Unlimited Upper</b></em>' attribute feature. 5153 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
3238 * <!-- begin-user-doc --> 5154 * <!-- begin-user-doc -->
3239 * <!-- end-user-doc --> 5155 * <!-- end-user-doc -->
3240 * @generated 5156 * @generated
3241 */ 5157 */
3242 EAttribute MULTIPLICITY_DEFINITION__UNLIMITED_UPPER = eINSTANCE.getMultiplicityDefinition_UnlimitedUpper(); 5158 EAttribute BINARY_EXPRESSION__OP = eINSTANCE.getBinaryExpression_Op();
3243 5159
3244 /** 5160 /**
3245 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanTrueImpl <em>Boolean True</em>}' class. 5161 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
3246 * <!-- begin-user-doc --> 5162 * <!-- begin-user-doc -->
3247 * <!-- end-user-doc --> 5163 * <!-- end-user-doc -->
3248 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanTrueImpl
3249 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanTrue()
3250 * @generated 5164 * @generated
3251 */ 5165 */
3252 EClass BOOLEAN_TRUE = eINSTANCE.getBooleanTrue(); 5166 EReference BINARY_EXPRESSION__RIGHT = eINSTANCE.getBinaryExpression_Right();
3253 5167
3254 /** 5168 /**
3255 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanFalseImpl <em>Boolean False</em>}' class. 5169 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl <em>Unary Expression</em>}' class.
3256 * <!-- begin-user-doc --> 5170 * <!-- begin-user-doc -->
3257 * <!-- end-user-doc --> 5171 * <!-- end-user-doc -->
3258 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanFalseImpl 5172 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl
3259 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanFalse() 5173 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression()
3260 * @generated 5174 * @generated
3261 */ 5175 */
3262 EClass BOOLEAN_FALSE = eINSTANCE.getBooleanFalse(); 5176 EClass UNARY_EXPRESSION = eINSTANCE.getUnaryExpression();
3263 5177
3264 /** 5178 /**
3265 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TrueImpl <em>True</em>}' class. 5179 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
3266 * <!-- begin-user-doc --> 5180 * <!-- begin-user-doc -->
3267 * <!-- end-user-doc --> 5181 * <!-- end-user-doc -->
3268 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TrueImpl
3269 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTrue()
3270 * @generated 5182 * @generated
3271 */ 5183 */
3272 EClass TRUE = eINSTANCE.getTrue(); 5184 EAttribute UNARY_EXPRESSION__OP = eINSTANCE.getUnaryExpression_Op();
3273 5185
3274 /** 5186 /**
3275 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FalseImpl <em>False</em>}' class. 5187 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3276 * <!-- begin-user-doc --> 5188 * <!-- begin-user-doc -->
3277 * <!-- end-user-doc --> 5189 * <!-- end-user-doc -->
3278 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FalseImpl
3279 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFalse()
3280 * @generated 5190 * @generated
3281 */ 5191 */
3282 EClass FALSE = eINSTANCE.getFalse(); 5192 EReference UNARY_EXPRESSION__BODY = eINSTANCE.getUnaryExpression_Body();
3283 5193
3284 /** 5194 /**
3285 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnknownImpl <em>Unknown</em>}' class. 5195 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricType <em>Metric Type</em>}' enum.
3286 * <!-- begin-user-doc --> 5196 * <!-- begin-user-doc -->
3287 * <!-- end-user-doc --> 5197 * <!-- end-user-doc -->
3288 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnknownImpl 5198 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
3289 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnknown() 5199 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricType()
3290 * @generated 5200 * @generated
3291 */ 5201 */
3292 EClass UNKNOWN = eINSTANCE.getUnknown(); 5202 EEnum METRIC_TYPE = eINSTANCE.getMetricType();
3293 5203
3294 /** 5204 /**
3295 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorImpl <em>Error</em>}' class. 5205 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator <em>Binary Operator</em>}' enum.
3296 * <!-- begin-user-doc --> 5206 * <!-- begin-user-doc -->
3297 * <!-- end-user-doc --> 5207 * <!-- end-user-doc -->
3298 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorImpl 5208 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
3299 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getError() 5209 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryOperator()
3300 * @generated 5210 * @generated
3301 */ 5211 */
3302 EClass ERROR = eINSTANCE.getError(); 5212 EEnum BINARY_OPERATOR = eINSTANCE.getBinaryOperator();
3303 5213
3304 /** 5214 /**
3305 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PositiveImpl <em>Positive</em>}' class. 5215 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp <em>Unary Op</em>}' enum.
3306 * <!-- begin-user-doc --> 5216 * <!-- begin-user-doc -->
3307 * <!-- end-user-doc --> 5217 * <!-- end-user-doc -->
3308 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PositiveImpl 5218 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
3309 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPositive() 5219 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOp()
3310 * @generated 5220 * @generated
3311 */ 5221 */
3312 EClass POSITIVE = eINSTANCE.getPositive(); 5222 EEnum UNARY_OP = eINSTANCE.getUnaryOp();
3313 5223
3314 /** 5224 /**
3315 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NegativeImpl <em>Negative</em>}' class. 5225 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp <em>Aggregation Op</em>}' enum.
3316 * <!-- begin-user-doc --> 5226 * <!-- begin-user-doc -->
3317 * <!-- end-user-doc --> 5227 * <!-- end-user-doc -->
3318 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NegativeImpl 5228 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
3319 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNegative() 5229 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregationOp()
3320 * @generated 5230 * @generated
3321 */ 5231 */
3322 EClass NEGATIVE = eINSTANCE.getNegative(); 5232 EEnum AGGREGATION_OP = eINSTANCE.getAggregationOp();
3323 5233
3324 /** 5234 /**
3325 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReflexiveClosureImpl <em>Reflexive Closure</em>}' class. 5235 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue <em>Logic Value</em>}' enum.
3326 * <!-- begin-user-doc --> 5236 * <!-- begin-user-doc -->
3327 * <!-- end-user-doc --> 5237 * <!-- end-user-doc -->
3328 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReflexiveClosureImpl 5238 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
3329 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReflexiveClosure() 5239 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicValue()
3330 * @generated 5240 * @generated
3331 */ 5241 */
3332 EClass REFLEXIVE_CLOSURE = eINSTANCE.getReflexiveClosure(); 5242 EEnum LOGIC_VALUE = eINSTANCE.getLogicValue();
3333 5243
3334 /** 5244 /**
3335 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IrreflexiveClosureImpl <em>Irreflexive Closure</em>}' class. 5245 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind <em>Objective Kind</em>}' enum.
3336 * <!-- begin-user-doc --> 5246 * <!-- begin-user-doc -->
3337 * <!-- end-user-doc --> 5247 * <!-- end-user-doc -->
3338 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IrreflexiveClosureImpl 5248 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
3339 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIrreflexiveClosure() 5249 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveKind()
3340 * @generated 5250 * @generated
3341 */ 5251 */
3342 EClass IRREFLEXIVE_CLOSURE = eINSTANCE.getIrreflexiveClosure(); 5252 EEnum OBJECTIVE_KIND = eINSTANCE.getObjectiveKind();
3343 5253
3344 } 5254 }
3345 5255
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java
index f3d6d8ee..4e4bed1b 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringSymbol.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java
@@ -1,19 +1,19 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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>String Symbol</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#getStringSymbol() 13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStarArgument()
14 * @model 14 * @model
15 * @generated 15 * @generated
16 */ 16 */
17public interface StringSymbol extends DataSymbol 17public interface StarArgument extends Argument
18{ 18{
19} // StringSymbol 19} // StarArgument
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java
index f3da8f9c..9c3be9d6 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/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java
@@ -1,8 +1,10 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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;
7
6import org.eclipse.emf.ecore.EObject; 8import org.eclipse.emf.ecore.EObject;
7 9
8/** 10/**
@@ -10,6 +12,15 @@ import org.eclipse.emf.ecore.EObject;
10 * A representation of the model object '<em><b>Statement</b></em>'. 12 * A representation of the model object '<em><b>Statement</b></em>'.
11 * <!-- end-user-doc --> 13 * <!-- end-user-doc -->
12 * 14 *
15 * <p>
16 * The following features are supported:
17 * </p>
18 * <ul>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract <em>Abstract</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getName <em>Name</em>}</li>
21 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getSuperclasses <em>Superclasses</em>}</li>
22 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getMembers <em>Members</em>}</li>
23 * </ul>
13 * 24 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement() 25 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement()
15 * @model 26 * @model
@@ -17,4 +28,72 @@ import org.eclipse.emf.ecore.EObject;
17 */ 28 */
18public interface Statement extends EObject 29public interface Statement extends EObject
19{ 30{
31 /**
32 * Returns the value of the '<em><b>Abstract</b></em>' attribute.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Abstract</em>' attribute.
36 * @see #setAbstract(boolean)
37 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Abstract()
38 * @model
39 * @generated
40 */
41 boolean isAbstract();
42
43 /**
44 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract <em>Abstract</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Abstract</em>' attribute.
48 * @see #isAbstract()
49 * @generated
50 */
51 void setAbstract(boolean value);
52
53 /**
54 * Returns the value of the '<em><b>Name</b></em>' attribute.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @return the value of the '<em>Name</em>' attribute.
58 * @see #setName(String)
59 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Name()
60 * @model
61 * @generated
62 */
63 String getName();
64
65 /**
66 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getName <em>Name</em>}' attribute.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @param value the new value of the '<em>Name</em>' attribute.
70 * @see #getName()
71 * @generated
72 */
73 void setName(String value);
74
75 /**
76 * Returns the value of the '<em><b>Superclasses</b></em>' reference list.
77 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}.
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @return the value of the '<em>Superclasses</em>' reference list.
81 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Superclasses()
82 * @model
83 * @generated
84 */
85 EList<NamedElement> getSuperclasses();
86
87 /**
88 * Returns the value of the '<em><b>Members</b></em>' containment reference list.
89 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition}.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @return the value of the '<em>Members</em>' containment reference list.
93 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Members()
94 * @model containment="true"
95 * @generated
96 */
97 EList<MemberDefinition> getMembers();
98
20} // Statement 99} // Statement
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java
index d1d3ee6d..dc4d6487 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringObject.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java
@@ -1,26 +1,26 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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>String Object</b></em>'. 9 * A representation of the model object '<em><b>String Literal</b></em>'.
10 * <!-- end-user-doc --> 10 * <!-- end-user-doc -->
11 * 11 *
12 * <p> 12 * <p>
13 * The following features are supported: 13 * The following features are supported:
14 * </p> 14 * </p>
15 * <ul> 15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject#getValue <em>Value</em>}</li> 16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue <em>Value</em>}</li>
17 * </ul> 17 * </ul>
18 * 18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringObject() 19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringLiteral()
20 * @model 20 * @model
21 * @generated 21 * @generated
22 */ 22 */
23public interface StringObject extends DataObject 23public interface StringLiteral extends Literal
24{ 24{
25 /** 25 /**
26 * Returns the value of the '<em><b>Value</b></em>' attribute. 26 * Returns the value of the '<em><b>Value</b></em>' attribute.
@@ -28,14 +28,14 @@ public interface StringObject extends DataObject
28 * <!-- end-user-doc --> 28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Value</em>' attribute. 29 * @return the value of the '<em>Value</em>' attribute.
30 * @see #setValue(String) 30 * @see #setValue(String)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringObject_Value() 31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringLiteral_Value()
32 * @model 32 * @model
33 * @generated 33 * @generated
34 */ 34 */
35 String getValue(); 35 String getValue();
36 36
37 /** 37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject#getValue <em>Value</em>}' attribute. 38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue <em>Value</em>}' attribute.
39 * <!-- begin-user-doc --> 39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc --> 40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Value</em>' attribute. 41 * @param value the new value of the '<em>Value</em>' attribute.
@@ -44,4 +44,4 @@ public interface StringObject extends DataObject
44 */ 44 */
45 void setValue(String value); 45 void setValue(String value);
46 46
47} // StringObject 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
new file mode 100644
index 00000000..92504b5d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java
@@ -0,0 +1,38 @@
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/Symbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Symbol.java
deleted file mode 100644
index dcf2a01a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Symbol.java
+++ /dev/null
@@ -1,20 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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>Symbol</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getSymbol()
15 * @model
16 * @generated
17 */
18public interface Symbol extends EObject
19{
20} // Symbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/True.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/True.java
deleted file mode 100644
index d125d86a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/True.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>True</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTrue()
14 * @model
15 * @generated
16 */
17public interface True extends TruthValue
18{
19} // True
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TruthValue.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TruthValue.java
deleted file mode 100644
index 48e2b8e8..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TruthValue.java
+++ /dev/null
@@ -1,20 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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>Truth Value</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTruthValue()
15 * @model
16 * @generated
17 */
18public interface TruthValue extends EObject
19{
20} // TruthValue
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
new file mode 100644
index 00000000..f903338a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java
@@ -0,0 +1,70 @@
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
new file mode 100644
index 00000000..2b8bc002
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java
@@ -0,0 +1,47 @@
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
new file mode 100644
index 00000000..5c2356cd
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java
@@ -0,0 +1,73 @@
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
new file mode 100644
index 00000000..e426f4f1
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java
@@ -0,0 +1,317 @@
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/Unknown.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Unknown.java
deleted file mode 100644
index 496f433a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Unknown.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Unknown</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnknown()
14 * @model
15 * @generated
16 */
17public interface Unknown extends TruthValue
18{
19} // Unknown
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
new file mode 100644
index 00000000..54621550
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java
@@ -0,0 +1,70 @@
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/UnnamedObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedObject.java
deleted file mode 100644
index 152ee782..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedObject.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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 Object</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.UnnamedObject#getName <em>Name</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedObject()
20 * @model
21 * @generated
22 */
23public interface UnnamedObject extends org.eclipse.viatra.solver.language.solverLanguage.Object
24{
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#getUnnamedObject_Name()
32 * @model
33 * @generated
34 */
35 String getName();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject#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} // UnnamedObject
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java
deleted file mode 100644
index 2f915fa7..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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#getName <em>Name</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getVariable()
20 * @model
21 * @generated
22 */
23public interface Variable extends Literal
24{
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#getVariable_Name()
32 * @model
33 * @generated
34 */
35 String getName();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#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} // Variable
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
new file mode 100644
index 00000000..542f3c40
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java
@@ -0,0 +1,343 @@
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/PolarityImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java
index 7c2ae07d..d8bf8d91 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PolarityImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
@@ -7,24 +7,24 @@ import 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.Polarity; 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>Polarity</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 PolarityImpl extends MinimalEObjectImpl.Container implements Polarity 20public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argument
21{ 21{
22 /** 22 /**
23 * <!-- begin-user-doc --> 23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc --> 24 * <!-- end-user-doc -->
25 * @generated 25 * @generated
26 */ 26 */
27 protected PolarityImpl() 27 protected ArgumentImpl()
28 { 28 {
29 super(); 29 super();
30 } 30 }
@@ -37,7 +37,7 @@ public class PolarityImpl extends MinimalEObjectImpl.Container implements Polari
37 @Override 37 @Override
38 protected EClass eStaticClass() 38 protected EClass eStaticClass()
39 { 39 {
40 return SolverLanguagePackage.Literals.POLARITY; 40 return SolverLanguagePackage.Literals.ARGUMENT;
41 } 41 }
42 42
43} //PolarityImpl 43} //ArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PatternBodyImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java
index 5cd03fbf..8c16fb4f 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PatternBodyImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
@@ -17,41 +17,41 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17import org.eclipse.emf.ecore.util.EObjectContainmentEList; 17import org.eclipse.emf.ecore.util.EObjectContainmentEList;
18import org.eclipse.emf.ecore.util.InternalEList; 18import org.eclipse.emf.ecore.util.InternalEList;
19 19
20import org.eclipse.viatra.solver.language.solverLanguage.Constraint; 20import org.eclipse.viatra.solver.language.solverLanguage.Argument;
21import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; 21import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
22import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 22import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
23 23
24/** 24/**
25 * <!-- begin-user-doc --> 25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Pattern Body</b></em>'. 26 * An implementation of the model object '<em><b>Argument List</b></em>'.
27 * <!-- end-user-doc --> 27 * <!-- end-user-doc -->
28 * <p> 28 * <p>
29 * The following features are implemented: 29 * The following features are implemented:
30 * </p> 30 * </p>
31 * <ul> 31 * <ul>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl#getConstraints <em>Constraints</em>}</li> 32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl#getArguments <em>Arguments</em>}</li>
33 * </ul> 33 * </ul>
34 * 34 *
35 * @generated 35 * @generated
36 */ 36 */
37public class PatternBodyImpl extends MinimalEObjectImpl.Container implements PatternBody 37public class ArgumentListImpl extends MinimalEObjectImpl.Container implements ArgumentList
38{ 38{
39 /** 39 /**
40 * The cached value of the '{@link #getConstraints() <em>Constraints</em>}' containment reference list. 40 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' containment reference list.
41 * <!-- begin-user-doc --> 41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc --> 42 * <!-- end-user-doc -->
43 * @see #getConstraints() 43 * @see #getArguments()
44 * @generated 44 * @generated
45 * @ordered 45 * @ordered
46 */ 46 */
47 protected EList<Constraint> constraints; 47 protected EList<Argument> arguments;
48 48
49 /** 49 /**
50 * <!-- begin-user-doc --> 50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc --> 51 * <!-- end-user-doc -->
52 * @generated 52 * @generated
53 */ 53 */
54 protected PatternBodyImpl() 54 protected ArgumentListImpl()
55 { 55 {
56 super(); 56 super();
57 } 57 }
@@ -64,7 +64,7 @@ public class PatternBodyImpl extends MinimalEObjectImpl.Container implements Pat
64 @Override 64 @Override
65 protected EClass eStaticClass() 65 protected EClass eStaticClass()
66 { 66 {
67 return SolverLanguagePackage.Literals.PATTERN_BODY; 67 return SolverLanguagePackage.Literals.ARGUMENT_LIST;
68 } 68 }
69 69
70 /** 70 /**
@@ -73,13 +73,13 @@ public class PatternBodyImpl extends MinimalEObjectImpl.Container implements Pat
73 * @generated 73 * @generated
74 */ 74 */
75 @Override 75 @Override
76 public EList<Constraint> getConstraints() 76 public EList<Argument> getArguments()
77 { 77 {
78 if (constraints == null) 78 if (arguments == null)
79 { 79 {
80 constraints = new EObjectContainmentEList<Constraint>(Constraint.class, this, SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS); 80 arguments = new EObjectContainmentEList<Argument>(Argument.class, this, SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS);
81 } 81 }
82 return constraints; 82 return arguments;
83 } 83 }
84 84
85 /** 85 /**
@@ -92,8 +92,8 @@ public class PatternBodyImpl extends MinimalEObjectImpl.Container implements Pat
92 { 92 {
93 switch (featureID) 93 switch (featureID)
94 { 94 {
95 case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS: 95 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
96 return ((InternalEList<?>)getConstraints()).basicRemove(otherEnd, msgs); 96 return ((InternalEList<?>)getArguments()).basicRemove(otherEnd, msgs);
97 } 97 }
98 return super.eInverseRemove(otherEnd, featureID, msgs); 98 return super.eInverseRemove(otherEnd, featureID, msgs);
99 } 99 }
@@ -108,8 +108,8 @@ public class PatternBodyImpl extends MinimalEObjectImpl.Container implements Pat
108 { 108 {
109 switch (featureID) 109 switch (featureID)
110 { 110 {
111 case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS: 111 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
112 return getConstraints(); 112 return getArguments();
113 } 113 }
114 return super.eGet(featureID, resolve, coreType); 114 return super.eGet(featureID, resolve, coreType);
115 } 115 }
@@ -125,9 +125,9 @@ public class PatternBodyImpl extends MinimalEObjectImpl.Container implements Pat
125 { 125 {
126 switch (featureID) 126 switch (featureID)
127 { 127 {
128 case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS: 128 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
129 getConstraints().clear(); 129 getArguments().clear();
130 getConstraints().addAll((Collection<? extends Constraint>)newValue); 130 getArguments().addAll((Collection<? extends Argument>)newValue);
131 return; 131 return;
132 } 132 }
133 super.eSet(featureID, newValue); 133 super.eSet(featureID, newValue);
@@ -143,8 +143,8 @@ public class PatternBodyImpl extends MinimalEObjectImpl.Container implements Pat
143 { 143 {
144 switch (featureID) 144 switch (featureID)
145 { 145 {
146 case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS: 146 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
147 getConstraints().clear(); 147 getArguments().clear();
148 return; 148 return;
149 } 149 }
150 super.eUnset(featureID); 150 super.eUnset(featureID);
@@ -160,10 +160,10 @@ public class PatternBodyImpl extends MinimalEObjectImpl.Container implements Pat
160 { 160 {
161 switch (featureID) 161 switch (featureID)
162 { 162 {
163 case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS: 163 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
164 return constraints != null && !constraints.isEmpty(); 164 return arguments != null && !arguments.isEmpty();
165 } 165 }
166 return super.eIsSet(featureID); 166 return super.eIsSet(featureID);
167 } 167 }
168 168
169} //PatternBodyImpl 169} //ArgumentListImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ParameterImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java
index 6281c4bc..8165b62e 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ParameterImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
@@ -10,55 +10,53 @@ import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject; 10import org.eclipse.emf.ecore.InternalEObject;
11 11
12import org.eclipse.emf.ecore.impl.ENotificationImpl; 12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
14 13
15import org.eclipse.viatra.solver.language.solverLanguage.Parameter; 14import org.eclipse.viatra.solver.language.solverLanguage.Assertion;
15import org.eclipse.viatra.solver.language.solverLanguage.Expression;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
18import org.eclipse.viatra.solver.language.solverLanguage.Variable;
19 17
20/** 18/**
21 * <!-- begin-user-doc --> 19 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>Parameter</b></em>'. 20 * An implementation of the model object '<em><b>Assertion</b></em>'.
23 * <!-- end-user-doc --> 21 * <!-- end-user-doc -->
24 * <p> 22 * <p>
25 * The following features are implemented: 23 * The following features are implemented:
26 * </p> 24 * </p>
27 * <ul> 25 * <ul>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl#getVariable <em>Variable</em>}</li> 26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl#getBody <em>Body</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl#getType <em>Type</em>}</li> 27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl#getRange <em>Range</em>}</li>
30 * </ul> 28 * </ul>
31 * 29 *
32 * @generated 30 * @generated
33 */ 31 */
34public class ParameterImpl extends MinimalEObjectImpl.Container implements Parameter 32public class AssertionImpl extends StatementImpl implements Assertion
35{ 33{
36 /** 34 /**
37 * The cached value of the '{@link #getVariable() <em>Variable</em>}' containment reference. 35 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
38 * <!-- begin-user-doc --> 36 * <!-- begin-user-doc -->
39 * <!-- end-user-doc --> 37 * <!-- end-user-doc -->
40 * @see #getVariable() 38 * @see #getBody()
41 * @generated 39 * @generated
42 * @ordered 40 * @ordered
43 */ 41 */
44 protected Variable variable; 42 protected Expression body;
45 43
46 /** 44 /**
47 * The cached value of the '{@link #getType() <em>Type</em>}' containment reference. 45 * The cached value of the '{@link #getRange() <em>Range</em>}' containment reference.
48 * <!-- begin-user-doc --> 46 * <!-- begin-user-doc -->
49 * <!-- end-user-doc --> 47 * <!-- end-user-doc -->
50 * @see #getType() 48 * @see #getRange()
51 * @generated 49 * @generated
52 * @ordered 50 * @ordered
53 */ 51 */
54 protected Symbol type; 52 protected Expression range;
55 53
56 /** 54 /**
57 * <!-- begin-user-doc --> 55 * <!-- begin-user-doc -->
58 * <!-- end-user-doc --> 56 * <!-- end-user-doc -->
59 * @generated 57 * @generated
60 */ 58 */
61 protected ParameterImpl() 59 protected AssertionImpl()
62 { 60 {
63 super(); 61 super();
64 } 62 }
@@ -71,7 +69,7 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
71 @Override 69 @Override
72 protected EClass eStaticClass() 70 protected EClass eStaticClass()
73 { 71 {
74 return SolverLanguagePackage.Literals.PARAMETER; 72 return SolverLanguagePackage.Literals.ASSERTION;
75 } 73 }
76 74
77 /** 75 /**
@@ -80,9 +78,9 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
80 * @generated 78 * @generated
81 */ 79 */
82 @Override 80 @Override
83 public Variable getVariable() 81 public Expression getBody()
84 { 82 {
85 return variable; 83 return body;
86 } 84 }
87 85
88 /** 86 /**
@@ -90,13 +88,13 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
90 * <!-- end-user-doc --> 88 * <!-- end-user-doc -->
91 * @generated 89 * @generated
92 */ 90 */
93 public NotificationChain basicSetVariable(Variable newVariable, NotificationChain msgs) 91 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
94 { 92 {
95 Variable oldVariable = variable; 93 Expression oldBody = body;
96 variable = newVariable; 94 body = newBody;
97 if (eNotificationRequired()) 95 if (eNotificationRequired())
98 { 96 {
99 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PARAMETER__VARIABLE, oldVariable, newVariable); 97 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__BODY, oldBody, newBody);
100 if (msgs == null) msgs = notification; else msgs.add(notification); 98 if (msgs == null) msgs = notification; else msgs.add(notification);
101 } 99 }
102 return msgs; 100 return msgs;
@@ -108,20 +106,20 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
108 * @generated 106 * @generated
109 */ 107 */
110 @Override 108 @Override
111 public void setVariable(Variable newVariable) 109 public void setBody(Expression newBody)
112 { 110 {
113 if (newVariable != variable) 111 if (newBody != body)
114 { 112 {
115 NotificationChain msgs = null; 113 NotificationChain msgs = null;
116 if (variable != null) 114 if (body != null)
117 msgs = ((InternalEObject)variable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PARAMETER__VARIABLE, null, msgs); 115 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__BODY, null, msgs);
118 if (newVariable != null) 116 if (newBody != null)
119 msgs = ((InternalEObject)newVariable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PARAMETER__VARIABLE, null, msgs); 117 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__BODY, null, msgs);
120 msgs = basicSetVariable(newVariable, msgs); 118 msgs = basicSetBody(newBody, msgs);
121 if (msgs != null) msgs.dispatch(); 119 if (msgs != null) msgs.dispatch();
122 } 120 }
123 else if (eNotificationRequired()) 121 else if (eNotificationRequired())
124 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PARAMETER__VARIABLE, newVariable, newVariable)); 122 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__BODY, newBody, newBody));
125 } 123 }
126 124
127 /** 125 /**
@@ -130,9 +128,9 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
130 * @generated 128 * @generated
131 */ 129 */
132 @Override 130 @Override
133 public Symbol getType() 131 public Expression getRange()
134 { 132 {
135 return type; 133 return range;
136 } 134 }
137 135
138 /** 136 /**
@@ -140,13 +138,13 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
140 * <!-- end-user-doc --> 138 * <!-- end-user-doc -->
141 * @generated 139 * @generated
142 */ 140 */
143 public NotificationChain basicSetType(Symbol newType, NotificationChain msgs) 141 public NotificationChain basicSetRange(Expression newRange, NotificationChain msgs)
144 { 142 {
145 Symbol oldType = type; 143 Expression oldRange = range;
146 type = newType; 144 range = newRange;
147 if (eNotificationRequired()) 145 if (eNotificationRequired())
148 { 146 {
149 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PARAMETER__TYPE, oldType, newType); 147 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__RANGE, oldRange, newRange);
150 if (msgs == null) msgs = notification; else msgs.add(notification); 148 if (msgs == null) msgs = notification; else msgs.add(notification);
151 } 149 }
152 return msgs; 150 return msgs;
@@ -158,20 +156,20 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
158 * @generated 156 * @generated
159 */ 157 */
160 @Override 158 @Override
161 public void setType(Symbol newType) 159 public void setRange(Expression newRange)
162 { 160 {
163 if (newType != type) 161 if (newRange != range)
164 { 162 {
165 NotificationChain msgs = null; 163 NotificationChain msgs = null;
166 if (type != null) 164 if (range != null)
167 msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PARAMETER__TYPE, null, msgs); 165 msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__RANGE, null, msgs);
168 if (newType != null) 166 if (newRange != null)
169 msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PARAMETER__TYPE, null, msgs); 167 msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__RANGE, null, msgs);
170 msgs = basicSetType(newType, msgs); 168 msgs = basicSetRange(newRange, msgs);
171 if (msgs != null) msgs.dispatch(); 169 if (msgs != null) msgs.dispatch();
172 } 170 }
173 else if (eNotificationRequired()) 171 else if (eNotificationRequired())
174 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PARAMETER__TYPE, newType, newType)); 172 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__RANGE, newRange, newRange));
175 } 173 }
176 174
177 /** 175 /**
@@ -184,10 +182,10 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
184 { 182 {
185 switch (featureID) 183 switch (featureID)
186 { 184 {
187 case SolverLanguagePackage.PARAMETER__VARIABLE: 185 case SolverLanguagePackage.ASSERTION__BODY:
188 return basicSetVariable(null, msgs); 186 return basicSetBody(null, msgs);
189 case SolverLanguagePackage.PARAMETER__TYPE: 187 case SolverLanguagePackage.ASSERTION__RANGE:
190 return basicSetType(null, msgs); 188 return basicSetRange(null, msgs);
191 } 189 }
192 return super.eInverseRemove(otherEnd, featureID, msgs); 190 return super.eInverseRemove(otherEnd, featureID, msgs);
193 } 191 }
@@ -202,10 +200,10 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
202 { 200 {
203 switch (featureID) 201 switch (featureID)
204 { 202 {
205 case SolverLanguagePackage.PARAMETER__VARIABLE: 203 case SolverLanguagePackage.ASSERTION__BODY:
206 return getVariable(); 204 return getBody();
207 case SolverLanguagePackage.PARAMETER__TYPE: 205 case SolverLanguagePackage.ASSERTION__RANGE:
208 return getType(); 206 return getRange();
209 } 207 }
210 return super.eGet(featureID, resolve, coreType); 208 return super.eGet(featureID, resolve, coreType);
211 } 209 }
@@ -220,11 +218,11 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
220 { 218 {
221 switch (featureID) 219 switch (featureID)
222 { 220 {
223 case SolverLanguagePackage.PARAMETER__VARIABLE: 221 case SolverLanguagePackage.ASSERTION__BODY:
224 setVariable((Variable)newValue); 222 setBody((Expression)newValue);
225 return; 223 return;
226 case SolverLanguagePackage.PARAMETER__TYPE: 224 case SolverLanguagePackage.ASSERTION__RANGE:
227 setType((Symbol)newValue); 225 setRange((Expression)newValue);
228 return; 226 return;
229 } 227 }
230 super.eSet(featureID, newValue); 228 super.eSet(featureID, newValue);
@@ -240,11 +238,11 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
240 { 238 {
241 switch (featureID) 239 switch (featureID)
242 { 240 {
243 case SolverLanguagePackage.PARAMETER__VARIABLE: 241 case SolverLanguagePackage.ASSERTION__BODY:
244 setVariable((Variable)null); 242 setBody((Expression)null);
245 return; 243 return;
246 case SolverLanguagePackage.PARAMETER__TYPE: 244 case SolverLanguagePackage.ASSERTION__RANGE:
247 setType((Symbol)null); 245 setRange((Expression)null);
248 return; 246 return;
249 } 247 }
250 super.eUnset(featureID); 248 super.eUnset(featureID);
@@ -260,12 +258,12 @@ public class ParameterImpl extends MinimalEObjectImpl.Container implements Param
260 { 258 {
261 switch (featureID) 259 switch (featureID)
262 { 260 {
263 case SolverLanguagePackage.PARAMETER__VARIABLE: 261 case SolverLanguagePackage.ASSERTION__BODY:
264 return variable != null; 262 return body != null;
265 case SolverLanguagePackage.PARAMETER__TYPE: 263 case SolverLanguagePackage.ASSERTION__RANGE:
266 return type != null; 264 return range != null;
267 } 265 }
268 return super.eIsSet(featureID); 266 return super.eIsSet(featureID);
269 } 267 }
270 268
271} //ParameterImpl 269} //AssertionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BasicInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BasicInterpretationImpl.java
deleted file mode 100644
index aef515f6..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BasicInterpretationImpl.java
+++ /dev/null
@@ -1,318 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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.BasicInterpretation;
22import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject;
23import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
24import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
25import org.eclipse.viatra.solver.language.solverLanguage.TruthValue;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model object '<em><b>Basic Interpretation</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.BasicInterpretationImpl#getSymbol <em>Symbol</em>}</li>
36 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl#getObjects <em>Objects</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl#getValue <em>Value</em>}</li>
38 * </ul>
39 *
40 * @generated
41 */
42public class BasicInterpretationImpl extends InterpretationImpl implements BasicInterpretation
43{
44 /**
45 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getSymbol()
49 * @generated
50 * @ordered
51 */
52 protected Symbol symbol;
53
54 /**
55 * The cached value of the '{@link #getObjects() <em>Objects</em>}' containment reference list.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #getObjects()
59 * @generated
60 * @ordered
61 */
62 protected EList<ComplexObject> objects;
63
64 /**
65 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @see #getValue()
69 * @generated
70 * @ordered
71 */
72 protected TruthValue value;
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 protected BasicInterpretationImpl()
80 {
81 super();
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 @Override
90 protected EClass eStaticClass()
91 {
92 return SolverLanguagePackage.Literals.BASIC_INTERPRETATION;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 @Override
101 public Symbol getSymbol()
102 {
103 return symbol;
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 public NotificationChain basicSetSymbol(Symbol newSymbol, NotificationChain msgs)
112 {
113 Symbol oldSymbol = symbol;
114 symbol = newSymbol;
115 if (eNotificationRequired())
116 {
117 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL, oldSymbol, newSymbol);
118 if (msgs == null) msgs = notification; else msgs.add(notification);
119 }
120 return msgs;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 @Override
129 public void setSymbol(Symbol newSymbol)
130 {
131 if (newSymbol != symbol)
132 {
133 NotificationChain msgs = null;
134 if (symbol != null)
135 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL, null, msgs);
136 if (newSymbol != null)
137 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL, null, msgs);
138 msgs = basicSetSymbol(newSymbol, msgs);
139 if (msgs != null) msgs.dispatch();
140 }
141 else if (eNotificationRequired())
142 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL, newSymbol, newSymbol));
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public EList<ComplexObject> getObjects()
152 {
153 if (objects == null)
154 {
155 objects = new EObjectContainmentEList<ComplexObject>(ComplexObject.class, this, SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS);
156 }
157 return objects;
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 @Override
166 public TruthValue getValue()
167 {
168 return value;
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 public NotificationChain basicSetValue(TruthValue newValue, NotificationChain msgs)
177 {
178 TruthValue oldValue = value;
179 value = newValue;
180 if (eNotificationRequired())
181 {
182 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BASIC_INTERPRETATION__VALUE, oldValue, newValue);
183 if (msgs == null) msgs = notification; else msgs.add(notification);
184 }
185 return msgs;
186 }
187
188 /**
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @generated
192 */
193 @Override
194 public void setValue(TruthValue newValue)
195 {
196 if (newValue != value)
197 {
198 NotificationChain msgs = null;
199 if (value != null)
200 msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BASIC_INTERPRETATION__VALUE, null, msgs);
201 if (newValue != null)
202 msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BASIC_INTERPRETATION__VALUE, null, msgs);
203 msgs = basicSetValue(newValue, msgs);
204 if (msgs != null) msgs.dispatch();
205 }
206 else if (eNotificationRequired())
207 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BASIC_INTERPRETATION__VALUE, newValue, newValue));
208 }
209
210 /**
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @generated
214 */
215 @Override
216 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
217 {
218 switch (featureID)
219 {
220 case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL:
221 return basicSetSymbol(null, msgs);
222 case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS:
223 return ((InternalEList<?>)getObjects()).basicRemove(otherEnd, msgs);
224 case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE:
225 return basicSetValue(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 {
238 switch (featureID)
239 {
240 case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL:
241 return getSymbol();
242 case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS:
243 return getObjects();
244 case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE:
245 return getValue();
246 }
247 return super.eGet(featureID, resolve, coreType);
248 }
249
250 /**
251 * <!-- begin-user-doc -->
252 * <!-- end-user-doc -->
253 * @generated
254 */
255 @SuppressWarnings("unchecked")
256 @Override
257 public void eSet(int featureID, Object newValue)
258 {
259 switch (featureID)
260 {
261 case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL:
262 setSymbol((Symbol)newValue);
263 return;
264 case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS:
265 getObjects().clear();
266 getObjects().addAll((Collection<? extends ComplexObject>)newValue);
267 return;
268 case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE:
269 setValue((TruthValue)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 {
283 switch (featureID)
284 {
285 case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL:
286 setSymbol((Symbol)null);
287 return;
288 case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS:
289 getObjects().clear();
290 return;
291 case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE:
292 setValue((TruthValue)null);
293 return;
294 }
295 super.eUnset(featureID);
296 }
297
298 /**
299 * <!-- begin-user-doc -->
300 * <!-- end-user-doc -->
301 * @generated
302 */
303 @Override
304 public boolean eIsSet(int featureID)
305 {
306 switch (featureID)
307 {
308 case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL:
309 return symbol != null;
310 case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS:
311 return objects != null && !objects.isEmpty();
312 case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE:
313 return value != null;
314 }
315 return super.eIsSet(featureID);
316 }
317
318} //BasicInterpretationImpl
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
new file mode 100644
index 00000000..adc94c4a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java
@@ -0,0 +1,343 @@
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/BooleanSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanSymbolImpl.java
deleted file mode 100644
index 49258091..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanSymbolImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Boolean Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class BooleanSymbolImpl extends DataSymbolImpl implements BooleanSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected BooleanSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.BOOLEAN_SYMBOL;
39 }
40
41} //BooleanSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanTrueImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanTrueImpl.java
deleted file mode 100644
index 4d110ee9..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanTrueImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Boolean True</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class BooleanTrueImpl extends BooleanValueImpl implements BooleanTrue
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected BooleanTrueImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.BOOLEAN_TRUE;
39 }
40
41} //BooleanTrueImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanValueImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanValueImpl.java
deleted file mode 100644
index b27ab959..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanValueImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue;
11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Boolean Value</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class BooleanValueImpl extends MinimalEObjectImpl.Container implements BooleanValue
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected BooleanValueImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.BOOLEAN_VALUE;
41 }
42
43} //BooleanValueImpl
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
new file mode 100644
index 00000000..45a105e0
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java
@@ -0,0 +1,237 @@
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
new file mode 100644
index 00000000..36bf4f96
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java
@@ -0,0 +1,237 @@
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/CDInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CDInterpretationImpl.java
deleted file mode 100644
index b23bbba5..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CDInterpretationImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>CD Interpretation</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class CDInterpretationImpl extends InterpretationImpl implements CDInterpretation
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected CDInterpretationImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.CD_INTERPRETATION;
39 }
40
41} //CDInterpretationImpl
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
new file mode 100644
index 00000000..fde31be5
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java
@@ -0,0 +1,401 @@
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#getArgumentList <em>Argument List</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isTransitiveClosure <em>Transitive Closure</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</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 cached value of the '{@link #getArgumentList() <em>Argument List</em>}' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @see #getArgumentList()
52 * @generated
53 * @ordered
54 */
55 protected ArgumentList argumentList;
56
57 /**
58 * The default 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 static final boolean TRANSITIVE_CLOSURE_EDEFAULT = false;
66
67 /**
68 * The cached value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @see #isTransitiveClosure()
72 * @generated
73 * @ordered
74 */
75 protected boolean transitiveClosure = TRANSITIVE_CLOSURE_EDEFAULT;
76
77 /**
78 * The default 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 static final boolean REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT = false;
86
87 /**
88 * The cached value of the '{@link #isReflexiveTransitiveClosure() <em>Reflexive Transitive Closure</em>}' attribute.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @see #isReflexiveTransitiveClosure()
92 * @generated
93 * @ordered
94 */
95 protected boolean reflexiveTransitiveClosure = REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT;
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 ArgumentList getArgumentList()
175 {
176 return argumentList;
177 }
178
179 /**
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 */
184 public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs)
185 {
186 ArgumentList oldArgumentList = argumentList;
187 argumentList = newArgumentList;
188 if (eNotificationRequired())
189 {
190 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, oldArgumentList, newArgumentList);
191 if (msgs == null) msgs = notification; else msgs.add(notification);
192 }
193 return msgs;
194 }
195
196 /**
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @generated
200 */
201 @Override
202 public void setArgumentList(ArgumentList newArgumentList)
203 {
204 if (newArgumentList != argumentList)
205 {
206 NotificationChain msgs = null;
207 if (argumentList != null)
208 msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs);
209 if (newArgumentList != null)
210 msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs);
211 msgs = basicSetArgumentList(newArgumentList, msgs);
212 if (msgs != null) msgs.dispatch();
213 }
214 else if (eNotificationRequired())
215 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, newArgumentList, newArgumentList));
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 @Override
224 public boolean isTransitiveClosure()
225 {
226 return transitiveClosure;
227 }
228
229 /**
230 * <!-- begin-user-doc -->
231 * <!-- end-user-doc -->
232 * @generated
233 */
234 @Override
235 public void setTransitiveClosure(boolean newTransitiveClosure)
236 {
237 boolean oldTransitiveClosure = transitiveClosure;
238 transitiveClosure = newTransitiveClosure;
239 if (eNotificationRequired())
240 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE, oldTransitiveClosure, transitiveClosure));
241 }
242
243 /**
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @generated
247 */
248 @Override
249 public boolean isReflexiveTransitiveClosure()
250 {
251 return reflexiveTransitiveClosure;
252 }
253
254 /**
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @generated
258 */
259 @Override
260 public void setReflexiveTransitiveClosure(boolean newReflexiveTransitiveClosure)
261 {
262 boolean oldReflexiveTransitiveClosure = reflexiveTransitiveClosure;
263 reflexiveTransitiveClosure = newReflexiveTransitiveClosure;
264 if (eNotificationRequired())
265 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE, oldReflexiveTransitiveClosure, reflexiveTransitiveClosure));
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__ARGUMENT_LIST:
299 return getArgumentList();
300 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
301 return isTransitiveClosure();
302 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
303 return isReflexiveTransitiveClosure();
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__ARGUMENT_LIST:
322 setArgumentList((ArgumentList)newValue);
323 return;
324 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
325 setTransitiveClosure((Boolean)newValue);
326 return;
327 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
328 setReflexiveTransitiveClosure((Boolean)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__ARGUMENT_LIST:
348 setArgumentList((ArgumentList)null);
349 return;
350 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
351 setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT);
352 return;
353 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
354 setReflexiveTransitiveClosure(REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT);
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__ARGUMENT_LIST:
373 return argumentList != null;
374 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
375 return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT;
376 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
377 return reflexiveTransitiveClosure != REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT;
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
new file mode 100644
index 00000000..47245831
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java
@@ -0,0 +1,269 @@
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/ClassInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassInterpretationImpl.java
deleted file mode 100644
index effc5970..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassInterpretationImpl.java
+++ /dev/null
@@ -1,356 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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.ClassInterpretation;
22import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
23import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
24import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Class Interpretation</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.ClassInterpretationImpl#isAbstract <em>Abstract</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl#getSymbol <em>Symbol</em>}</li>
36 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl#getSupertypes <em>Supertypes</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl#getFielt <em>Fielt</em>}</li>
38 * </ul>
39 *
40 * @generated
41 */
42public class ClassInterpretationImpl extends CDInterpretationImpl implements ClassInterpretation
43{
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 cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @see #getSymbol()
69 * @generated
70 * @ordered
71 */
72 protected ModelSymbol symbol;
73
74 /**
75 * The cached value of the '{@link #getSupertypes() <em>Supertypes</em>}' containment reference list.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @see #getSupertypes()
79 * @generated
80 * @ordered
81 */
82 protected EList<ModelSymbol> supertypes;
83
84 /**
85 * The cached value of the '{@link #getFielt() <em>Fielt</em>}' containment reference list.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @see #getFielt()
89 * @generated
90 * @ordered
91 */
92 protected EList<FieldRelationInterpretation> fielt;
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 protected ClassInterpretationImpl()
100 {
101 super();
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 protected EClass eStaticClass()
111 {
112 return SolverLanguagePackage.Literals.CLASS_INTERPRETATION;
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @Override
121 public boolean isAbstract()
122 {
123 return abstract_;
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @Override
132 public void setAbstract(boolean newAbstract)
133 {
134 boolean oldAbstract = abstract_;
135 abstract_ = newAbstract;
136 if (eNotificationRequired())
137 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT, oldAbstract, abstract_));
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 @Override
146 public ModelSymbol getSymbol()
147 {
148 return symbol;
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
157 {
158 ModelSymbol oldSymbol = symbol;
159 symbol = newSymbol;
160 if (eNotificationRequired())
161 {
162 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL, oldSymbol, newSymbol);
163 if (msgs == null) msgs = notification; else msgs.add(notification);
164 }
165 return msgs;
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public void setSymbol(ModelSymbol newSymbol)
175 {
176 if (newSymbol != symbol)
177 {
178 NotificationChain msgs = null;
179 if (symbol != null)
180 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL, null, msgs);
181 if (newSymbol != null)
182 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL, null, msgs);
183 msgs = basicSetSymbol(newSymbol, msgs);
184 if (msgs != null) msgs.dispatch();
185 }
186 else if (eNotificationRequired())
187 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL, newSymbol, newSymbol));
188 }
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 @Override
196 public EList<ModelSymbol> getSupertypes()
197 {
198 if (supertypes == null)
199 {
200 supertypes = new EObjectContainmentEList<ModelSymbol>(ModelSymbol.class, this, SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES);
201 }
202 return supertypes;
203 }
204
205 /**
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @generated
209 */
210 @Override
211 public EList<FieldRelationInterpretation> getFielt()
212 {
213 if (fielt == null)
214 {
215 fielt = new EObjectContainmentEList<FieldRelationInterpretation>(FieldRelationInterpretation.class, this, SolverLanguagePackage.CLASS_INTERPRETATION__FIELT);
216 }
217 return fielt;
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
227 {
228 switch (featureID)
229 {
230 case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL:
231 return basicSetSymbol(null, msgs);
232 case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES:
233 return ((InternalEList<?>)getSupertypes()).basicRemove(otherEnd, msgs);
234 case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT:
235 return ((InternalEList<?>)getFielt()).basicRemove(otherEnd, 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.CLASS_INTERPRETATION__ABSTRACT:
251 return isAbstract();
252 case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL:
253 return getSymbol();
254 case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES:
255 return getSupertypes();
256 case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT:
257 return getFielt();
258 }
259 return super.eGet(featureID, resolve, coreType);
260 }
261
262 /**
263 * <!-- begin-user-doc -->
264 * <!-- end-user-doc -->
265 * @generated
266 */
267 @SuppressWarnings("unchecked")
268 @Override
269 public void eSet(int featureID, Object newValue)
270 {
271 switch (featureID)
272 {
273 case SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT:
274 setAbstract((Boolean)newValue);
275 return;
276 case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL:
277 setSymbol((ModelSymbol)newValue);
278 return;
279 case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES:
280 getSupertypes().clear();
281 getSupertypes().addAll((Collection<? extends ModelSymbol>)newValue);
282 return;
283 case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT:
284 getFielt().clear();
285 getFielt().addAll((Collection<? extends FieldRelationInterpretation>)newValue);
286 return;
287 }
288 super.eSet(featureID, newValue);
289 }
290
291 /**
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 */
296 @Override
297 public void eUnset(int featureID)
298 {
299 switch (featureID)
300 {
301 case SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT:
302 setAbstract(ABSTRACT_EDEFAULT);
303 return;
304 case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL:
305 setSymbol((ModelSymbol)null);
306 return;
307 case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES:
308 getSupertypes().clear();
309 return;
310 case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT:
311 getFielt().clear();
312 return;
313 }
314 super.eUnset(featureID);
315 }
316
317 /**
318 * <!-- begin-user-doc -->
319 * <!-- end-user-doc -->
320 * @generated
321 */
322 @Override
323 public boolean eIsSet(int featureID)
324 {
325 switch (featureID)
326 {
327 case SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT:
328 return abstract_ != ABSTRACT_EDEFAULT;
329 case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL:
330 return symbol != null;
331 case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES:
332 return supertypes != null && !supertypes.isEmpty();
333 case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT:
334 return fielt != null && !fielt.isEmpty();
335 }
336 return super.eIsSet(featureID);
337 }
338
339 /**
340 * <!-- begin-user-doc -->
341 * <!-- end-user-doc -->
342 * @generated
343 */
344 @Override
345 public String toString()
346 {
347 if (eIsProxy()) return super.toString();
348
349 StringBuilder result = new StringBuilder(super.toString());
350 result.append(" (abstract: ");
351 result.append(abstract_);
352 result.append(')');
353 return result.toString();
354 }
355
356} //ClassInterpretationImpl
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
new file mode 100644
index 00000000..9e62d7ef
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java
@@ -0,0 +1,343 @@
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/ComplexObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComplexObjectImpl.java
deleted file mode 100644
index 09ad8a6d..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComplexObjectImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject;
11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Complex Object</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class ComplexObjectImpl extends MinimalEObjectImpl.Container implements ComplexObject
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected ComplexObjectImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.COMPLEX_OBJECT;
41 }
42
43} //ComplexObjectImpl
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
new file mode 100644
index 00000000..6a1e995a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.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.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/ConstraintImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConstraintImpl.java
deleted file mode 100644
index 2f990fee..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConstraintImpl.java
+++ /dev/null
@@ -1,393 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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;
17import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
18
19import org.eclipse.emf.ecore.util.EObjectContainmentEList;
20import org.eclipse.emf.ecore.util.InternalEList;
21
22import org.eclipse.viatra.solver.language.solverLanguage.ClosureType;
23import org.eclipse.viatra.solver.language.solverLanguage.Constraint;
24import org.eclipse.viatra.solver.language.solverLanguage.Literal;
25import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
26import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
27import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
28
29/**
30 * <!-- begin-user-doc -->
31 * An implementation of the model object '<em><b>Constraint</b></em>'.
32 * <!-- end-user-doc -->
33 * <p>
34 * The following features are implemented:
35 * </p>
36 * <ul>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl#getPolarity <em>Polarity</em>}</li>
38 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl#getSymbol <em>Symbol</em>}</li>
39 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl#getParams <em>Params</em>}</li>
40 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl#getClosureType <em>Closure Type</em>}</li>
41 * </ul>
42 *
43 * @generated
44 */
45public class ConstraintImpl extends MinimalEObjectImpl.Container implements Constraint
46{
47 /**
48 * The cached value of the '{@link #getPolarity() <em>Polarity</em>}' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @see #getPolarity()
52 * @generated
53 * @ordered
54 */
55 protected Polarity polarity;
56
57 /**
58 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @see #getSymbol()
62 * @generated
63 * @ordered
64 */
65 protected ModelSymbol symbol;
66
67 /**
68 * The cached value of the '{@link #getParams() <em>Params</em>}' containment reference list.
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @see #getParams()
72 * @generated
73 * @ordered
74 */
75 protected EList<Literal> params;
76
77 /**
78 * The cached value of the '{@link #getClosureType() <em>Closure Type</em>}' containment reference.
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @see #getClosureType()
82 * @generated
83 * @ordered
84 */
85 protected ClosureType closureType;
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 protected ConstraintImpl()
93 {
94 super();
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 protected EClass eStaticClass()
104 {
105 return SolverLanguagePackage.Literals.CONSTRAINT;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public Polarity getPolarity()
115 {
116 return polarity;
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 public NotificationChain basicSetPolarity(Polarity newPolarity, NotificationChain msgs)
125 {
126 Polarity oldPolarity = polarity;
127 polarity = newPolarity;
128 if (eNotificationRequired())
129 {
130 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__POLARITY, oldPolarity, newPolarity);
131 if (msgs == null) msgs = notification; else msgs.add(notification);
132 }
133 return msgs;
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public void setPolarity(Polarity newPolarity)
143 {
144 if (newPolarity != polarity)
145 {
146 NotificationChain msgs = null;
147 if (polarity != null)
148 msgs = ((InternalEObject)polarity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__POLARITY, null, msgs);
149 if (newPolarity != null)
150 msgs = ((InternalEObject)newPolarity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__POLARITY, null, msgs);
151 msgs = basicSetPolarity(newPolarity, msgs);
152 if (msgs != null) msgs.dispatch();
153 }
154 else if (eNotificationRequired())
155 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__POLARITY, newPolarity, newPolarity));
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 @Override
164 public ModelSymbol getSymbol()
165 {
166 return symbol;
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
175 {
176 ModelSymbol oldSymbol = symbol;
177 symbol = newSymbol;
178 if (eNotificationRequired())
179 {
180 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__SYMBOL, oldSymbol, newSymbol);
181 if (msgs == null) msgs = notification; else msgs.add(notification);
182 }
183 return msgs;
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 @Override
192 public void setSymbol(ModelSymbol newSymbol)
193 {
194 if (newSymbol != symbol)
195 {
196 NotificationChain msgs = null;
197 if (symbol != null)
198 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__SYMBOL, null, msgs);
199 if (newSymbol != null)
200 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__SYMBOL, null, msgs);
201 msgs = basicSetSymbol(newSymbol, msgs);
202 if (msgs != null) msgs.dispatch();
203 }
204 else if (eNotificationRequired())
205 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__SYMBOL, newSymbol, newSymbol));
206 }
207
208 /**
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 */
213 @Override
214 public EList<Literal> getParams()
215 {
216 if (params == null)
217 {
218 params = new EObjectContainmentEList<Literal>(Literal.class, this, SolverLanguagePackage.CONSTRAINT__PARAMS);
219 }
220 return params;
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public ClosureType getClosureType()
230 {
231 return closureType;
232 }
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 public NotificationChain basicSetClosureType(ClosureType newClosureType, NotificationChain msgs)
240 {
241 ClosureType oldClosureType = closureType;
242 closureType = newClosureType;
243 if (eNotificationRequired())
244 {
245 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE, oldClosureType, newClosureType);
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 setClosureType(ClosureType newClosureType)
258 {
259 if (newClosureType != closureType)
260 {
261 NotificationChain msgs = null;
262 if (closureType != null)
263 msgs = ((InternalEObject)closureType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE, null, msgs);
264 if (newClosureType != null)
265 msgs = ((InternalEObject)newClosureType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE, null, msgs);
266 msgs = basicSetClosureType(newClosureType, msgs);
267 if (msgs != null) msgs.dispatch();
268 }
269 else if (eNotificationRequired())
270 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE, newClosureType, newClosureType));
271 }
272
273 /**
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @generated
277 */
278 @Override
279 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
280 {
281 switch (featureID)
282 {
283 case SolverLanguagePackage.CONSTRAINT__POLARITY:
284 return basicSetPolarity(null, msgs);
285 case SolverLanguagePackage.CONSTRAINT__SYMBOL:
286 return basicSetSymbol(null, msgs);
287 case SolverLanguagePackage.CONSTRAINT__PARAMS:
288 return ((InternalEList<?>)getParams()).basicRemove(otherEnd, msgs);
289 case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE:
290 return basicSetClosureType(null, msgs);
291 }
292 return super.eInverseRemove(otherEnd, featureID, msgs);
293 }
294
295 /**
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @generated
299 */
300 @Override
301 public Object eGet(int featureID, boolean resolve, boolean coreType)
302 {
303 switch (featureID)
304 {
305 case SolverLanguagePackage.CONSTRAINT__POLARITY:
306 return getPolarity();
307 case SolverLanguagePackage.CONSTRAINT__SYMBOL:
308 return getSymbol();
309 case SolverLanguagePackage.CONSTRAINT__PARAMS:
310 return getParams();
311 case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE:
312 return getClosureType();
313 }
314 return super.eGet(featureID, resolve, coreType);
315 }
316
317 /**
318 * <!-- begin-user-doc -->
319 * <!-- end-user-doc -->
320 * @generated
321 */
322 @SuppressWarnings("unchecked")
323 @Override
324 public void eSet(int featureID, Object newValue)
325 {
326 switch (featureID)
327 {
328 case SolverLanguagePackage.CONSTRAINT__POLARITY:
329 setPolarity((Polarity)newValue);
330 return;
331 case SolverLanguagePackage.CONSTRAINT__SYMBOL:
332 setSymbol((ModelSymbol)newValue);
333 return;
334 case SolverLanguagePackage.CONSTRAINT__PARAMS:
335 getParams().clear();
336 getParams().addAll((Collection<? extends Literal>)newValue);
337 return;
338 case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE:
339 setClosureType((ClosureType)newValue);
340 return;
341 }
342 super.eSet(featureID, newValue);
343 }
344
345 /**
346 * <!-- begin-user-doc -->
347 * <!-- end-user-doc -->
348 * @generated
349 */
350 @Override
351 public void eUnset(int featureID)
352 {
353 switch (featureID)
354 {
355 case SolverLanguagePackage.CONSTRAINT__POLARITY:
356 setPolarity((Polarity)null);
357 return;
358 case SolverLanguagePackage.CONSTRAINT__SYMBOL:
359 setSymbol((ModelSymbol)null);
360 return;
361 case SolverLanguagePackage.CONSTRAINT__PARAMS:
362 getParams().clear();
363 return;
364 case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE:
365 setClosureType((ClosureType)null);
366 return;
367 }
368 super.eUnset(featureID);
369 }
370
371 /**
372 * <!-- begin-user-doc -->
373 * <!-- end-user-doc -->
374 * @generated
375 */
376 @Override
377 public boolean eIsSet(int featureID)
378 {
379 switch (featureID)
380 {
381 case SolverLanguagePackage.CONSTRAINT__POLARITY:
382 return polarity != null;
383 case SolverLanguagePackage.CONSTRAINT__SYMBOL:
384 return symbol != null;
385 case SolverLanguagePackage.CONSTRAINT__PARAMS:
386 return params != null && !params.isEmpty();
387 case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE:
388 return closureType != null;
389 }
390 return super.eIsSet(featureID);
391 }
392
393} //ConstraintImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllInstancesImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java
index 5da3bf30..1609245f 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllInstancesImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
@@ -11,41 +11,41 @@ import org.eclipse.emf.ecore.InternalEObject;
11 11
12import org.eclipse.emf.ecore.impl.ENotificationImpl; 12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13 13
14import org.eclipse.viatra.solver.language.solverLanguage.AllInstances; 14import org.eclipse.viatra.solver.language.solverLanguage.Count;
15import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
17 17
18/** 18/**
19 * <!-- begin-user-doc --> 19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>All Instances</b></em>'. 20 * An implementation of the model object '<em><b>Count</b></em>'.
21 * <!-- end-user-doc --> 21 * <!-- end-user-doc -->
22 * <p> 22 * <p>
23 * The following features are implemented: 23 * The following features are implemented:
24 * </p> 24 * </p>
25 * <ul> 25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl#getSymbol <em>Symbol</em>}</li> 26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl#getBody <em>Body</em>}</li>
27 * </ul> 27 * </ul>
28 * 28 *
29 * @generated 29 * @generated
30 */ 30 */
31public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances 31public class CountImpl extends ExpressionImpl implements Count
32{ 32{
33 /** 33 /**
34 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference. 34 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
35 * <!-- begin-user-doc --> 35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc --> 36 * <!-- end-user-doc -->
37 * @see #getSymbol() 37 * @see #getBody()
38 * @generated 38 * @generated
39 * @ordered 39 * @ordered
40 */ 40 */
41 protected Symbol symbol; 41 protected Expression body;
42 42
43 /** 43 /**
44 * <!-- begin-user-doc --> 44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc --> 45 * <!-- end-user-doc -->
46 * @generated 46 * @generated
47 */ 47 */
48 protected AllInstancesImpl() 48 protected CountImpl()
49 { 49 {
50 super(); 50 super();
51 } 51 }
@@ -58,7 +58,7 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
58 @Override 58 @Override
59 protected EClass eStaticClass() 59 protected EClass eStaticClass()
60 { 60 {
61 return SolverLanguagePackage.Literals.ALL_INSTANCES; 61 return SolverLanguagePackage.Literals.COUNT;
62 } 62 }
63 63
64 /** 64 /**
@@ -67,9 +67,9 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
67 * @generated 67 * @generated
68 */ 68 */
69 @Override 69 @Override
70 public Symbol getSymbol() 70 public Expression getBody()
71 { 71 {
72 return symbol; 72 return body;
73 } 73 }
74 74
75 /** 75 /**
@@ -77,13 +77,13 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
77 * <!-- end-user-doc --> 77 * <!-- end-user-doc -->
78 * @generated 78 * @generated
79 */ 79 */
80 public NotificationChain basicSetSymbol(Symbol newSymbol, NotificationChain msgs) 80 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
81 { 81 {
82 Symbol oldSymbol = symbol; 82 Expression oldBody = body;
83 symbol = newSymbol; 83 body = newBody;
84 if (eNotificationRequired()) 84 if (eNotificationRequired())
85 { 85 {
86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ALL_INSTANCES__SYMBOL, oldSymbol, newSymbol); 86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COUNT__BODY, oldBody, newBody);
87 if (msgs == null) msgs = notification; else msgs.add(notification); 87 if (msgs == null) msgs = notification; else msgs.add(notification);
88 } 88 }
89 return msgs; 89 return msgs;
@@ -95,20 +95,20 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
95 * @generated 95 * @generated
96 */ 96 */
97 @Override 97 @Override
98 public void setSymbol(Symbol newSymbol) 98 public void setBody(Expression newBody)
99 { 99 {
100 if (newSymbol != symbol) 100 if (newBody != body)
101 { 101 {
102 NotificationChain msgs = null; 102 NotificationChain msgs = null;
103 if (symbol != null) 103 if (body != null)
104 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ALL_INSTANCES__SYMBOL, null, msgs); 104 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COUNT__BODY, null, msgs);
105 if (newSymbol != null) 105 if (newBody != null)
106 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ALL_INSTANCES__SYMBOL, null, msgs); 106 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COUNT__BODY, null, msgs);
107 msgs = basicSetSymbol(newSymbol, msgs); 107 msgs = basicSetBody(newBody, msgs);
108 if (msgs != null) msgs.dispatch(); 108 if (msgs != null) msgs.dispatch();
109 } 109 }
110 else if (eNotificationRequired()) 110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ALL_INSTANCES__SYMBOL, newSymbol, newSymbol)); 111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COUNT__BODY, newBody, newBody));
112 } 112 }
113 113
114 /** 114 /**
@@ -121,8 +121,8 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
121 { 121 {
122 switch (featureID) 122 switch (featureID)
123 { 123 {
124 case SolverLanguagePackage.ALL_INSTANCES__SYMBOL: 124 case SolverLanguagePackage.COUNT__BODY:
125 return basicSetSymbol(null, msgs); 125 return basicSetBody(null, msgs);
126 } 126 }
127 return super.eInverseRemove(otherEnd, featureID, msgs); 127 return super.eInverseRemove(otherEnd, featureID, msgs);
128 } 128 }
@@ -137,8 +137,8 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
137 { 137 {
138 switch (featureID) 138 switch (featureID)
139 { 139 {
140 case SolverLanguagePackage.ALL_INSTANCES__SYMBOL: 140 case SolverLanguagePackage.COUNT__BODY:
141 return getSymbol(); 141 return getBody();
142 } 142 }
143 return super.eGet(featureID, resolve, coreType); 143 return super.eGet(featureID, resolve, coreType);
144 } 144 }
@@ -153,8 +153,8 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
153 { 153 {
154 switch (featureID) 154 switch (featureID)
155 { 155 {
156 case SolverLanguagePackage.ALL_INSTANCES__SYMBOL: 156 case SolverLanguagePackage.COUNT__BODY:
157 setSymbol((Symbol)newValue); 157 setBody((Expression)newValue);
158 return; 158 return;
159 } 159 }
160 super.eSet(featureID, newValue); 160 super.eSet(featureID, newValue);
@@ -170,8 +170,8 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
170 { 170 {
171 switch (featureID) 171 switch (featureID)
172 { 172 {
173 case SolverLanguagePackage.ALL_INSTANCES__SYMBOL: 173 case SolverLanguagePackage.COUNT__BODY:
174 setSymbol((Symbol)null); 174 setBody((Expression)null);
175 return; 175 return;
176 } 176 }
177 super.eUnset(featureID); 177 super.eUnset(featureID);
@@ -187,10 +187,10 @@ public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
187 { 187 {
188 switch (featureID) 188 switch (featureID)
189 { 189 {
190 case SolverLanguagePackage.ALL_INSTANCES__SYMBOL: 190 case SolverLanguagePackage.COUNT__BODY:
191 return symbol != null; 191 return body != null;
192 } 192 }
193 return super.eIsSet(featureID); 193 return super.eIsSet(featureID);
194 } 194 }
195 195
196} //AllInstancesImpl 196} //CountImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataObjectImpl.java
deleted file mode 100644
index 33bee29f..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataObjectImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.DataObject;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Data Object</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class DataObjectImpl extends ObjectImpl implements DataObject
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected DataObjectImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.DATA_OBJECT;
39 }
40
41} //DataObjectImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataSymbolImpl.java
deleted file mode 100644
index 221b4783..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataSymbolImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Data Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class DataSymbolImpl extends SymbolImpl implements DataSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected DataSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.DATA_SYMBOL;
39 }
40
41} //DataSymbolImpl
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
new file mode 100644
index 00000000..c1eaa71a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java
@@ -0,0 +1,270 @@
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
new file mode 100644
index 00000000..ecdb14d8
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.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.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/UnknownImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java
index 44195feb..1ebf38ad 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnknownImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java
@@ -1,28 +1,28 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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.SolverLanguagePackage; 9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9import org.eclipse.viatra.solver.language.solverLanguage.Unknown;
10 10
11/** 11/**
12 * <!-- begin-user-doc --> 12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Unknown</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 UnknownImpl extends TruthValueImpl implements Unknown 18public class EmptyIntervalLiteralImpl extends LiteralImpl implements EmptyIntervalLiteral
19{ 19{
20 /** 20 /**
21 * <!-- begin-user-doc --> 21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc --> 22 * <!-- end-user-doc -->
23 * @generated 23 * @generated
24 */ 24 */
25 protected UnknownImpl() 25 protected EmptyIntervalLiteralImpl()
26 { 26 {
27 super(); 27 super();
28 } 28 }
@@ -35,7 +35,7 @@ public class UnknownImpl extends TruthValueImpl implements Unknown
35 @Override 35 @Override
36 protected EClass eStaticClass() 36 protected EClass eStaticClass()
37 { 37 {
38 return SolverLanguagePackage.Literals.UNKNOWN; 38 return SolverLanguagePackage.Literals.EMPTY_INTERVAL_LITERAL;
39 } 39 }
40 40
41} //UnknownImpl 41} //EmptyIntervalLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumInterpretationImpl.java
deleted file mode 100644
index efa12ea6..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumInterpretationImpl.java
+++ /dev/null
@@ -1,244 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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.EnumInterpretation;
22import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
23import org.eclipse.viatra.solver.language.solverLanguage.NamedObject;
24import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Enum Interpretation</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.EnumInterpretationImpl#getSymbol <em>Symbol</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl#getObjects <em>Objects</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class EnumInterpretationImpl extends CDInterpretationImpl implements EnumInterpretation
41{
42 /**
43 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getSymbol()
47 * @generated
48 * @ordered
49 */
50 protected ModelSymbol symbol;
51
52 /**
53 * The cached value of the '{@link #getObjects() <em>Objects</em>}' containment reference list.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #getObjects()
57 * @generated
58 * @ordered
59 */
60 protected EList<NamedObject> objects;
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 protected EnumInterpretationImpl()
68 {
69 super();
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 protected EClass eStaticClass()
79 {
80 return SolverLanguagePackage.Literals.ENUM_INTERPRETATION;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public ModelSymbol getSymbol()
90 {
91 return symbol;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
100 {
101 ModelSymbol oldSymbol = symbol;
102 symbol = newSymbol;
103 if (eNotificationRequired())
104 {
105 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL, oldSymbol, newSymbol);
106 if (msgs == null) msgs = notification; else msgs.add(notification);
107 }
108 return msgs;
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public void setSymbol(ModelSymbol newSymbol)
118 {
119 if (newSymbol != symbol)
120 {
121 NotificationChain msgs = null;
122 if (symbol != null)
123 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL, null, msgs);
124 if (newSymbol != null)
125 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL, null, msgs);
126 msgs = basicSetSymbol(newSymbol, msgs);
127 if (msgs != null) msgs.dispatch();
128 }
129 else if (eNotificationRequired())
130 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL, newSymbol, newSymbol));
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 public EList<NamedObject> getObjects()
140 {
141 if (objects == null)
142 {
143 objects = new EObjectContainmentEList<NamedObject>(NamedObject.class, this, SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS);
144 }
145 return objects;
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
155 {
156 switch (featureID)
157 {
158 case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL:
159 return basicSetSymbol(null, msgs);
160 case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS:
161 return ((InternalEList<?>)getObjects()).basicRemove(otherEnd, msgs);
162 }
163 return super.eInverseRemove(otherEnd, featureID, msgs);
164 }
165
166 /**
167 * <!-- begin-user-doc -->
168 * <!-- end-user-doc -->
169 * @generated
170 */
171 @Override
172 public Object eGet(int featureID, boolean resolve, boolean coreType)
173 {
174 switch (featureID)
175 {
176 case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL:
177 return getSymbol();
178 case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS:
179 return getObjects();
180 }
181 return super.eGet(featureID, resolve, coreType);
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @SuppressWarnings("unchecked")
190 @Override
191 public void eSet(int featureID, Object newValue)
192 {
193 switch (featureID)
194 {
195 case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL:
196 setSymbol((ModelSymbol)newValue);
197 return;
198 case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS:
199 getObjects().clear();
200 getObjects().addAll((Collection<? extends NamedObject>)newValue);
201 return;
202 }
203 super.eSet(featureID, newValue);
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public void eUnset(int featureID)
213 {
214 switch (featureID)
215 {
216 case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL:
217 setSymbol((ModelSymbol)null);
218 return;
219 case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS:
220 getObjects().clear();
221 return;
222 }
223 super.eUnset(featureID);
224 }
225
226 /**
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @generated
230 */
231 @Override
232 public boolean eIsSet(int featureID)
233 {
234 switch (featureID)
235 {
236 case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL:
237 return symbol != null;
238 case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS:
239 return objects != null && !objects.isEmpty();
240 }
241 return super.eIsSet(featureID);
242 }
243
244} //EnumInterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EqualsSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EqualsSymbolImpl.java
deleted file mode 100644
index 33929f42..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EqualsSymbolImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Equals Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class EqualsSymbolImpl extends PartialitySymbolImpl implements EqualsSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected EqualsSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.EQUALS_SYMBOL;
39 }
40
41} //EqualsSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ErrorImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ErrorImpl.java
deleted file mode 100644
index e58094a7..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ErrorImpl.java
+++ /dev/null
@@ -1,40 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Error</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class ErrorImpl extends TruthValueImpl implements org.eclipse.viatra.solver.language.solverLanguage.Error
18{
19 /**
20 * <!-- begin-user-doc -->
21 * <!-- end-user-doc -->
22 * @generated
23 */
24 protected ErrorImpl()
25 {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass()
36 {
37 return SolverLanguagePackage.Literals.ERROR;
38 }
39
40} //ErrorImpl
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
new file mode 100644
index 00000000..3751de39
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java
@@ -0,0 +1,179 @@
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/ModelSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java
index bd195572..faf51904 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ModelSymbolImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
@@ -9,50 +9,50 @@ import org.eclipse.emf.ecore.EClass;
9 9
10import org.eclipse.emf.ecore.impl.ENotificationImpl; 10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11 11
12import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; 12import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14 14
15/** 15/**
16 * <!-- begin-user-doc --> 16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Model Symbol</b></em>'. 17 * An implementation of the model object '<em><b>Exact Scope Definition</b></em>'.
18 * <!-- end-user-doc --> 18 * <!-- end-user-doc -->
19 * <p> 19 * <p>
20 * The following features are implemented: 20 * The following features are implemented:
21 * </p> 21 * </p>
22 * <ul> 22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl#getName <em>Name</em>}</li> 23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl#getExactScope <em>Exact Scope</em>}</li>
24 * </ul> 24 * </ul>
25 * 25 *
26 * @generated 26 * @generated
27 */ 27 */
28public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol 28public class ExactScopeDefinitionImpl extends ScopeDefinitionImpl implements ExactScopeDefinition
29{ 29{
30 /** 30 /**
31 * The default value of the '{@link #getName() <em>Name</em>}' attribute. 31 * The default value of the '{@link #getExactScope() <em>Exact Scope</em>}' attribute.
32 * <!-- begin-user-doc --> 32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc --> 33 * <!-- end-user-doc -->
34 * @see #getName() 34 * @see #getExactScope()
35 * @generated 35 * @generated
36 * @ordered 36 * @ordered
37 */ 37 */
38 protected static final String NAME_EDEFAULT = null; 38 protected static final int EXACT_SCOPE_EDEFAULT = 0;
39 39
40 /** 40 /**
41 * The cached value of the '{@link #getName() <em>Name</em>}' attribute. 41 * The cached value of the '{@link #getExactScope() <em>Exact Scope</em>}' attribute.
42 * <!-- begin-user-doc --> 42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc --> 43 * <!-- end-user-doc -->
44 * @see #getName() 44 * @see #getExactScope()
45 * @generated 45 * @generated
46 * @ordered 46 * @ordered
47 */ 47 */
48 protected String name = NAME_EDEFAULT; 48 protected int exactScope = EXACT_SCOPE_EDEFAULT;
49 49
50 /** 50 /**
51 * <!-- begin-user-doc --> 51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc --> 52 * <!-- end-user-doc -->
53 * @generated 53 * @generated
54 */ 54 */
55 protected ModelSymbolImpl() 55 protected ExactScopeDefinitionImpl()
56 { 56 {
57 super(); 57 super();
58 } 58 }
@@ -65,7 +65,7 @@ public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol
65 @Override 65 @Override
66 protected EClass eStaticClass() 66 protected EClass eStaticClass()
67 { 67 {
68 return SolverLanguagePackage.Literals.MODEL_SYMBOL; 68 return SolverLanguagePackage.Literals.EXACT_SCOPE_DEFINITION;
69 } 69 }
70 70
71 /** 71 /**
@@ -74,9 +74,9 @@ public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol
74 * @generated 74 * @generated
75 */ 75 */
76 @Override 76 @Override
77 public String getName() 77 public int getExactScope()
78 { 78 {
79 return name; 79 return exactScope;
80 } 80 }
81 81
82 /** 82 /**
@@ -85,12 +85,12 @@ public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol
85 * @generated 85 * @generated
86 */ 86 */
87 @Override 87 @Override
88 public void setName(String newName) 88 public void setExactScope(int newExactScope)
89 { 89 {
90 String oldName = name; 90 int oldExactScope = exactScope;
91 name = newName; 91 exactScope = newExactScope;
92 if (eNotificationRequired()) 92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MODEL_SYMBOL__NAME, oldName, name)); 93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE, oldExactScope, exactScope));
94 } 94 }
95 95
96 /** 96 /**
@@ -103,8 +103,8 @@ public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol
103 { 103 {
104 switch (featureID) 104 switch (featureID)
105 { 105 {
106 case SolverLanguagePackage.MODEL_SYMBOL__NAME: 106 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
107 return getName(); 107 return getExactScope();
108 } 108 }
109 return super.eGet(featureID, resolve, coreType); 109 return super.eGet(featureID, resolve, coreType);
110 } 110 }
@@ -119,8 +119,8 @@ public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol
119 { 119 {
120 switch (featureID) 120 switch (featureID)
121 { 121 {
122 case SolverLanguagePackage.MODEL_SYMBOL__NAME: 122 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
123 setName((String)newValue); 123 setExactScope((Integer)newValue);
124 return; 124 return;
125 } 125 }
126 super.eSet(featureID, newValue); 126 super.eSet(featureID, newValue);
@@ -136,8 +136,8 @@ public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol
136 { 136 {
137 switch (featureID) 137 switch (featureID)
138 { 138 {
139 case SolverLanguagePackage.MODEL_SYMBOL__NAME: 139 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
140 setName(NAME_EDEFAULT); 140 setExactScope(EXACT_SCOPE_EDEFAULT);
141 return; 141 return;
142 } 142 }
143 super.eUnset(featureID); 143 super.eUnset(featureID);
@@ -153,8 +153,8 @@ public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol
153 { 153 {
154 switch (featureID) 154 switch (featureID)
155 { 155 {
156 case SolverLanguagePackage.MODEL_SYMBOL__NAME: 156 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
157 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); 157 return exactScope != EXACT_SCOPE_EDEFAULT;
158 } 158 }
159 return super.eIsSet(featureID); 159 return super.eIsSet(featureID);
160 } 160 }
@@ -170,10 +170,10 @@ public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol
170 if (eIsProxy()) return super.toString(); 170 if (eIsProxy()) return super.toString();
171 171
172 StringBuilder result = new StringBuilder(super.toString()); 172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (name: "); 173 result.append(" (exactScope: ");
174 result.append(name); 174 result.append(exactScope);
175 result.append(')'); 175 result.append(')');
176 return result.toString(); 176 return result.toString();
177 } 177 }
178 178
179} //ModelSymbolImpl 179} //ExactScopeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExistSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExistSymbolImpl.java
deleted file mode 100644
index 2fd59e41..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExistSymbolImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Exist Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class ExistSymbolImpl extends PartialitySymbolImpl implements ExistSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected ExistSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.EXIST_SYMBOL;
39 }
40
41} //ExistSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java
index cb1a3ff4..f83c1cb3 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanObjectImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
@@ -11,41 +11,41 @@ import org.eclipse.emf.ecore.InternalEObject;
11 11
12import org.eclipse.emf.ecore.impl.ENotificationImpl; 12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13 13
14import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject; 14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue; 15import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17 17
18/** 18/**
19 * <!-- begin-user-doc --> 19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Boolean Object</b></em>'. 20 * An implementation of the model object '<em><b>Expression Argument</b></em>'.
21 * <!-- end-user-doc --> 21 * <!-- end-user-doc -->
22 * <p> 22 * <p>
23 * The following features are implemented: 23 * The following features are implemented:
24 * </p> 24 * </p>
25 * <ul> 25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl#getValue <em>Value</em>}</li> 26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl#getBody <em>Body</em>}</li>
27 * </ul> 27 * </ul>
28 * 28 *
29 * @generated 29 * @generated
30 */ 30 */
31public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject 31public class ExpressionArgumentImpl extends ArgumentImpl implements ExpressionArgument
32{ 32{
33 /** 33 /**
34 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference. 34 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
35 * <!-- begin-user-doc --> 35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc --> 36 * <!-- end-user-doc -->
37 * @see #getValue() 37 * @see #getBody()
38 * @generated 38 * @generated
39 * @ordered 39 * @ordered
40 */ 40 */
41 protected BooleanValue value; 41 protected Expression body;
42 42
43 /** 43 /**
44 * <!-- begin-user-doc --> 44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc --> 45 * <!-- end-user-doc -->
46 * @generated 46 * @generated
47 */ 47 */
48 protected BooleanObjectImpl() 48 protected ExpressionArgumentImpl()
49 { 49 {
50 super(); 50 super();
51 } 51 }
@@ -58,7 +58,7 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
58 @Override 58 @Override
59 protected EClass eStaticClass() 59 protected EClass eStaticClass()
60 { 60 {
61 return SolverLanguagePackage.Literals.BOOLEAN_OBJECT; 61 return SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT;
62 } 62 }
63 63
64 /** 64 /**
@@ -67,9 +67,9 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
67 * @generated 67 * @generated
68 */ 68 */
69 @Override 69 @Override
70 public BooleanValue getValue() 70 public Expression getBody()
71 { 71 {
72 return value; 72 return body;
73 } 73 }
74 74
75 /** 75 /**
@@ -77,13 +77,13 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
77 * <!-- end-user-doc --> 77 * <!-- end-user-doc -->
78 * @generated 78 * @generated
79 */ 79 */
80 public NotificationChain basicSetValue(BooleanValue newValue, NotificationChain msgs) 80 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
81 { 81 {
82 BooleanValue oldValue = value; 82 Expression oldBody = body;
83 value = newValue; 83 body = newBody;
84 if (eNotificationRequired()) 84 if (eNotificationRequired())
85 { 85 {
86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOOLEAN_OBJECT__VALUE, oldValue, newValue); 86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, oldBody, newBody);
87 if (msgs == null) msgs = notification; else msgs.add(notification); 87 if (msgs == null) msgs = notification; else msgs.add(notification);
88 } 88 }
89 return msgs; 89 return msgs;
@@ -95,20 +95,20 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
95 * @generated 95 * @generated
96 */ 96 */
97 @Override 97 @Override
98 public void setValue(BooleanValue newValue) 98 public void setBody(Expression newBody)
99 { 99 {
100 if (newValue != value) 100 if (newBody != body)
101 { 101 {
102 NotificationChain msgs = null; 102 NotificationChain msgs = null;
103 if (value != null) 103 if (body != null)
104 msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BOOLEAN_OBJECT__VALUE, null, msgs); 104 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, null, msgs);
105 if (newValue != null) 105 if (newBody != null)
106 msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BOOLEAN_OBJECT__VALUE, null, msgs); 106 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, null, msgs);
107 msgs = basicSetValue(newValue, msgs); 107 msgs = basicSetBody(newBody, msgs);
108 if (msgs != null) msgs.dispatch(); 108 if (msgs != null) msgs.dispatch();
109 } 109 }
110 else if (eNotificationRequired()) 110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOOLEAN_OBJECT__VALUE, newValue, newValue)); 111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, newBody, newBody));
112 } 112 }
113 113
114 /** 114 /**
@@ -121,8 +121,8 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
121 { 121 {
122 switch (featureID) 122 switch (featureID)
123 { 123 {
124 case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE: 124 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
125 return basicSetValue(null, msgs); 125 return basicSetBody(null, msgs);
126 } 126 }
127 return super.eInverseRemove(otherEnd, featureID, msgs); 127 return super.eInverseRemove(otherEnd, featureID, msgs);
128 } 128 }
@@ -137,8 +137,8 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
137 { 137 {
138 switch (featureID) 138 switch (featureID)
139 { 139 {
140 case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE: 140 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
141 return getValue(); 141 return getBody();
142 } 142 }
143 return super.eGet(featureID, resolve, coreType); 143 return super.eGet(featureID, resolve, coreType);
144 } 144 }
@@ -153,8 +153,8 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
153 { 153 {
154 switch (featureID) 154 switch (featureID)
155 { 155 {
156 case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE: 156 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
157 setValue((BooleanValue)newValue); 157 setBody((Expression)newValue);
158 return; 158 return;
159 } 159 }
160 super.eSet(featureID, newValue); 160 super.eSet(featureID, newValue);
@@ -170,8 +170,8 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
170 { 170 {
171 switch (featureID) 171 switch (featureID)
172 { 172 {
173 case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE: 173 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
174 setValue((BooleanValue)null); 174 setBody((Expression)null);
175 return; 175 return;
176 } 176 }
177 super.eUnset(featureID); 177 super.eUnset(featureID);
@@ -187,10 +187,10 @@ public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
187 { 187 {
188 switch (featureID) 188 switch (featureID)
189 { 189 {
190 case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE: 190 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
191 return value != null; 191 return body != null;
192 } 192 }
193 return super.eIsSet(featureID); 193 return super.eIsSet(featureID);
194 } 194 }
195 195
196} //BooleanObjectImpl 196} //ExpressionArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NegativeImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java
index a30b228f..585e3c41 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NegativeImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java
@@ -1,28 +1,28 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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.Negative; 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>Negative</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 NegativeImpl extends PolarityImpl implements Negative 18public class ExpressionImpl extends StatementImpl implements Expression
19{ 19{
20 /** 20 /**
21 * <!-- begin-user-doc --> 21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc --> 22 * <!-- end-user-doc -->
23 * @generated 23 * @generated
24 */ 24 */
25 protected NegativeImpl() 25 protected ExpressionImpl()
26 { 26 {
27 super(); 27 super();
28 } 28 }
@@ -35,7 +35,7 @@ public class NegativeImpl extends PolarityImpl implements Negative
35 @Override 35 @Override
36 protected EClass eStaticClass() 36 protected EClass eStaticClass()
37 { 37 {
38 return SolverLanguagePackage.Literals.NEGATIVE; 38 return SolverLanguagePackage.Literals.EXPRESSION;
39 } 39 }
40 40
41} //NegativeImpl 41} //ExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java
new file mode 100644
index 00000000..e324c38a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java
@@ -0,0 +1,270 @@
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/DefaultInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java
index eb2835a0..0605cb0f 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultInterpretationImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
@@ -11,41 +11,41 @@ import org.eclipse.emf.ecore.InternalEObject;
11 11
12import org.eclipse.emf.ecore.impl.ENotificationImpl; 12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13 13
14import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation; 14import org.eclipse.viatra.solver.language.solverLanguage.Call;
15import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; 15import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17 17
18/** 18/**
19 * <!-- begin-user-doc --> 19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Default Interpretation</b></em>'. 20 * An implementation of the model object '<em><b>Extern Predicate Definition</b></em>'.
21 * <!-- end-user-doc --> 21 * <!-- end-user-doc -->
22 * <p> 22 * <p>
23 * The following features are implemented: 23 * The following features are implemented:
24 * </p> 24 * </p>
25 * <ul> 25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl#getInterpretation <em>Interpretation</em>}</li> 26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl#getHead <em>Head</em>}</li>
27 * </ul> 27 * </ul>
28 * 28 *
29 * @generated 29 * @generated
30 */ 30 */
31public class DefaultInterpretationImpl extends InterpretationImpl implements DefaultInterpretation 31public class ExternPredicateDefinitionImpl extends StatementImpl implements ExternPredicateDefinition
32{ 32{
33 /** 33 /**
34 * The cached value of the '{@link #getInterpretation() <em>Interpretation</em>}' containment reference. 34 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
35 * <!-- begin-user-doc --> 35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc --> 36 * <!-- end-user-doc -->
37 * @see #getInterpretation() 37 * @see #getHead()
38 * @generated 38 * @generated
39 * @ordered 39 * @ordered
40 */ 40 */
41 protected BasicInterpretation interpretation; 41 protected Call head;
42 42
43 /** 43 /**
44 * <!-- begin-user-doc --> 44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc --> 45 * <!-- end-user-doc -->
46 * @generated 46 * @generated
47 */ 47 */
48 protected DefaultInterpretationImpl() 48 protected ExternPredicateDefinitionImpl()
49 { 49 {
50 super(); 50 super();
51 } 51 }
@@ -58,7 +58,7 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
58 @Override 58 @Override
59 protected EClass eStaticClass() 59 protected EClass eStaticClass()
60 { 60 {
61 return SolverLanguagePackage.Literals.DEFAULT_INTERPRETATION; 61 return SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION;
62 } 62 }
63 63
64 /** 64 /**
@@ -67,9 +67,9 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
67 * @generated 67 * @generated
68 */ 68 */
69 @Override 69 @Override
70 public BasicInterpretation getInterpretation() 70 public Call getHead()
71 { 71 {
72 return interpretation; 72 return head;
73 } 73 }
74 74
75 /** 75 /**
@@ -77,13 +77,13 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
77 * <!-- end-user-doc --> 77 * <!-- end-user-doc -->
78 * @generated 78 * @generated
79 */ 79 */
80 public NotificationChain basicSetInterpretation(BasicInterpretation newInterpretation, NotificationChain msgs) 80 public NotificationChain basicSetHead(Call newHead, NotificationChain msgs)
81 { 81 {
82 BasicInterpretation oldInterpretation = interpretation; 82 Call oldHead = head;
83 interpretation = newInterpretation; 83 head = newHead;
84 if (eNotificationRequired()) 84 if (eNotificationRequired())
85 { 85 {
86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION, oldInterpretation, newInterpretation); 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); 87 if (msgs == null) msgs = notification; else msgs.add(notification);
88 } 88 }
89 return msgs; 89 return msgs;
@@ -95,20 +95,20 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
95 * @generated 95 * @generated
96 */ 96 */
97 @Override 97 @Override
98 public void setInterpretation(BasicInterpretation newInterpretation) 98 public void setHead(Call newHead)
99 { 99 {
100 if (newInterpretation != interpretation) 100 if (newHead != head)
101 { 101 {
102 NotificationChain msgs = null; 102 NotificationChain msgs = null;
103 if (interpretation != null) 103 if (head != null)
104 msgs = ((InternalEObject)interpretation).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION, null, msgs); 104 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, null, msgs);
105 if (newInterpretation != null) 105 if (newHead != null)
106 msgs = ((InternalEObject)newInterpretation).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION, null, msgs); 106 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, null, msgs);
107 msgs = basicSetInterpretation(newInterpretation, msgs); 107 msgs = basicSetHead(newHead, msgs);
108 if (msgs != null) msgs.dispatch(); 108 if (msgs != null) msgs.dispatch();
109 } 109 }
110 else if (eNotificationRequired()) 110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION, newInterpretation, newInterpretation)); 111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, newHead, newHead));
112 } 112 }
113 113
114 /** 114 /**
@@ -121,8 +121,8 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
121 { 121 {
122 switch (featureID) 122 switch (featureID)
123 { 123 {
124 case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION: 124 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
125 return basicSetInterpretation(null, msgs); 125 return basicSetHead(null, msgs);
126 } 126 }
127 return super.eInverseRemove(otherEnd, featureID, msgs); 127 return super.eInverseRemove(otherEnd, featureID, msgs);
128 } 128 }
@@ -137,8 +137,8 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
137 { 137 {
138 switch (featureID) 138 switch (featureID)
139 { 139 {
140 case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION: 140 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
141 return getInterpretation(); 141 return getHead();
142 } 142 }
143 return super.eGet(featureID, resolve, coreType); 143 return super.eGet(featureID, resolve, coreType);
144 } 144 }
@@ -153,8 +153,8 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
153 { 153 {
154 switch (featureID) 154 switch (featureID)
155 { 155 {
156 case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION: 156 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
157 setInterpretation((BasicInterpretation)newValue); 157 setHead((Call)newValue);
158 return; 158 return;
159 } 159 }
160 super.eSet(featureID, newValue); 160 super.eSet(featureID, newValue);
@@ -170,8 +170,8 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
170 { 170 {
171 switch (featureID) 171 switch (featureID)
172 { 172 {
173 case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION: 173 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
174 setInterpretation((BasicInterpretation)null); 174 setHead((Call)null);
175 return; 175 return;
176 } 176 }
177 super.eUnset(featureID); 177 super.eUnset(featureID);
@@ -187,10 +187,10 @@ public class DefaultInterpretationImpl extends InterpretationImpl implements Def
187 { 187 {
188 switch (featureID) 188 switch (featureID)
189 { 189 {
190 case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION: 190 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
191 return interpretation != null; 191 return head != null;
192 } 192 }
193 return super.eIsSet(featureID); 193 return super.eIsSet(featureID);
194 } 194 }
195 195
196} //DefaultInterpretationImpl 196} //ExternPredicateDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FalseImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FalseImpl.java
deleted file mode 100644
index 332f9af3..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FalseImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.False;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>False</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class FalseImpl extends TruthValueImpl implements False
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected FalseImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.FALSE;
39 }
40
41} //FalseImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldRelationInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldRelationInterpretationImpl.java
deleted file mode 100644
index ea9b80b2..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldRelationInterpretationImpl.java
+++ /dev/null
@@ -1,418 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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.FieldRelationInterpretation;
16import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
17import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
18import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
19import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Field Relation Interpretation</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl#isContainment <em>Containment</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl#getSymbol <em>Symbol</em>}</li>
31 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl#getMultiplicity <em>Multiplicity</em>}</li>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl#getTarget <em>Target</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class FieldRelationInterpretationImpl extends MinimalEObjectImpl.Container implements FieldRelationInterpretation
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 #getSymbol() <em>Symbol</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see #getSymbol()
64 * @generated
65 * @ordered
66 */
67 protected ModelSymbol symbol;
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 MultiplicityDefinition multiplicity;
78
79 /**
80 * The cached value of the '{@link #getTarget() <em>Target</em>}' containment reference.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @see #getTarget()
84 * @generated
85 * @ordered
86 */
87 protected Symbol target;
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 protected FieldRelationInterpretationImpl()
95 {
96 super();
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 protected EClass eStaticClass()
106 {
107 return SolverLanguagePackage.Literals.FIELD_RELATION_INTERPRETATION;
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public boolean isContainment()
117 {
118 return containment;
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 public void setContainment(boolean newContainment)
128 {
129 boolean oldContainment = containment;
130 containment = newContainment;
131 if (eNotificationRequired())
132 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT, oldContainment, containment));
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public ModelSymbol getSymbol()
142 {
143 return symbol;
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
152 {
153 ModelSymbol oldSymbol = symbol;
154 symbol = newSymbol;
155 if (eNotificationRequired())
156 {
157 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL, oldSymbol, newSymbol);
158 if (msgs == null) msgs = notification; else msgs.add(notification);
159 }
160 return msgs;
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public void setSymbol(ModelSymbol newSymbol)
170 {
171 if (newSymbol != symbol)
172 {
173 NotificationChain msgs = null;
174 if (symbol != null)
175 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL, null, msgs);
176 if (newSymbol != null)
177 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL, null, msgs);
178 msgs = basicSetSymbol(newSymbol, msgs);
179 if (msgs != null) msgs.dispatch();
180 }
181 else if (eNotificationRequired())
182 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL, newSymbol, newSymbol));
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 @Override
191 public MultiplicityDefinition getMultiplicity()
192 {
193 return multiplicity;
194 }
195
196 /**
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @generated
200 */
201 public NotificationChain basicSetMultiplicity(MultiplicityDefinition newMultiplicity, NotificationChain msgs)
202 {
203 MultiplicityDefinition oldMultiplicity = multiplicity;
204 multiplicity = newMultiplicity;
205 if (eNotificationRequired())
206 {
207 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY, oldMultiplicity, newMultiplicity);
208 if (msgs == null) msgs = notification; else msgs.add(notification);
209 }
210 return msgs;
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public void setMultiplicity(MultiplicityDefinition newMultiplicity)
220 {
221 if (newMultiplicity != multiplicity)
222 {
223 NotificationChain msgs = null;
224 if (multiplicity != null)
225 msgs = ((InternalEObject)multiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY, null, msgs);
226 if (newMultiplicity != null)
227 msgs = ((InternalEObject)newMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__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.FIELD_RELATION_INTERPRETATION__MULTIPLICITY, newMultiplicity, newMultiplicity));
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public Symbol getTarget()
242 {
243 return target;
244 }
245
246 /**
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 */
251 public NotificationChain basicSetTarget(Symbol newTarget, NotificationChain msgs)
252 {
253 Symbol oldTarget = target;
254 target = newTarget;
255 if (eNotificationRequired())
256 {
257 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET, oldTarget, newTarget);
258 if (msgs == null) msgs = notification; else msgs.add(notification);
259 }
260 return msgs;
261 }
262
263 /**
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @generated
267 */
268 @Override
269 public void setTarget(Symbol newTarget)
270 {
271 if (newTarget != target)
272 {
273 NotificationChain msgs = null;
274 if (target != null)
275 msgs = ((InternalEObject)target).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET, null, msgs);
276 if (newTarget != null)
277 msgs = ((InternalEObject)newTarget).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET, null, msgs);
278 msgs = basicSetTarget(newTarget, msgs);
279 if (msgs != null) msgs.dispatch();
280 }
281 else if (eNotificationRequired())
282 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET, newTarget, newTarget));
283 }
284
285 /**
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @generated
289 */
290 @Override
291 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
292 {
293 switch (featureID)
294 {
295 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL:
296 return basicSetSymbol(null, msgs);
297 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY:
298 return basicSetMultiplicity(null, msgs);
299 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET:
300 return basicSetTarget(null, msgs);
301 }
302 return super.eInverseRemove(otherEnd, featureID, msgs);
303 }
304
305 /**
306 * <!-- begin-user-doc -->
307 * <!-- end-user-doc -->
308 * @generated
309 */
310 @Override
311 public Object eGet(int featureID, boolean resolve, boolean coreType)
312 {
313 switch (featureID)
314 {
315 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT:
316 return isContainment();
317 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL:
318 return getSymbol();
319 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY:
320 return getMultiplicity();
321 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET:
322 return getTarget();
323 }
324 return super.eGet(featureID, resolve, coreType);
325 }
326
327 /**
328 * <!-- begin-user-doc -->
329 * <!-- end-user-doc -->
330 * @generated
331 */
332 @Override
333 public void eSet(int featureID, Object newValue)
334 {
335 switch (featureID)
336 {
337 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT:
338 setContainment((Boolean)newValue);
339 return;
340 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL:
341 setSymbol((ModelSymbol)newValue);
342 return;
343 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY:
344 setMultiplicity((MultiplicityDefinition)newValue);
345 return;
346 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET:
347 setTarget((Symbol)newValue);
348 return;
349 }
350 super.eSet(featureID, newValue);
351 }
352
353 /**
354 * <!-- begin-user-doc -->
355 * <!-- end-user-doc -->
356 * @generated
357 */
358 @Override
359 public void eUnset(int featureID)
360 {
361 switch (featureID)
362 {
363 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT:
364 setContainment(CONTAINMENT_EDEFAULT);
365 return;
366 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL:
367 setSymbol((ModelSymbol)null);
368 return;
369 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY:
370 setMultiplicity((MultiplicityDefinition)null);
371 return;
372 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET:
373 setTarget((Symbol)null);
374 return;
375 }
376 super.eUnset(featureID);
377 }
378
379 /**
380 * <!-- begin-user-doc -->
381 * <!-- end-user-doc -->
382 * @generated
383 */
384 @Override
385 public boolean eIsSet(int featureID)
386 {
387 switch (featureID)
388 {
389 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT:
390 return containment != CONTAINMENT_EDEFAULT;
391 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL:
392 return symbol != null;
393 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY:
394 return multiplicity != null;
395 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET:
396 return target != null;
397 }
398 return super.eIsSet(featureID);
399 }
400
401 /**
402 * <!-- begin-user-doc -->
403 * <!-- end-user-doc -->
404 * @generated
405 */
406 @Override
407 public String toString()
408 {
409 if (eIsProxy()) return super.toString();
410
411 StringBuilder result = new StringBuilder(super.toString());
412 result.append(" (containment: ");
413 result.append(containment);
414 result.append(')');
415 return result.toString();
416 }
417
418} //FieldRelationInterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/GlobalRelationInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/GlobalRelationInterpretationImpl.java
deleted file mode 100644
index 52f7a67d..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/GlobalRelationInterpretationImpl.java
+++ /dev/null
@@ -1,563 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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.GlobalRelationInterpretation;
15import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
16import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
19
20/**
21 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>Global Relation Interpretation</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.GlobalRelationInterpretationImpl#isContainment <em>Containment</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getSymbol <em>Symbol</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getSourceMultiplicity <em>Source Multiplicity</em>}</li>
31 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getSource <em>Source</em>}</li>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getTargetMultiplicity <em>Target Multiplicity</em>}</li>
33 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getTarget <em>Target</em>}</li>
34 * </ul>
35 *
36 * @generated
37 */
38public class GlobalRelationInterpretationImpl extends CDInterpretationImpl implements GlobalRelationInterpretation
39{
40 /**
41 * The default value of the '{@link #isContainment() <em>Containment</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #isContainment()
45 * @generated
46 * @ordered
47 */
48 protected static final boolean CONTAINMENT_EDEFAULT = false;
49
50 /**
51 * The cached value of the '{@link #isContainment() <em>Containment</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #isContainment()
55 * @generated
56 * @ordered
57 */
58 protected boolean containment = CONTAINMENT_EDEFAULT;
59
60 /**
61 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #getSymbol()
65 * @generated
66 * @ordered
67 */
68 protected ModelSymbol symbol;
69
70 /**
71 * The cached value of the '{@link #getSourceMultiplicity() <em>Source Multiplicity</em>}' containment reference.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @see #getSourceMultiplicity()
75 * @generated
76 * @ordered
77 */
78 protected MultiplicityDefinition sourceMultiplicity;
79
80 /**
81 * The cached value of the '{@link #getSource() <em>Source</em>}' containment reference.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @see #getSource()
85 * @generated
86 * @ordered
87 */
88 protected Symbol source;
89
90 /**
91 * The cached value of the '{@link #getTargetMultiplicity() <em>Target Multiplicity</em>}' containment reference.
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @see #getTargetMultiplicity()
95 * @generated
96 * @ordered
97 */
98 protected MultiplicityDefinition targetMultiplicity;
99
100 /**
101 * The cached value of the '{@link #getTarget() <em>Target</em>}' containment reference.
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @see #getTarget()
105 * @generated
106 * @ordered
107 */
108 protected Symbol target;
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 protected GlobalRelationInterpretationImpl()
116 {
117 super();
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 protected EClass eStaticClass()
127 {
128 return SolverLanguagePackage.Literals.GLOBAL_RELATION_INTERPRETATION;
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 @Override
137 public boolean isContainment()
138 {
139 return containment;
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void setContainment(boolean newContainment)
149 {
150 boolean oldContainment = containment;
151 containment = newContainment;
152 if (eNotificationRequired())
153 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT, oldContainment, containment));
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 @Override
162 public ModelSymbol getSymbol()
163 {
164 return symbol;
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
173 {
174 ModelSymbol oldSymbol = symbol;
175 symbol = newSymbol;
176 if (eNotificationRequired())
177 {
178 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL, oldSymbol, newSymbol);
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 setSymbol(ModelSymbol newSymbol)
191 {
192 if (newSymbol != symbol)
193 {
194 NotificationChain msgs = null;
195 if (symbol != null)
196 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL, null, msgs);
197 if (newSymbol != null)
198 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL, null, msgs);
199 msgs = basicSetSymbol(newSymbol, msgs);
200 if (msgs != null) msgs.dispatch();
201 }
202 else if (eNotificationRequired())
203 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL, newSymbol, newSymbol));
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public MultiplicityDefinition getSourceMultiplicity()
213 {
214 return sourceMultiplicity;
215 }
216
217 /**
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 public NotificationChain basicSetSourceMultiplicity(MultiplicityDefinition newSourceMultiplicity, NotificationChain msgs)
223 {
224 MultiplicityDefinition oldSourceMultiplicity = sourceMultiplicity;
225 sourceMultiplicity = newSourceMultiplicity;
226 if (eNotificationRequired())
227 {
228 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY, oldSourceMultiplicity, newSourceMultiplicity);
229 if (msgs == null) msgs = notification; else msgs.add(notification);
230 }
231 return msgs;
232 }
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 @Override
240 public void setSourceMultiplicity(MultiplicityDefinition newSourceMultiplicity)
241 {
242 if (newSourceMultiplicity != sourceMultiplicity)
243 {
244 NotificationChain msgs = null;
245 if (sourceMultiplicity != null)
246 msgs = ((InternalEObject)sourceMultiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY, null, msgs);
247 if (newSourceMultiplicity != null)
248 msgs = ((InternalEObject)newSourceMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY, null, msgs);
249 msgs = basicSetSourceMultiplicity(newSourceMultiplicity, msgs);
250 if (msgs != null) msgs.dispatch();
251 }
252 else if (eNotificationRequired())
253 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY, newSourceMultiplicity, newSourceMultiplicity));
254 }
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 @Override
262 public Symbol getSource()
263 {
264 return source;
265 }
266
267 /**
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 public NotificationChain basicSetSource(Symbol newSource, NotificationChain msgs)
273 {
274 Symbol oldSource = source;
275 source = newSource;
276 if (eNotificationRequired())
277 {
278 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE, oldSource, newSource);
279 if (msgs == null) msgs = notification; else msgs.add(notification);
280 }
281 return msgs;
282 }
283
284 /**
285 * <!-- begin-user-doc -->
286 * <!-- end-user-doc -->
287 * @generated
288 */
289 @Override
290 public void setSource(Symbol newSource)
291 {
292 if (newSource != source)
293 {
294 NotificationChain msgs = null;
295 if (source != null)
296 msgs = ((InternalEObject)source).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE, null, msgs);
297 if (newSource != null)
298 msgs = ((InternalEObject)newSource).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE, null, msgs);
299 msgs = basicSetSource(newSource, msgs);
300 if (msgs != null) msgs.dispatch();
301 }
302 else if (eNotificationRequired())
303 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE, newSource, newSource));
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public MultiplicityDefinition getTargetMultiplicity()
313 {
314 return targetMultiplicity;
315 }
316
317 /**
318 * <!-- begin-user-doc -->
319 * <!-- end-user-doc -->
320 * @generated
321 */
322 public NotificationChain basicSetTargetMultiplicity(MultiplicityDefinition newTargetMultiplicity, NotificationChain msgs)
323 {
324 MultiplicityDefinition oldTargetMultiplicity = targetMultiplicity;
325 targetMultiplicity = newTargetMultiplicity;
326 if (eNotificationRequired())
327 {
328 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY, oldTargetMultiplicity, newTargetMultiplicity);
329 if (msgs == null) msgs = notification; else msgs.add(notification);
330 }
331 return msgs;
332 }
333
334 /**
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @generated
338 */
339 @Override
340 public void setTargetMultiplicity(MultiplicityDefinition newTargetMultiplicity)
341 {
342 if (newTargetMultiplicity != targetMultiplicity)
343 {
344 NotificationChain msgs = null;
345 if (targetMultiplicity != null)
346 msgs = ((InternalEObject)targetMultiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY, null, msgs);
347 if (newTargetMultiplicity != null)
348 msgs = ((InternalEObject)newTargetMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY, null, msgs);
349 msgs = basicSetTargetMultiplicity(newTargetMultiplicity, msgs);
350 if (msgs != null) msgs.dispatch();
351 }
352 else if (eNotificationRequired())
353 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY, newTargetMultiplicity, newTargetMultiplicity));
354 }
355
356 /**
357 * <!-- begin-user-doc -->
358 * <!-- end-user-doc -->
359 * @generated
360 */
361 @Override
362 public Symbol getTarget()
363 {
364 return target;
365 }
366
367 /**
368 * <!-- begin-user-doc -->
369 * <!-- end-user-doc -->
370 * @generated
371 */
372 public NotificationChain basicSetTarget(Symbol newTarget, NotificationChain msgs)
373 {
374 Symbol oldTarget = target;
375 target = newTarget;
376 if (eNotificationRequired())
377 {
378 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET, oldTarget, newTarget);
379 if (msgs == null) msgs = notification; else msgs.add(notification);
380 }
381 return msgs;
382 }
383
384 /**
385 * <!-- begin-user-doc -->
386 * <!-- end-user-doc -->
387 * @generated
388 */
389 @Override
390 public void setTarget(Symbol newTarget)
391 {
392 if (newTarget != target)
393 {
394 NotificationChain msgs = null;
395 if (target != null)
396 msgs = ((InternalEObject)target).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET, null, msgs);
397 if (newTarget != null)
398 msgs = ((InternalEObject)newTarget).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET, null, msgs);
399 msgs = basicSetTarget(newTarget, msgs);
400 if (msgs != null) msgs.dispatch();
401 }
402 else if (eNotificationRequired())
403 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET, newTarget, newTarget));
404 }
405
406 /**
407 * <!-- begin-user-doc -->
408 * <!-- end-user-doc -->
409 * @generated
410 */
411 @Override
412 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
413 {
414 switch (featureID)
415 {
416 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL:
417 return basicSetSymbol(null, msgs);
418 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY:
419 return basicSetSourceMultiplicity(null, msgs);
420 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE:
421 return basicSetSource(null, msgs);
422 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY:
423 return basicSetTargetMultiplicity(null, msgs);
424 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET:
425 return basicSetTarget(null, msgs);
426 }
427 return super.eInverseRemove(otherEnd, featureID, msgs);
428 }
429
430 /**
431 * <!-- begin-user-doc -->
432 * <!-- end-user-doc -->
433 * @generated
434 */
435 @Override
436 public Object eGet(int featureID, boolean resolve, boolean coreType)
437 {
438 switch (featureID)
439 {
440 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT:
441 return isContainment();
442 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL:
443 return getSymbol();
444 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY:
445 return getSourceMultiplicity();
446 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE:
447 return getSource();
448 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY:
449 return getTargetMultiplicity();
450 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET:
451 return getTarget();
452 }
453 return super.eGet(featureID, resolve, coreType);
454 }
455
456 /**
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @generated
460 */
461 @Override
462 public void eSet(int featureID, Object newValue)
463 {
464 switch (featureID)
465 {
466 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT:
467 setContainment((Boolean)newValue);
468 return;
469 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL:
470 setSymbol((ModelSymbol)newValue);
471 return;
472 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY:
473 setSourceMultiplicity((MultiplicityDefinition)newValue);
474 return;
475 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE:
476 setSource((Symbol)newValue);
477 return;
478 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY:
479 setTargetMultiplicity((MultiplicityDefinition)newValue);
480 return;
481 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET:
482 setTarget((Symbol)newValue);
483 return;
484 }
485 super.eSet(featureID, newValue);
486 }
487
488 /**
489 * <!-- begin-user-doc -->
490 * <!-- end-user-doc -->
491 * @generated
492 */
493 @Override
494 public void eUnset(int featureID)
495 {
496 switch (featureID)
497 {
498 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT:
499 setContainment(CONTAINMENT_EDEFAULT);
500 return;
501 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL:
502 setSymbol((ModelSymbol)null);
503 return;
504 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY:
505 setSourceMultiplicity((MultiplicityDefinition)null);
506 return;
507 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE:
508 setSource((Symbol)null);
509 return;
510 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY:
511 setTargetMultiplicity((MultiplicityDefinition)null);
512 return;
513 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET:
514 setTarget((Symbol)null);
515 return;
516 }
517 super.eUnset(featureID);
518 }
519
520 /**
521 * <!-- begin-user-doc -->
522 * <!-- end-user-doc -->
523 * @generated
524 */
525 @Override
526 public boolean eIsSet(int featureID)
527 {
528 switch (featureID)
529 {
530 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT:
531 return containment != CONTAINMENT_EDEFAULT;
532 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL:
533 return symbol != null;
534 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY:
535 return sourceMultiplicity != null;
536 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE:
537 return source != null;
538 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY:
539 return targetMultiplicity != null;
540 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET:
541 return target != null;
542 }
543 return super.eIsSet(featureID);
544 }
545
546 /**
547 * <!-- begin-user-doc -->
548 * <!-- end-user-doc -->
549 * @generated
550 */
551 @Override
552 public String toString()
553 {
554 if (eIsProxy()) return super.toString();
555
556 StringBuilder result = new StringBuilder(super.toString());
557 result.append(" (containment: ");
558 result.append(containment);
559 result.append(')');
560 return result.toString();
561 }
562
563} //GlobalRelationInterpretationImpl
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
new file mode 100644
index 00000000..1b873568
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java
@@ -0,0 +1,342 @@
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/AllObjectsImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java
index b1e9c3d0..e796f5a0 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllObjectsImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java
@@ -1,28 +1,28 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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.AllObjects; 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>All Objects</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 AllObjectsImpl extends ComplexObjectImpl implements AllObjects 18public class InfinityLiteralImpl extends LiteralImpl implements InfinityLiteral
19{ 19{
20 /** 20 /**
21 * <!-- begin-user-doc --> 21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc --> 22 * <!-- end-user-doc -->
23 * @generated 23 * @generated
24 */ 24 */
25 protected AllObjectsImpl() 25 protected InfinityLiteralImpl()
26 { 26 {
27 super(); 27 super();
28 } 28 }
@@ -35,7 +35,7 @@ public class AllObjectsImpl extends ComplexObjectImpl implements AllObjects
35 @Override 35 @Override
36 protected EClass eStaticClass() 36 protected EClass eStaticClass()
37 { 37 {
38 return SolverLanguagePackage.Literals.ALL_OBJECTS; 38 return SolverLanguagePackage.Literals.INFINITY_LITERAL;
39 } 39 }
40 40
41} //AllObjectsImpl 41} //InfinityLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntegerSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntegerSymbolImpl.java
deleted file mode 100644
index bcd978fa..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntegerSymbolImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Integer Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class IntegerSymbolImpl extends DataSymbolImpl implements IntegerSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected IntegerSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.INTEGER_SYMBOL;
39 }
40
41} //IntegerSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java
deleted file mode 100644
index fb41d77d..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.Interpretation;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Interpretation</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class InterpretationImpl extends StatementImpl implements Interpretation
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected InterpretationImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.INTERPRETATION;
39 }
40
41} //InterpretationImpl
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
new file mode 100644
index 00000000..e6107ef8
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java
@@ -0,0 +1,269 @@
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/IrreflexiveClosureImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IrreflexiveClosureImpl.java
deleted file mode 100644
index 07ad66f9..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IrreflexiveClosureImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Irreflexive Closure</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class IrreflexiveClosureImpl extends ClosureTypeImpl implements IrreflexiveClosure
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected IrreflexiveClosureImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.IRREFLEXIVE_CLOSURE;
39 }
40
41} //IrreflexiveClosureImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java
index 518aa2b7..2983566c 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/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java
@@ -1,12 +1,10 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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;
9
10import org.eclipse.viatra.solver.language.solverLanguage.Literal; 8import org.eclipse.viatra.solver.language.solverLanguage.Literal;
11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
12 10
@@ -17,7 +15,7 @@ import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17 * 15 *
18 * @generated 16 * @generated
19 */ 17 */
20public class LiteralImpl extends MinimalEObjectImpl.Container implements Literal 18public class LiteralImpl extends ExpressionImpl implements Literal
21{ 19{
22 /** 20 /**
23 * <!-- begin-user-doc --> 21 * <!-- begin-user-doc -->
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java
index fa844b68..2bc27a20 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntObjectImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
@@ -9,23 +9,24 @@ import org.eclipse.emf.ecore.EClass;
9 9
10import org.eclipse.emf.ecore.impl.ENotificationImpl; 10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11 11
12import org.eclipse.viatra.solver.language.solverLanguage.IntObject; 12import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral;
13import org.eclipse.viatra.solver.language.solverLanguage.LogicValue;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14 15
15/** 16/**
16 * <!-- begin-user-doc --> 17 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Int Object</b></em>'. 18 * An implementation of the model object '<em><b>Logic Literal</b></em>'.
18 * <!-- end-user-doc --> 19 * <!-- end-user-doc -->
19 * <p> 20 * <p>
20 * The following features are implemented: 21 * The following features are implemented:
21 * </p> 22 * </p>
22 * <ul> 23 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl#getValue <em>Value</em>}</li> 24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl#getValue <em>Value</em>}</li>
24 * </ul> 25 * </ul>
25 * 26 *
26 * @generated 27 * @generated
27 */ 28 */
28public class IntObjectImpl extends DataObjectImpl implements IntObject 29public class LogicLiteralImpl extends LiteralImpl implements LogicLiteral
29{ 30{
30 /** 31 /**
31 * The default value of the '{@link #getValue() <em>Value</em>}' attribute. 32 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
@@ -35,7 +36,7 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
35 * @generated 36 * @generated
36 * @ordered 37 * @ordered
37 */ 38 */
38 protected static final int VALUE_EDEFAULT = 0; 39 protected static final LogicValue VALUE_EDEFAULT = LogicValue.TRUE;
39 40
40 /** 41 /**
41 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. 42 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
@@ -45,14 +46,14 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
45 * @generated 46 * @generated
46 * @ordered 47 * @ordered
47 */ 48 */
48 protected int value = VALUE_EDEFAULT; 49 protected LogicValue value = VALUE_EDEFAULT;
49 50
50 /** 51 /**
51 * <!-- begin-user-doc --> 52 * <!-- begin-user-doc -->
52 * <!-- end-user-doc --> 53 * <!-- end-user-doc -->
53 * @generated 54 * @generated
54 */ 55 */
55 protected IntObjectImpl() 56 protected LogicLiteralImpl()
56 { 57 {
57 super(); 58 super();
58 } 59 }
@@ -65,7 +66,7 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
65 @Override 66 @Override
66 protected EClass eStaticClass() 67 protected EClass eStaticClass()
67 { 68 {
68 return SolverLanguagePackage.Literals.INT_OBJECT; 69 return SolverLanguagePackage.Literals.LOGIC_LITERAL;
69 } 70 }
70 71
71 /** 72 /**
@@ -74,7 +75,7 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
74 * @generated 75 * @generated
75 */ 76 */
76 @Override 77 @Override
77 public int getValue() 78 public LogicValue getValue()
78 { 79 {
79 return value; 80 return value;
80 } 81 }
@@ -85,12 +86,12 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
85 * @generated 86 * @generated
86 */ 87 */
87 @Override 88 @Override
88 public void setValue(int newValue) 89 public void setValue(LogicValue newValue)
89 { 90 {
90 int oldValue = value; 91 LogicValue oldValue = value;
91 value = newValue; 92 value = newValue == null ? VALUE_EDEFAULT : newValue;
92 if (eNotificationRequired()) 93 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INT_OBJECT__VALUE, oldValue, value)); 94 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LOGIC_LITERAL__VALUE, oldValue, value));
94 } 95 }
95 96
96 /** 97 /**
@@ -103,7 +104,7 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
103 { 104 {
104 switch (featureID) 105 switch (featureID)
105 { 106 {
106 case SolverLanguagePackage.INT_OBJECT__VALUE: 107 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
107 return getValue(); 108 return getValue();
108 } 109 }
109 return super.eGet(featureID, resolve, coreType); 110 return super.eGet(featureID, resolve, coreType);
@@ -119,8 +120,8 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
119 { 120 {
120 switch (featureID) 121 switch (featureID)
121 { 122 {
122 case SolverLanguagePackage.INT_OBJECT__VALUE: 123 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
123 setValue((Integer)newValue); 124 setValue((LogicValue)newValue);
124 return; 125 return;
125 } 126 }
126 super.eSet(featureID, newValue); 127 super.eSet(featureID, newValue);
@@ -136,7 +137,7 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
136 { 137 {
137 switch (featureID) 138 switch (featureID)
138 { 139 {
139 case SolverLanguagePackage.INT_OBJECT__VALUE: 140 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
140 setValue(VALUE_EDEFAULT); 141 setValue(VALUE_EDEFAULT);
141 return; 142 return;
142 } 143 }
@@ -153,7 +154,7 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
153 { 154 {
154 switch (featureID) 155 switch (featureID)
155 { 156 {
156 case SolverLanguagePackage.INT_OBJECT__VALUE: 157 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
157 return value != VALUE_EDEFAULT; 158 return value != VALUE_EDEFAULT;
158 } 159 }
159 return super.eIsSet(featureID); 160 return super.eIsSet(featureID);
@@ -176,4 +177,4 @@ public class IntObjectImpl extends DataObjectImpl implements IntObject
176 return result.toString(); 177 return result.toString();
177 } 178 }
178 179
179} //IntObjectImpl 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
new file mode 100644
index 00000000..5eb671f3
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java
@@ -0,0 +1,179 @@
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/BooleanFalseImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java
index ae78f540..c248b4ea 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanFalseImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java
@@ -1,28 +1,28 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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.BooleanFalse; 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>Boolean False</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 BooleanFalseImpl extends BooleanValueImpl implements BooleanFalse 18public class ManyMultiplicityImpl extends MultiplicityImpl implements ManyMultiplicity
19{ 19{
20 /** 20 /**
21 * <!-- begin-user-doc --> 21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc --> 22 * <!-- end-user-doc -->
23 * @generated 23 * @generated
24 */ 24 */
25 protected BooleanFalseImpl() 25 protected ManyMultiplicityImpl()
26 { 26 {
27 super(); 27 super();
28 } 28 }
@@ -35,7 +35,7 @@ public class BooleanFalseImpl extends BooleanValueImpl implements BooleanFalse
35 @Override 35 @Override
36 protected EClass eStaticClass() 36 protected EClass eStaticClass()
37 { 37 {
38 return SolverLanguagePackage.Literals.BOOLEAN_FALSE; 38 return SolverLanguagePackage.Literals.MANY_MULTIPLICITY;
39 } 39 }
40 40
41} //BooleanFalseImpl 41} //ManyMultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java
new file mode 100644
index 00000000..69021347
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java
@@ -0,0 +1,463 @@
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
new file mode 100644
index 00000000..8f84d2f1
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java
@@ -0,0 +1,343 @@
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/MultiplicityDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityDefinitionImpl.java
deleted file mode 100644
index a346568c..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityDefinitionImpl.java
+++ /dev/null
@@ -1,296 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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.MultiplicityDefinition;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Multiplicity Definition</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.MultiplicityDefinitionImpl#getLower <em>Lower</em>}</li>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl#getUpper <em>Upper</em>}</li>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl#isUnlimitedUpper <em>Unlimited Upper</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class MultiplicityDefinitionImpl extends MinimalEObjectImpl.Container implements MultiplicityDefinition
32{
33 /**
34 * The default value of the '{@link #getLower() <em>Lower</em>}' attribute.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getLower()
38 * @generated
39 * @ordered
40 */
41 protected static final int LOWER_EDEFAULT = 0;
42
43 /**
44 * The cached value of the '{@link #getLower() <em>Lower</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getLower()
48 * @generated
49 * @ordered
50 */
51 protected int lower = LOWER_EDEFAULT;
52
53 /**
54 * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #getUpper()
58 * @generated
59 * @ordered
60 */
61 protected static final int UPPER_EDEFAULT = 0;
62
63 /**
64 * The cached value of the '{@link #getUpper() <em>Upper</em>}' attribute.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #getUpper()
68 * @generated
69 * @ordered
70 */
71 protected int upper = UPPER_EDEFAULT;
72
73 /**
74 * The default value of the '{@link #isUnlimitedUpper() <em>Unlimited Upper</em>}' attribute.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #isUnlimitedUpper()
78 * @generated
79 * @ordered
80 */
81 protected static final boolean UNLIMITED_UPPER_EDEFAULT = false;
82
83 /**
84 * The cached value of the '{@link #isUnlimitedUpper() <em>Unlimited Upper</em>}' attribute.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @see #isUnlimitedUpper()
88 * @generated
89 * @ordered
90 */
91 protected boolean unlimitedUpper = UNLIMITED_UPPER_EDEFAULT;
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 protected MultiplicityDefinitionImpl()
99 {
100 super();
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 protected EClass eStaticClass()
110 {
111 return SolverLanguagePackage.Literals.MULTIPLICITY_DEFINITION;
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public int getLower()
121 {
122 return lower;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setLower(int newLower)
132 {
133 int oldLower = lower;
134 lower = newLower;
135 if (eNotificationRequired())
136 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER, oldLower, lower));
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public int getUpper()
146 {
147 return upper;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public void setUpper(int newUpper)
157 {
158 int oldUpper = upper;
159 upper = newUpper;
160 if (eNotificationRequired())
161 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER, oldUpper, upper));
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public boolean isUnlimitedUpper()
171 {
172 return unlimitedUpper;
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public void setUnlimitedUpper(boolean newUnlimitedUpper)
182 {
183 boolean oldUnlimitedUpper = unlimitedUpper;
184 unlimitedUpper = newUnlimitedUpper;
185 if (eNotificationRequired())
186 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER, oldUnlimitedUpper, unlimitedUpper));
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public Object eGet(int featureID, boolean resolve, boolean coreType)
196 {
197 switch (featureID)
198 {
199 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER:
200 return getLower();
201 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER:
202 return getUpper();
203 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER:
204 return isUnlimitedUpper();
205 }
206 return super.eGet(featureID, resolve, coreType);
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 @Override
215 public void eSet(int featureID, Object newValue)
216 {
217 switch (featureID)
218 {
219 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER:
220 setLower((Integer)newValue);
221 return;
222 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER:
223 setUpper((Integer)newValue);
224 return;
225 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER:
226 setUnlimitedUpper((Boolean)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.MULTIPLICITY_DEFINITION__LOWER:
243 setLower(LOWER_EDEFAULT);
244 return;
245 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER:
246 setUpper(UPPER_EDEFAULT);
247 return;
248 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER:
249 setUnlimitedUpper(UNLIMITED_UPPER_EDEFAULT);
250 return;
251 }
252 super.eUnset(featureID);
253 }
254
255 /**
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 @Override
261 public boolean eIsSet(int featureID)
262 {
263 switch (featureID)
264 {
265 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER:
266 return lower != LOWER_EDEFAULT;
267 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER:
268 return upper != UPPER_EDEFAULT;
269 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER:
270 return unlimitedUpper != UNLIMITED_UPPER_EDEFAULT;
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 {
283 if (eIsProxy()) return super.toString();
284
285 StringBuilder result = new StringBuilder(super.toString());
286 result.append(" (lower: ");
287 result.append(lower);
288 result.append(", upper: ");
289 result.append(upper);
290 result.append(", unlimitedUpper: ");
291 result.append(unlimitedUpper);
292 result.append(')');
293 return result.toString();
294 }
295
296} //MultiplicityDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClosureTypeImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java
index 98136f79..935cf5be 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClosureTypeImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
@@ -7,24 +7,24 @@ import 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.ClosureType; 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>Closure Type</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 ClosureTypeImpl extends MinimalEObjectImpl.Container implements ClosureType 20public class MultiplicityImpl extends MinimalEObjectImpl.Container implements Multiplicity
21{ 21{
22 /** 22 /**
23 * <!-- begin-user-doc --> 23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc --> 24 * <!-- end-user-doc -->
25 * @generated 25 * @generated
26 */ 26 */
27 protected ClosureTypeImpl() 27 protected MultiplicityImpl()
28 { 28 {
29 super(); 29 super();
30 } 30 }
@@ -37,7 +37,7 @@ public class ClosureTypeImpl extends MinimalEObjectImpl.Container implements Clo
37 @Override 37 @Override
38 protected EClass eStaticClass() 38 protected EClass eStaticClass()
39 { 39 {
40 return SolverLanguagePackage.Literals.CLOSURE_TYPE; 40 return SolverLanguagePackage.Literals.MULTIPLICITY;
41 } 41 }
42 42
43} //ClosureTypeImpl 43} //MultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java
index 9d907661..a94f9894 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedObjectImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
@@ -8,24 +8,25 @@ import org.eclipse.emf.common.notify.Notification;
8import org.eclipse.emf.ecore.EClass; 8import org.eclipse.emf.ecore.EClass;
9 9
10import org.eclipse.emf.ecore.impl.ENotificationImpl; 10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
11 12
12import org.eclipse.viatra.solver.language.solverLanguage.NamedObject; 13import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14 15
15/** 16/**
16 * <!-- begin-user-doc --> 17 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Named Object</b></em>'. 18 * An implementation of the model object '<em><b>Named Element</b></em>'.
18 * <!-- end-user-doc --> 19 * <!-- end-user-doc -->
19 * <p> 20 * <p>
20 * The following features are implemented: 21 * The following features are implemented:
21 * </p> 22 * </p>
22 * <ul> 23 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl#getName <em>Name</em>}</li> 24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl#getName <em>Name</em>}</li>
24 * </ul> 25 * </ul>
25 * 26 *
26 * @generated 27 * @generated
27 */ 28 */
28public class NamedObjectImpl extends ObjectImpl implements NamedObject 29public class NamedElementImpl extends MinimalEObjectImpl.Container implements NamedElement
29{ 30{
30 /** 31 /**
31 * The default value of the '{@link #getName() <em>Name</em>}' attribute. 32 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
@@ -52,7 +53,7 @@ public class NamedObjectImpl extends ObjectImpl implements NamedObject
52 * <!-- end-user-doc --> 53 * <!-- end-user-doc -->
53 * @generated 54 * @generated
54 */ 55 */
55 protected NamedObjectImpl() 56 protected NamedElementImpl()
56 { 57 {
57 super(); 58 super();
58 } 59 }
@@ -65,7 +66,7 @@ public class NamedObjectImpl extends ObjectImpl implements NamedObject
65 @Override 66 @Override
66 protected EClass eStaticClass() 67 protected EClass eStaticClass()
67 { 68 {
68 return SolverLanguagePackage.Literals.NAMED_OBJECT; 69 return SolverLanguagePackage.Literals.NAMED_ELEMENT;
69 } 70 }
70 71
71 /** 72 /**
@@ -90,7 +91,7 @@ public class NamedObjectImpl extends ObjectImpl implements NamedObject
90 String oldName = name; 91 String oldName = name;
91 name = newName; 92 name = newName;
92 if (eNotificationRequired()) 93 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NAMED_OBJECT__NAME, oldName, name)); 94 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NAMED_ELEMENT__NAME, oldName, name));
94 } 95 }
95 96
96 /** 97 /**
@@ -103,7 +104,7 @@ public class NamedObjectImpl extends ObjectImpl implements NamedObject
103 { 104 {
104 switch (featureID) 105 switch (featureID)
105 { 106 {
106 case SolverLanguagePackage.NAMED_OBJECT__NAME: 107 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
107 return getName(); 108 return getName();
108 } 109 }
109 return super.eGet(featureID, resolve, coreType); 110 return super.eGet(featureID, resolve, coreType);
@@ -119,7 +120,7 @@ public class NamedObjectImpl extends ObjectImpl implements NamedObject
119 { 120 {
120 switch (featureID) 121 switch (featureID)
121 { 122 {
122 case SolverLanguagePackage.NAMED_OBJECT__NAME: 123 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
123 setName((String)newValue); 124 setName((String)newValue);
124 return; 125 return;
125 } 126 }
@@ -136,7 +137,7 @@ public class NamedObjectImpl extends ObjectImpl implements NamedObject
136 { 137 {
137 switch (featureID) 138 switch (featureID)
138 { 139 {
139 case SolverLanguagePackage.NAMED_OBJECT__NAME: 140 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
140 setName(NAME_EDEFAULT); 141 setName(NAME_EDEFAULT);
141 return; 142 return;
142 } 143 }
@@ -153,7 +154,7 @@ public class NamedObjectImpl extends ObjectImpl implements NamedObject
153 { 154 {
154 switch (featureID) 155 switch (featureID)
155 { 156 {
156 case SolverLanguagePackage.NAMED_OBJECT__NAME: 157 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
157 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); 158 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
158 } 159 }
159 return super.eIsSet(featureID); 160 return super.eIsSet(featureID);
@@ -176,4 +177,4 @@ public class NamedObjectImpl extends ObjectImpl implements NamedObject
176 return result.toString(); 177 return result.toString();
177 } 178 }
178 179
179} //NamedObjectImpl 180} //NamedElementImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java
index bc32a9a6..04622dfb 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealObjectImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
@@ -11,23 +11,23 @@ import org.eclipse.emf.ecore.EClass;
11 11
12import org.eclipse.emf.ecore.impl.ENotificationImpl; 12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13 13
14import org.eclipse.viatra.solver.language.solverLanguage.RealObject; 14import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16 16
17/** 17/**
18 * <!-- begin-user-doc --> 18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Real Object</b></em>'. 19 * An implementation of the model object '<em><b>Numeric Literal</b></em>'.
20 * <!-- end-user-doc --> 20 * <!-- end-user-doc -->
21 * <p> 21 * <p>
22 * The following features are implemented: 22 * The following features are implemented:
23 * </p> 23 * </p>
24 * <ul> 24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl#getValue <em>Value</em>}</li> 25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl#getValue <em>Value</em>}</li>
26 * </ul> 26 * </ul>
27 * 27 *
28 * @generated 28 * @generated
29 */ 29 */
30public class RealObjectImpl extends DataObjectImpl implements RealObject 30public class NumericLiteralImpl extends LiteralImpl implements NumericLiteral
31{ 31{
32 /** 32 /**
33 * The default value of the '{@link #getValue() <em>Value</em>}' attribute. 33 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
@@ -54,7 +54,7 @@ public class RealObjectImpl extends DataObjectImpl implements RealObject
54 * <!-- end-user-doc --> 54 * <!-- end-user-doc -->
55 * @generated 55 * @generated
56 */ 56 */
57 protected RealObjectImpl() 57 protected NumericLiteralImpl()
58 { 58 {
59 super(); 59 super();
60 } 60 }
@@ -67,7 +67,7 @@ public class RealObjectImpl extends DataObjectImpl implements RealObject
67 @Override 67 @Override
68 protected EClass eStaticClass() 68 protected EClass eStaticClass()
69 { 69 {
70 return SolverLanguagePackage.Literals.REAL_OBJECT; 70 return SolverLanguagePackage.Literals.NUMERIC_LITERAL;
71 } 71 }
72 72
73 /** 73 /**
@@ -92,7 +92,7 @@ public class RealObjectImpl extends DataObjectImpl implements RealObject
92 BigDecimal oldValue = value; 92 BigDecimal oldValue = value;
93 value = newValue; 93 value = newValue;
94 if (eNotificationRequired()) 94 if (eNotificationRequired())
95 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.REAL_OBJECT__VALUE, oldValue, value)); 95 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NUMERIC_LITERAL__VALUE, oldValue, value));
96 } 96 }
97 97
98 /** 98 /**
@@ -105,7 +105,7 @@ public class RealObjectImpl extends DataObjectImpl implements RealObject
105 { 105 {
106 switch (featureID) 106 switch (featureID)
107 { 107 {
108 case SolverLanguagePackage.REAL_OBJECT__VALUE: 108 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
109 return getValue(); 109 return getValue();
110 } 110 }
111 return super.eGet(featureID, resolve, coreType); 111 return super.eGet(featureID, resolve, coreType);
@@ -121,7 +121,7 @@ public class RealObjectImpl extends DataObjectImpl implements RealObject
121 { 121 {
122 switch (featureID) 122 switch (featureID)
123 { 123 {
124 case SolverLanguagePackage.REAL_OBJECT__VALUE: 124 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
125 setValue((BigDecimal)newValue); 125 setValue((BigDecimal)newValue);
126 return; 126 return;
127 } 127 }
@@ -138,7 +138,7 @@ public class RealObjectImpl extends DataObjectImpl implements RealObject
138 { 138 {
139 switch (featureID) 139 switch (featureID)
140 { 140 {
141 case SolverLanguagePackage.REAL_OBJECT__VALUE: 141 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
142 setValue(VALUE_EDEFAULT); 142 setValue(VALUE_EDEFAULT);
143 return; 143 return;
144 } 144 }
@@ -155,7 +155,7 @@ public class RealObjectImpl extends DataObjectImpl implements RealObject
155 { 155 {
156 switch (featureID) 156 switch (featureID)
157 { 157 {
158 case SolverLanguagePackage.REAL_OBJECT__VALUE: 158 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
159 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); 159 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
160 } 160 }
161 return super.eIsSet(featureID); 161 return super.eIsSet(featureID);
@@ -178,4 +178,4 @@ public class RealObjectImpl extends DataObjectImpl implements RealObject
178 return result.toString(); 178 return result.toString();
179 } 179 }
180 180
181} //RealObjectImpl 181} //NumericLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectImpl.java
deleted file mode 100644
index d2f9b8d9..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectImpl.java
+++ /dev/null
@@ -1,40 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Object</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class ObjectImpl extends ComplexObjectImpl implements org.eclipse.viatra.solver.language.solverLanguage.Object
18{
19 /**
20 * <!-- begin-user-doc -->
21 * <!-- end-user-doc -->
22 * @generated
23 */
24 protected ObjectImpl()
25 {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass()
36 {
37 return SolverLanguagePackage.Literals.OBJECT;
38 }
39
40} //ObjectImpl
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
new file mode 100644
index 00000000..43b16e31
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java
@@ -0,0 +1,270 @@
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/PartialitySymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PartialitySymbolImpl.java
deleted file mode 100644
index efc2c5f5..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PartialitySymbolImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Partiality Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class PartialitySymbolImpl extends SymbolImpl implements PartialitySymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected PartialitySymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.PARTIALITY_SYMBOL;
39 }
40
41} //PartialitySymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PositiveImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PositiveImpl.java
deleted file mode 100644
index 130cfe7a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PositiveImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.Positive;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Positive</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class PositiveImpl extends PolarityImpl implements Positive
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected PositiveImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.POSITIVE;
39 }
40
41} //PositiveImpl
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
new file mode 100644
index 00000000..50130f01
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java
@@ -0,0 +1,400 @@
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/PredicateImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java
deleted file mode 100644
index d3c7366d..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java
+++ /dev/null
@@ -1,357 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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.ModelSymbol;
22import org.eclipse.viatra.solver.language.solverLanguage.Parameter;
23import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
24import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
25import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model object '<em><b>Predicate</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.PredicateImpl#isIsError <em>Is Error</em>}</li>
36 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getSymbol <em>Symbol</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getParameters <em>Parameters</em>}</li>
38 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getBodies <em>Bodies</em>}</li>
39 * </ul>
40 *
41 * @generated
42 */
43public class PredicateImpl extends StatementImpl implements Predicate
44{
45 /**
46 * The default value of the '{@link #isIsError() <em>Is Error</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #isIsError()
50 * @generated
51 * @ordered
52 */
53 protected static final boolean IS_ERROR_EDEFAULT = false;
54
55 /**
56 * The cached value of the '{@link #isIsError() <em>Is Error</em>}' attribute.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #isIsError()
60 * @generated
61 * @ordered
62 */
63 protected boolean isError = IS_ERROR_EDEFAULT;
64
65 /**
66 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #getSymbol()
70 * @generated
71 * @ordered
72 */
73 protected ModelSymbol symbol;
74
75 /**
76 * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list.
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @see #getParameters()
80 * @generated
81 * @ordered
82 */
83 protected EList<Parameter> parameters;
84
85 /**
86 * The cached value of the '{@link #getBodies() <em>Bodies</em>}' containment reference list.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @see #getBodies()
90 * @generated
91 * @ordered
92 */
93 protected EList<PatternBody> bodies;
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 protected PredicateImpl()
101 {
102 super();
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 protected EClass eStaticClass()
112 {
113 return SolverLanguagePackage.Literals.PREDICATE;
114 }
115
116 /**
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 */
121 @Override
122 public boolean isIsError()
123 {
124 return isError;
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 @Override
133 public void setIsError(boolean newIsError)
134 {
135 boolean oldIsError = isError;
136 isError = newIsError;
137 if (eNotificationRequired())
138 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE__IS_ERROR, oldIsError, isError));
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 @Override
147 public ModelSymbol getSymbol()
148 {
149 return symbol;
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
158 {
159 ModelSymbol oldSymbol = symbol;
160 symbol = newSymbol;
161 if (eNotificationRequired())
162 {
163 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE__SYMBOL, oldSymbol, newSymbol);
164 if (msgs == null) msgs = notification; else msgs.add(notification);
165 }
166 return msgs;
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 @Override
175 public void setSymbol(ModelSymbol newSymbol)
176 {
177 if (newSymbol != symbol)
178 {
179 NotificationChain msgs = null;
180 if (symbol != null)
181 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE__SYMBOL, null, msgs);
182 if (newSymbol != null)
183 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE__SYMBOL, null, msgs);
184 msgs = basicSetSymbol(newSymbol, msgs);
185 if (msgs != null) msgs.dispatch();
186 }
187 else if (eNotificationRequired())
188 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE__SYMBOL, newSymbol, newSymbol));
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @Override
197 public EList<Parameter> getParameters()
198 {
199 if (parameters == null)
200 {
201 parameters = new EObjectContainmentEList<Parameter>(Parameter.class, this, SolverLanguagePackage.PREDICATE__PARAMETERS);
202 }
203 return parameters;
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public EList<PatternBody> getBodies()
213 {
214 if (bodies == null)
215 {
216 bodies = new EObjectContainmentEList<PatternBody>(PatternBody.class, this, SolverLanguagePackage.PREDICATE__BODIES);
217 }
218 return bodies;
219 }
220
221 /**
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 */
226 @Override
227 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
228 {
229 switch (featureID)
230 {
231 case SolverLanguagePackage.PREDICATE__SYMBOL:
232 return basicSetSymbol(null, msgs);
233 case SolverLanguagePackage.PREDICATE__PARAMETERS:
234 return ((InternalEList<?>)getParameters()).basicRemove(otherEnd, msgs);
235 case SolverLanguagePackage.PREDICATE__BODIES:
236 return ((InternalEList<?>)getBodies()).basicRemove(otherEnd, msgs);
237 }
238 return super.eInverseRemove(otherEnd, featureID, msgs);
239 }
240
241 /**
242 * <!-- begin-user-doc -->
243 * <!-- end-user-doc -->
244 * @generated
245 */
246 @Override
247 public Object eGet(int featureID, boolean resolve, boolean coreType)
248 {
249 switch (featureID)
250 {
251 case SolverLanguagePackage.PREDICATE__IS_ERROR:
252 return isIsError();
253 case SolverLanguagePackage.PREDICATE__SYMBOL:
254 return getSymbol();
255 case SolverLanguagePackage.PREDICATE__PARAMETERS:
256 return getParameters();
257 case SolverLanguagePackage.PREDICATE__BODIES:
258 return getBodies();
259 }
260 return super.eGet(featureID, resolve, coreType);
261 }
262
263 /**
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @generated
267 */
268 @SuppressWarnings("unchecked")
269 @Override
270 public void eSet(int featureID, Object newValue)
271 {
272 switch (featureID)
273 {
274 case SolverLanguagePackage.PREDICATE__IS_ERROR:
275 setIsError((Boolean)newValue);
276 return;
277 case SolverLanguagePackage.PREDICATE__SYMBOL:
278 setSymbol((ModelSymbol)newValue);
279 return;
280 case SolverLanguagePackage.PREDICATE__PARAMETERS:
281 getParameters().clear();
282 getParameters().addAll((Collection<? extends Parameter>)newValue);
283 return;
284 case SolverLanguagePackage.PREDICATE__BODIES:
285 getBodies().clear();
286 getBodies().addAll((Collection<? extends PatternBody>)newValue);
287 return;
288 }
289 super.eSet(featureID, newValue);
290 }
291
292 /**
293 * <!-- begin-user-doc -->
294 * <!-- end-user-doc -->
295 * @generated
296 */
297 @Override
298 public void eUnset(int featureID)
299 {
300 switch (featureID)
301 {
302 case SolverLanguagePackage.PREDICATE__IS_ERROR:
303 setIsError(IS_ERROR_EDEFAULT);
304 return;
305 case SolverLanguagePackage.PREDICATE__SYMBOL:
306 setSymbol((ModelSymbol)null);
307 return;
308 case SolverLanguagePackage.PREDICATE__PARAMETERS:
309 getParameters().clear();
310 return;
311 case SolverLanguagePackage.PREDICATE__BODIES:
312 getBodies().clear();
313 return;
314 }
315 super.eUnset(featureID);
316 }
317
318 /**
319 * <!-- begin-user-doc -->
320 * <!-- end-user-doc -->
321 * @generated
322 */
323 @Override
324 public boolean eIsSet(int featureID)
325 {
326 switch (featureID)
327 {
328 case SolverLanguagePackage.PREDICATE__IS_ERROR:
329 return isError != IS_ERROR_EDEFAULT;
330 case SolverLanguagePackage.PREDICATE__SYMBOL:
331 return symbol != null;
332 case SolverLanguagePackage.PREDICATE__PARAMETERS:
333 return parameters != null && !parameters.isEmpty();
334 case SolverLanguagePackage.PREDICATE__BODIES:
335 return bodies != null && !bodies.isEmpty();
336 }
337 return super.eIsSet(featureID);
338 }
339
340 /**
341 * <!-- begin-user-doc -->
342 * <!-- end-user-doc -->
343 * @generated
344 */
345 @Override
346 public String toString()
347 {
348 if (eIsProxy()) return super.toString();
349
350 StringBuilder result = new StringBuilder(super.toString());
351 result.append(" (isError: ");
352 result.append(isError);
353 result.append(')');
354 return result.toString();
355 }
356
357} //PredicateImpl
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
index e5cc3585..744e604d 100644
--- 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
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealSymbolImpl.java
deleted file mode 100644
index 8cfd0980..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealSymbolImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Real Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class RealSymbolImpl extends DataSymbolImpl implements RealSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected RealSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.REAL_SYMBOL;
39 }
40
41} //RealSymbolImpl
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
new file mode 100644
index 00000000..be44c0e9
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java
@@ -0,0 +1,175 @@
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/ReflexiveClosureImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReflexiveClosureImpl.java
deleted file mode 100644
index 111b48cb..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReflexiveClosureImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Reflexive Closure</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class ReflexiveClosureImpl extends ClosureTypeImpl implements ReflexiveClosure
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected ReflexiveClosureImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.REFLEXIVE_CLOSURE;
39 }
40
41} //ReflexiveClosureImpl
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
new file mode 100644
index 00000000..be109307
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java
@@ -0,0 +1,175 @@
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
index 5cb1dcdc..8a5976c2 100644
--- 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
@@ -1,9 +1,10 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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;
7import org.eclipse.emf.ecore.EDataType;
7import org.eclipse.emf.ecore.EObject; 8import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EPackage; 9import org.eclipse.emf.ecore.EPackage;
9 10
@@ -11,58 +12,7 @@ import org.eclipse.emf.ecore.impl.EFactoryImpl;
11 12
12import org.eclipse.emf.ecore.plugin.EcorePlugin; 13import org.eclipse.emf.ecore.plugin.EcorePlugin;
13 14
14import org.eclipse.viatra.solver.language.solverLanguage.AllInstances; 15import org.eclipse.viatra.solver.language.solverLanguage.*;
15import org.eclipse.viatra.solver.language.solverLanguage.AllObjects;
16import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation;
17import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse;
18import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject;
19import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol;
20import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue;
21import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue;
22import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation;
23import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation;
24import org.eclipse.viatra.solver.language.solverLanguage.ClosureType;
25import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject;
26import org.eclipse.viatra.solver.language.solverLanguage.Constraint;
27import org.eclipse.viatra.solver.language.solverLanguage.DataObject;
28import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol;
29import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation;
30import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
31import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
32import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
33import org.eclipse.viatra.solver.language.solverLanguage.False;
34import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
35import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation;
36import org.eclipse.viatra.solver.language.solverLanguage.IntObject;
37import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol;
38import org.eclipse.viatra.solver.language.solverLanguage.Interpretation;
39import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure;
40import org.eclipse.viatra.solver.language.solverLanguage.Literal;
41import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
42import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
43import org.eclipse.viatra.solver.language.solverLanguage.NamedObject;
44import org.eclipse.viatra.solver.language.solverLanguage.Negative;
45import org.eclipse.viatra.solver.language.solverLanguage.Parameter;
46import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol;
47import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
48import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
49import org.eclipse.viatra.solver.language.solverLanguage.Positive;
50import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
51import org.eclipse.viatra.solver.language.solverLanguage.Problem;
52import org.eclipse.viatra.solver.language.solverLanguage.RealObject;
53import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
54import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure;
55import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory;
56import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
57import org.eclipse.viatra.solver.language.solverLanguage.Statement;
58import org.eclipse.viatra.solver.language.solverLanguage.StringObject;
59import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol;
60import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
61import org.eclipse.viatra.solver.language.solverLanguage.True;
62import org.eclipse.viatra.solver.language.solverLanguage.TruthValue;
63import org.eclipse.viatra.solver.language.solverLanguage.Unknown;
64import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject;
65import org.eclipse.viatra.solver.language.solverLanguage.Variable;
66 16
67/** 17/**
68 * <!-- begin-user-doc --> 18 * <!-- begin-user-doc -->
@@ -118,56 +68,50 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
118 { 68 {
119 case SolverLanguagePackage.PROBLEM: return createProblem(); 69 case SolverLanguagePackage.PROBLEM: return createProblem();
120 case SolverLanguagePackage.STATEMENT: return createStatement(); 70 case SolverLanguagePackage.STATEMENT: return createStatement();
121 case SolverLanguagePackage.BOOLEAN_VALUE: return createBooleanValue(); 71 case SolverLanguagePackage.PREDICATE_DEFINITION: return createPredicateDefinition();
122 case SolverLanguagePackage.TRUTH_VALUE: return createTruthValue(); 72 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: return createUnnamedErrorPrediateDefinition();
123 case SolverLanguagePackage.INTERPRETATION: return createInterpretation(); 73 case SolverLanguagePackage.DEFAULT_DEFINITION: return createDefaultDefinition();
124 case SolverLanguagePackage.BASIC_INTERPRETATION: return createBasicInterpretation(); 74 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION: return createExternPredicateDefinition();
125 case SolverLanguagePackage.SYMBOL: return createSymbol(); 75 case SolverLanguagePackage.METRIC_DEFINITION: return createMetricDefinition();
126 case SolverLanguagePackage.MODEL_SYMBOL: return createModelSymbol(); 76 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: return createExternMetricDefinition();
127 case SolverLanguagePackage.PARTIALITY_SYMBOL: return createPartialitySymbol(); 77 case SolverLanguagePackage.EXPRESSION: return createExpression();
128 case SolverLanguagePackage.EXIST_SYMBOL: return createExistSymbol(); 78 case SolverLanguagePackage.IF_ELSE: return createIfElse();
129 case SolverLanguagePackage.EQUALS_SYMBOL: return createEqualsSymbol(); 79 case SolverLanguagePackage.CASE: return createCase();
130 case SolverLanguagePackage.DATA_SYMBOL: return createDataSymbol(); 80 case SolverLanguagePackage.COUNT: return createCount();
131 case SolverLanguagePackage.BOOLEAN_SYMBOL: return createBooleanSymbol(); 81 case SolverLanguagePackage.AGGREGATION: return createAggregation();
132 case SolverLanguagePackage.INTEGER_SYMBOL: return createIntegerSymbol(); 82 case SolverLanguagePackage.CALL: return createCall();
133 case SolverLanguagePackage.REAL_SYMBOL: return createRealSymbol(); 83 case SolverLanguagePackage.ARGUMENT_LIST: return createArgumentList();
134 case SolverLanguagePackage.STRING_SYMBOL: return createStringSymbol(); 84 case SolverLanguagePackage.ARGUMENT: return createArgument();
135 case SolverLanguagePackage.COMPLEX_OBJECT: return createComplexObject(); 85 case SolverLanguagePackage.EXPRESSION_ARGUMENT: return createExpressionArgument();
136 case SolverLanguagePackage.OBJECT: return createObject(); 86 case SolverLanguagePackage.STAR_ARGUMENT: return createStarArgument();
137 case SolverLanguagePackage.NAMED_OBJECT: return createNamedObject(); 87 case SolverLanguagePackage.TYPED_ARGUMENT: return createTypedArgument();
138 case SolverLanguagePackage.UNNAMED_OBJECT: return createUnnamedObject(); 88 case SolverLanguagePackage.TYPED_STAR_ARGUMENT: return createTypedStarArgument();
139 case SolverLanguagePackage.DATA_OBJECT: return createDataObject(); 89 case SolverLanguagePackage.REFERENCE: return createReference();
140 case SolverLanguagePackage.BOOLEAN_OBJECT: return createBooleanObject(); 90 case SolverLanguagePackage.INTERVAL: return createInterval();
141 case SolverLanguagePackage.INT_OBJECT: return createIntObject();
142 case SolverLanguagePackage.REAL_OBJECT: return createRealObject();
143 case SolverLanguagePackage.STRING_OBJECT: return createStringObject();
144 case SolverLanguagePackage.PREDICATE: return createPredicate();
145 case SolverLanguagePackage.PARAMETER: return createParameter();
146 case SolverLanguagePackage.PATTERN_BODY: return createPatternBody();
147 case SolverLanguagePackage.POLARITY: return createPolarity();
148 case SolverLanguagePackage.CONSTRAINT: return createConstraint();
149 case SolverLanguagePackage.CLOSURE_TYPE: return createClosureType();
150 case SolverLanguagePackage.LITERAL: return createLiteral(); 91 case SolverLanguagePackage.LITERAL: return createLiteral();
151 case SolverLanguagePackage.VARIABLE: return createVariable(); 92 case SolverLanguagePackage.LOGIC_LITERAL: return createLogicLiteral();
152 case SolverLanguagePackage.ALL_INSTANCES: return createAllInstances(); 93 case SolverLanguagePackage.NUMERIC_LITERAL: return createNumericLiteral();
153 case SolverLanguagePackage.ALL_OBJECTS: return createAllObjects(); 94 case SolverLanguagePackage.INFINITY_LITERAL: return createInfinityLiteral();
154 case SolverLanguagePackage.DEFAULT_INTERPRETATION: return createDefaultInterpretation(); 95 case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL: return createEmptyIntervalLiteral();
155 case SolverLanguagePackage.CD_INTERPRETATION: return createCDInterpretation(); 96 case SolverLanguagePackage.STRING_LITERAL: return createStringLiteral();
156 case SolverLanguagePackage.CLASS_INTERPRETATION: return createClassInterpretation(); 97 case SolverLanguagePackage.MEMBER_DEFINITION: return createMemberDefinition();
157 case SolverLanguagePackage.ENUM_INTERPRETATION: return createEnumInterpretation(); 98 case SolverLanguagePackage.MULTIPLICITY: return createMultiplicity();
158 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION: return createFieldRelationInterpretation(); 99 case SolverLanguagePackage.MANY_MULTIPLICITY: return createManyMultiplicity();
159 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION: return createGlobalRelationInterpretation(); 100 case SolverLanguagePackage.EXACT_MULTIPLICITY: return createExactMultiplicity();
160 case SolverLanguagePackage.MULTIPLICITY_DEFINITION: return createMultiplicityDefinition(); 101 case SolverLanguagePackage.BOUNDED_MULTIPLICITY: return createBoundedMultiplicity();
161 case SolverLanguagePackage.BOOLEAN_TRUE: return createBooleanTrue(); 102 case SolverLanguagePackage.SCOPE_DEFINITION: return createScopeDefinition();
162 case SolverLanguagePackage.BOOLEAN_FALSE: return createBooleanFalse(); 103 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION: return createExactScopeDefinition();
163 case SolverLanguagePackage.TRUE: return createTrue(); 104 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION: return createBoundedScopeDefinition();
164 case SolverLanguagePackage.FALSE: return createFalse(); 105 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION: return createLowerBoundedScopeDefinition();
165 case SolverLanguagePackage.UNKNOWN: return createUnknown(); 106 case SolverLanguagePackage.OBJECTIVE_DEFINITION: return createObjectiveDefinition();
166 case SolverLanguagePackage.ERROR: return createError(); 107 case SolverLanguagePackage.NAMED_ELEMENT: return createNamedElement();
167 case SolverLanguagePackage.POSITIVE: return createPositive(); 108 case SolverLanguagePackage.ASSERTION: return createAssertion();
168 case SolverLanguagePackage.NEGATIVE: return createNegative(); 109 case SolverLanguagePackage.DISJUNCTION: return createDisjunction();
169 case SolverLanguagePackage.REFLEXIVE_CLOSURE: return createReflexiveClosure(); 110 case SolverLanguagePackage.SWITCH: return createSwitch();
170 case SolverLanguagePackage.IRREFLEXIVE_CLOSURE: return createIrreflexiveClosure(); 111 case SolverLanguagePackage.CONJUNCTION: return createConjunction();
112 case SolverLanguagePackage.COMPARISON: return createComparison();
113 case SolverLanguagePackage.BINARY_EXPRESSION: return createBinaryExpression();
114 case SolverLanguagePackage.UNARY_EXPRESSION: return createUnaryExpression();
171 default: 115 default:
172 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); 116 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
173 } 117 }
@@ -179,6 +123,60 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
179 * @generated 123 * @generated
180 */ 124 */
181 @Override 125 @Override
126 public Object createFromString(EDataType eDataType, String initialValue)
127 {
128 switch (eDataType.getClassifierID())
129 {
130 case SolverLanguagePackage.METRIC_TYPE:
131 return createMetricTypeFromString(eDataType, initialValue);
132 case SolverLanguagePackage.BINARY_OPERATOR:
133 return createBinaryOperatorFromString(eDataType, initialValue);
134 case SolverLanguagePackage.UNARY_OP:
135 return createUnaryOpFromString(eDataType, initialValue);
136 case SolverLanguagePackage.AGGREGATION_OP:
137 return createAggregationOpFromString(eDataType, initialValue);
138 case SolverLanguagePackage.LOGIC_VALUE:
139 return createLogicValueFromString(eDataType, initialValue);
140 case SolverLanguagePackage.OBJECTIVE_KIND:
141 return createObjectiveKindFromString(eDataType, initialValue);
142 default:
143 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
144 }
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public String convertToString(EDataType eDataType, Object instanceValue)
154 {
155 switch (eDataType.getClassifierID())
156 {
157 case SolverLanguagePackage.METRIC_TYPE:
158 return convertMetricTypeToString(eDataType, instanceValue);
159 case SolverLanguagePackage.BINARY_OPERATOR:
160 return convertBinaryOperatorToString(eDataType, instanceValue);
161 case SolverLanguagePackage.UNARY_OP:
162 return convertUnaryOpToString(eDataType, instanceValue);
163 case SolverLanguagePackage.AGGREGATION_OP:
164 return convertAggregationOpToString(eDataType, instanceValue);
165 case SolverLanguagePackage.LOGIC_VALUE:
166 return convertLogicValueToString(eDataType, instanceValue);
167 case SolverLanguagePackage.OBJECTIVE_KIND:
168 return convertObjectiveKindToString(eDataType, instanceValue);
169 default:
170 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
171 }
172 }
173
174 /**
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 */
179 @Override
182 public Problem createProblem() 180 public Problem createProblem()
183 { 181 {
184 ProblemImpl problem = new ProblemImpl(); 182 ProblemImpl problem = new ProblemImpl();
@@ -203,10 +201,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
203 * @generated 201 * @generated
204 */ 202 */
205 @Override 203 @Override
206 public BooleanValue createBooleanValue() 204 public PredicateDefinition createPredicateDefinition()
207 { 205 {
208 BooleanValueImpl booleanValue = new BooleanValueImpl(); 206 PredicateDefinitionImpl predicateDefinition = new PredicateDefinitionImpl();
209 return booleanValue; 207 return predicateDefinition;
210 } 208 }
211 209
212 /** 210 /**
@@ -215,10 +213,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
215 * @generated 213 * @generated
216 */ 214 */
217 @Override 215 @Override
218 public TruthValue createTruthValue() 216 public UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition()
219 { 217 {
220 TruthValueImpl truthValue = new TruthValueImpl(); 218 UnnamedErrorPrediateDefinitionImpl unnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionImpl();
221 return truthValue; 219 return unnamedErrorPrediateDefinition;
222 } 220 }
223 221
224 /** 222 /**
@@ -227,10 +225,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
227 * @generated 225 * @generated
228 */ 226 */
229 @Override 227 @Override
230 public Interpretation createInterpretation() 228 public DefaultDefinition createDefaultDefinition()
231 { 229 {
232 InterpretationImpl interpretation = new InterpretationImpl(); 230 DefaultDefinitionImpl defaultDefinition = new DefaultDefinitionImpl();
233 return interpretation; 231 return defaultDefinition;
234 } 232 }
235 233
236 /** 234 /**
@@ -239,10 +237,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
239 * @generated 237 * @generated
240 */ 238 */
241 @Override 239 @Override
242 public BasicInterpretation createBasicInterpretation() 240 public ExternPredicateDefinition createExternPredicateDefinition()
243 { 241 {
244 BasicInterpretationImpl basicInterpretation = new BasicInterpretationImpl(); 242 ExternPredicateDefinitionImpl externPredicateDefinition = new ExternPredicateDefinitionImpl();
245 return basicInterpretation; 243 return externPredicateDefinition;
246 } 244 }
247 245
248 /** 246 /**
@@ -251,10 +249,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
251 * @generated 249 * @generated
252 */ 250 */
253 @Override 251 @Override
254 public Symbol createSymbol() 252 public MetricDefinition createMetricDefinition()
255 { 253 {
256 SymbolImpl symbol = new SymbolImpl(); 254 MetricDefinitionImpl metricDefinition = new MetricDefinitionImpl();
257 return symbol; 255 return metricDefinition;
258 } 256 }
259 257
260 /** 258 /**
@@ -263,10 +261,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
263 * @generated 261 * @generated
264 */ 262 */
265 @Override 263 @Override
266 public ModelSymbol createModelSymbol() 264 public ExternMetricDefinition createExternMetricDefinition()
267 { 265 {
268 ModelSymbolImpl modelSymbol = new ModelSymbolImpl(); 266 ExternMetricDefinitionImpl externMetricDefinition = new ExternMetricDefinitionImpl();
269 return modelSymbol; 267 return externMetricDefinition;
270 } 268 }
271 269
272 /** 270 /**
@@ -275,10 +273,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
275 * @generated 273 * @generated
276 */ 274 */
277 @Override 275 @Override
278 public PartialitySymbol createPartialitySymbol() 276 public Expression createExpression()
279 { 277 {
280 PartialitySymbolImpl partialitySymbol = new PartialitySymbolImpl(); 278 ExpressionImpl expression = new ExpressionImpl();
281 return partialitySymbol; 279 return expression;
282 } 280 }
283 281
284 /** 282 /**
@@ -287,10 +285,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
287 * @generated 285 * @generated
288 */ 286 */
289 @Override 287 @Override
290 public ExistSymbol createExistSymbol() 288 public IfElse createIfElse()
291 { 289 {
292 ExistSymbolImpl existSymbol = new ExistSymbolImpl(); 290 IfElseImpl ifElse = new IfElseImpl();
293 return existSymbol; 291 return ifElse;
294 } 292 }
295 293
296 /** 294 /**
@@ -299,10 +297,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
299 * @generated 297 * @generated
300 */ 298 */
301 @Override 299 @Override
302 public EqualsSymbol createEqualsSymbol() 300 public Case createCase()
303 { 301 {
304 EqualsSymbolImpl equalsSymbol = new EqualsSymbolImpl(); 302 CaseImpl case_ = new CaseImpl();
305 return equalsSymbol; 303 return case_;
306 } 304 }
307 305
308 /** 306 /**
@@ -311,10 +309,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
311 * @generated 309 * @generated
312 */ 310 */
313 @Override 311 @Override
314 public DataSymbol createDataSymbol() 312 public Count createCount()
315 { 313 {
316 DataSymbolImpl dataSymbol = new DataSymbolImpl(); 314 CountImpl count = new CountImpl();
317 return dataSymbol; 315 return count;
318 } 316 }
319 317
320 /** 318 /**
@@ -323,10 +321,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
323 * @generated 321 * @generated
324 */ 322 */
325 @Override 323 @Override
326 public BooleanSymbol createBooleanSymbol() 324 public Aggregation createAggregation()
327 { 325 {
328 BooleanSymbolImpl booleanSymbol = new BooleanSymbolImpl(); 326 AggregationImpl aggregation = new AggregationImpl();
329 return booleanSymbol; 327 return aggregation;
330 } 328 }
331 329
332 /** 330 /**
@@ -335,10 +333,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
335 * @generated 333 * @generated
336 */ 334 */
337 @Override 335 @Override
338 public IntegerSymbol createIntegerSymbol() 336 public Call createCall()
339 { 337 {
340 IntegerSymbolImpl integerSymbol = new IntegerSymbolImpl(); 338 CallImpl call = new CallImpl();
341 return integerSymbol; 339 return call;
342 } 340 }
343 341
344 /** 342 /**
@@ -347,10 +345,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
347 * @generated 345 * @generated
348 */ 346 */
349 @Override 347 @Override
350 public RealSymbol createRealSymbol() 348 public ArgumentList createArgumentList()
351 { 349 {
352 RealSymbolImpl realSymbol = new RealSymbolImpl(); 350 ArgumentListImpl argumentList = new ArgumentListImpl();
353 return realSymbol; 351 return argumentList;
354 } 352 }
355 353
356 /** 354 /**
@@ -359,10 +357,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
359 * @generated 357 * @generated
360 */ 358 */
361 @Override 359 @Override
362 public StringSymbol createStringSymbol() 360 public Argument createArgument()
363 { 361 {
364 StringSymbolImpl stringSymbol = new StringSymbolImpl(); 362 ArgumentImpl argument = new ArgumentImpl();
365 return stringSymbol; 363 return argument;
366 } 364 }
367 365
368 /** 366 /**
@@ -371,10 +369,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
371 * @generated 369 * @generated
372 */ 370 */
373 @Override 371 @Override
374 public ComplexObject createComplexObject() 372 public ExpressionArgument createExpressionArgument()
375 { 373 {
376 ComplexObjectImpl complexObject = new ComplexObjectImpl(); 374 ExpressionArgumentImpl expressionArgument = new ExpressionArgumentImpl();
377 return complexObject; 375 return expressionArgument;
378 } 376 }
379 377
380 /** 378 /**
@@ -383,10 +381,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
383 * @generated 381 * @generated
384 */ 382 */
385 @Override 383 @Override
386 public org.eclipse.viatra.solver.language.solverLanguage.Object createObject() 384 public StarArgument createStarArgument()
387 { 385 {
388 ObjectImpl object = new ObjectImpl(); 386 StarArgumentImpl starArgument = new StarArgumentImpl();
389 return object; 387 return starArgument;
390 } 388 }
391 389
392 /** 390 /**
@@ -395,10 +393,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
395 * @generated 393 * @generated
396 */ 394 */
397 @Override 395 @Override
398 public NamedObject createNamedObject() 396 public TypedArgument createTypedArgument()
399 { 397 {
400 NamedObjectImpl namedObject = new NamedObjectImpl(); 398 TypedArgumentImpl typedArgument = new TypedArgumentImpl();
401 return namedObject; 399 return typedArgument;
402 } 400 }
403 401
404 /** 402 /**
@@ -407,10 +405,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
407 * @generated 405 * @generated
408 */ 406 */
409 @Override 407 @Override
410 public UnnamedObject createUnnamedObject() 408 public TypedStarArgument createTypedStarArgument()
411 { 409 {
412 UnnamedObjectImpl unnamedObject = new UnnamedObjectImpl(); 410 TypedStarArgumentImpl typedStarArgument = new TypedStarArgumentImpl();
413 return unnamedObject; 411 return typedStarArgument;
414 } 412 }
415 413
416 /** 414 /**
@@ -419,10 +417,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
419 * @generated 417 * @generated
420 */ 418 */
421 @Override 419 @Override
422 public DataObject createDataObject() 420 public Reference createReference()
423 { 421 {
424 DataObjectImpl dataObject = new DataObjectImpl(); 422 ReferenceImpl reference = new ReferenceImpl();
425 return dataObject; 423 return reference;
426 } 424 }
427 425
428 /** 426 /**
@@ -431,10 +429,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
431 * @generated 429 * @generated
432 */ 430 */
433 @Override 431 @Override
434 public BooleanObject createBooleanObject() 432 public Interval createInterval()
435 { 433 {
436 BooleanObjectImpl booleanObject = new BooleanObjectImpl(); 434 IntervalImpl interval = new IntervalImpl();
437 return booleanObject; 435 return interval;
438 } 436 }
439 437
440 /** 438 /**
@@ -443,10 +441,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
443 * @generated 441 * @generated
444 */ 442 */
445 @Override 443 @Override
446 public IntObject createIntObject() 444 public Literal createLiteral()
447 { 445 {
448 IntObjectImpl intObject = new IntObjectImpl(); 446 LiteralImpl literal = new LiteralImpl();
449 return intObject; 447 return literal;
450 } 448 }
451 449
452 /** 450 /**
@@ -455,10 +453,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
455 * @generated 453 * @generated
456 */ 454 */
457 @Override 455 @Override
458 public RealObject createRealObject() 456 public LogicLiteral createLogicLiteral()
459 { 457 {
460 RealObjectImpl realObject = new RealObjectImpl(); 458 LogicLiteralImpl logicLiteral = new LogicLiteralImpl();
461 return realObject; 459 return logicLiteral;
462 } 460 }
463 461
464 /** 462 /**
@@ -467,10 +465,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
467 * @generated 465 * @generated
468 */ 466 */
469 @Override 467 @Override
470 public StringObject createStringObject() 468 public NumericLiteral createNumericLiteral()
471 { 469 {
472 StringObjectImpl stringObject = new StringObjectImpl(); 470 NumericLiteralImpl numericLiteral = new NumericLiteralImpl();
473 return stringObject; 471 return numericLiteral;
474 } 472 }
475 473
476 /** 474 /**
@@ -479,10 +477,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
479 * @generated 477 * @generated
480 */ 478 */
481 @Override 479 @Override
482 public Predicate createPredicate() 480 public InfinityLiteral createInfinityLiteral()
483 { 481 {
484 PredicateImpl predicate = new PredicateImpl(); 482 InfinityLiteralImpl infinityLiteral = new InfinityLiteralImpl();
485 return predicate; 483 return infinityLiteral;
486 } 484 }
487 485
488 /** 486 /**
@@ -491,10 +489,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
491 * @generated 489 * @generated
492 */ 490 */
493 @Override 491 @Override
494 public Parameter createParameter() 492 public EmptyIntervalLiteral createEmptyIntervalLiteral()
495 { 493 {
496 ParameterImpl parameter = new ParameterImpl(); 494 EmptyIntervalLiteralImpl emptyIntervalLiteral = new EmptyIntervalLiteralImpl();
497 return parameter; 495 return emptyIntervalLiteral;
498 } 496 }
499 497
500 /** 498 /**
@@ -503,10 +501,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
503 * @generated 501 * @generated
504 */ 502 */
505 @Override 503 @Override
506 public PatternBody createPatternBody() 504 public StringLiteral createStringLiteral()
507 { 505 {
508 PatternBodyImpl patternBody = new PatternBodyImpl(); 506 StringLiteralImpl stringLiteral = new StringLiteralImpl();
509 return patternBody; 507 return stringLiteral;
510 } 508 }
511 509
512 /** 510 /**
@@ -515,10 +513,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
515 * @generated 513 * @generated
516 */ 514 */
517 @Override 515 @Override
518 public Polarity createPolarity() 516 public MemberDefinition createMemberDefinition()
519 { 517 {
520 PolarityImpl polarity = new PolarityImpl(); 518 MemberDefinitionImpl memberDefinition = new MemberDefinitionImpl();
521 return polarity; 519 return memberDefinition;
522 } 520 }
523 521
524 /** 522 /**
@@ -527,10 +525,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
527 * @generated 525 * @generated
528 */ 526 */
529 @Override 527 @Override
530 public Constraint createConstraint() 528 public Multiplicity createMultiplicity()
531 { 529 {
532 ConstraintImpl constraint = new ConstraintImpl(); 530 MultiplicityImpl multiplicity = new MultiplicityImpl();
533 return constraint; 531 return multiplicity;
534 } 532 }
535 533
536 /** 534 /**
@@ -539,10 +537,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
539 * @generated 537 * @generated
540 */ 538 */
541 @Override 539 @Override
542 public ClosureType createClosureType() 540 public ManyMultiplicity createManyMultiplicity()
543 { 541 {
544 ClosureTypeImpl closureType = new ClosureTypeImpl(); 542 ManyMultiplicityImpl manyMultiplicity = new ManyMultiplicityImpl();
545 return closureType; 543 return manyMultiplicity;
546 } 544 }
547 545
548 /** 546 /**
@@ -551,10 +549,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
551 * @generated 549 * @generated
552 */ 550 */
553 @Override 551 @Override
554 public Literal createLiteral() 552 public ExactMultiplicity createExactMultiplicity()
555 { 553 {
556 LiteralImpl literal = new LiteralImpl(); 554 ExactMultiplicityImpl exactMultiplicity = new ExactMultiplicityImpl();
557 return literal; 555 return exactMultiplicity;
558 } 556 }
559 557
560 /** 558 /**
@@ -563,10 +561,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
563 * @generated 561 * @generated
564 */ 562 */
565 @Override 563 @Override
566 public Variable createVariable() 564 public BoundedMultiplicity createBoundedMultiplicity()
567 { 565 {
568 VariableImpl variable = new VariableImpl(); 566 BoundedMultiplicityImpl boundedMultiplicity = new BoundedMultiplicityImpl();
569 return variable; 567 return boundedMultiplicity;
570 } 568 }
571 569
572 /** 570 /**
@@ -575,10 +573,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
575 * @generated 573 * @generated
576 */ 574 */
577 @Override 575 @Override
578 public AllInstances createAllInstances() 576 public ScopeDefinition createScopeDefinition()
579 { 577 {
580 AllInstancesImpl allInstances = new AllInstancesImpl(); 578 ScopeDefinitionImpl scopeDefinition = new ScopeDefinitionImpl();
581 return allInstances; 579 return scopeDefinition;
582 } 580 }
583 581
584 /** 582 /**
@@ -587,10 +585,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
587 * @generated 585 * @generated
588 */ 586 */
589 @Override 587 @Override
590 public AllObjects createAllObjects() 588 public ExactScopeDefinition createExactScopeDefinition()
591 { 589 {
592 AllObjectsImpl allObjects = new AllObjectsImpl(); 590 ExactScopeDefinitionImpl exactScopeDefinition = new ExactScopeDefinitionImpl();
593 return allObjects; 591 return exactScopeDefinition;
594 } 592 }
595 593
596 /** 594 /**
@@ -599,10 +597,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
599 * @generated 597 * @generated
600 */ 598 */
601 @Override 599 @Override
602 public DefaultInterpretation createDefaultInterpretation() 600 public BoundedScopeDefinition createBoundedScopeDefinition()
603 { 601 {
604 DefaultInterpretationImpl defaultInterpretation = new DefaultInterpretationImpl(); 602 BoundedScopeDefinitionImpl boundedScopeDefinition = new BoundedScopeDefinitionImpl();
605 return defaultInterpretation; 603 return boundedScopeDefinition;
606 } 604 }
607 605
608 /** 606 /**
@@ -611,10 +609,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
611 * @generated 609 * @generated
612 */ 610 */
613 @Override 611 @Override
614 public CDInterpretation createCDInterpretation() 612 public LowerBoundedScopeDefinition createLowerBoundedScopeDefinition()
615 { 613 {
616 CDInterpretationImpl cdInterpretation = new CDInterpretationImpl(); 614 LowerBoundedScopeDefinitionImpl lowerBoundedScopeDefinition = new LowerBoundedScopeDefinitionImpl();
617 return cdInterpretation; 615 return lowerBoundedScopeDefinition;
618 } 616 }
619 617
620 /** 618 /**
@@ -623,10 +621,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
623 * @generated 621 * @generated
624 */ 622 */
625 @Override 623 @Override
626 public ClassInterpretation createClassInterpretation() 624 public ObjectiveDefinition createObjectiveDefinition()
627 { 625 {
628 ClassInterpretationImpl classInterpretation = new ClassInterpretationImpl(); 626 ObjectiveDefinitionImpl objectiveDefinition = new ObjectiveDefinitionImpl();
629 return classInterpretation; 627 return objectiveDefinition;
630 } 628 }
631 629
632 /** 630 /**
@@ -635,10 +633,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
635 * @generated 633 * @generated
636 */ 634 */
637 @Override 635 @Override
638 public EnumInterpretation createEnumInterpretation() 636 public NamedElement createNamedElement()
639 { 637 {
640 EnumInterpretationImpl enumInterpretation = new EnumInterpretationImpl(); 638 NamedElementImpl namedElement = new NamedElementImpl();
641 return enumInterpretation; 639 return namedElement;
642 } 640 }
643 641
644 /** 642 /**
@@ -647,10 +645,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
647 * @generated 645 * @generated
648 */ 646 */
649 @Override 647 @Override
650 public FieldRelationInterpretation createFieldRelationInterpretation() 648 public Assertion createAssertion()
651 { 649 {
652 FieldRelationInterpretationImpl fieldRelationInterpretation = new FieldRelationInterpretationImpl(); 650 AssertionImpl assertion = new AssertionImpl();
653 return fieldRelationInterpretation; 651 return assertion;
654 } 652 }
655 653
656 /** 654 /**
@@ -659,10 +657,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
659 * @generated 657 * @generated
660 */ 658 */
661 @Override 659 @Override
662 public GlobalRelationInterpretation createGlobalRelationInterpretation() 660 public Disjunction createDisjunction()
663 { 661 {
664 GlobalRelationInterpretationImpl globalRelationInterpretation = new GlobalRelationInterpretationImpl(); 662 DisjunctionImpl disjunction = new DisjunctionImpl();
665 return globalRelationInterpretation; 663 return disjunction;
666 } 664 }
667 665
668 /** 666 /**
@@ -671,10 +669,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
671 * @generated 669 * @generated
672 */ 670 */
673 @Override 671 @Override
674 public MultiplicityDefinition createMultiplicityDefinition() 672 public Switch createSwitch()
675 { 673 {
676 MultiplicityDefinitionImpl multiplicityDefinition = new MultiplicityDefinitionImpl(); 674 SwitchImpl switch_ = new SwitchImpl();
677 return multiplicityDefinition; 675 return switch_;
678 } 676 }
679 677
680 /** 678 /**
@@ -683,10 +681,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
683 * @generated 681 * @generated
684 */ 682 */
685 @Override 683 @Override
686 public BooleanTrue createBooleanTrue() 684 public Conjunction createConjunction()
687 { 685 {
688 BooleanTrueImpl booleanTrue = new BooleanTrueImpl(); 686 ConjunctionImpl conjunction = new ConjunctionImpl();
689 return booleanTrue; 687 return conjunction;
690 } 688 }
691 689
692 /** 690 /**
@@ -695,10 +693,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
695 * @generated 693 * @generated
696 */ 694 */
697 @Override 695 @Override
698 public BooleanFalse createBooleanFalse() 696 public Comparison createComparison()
699 { 697 {
700 BooleanFalseImpl booleanFalse = new BooleanFalseImpl(); 698 ComparisonImpl comparison = new ComparisonImpl();
701 return booleanFalse; 699 return comparison;
702 } 700 }
703 701
704 /** 702 /**
@@ -707,10 +705,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
707 * @generated 705 * @generated
708 */ 706 */
709 @Override 707 @Override
710 public True createTrue() 708 public BinaryExpression createBinaryExpression()
711 { 709 {
712 TrueImpl true_ = new TrueImpl(); 710 BinaryExpressionImpl binaryExpression = new BinaryExpressionImpl();
713 return true_; 711 return binaryExpression;
714 } 712 }
715 713
716 /** 714 /**
@@ -719,10 +717,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
719 * @generated 717 * @generated
720 */ 718 */
721 @Override 719 @Override
722 public False createFalse() 720 public UnaryExpression createUnaryExpression()
723 { 721 {
724 FalseImpl false_ = new FalseImpl(); 722 UnaryExpressionImpl unaryExpression = new UnaryExpressionImpl();
725 return false_; 723 return unaryExpression;
726 } 724 }
727 725
728 /** 726 /**
@@ -730,11 +728,11 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
730 * <!-- end-user-doc --> 728 * <!-- end-user-doc -->
731 * @generated 729 * @generated
732 */ 730 */
733 @Override 731 public MetricType createMetricTypeFromString(EDataType eDataType, String initialValue)
734 public Unknown createUnknown()
735 { 732 {
736 UnknownImpl unknown = new UnknownImpl(); 733 MetricType result = MetricType.get(initialValue);
737 return unknown; 734 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
735 return result;
738 } 736 }
739 737
740 /** 738 /**
@@ -742,11 +740,9 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
742 * <!-- end-user-doc --> 740 * <!-- end-user-doc -->
743 * @generated 741 * @generated
744 */ 742 */
745 @Override 743 public String convertMetricTypeToString(EDataType eDataType, Object instanceValue)
746 public org.eclipse.viatra.solver.language.solverLanguage.Error createError()
747 { 744 {
748 ErrorImpl error = new ErrorImpl(); 745 return instanceValue == null ? null : instanceValue.toString();
749 return error;
750 } 746 }
751 747
752 /** 748 /**
@@ -754,11 +750,11 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
754 * <!-- end-user-doc --> 750 * <!-- end-user-doc -->
755 * @generated 751 * @generated
756 */ 752 */
757 @Override 753 public BinaryOperator createBinaryOperatorFromString(EDataType eDataType, String initialValue)
758 public Positive createPositive()
759 { 754 {
760 PositiveImpl positive = new PositiveImpl(); 755 BinaryOperator result = BinaryOperator.get(initialValue);
761 return positive; 756 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
757 return result;
762 } 758 }
763 759
764 /** 760 /**
@@ -766,11 +762,9 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
766 * <!-- end-user-doc --> 762 * <!-- end-user-doc -->
767 * @generated 763 * @generated
768 */ 764 */
769 @Override 765 public String convertBinaryOperatorToString(EDataType eDataType, Object instanceValue)
770 public Negative createNegative()
771 { 766 {
772 NegativeImpl negative = new NegativeImpl(); 767 return instanceValue == null ? null : instanceValue.toString();
773 return negative;
774 } 768 }
775 769
776 /** 770 /**
@@ -778,11 +772,11 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
778 * <!-- end-user-doc --> 772 * <!-- end-user-doc -->
779 * @generated 773 * @generated
780 */ 774 */
781 @Override 775 public UnaryOp createUnaryOpFromString(EDataType eDataType, String initialValue)
782 public ReflexiveClosure createReflexiveClosure()
783 { 776 {
784 ReflexiveClosureImpl reflexiveClosure = new ReflexiveClosureImpl(); 777 UnaryOp result = UnaryOp.get(initialValue);
785 return reflexiveClosure; 778 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
779 return result;
786 } 780 }
787 781
788 /** 782 /**
@@ -790,11 +784,75 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
790 * <!-- end-user-doc --> 784 * <!-- end-user-doc -->
791 * @generated 785 * @generated
792 */ 786 */
793 @Override 787 public String convertUnaryOpToString(EDataType eDataType, Object instanceValue)
794 public IrreflexiveClosure createIrreflexiveClosure() 788 {
789 return instanceValue == null ? null : instanceValue.toString();
790 }
791
792 /**
793 * <!-- begin-user-doc -->
794 * <!-- end-user-doc -->
795 * @generated
796 */
797 public AggregationOp createAggregationOpFromString(EDataType eDataType, String initialValue)
798 {
799 AggregationOp result = AggregationOp.get(initialValue);
800 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
801 return result;
802 }
803
804 /**
805 * <!-- begin-user-doc -->
806 * <!-- end-user-doc -->
807 * @generated
808 */
809 public String convertAggregationOpToString(EDataType eDataType, Object instanceValue)
810 {
811 return instanceValue == null ? null : instanceValue.toString();
812 }
813
814 /**
815 * <!-- begin-user-doc -->
816 * <!-- end-user-doc -->
817 * @generated
818 */
819 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue)
820 {
821 LogicValue result = LogicValue.get(initialValue);
822 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
823 return result;
824 }
825
826 /**
827 * <!-- begin-user-doc -->
828 * <!-- end-user-doc -->
829 * @generated
830 */
831 public String convertLogicValueToString(EDataType eDataType, Object instanceValue)
832 {
833 return instanceValue == null ? null : instanceValue.toString();
834 }
835
836 /**
837 * <!-- begin-user-doc -->
838 * <!-- end-user-doc -->
839 * @generated
840 */
841 public ObjectiveKind createObjectiveKindFromString(EDataType eDataType, String initialValue)
842 {
843 ObjectiveKind result = ObjectiveKind.get(initialValue);
844 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
845 return result;
846 }
847
848 /**
849 * <!-- begin-user-doc -->
850 * <!-- end-user-doc -->
851 * @generated
852 */
853 public String convertObjectiveKindToString(EDataType eDataType, Object instanceValue)
795 { 854 {
796 IrreflexiveClosureImpl irreflexiveClosure = new IrreflexiveClosureImpl(); 855 return instanceValue == null ? null : instanceValue.toString();
797 return irreflexiveClosure;
798 } 856 }
799 857
800 /** 858 /**
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
index f617be3f..393a2545 100644
--- 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
@@ -1,67 +1,70 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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.EAttribute; 6import org.eclipse.emf.ecore.EAttribute;
7import org.eclipse.emf.ecore.EClass; 7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EEnum;
8import org.eclipse.emf.ecore.EPackage; 9import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.EReference; 10import org.eclipse.emf.ecore.EReference;
10 11
11import org.eclipse.emf.ecore.impl.EPackageImpl; 12import org.eclipse.emf.ecore.impl.EPackageImpl;
12 13
13import org.eclipse.viatra.solver.language.solverLanguage.AllInstances; 14import org.eclipse.viatra.solver.language.solverLanguage.Aggregation;
14import org.eclipse.viatra.solver.language.solverLanguage.AllObjects; 15import org.eclipse.viatra.solver.language.solverLanguage.AggregationOp;
15import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation; 16import org.eclipse.viatra.solver.language.solverLanguage.Argument;
16import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse; 17import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
17import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject; 18import org.eclipse.viatra.solver.language.solverLanguage.Assertion;
18import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol; 19import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression;
19import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue; 20import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator;
20import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue; 21import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity;
21import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation; 22import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition;
22import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation; 23import org.eclipse.viatra.solver.language.solverLanguage.Call;
23import org.eclipse.viatra.solver.language.solverLanguage.ClosureType; 24import org.eclipse.viatra.solver.language.solverLanguage.Case;
24import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject; 25import org.eclipse.viatra.solver.language.solverLanguage.Comparison;
25import org.eclipse.viatra.solver.language.solverLanguage.Constraint; 26import org.eclipse.viatra.solver.language.solverLanguage.Conjunction;
26import org.eclipse.viatra.solver.language.solverLanguage.DataObject; 27import org.eclipse.viatra.solver.language.solverLanguage.Count;
27import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol; 28import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition;
28import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; 29import org.eclipse.viatra.solver.language.solverLanguage.Disjunction;
29import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; 30import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral;
30import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; 31import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity;
31import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; 32import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition;
32import org.eclipse.viatra.solver.language.solverLanguage.False; 33import org.eclipse.viatra.solver.language.solverLanguage.Expression;
33import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; 34import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument;
34import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation; 35import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition;
35import org.eclipse.viatra.solver.language.solverLanguage.IntObject; 36import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition;
36import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol; 37import org.eclipse.viatra.solver.language.solverLanguage.IfElse;
37import org.eclipse.viatra.solver.language.solverLanguage.Interpretation; 38import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral;
38import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure; 39import org.eclipse.viatra.solver.language.solverLanguage.Interval;
39import org.eclipse.viatra.solver.language.solverLanguage.Literal; 40import org.eclipse.viatra.solver.language.solverLanguage.Literal;
40import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; 41import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral;
41import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition; 42import org.eclipse.viatra.solver.language.solverLanguage.LogicValue;
42import org.eclipse.viatra.solver.language.solverLanguage.NamedObject; 43import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition;
43import org.eclipse.viatra.solver.language.solverLanguage.Negative; 44import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity;
44import org.eclipse.viatra.solver.language.solverLanguage.Parameter; 45import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
45import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol; 46import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition;
46import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; 47import org.eclipse.viatra.solver.language.solverLanguage.MetricType;
47import org.eclipse.viatra.solver.language.solverLanguage.Polarity; 48import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity;
48import org.eclipse.viatra.solver.language.solverLanguage.Positive; 49import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
49import org.eclipse.viatra.solver.language.solverLanguage.Predicate; 50import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral;
51import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition;
52import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind;
53import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition;
50import org.eclipse.viatra.solver.language.solverLanguage.Problem; 54import org.eclipse.viatra.solver.language.solverLanguage.Problem;
51import org.eclipse.viatra.solver.language.solverLanguage.RealObject; 55import org.eclipse.viatra.solver.language.solverLanguage.Reference;
52import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; 56import org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition;
53import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure;
54import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory; 57import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory;
55import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 58import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
59import org.eclipse.viatra.solver.language.solverLanguage.StarArgument;
56import org.eclipse.viatra.solver.language.solverLanguage.Statement; 60import org.eclipse.viatra.solver.language.solverLanguage.Statement;
57import org.eclipse.viatra.solver.language.solverLanguage.StringObject; 61import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral;
58import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol; 62import org.eclipse.viatra.solver.language.solverLanguage.Switch;
59import org.eclipse.viatra.solver.language.solverLanguage.Symbol; 63import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument;
60import org.eclipse.viatra.solver.language.solverLanguage.True; 64import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument;
61import org.eclipse.viatra.solver.language.solverLanguage.TruthValue; 65import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression;
62import org.eclipse.viatra.solver.language.solverLanguage.Unknown; 66import org.eclipse.viatra.solver.language.solverLanguage.UnaryOp;
63import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject; 67import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition;
64import org.eclipse.viatra.solver.language.solverLanguage.Variable;
65 68
66/** 69/**
67 * <!-- begin-user-doc --> 70 * <!-- begin-user-doc -->
@@ -90,350 +93,350 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
90 * <!-- end-user-doc --> 93 * <!-- end-user-doc -->
91 * @generated 94 * @generated
92 */ 95 */
93 private EClass booleanValueEClass = null; 96 private EClass predicateDefinitionEClass = null;
94 97
95 /** 98 /**
96 * <!-- begin-user-doc --> 99 * <!-- begin-user-doc -->
97 * <!-- end-user-doc --> 100 * <!-- end-user-doc -->
98 * @generated 101 * @generated
99 */ 102 */
100 private EClass truthValueEClass = null; 103 private EClass unnamedErrorPrediateDefinitionEClass = null;
101 104
102 /** 105 /**
103 * <!-- begin-user-doc --> 106 * <!-- begin-user-doc -->
104 * <!-- end-user-doc --> 107 * <!-- end-user-doc -->
105 * @generated 108 * @generated
106 */ 109 */
107 private EClass interpretationEClass = null; 110 private EClass defaultDefinitionEClass = null;
108 111
109 /** 112 /**
110 * <!-- begin-user-doc --> 113 * <!-- begin-user-doc -->
111 * <!-- end-user-doc --> 114 * <!-- end-user-doc -->
112 * @generated 115 * @generated
113 */ 116 */
114 private EClass basicInterpretationEClass = null; 117 private EClass externPredicateDefinitionEClass = null;
115 118
116 /** 119 /**
117 * <!-- begin-user-doc --> 120 * <!-- begin-user-doc -->
118 * <!-- end-user-doc --> 121 * <!-- end-user-doc -->
119 * @generated 122 * @generated
120 */ 123 */
121 private EClass symbolEClass = null; 124 private EClass metricDefinitionEClass = null;
122 125
123 /** 126 /**
124 * <!-- begin-user-doc --> 127 * <!-- begin-user-doc -->
125 * <!-- end-user-doc --> 128 * <!-- end-user-doc -->
126 * @generated 129 * @generated
127 */ 130 */
128 private EClass modelSymbolEClass = null; 131 private EClass externMetricDefinitionEClass = null;
129 132
130 /** 133 /**
131 * <!-- begin-user-doc --> 134 * <!-- begin-user-doc -->
132 * <!-- end-user-doc --> 135 * <!-- end-user-doc -->
133 * @generated 136 * @generated
134 */ 137 */
135 private EClass partialitySymbolEClass = null; 138 private EClass expressionEClass = null;
136 139
137 /** 140 /**
138 * <!-- begin-user-doc --> 141 * <!-- begin-user-doc -->
139 * <!-- end-user-doc --> 142 * <!-- end-user-doc -->
140 * @generated 143 * @generated
141 */ 144 */
142 private EClass existSymbolEClass = null; 145 private EClass ifElseEClass = null;
143 146
144 /** 147 /**
145 * <!-- begin-user-doc --> 148 * <!-- begin-user-doc -->
146 * <!-- end-user-doc --> 149 * <!-- end-user-doc -->
147 * @generated 150 * @generated
148 */ 151 */
149 private EClass equalsSymbolEClass = null; 152 private EClass caseEClass = null;
150 153
151 /** 154 /**
152 * <!-- begin-user-doc --> 155 * <!-- begin-user-doc -->
153 * <!-- end-user-doc --> 156 * <!-- end-user-doc -->
154 * @generated 157 * @generated
155 */ 158 */
156 private EClass dataSymbolEClass = null; 159 private EClass countEClass = null;
157 160
158 /** 161 /**
159 * <!-- begin-user-doc --> 162 * <!-- begin-user-doc -->
160 * <!-- end-user-doc --> 163 * <!-- end-user-doc -->
161 * @generated 164 * @generated
162 */ 165 */
163 private EClass booleanSymbolEClass = null; 166 private EClass aggregationEClass = null;
164 167
165 /** 168 /**
166 * <!-- begin-user-doc --> 169 * <!-- begin-user-doc -->
167 * <!-- end-user-doc --> 170 * <!-- end-user-doc -->
168 * @generated 171 * @generated
169 */ 172 */
170 private EClass integerSymbolEClass = null; 173 private EClass callEClass = null;
171 174
172 /** 175 /**
173 * <!-- begin-user-doc --> 176 * <!-- begin-user-doc -->
174 * <!-- end-user-doc --> 177 * <!-- end-user-doc -->
175 * @generated 178 * @generated
176 */ 179 */
177 private EClass realSymbolEClass = null; 180 private EClass argumentListEClass = null;
178 181
179 /** 182 /**
180 * <!-- begin-user-doc --> 183 * <!-- begin-user-doc -->
181 * <!-- end-user-doc --> 184 * <!-- end-user-doc -->
182 * @generated 185 * @generated
183 */ 186 */
184 private EClass stringSymbolEClass = null; 187 private EClass argumentEClass = null;
185 188
186 /** 189 /**
187 * <!-- begin-user-doc --> 190 * <!-- begin-user-doc -->
188 * <!-- end-user-doc --> 191 * <!-- end-user-doc -->
189 * @generated 192 * @generated
190 */ 193 */
191 private EClass complexObjectEClass = null; 194 private EClass expressionArgumentEClass = null;
192 195
193 /** 196 /**
194 * <!-- begin-user-doc --> 197 * <!-- begin-user-doc -->
195 * <!-- end-user-doc --> 198 * <!-- end-user-doc -->
196 * @generated 199 * @generated
197 */ 200 */
198 private EClass objectEClass = null; 201 private EClass starArgumentEClass = null;
199 202
200 /** 203 /**
201 * <!-- begin-user-doc --> 204 * <!-- begin-user-doc -->
202 * <!-- end-user-doc --> 205 * <!-- end-user-doc -->
203 * @generated 206 * @generated
204 */ 207 */
205 private EClass namedObjectEClass = null; 208 private EClass typedArgumentEClass = null;
206 209
207 /** 210 /**
208 * <!-- begin-user-doc --> 211 * <!-- begin-user-doc -->
209 * <!-- end-user-doc --> 212 * <!-- end-user-doc -->
210 * @generated 213 * @generated
211 */ 214 */
212 private EClass unnamedObjectEClass = null; 215 private EClass typedStarArgumentEClass = null;
213 216
214 /** 217 /**
215 * <!-- begin-user-doc --> 218 * <!-- begin-user-doc -->
216 * <!-- end-user-doc --> 219 * <!-- end-user-doc -->
217 * @generated 220 * @generated
218 */ 221 */
219 private EClass dataObjectEClass = null; 222 private EClass referenceEClass = null;
220 223
221 /** 224 /**
222 * <!-- begin-user-doc --> 225 * <!-- begin-user-doc -->
223 * <!-- end-user-doc --> 226 * <!-- end-user-doc -->
224 * @generated 227 * @generated
225 */ 228 */
226 private EClass booleanObjectEClass = null; 229 private EClass intervalEClass = null;
227 230
228 /** 231 /**
229 * <!-- begin-user-doc --> 232 * <!-- begin-user-doc -->
230 * <!-- end-user-doc --> 233 * <!-- end-user-doc -->
231 * @generated 234 * @generated
232 */ 235 */
233 private EClass intObjectEClass = null; 236 private EClass literalEClass = null;
234 237
235 /** 238 /**
236 * <!-- begin-user-doc --> 239 * <!-- begin-user-doc -->
237 * <!-- end-user-doc --> 240 * <!-- end-user-doc -->
238 * @generated 241 * @generated
239 */ 242 */
240 private EClass realObjectEClass = null; 243 private EClass logicLiteralEClass = null;
241 244
242 /** 245 /**
243 * <!-- begin-user-doc --> 246 * <!-- begin-user-doc -->
244 * <!-- end-user-doc --> 247 * <!-- end-user-doc -->
245 * @generated 248 * @generated
246 */ 249 */
247 private EClass stringObjectEClass = null; 250 private EClass numericLiteralEClass = null;
248 251
249 /** 252 /**
250 * <!-- begin-user-doc --> 253 * <!-- begin-user-doc -->
251 * <!-- end-user-doc --> 254 * <!-- end-user-doc -->
252 * @generated 255 * @generated
253 */ 256 */
254 private EClass predicateEClass = null; 257 private EClass infinityLiteralEClass = null;
255 258
256 /** 259 /**
257 * <!-- begin-user-doc --> 260 * <!-- begin-user-doc -->
258 * <!-- end-user-doc --> 261 * <!-- end-user-doc -->
259 * @generated 262 * @generated
260 */ 263 */
261 private EClass parameterEClass = null; 264 private EClass emptyIntervalLiteralEClass = null;
262 265
263 /** 266 /**
264 * <!-- begin-user-doc --> 267 * <!-- begin-user-doc -->
265 * <!-- end-user-doc --> 268 * <!-- end-user-doc -->
266 * @generated 269 * @generated
267 */ 270 */
268 private EClass patternBodyEClass = null; 271 private EClass stringLiteralEClass = null;
269 272
270 /** 273 /**
271 * <!-- begin-user-doc --> 274 * <!-- begin-user-doc -->
272 * <!-- end-user-doc --> 275 * <!-- end-user-doc -->
273 * @generated 276 * @generated
274 */ 277 */
275 private EClass polarityEClass = null; 278 private EClass memberDefinitionEClass = null;
276 279
277 /** 280 /**
278 * <!-- begin-user-doc --> 281 * <!-- begin-user-doc -->
279 * <!-- end-user-doc --> 282 * <!-- end-user-doc -->
280 * @generated 283 * @generated
281 */ 284 */
282 private EClass constraintEClass = null; 285 private EClass multiplicityEClass = null;
283 286
284 /** 287 /**
285 * <!-- begin-user-doc --> 288 * <!-- begin-user-doc -->
286 * <!-- end-user-doc --> 289 * <!-- end-user-doc -->
287 * @generated 290 * @generated
288 */ 291 */
289 private EClass closureTypeEClass = null; 292 private EClass manyMultiplicityEClass = null;
290 293
291 /** 294 /**
292 * <!-- begin-user-doc --> 295 * <!-- begin-user-doc -->
293 * <!-- end-user-doc --> 296 * <!-- end-user-doc -->
294 * @generated 297 * @generated
295 */ 298 */
296 private EClass literalEClass = null; 299 private EClass exactMultiplicityEClass = null;
297 300
298 /** 301 /**
299 * <!-- begin-user-doc --> 302 * <!-- begin-user-doc -->
300 * <!-- end-user-doc --> 303 * <!-- end-user-doc -->
301 * @generated 304 * @generated
302 */ 305 */
303 private EClass variableEClass = null; 306 private EClass boundedMultiplicityEClass = null;
304 307
305 /** 308 /**
306 * <!-- begin-user-doc --> 309 * <!-- begin-user-doc -->
307 * <!-- end-user-doc --> 310 * <!-- end-user-doc -->
308 * @generated 311 * @generated
309 */ 312 */
310 private EClass allInstancesEClass = null; 313 private EClass scopeDefinitionEClass = null;
311 314
312 /** 315 /**
313 * <!-- begin-user-doc --> 316 * <!-- begin-user-doc -->
314 * <!-- end-user-doc --> 317 * <!-- end-user-doc -->
315 * @generated 318 * @generated
316 */ 319 */
317 private EClass allObjectsEClass = null; 320 private EClass exactScopeDefinitionEClass = null;
318 321
319 /** 322 /**
320 * <!-- begin-user-doc --> 323 * <!-- begin-user-doc -->
321 * <!-- end-user-doc --> 324 * <!-- end-user-doc -->
322 * @generated 325 * @generated
323 */ 326 */
324 private EClass defaultInterpretationEClass = null; 327 private EClass boundedScopeDefinitionEClass = null;
325 328
326 /** 329 /**
327 * <!-- begin-user-doc --> 330 * <!-- begin-user-doc -->
328 * <!-- end-user-doc --> 331 * <!-- end-user-doc -->
329 * @generated 332 * @generated
330 */ 333 */
331 private EClass cdInterpretationEClass = null; 334 private EClass lowerBoundedScopeDefinitionEClass = null;
332 335
333 /** 336 /**
334 * <!-- begin-user-doc --> 337 * <!-- begin-user-doc -->
335 * <!-- end-user-doc --> 338 * <!-- end-user-doc -->
336 * @generated 339 * @generated
337 */ 340 */
338 private EClass classInterpretationEClass = null; 341 private EClass objectiveDefinitionEClass = null;
339 342
340 /** 343 /**
341 * <!-- begin-user-doc --> 344 * <!-- begin-user-doc -->
342 * <!-- end-user-doc --> 345 * <!-- end-user-doc -->
343 * @generated 346 * @generated
344 */ 347 */
345 private EClass enumInterpretationEClass = null; 348 private EClass namedElementEClass = null;
346 349
347 /** 350 /**
348 * <!-- begin-user-doc --> 351 * <!-- begin-user-doc -->
349 * <!-- end-user-doc --> 352 * <!-- end-user-doc -->
350 * @generated 353 * @generated
351 */ 354 */
352 private EClass fieldRelationInterpretationEClass = null; 355 private EClass assertionEClass = null;
353 356
354 /** 357 /**
355 * <!-- begin-user-doc --> 358 * <!-- begin-user-doc -->
356 * <!-- end-user-doc --> 359 * <!-- end-user-doc -->
357 * @generated 360 * @generated
358 */ 361 */
359 private EClass globalRelationInterpretationEClass = null; 362 private EClass disjunctionEClass = null;
360 363
361 /** 364 /**
362 * <!-- begin-user-doc --> 365 * <!-- begin-user-doc -->
363 * <!-- end-user-doc --> 366 * <!-- end-user-doc -->
364 * @generated 367 * @generated
365 */ 368 */
366 private EClass multiplicityDefinitionEClass = null; 369 private EClass switchEClass = null;
367 370
368 /** 371 /**
369 * <!-- begin-user-doc --> 372 * <!-- begin-user-doc -->
370 * <!-- end-user-doc --> 373 * <!-- end-user-doc -->
371 * @generated 374 * @generated
372 */ 375 */
373 private EClass booleanTrueEClass = null; 376 private EClass conjunctionEClass = null;
374 377
375 /** 378 /**
376 * <!-- begin-user-doc --> 379 * <!-- begin-user-doc -->
377 * <!-- end-user-doc --> 380 * <!-- end-user-doc -->
378 * @generated 381 * @generated
379 */ 382 */
380 private EClass booleanFalseEClass = null; 383 private EClass comparisonEClass = null;
381 384
382 /** 385 /**
383 * <!-- begin-user-doc --> 386 * <!-- begin-user-doc -->
384 * <!-- end-user-doc --> 387 * <!-- end-user-doc -->
385 * @generated 388 * @generated
386 */ 389 */
387 private EClass trueEClass = null; 390 private EClass binaryExpressionEClass = null;
388 391
389 /** 392 /**
390 * <!-- begin-user-doc --> 393 * <!-- begin-user-doc -->
391 * <!-- end-user-doc --> 394 * <!-- end-user-doc -->
392 * @generated 395 * @generated
393 */ 396 */
394 private EClass falseEClass = null; 397 private EClass unaryExpressionEClass = null;
395 398
396 /** 399 /**
397 * <!-- begin-user-doc --> 400 * <!-- begin-user-doc -->
398 * <!-- end-user-doc --> 401 * <!-- end-user-doc -->
399 * @generated 402 * @generated
400 */ 403 */
401 private EClass unknownEClass = null; 404 private EEnum metricTypeEEnum = null;
402 405
403 /** 406 /**
404 * <!-- begin-user-doc --> 407 * <!-- begin-user-doc -->
405 * <!-- end-user-doc --> 408 * <!-- end-user-doc -->
406 * @generated 409 * @generated
407 */ 410 */
408 private EClass errorEClass = null; 411 private EEnum binaryOperatorEEnum = null;
409 412
410 /** 413 /**
411 * <!-- begin-user-doc --> 414 * <!-- begin-user-doc -->
412 * <!-- end-user-doc --> 415 * <!-- end-user-doc -->
413 * @generated 416 * @generated
414 */ 417 */
415 private EClass positiveEClass = null; 418 private EEnum unaryOpEEnum = null;
416 419
417 /** 420 /**
418 * <!-- begin-user-doc --> 421 * <!-- begin-user-doc -->
419 * <!-- end-user-doc --> 422 * <!-- end-user-doc -->
420 * @generated 423 * @generated
421 */ 424 */
422 private EClass negativeEClass = null; 425 private EEnum aggregationOpEEnum = null;
423 426
424 /** 427 /**
425 * <!-- begin-user-doc --> 428 * <!-- begin-user-doc -->
426 * <!-- end-user-doc --> 429 * <!-- end-user-doc -->
427 * @generated 430 * @generated
428 */ 431 */
429 private EClass reflexiveClosureEClass = null; 432 private EEnum logicValueEEnum = null;
430 433
431 /** 434 /**
432 * <!-- begin-user-doc --> 435 * <!-- begin-user-doc -->
433 * <!-- end-user-doc --> 436 * <!-- end-user-doc -->
434 * @generated 437 * @generated
435 */ 438 */
436 private EClass irreflexiveClosureEClass = null; 439 private EEnum objectiveKindEEnum = null;
437 440
438 /** 441 /**
439 * Creates an instance of the model <b>Package</b>, registered with 442 * Creates an instance of the model <b>Package</b>, registered with
@@ -537,9 +540,108 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
537 * @generated 540 * @generated
538 */ 541 */
539 @Override 542 @Override
540 public EClass getBooleanValue() 543 public EAttribute getStatement_Abstract()
544 {
545 return (EAttribute)statementEClass.getEStructuralFeatures().get(0);
546 }
547
548 /**
549 * <!-- begin-user-doc -->
550 * <!-- end-user-doc -->
551 * @generated
552 */
553 @Override
554 public EAttribute getStatement_Name()
555 {
556 return (EAttribute)statementEClass.getEStructuralFeatures().get(1);
557 }
558
559 /**
560 * <!-- begin-user-doc -->
561 * <!-- end-user-doc -->
562 * @generated
563 */
564 @Override
565 public EReference getStatement_Superclasses()
566 {
567 return (EReference)statementEClass.getEStructuralFeatures().get(2);
568 }
569
570 /**
571 * <!-- begin-user-doc -->
572 * <!-- end-user-doc -->
573 * @generated
574 */
575 @Override
576 public EReference getStatement_Members()
577 {
578 return (EReference)statementEClass.getEStructuralFeatures().get(3);
579 }
580
581 /**
582 * <!-- begin-user-doc -->
583 * <!-- end-user-doc -->
584 * @generated
585 */
586 @Override
587 public EClass getPredicateDefinition()
588 {
589 return predicateDefinitionEClass;
590 }
591
592 /**
593 * <!-- begin-user-doc -->
594 * <!-- end-user-doc -->
595 * @generated
596 */
597 @Override
598 public EReference getPredicateDefinition_Head()
599 {
600 return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(0);
601 }
602
603 /**
604 * <!-- begin-user-doc -->
605 * <!-- end-user-doc -->
606 * @generated
607 */
608 @Override
609 public EReference getPredicateDefinition_Body()
610 {
611 return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(1);
612 }
613
614 /**
615 * <!-- begin-user-doc -->
616 * <!-- end-user-doc -->
617 * @generated
618 */
619 @Override
620 public EAttribute getPredicateDefinition_Functional()
621 {
622 return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(2);
623 }
624
625 /**
626 * <!-- begin-user-doc -->
627 * <!-- end-user-doc -->
628 * @generated
629 */
630 @Override
631 public EAttribute getPredicateDefinition_Error()
632 {
633 return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(3);
634 }
635
636 /**
637 * <!-- begin-user-doc -->
638 * <!-- end-user-doc -->
639 * @generated
640 */
641 @Override
642 public EClass getUnnamedErrorPrediateDefinition()
541 { 643 {
542 return booleanValueEClass; 644 return unnamedErrorPrediateDefinitionEClass;
543 } 645 }
544 646
545 /** 647 /**
@@ -548,9 +650,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
548 * @generated 650 * @generated
549 */ 651 */
550 @Override 652 @Override
551 public EClass getTruthValue() 653 public EReference getUnnamedErrorPrediateDefinition_ArgumentList()
552 { 654 {
553 return truthValueEClass; 655 return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(0);
554 } 656 }
555 657
556 /** 658 /**
@@ -559,9 +661,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
559 * @generated 661 * @generated
560 */ 662 */
561 @Override 663 @Override
562 public EClass getInterpretation() 664 public EReference getUnnamedErrorPrediateDefinition_Body()
563 { 665 {
564 return interpretationEClass; 666 return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(1);
565 } 667 }
566 668
567 /** 669 /**
@@ -570,9 +672,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
570 * @generated 672 * @generated
571 */ 673 */
572 @Override 674 @Override
573 public EClass getBasicInterpretation() 675 public EClass getDefaultDefinition()
574 { 676 {
575 return basicInterpretationEClass; 677 return defaultDefinitionEClass;
576 } 678 }
577 679
578 /** 680 /**
@@ -581,9 +683,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
581 * @generated 683 * @generated
582 */ 684 */
583 @Override 685 @Override
584 public EReference getBasicInterpretation_Symbol() 686 public EReference getDefaultDefinition_Head()
585 { 687 {
586 return (EReference)basicInterpretationEClass.getEStructuralFeatures().get(0); 688 return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(0);
587 } 689 }
588 690
589 /** 691 /**
@@ -592,9 +694,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
592 * @generated 694 * @generated
593 */ 695 */
594 @Override 696 @Override
595 public EReference getBasicInterpretation_Objects() 697 public EReference getDefaultDefinition_Range()
596 { 698 {
597 return (EReference)basicInterpretationEClass.getEStructuralFeatures().get(1); 699 return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(1);
598 } 700 }
599 701
600 /** 702 /**
@@ -603,9 +705,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
603 * @generated 705 * @generated
604 */ 706 */
605 @Override 707 @Override
606 public EReference getBasicInterpretation_Value() 708 public EClass getExternPredicateDefinition()
607 { 709 {
608 return (EReference)basicInterpretationEClass.getEStructuralFeatures().get(2); 710 return externPredicateDefinitionEClass;
609 } 711 }
610 712
611 /** 713 /**
@@ -614,9 +716,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
614 * @generated 716 * @generated
615 */ 717 */
616 @Override 718 @Override
617 public EClass getSymbol() 719 public EReference getExternPredicateDefinition_Head()
618 { 720 {
619 return symbolEClass; 721 return (EReference)externPredicateDefinitionEClass.getEStructuralFeatures().get(0);
620 } 722 }
621 723
622 /** 724 /**
@@ -625,9 +727,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
625 * @generated 727 * @generated
626 */ 728 */
627 @Override 729 @Override
628 public EClass getModelSymbol() 730 public EClass getMetricDefinition()
629 { 731 {
630 return modelSymbolEClass; 732 return metricDefinitionEClass;
631 } 733 }
632 734
633 /** 735 /**
@@ -636,9 +738,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
636 * @generated 738 * @generated
637 */ 739 */
638 @Override 740 @Override
639 public EAttribute getModelSymbol_Name() 741 public EReference getMetricDefinition_Head()
640 { 742 {
641 return (EAttribute)modelSymbolEClass.getEStructuralFeatures().get(0); 743 return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(0);
642 } 744 }
643 745
644 /** 746 /**
@@ -647,9 +749,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
647 * @generated 749 * @generated
648 */ 750 */
649 @Override 751 @Override
650 public EClass getPartialitySymbol() 752 public EReference getMetricDefinition_Body()
651 { 753 {
652 return partialitySymbolEClass; 754 return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(1);
653 } 755 }
654 756
655 /** 757 /**
@@ -658,9 +760,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
658 * @generated 760 * @generated
659 */ 761 */
660 @Override 762 @Override
661 public EClass getExistSymbol() 763 public EAttribute getMetricDefinition_Type()
662 { 764 {
663 return existSymbolEClass; 765 return (EAttribute)metricDefinitionEClass.getEStructuralFeatures().get(2);
664 } 766 }
665 767
666 /** 768 /**
@@ -669,9 +771,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
669 * @generated 771 * @generated
670 */ 772 */
671 @Override 773 @Override
672 public EClass getEqualsSymbol() 774 public EClass getExternMetricDefinition()
673 { 775 {
674 return equalsSymbolEClass; 776 return externMetricDefinitionEClass;
675 } 777 }
676 778
677 /** 779 /**
@@ -680,9 +782,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
680 * @generated 782 * @generated
681 */ 783 */
682 @Override 784 @Override
683 public EClass getDataSymbol() 785 public EAttribute getExternMetricDefinition_Type()
684 { 786 {
685 return dataSymbolEClass; 787 return (EAttribute)externMetricDefinitionEClass.getEStructuralFeatures().get(0);
686 } 788 }
687 789
688 /** 790 /**
@@ -691,9 +793,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
691 * @generated 793 * @generated
692 */ 794 */
693 @Override 795 @Override
694 public EClass getBooleanSymbol() 796 public EReference getExternMetricDefinition_Head()
695 { 797 {
696 return booleanSymbolEClass; 798 return (EReference)externMetricDefinitionEClass.getEStructuralFeatures().get(1);
697 } 799 }
698 800
699 /** 801 /**
@@ -702,9 +804,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
702 * @generated 804 * @generated
703 */ 805 */
704 @Override 806 @Override
705 public EClass getIntegerSymbol() 807 public EClass getExpression()
706 { 808 {
707 return integerSymbolEClass; 809 return expressionEClass;
708 } 810 }
709 811
710 /** 812 /**
@@ -713,9 +815,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
713 * @generated 815 * @generated
714 */ 816 */
715 @Override 817 @Override
716 public EClass getRealSymbol() 818 public EClass getIfElse()
717 { 819 {
718 return realSymbolEClass; 820 return ifElseEClass;
719 } 821 }
720 822
721 /** 823 /**
@@ -724,9 +826,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
724 * @generated 826 * @generated
725 */ 827 */
726 @Override 828 @Override
727 public EClass getStringSymbol() 829 public EReference getIfElse_Condition()
728 { 830 {
729 return stringSymbolEClass; 831 return (EReference)ifElseEClass.getEStructuralFeatures().get(0);
730 } 832 }
731 833
732 /** 834 /**
@@ -735,9 +837,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
735 * @generated 837 * @generated
736 */ 838 */
737 @Override 839 @Override
738 public EClass getComplexObject() 840 public EReference getIfElse_Then()
739 { 841 {
740 return complexObjectEClass; 842 return (EReference)ifElseEClass.getEStructuralFeatures().get(1);
741 } 843 }
742 844
743 /** 845 /**
@@ -746,9 +848,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
746 * @generated 848 * @generated
747 */ 849 */
748 @Override 850 @Override
749 public EClass getObject() 851 public EReference getIfElse_Else()
750 { 852 {
751 return objectEClass; 853 return (EReference)ifElseEClass.getEStructuralFeatures().get(2);
752 } 854 }
753 855
754 /** 856 /**
@@ -757,9 +859,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
757 * @generated 859 * @generated
758 */ 860 */
759 @Override 861 @Override
760 public EClass getNamedObject() 862 public EClass getCase()
761 { 863 {
762 return namedObjectEClass; 864 return caseEClass;
763 } 865 }
764 866
765 /** 867 /**
@@ -768,9 +870,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
768 * @generated 870 * @generated
769 */ 871 */
770 @Override 872 @Override
771 public EAttribute getNamedObject_Name() 873 public EReference getCase_Condition()
772 { 874 {
773 return (EAttribute)namedObjectEClass.getEStructuralFeatures().get(0); 875 return (EReference)caseEClass.getEStructuralFeatures().get(0);
774 } 876 }
775 877
776 /** 878 /**
@@ -779,9 +881,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
779 * @generated 881 * @generated
780 */ 882 */
781 @Override 883 @Override
782 public EClass getUnnamedObject() 884 public EReference getCase_Body()
783 { 885 {
784 return unnamedObjectEClass; 886 return (EReference)caseEClass.getEStructuralFeatures().get(1);
785 } 887 }
786 888
787 /** 889 /**
@@ -790,9 +892,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
790 * @generated 892 * @generated
791 */ 893 */
792 @Override 894 @Override
793 public EAttribute getUnnamedObject_Name() 895 public EClass getCount()
794 { 896 {
795 return (EAttribute)unnamedObjectEClass.getEStructuralFeatures().get(0); 897 return countEClass;
796 } 898 }
797 899
798 /** 900 /**
@@ -801,9 +903,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
801 * @generated 903 * @generated
802 */ 904 */
803 @Override 905 @Override
804 public EClass getDataObject() 906 public EReference getCount_Body()
805 { 907 {
806 return dataObjectEClass; 908 return (EReference)countEClass.getEStructuralFeatures().get(0);
807 } 909 }
808 910
809 /** 911 /**
@@ -812,9 +914,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
812 * @generated 914 * @generated
813 */ 915 */
814 @Override 916 @Override
815 public EClass getBooleanObject() 917 public EClass getAggregation()
816 { 918 {
817 return booleanObjectEClass; 919 return aggregationEClass;
818 } 920 }
819 921
820 /** 922 /**
@@ -823,9 +925,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
823 * @generated 925 * @generated
824 */ 926 */
825 @Override 927 @Override
826 public EReference getBooleanObject_Value() 928 public EAttribute getAggregation_Op()
827 { 929 {
828 return (EReference)booleanObjectEClass.getEStructuralFeatures().get(0); 930 return (EAttribute)aggregationEClass.getEStructuralFeatures().get(0);
829 } 931 }
830 932
831 /** 933 /**
@@ -834,9 +936,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
834 * @generated 936 * @generated
835 */ 937 */
836 @Override 938 @Override
837 public EClass getIntObject() 939 public EReference getAggregation_Body()
838 { 940 {
839 return intObjectEClass; 941 return (EReference)aggregationEClass.getEStructuralFeatures().get(1);
840 } 942 }
841 943
842 /** 944 /**
@@ -845,9 +947,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
845 * @generated 947 * @generated
846 */ 948 */
847 @Override 949 @Override
848 public EAttribute getIntObject_Value() 950 public EReference getAggregation_Condition()
849 { 951 {
850 return (EAttribute)intObjectEClass.getEStructuralFeatures().get(0); 952 return (EReference)aggregationEClass.getEStructuralFeatures().get(2);
851 } 953 }
852 954
853 /** 955 /**
@@ -856,9 +958,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
856 * @generated 958 * @generated
857 */ 959 */
858 @Override 960 @Override
859 public EClass getRealObject() 961 public EClass getCall()
860 { 962 {
861 return realObjectEClass; 963 return callEClass;
862 } 964 }
863 965
864 /** 966 /**
@@ -867,9 +969,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
867 * @generated 969 * @generated
868 */ 970 */
869 @Override 971 @Override
870 public EAttribute getRealObject_Value() 972 public EReference getCall_Functor()
871 { 973 {
872 return (EAttribute)realObjectEClass.getEStructuralFeatures().get(0); 974 return (EReference)callEClass.getEStructuralFeatures().get(0);
873 } 975 }
874 976
875 /** 977 /**
@@ -878,9 +980,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
878 * @generated 980 * @generated
879 */ 981 */
880 @Override 982 @Override
881 public EClass getStringObject() 983 public EReference getCall_ArgumentList()
882 { 984 {
883 return stringObjectEClass; 985 return (EReference)callEClass.getEStructuralFeatures().get(1);
884 } 986 }
885 987
886 /** 988 /**
@@ -889,9 +991,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
889 * @generated 991 * @generated
890 */ 992 */
891 @Override 993 @Override
892 public EAttribute getStringObject_Value() 994 public EAttribute getCall_TransitiveClosure()
893 { 995 {
894 return (EAttribute)stringObjectEClass.getEStructuralFeatures().get(0); 996 return (EAttribute)callEClass.getEStructuralFeatures().get(2);
895 } 997 }
896 998
897 /** 999 /**
@@ -900,9 +1002,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
900 * @generated 1002 * @generated
901 */ 1003 */
902 @Override 1004 @Override
903 public EClass getPredicate() 1005 public EAttribute getCall_ReflexiveTransitiveClosure()
904 { 1006 {
905 return predicateEClass; 1007 return (EAttribute)callEClass.getEStructuralFeatures().get(3);
906 } 1008 }
907 1009
908 /** 1010 /**
@@ -911,9 +1013,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
911 * @generated 1013 * @generated
912 */ 1014 */
913 @Override 1015 @Override
914 public EAttribute getPredicate_IsError() 1016 public EClass getArgumentList()
915 { 1017 {
916 return (EAttribute)predicateEClass.getEStructuralFeatures().get(0); 1018 return argumentListEClass;
917 } 1019 }
918 1020
919 /** 1021 /**
@@ -922,9 +1024,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
922 * @generated 1024 * @generated
923 */ 1025 */
924 @Override 1026 @Override
925 public EReference getPredicate_Symbol() 1027 public EReference getArgumentList_Arguments()
926 { 1028 {
927 return (EReference)predicateEClass.getEStructuralFeatures().get(1); 1029 return (EReference)argumentListEClass.getEStructuralFeatures().get(0);
928 } 1030 }
929 1031
930 /** 1032 /**
@@ -933,9 +1035,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
933 * @generated 1035 * @generated
934 */ 1036 */
935 @Override 1037 @Override
936 public EReference getPredicate_Parameters() 1038 public EClass getArgument()
937 { 1039 {
938 return (EReference)predicateEClass.getEStructuralFeatures().get(2); 1040 return argumentEClass;
939 } 1041 }
940 1042
941 /** 1043 /**
@@ -944,9 +1046,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
944 * @generated 1046 * @generated
945 */ 1047 */
946 @Override 1048 @Override
947 public EReference getPredicate_Bodies() 1049 public EClass getExpressionArgument()
948 { 1050 {
949 return (EReference)predicateEClass.getEStructuralFeatures().get(3); 1051 return expressionArgumentEClass;
950 } 1052 }
951 1053
952 /** 1054 /**
@@ -955,9 +1057,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
955 * @generated 1057 * @generated
956 */ 1058 */
957 @Override 1059 @Override
958 public EClass getParameter() 1060 public EReference getExpressionArgument_Body()
959 { 1061 {
960 return parameterEClass; 1062 return (EReference)expressionArgumentEClass.getEStructuralFeatures().get(0);
961 } 1063 }
962 1064
963 /** 1065 /**
@@ -966,9 +1068,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
966 * @generated 1068 * @generated
967 */ 1069 */
968 @Override 1070 @Override
969 public EReference getParameter_Variable() 1071 public EClass getStarArgument()
970 { 1072 {
971 return (EReference)parameterEClass.getEStructuralFeatures().get(0); 1073 return starArgumentEClass;
972 } 1074 }
973 1075
974 /** 1076 /**
@@ -977,9 +1079,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
977 * @generated 1079 * @generated
978 */ 1080 */
979 @Override 1081 @Override
980 public EReference getParameter_Type() 1082 public EClass getTypedArgument()
981 { 1083 {
982 return (EReference)parameterEClass.getEStructuralFeatures().get(1); 1084 return typedArgumentEClass;
983 } 1085 }
984 1086
985 /** 1087 /**
@@ -988,9 +1090,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
988 * @generated 1090 * @generated
989 */ 1091 */
990 @Override 1092 @Override
991 public EClass getPatternBody() 1093 public EReference getTypedArgument_Type()
992 { 1094 {
993 return patternBodyEClass; 1095 return (EReference)typedArgumentEClass.getEStructuralFeatures().get(0);
994 } 1096 }
995 1097
996 /** 1098 /**
@@ -999,9 +1101,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
999 * @generated 1101 * @generated
1000 */ 1102 */
1001 @Override 1103 @Override
1002 public EReference getPatternBody_Constraints() 1104 public EReference getTypedArgument_Variable()
1003 { 1105 {
1004 return (EReference)patternBodyEClass.getEStructuralFeatures().get(0); 1106 return (EReference)typedArgumentEClass.getEStructuralFeatures().get(1);
1005 } 1107 }
1006 1108
1007 /** 1109 /**
@@ -1010,9 +1112,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1010 * @generated 1112 * @generated
1011 */ 1113 */
1012 @Override 1114 @Override
1013 public EClass getPolarity() 1115 public EClass getTypedStarArgument()
1014 { 1116 {
1015 return polarityEClass; 1117 return typedStarArgumentEClass;
1016 } 1118 }
1017 1119
1018 /** 1120 /**
@@ -1021,9 +1123,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1021 * @generated 1123 * @generated
1022 */ 1124 */
1023 @Override 1125 @Override
1024 public EClass getConstraint() 1126 public EReference getTypedStarArgument_Type()
1025 { 1127 {
1026 return constraintEClass; 1128 return (EReference)typedStarArgumentEClass.getEStructuralFeatures().get(0);
1027 } 1129 }
1028 1130
1029 /** 1131 /**
@@ -1032,9 +1134,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1032 * @generated 1134 * @generated
1033 */ 1135 */
1034 @Override 1136 @Override
1035 public EReference getConstraint_Polarity() 1137 public EClass getReference()
1036 { 1138 {
1037 return (EReference)constraintEClass.getEStructuralFeatures().get(0); 1139 return referenceEClass;
1038 } 1140 }
1039 1141
1040 /** 1142 /**
@@ -1043,9 +1145,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1043 * @generated 1145 * @generated
1044 */ 1146 */
1045 @Override 1147 @Override
1046 public EReference getConstraint_Symbol() 1148 public EReference getReference_Referred()
1047 { 1149 {
1048 return (EReference)constraintEClass.getEStructuralFeatures().get(1); 1150 return (EReference)referenceEClass.getEStructuralFeatures().get(0);
1049 } 1151 }
1050 1152
1051 /** 1153 /**
@@ -1054,9 +1156,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1054 * @generated 1156 * @generated
1055 */ 1157 */
1056 @Override 1158 @Override
1057 public EReference getConstraint_Params() 1159 public EClass getInterval()
1058 { 1160 {
1059 return (EReference)constraintEClass.getEStructuralFeatures().get(2); 1161 return intervalEClass;
1060 } 1162 }
1061 1163
1062 /** 1164 /**
@@ -1065,9 +1167,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1065 * @generated 1167 * @generated
1066 */ 1168 */
1067 @Override 1169 @Override
1068 public EReference getConstraint_ClosureType() 1170 public EReference getInterval_LowerBound()
1069 { 1171 {
1070 return (EReference)constraintEClass.getEStructuralFeatures().get(3); 1172 return (EReference)intervalEClass.getEStructuralFeatures().get(0);
1071 } 1173 }
1072 1174
1073 /** 1175 /**
@@ -1076,9 +1178,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1076 * @generated 1178 * @generated
1077 */ 1179 */
1078 @Override 1180 @Override
1079 public EClass getClosureType() 1181 public EReference getInterval_UpperBound()
1080 { 1182 {
1081 return closureTypeEClass; 1183 return (EReference)intervalEClass.getEStructuralFeatures().get(1);
1082 } 1184 }
1083 1185
1084 /** 1186 /**
@@ -1098,9 +1200,207 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1098 * @generated 1200 * @generated
1099 */ 1201 */
1100 @Override 1202 @Override
1101 public EClass getVariable() 1203 public EClass getLogicLiteral()
1204 {
1205 return logicLiteralEClass;
1206 }
1207
1208 /**
1209 * <!-- begin-user-doc -->
1210 * <!-- end-user-doc -->
1211 * @generated
1212 */
1213 @Override
1214 public EAttribute getLogicLiteral_Value()
1215 {
1216 return (EAttribute)logicLiteralEClass.getEStructuralFeatures().get(0);
1217 }
1218
1219 /**
1220 * <!-- begin-user-doc -->
1221 * <!-- end-user-doc -->
1222 * @generated
1223 */
1224 @Override
1225 public EClass getNumericLiteral()
1226 {
1227 return numericLiteralEClass;
1228 }
1229
1230 /**
1231 * <!-- begin-user-doc -->
1232 * <!-- end-user-doc -->
1233 * @generated
1234 */
1235 @Override
1236 public EAttribute getNumericLiteral_Value()
1237 {
1238 return (EAttribute)numericLiteralEClass.getEStructuralFeatures().get(0);
1239 }
1240
1241 /**
1242 * <!-- begin-user-doc -->
1243 * <!-- end-user-doc -->
1244 * @generated
1245 */
1246 @Override
1247 public EClass getInfinityLiteral()
1248 {
1249 return infinityLiteralEClass;
1250 }
1251
1252 /**
1253 * <!-- begin-user-doc -->
1254 * <!-- end-user-doc -->
1255 * @generated
1256 */
1257 @Override
1258 public EClass getEmptyIntervalLiteral()
1259 {
1260 return emptyIntervalLiteralEClass;
1261 }
1262
1263 /**
1264 * <!-- begin-user-doc -->
1265 * <!-- end-user-doc -->
1266 * @generated
1267 */
1268 @Override
1269 public EClass getStringLiteral()
1270 {
1271 return stringLiteralEClass;
1272 }
1273
1274 /**
1275 * <!-- begin-user-doc -->
1276 * <!-- end-user-doc -->
1277 * @generated
1278 */
1279 @Override
1280 public EAttribute getStringLiteral_Value()
1281 {
1282 return (EAttribute)stringLiteralEClass.getEStructuralFeatures().get(0);
1283 }
1284
1285 /**
1286 * <!-- begin-user-doc -->
1287 * <!-- end-user-doc -->
1288 * @generated
1289 */
1290 @Override
1291 public EClass getMemberDefinition()
1292 {
1293 return memberDefinitionEClass;
1294 }
1295
1296 /**
1297 * <!-- begin-user-doc -->
1298 * <!-- end-user-doc -->
1299 * @generated
1300 */
1301 @Override
1302 public EAttribute getMemberDefinition_Containment()
1303 {
1304 return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(0);
1305 }
1306
1307 /**
1308 * <!-- begin-user-doc -->
1309 * <!-- end-user-doc -->
1310 * @generated
1311 */
1312 @Override
1313 public EReference getMemberDefinition_Type()
1314 {
1315 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(1);
1316 }
1317
1318 /**
1319 * <!-- begin-user-doc -->
1320 * <!-- end-user-doc -->
1321 * @generated
1322 */
1323 @Override
1324 public EReference getMemberDefinition_Multiplicity()
1325 {
1326 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(2);
1327 }
1328
1329 /**
1330 * <!-- begin-user-doc -->
1331 * <!-- end-user-doc -->
1332 * @generated
1333 */
1334 @Override
1335 public EAttribute getMemberDefinition_Name()
1336 {
1337 return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(3);
1338 }
1339
1340 /**
1341 * <!-- begin-user-doc -->
1342 * <!-- end-user-doc -->
1343 * @generated
1344 */
1345 @Override
1346 public EReference getMemberDefinition_Opposite()
1347 {
1348 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(4);
1349 }
1350
1351 /**
1352 * <!-- begin-user-doc -->
1353 * <!-- end-user-doc -->
1354 * @generated
1355 */
1356 @Override
1357 public EClass getMultiplicity()
1358 {
1359 return multiplicityEClass;
1360 }
1361
1362 /**
1363 * <!-- begin-user-doc -->
1364 * <!-- end-user-doc -->
1365 * @generated
1366 */
1367 @Override
1368 public EClass getManyMultiplicity()
1369 {
1370 return manyMultiplicityEClass;
1371 }
1372
1373 /**
1374 * <!-- begin-user-doc -->
1375 * <!-- end-user-doc -->
1376 * @generated
1377 */
1378 @Override
1379 public EClass getExactMultiplicity()
1380 {
1381 return exactMultiplicityEClass;
1382 }
1383
1384 /**
1385 * <!-- begin-user-doc -->
1386 * <!-- end-user-doc -->
1387 * @generated
1388 */
1389 @Override
1390 public EAttribute getExactMultiplicity_Multiplicity()
1391 {
1392 return (EAttribute)exactMultiplicityEClass.getEStructuralFeatures().get(0);
1393 }
1394
1395 /**
1396 * <!-- begin-user-doc -->
1397 * <!-- end-user-doc -->
1398 * @generated
1399 */
1400 @Override
1401 public EClass getBoundedMultiplicity()
1102 { 1402 {
1103 return variableEClass; 1403 return boundedMultiplicityEClass;
1104 } 1404 }
1105 1405
1106 /** 1406 /**
@@ -1109,9 +1409,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1109 * @generated 1409 * @generated
1110 */ 1410 */
1111 @Override 1411 @Override
1112 public EAttribute getVariable_Name() 1412 public EAttribute getBoundedMultiplicity_LowerBound()
1113 { 1413 {
1114 return (EAttribute)variableEClass.getEStructuralFeatures().get(0); 1414 return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(0);
1115 } 1415 }
1116 1416
1117 /** 1417 /**
@@ -1120,9 +1420,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1120 * @generated 1420 * @generated
1121 */ 1421 */
1122 @Override 1422 @Override
1123 public EClass getAllInstances() 1423 public EAttribute getBoundedMultiplicity_UpperBound()
1124 { 1424 {
1125 return allInstancesEClass; 1425 return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(1);
1126 } 1426 }
1127 1427
1128 /** 1428 /**
@@ -1131,9 +1431,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1131 * @generated 1431 * @generated
1132 */ 1432 */
1133 @Override 1433 @Override
1134 public EReference getAllInstances_Symbol() 1434 public EClass getScopeDefinition()
1135 { 1435 {
1136 return (EReference)allInstancesEClass.getEStructuralFeatures().get(0); 1436 return scopeDefinitionEClass;
1137 } 1437 }
1138 1438
1139 /** 1439 /**
@@ -1142,9 +1442,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1142 * @generated 1442 * @generated
1143 */ 1443 */
1144 @Override 1444 @Override
1145 public EClass getAllObjects() 1445 public EReference getScopeDefinition_Type()
1146 { 1446 {
1147 return allObjectsEClass; 1447 return (EReference)scopeDefinitionEClass.getEStructuralFeatures().get(0);
1148 } 1448 }
1149 1449
1150 /** 1450 /**
@@ -1153,9 +1453,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1153 * @generated 1453 * @generated
1154 */ 1454 */
1155 @Override 1455 @Override
1156 public EClass getDefaultInterpretation() 1456 public EClass getExactScopeDefinition()
1157 { 1457 {
1158 return defaultInterpretationEClass; 1458 return exactScopeDefinitionEClass;
1159 } 1459 }
1160 1460
1161 /** 1461 /**
@@ -1164,9 +1464,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1164 * @generated 1464 * @generated
1165 */ 1465 */
1166 @Override 1466 @Override
1167 public EReference getDefaultInterpretation_Interpretation() 1467 public EAttribute getExactScopeDefinition_ExactScope()
1168 { 1468 {
1169 return (EReference)defaultInterpretationEClass.getEStructuralFeatures().get(0); 1469 return (EAttribute)exactScopeDefinitionEClass.getEStructuralFeatures().get(0);
1170 } 1470 }
1171 1471
1172 /** 1472 /**
@@ -1175,9 +1475,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1175 * @generated 1475 * @generated
1176 */ 1476 */
1177 @Override 1477 @Override
1178 public EClass getCDInterpretation() 1478 public EClass getBoundedScopeDefinition()
1179 { 1479 {
1180 return cdInterpretationEClass; 1480 return boundedScopeDefinitionEClass;
1181 } 1481 }
1182 1482
1183 /** 1483 /**
@@ -1186,9 +1486,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1186 * @generated 1486 * @generated
1187 */ 1487 */
1188 @Override 1488 @Override
1189 public EClass getClassInterpretation() 1489 public EAttribute getBoundedScopeDefinition_LowerBound()
1190 { 1490 {
1191 return classInterpretationEClass; 1491 return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(0);
1192 } 1492 }
1193 1493
1194 /** 1494 /**
@@ -1197,9 +1497,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1197 * @generated 1497 * @generated
1198 */ 1498 */
1199 @Override 1499 @Override
1200 public EAttribute getClassInterpretation_Abstract() 1500 public EAttribute getBoundedScopeDefinition_UpperBound()
1201 { 1501 {
1202 return (EAttribute)classInterpretationEClass.getEStructuralFeatures().get(0); 1502 return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(1);
1203 } 1503 }
1204 1504
1205 /** 1505 /**
@@ -1208,9 +1508,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1208 * @generated 1508 * @generated
1209 */ 1509 */
1210 @Override 1510 @Override
1211 public EReference getClassInterpretation_Symbol() 1511 public EClass getLowerBoundedScopeDefinition()
1212 { 1512 {
1213 return (EReference)classInterpretationEClass.getEStructuralFeatures().get(1); 1513 return lowerBoundedScopeDefinitionEClass;
1214 } 1514 }
1215 1515
1216 /** 1516 /**
@@ -1219,9 +1519,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1219 * @generated 1519 * @generated
1220 */ 1520 */
1221 @Override 1521 @Override
1222 public EReference getClassInterpretation_Supertypes() 1522 public EAttribute getLowerBoundedScopeDefinition_LowerBound()
1223 { 1523 {
1224 return (EReference)classInterpretationEClass.getEStructuralFeatures().get(2); 1524 return (EAttribute)lowerBoundedScopeDefinitionEClass.getEStructuralFeatures().get(0);
1225 } 1525 }
1226 1526
1227 /** 1527 /**
@@ -1230,9 +1530,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1230 * @generated 1530 * @generated
1231 */ 1531 */
1232 @Override 1532 @Override
1233 public EReference getClassInterpretation_Fielt() 1533 public EClass getObjectiveDefinition()
1234 { 1534 {
1235 return (EReference)classInterpretationEClass.getEStructuralFeatures().get(3); 1535 return objectiveDefinitionEClass;
1236 } 1536 }
1237 1537
1238 /** 1538 /**
@@ -1241,9 +1541,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1241 * @generated 1541 * @generated
1242 */ 1542 */
1243 @Override 1543 @Override
1244 public EClass getEnumInterpretation() 1544 public EAttribute getObjectiveDefinition_Kind()
1245 { 1545 {
1246 return enumInterpretationEClass; 1546 return (EAttribute)objectiveDefinitionEClass.getEStructuralFeatures().get(0);
1247 } 1547 }
1248 1548
1249 /** 1549 /**
@@ -1252,9 +1552,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1252 * @generated 1552 * @generated
1253 */ 1553 */
1254 @Override 1554 @Override
1255 public EReference getEnumInterpretation_Symbol() 1555 public EReference getObjectiveDefinition_Objective()
1256 { 1556 {
1257 return (EReference)enumInterpretationEClass.getEStructuralFeatures().get(0); 1557 return (EReference)objectiveDefinitionEClass.getEStructuralFeatures().get(1);
1258 } 1558 }
1259 1559
1260 /** 1560 /**
@@ -1263,9 +1563,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1263 * @generated 1563 * @generated
1264 */ 1564 */
1265 @Override 1565 @Override
1266 public EReference getEnumInterpretation_Objects() 1566 public EClass getNamedElement()
1267 { 1567 {
1268 return (EReference)enumInterpretationEClass.getEStructuralFeatures().get(1); 1568 return namedElementEClass;
1269 } 1569 }
1270 1570
1271 /** 1571 /**
@@ -1274,9 +1574,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1274 * @generated 1574 * @generated
1275 */ 1575 */
1276 @Override 1576 @Override
1277 public EClass getFieldRelationInterpretation() 1577 public EAttribute getNamedElement_Name()
1278 { 1578 {
1279 return fieldRelationInterpretationEClass; 1579 return (EAttribute)namedElementEClass.getEStructuralFeatures().get(0);
1280 } 1580 }
1281 1581
1282 /** 1582 /**
@@ -1285,9 +1585,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1285 * @generated 1585 * @generated
1286 */ 1586 */
1287 @Override 1587 @Override
1288 public EAttribute getFieldRelationInterpretation_Containment() 1588 public EClass getAssertion()
1289 { 1589 {
1290 return (EAttribute)fieldRelationInterpretationEClass.getEStructuralFeatures().get(0); 1590 return assertionEClass;
1291 } 1591 }
1292 1592
1293 /** 1593 /**
@@ -1296,9 +1596,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1296 * @generated 1596 * @generated
1297 */ 1597 */
1298 @Override 1598 @Override
1299 public EReference getFieldRelationInterpretation_Symbol() 1599 public EReference getAssertion_Body()
1300 { 1600 {
1301 return (EReference)fieldRelationInterpretationEClass.getEStructuralFeatures().get(1); 1601 return (EReference)assertionEClass.getEStructuralFeatures().get(0);
1302 } 1602 }
1303 1603
1304 /** 1604 /**
@@ -1307,9 +1607,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1307 * @generated 1607 * @generated
1308 */ 1608 */
1309 @Override 1609 @Override
1310 public EReference getFieldRelationInterpretation_Multiplicity() 1610 public EReference getAssertion_Range()
1311 { 1611 {
1312 return (EReference)fieldRelationInterpretationEClass.getEStructuralFeatures().get(2); 1612 return (EReference)assertionEClass.getEStructuralFeatures().get(1);
1313 } 1613 }
1314 1614
1315 /** 1615 /**
@@ -1318,9 +1618,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1318 * @generated 1618 * @generated
1319 */ 1619 */
1320 @Override 1620 @Override
1321 public EReference getFieldRelationInterpretation_Target() 1621 public EClass getDisjunction()
1322 { 1622 {
1323 return (EReference)fieldRelationInterpretationEClass.getEStructuralFeatures().get(3); 1623 return disjunctionEClass;
1324 } 1624 }
1325 1625
1326 /** 1626 /**
@@ -1329,9 +1629,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1329 * @generated 1629 * @generated
1330 */ 1630 */
1331 @Override 1631 @Override
1332 public EClass getGlobalRelationInterpretation() 1632 public EReference getDisjunction_Children()
1333 { 1633 {
1334 return globalRelationInterpretationEClass; 1634 return (EReference)disjunctionEClass.getEStructuralFeatures().get(0);
1335 } 1635 }
1336 1636
1337 /** 1637 /**
@@ -1340,9 +1640,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1340 * @generated 1640 * @generated
1341 */ 1641 */
1342 @Override 1642 @Override
1343 public EAttribute getGlobalRelationInterpretation_Containment() 1643 public EClass getSwitch()
1344 { 1644 {
1345 return (EAttribute)globalRelationInterpretationEClass.getEStructuralFeatures().get(0); 1645 return switchEClass;
1346 } 1646 }
1347 1647
1348 /** 1648 /**
@@ -1351,9 +1651,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1351 * @generated 1651 * @generated
1352 */ 1652 */
1353 @Override 1653 @Override
1354 public EReference getGlobalRelationInterpretation_Symbol() 1654 public EReference getSwitch_Cases()
1355 { 1655 {
1356 return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(1); 1656 return (EReference)switchEClass.getEStructuralFeatures().get(0);
1357 } 1657 }
1358 1658
1359 /** 1659 /**
@@ -1362,9 +1662,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1362 * @generated 1662 * @generated
1363 */ 1663 */
1364 @Override 1664 @Override
1365 public EReference getGlobalRelationInterpretation_SourceMultiplicity() 1665 public EClass getConjunction()
1366 { 1666 {
1367 return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(2); 1667 return conjunctionEClass;
1368 } 1668 }
1369 1669
1370 /** 1670 /**
@@ -1373,9 +1673,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1373 * @generated 1673 * @generated
1374 */ 1674 */
1375 @Override 1675 @Override
1376 public EReference getGlobalRelationInterpretation_Source() 1676 public EReference getConjunction_Children()
1377 { 1677 {
1378 return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(3); 1678 return (EReference)conjunctionEClass.getEStructuralFeatures().get(0);
1379 } 1679 }
1380 1680
1381 /** 1681 /**
@@ -1384,9 +1684,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1384 * @generated 1684 * @generated
1385 */ 1685 */
1386 @Override 1686 @Override
1387 public EReference getGlobalRelationInterpretation_TargetMultiplicity() 1687 public EClass getComparison()
1388 { 1688 {
1389 return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(4); 1689 return comparisonEClass;
1390 } 1690 }
1391 1691
1392 /** 1692 /**
@@ -1395,9 +1695,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1395 * @generated 1695 * @generated
1396 */ 1696 */
1397 @Override 1697 @Override
1398 public EReference getGlobalRelationInterpretation_Target() 1698 public EReference getComparison_Left()
1399 { 1699 {
1400 return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(5); 1700 return (EReference)comparisonEClass.getEStructuralFeatures().get(0);
1401 } 1701 }
1402 1702
1403 /** 1703 /**
@@ -1406,9 +1706,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1406 * @generated 1706 * @generated
1407 */ 1707 */
1408 @Override 1708 @Override
1409 public EClass getMultiplicityDefinition() 1709 public EAttribute getComparison_Op()
1410 { 1710 {
1411 return multiplicityDefinitionEClass; 1711 return (EAttribute)comparisonEClass.getEStructuralFeatures().get(1);
1412 } 1712 }
1413 1713
1414 /** 1714 /**
@@ -1417,9 +1717,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1417 * @generated 1717 * @generated
1418 */ 1718 */
1419 @Override 1719 @Override
1420 public EAttribute getMultiplicityDefinition_Lower() 1720 public EReference getComparison_Right()
1421 { 1721 {
1422 return (EAttribute)multiplicityDefinitionEClass.getEStructuralFeatures().get(0); 1722 return (EReference)comparisonEClass.getEStructuralFeatures().get(2);
1423 } 1723 }
1424 1724
1425 /** 1725 /**
@@ -1428,9 +1728,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1428 * @generated 1728 * @generated
1429 */ 1729 */
1430 @Override 1730 @Override
1431 public EAttribute getMultiplicityDefinition_Upper() 1731 public EClass getBinaryExpression()
1432 { 1732 {
1433 return (EAttribute)multiplicityDefinitionEClass.getEStructuralFeatures().get(1); 1733 return binaryExpressionEClass;
1434 } 1734 }
1435 1735
1436 /** 1736 /**
@@ -1439,9 +1739,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1439 * @generated 1739 * @generated
1440 */ 1740 */
1441 @Override 1741 @Override
1442 public EAttribute getMultiplicityDefinition_UnlimitedUpper() 1742 public EReference getBinaryExpression_Left()
1443 { 1743 {
1444 return (EAttribute)multiplicityDefinitionEClass.getEStructuralFeatures().get(2); 1744 return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(0);
1445 } 1745 }
1446 1746
1447 /** 1747 /**
@@ -1450,9 +1750,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1450 * @generated 1750 * @generated
1451 */ 1751 */
1452 @Override 1752 @Override
1453 public EClass getBooleanTrue() 1753 public EAttribute getBinaryExpression_Op()
1454 { 1754 {
1455 return booleanTrueEClass; 1755 return (EAttribute)binaryExpressionEClass.getEStructuralFeatures().get(1);
1456 } 1756 }
1457 1757
1458 /** 1758 /**
@@ -1461,9 +1761,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1461 * @generated 1761 * @generated
1462 */ 1762 */
1463 @Override 1763 @Override
1464 public EClass getBooleanFalse() 1764 public EReference getBinaryExpression_Right()
1465 { 1765 {
1466 return booleanFalseEClass; 1766 return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(2);
1467 } 1767 }
1468 1768
1469 /** 1769 /**
@@ -1472,9 +1772,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1472 * @generated 1772 * @generated
1473 */ 1773 */
1474 @Override 1774 @Override
1475 public EClass getTrue() 1775 public EClass getUnaryExpression()
1476 { 1776 {
1477 return trueEClass; 1777 return unaryExpressionEClass;
1478 } 1778 }
1479 1779
1480 /** 1780 /**
@@ -1483,9 +1783,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1483 * @generated 1783 * @generated
1484 */ 1784 */
1485 @Override 1785 @Override
1486 public EClass getFalse() 1786 public EAttribute getUnaryExpression_Op()
1487 { 1787 {
1488 return falseEClass; 1788 return (EAttribute)unaryExpressionEClass.getEStructuralFeatures().get(0);
1489 } 1789 }
1490 1790
1491 /** 1791 /**
@@ -1494,9 +1794,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1494 * @generated 1794 * @generated
1495 */ 1795 */
1496 @Override 1796 @Override
1497 public EClass getUnknown() 1797 public EReference getUnaryExpression_Body()
1498 { 1798 {
1499 return unknownEClass; 1799 return (EReference)unaryExpressionEClass.getEStructuralFeatures().get(1);
1500 } 1800 }
1501 1801
1502 /** 1802 /**
@@ -1505,9 +1805,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1505 * @generated 1805 * @generated
1506 */ 1806 */
1507 @Override 1807 @Override
1508 public EClass getError() 1808 public EEnum getMetricType()
1509 { 1809 {
1510 return errorEClass; 1810 return metricTypeEEnum;
1511 } 1811 }
1512 1812
1513 /** 1813 /**
@@ -1516,9 +1816,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1516 * @generated 1816 * @generated
1517 */ 1817 */
1518 @Override 1818 @Override
1519 public EClass getPositive() 1819 public EEnum getBinaryOperator()
1520 { 1820 {
1521 return positiveEClass; 1821 return binaryOperatorEEnum;
1522 } 1822 }
1523 1823
1524 /** 1824 /**
@@ -1527,9 +1827,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1527 * @generated 1827 * @generated
1528 */ 1828 */
1529 @Override 1829 @Override
1530 public EClass getNegative() 1830 public EEnum getUnaryOp()
1531 { 1831 {
1532 return negativeEClass; 1832 return unaryOpEEnum;
1533 } 1833 }
1534 1834
1535 /** 1835 /**
@@ -1538,9 +1838,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1538 * @generated 1838 * @generated
1539 */ 1839 */
1540 @Override 1840 @Override
1541 public EClass getReflexiveClosure() 1841 public EEnum getAggregationOp()
1542 { 1842 {
1543 return reflexiveClosureEClass; 1843 return aggregationOpEEnum;
1544 } 1844 }
1545 1845
1546 /** 1846 /**
@@ -1549,9 +1849,20 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1549 * @generated 1849 * @generated
1550 */ 1850 */
1551 @Override 1851 @Override
1552 public EClass getIrreflexiveClosure() 1852 public EEnum getLogicValue()
1553 { 1853 {
1554 return irreflexiveClosureEClass; 1854 return logicValueEEnum;
1855 }
1856
1857 /**
1858 * <!-- begin-user-doc -->
1859 * <!-- end-user-doc -->
1860 * @generated
1861 */
1862 @Override
1863 public EEnum getObjectiveKind()
1864 {
1865 return objectiveKindEEnum;
1555 } 1866 }
1556 1867
1557 /** 1868 /**
@@ -1589,149 +1900,173 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1589 createEReference(problemEClass, PROBLEM__STATEMENTS); 1900 createEReference(problemEClass, PROBLEM__STATEMENTS);
1590 1901
1591 statementEClass = createEClass(STATEMENT); 1902 statementEClass = createEClass(STATEMENT);
1903 createEAttribute(statementEClass, STATEMENT__ABSTRACT);
1904 createEAttribute(statementEClass, STATEMENT__NAME);
1905 createEReference(statementEClass, STATEMENT__SUPERCLASSES);
1906 createEReference(statementEClass, STATEMENT__MEMBERS);
1592 1907
1593 booleanValueEClass = createEClass(BOOLEAN_VALUE); 1908 predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION);
1594 1909 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__HEAD);
1595 truthValueEClass = createEClass(TRUTH_VALUE); 1910 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__BODY);
1596 1911 createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__FUNCTIONAL);
1597 interpretationEClass = createEClass(INTERPRETATION); 1912 createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__ERROR);
1598
1599 basicInterpretationEClass = createEClass(BASIC_INTERPRETATION);
1600 createEReference(basicInterpretationEClass, BASIC_INTERPRETATION__SYMBOL);
1601 createEReference(basicInterpretationEClass, BASIC_INTERPRETATION__OBJECTS);
1602 createEReference(basicInterpretationEClass, BASIC_INTERPRETATION__VALUE);
1603
1604 symbolEClass = createEClass(SYMBOL);
1605 1913
1606 modelSymbolEClass = createEClass(MODEL_SYMBOL); 1914 unnamedErrorPrediateDefinitionEClass = createEClass(UNNAMED_ERROR_PREDIATE_DEFINITION);
1607 createEAttribute(modelSymbolEClass, MODEL_SYMBOL__NAME); 1915 createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST);
1916 createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__BODY);
1608 1917
1609 partialitySymbolEClass = createEClass(PARTIALITY_SYMBOL); 1918 defaultDefinitionEClass = createEClass(DEFAULT_DEFINITION);
1919 createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__HEAD);
1920 createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__RANGE);
1610 1921
1611 existSymbolEClass = createEClass(EXIST_SYMBOL); 1922 externPredicateDefinitionEClass = createEClass(EXTERN_PREDICATE_DEFINITION);
1923 createEReference(externPredicateDefinitionEClass, EXTERN_PREDICATE_DEFINITION__HEAD);
1612 1924
1613 equalsSymbolEClass = createEClass(EQUALS_SYMBOL); 1925 metricDefinitionEClass = createEClass(METRIC_DEFINITION);
1926 createEReference(metricDefinitionEClass, METRIC_DEFINITION__HEAD);
1927 createEReference(metricDefinitionEClass, METRIC_DEFINITION__BODY);
1928 createEAttribute(metricDefinitionEClass, METRIC_DEFINITION__TYPE);
1614 1929
1615 dataSymbolEClass = createEClass(DATA_SYMBOL); 1930 externMetricDefinitionEClass = createEClass(EXTERN_METRIC_DEFINITION);
1931 createEAttribute(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__TYPE);
1932 createEReference(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__HEAD);
1616 1933
1617 booleanSymbolEClass = createEClass(BOOLEAN_SYMBOL); 1934 expressionEClass = createEClass(EXPRESSION);
1618 1935
1619 integerSymbolEClass = createEClass(INTEGER_SYMBOL); 1936 ifElseEClass = createEClass(IF_ELSE);
1937 createEReference(ifElseEClass, IF_ELSE__CONDITION);
1938 createEReference(ifElseEClass, IF_ELSE__THEN);
1939 createEReference(ifElseEClass, IF_ELSE__ELSE);
1620 1940
1621 realSymbolEClass = createEClass(REAL_SYMBOL); 1941 caseEClass = createEClass(CASE);
1942 createEReference(caseEClass, CASE__CONDITION);
1943 createEReference(caseEClass, CASE__BODY);
1622 1944
1623 stringSymbolEClass = createEClass(STRING_SYMBOL); 1945 countEClass = createEClass(COUNT);
1946 createEReference(countEClass, COUNT__BODY);
1624 1947
1625 complexObjectEClass = createEClass(COMPLEX_OBJECT); 1948 aggregationEClass = createEClass(AGGREGATION);
1949 createEAttribute(aggregationEClass, AGGREGATION__OP);
1950 createEReference(aggregationEClass, AGGREGATION__BODY);
1951 createEReference(aggregationEClass, AGGREGATION__CONDITION);
1626 1952
1627 objectEClass = createEClass(OBJECT); 1953 callEClass = createEClass(CALL);
1954 createEReference(callEClass, CALL__FUNCTOR);
1955 createEReference(callEClass, CALL__ARGUMENT_LIST);
1956 createEAttribute(callEClass, CALL__TRANSITIVE_CLOSURE);
1957 createEAttribute(callEClass, CALL__REFLEXIVE_TRANSITIVE_CLOSURE);
1628 1958
1629 namedObjectEClass = createEClass(NAMED_OBJECT); 1959 argumentListEClass = createEClass(ARGUMENT_LIST);
1630 createEAttribute(namedObjectEClass, NAMED_OBJECT__NAME); 1960 createEReference(argumentListEClass, ARGUMENT_LIST__ARGUMENTS);
1631 1961
1632 unnamedObjectEClass = createEClass(UNNAMED_OBJECT); 1962 argumentEClass = createEClass(ARGUMENT);
1633 createEAttribute(unnamedObjectEClass, UNNAMED_OBJECT__NAME);
1634 1963
1635 dataObjectEClass = createEClass(DATA_OBJECT); 1964 expressionArgumentEClass = createEClass(EXPRESSION_ARGUMENT);
1965 createEReference(expressionArgumentEClass, EXPRESSION_ARGUMENT__BODY);
1636 1966
1637 booleanObjectEClass = createEClass(BOOLEAN_OBJECT); 1967 starArgumentEClass = createEClass(STAR_ARGUMENT);
1638 createEReference(booleanObjectEClass, BOOLEAN_OBJECT__VALUE);
1639 1968
1640 intObjectEClass = createEClass(INT_OBJECT); 1969 typedArgumentEClass = createEClass(TYPED_ARGUMENT);
1641 createEAttribute(intObjectEClass, INT_OBJECT__VALUE); 1970 createEReference(typedArgumentEClass, TYPED_ARGUMENT__TYPE);
1971 createEReference(typedArgumentEClass, TYPED_ARGUMENT__VARIABLE);
1642 1972
1643 realObjectEClass = createEClass(REAL_OBJECT); 1973 typedStarArgumentEClass = createEClass(TYPED_STAR_ARGUMENT);
1644 createEAttribute(realObjectEClass, REAL_OBJECT__VALUE); 1974 createEReference(typedStarArgumentEClass, TYPED_STAR_ARGUMENT__TYPE);
1645 1975
1646 stringObjectEClass = createEClass(STRING_OBJECT); 1976 referenceEClass = createEClass(REFERENCE);
1647 createEAttribute(stringObjectEClass, STRING_OBJECT__VALUE); 1977 createEReference(referenceEClass, REFERENCE__REFERRED);
1648 1978
1649 predicateEClass = createEClass(PREDICATE); 1979 intervalEClass = createEClass(INTERVAL);
1650 createEAttribute(predicateEClass, PREDICATE__IS_ERROR); 1980 createEReference(intervalEClass, INTERVAL__LOWER_BOUND);
1651 createEReference(predicateEClass, PREDICATE__SYMBOL); 1981 createEReference(intervalEClass, INTERVAL__UPPER_BOUND);
1652 createEReference(predicateEClass, PREDICATE__PARAMETERS);
1653 createEReference(predicateEClass, PREDICATE__BODIES);
1654 1982
1655 parameterEClass = createEClass(PARAMETER); 1983 literalEClass = createEClass(LITERAL);
1656 createEReference(parameterEClass, PARAMETER__VARIABLE);
1657 createEReference(parameterEClass, PARAMETER__TYPE);
1658
1659 patternBodyEClass = createEClass(PATTERN_BODY);
1660 createEReference(patternBodyEClass, PATTERN_BODY__CONSTRAINTS);
1661 1984
1662 polarityEClass = createEClass(POLARITY); 1985 logicLiteralEClass = createEClass(LOGIC_LITERAL);
1986 createEAttribute(logicLiteralEClass, LOGIC_LITERAL__VALUE);
1663 1987
1664 constraintEClass = createEClass(CONSTRAINT); 1988 numericLiteralEClass = createEClass(NUMERIC_LITERAL);
1665 createEReference(constraintEClass, CONSTRAINT__POLARITY); 1989 createEAttribute(numericLiteralEClass, NUMERIC_LITERAL__VALUE);
1666 createEReference(constraintEClass, CONSTRAINT__SYMBOL);
1667 createEReference(constraintEClass, CONSTRAINT__PARAMS);
1668 createEReference(constraintEClass, CONSTRAINT__CLOSURE_TYPE);
1669 1990
1670 closureTypeEClass = createEClass(CLOSURE_TYPE); 1991 infinityLiteralEClass = createEClass(INFINITY_LITERAL);
1671 1992
1672 literalEClass = createEClass(LITERAL); 1993 emptyIntervalLiteralEClass = createEClass(EMPTY_INTERVAL_LITERAL);
1673 1994
1674 variableEClass = createEClass(VARIABLE); 1995 stringLiteralEClass = createEClass(STRING_LITERAL);
1675 createEAttribute(variableEClass, VARIABLE__NAME); 1996 createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE);
1676 1997
1677 allInstancesEClass = createEClass(ALL_INSTANCES); 1998 memberDefinitionEClass = createEClass(MEMBER_DEFINITION);
1678 createEReference(allInstancesEClass, ALL_INSTANCES__SYMBOL); 1999 createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__CONTAINMENT);
2000 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__TYPE);
2001 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__MULTIPLICITY);
2002 createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__NAME);
2003 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__OPPOSITE);
1679 2004
1680 allObjectsEClass = createEClass(ALL_OBJECTS); 2005 multiplicityEClass = createEClass(MULTIPLICITY);
1681 2006
1682 defaultInterpretationEClass = createEClass(DEFAULT_INTERPRETATION); 2007 manyMultiplicityEClass = createEClass(MANY_MULTIPLICITY);
1683 createEReference(defaultInterpretationEClass, DEFAULT_INTERPRETATION__INTERPRETATION);
1684 2008
1685 cdInterpretationEClass = createEClass(CD_INTERPRETATION); 2009 exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY);
2010 createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__MULTIPLICITY);
1686 2011
1687 classInterpretationEClass = createEClass(CLASS_INTERPRETATION); 2012 boundedMultiplicityEClass = createEClass(BOUNDED_MULTIPLICITY);
1688 createEAttribute(classInterpretationEClass, CLASS_INTERPRETATION__ABSTRACT); 2013 createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__LOWER_BOUND);
1689 createEReference(classInterpretationEClass, CLASS_INTERPRETATION__SYMBOL); 2014 createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__UPPER_BOUND);
1690 createEReference(classInterpretationEClass, CLASS_INTERPRETATION__SUPERTYPES);
1691 createEReference(classInterpretationEClass, CLASS_INTERPRETATION__FIELT);
1692 2015
1693 enumInterpretationEClass = createEClass(ENUM_INTERPRETATION); 2016 scopeDefinitionEClass = createEClass(SCOPE_DEFINITION);
1694 createEReference(enumInterpretationEClass, ENUM_INTERPRETATION__SYMBOL); 2017 createEReference(scopeDefinitionEClass, SCOPE_DEFINITION__TYPE);
1695 createEReference(enumInterpretationEClass, ENUM_INTERPRETATION__OBJECTS);
1696 2018
1697 fieldRelationInterpretationEClass = createEClass(FIELD_RELATION_INTERPRETATION); 2019 exactScopeDefinitionEClass = createEClass(EXACT_SCOPE_DEFINITION);
1698 createEAttribute(fieldRelationInterpretationEClass, FIELD_RELATION_INTERPRETATION__CONTAINMENT); 2020 createEAttribute(exactScopeDefinitionEClass, EXACT_SCOPE_DEFINITION__EXACT_SCOPE);
1699 createEReference(fieldRelationInterpretationEClass, FIELD_RELATION_INTERPRETATION__SYMBOL);
1700 createEReference(fieldRelationInterpretationEClass, FIELD_RELATION_INTERPRETATION__MULTIPLICITY);
1701 createEReference(fieldRelationInterpretationEClass, FIELD_RELATION_INTERPRETATION__TARGET);
1702 2021
1703 globalRelationInterpretationEClass = createEClass(GLOBAL_RELATION_INTERPRETATION); 2022 boundedScopeDefinitionEClass = createEClass(BOUNDED_SCOPE_DEFINITION);
1704 createEAttribute(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__CONTAINMENT); 2023 createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__LOWER_BOUND);
1705 createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__SYMBOL); 2024 createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__UPPER_BOUND);
1706 createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY);
1707 createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__SOURCE);
1708 createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY);
1709 createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__TARGET);
1710 2025
1711 multiplicityDefinitionEClass = createEClass(MULTIPLICITY_DEFINITION); 2026 lowerBoundedScopeDefinitionEClass = createEClass(LOWER_BOUNDED_SCOPE_DEFINITION);
1712 createEAttribute(multiplicityDefinitionEClass, MULTIPLICITY_DEFINITION__LOWER); 2027 createEAttribute(lowerBoundedScopeDefinitionEClass, LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND);
1713 createEAttribute(multiplicityDefinitionEClass, MULTIPLICITY_DEFINITION__UPPER);
1714 createEAttribute(multiplicityDefinitionEClass, MULTIPLICITY_DEFINITION__UNLIMITED_UPPER);
1715 2028
1716 booleanTrueEClass = createEClass(BOOLEAN_TRUE); 2029 objectiveDefinitionEClass = createEClass(OBJECTIVE_DEFINITION);
2030 createEAttribute(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__KIND);
2031 createEReference(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__OBJECTIVE);
1717 2032
1718 booleanFalseEClass = createEClass(BOOLEAN_FALSE); 2033 namedElementEClass = createEClass(NAMED_ELEMENT);
2034 createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME);
1719 2035
1720 trueEClass = createEClass(TRUE); 2036 assertionEClass = createEClass(ASSERTION);
2037 createEReference(assertionEClass, ASSERTION__BODY);
2038 createEReference(assertionEClass, ASSERTION__RANGE);
1721 2039
1722 falseEClass = createEClass(FALSE); 2040 disjunctionEClass = createEClass(DISJUNCTION);
2041 createEReference(disjunctionEClass, DISJUNCTION__CHILDREN);
1723 2042
1724 unknownEClass = createEClass(UNKNOWN); 2043 switchEClass = createEClass(SWITCH);
2044 createEReference(switchEClass, SWITCH__CASES);
1725 2045
1726 errorEClass = createEClass(ERROR); 2046 conjunctionEClass = createEClass(CONJUNCTION);
2047 createEReference(conjunctionEClass, CONJUNCTION__CHILDREN);
1727 2048
1728 positiveEClass = createEClass(POSITIVE); 2049 comparisonEClass = createEClass(COMPARISON);
2050 createEReference(comparisonEClass, COMPARISON__LEFT);
2051 createEAttribute(comparisonEClass, COMPARISON__OP);
2052 createEReference(comparisonEClass, COMPARISON__RIGHT);
1729 2053
1730 negativeEClass = createEClass(NEGATIVE); 2054 binaryExpressionEClass = createEClass(BINARY_EXPRESSION);
2055 createEReference(binaryExpressionEClass, BINARY_EXPRESSION__LEFT);
2056 createEAttribute(binaryExpressionEClass, BINARY_EXPRESSION__OP);
2057 createEReference(binaryExpressionEClass, BINARY_EXPRESSION__RIGHT);
1731 2058
1732 reflexiveClosureEClass = createEClass(REFLEXIVE_CLOSURE); 2059 unaryExpressionEClass = createEClass(UNARY_EXPRESSION);
2060 createEAttribute(unaryExpressionEClass, UNARY_EXPRESSION__OP);
2061 createEReference(unaryExpressionEClass, UNARY_EXPRESSION__BODY);
1733 2062
1734 irreflexiveClosureEClass = createEClass(IRREFLEXIVE_CLOSURE); 2063 // Create enums
2064 metricTypeEEnum = createEEnum(METRIC_TYPE);
2065 binaryOperatorEEnum = createEEnum(BINARY_OPERATOR);
2066 unaryOpEEnum = createEEnum(UNARY_OP);
2067 aggregationOpEEnum = createEEnum(AGGREGATION_OP);
2068 logicValueEEnum = createEEnum(LOGIC_VALUE);
2069 objectiveKindEEnum = createEEnum(OBJECTIVE_KIND);
1735 } 2070 }
1736 2071
1737 /** 2072 /**
@@ -1763,195 +2098,255 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1763 // Set bounds for type parameters 2098 // Set bounds for type parameters
1764 2099
1765 // Add supertypes to classes 2100 // Add supertypes to classes
1766 interpretationEClass.getESuperTypes().add(this.getStatement()); 2101 predicateDefinitionEClass.getESuperTypes().add(this.getStatement());
1767 basicInterpretationEClass.getESuperTypes().add(this.getInterpretation()); 2102 unnamedErrorPrediateDefinitionEClass.getESuperTypes().add(this.getStatement());
1768 modelSymbolEClass.getESuperTypes().add(this.getSymbol()); 2103 defaultDefinitionEClass.getESuperTypes().add(this.getStatement());
1769 partialitySymbolEClass.getESuperTypes().add(this.getSymbol()); 2104 externPredicateDefinitionEClass.getESuperTypes().add(this.getStatement());
1770 existSymbolEClass.getESuperTypes().add(this.getPartialitySymbol()); 2105 metricDefinitionEClass.getESuperTypes().add(this.getStatement());
1771 equalsSymbolEClass.getESuperTypes().add(this.getPartialitySymbol()); 2106 externMetricDefinitionEClass.getESuperTypes().add(this.getStatement());
1772 dataSymbolEClass.getESuperTypes().add(this.getSymbol()); 2107 expressionEClass.getESuperTypes().add(this.getStatement());
1773 booleanSymbolEClass.getESuperTypes().add(this.getDataSymbol()); 2108 ifElseEClass.getESuperTypes().add(this.getExpression());
1774 integerSymbolEClass.getESuperTypes().add(this.getDataSymbol()); 2109 caseEClass.getESuperTypes().add(this.getExpression());
1775 realSymbolEClass.getESuperTypes().add(this.getDataSymbol()); 2110 countEClass.getESuperTypes().add(this.getExpression());
1776 stringSymbolEClass.getESuperTypes().add(this.getDataSymbol()); 2111 aggregationEClass.getESuperTypes().add(this.getExpression());
1777 objectEClass.getESuperTypes().add(this.getComplexObject()); 2112 callEClass.getESuperTypes().add(this.getExpression());
1778 namedObjectEClass.getESuperTypes().add(this.getObject()); 2113 expressionArgumentEClass.getESuperTypes().add(this.getArgument());
1779 namedObjectEClass.getESuperTypes().add(this.getLiteral()); 2114 starArgumentEClass.getESuperTypes().add(this.getArgument());
1780 unnamedObjectEClass.getESuperTypes().add(this.getObject()); 2115 typedArgumentEClass.getESuperTypes().add(this.getArgument());
1781 dataObjectEClass.getESuperTypes().add(this.getObject()); 2116 typedStarArgumentEClass.getESuperTypes().add(this.getArgument());
1782 dataObjectEClass.getESuperTypes().add(this.getLiteral()); 2117 referenceEClass.getESuperTypes().add(this.getExpression());
1783 booleanObjectEClass.getESuperTypes().add(this.getDataObject()); 2118 intervalEClass.getESuperTypes().add(this.getExpression());
1784 intObjectEClass.getESuperTypes().add(this.getDataObject()); 2119 literalEClass.getESuperTypes().add(this.getExpression());
1785 realObjectEClass.getESuperTypes().add(this.getDataObject()); 2120 logicLiteralEClass.getESuperTypes().add(this.getLiteral());
1786 stringObjectEClass.getESuperTypes().add(this.getDataObject()); 2121 numericLiteralEClass.getESuperTypes().add(this.getLiteral());
1787 predicateEClass.getESuperTypes().add(this.getStatement()); 2122 infinityLiteralEClass.getESuperTypes().add(this.getLiteral());
1788 variableEClass.getESuperTypes().add(this.getLiteral()); 2123 emptyIntervalLiteralEClass.getESuperTypes().add(this.getLiteral());
1789 allInstancesEClass.getESuperTypes().add(this.getComplexObject()); 2124 stringLiteralEClass.getESuperTypes().add(this.getLiteral());
1790 allObjectsEClass.getESuperTypes().add(this.getComplexObject()); 2125 manyMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
1791 defaultInterpretationEClass.getESuperTypes().add(this.getInterpretation()); 2126 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
1792 cdInterpretationEClass.getESuperTypes().add(this.getInterpretation()); 2127 boundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
1793 classInterpretationEClass.getESuperTypes().add(this.getCDInterpretation()); 2128 scopeDefinitionEClass.getESuperTypes().add(this.getStatement());
1794 enumInterpretationEClass.getESuperTypes().add(this.getCDInterpretation()); 2129 exactScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
1795 globalRelationInterpretationEClass.getESuperTypes().add(this.getCDInterpretation()); 2130 boundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
1796 booleanTrueEClass.getESuperTypes().add(this.getBooleanValue()); 2131 lowerBoundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
1797 booleanFalseEClass.getESuperTypes().add(this.getBooleanValue()); 2132 objectiveDefinitionEClass.getESuperTypes().add(this.getStatement());
1798 trueEClass.getESuperTypes().add(this.getTruthValue()); 2133 assertionEClass.getESuperTypes().add(this.getStatement());
1799 falseEClass.getESuperTypes().add(this.getTruthValue()); 2134 disjunctionEClass.getESuperTypes().add(this.getExpression());
1800 unknownEClass.getESuperTypes().add(this.getTruthValue()); 2135 switchEClass.getESuperTypes().add(this.getExpression());
1801 errorEClass.getESuperTypes().add(this.getTruthValue()); 2136 conjunctionEClass.getESuperTypes().add(this.getExpression());
1802 positiveEClass.getESuperTypes().add(this.getPolarity()); 2137 comparisonEClass.getESuperTypes().add(this.getExpression());
1803 negativeEClass.getESuperTypes().add(this.getPolarity()); 2138 binaryExpressionEClass.getESuperTypes().add(this.getExpression());
1804 reflexiveClosureEClass.getESuperTypes().add(this.getClosureType()); 2139 unaryExpressionEClass.getESuperTypes().add(this.getExpression());
1805 irreflexiveClosureEClass.getESuperTypes().add(this.getClosureType());
1806 2140
1807 // Initialize classes and features; add operations and parameters 2141 // Initialize classes and features; add operations and parameters
1808 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2142 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1809 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); 2143 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);
1810 2144
1811 initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2145 initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2146 initEAttribute(getStatement_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2147 initEAttribute(getStatement_Name(), ecorePackage.getEString(), "name", null, 0, 1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2148 initEReference(getStatement_Superclasses(), this.getNamedElement(), null, "superclasses", null, 0, -1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2149 initEReference(getStatement_Members(), this.getMemberDefinition(), null, "members", null, 0, -1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1812 2150
1813 initEClass(booleanValueEClass, BooleanValue.class, "BooleanValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2151 initEClass(predicateDefinitionEClass, PredicateDefinition.class, "PredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1814 2152 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);
1815 initEClass(truthValueEClass, TruthValue.class, "TruthValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2153 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);
1816 2154 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);
1817 initEClass(interpretationEClass, Interpretation.class, "Interpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2155 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);
1818
1819 initEClass(basicInterpretationEClass, BasicInterpretation.class, "BasicInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1820 initEReference(getBasicInterpretation_Symbol(), this.getSymbol(), null, "symbol", null, 0, 1, BasicInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1821 initEReference(getBasicInterpretation_Objects(), this.getComplexObject(), null, "objects", null, 0, -1, BasicInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1822 initEReference(getBasicInterpretation_Value(), this.getTruthValue(), null, "value", null, 0, 1, BasicInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1823
1824 initEClass(symbolEClass, Symbol.class, "Symbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1825
1826 initEClass(modelSymbolEClass, ModelSymbol.class, "ModelSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1827 initEAttribute(getModelSymbol_Name(), ecorePackage.getEString(), "name", null, 0, 1, ModelSymbol.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1828
1829 initEClass(partialitySymbolEClass, PartialitySymbol.class, "PartialitySymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1830 2156
1831 initEClass(existSymbolEClass, ExistSymbol.class, "ExistSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2157 initEClass(unnamedErrorPrediateDefinitionEClass, UnnamedErrorPrediateDefinition.class, "UnnamedErrorPrediateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2158 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);
2159 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);
1832 2160
1833 initEClass(equalsSymbolEClass, EqualsSymbol.class, "EqualsSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2161 initEClass(defaultDefinitionEClass, DefaultDefinition.class, "DefaultDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2162 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);
2163 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);
1834 2164
1835 initEClass(dataSymbolEClass, DataSymbol.class, "DataSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2165 initEClass(externPredicateDefinitionEClass, ExternPredicateDefinition.class, "ExternPredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2166 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);
1836 2167
1837 initEClass(booleanSymbolEClass, BooleanSymbol.class, "BooleanSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2168 initEClass(metricDefinitionEClass, MetricDefinition.class, "MetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2169 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);
2170 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);
2171 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);
1838 2172
1839 initEClass(integerSymbolEClass, IntegerSymbol.class, "IntegerSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2173 initEClass(externMetricDefinitionEClass, ExternMetricDefinition.class, "ExternMetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2174 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);
2175 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);
1840 2176
1841 initEClass(realSymbolEClass, RealSymbol.class, "RealSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2177 initEClass(expressionEClass, Expression.class, "Expression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1842 2178
1843 initEClass(stringSymbolEClass, StringSymbol.class, "StringSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2179 initEClass(ifElseEClass, IfElse.class, "IfElse", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2180 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);
2181 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);
2182 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);
1844 2183
1845 initEClass(complexObjectEClass, ComplexObject.class, "ComplexObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2184 initEClass(caseEClass, Case.class, "Case", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2185 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);
2186 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);
1846 2187
1847 initEClass(objectEClass, org.eclipse.viatra.solver.language.solverLanguage.Object.class, "Object", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2188 initEClass(countEClass, Count.class, "Count", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2189 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);
1848 2190
1849 initEClass(namedObjectEClass, NamedObject.class, "NamedObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2191 initEClass(aggregationEClass, Aggregation.class, "Aggregation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1850 initEAttribute(getNamedObject_Name(), ecorePackage.getEString(), "name", null, 0, 1, NamedObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2192 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);
2193 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);
2194 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);
1851 2195
1852 initEClass(unnamedObjectEClass, UnnamedObject.class, "UnnamedObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2196 initEClass(callEClass, Call.class, "Call", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1853 initEAttribute(getUnnamedObject_Name(), ecorePackage.getEString(), "name", null, 0, 1, UnnamedObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2197 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);
2198 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);
2199 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);
2200 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);
1854 2201
1855 initEClass(dataObjectEClass, DataObject.class, "DataObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2202 initEClass(argumentListEClass, ArgumentList.class, "ArgumentList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2203 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);
1856 2204
1857 initEClass(booleanObjectEClass, BooleanObject.class, "BooleanObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2205 initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1858 initEReference(getBooleanObject_Value(), this.getBooleanValue(), null, "value", null, 0, 1, BooleanObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1859 2206
1860 initEClass(intObjectEClass, IntObject.class, "IntObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2207 initEClass(expressionArgumentEClass, ExpressionArgument.class, "ExpressionArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1861 initEAttribute(getIntObject_Value(), ecorePackage.getEInt(), "value", null, 0, 1, IntObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2208 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);
1862 2209
1863 initEClass(realObjectEClass, RealObject.class, "RealObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2210 initEClass(starArgumentEClass, StarArgument.class, "StarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1864 initEAttribute(getRealObject_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1, RealObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1865 2211
1866 initEClass(stringObjectEClass, StringObject.class, "StringObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2212 initEClass(typedArgumentEClass, TypedArgument.class, "TypedArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1867 initEAttribute(getStringObject_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2213 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);
2214 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);
1868 2215
1869 initEClass(predicateEClass, Predicate.class, "Predicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2216 initEClass(typedStarArgumentEClass, TypedStarArgument.class, "TypedStarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1870 initEAttribute(getPredicate_IsError(), ecorePackage.getEBoolean(), "isError", null, 0, 1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2217 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);
1871 initEReference(getPredicate_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1872 initEReference(getPredicate_Parameters(), this.getParameter(), null, "parameters", null, 0, -1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1873 initEReference(getPredicate_Bodies(), this.getPatternBody(), null, "bodies", null, 0, -1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1874 2218
1875 initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2219 initEClass(referenceEClass, Reference.class, "Reference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1876 initEReference(getParameter_Variable(), this.getVariable(), null, "variable", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2220 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);
1877 initEReference(getParameter_Type(), this.getSymbol(), null, "type", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1878 2221
1879 initEClass(patternBodyEClass, PatternBody.class, "PatternBody", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2222 initEClass(intervalEClass, Interval.class, "Interval", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1880 initEReference(getPatternBody_Constraints(), this.getConstraint(), null, "constraints", null, 0, -1, PatternBody.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2223 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);
1881 2224 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);
1882 initEClass(polarityEClass, Polarity.class, "Polarity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1883
1884 initEClass(constraintEClass, Constraint.class, "Constraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1885 initEReference(getConstraint_Polarity(), this.getPolarity(), null, "polarity", null, 0, 1, Constraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1886 initEReference(getConstraint_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, Constraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1887 initEReference(getConstraint_Params(), this.getLiteral(), null, "params", null, 0, -1, Constraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1888 initEReference(getConstraint_ClosureType(), this.getClosureType(), null, "closureType", null, 0, 1, Constraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1889
1890 initEClass(closureTypeEClass, ClosureType.class, "ClosureType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1891 2225
1892 initEClass(literalEClass, Literal.class, "Literal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2226 initEClass(literalEClass, Literal.class, "Literal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1893 2227
1894 initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2228 initEClass(logicLiteralEClass, LogicLiteral.class, "LogicLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1895 initEAttribute(getVariable_Name(), ecorePackage.getEString(), "name", null, 0, 1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2229 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);
1896
1897 initEClass(allInstancesEClass, AllInstances.class, "AllInstances", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1898 initEReference(getAllInstances_Symbol(), this.getSymbol(), null, "symbol", null, 0, 1, AllInstances.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1899
1900 initEClass(allObjectsEClass, AllObjects.class, "AllObjects", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1901
1902 initEClass(defaultInterpretationEClass, DefaultInterpretation.class, "DefaultInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1903 initEReference(getDefaultInterpretation_Interpretation(), this.getBasicInterpretation(), null, "interpretation", null, 0, 1, DefaultInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1904
1905 initEClass(cdInterpretationEClass, CDInterpretation.class, "CDInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1906
1907 initEClass(classInterpretationEClass, ClassInterpretation.class, "ClassInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1908 initEAttribute(getClassInterpretation_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, ClassInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1909 initEReference(getClassInterpretation_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, ClassInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1910 initEReference(getClassInterpretation_Supertypes(), this.getModelSymbol(), null, "supertypes", null, 0, -1, ClassInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1911 initEReference(getClassInterpretation_Fielt(), this.getFieldRelationInterpretation(), null, "fielt", null, 0, -1, ClassInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1912
1913 initEClass(enumInterpretationEClass, EnumInterpretation.class, "EnumInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1914 initEReference(getEnumInterpretation_Symbol(), this.getModelSymbol(), null, "Symbol", null, 0, 1, EnumInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1915 initEReference(getEnumInterpretation_Objects(), this.getNamedObject(), null, "objects", null, 0, -1, EnumInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1916
1917 initEClass(fieldRelationInterpretationEClass, FieldRelationInterpretation.class, "FieldRelationInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1918 initEAttribute(getFieldRelationInterpretation_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1, FieldRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1919 initEReference(getFieldRelationInterpretation_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, FieldRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1920 initEReference(getFieldRelationInterpretation_Multiplicity(), this.getMultiplicityDefinition(), null, "multiplicity", null, 0, 1, FieldRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1921 initEReference(getFieldRelationInterpretation_Target(), this.getSymbol(), null, "target", null, 0, 1, FieldRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1922
1923 initEClass(globalRelationInterpretationEClass, GlobalRelationInterpretation.class, "GlobalRelationInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1924 initEAttribute(getGlobalRelationInterpretation_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1925 initEReference(getGlobalRelationInterpretation_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1926 initEReference(getGlobalRelationInterpretation_SourceMultiplicity(), this.getMultiplicityDefinition(), null, "sourceMultiplicity", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1927 initEReference(getGlobalRelationInterpretation_Source(), this.getSymbol(), null, "source", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1928 initEReference(getGlobalRelationInterpretation_TargetMultiplicity(), this.getMultiplicityDefinition(), null, "targetMultiplicity", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1929 initEReference(getGlobalRelationInterpretation_Target(), this.getSymbol(), null, "target", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1930
1931 initEClass(multiplicityDefinitionEClass, MultiplicityDefinition.class, "MultiplicityDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1932 initEAttribute(getMultiplicityDefinition_Lower(), ecorePackage.getEInt(), "lower", null, 0, 1, MultiplicityDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1933 initEAttribute(getMultiplicityDefinition_Upper(), ecorePackage.getEInt(), "upper", null, 0, 1, MultiplicityDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1934 initEAttribute(getMultiplicityDefinition_UnlimitedUpper(), ecorePackage.getEBoolean(), "unlimitedUpper", null, 0, 1, MultiplicityDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1935
1936 initEClass(booleanTrueEClass, BooleanTrue.class, "BooleanTrue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1937
1938 initEClass(booleanFalseEClass, BooleanFalse.class, "BooleanFalse", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1939
1940 initEClass(trueEClass, True.class, "True", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1941
1942 initEClass(falseEClass, False.class, "False", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1943
1944 initEClass(unknownEClass, Unknown.class, "Unknown", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1945 2230
1946 initEClass(errorEClass, org.eclipse.viatra.solver.language.solverLanguage.Error.class, "Error", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2231 initEClass(numericLiteralEClass, NumericLiteral.class, "NumericLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2232 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);
1947 2233
1948 initEClass(positiveEClass, Positive.class, "Positive", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2234 initEClass(infinityLiteralEClass, InfinityLiteral.class, "InfinityLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1949 2235
1950 initEClass(negativeEClass, Negative.class, "Negative", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2236 initEClass(emptyIntervalLiteralEClass, EmptyIntervalLiteral.class, "EmptyIntervalLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1951 2237
1952 initEClass(reflexiveClosureEClass, ReflexiveClosure.class, "ReflexiveClosure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2238 initEClass(stringLiteralEClass, StringLiteral.class, "StringLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2239 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);
1953 2240
1954 initEClass(irreflexiveClosureEClass, IrreflexiveClosure.class, "IrreflexiveClosure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2241 initEClass(memberDefinitionEClass, MemberDefinition.class, "MemberDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2242 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);
2243 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);
2244 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);
2245 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);
2246 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);
2247
2248 initEClass(multiplicityEClass, Multiplicity.class, "Multiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2249
2250 initEClass(manyMultiplicityEClass, ManyMultiplicity.class, "ManyMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2251
2252 initEClass(exactMultiplicityEClass, ExactMultiplicity.class, "ExactMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2253 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);
2254
2255 initEClass(boundedMultiplicityEClass, BoundedMultiplicity.class, "BoundedMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2256 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);
2257 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);
2258
2259 initEClass(scopeDefinitionEClass, ScopeDefinition.class, "ScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2260 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);
2261
2262 initEClass(exactScopeDefinitionEClass, ExactScopeDefinition.class, "ExactScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2263 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);
2264
2265 initEClass(boundedScopeDefinitionEClass, BoundedScopeDefinition.class, "BoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2266 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);
2267 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);
2268
2269 initEClass(lowerBoundedScopeDefinitionEClass, LowerBoundedScopeDefinition.class, "LowerBoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2270 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);
2271
2272 initEClass(objectiveDefinitionEClass, ObjectiveDefinition.class, "ObjectiveDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2273 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);
2274 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);
2275
2276 initEClass(namedElementEClass, NamedElement.class, "NamedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2277 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);
2278
2279 initEClass(assertionEClass, Assertion.class, "Assertion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2280 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);
2281 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);
2282
2283 initEClass(disjunctionEClass, Disjunction.class, "Disjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2284 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);
2285
2286 initEClass(switchEClass, Switch.class, "Switch", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2287 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);
2288
2289 initEClass(conjunctionEClass, Conjunction.class, "Conjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2290 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);
2291
2292 initEClass(comparisonEClass, Comparison.class, "Comparison", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2293 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);
2294 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);
2295 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);
2296
2297 initEClass(binaryExpressionEClass, BinaryExpression.class, "BinaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2298 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);
2299 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);
2300 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);
2301
2302 initEClass(unaryExpressionEClass, UnaryExpression.class, "UnaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2303 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);
2304 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);
2305
2306 // Initialize enums and add enum literals
2307 initEEnum(metricTypeEEnum, MetricType.class, "MetricType");
2308 addEEnumLiteral(metricTypeEEnum, MetricType.INT);
2309 addEEnumLiteral(metricTypeEEnum, MetricType.REAL);
2310
2311 initEEnum(binaryOperatorEEnum, BinaryOperator.class, "BinaryOperator");
2312 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.EQ);
2313 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.NOT_EQ);
2314 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS);
2315 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS_EQ);
2316 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER);
2317 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER_EQ);
2318 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.IN);
2319 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.ADD);
2320 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.SUB);
2321 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.MUL);
2322 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.DIV);
2323 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.POW);
2324
2325 initEEnum(unaryOpEEnum, UnaryOp.class, "UnaryOp");
2326 addEEnumLiteral(unaryOpEEnum, UnaryOp.NEG);
2327 addEEnumLiteral(unaryOpEEnum, UnaryOp.PLUS);
2328 addEEnumLiteral(unaryOpEEnum, UnaryOp.MINUS);
2329 addEEnumLiteral(unaryOpEEnum, UnaryOp.MAY);
2330 addEEnumLiteral(unaryOpEEnum, UnaryOp.MUST);
2331 addEEnumLiteral(unaryOpEEnum, UnaryOp.CURRENT);
2332
2333 initEEnum(aggregationOpEEnum, AggregationOp.class, "AggregationOp");
2334 addEEnumLiteral(aggregationOpEEnum, AggregationOp.ONLY);
2335 addEEnumLiteral(aggregationOpEEnum, AggregationOp.SUM);
2336 addEEnumLiteral(aggregationOpEEnum, AggregationOp.PROD);
2337 addEEnumLiteral(aggregationOpEEnum, AggregationOp.AVG);
2338 addEEnumLiteral(aggregationOpEEnum, AggregationOp.MIN);
2339 addEEnumLiteral(aggregationOpEEnum, AggregationOp.MAX);
2340
2341 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue");
2342 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE);
2343 addEEnumLiteral(logicValueEEnum, LogicValue.FALSE);
2344 addEEnumLiteral(logicValueEEnum, LogicValue.UNKNOWN);
2345 addEEnumLiteral(logicValueEEnum, LogicValue.ERROR);
2346
2347 initEEnum(objectiveKindEEnum, ObjectiveKind.class, "ObjectiveKind");
2348 addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MINIMIZE);
2349 addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MAXIMIZE);
1955 2350
1956 // Create resource 2351 // Create resource
1957 createResource(eNS_URI); 2352 createResource(eNS_URI);
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java
index faf3f06a..b0cecaab 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringSymbolImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java
@@ -1,28 +1,28 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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.StringSymbol; 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>String Symbol</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 StringSymbolImpl extends DataSymbolImpl implements StringSymbol 18public class StarArgumentImpl extends ArgumentImpl implements StarArgument
19{ 19{
20 /** 20 /**
21 * <!-- begin-user-doc --> 21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc --> 22 * <!-- end-user-doc -->
23 * @generated 23 * @generated
24 */ 24 */
25 protected StringSymbolImpl() 25 protected StarArgumentImpl()
26 { 26 {
27 super(); 27 super();
28 } 28 }
@@ -35,7 +35,7 @@ public class StringSymbolImpl extends DataSymbolImpl implements StringSymbol
35 @Override 35 @Override
36 protected EClass eStaticClass() 36 protected EClass eStaticClass()
37 { 37 {
38 return SolverLanguagePackage.Literals.STRING_SYMBOL; 38 return SolverLanguagePackage.Literals.STAR_ARGUMENT;
39 } 39 }
40 40
41} //StringSymbolImpl 41} //StarArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
index 6e660396..dbd697ec 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/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
@@ -1,12 +1,27 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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 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
6import org.eclipse.emf.ecore.EClass; 13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
7 15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 17import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9 18
19import org.eclipse.emf.ecore.util.EObjectContainmentEList;
20import org.eclipse.emf.ecore.util.EObjectResolvingEList;
21import org.eclipse.emf.ecore.util.InternalEList;
22
23import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
24import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 25import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
11import org.eclipse.viatra.solver.language.solverLanguage.Statement; 26import org.eclipse.viatra.solver.language.solverLanguage.Statement;
12 27
@@ -14,12 +29,81 @@ import org.eclipse.viatra.solver.language.solverLanguage.Statement;
14 * <!-- begin-user-doc --> 29 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Statement</b></em>'. 30 * An implementation of the model object '<em><b>Statement</b></em>'.
16 * <!-- end-user-doc --> 31 * <!-- end-user-doc -->
32 * <p>
33 * The following features are implemented:
34 * </p>
35 * <ul>
36 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#isAbstract <em>Abstract</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#getName <em>Name</em>}</li>
38 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#getSuperclasses <em>Superclasses</em>}</li>
39 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#getMembers <em>Members</em>}</li>
40 * </ul>
17 * 41 *
18 * @generated 42 * @generated
19 */ 43 */
20public class StatementImpl extends MinimalEObjectImpl.Container implements Statement 44public class StatementImpl extends MinimalEObjectImpl.Container implements Statement
21{ 45{
22 /** 46 /**
47 * The default value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #isAbstract()
51 * @generated
52 * @ordered
53 */
54 protected static final boolean ABSTRACT_EDEFAULT = false;
55
56 /**
57 * The cached value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #isAbstract()
61 * @generated
62 * @ordered
63 */
64 protected boolean abstract_ = ABSTRACT_EDEFAULT;
65
66 /**
67 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #getName()
71 * @generated
72 * @ordered
73 */
74 protected static final String NAME_EDEFAULT = null;
75
76 /**
77 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @see #getName()
81 * @generated
82 * @ordered
83 */
84 protected String name = NAME_EDEFAULT;
85
86 /**
87 * The cached value of the '{@link #getSuperclasses() <em>Superclasses</em>}' reference list.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @see #getSuperclasses()
91 * @generated
92 * @ordered
93 */
94 protected EList<NamedElement> superclasses;
95
96 /**
97 * The cached value of the '{@link #getMembers() <em>Members</em>}' containment reference list.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @see #getMembers()
101 * @generated
102 * @ordered
103 */
104 protected EList<MemberDefinition> members;
105
106 /**
23 * <!-- begin-user-doc --> 107 * <!-- begin-user-doc -->
24 * <!-- end-user-doc --> 108 * <!-- end-user-doc -->
25 * @generated 109 * @generated
@@ -40,4 +124,218 @@ public class StatementImpl extends MinimalEObjectImpl.Container implements State
40 return SolverLanguagePackage.Literals.STATEMENT; 124 return SolverLanguagePackage.Literals.STATEMENT;
41 } 125 }
42 126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 @Override
133 public boolean isAbstract()
134 {
135 return abstract_;
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public void setAbstract(boolean newAbstract)
145 {
146 boolean oldAbstract = abstract_;
147 abstract_ = newAbstract;
148 if (eNotificationRequired())
149 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STATEMENT__ABSTRACT, oldAbstract, abstract_));
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 @Override
158 public String getName()
159 {
160 return name;
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public void setName(String newName)
170 {
171 String oldName = name;
172 name = newName;
173 if (eNotificationRequired())
174 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STATEMENT__NAME, oldName, name));
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public EList<NamedElement> getSuperclasses()
184 {
185 if (superclasses == null)
186 {
187 superclasses = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, SolverLanguagePackage.STATEMENT__SUPERCLASSES);
188 }
189 return superclasses;
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 @Override
198 public EList<MemberDefinition> getMembers()
199 {
200 if (members == null)
201 {
202 members = new EObjectContainmentEList<MemberDefinition>(MemberDefinition.class, this, SolverLanguagePackage.STATEMENT__MEMBERS);
203 }
204 return members;
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 {
215 switch (featureID)
216 {
217 case SolverLanguagePackage.STATEMENT__MEMBERS:
218 return ((InternalEList<?>)getMembers()).basicRemove(otherEnd, 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 {
231 switch (featureID)
232 {
233 case SolverLanguagePackage.STATEMENT__ABSTRACT:
234 return isAbstract();
235 case SolverLanguagePackage.STATEMENT__NAME:
236 return getName();
237 case SolverLanguagePackage.STATEMENT__SUPERCLASSES:
238 return getSuperclasses();
239 case SolverLanguagePackage.STATEMENT__MEMBERS:
240 return getMembers();
241 }
242 return super.eGet(featureID, resolve, coreType);
243 }
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 @SuppressWarnings("unchecked")
251 @Override
252 public void eSet(int featureID, Object newValue)
253 {
254 switch (featureID)
255 {
256 case SolverLanguagePackage.STATEMENT__ABSTRACT:
257 setAbstract((Boolean)newValue);
258 return;
259 case SolverLanguagePackage.STATEMENT__NAME:
260 setName((String)newValue);
261 return;
262 case SolverLanguagePackage.STATEMENT__SUPERCLASSES:
263 getSuperclasses().clear();
264 getSuperclasses().addAll((Collection<? extends NamedElement>)newValue);
265 return;
266 case SolverLanguagePackage.STATEMENT__MEMBERS:
267 getMembers().clear();
268 getMembers().addAll((Collection<? extends MemberDefinition>)newValue);
269 return;
270 }
271 super.eSet(featureID, newValue);
272 }
273
274 /**
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @generated
278 */
279 @Override
280 public void eUnset(int featureID)
281 {
282 switch (featureID)
283 {
284 case SolverLanguagePackage.STATEMENT__ABSTRACT:
285 setAbstract(ABSTRACT_EDEFAULT);
286 return;
287 case SolverLanguagePackage.STATEMENT__NAME:
288 setName(NAME_EDEFAULT);
289 return;
290 case SolverLanguagePackage.STATEMENT__SUPERCLASSES:
291 getSuperclasses().clear();
292 return;
293 case SolverLanguagePackage.STATEMENT__MEMBERS:
294 getMembers().clear();
295 return;
296 }
297 super.eUnset(featureID);
298 }
299
300 /**
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 */
305 @Override
306 public boolean eIsSet(int featureID)
307 {
308 switch (featureID)
309 {
310 case SolverLanguagePackage.STATEMENT__ABSTRACT:
311 return abstract_ != ABSTRACT_EDEFAULT;
312 case SolverLanguagePackage.STATEMENT__NAME:
313 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
314 case SolverLanguagePackage.STATEMENT__SUPERCLASSES:
315 return superclasses != null && !superclasses.isEmpty();
316 case SolverLanguagePackage.STATEMENT__MEMBERS:
317 return members != null && !members.isEmpty();
318 }
319 return super.eIsSet(featureID);
320 }
321
322 /**
323 * <!-- begin-user-doc -->
324 * <!-- end-user-doc -->
325 * @generated
326 */
327 @Override
328 public String toString()
329 {
330 if (eIsProxy()) return super.toString();
331
332 StringBuilder result = new StringBuilder(super.toString());
333 result.append(" (abstract: ");
334 result.append(abstract_);
335 result.append(", name: ");
336 result.append(name);
337 result.append(')');
338 return result.toString();
339 }
340
43} //StatementImpl 341} //StatementImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java
index 7a7866a7..2b0b2720 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringObjectImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 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
@@ -10,22 +10,22 @@ import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.impl.ENotificationImpl; 10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11 11
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
13import org.eclipse.viatra.solver.language.solverLanguage.StringObject; 13import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral;
14 14
15/** 15/**
16 * <!-- begin-user-doc --> 16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>String Object</b></em>'. 17 * An implementation of the model object '<em><b>String Literal</b></em>'.
18 * <!-- end-user-doc --> 18 * <!-- end-user-doc -->
19 * <p> 19 * <p>
20 * The following features are implemented: 20 * The following features are implemented:
21 * </p> 21 * </p>
22 * <ul> 22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl#getValue <em>Value</em>}</li> 23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl#getValue <em>Value</em>}</li>
24 * </ul> 24 * </ul>
25 * 25 *
26 * @generated 26 * @generated
27 */ 27 */
28public class StringObjectImpl extends DataObjectImpl implements StringObject 28public class StringLiteralImpl extends LiteralImpl implements StringLiteral
29{ 29{
30 /** 30 /**
31 * The default value of the '{@link #getValue() <em>Value</em>}' attribute. 31 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
@@ -52,7 +52,7 @@ public class StringObjectImpl extends DataObjectImpl implements StringObject
52 * <!-- end-user-doc --> 52 * <!-- end-user-doc -->
53 * @generated 53 * @generated
54 */ 54 */
55 protected StringObjectImpl() 55 protected StringLiteralImpl()
56 { 56 {
57 super(); 57 super();
58 } 58 }
@@ -65,7 +65,7 @@ public class StringObjectImpl extends DataObjectImpl implements StringObject
65 @Override 65 @Override
66 protected EClass eStaticClass() 66 protected EClass eStaticClass()
67 { 67 {
68 return SolverLanguagePackage.Literals.STRING_OBJECT; 68 return SolverLanguagePackage.Literals.STRING_LITERAL;
69 } 69 }
70 70
71 /** 71 /**
@@ -90,7 +90,7 @@ public class StringObjectImpl extends DataObjectImpl implements StringObject
90 String oldValue = value; 90 String oldValue = value;
91 value = newValue; 91 value = newValue;
92 if (eNotificationRequired()) 92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STRING_OBJECT__VALUE, oldValue, value)); 93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STRING_LITERAL__VALUE, oldValue, value));
94 } 94 }
95 95
96 /** 96 /**
@@ -103,7 +103,7 @@ public class StringObjectImpl extends DataObjectImpl implements StringObject
103 { 103 {
104 switch (featureID) 104 switch (featureID)
105 { 105 {
106 case SolverLanguagePackage.STRING_OBJECT__VALUE: 106 case SolverLanguagePackage.STRING_LITERAL__VALUE:
107 return getValue(); 107 return getValue();
108 } 108 }
109 return super.eGet(featureID, resolve, coreType); 109 return super.eGet(featureID, resolve, coreType);
@@ -119,7 +119,7 @@ public class StringObjectImpl extends DataObjectImpl implements StringObject
119 { 119 {
120 switch (featureID) 120 switch (featureID)
121 { 121 {
122 case SolverLanguagePackage.STRING_OBJECT__VALUE: 122 case SolverLanguagePackage.STRING_LITERAL__VALUE:
123 setValue((String)newValue); 123 setValue((String)newValue);
124 return; 124 return;
125 } 125 }
@@ -136,7 +136,7 @@ public class StringObjectImpl extends DataObjectImpl implements StringObject
136 { 136 {
137 switch (featureID) 137 switch (featureID)
138 { 138 {
139 case SolverLanguagePackage.STRING_OBJECT__VALUE: 139 case SolverLanguagePackage.STRING_LITERAL__VALUE:
140 setValue(VALUE_EDEFAULT); 140 setValue(VALUE_EDEFAULT);
141 return; 141 return;
142 } 142 }
@@ -153,7 +153,7 @@ public class StringObjectImpl extends DataObjectImpl implements StringObject
153 { 153 {
154 switch (featureID) 154 switch (featureID)
155 { 155 {
156 case SolverLanguagePackage.STRING_OBJECT__VALUE: 156 case SolverLanguagePackage.STRING_LITERAL__VALUE:
157 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); 157 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
158 } 158 }
159 return super.eIsSet(featureID); 159 return super.eIsSet(featureID);
@@ -176,4 +176,4 @@ public class StringObjectImpl extends DataObjectImpl implements StringObject
176 return result.toString(); 176 return result.toString();
177 } 177 }
178 178
179} //StringObjectImpl 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
new file mode 100644
index 00000000..fefd5be6
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.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.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/SymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java
deleted file mode 100644
index 15d1294e..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
11import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Symbol</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class SymbolImpl extends MinimalEObjectImpl.Container implements Symbol
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected SymbolImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.SYMBOL;
41 }
42
43} //SymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TrueImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TrueImpl.java
deleted file mode 100644
index c0e04a9a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TrueImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9import org.eclipse.viatra.solver.language.solverLanguage.True;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>True</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class TrueImpl extends TruthValueImpl implements True
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected TrueImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.TRUE;
39 }
40
41} //TrueImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TruthValueImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TruthValueImpl.java
deleted file mode 100644
index f5b0fba6..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TruthValueImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
11import org.eclipse.viatra.solver.language.solverLanguage.TruthValue;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Truth Value</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class TruthValueImpl extends MinimalEObjectImpl.Container implements TruthValue
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected TruthValueImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.TRUTH_VALUE;
41 }
42
43} //TruthValueImpl
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
new file mode 100644
index 00000000..2d93f402
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java
@@ -0,0 +1,242 @@
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
new file mode 100644
index 00000000..dd2b46bc
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java
@@ -0,0 +1,175 @@
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
new file mode 100644
index 00000000..ee5ebfbb
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java
@@ -0,0 +1,270 @@
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
new file mode 100644
index 00000000..cd6a3271
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java
@@ -0,0 +1,270 @@
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/impl/UnnamedObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedObjectImpl.java
deleted file mode 100644
index 39bec164..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedObjectImpl.java
+++ /dev/null
@@ -1,179 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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.UnnamedObject;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Unnamed Object</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.UnnamedObjectImpl#getName <em>Name</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class UnnamedObjectImpl extends ObjectImpl implements UnnamedObject
29{
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 UnnamedObjectImpl()
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.UNNAMED_OBJECT;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public String getName()
78 {
79 return name;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setName(String newName)
89 {
90 String oldName = name;
91 name = newName;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_OBJECT__NAME, oldName, name));
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.UNNAMED_OBJECT__NAME:
107 return getName();
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.UNNAMED_OBJECT__NAME:
123 setName((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.UNNAMED_OBJECT__NAME:
140 setName(NAME_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.UNNAMED_OBJECT__NAME:
157 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
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(" (name: ");
174 result.append(name);
175 result.append(')');
176 return result.toString();
177 }
178
179} //UnnamedObjectImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java
deleted file mode 100644
index 9a254023..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java
+++ /dev/null
@@ -1,179 +0,0 @@
1/**
2 * generated by Xtext 2.18.0.M3
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.Variable;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Variable</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.VariableImpl#getName <em>Name</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class VariableImpl extends LiteralImpl implements Variable
29{
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 VariableImpl()
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.VARIABLE;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public String getName()
78 {
79 return name;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setName(String newName)
89 {
90 String oldName = name;
91 name = newName;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.VARIABLE__NAME, oldName, name));
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.VARIABLE__NAME:
107 return getName();
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.VARIABLE__NAME:
123 setName((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.VARIABLE__NAME:
140 setName(NAME_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.VARIABLE__NAME:
157 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
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(" (name: ");
174 result.append(name);
175 result.append(')');
176 return result.toString();
177 }
178
179} //VariableImpl
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
index 9931598c..e46d6779 100644
--- 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
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.util; 4package org.eclipse.viatra.solver.language.solverLanguage.util;
5 5
@@ -10,57 +10,7 @@ import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
10 10
11import org.eclipse.emf.ecore.EObject; 11import org.eclipse.emf.ecore.EObject;
12 12
13import org.eclipse.viatra.solver.language.solverLanguage.AllInstances; 13import org.eclipse.viatra.solver.language.solverLanguage.*;
14import org.eclipse.viatra.solver.language.solverLanguage.AllObjects;
15import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation;
16import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse;
17import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject;
18import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol;
19import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue;
20import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue;
21import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation;
22import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation;
23import org.eclipse.viatra.solver.language.solverLanguage.ClosureType;
24import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject;
25import org.eclipse.viatra.solver.language.solverLanguage.Constraint;
26import org.eclipse.viatra.solver.language.solverLanguage.DataObject;
27import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol;
28import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation;
29import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
30import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
31import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
32import org.eclipse.viatra.solver.language.solverLanguage.False;
33import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
34import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation;
35import org.eclipse.viatra.solver.language.solverLanguage.IntObject;
36import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol;
37import org.eclipse.viatra.solver.language.solverLanguage.Interpretation;
38import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure;
39import org.eclipse.viatra.solver.language.solverLanguage.Literal;
40import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
41import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
42import org.eclipse.viatra.solver.language.solverLanguage.NamedObject;
43import org.eclipse.viatra.solver.language.solverLanguage.Negative;
44import org.eclipse.viatra.solver.language.solverLanguage.Parameter;
45import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol;
46import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
47import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
48import org.eclipse.viatra.solver.language.solverLanguage.Positive;
49import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
50import org.eclipse.viatra.solver.language.solverLanguage.Problem;
51import org.eclipse.viatra.solver.language.solverLanguage.RealObject;
52import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
53import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure;
54import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
55import org.eclipse.viatra.solver.language.solverLanguage.Statement;
56import org.eclipse.viatra.solver.language.solverLanguage.StringObject;
57import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol;
58import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
59import org.eclipse.viatra.solver.language.solverLanguage.True;
60import org.eclipse.viatra.solver.language.solverLanguage.TruthValue;
61import org.eclipse.viatra.solver.language.solverLanguage.Unknown;
62import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject;
63import org.eclipse.viatra.solver.language.solverLanguage.Variable;
64 14
65/** 15/**
66 * <!-- begin-user-doc --> 16 * <!-- begin-user-doc -->
@@ -136,254 +86,224 @@ public class SolverLanguageAdapterFactory extends AdapterFactoryImpl
136 return createStatementAdapter(); 86 return createStatementAdapter();
137 } 87 }
138 @Override 88 @Override
139 public Adapter caseBooleanValue(BooleanValue object) 89 public Adapter casePredicateDefinition(PredicateDefinition object)
140 { 90 {
141 return createBooleanValueAdapter(); 91 return createPredicateDefinitionAdapter();
142 } 92 }
143 @Override 93 @Override
144 public Adapter caseTruthValue(TruthValue object) 94 public Adapter caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object)
145 { 95 {
146 return createTruthValueAdapter(); 96 return createUnnamedErrorPrediateDefinitionAdapter();
147 } 97 }
148 @Override 98 @Override
149 public Adapter caseInterpretation(Interpretation object) 99 public Adapter caseDefaultDefinition(DefaultDefinition object)
150 { 100 {
151 return createInterpretationAdapter(); 101 return createDefaultDefinitionAdapter();
152 } 102 }
153 @Override 103 @Override
154 public Adapter caseBasicInterpretation(BasicInterpretation object) 104 public Adapter caseExternPredicateDefinition(ExternPredicateDefinition object)
155 { 105 {
156 return createBasicInterpretationAdapter(); 106 return createExternPredicateDefinitionAdapter();
157 } 107 }
158 @Override 108 @Override
159 public Adapter caseSymbol(Symbol object) 109 public Adapter caseMetricDefinition(MetricDefinition object)
160 { 110 {
161 return createSymbolAdapter(); 111 return createMetricDefinitionAdapter();
162 } 112 }
163 @Override 113 @Override
164 public Adapter caseModelSymbol(ModelSymbol object) 114 public Adapter caseExternMetricDefinition(ExternMetricDefinition object)
165 { 115 {
166 return createModelSymbolAdapter(); 116 return createExternMetricDefinitionAdapter();
167 } 117 }
168 @Override 118 @Override
169 public Adapter casePartialitySymbol(PartialitySymbol object) 119 public Adapter caseExpression(Expression object)
170 { 120 {
171 return createPartialitySymbolAdapter(); 121 return createExpressionAdapter();
172 } 122 }
173 @Override 123 @Override
174 public Adapter caseExistSymbol(ExistSymbol object) 124 public Adapter caseIfElse(IfElse object)
175 { 125 {
176 return createExistSymbolAdapter(); 126 return createIfElseAdapter();
177 } 127 }
178 @Override 128 @Override
179 public Adapter caseEqualsSymbol(EqualsSymbol object) 129 public Adapter caseCase(Case object)
180 { 130 {
181 return createEqualsSymbolAdapter(); 131 return createCaseAdapter();
182 } 132 }
183 @Override 133 @Override
184 public Adapter caseDataSymbol(DataSymbol object) 134 public Adapter caseCount(Count object)
185 { 135 {
186 return createDataSymbolAdapter(); 136 return createCountAdapter();
187 } 137 }
188 @Override 138 @Override
189 public Adapter caseBooleanSymbol(BooleanSymbol object) 139 public Adapter caseAggregation(Aggregation object)
190 { 140 {
191 return createBooleanSymbolAdapter(); 141 return createAggregationAdapter();
192 } 142 }
193 @Override 143 @Override
194 public Adapter caseIntegerSymbol(IntegerSymbol object) 144 public Adapter caseCall(Call object)
195 { 145 {
196 return createIntegerSymbolAdapter(); 146 return createCallAdapter();
197 } 147 }
198 @Override 148 @Override
199 public Adapter caseRealSymbol(RealSymbol object) 149 public Adapter caseArgumentList(ArgumentList object)
200 { 150 {
201 return createRealSymbolAdapter(); 151 return createArgumentListAdapter();
202 } 152 }
203 @Override 153 @Override
204 public Adapter caseStringSymbol(StringSymbol object) 154 public Adapter caseArgument(Argument object)
205 { 155 {
206 return createStringSymbolAdapter(); 156 return createArgumentAdapter();
207 } 157 }
208 @Override 158 @Override
209 public Adapter caseComplexObject(ComplexObject object) 159 public Adapter caseExpressionArgument(ExpressionArgument object)
210 { 160 {
211 return createComplexObjectAdapter(); 161 return createExpressionArgumentAdapter();
212 } 162 }
213 @Override 163 @Override
214 public Adapter caseObject(org.eclipse.viatra.solver.language.solverLanguage.Object object) 164 public Adapter caseStarArgument(StarArgument object)
215 { 165 {
216 return createObjectAdapter(); 166 return createStarArgumentAdapter();
217 } 167 }
218 @Override 168 @Override
219 public Adapter caseNamedObject(NamedObject object) 169 public Adapter caseTypedArgument(TypedArgument object)
220 { 170 {
221 return createNamedObjectAdapter(); 171 return createTypedArgumentAdapter();
222 } 172 }
223 @Override 173 @Override
224 public Adapter caseUnnamedObject(UnnamedObject object) 174 public Adapter caseTypedStarArgument(TypedStarArgument object)
225 { 175 {
226 return createUnnamedObjectAdapter(); 176 return createTypedStarArgumentAdapter();
227 } 177 }
228 @Override 178 @Override
229 public Adapter caseDataObject(DataObject object) 179 public Adapter caseReference(Reference object)
230 { 180 {
231 return createDataObjectAdapter(); 181 return createReferenceAdapter();
232 } 182 }
233 @Override 183 @Override
234 public Adapter caseBooleanObject(BooleanObject object) 184 public Adapter caseInterval(Interval object)
235 { 185 {
236 return createBooleanObjectAdapter(); 186 return createIntervalAdapter();
237 } 187 }
238 @Override 188 @Override
239 public Adapter caseIntObject(IntObject object) 189 public Adapter caseLiteral(Literal object)
240 {
241 return createIntObjectAdapter();
242 }
243 @Override
244 public Adapter caseRealObject(RealObject object)
245 {
246 return createRealObjectAdapter();
247 }
248 @Override
249 public Adapter caseStringObject(StringObject object)
250 {
251 return createStringObjectAdapter();
252 }
253 @Override
254 public Adapter casePredicate(Predicate object)
255 {
256 return createPredicateAdapter();
257 }
258 @Override
259 public Adapter caseParameter(Parameter object)
260 {
261 return createParameterAdapter();
262 }
263 @Override
264 public Adapter casePatternBody(PatternBody object)
265 {
266 return createPatternBodyAdapter();
267 }
268 @Override
269 public Adapter casePolarity(Polarity object)
270 { 190 {
271 return createPolarityAdapter(); 191 return createLiteralAdapter();
272 } 192 }
273 @Override 193 @Override
274 public Adapter caseConstraint(Constraint object) 194 public Adapter caseLogicLiteral(LogicLiteral object)
275 { 195 {
276 return createConstraintAdapter(); 196 return createLogicLiteralAdapter();
277 } 197 }
278 @Override 198 @Override
279 public Adapter caseClosureType(ClosureType object) 199 public Adapter caseNumericLiteral(NumericLiteral object)
280 { 200 {
281 return createClosureTypeAdapter(); 201 return createNumericLiteralAdapter();
282 } 202 }
283 @Override 203 @Override
284 public Adapter caseLiteral(Literal object) 204 public Adapter caseInfinityLiteral(InfinityLiteral object)
285 { 205 {
286 return createLiteralAdapter(); 206 return createInfinityLiteralAdapter();
287 } 207 }
288 @Override 208 @Override
289 public Adapter caseVariable(Variable object) 209 public Adapter caseEmptyIntervalLiteral(EmptyIntervalLiteral object)
290 { 210 {
291 return createVariableAdapter(); 211 return createEmptyIntervalLiteralAdapter();
292 } 212 }
293 @Override 213 @Override
294 public Adapter caseAllInstances(AllInstances object) 214 public Adapter caseStringLiteral(StringLiteral object)
295 { 215 {
296 return createAllInstancesAdapter(); 216 return createStringLiteralAdapter();
297 } 217 }
298 @Override 218 @Override
299 public Adapter caseAllObjects(AllObjects object) 219 public Adapter caseMemberDefinition(MemberDefinition object)
300 { 220 {
301 return createAllObjectsAdapter(); 221 return createMemberDefinitionAdapter();
302 } 222 }
303 @Override 223 @Override
304 public Adapter caseDefaultInterpretation(DefaultInterpretation object) 224 public Adapter caseMultiplicity(Multiplicity object)
305 { 225 {
306 return createDefaultInterpretationAdapter(); 226 return createMultiplicityAdapter();
307 } 227 }
308 @Override 228 @Override
309 public Adapter caseCDInterpretation(CDInterpretation object) 229 public Adapter caseManyMultiplicity(ManyMultiplicity object)
310 { 230 {
311 return createCDInterpretationAdapter(); 231 return createManyMultiplicityAdapter();
312 } 232 }
313 @Override 233 @Override
314 public Adapter caseClassInterpretation(ClassInterpretation object) 234 public Adapter caseExactMultiplicity(ExactMultiplicity object)
315 { 235 {
316 return createClassInterpretationAdapter(); 236 return createExactMultiplicityAdapter();
317 } 237 }
318 @Override 238 @Override
319 public Adapter caseEnumInterpretation(EnumInterpretation object) 239 public Adapter caseBoundedMultiplicity(BoundedMultiplicity object)
320 { 240 {
321 return createEnumInterpretationAdapter(); 241 return createBoundedMultiplicityAdapter();
322 } 242 }
323 @Override 243 @Override
324 public Adapter caseFieldRelationInterpretation(FieldRelationInterpretation object) 244 public Adapter caseScopeDefinition(ScopeDefinition object)
325 { 245 {
326 return createFieldRelationInterpretationAdapter(); 246 return createScopeDefinitionAdapter();
327 } 247 }
328 @Override 248 @Override
329 public Adapter caseGlobalRelationInterpretation(GlobalRelationInterpretation object) 249 public Adapter caseExactScopeDefinition(ExactScopeDefinition object)
330 { 250 {
331 return createGlobalRelationInterpretationAdapter(); 251 return createExactScopeDefinitionAdapter();
332 } 252 }
333 @Override 253 @Override
334 public Adapter caseMultiplicityDefinition(MultiplicityDefinition object) 254 public Adapter caseBoundedScopeDefinition(BoundedScopeDefinition object)
335 { 255 {
336 return createMultiplicityDefinitionAdapter(); 256 return createBoundedScopeDefinitionAdapter();
337 } 257 }
338 @Override 258 @Override
339 public Adapter caseBooleanTrue(BooleanTrue object) 259 public Adapter caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object)
340 { 260 {
341 return createBooleanTrueAdapter(); 261 return createLowerBoundedScopeDefinitionAdapter();
342 } 262 }
343 @Override 263 @Override
344 public Adapter caseBooleanFalse(BooleanFalse object) 264 public Adapter caseObjectiveDefinition(ObjectiveDefinition object)
345 { 265 {
346 return createBooleanFalseAdapter(); 266 return createObjectiveDefinitionAdapter();
347 } 267 }
348 @Override 268 @Override
349 public Adapter caseTrue(True object) 269 public Adapter caseNamedElement(NamedElement object)
350 { 270 {
351 return createTrueAdapter(); 271 return createNamedElementAdapter();
352 } 272 }
353 @Override 273 @Override
354 public Adapter caseFalse(False object) 274 public Adapter caseAssertion(Assertion object)
355 { 275 {
356 return createFalseAdapter(); 276 return createAssertionAdapter();
357 } 277 }
358 @Override 278 @Override
359 public Adapter caseUnknown(Unknown object) 279 public Adapter caseDisjunction(Disjunction object)
360 { 280 {
361 return createUnknownAdapter(); 281 return createDisjunctionAdapter();
362 } 282 }
363 @Override 283 @Override
364 public Adapter caseError(org.eclipse.viatra.solver.language.solverLanguage.Error object) 284 public Adapter caseSwitch(Switch object)
365 { 285 {
366 return createErrorAdapter(); 286 return createSwitchAdapter();
367 } 287 }
368 @Override 288 @Override
369 public Adapter casePositive(Positive object) 289 public Adapter caseConjunction(Conjunction object)
370 { 290 {
371 return createPositiveAdapter(); 291 return createConjunctionAdapter();
372 } 292 }
373 @Override 293 @Override
374 public Adapter caseNegative(Negative object) 294 public Adapter caseComparison(Comparison object)
375 { 295 {
376 return createNegativeAdapter(); 296 return createComparisonAdapter();
377 } 297 }
378 @Override 298 @Override
379 public Adapter caseReflexiveClosure(ReflexiveClosure object) 299 public Adapter caseBinaryExpression(BinaryExpression object)
380 { 300 {
381 return createReflexiveClosureAdapter(); 301 return createBinaryExpressionAdapter();
382 } 302 }
383 @Override 303 @Override
384 public Adapter caseIrreflexiveClosure(IrreflexiveClosure object) 304 public Adapter caseUnaryExpression(UnaryExpression object)
385 { 305 {
386 return createIrreflexiveClosureAdapter(); 306 return createUnaryExpressionAdapter();
387 } 307 }
388 @Override 308 @Override
389 public Adapter defaultCase(EObject object) 309 public Adapter defaultCase(EObject object)
@@ -438,751 +358,661 @@ public class SolverLanguageAdapterFactory extends AdapterFactoryImpl
438 } 358 }
439 359
440 /** 360 /**
441 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanValue <em>Boolean Value</em>}'. 361 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition <em>Predicate 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.BooleanValue
448 * @generated
449 */
450 public Adapter createBooleanValueAdapter()
451 {
452 return null;
453 }
454
455 /**
456 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TruthValue <em>Truth Value</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.TruthValue
463 * @generated
464 */
465 public Adapter createTruthValueAdapter()
466 {
467 return null;
468 }
469
470 /**
471 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation <em>Interpretation</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.Interpretation
478 * @generated
479 */
480 public Adapter createInterpretationAdapter()
481 {
482 return null;
483 }
484
485 /**
486 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation <em>Basic Interpretation</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.BasicInterpretation
493 * @generated
494 */
495 public Adapter createBasicInterpretationAdapter()
496 {
497 return null;
498 }
499
500 /**
501 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Symbol <em>Symbol</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.Symbol
508 * @generated
509 */
510 public Adapter createSymbolAdapter()
511 {
512 return null;
513 }
514
515 /**
516 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol <em>Model Symbol</em>}'.
517 * <!-- begin-user-doc --> 362 * <!-- begin-user-doc -->
518 * This default implementation returns null so that we can easily ignore cases; 363 * 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. 364 * it's useful to ignore a case when inheritance will catch all the cases anyway.
520 * <!-- end-user-doc --> 365 * <!-- end-user-doc -->
521 * @return the new adapter. 366 * @return the new adapter.
522 * @see org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol 367 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition
523 * @generated 368 * @generated
524 */ 369 */
525 public Adapter createModelSymbolAdapter() 370 public Adapter createPredicateDefinitionAdapter()
526 { 371 {
527 return null; 372 return null;
528 } 373 }
529 374
530 /** 375 /**
531 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol <em>Partiality Symbol</em>}'. 376 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition <em>Unnamed Error Prediate Definition</em>}'.
532 * <!-- begin-user-doc --> 377 * <!-- begin-user-doc -->
533 * This default implementation returns null so that we can easily ignore cases; 378 * 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. 379 * it's useful to ignore a case when inheritance will catch all the cases anyway.
535 * <!-- end-user-doc --> 380 * <!-- end-user-doc -->
536 * @return the new adapter. 381 * @return the new adapter.
537 * @see org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol 382 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition
538 * @generated 383 * @generated
539 */ 384 */
540 public Adapter createPartialitySymbolAdapter() 385 public Adapter createUnnamedErrorPrediateDefinitionAdapter()
541 { 386 {
542 return null; 387 return null;
543 } 388 }
544 389
545 /** 390 /**
546 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol <em>Exist Symbol</em>}'. 391 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition <em>Default Definition</em>}'.
547 * <!-- begin-user-doc --> 392 * <!-- begin-user-doc -->
548 * This default implementation returns null so that we can easily ignore cases; 393 * 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. 394 * it's useful to ignore a case when inheritance will catch all the cases anyway.
550 * <!-- end-user-doc --> 395 * <!-- end-user-doc -->
551 * @return the new adapter. 396 * @return the new adapter.
552 * @see org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol 397 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition
553 * @generated 398 * @generated
554 */ 399 */
555 public Adapter createExistSymbolAdapter() 400 public Adapter createDefaultDefinitionAdapter()
556 { 401 {
557 return null; 402 return null;
558 } 403 }
559 404
560 /** 405 /**
561 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol <em>Equals Symbol</em>}'. 406 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition <em>Extern Predicate Definition</em>}'.
562 * <!-- begin-user-doc --> 407 * <!-- begin-user-doc -->
563 * This default implementation returns null so that we can easily ignore cases; 408 * 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. 409 * it's useful to ignore a case when inheritance will catch all the cases anyway.
565 * <!-- end-user-doc --> 410 * <!-- end-user-doc -->
566 * @return the new adapter. 411 * @return the new adapter.
567 * @see org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol 412 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition
568 * @generated 413 * @generated
569 */ 414 */
570 public Adapter createEqualsSymbolAdapter() 415 public Adapter createExternPredicateDefinitionAdapter()
571 { 416 {
572 return null; 417 return null;
573 } 418 }
574 419
575 /** 420 /**
576 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DataSymbol <em>Data Symbol</em>}'. 421 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition <em>Metric Definition</em>}'.
577 * <!-- begin-user-doc --> 422 * <!-- begin-user-doc -->
578 * This default implementation returns null so that we can easily ignore cases; 423 * 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. 424 * it's useful to ignore a case when inheritance will catch all the cases anyway.
580 * <!-- end-user-doc --> 425 * <!-- end-user-doc -->
581 * @return the new adapter. 426 * @return the new adapter.
582 * @see org.eclipse.viatra.solver.language.solverLanguage.DataSymbol 427 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition
583 * @generated 428 * @generated
584 */ 429 */
585 public Adapter createDataSymbolAdapter() 430 public Adapter createMetricDefinitionAdapter()
586 { 431 {
587 return null; 432 return null;
588 } 433 }
589 434
590 /** 435 /**
591 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol <em>Boolean Symbol</em>}'. 436 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition <em>Extern Metric Definition</em>}'.
592 * <!-- begin-user-doc --> 437 * <!-- begin-user-doc -->
593 * This default implementation returns null so that we can easily ignore cases; 438 * 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. 439 * it's useful to ignore a case when inheritance will catch all the cases anyway.
595 * <!-- end-user-doc --> 440 * <!-- end-user-doc -->
596 * @return the new adapter. 441 * @return the new adapter.
597 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol 442 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition
598 * @generated 443 * @generated
599 */ 444 */
600 public Adapter createBooleanSymbolAdapter() 445 public Adapter createExternMetricDefinitionAdapter()
601 { 446 {
602 return null; 447 return null;
603 } 448 }
604 449
605 /** 450 /**
606 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol <em>Integer Symbol</em>}'. 451 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Expression <em>Expression</em>}'.
607 * <!-- begin-user-doc --> 452 * <!-- begin-user-doc -->
608 * This default implementation returns null so that we can easily ignore cases; 453 * 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. 454 * it's useful to ignore a case when inheritance will catch all the cases anyway.
610 * <!-- end-user-doc --> 455 * <!-- end-user-doc -->
611 * @return the new adapter. 456 * @return the new adapter.
612 * @see org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol 457 * @see org.eclipse.viatra.solver.language.solverLanguage.Expression
613 * @generated 458 * @generated
614 */ 459 */
615 public Adapter createIntegerSymbolAdapter() 460 public Adapter createExpressionAdapter()
616 { 461 {
617 return null; 462 return null;
618 } 463 }
619 464
620 /** 465 /**
621 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealSymbol <em>Real Symbol</em>}'. 466 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse <em>If Else</em>}'.
622 * <!-- begin-user-doc --> 467 * <!-- begin-user-doc -->
623 * This default implementation returns null so that we can easily ignore cases; 468 * 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. 469 * it's useful to ignore a case when inheritance will catch all the cases anyway.
625 * <!-- end-user-doc --> 470 * <!-- end-user-doc -->
626 * @return the new adapter. 471 * @return the new adapter.
627 * @see org.eclipse.viatra.solver.language.solverLanguage.RealSymbol 472 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse
628 * @generated 473 * @generated
629 */ 474 */
630 public Adapter createRealSymbolAdapter() 475 public Adapter createIfElseAdapter()
631 { 476 {
632 return null; 477 return null;
633 } 478 }
634 479
635 /** 480 /**
636 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringSymbol <em>String Symbol</em>}'. 481 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Case <em>Case</em>}'.
637 * <!-- begin-user-doc --> 482 * <!-- begin-user-doc -->
638 * This default implementation returns null so that we can easily ignore cases; 483 * 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. 484 * it's useful to ignore a case when inheritance will catch all the cases anyway.
640 * <!-- end-user-doc --> 485 * <!-- end-user-doc -->
641 * @return the new adapter. 486 * @return the new adapter.
642 * @see org.eclipse.viatra.solver.language.solverLanguage.StringSymbol 487 * @see org.eclipse.viatra.solver.language.solverLanguage.Case
643 * @generated 488 * @generated
644 */ 489 */
645 public Adapter createStringSymbolAdapter() 490 public Adapter createCaseAdapter()
646 { 491 {
647 return null; 492 return null;
648 } 493 }
649 494
650 /** 495 /**
651 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ComplexObject <em>Complex Object</em>}'. 496 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Count <em>Count</em>}'.
652 * <!-- begin-user-doc --> 497 * <!-- begin-user-doc -->
653 * This default implementation returns null so that we can easily ignore cases; 498 * 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. 499 * it's useful to ignore a case when inheritance will catch all the cases anyway.
655 * <!-- end-user-doc --> 500 * <!-- end-user-doc -->
656 * @return the new adapter. 501 * @return the new adapter.
657 * @see org.eclipse.viatra.solver.language.solverLanguage.ComplexObject 502 * @see org.eclipse.viatra.solver.language.solverLanguage.Count
658 * @generated 503 * @generated
659 */ 504 */
660 public Adapter createComplexObjectAdapter() 505 public Adapter createCountAdapter()
661 { 506 {
662 return null; 507 return null;
663 } 508 }
664 509
665 /** 510 /**
666 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Object <em>Object</em>}'. 511 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation <em>Aggregation</em>}'.
667 * <!-- begin-user-doc --> 512 * <!-- begin-user-doc -->
668 * This default implementation returns null so that we can easily ignore cases; 513 * 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. 514 * it's useful to ignore a case when inheritance will catch all the cases anyway.
670 * <!-- end-user-doc --> 515 * <!-- end-user-doc -->
671 * @return the new adapter. 516 * @return the new adapter.
672 * @see org.eclipse.viatra.solver.language.solverLanguage.Object 517 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation
673 * @generated 518 * @generated
674 */ 519 */
675 public Adapter createObjectAdapter() 520 public Adapter createAggregationAdapter()
676 { 521 {
677 return null; 522 return null;
678 } 523 }
679 524
680 /** 525 /**
681 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject <em>Named Object</em>}'. 526 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Call <em>Call</em>}'.
682 * <!-- begin-user-doc --> 527 * <!-- begin-user-doc -->
683 * This default implementation returns null so that we can easily ignore cases; 528 * 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. 529 * it's useful to ignore a case when inheritance will catch all the cases anyway.
685 * <!-- end-user-doc --> 530 * <!-- end-user-doc -->
686 * @return the new adapter. 531 * @return the new adapter.
687 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedObject 532 * @see org.eclipse.viatra.solver.language.solverLanguage.Call
688 * @generated 533 * @generated
689 */ 534 */
690 public Adapter createNamedObjectAdapter() 535 public Adapter createCallAdapter()
691 { 536 {
692 return null; 537 return null;
693 } 538 }
694 539
695 /** 540 /**
696 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject <em>Unnamed Object</em>}'. 541 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList <em>Argument List</em>}'.
697 * <!-- begin-user-doc --> 542 * <!-- begin-user-doc -->
698 * This default implementation returns null so that we can easily ignore cases; 543 * 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. 544 * it's useful to ignore a case when inheritance will catch all the cases anyway.
700 * <!-- end-user-doc --> 545 * <!-- end-user-doc -->
701 * @return the new adapter. 546 * @return the new adapter.
702 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject 547 * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList
703 * @generated 548 * @generated
704 */ 549 */
705 public Adapter createUnnamedObjectAdapter() 550 public Adapter createArgumentListAdapter()
706 { 551 {
707 return null; 552 return null;
708 } 553 }
709 554
710 /** 555 /**
711 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DataObject <em>Data Object</em>}'. 556 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Argument <em>Argument</em>}'.
712 * <!-- begin-user-doc --> 557 * <!-- begin-user-doc -->
713 * This default implementation returns null so that we can easily ignore cases; 558 * 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. 559 * it's useful to ignore a case when inheritance will catch all the cases anyway.
715 * <!-- end-user-doc --> 560 * <!-- end-user-doc -->
716 * @return the new adapter. 561 * @return the new adapter.
717 * @see org.eclipse.viatra.solver.language.solverLanguage.DataObject 562 * @see org.eclipse.viatra.solver.language.solverLanguage.Argument
718 * @generated 563 * @generated
719 */ 564 */
720 public Adapter createDataObjectAdapter() 565 public Adapter createArgumentAdapter()
721 { 566 {
722 return null; 567 return null;
723 } 568 }
724 569
725 /** 570 /**
726 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject <em>Boolean Object</em>}'. 571 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument <em>Expression Argument</em>}'.
727 * <!-- begin-user-doc --> 572 * <!-- begin-user-doc -->
728 * This default implementation returns null so that we can easily ignore cases; 573 * 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. 574 * it's useful to ignore a case when inheritance will catch all the cases anyway.
730 * <!-- end-user-doc --> 575 * <!-- end-user-doc -->
731 * @return the new adapter. 576 * @return the new adapter.
732 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanObject 577 * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument
733 * @generated 578 * @generated
734 */ 579 */
735 public Adapter createBooleanObjectAdapter() 580 public Adapter createExpressionArgumentAdapter()
736 { 581 {
737 return null; 582 return null;
738 } 583 }
739 584
740 /** 585 /**
741 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject <em>Int Object</em>}'. 586 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StarArgument <em>Star Argument</em>}'.
742 * <!-- begin-user-doc --> 587 * <!-- begin-user-doc -->
743 * This default implementation returns null so that we can easily ignore cases; 588 * 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. 589 * it's useful to ignore a case when inheritance will catch all the cases anyway.
745 * <!-- end-user-doc --> 590 * <!-- end-user-doc -->
746 * @return the new adapter. 591 * @return the new adapter.
747 * @see org.eclipse.viatra.solver.language.solverLanguage.IntObject 592 * @see org.eclipse.viatra.solver.language.solverLanguage.StarArgument
748 * @generated 593 * @generated
749 */ 594 */
750 public Adapter createIntObjectAdapter() 595 public Adapter createStarArgumentAdapter()
751 { 596 {
752 return null; 597 return null;
753 } 598 }
754 599
755 /** 600 /**
756 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject <em>Real Object</em>}'. 601 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument <em>Typed Argument</em>}'.
757 * <!-- begin-user-doc --> 602 * <!-- begin-user-doc -->
758 * This default implementation returns null so that we can easily ignore cases; 603 * 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. 604 * it's useful to ignore a case when inheritance will catch all the cases anyway.
760 * <!-- end-user-doc --> 605 * <!-- end-user-doc -->
761 * @return the new adapter. 606 * @return the new adapter.
762 * @see org.eclipse.viatra.solver.language.solverLanguage.RealObject 607 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument
763 * @generated 608 * @generated
764 */ 609 */
765 public Adapter createRealObjectAdapter() 610 public Adapter createTypedArgumentAdapter()
766 { 611 {
767 return null; 612 return null;
768 } 613 }
769 614
770 /** 615 /**
771 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject <em>String Object</em>}'. 616 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument <em>Typed Star Argument</em>}'.
772 * <!-- begin-user-doc --> 617 * <!-- begin-user-doc -->
773 * This default implementation returns null so that we can easily ignore cases; 618 * 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. 619 * it's useful to ignore a case when inheritance will catch all the cases anyway.
775 * <!-- end-user-doc --> 620 * <!-- end-user-doc -->
776 * @return the new adapter. 621 * @return the new adapter.
777 * @see org.eclipse.viatra.solver.language.solverLanguage.StringObject 622 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument
778 * @generated 623 * @generated
779 */ 624 */
780 public Adapter createStringObjectAdapter() 625 public Adapter createTypedStarArgumentAdapter()
781 { 626 {
782 return null; 627 return null;
783 } 628 }
784 629
785 /** 630 /**
786 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate <em>Predicate</em>}'. 631 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference <em>Reference</em>}'.
787 * <!-- begin-user-doc --> 632 * <!-- begin-user-doc -->
788 * This default implementation returns null so that we can easily ignore cases; 633 * 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. 634 * it's useful to ignore a case when inheritance will catch all the cases anyway.
790 * <!-- end-user-doc --> 635 * <!-- end-user-doc -->
791 * @return the new adapter. 636 * @return the new adapter.
792 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate 637 * @see org.eclipse.viatra.solver.language.solverLanguage.Reference
793 * @generated 638 * @generated
794 */ 639 */
795 public Adapter createPredicateAdapter() 640 public Adapter createReferenceAdapter()
796 { 641 {
797 return null; 642 return null;
798 } 643 }
799 644
800 /** 645 /**
801 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter <em>Parameter</em>}'. 646 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval <em>Interval</em>}'.
802 * <!-- begin-user-doc --> 647 * <!-- begin-user-doc -->
803 * This default implementation returns null so that we can easily ignore cases; 648 * 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. 649 * it's useful to ignore a case when inheritance will catch all the cases anyway.
805 * <!-- end-user-doc --> 650 * <!-- end-user-doc -->
806 * @return the new adapter. 651 * @return the new adapter.
807 * @see org.eclipse.viatra.solver.language.solverLanguage.Parameter 652 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval
808 * @generated 653 * @generated
809 */ 654 */
810 public Adapter createParameterAdapter() 655 public Adapter createIntervalAdapter()
811 { 656 {
812 return null; 657 return null;
813 } 658 }
814 659
815 /** 660 /**
816 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody <em>Pattern Body</em>}'. 661 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal <em>Literal</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.PatternBody
823 * @generated
824 */
825 public Adapter createPatternBodyAdapter()
826 {
827 return null;
828 }
829
830 /**
831 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Polarity <em>Polarity</em>}'.
832 * <!-- begin-user-doc --> 662 * <!-- begin-user-doc -->
833 * This default implementation returns null so that we can easily ignore cases; 663 * 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. 664 * it's useful to ignore a case when inheritance will catch all the cases anyway.
835 * <!-- end-user-doc --> 665 * <!-- end-user-doc -->
836 * @return the new adapter. 666 * @return the new adapter.
837 * @see org.eclipse.viatra.solver.language.solverLanguage.Polarity 667 * @see org.eclipse.viatra.solver.language.solverLanguage.Literal
838 * @generated 668 * @generated
839 */ 669 */
840 public Adapter createPolarityAdapter() 670 public Adapter createLiteralAdapter()
841 { 671 {
842 return null; 672 return null;
843 } 673 }
844 674
845 /** 675 /**
846 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint <em>Constraint</em>}'. 676 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral <em>Logic Literal</em>}'.
847 * <!-- begin-user-doc --> 677 * <!-- begin-user-doc -->
848 * This default implementation returns null so that we can easily ignore cases; 678 * 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. 679 * it's useful to ignore a case when inheritance will catch all the cases anyway.
850 * <!-- end-user-doc --> 680 * <!-- end-user-doc -->
851 * @return the new adapter. 681 * @return the new adapter.
852 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint 682 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral
853 * @generated 683 * @generated
854 */ 684 */
855 public Adapter createConstraintAdapter() 685 public Adapter createLogicLiteralAdapter()
856 { 686 {
857 return null; 687 return null;
858 } 688 }
859 689
860 /** 690 /**
861 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClosureType <em>Closure Type</em>}'. 691 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral <em>Numeric Literal</em>}'.
862 * <!-- begin-user-doc --> 692 * <!-- begin-user-doc -->
863 * This default implementation returns null so that we can easily ignore cases; 693 * 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. 694 * it's useful to ignore a case when inheritance will catch all the cases anyway.
865 * <!-- end-user-doc --> 695 * <!-- end-user-doc -->
866 * @return the new adapter. 696 * @return the new adapter.
867 * @see org.eclipse.viatra.solver.language.solverLanguage.ClosureType 697 * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral
868 * @generated 698 * @generated
869 */ 699 */
870 public Adapter createClosureTypeAdapter() 700 public Adapter createNumericLiteralAdapter()
871 { 701 {
872 return null; 702 return null;
873 } 703 }
874 704
875 /** 705 /**
876 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal <em>Literal</em>}'. 706 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral <em>Infinity Literal</em>}'.
877 * <!-- begin-user-doc --> 707 * <!-- begin-user-doc -->
878 * This default implementation returns null so that we can easily ignore cases; 708 * 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. 709 * it's useful to ignore a case when inheritance will catch all the cases anyway.
880 * <!-- end-user-doc --> 710 * <!-- end-user-doc -->
881 * @return the new adapter. 711 * @return the new adapter.
882 * @see org.eclipse.viatra.solver.language.solverLanguage.Literal 712 * @see org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral
883 * @generated 713 * @generated
884 */ 714 */
885 public Adapter createLiteralAdapter() 715 public Adapter createInfinityLiteralAdapter()
886 { 716 {
887 return null; 717 return null;
888 } 718 }
889 719
890 /** 720 /**
891 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable <em>Variable</em>}'. 721 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral <em>Empty Interval Literal</em>}'.
892 * <!-- begin-user-doc --> 722 * <!-- begin-user-doc -->
893 * This default implementation returns null so that we can easily ignore cases; 723 * 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. 724 * it's useful to ignore a case when inheritance will catch all the cases anyway.
895 * <!-- end-user-doc --> 725 * <!-- end-user-doc -->
896 * @return the new adapter. 726 * @return the new adapter.
897 * @see org.eclipse.viatra.solver.language.solverLanguage.Variable 727 * @see org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral
898 * @generated 728 * @generated
899 */ 729 */
900 public Adapter createVariableAdapter() 730 public Adapter createEmptyIntervalLiteralAdapter()
901 { 731 {
902 return null; 732 return null;
903 } 733 }
904 734
905 /** 735 /**
906 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances <em>All Instances</em>}'. 736 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral <em>String Literal</em>}'.
907 * <!-- begin-user-doc --> 737 * <!-- begin-user-doc -->
908 * This default implementation returns null so that we can easily ignore cases; 738 * 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. 739 * it's useful to ignore a case when inheritance will catch all the cases anyway.
910 * <!-- end-user-doc --> 740 * <!-- end-user-doc -->
911 * @return the new adapter. 741 * @return the new adapter.
912 * @see org.eclipse.viatra.solver.language.solverLanguage.AllInstances 742 * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral
913 * @generated 743 * @generated
914 */ 744 */
915 public Adapter createAllInstancesAdapter() 745 public Adapter createStringLiteralAdapter()
916 { 746 {
917 return null; 747 return null;
918 } 748 }
919 749
920 /** 750 /**
921 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.AllObjects <em>All Objects</em>}'. 751 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition <em>Member Definition</em>}'.
922 * <!-- begin-user-doc --> 752 * <!-- begin-user-doc -->
923 * This default implementation returns null so that we can easily ignore cases; 753 * 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. 754 * it's useful to ignore a case when inheritance will catch all the cases anyway.
925 * <!-- end-user-doc --> 755 * <!-- end-user-doc -->
926 * @return the new adapter. 756 * @return the new adapter.
927 * @see org.eclipse.viatra.solver.language.solverLanguage.AllObjects 757 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition
928 * @generated 758 * @generated
929 */ 759 */
930 public Adapter createAllObjectsAdapter() 760 public Adapter createMemberDefinitionAdapter()
931 { 761 {
932 return null; 762 return null;
933 } 763 }
934 764
935 /** 765 /**
936 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation <em>Default Interpretation</em>}'. 766 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Multiplicity <em>Multiplicity</em>}'.
937 * <!-- begin-user-doc --> 767 * <!-- begin-user-doc -->
938 * This default implementation returns null so that we can easily ignore cases; 768 * 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. 769 * it's useful to ignore a case when inheritance will catch all the cases anyway.
940 * <!-- end-user-doc --> 770 * <!-- end-user-doc -->
941 * @return the new adapter. 771 * @return the new adapter.
942 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation 772 * @see org.eclipse.viatra.solver.language.solverLanguage.Multiplicity
943 * @generated 773 * @generated
944 */ 774 */
945 public Adapter createDefaultInterpretationAdapter() 775 public Adapter createMultiplicityAdapter()
946 { 776 {
947 return null; 777 return null;
948 } 778 }
949 779
950 /** 780 /**
951 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation <em>CD Interpretation</em>}'. 781 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity <em>Many Multiplicity</em>}'.
952 * <!-- begin-user-doc --> 782 * <!-- begin-user-doc -->
953 * This default implementation returns null so that we can easily ignore cases; 783 * 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. 784 * it's useful to ignore a case when inheritance will catch all the cases anyway.
955 * <!-- end-user-doc --> 785 * <!-- end-user-doc -->
956 * @return the new adapter. 786 * @return the new adapter.
957 * @see org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation 787 * @see org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity
958 * @generated 788 * @generated
959 */ 789 */
960 public Adapter createCDInterpretationAdapter() 790 public Adapter createManyMultiplicityAdapter()
961 { 791 {
962 return null; 792 return null;
963 } 793 }
964 794
965 /** 795 /**
966 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation <em>Class Interpretation</em>}'. 796 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity <em>Exact Multiplicity</em>}'.
967 * <!-- begin-user-doc --> 797 * <!-- begin-user-doc -->
968 * This default implementation returns null so that we can easily ignore cases; 798 * 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. 799 * it's useful to ignore a case when inheritance will catch all the cases anyway.
970 * <!-- end-user-doc --> 800 * <!-- end-user-doc -->
971 * @return the new adapter. 801 * @return the new adapter.
972 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation 802 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity
973 * @generated 803 * @generated
974 */ 804 */
975 public Adapter createClassInterpretationAdapter() 805 public Adapter createExactMultiplicityAdapter()
976 { 806 {
977 return null; 807 return null;
978 } 808 }
979 809
980 /** 810 /**
981 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation <em>Enum Interpretation</em>}'. 811 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity <em>Bounded Multiplicity</em>}'.
982 * <!-- begin-user-doc --> 812 * <!-- begin-user-doc -->
983 * This default implementation returns null so that we can easily ignore cases; 813 * 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. 814 * it's useful to ignore a case when inheritance will catch all the cases anyway.
985 * <!-- end-user-doc --> 815 * <!-- end-user-doc -->
986 * @return the new adapter. 816 * @return the new adapter.
987 * @see org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation 817 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity
988 * @generated 818 * @generated
989 */ 819 */
990 public Adapter createEnumInterpretationAdapter() 820 public Adapter createBoundedMultiplicityAdapter()
991 { 821 {
992 return null; 822 return null;
993 } 823 }
994 824
995 /** 825 /**
996 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation <em>Field Relation Interpretation</em>}'. 826 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition <em>Scope Definition</em>}'.
997 * <!-- begin-user-doc --> 827 * <!-- begin-user-doc -->
998 * This default implementation returns null so that we can easily ignore cases; 828 * 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. 829 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1000 * <!-- end-user-doc --> 830 * <!-- end-user-doc -->
1001 * @return the new adapter. 831 * @return the new adapter.
1002 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation 832 * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition
1003 * @generated 833 * @generated
1004 */ 834 */
1005 public Adapter createFieldRelationInterpretationAdapter() 835 public Adapter createScopeDefinitionAdapter()
1006 { 836 {
1007 return null; 837 return null;
1008 } 838 }
1009 839
1010 /** 840 /**
1011 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation <em>Global Relation Interpretation</em>}'. 841 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition <em>Exact Scope Definition</em>}'.
1012 * <!-- begin-user-doc --> 842 * <!-- begin-user-doc -->
1013 * This default implementation returns null so that we can easily ignore cases; 843 * 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. 844 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1015 * <!-- end-user-doc --> 845 * <!-- end-user-doc -->
1016 * @return the new adapter. 846 * @return the new adapter.
1017 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation 847 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition
1018 * @generated 848 * @generated
1019 */ 849 */
1020 public Adapter createGlobalRelationInterpretationAdapter() 850 public Adapter createExactScopeDefinitionAdapter()
1021 { 851 {
1022 return null; 852 return null;
1023 } 853 }
1024 854
1025 /** 855 /**
1026 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition <em>Multiplicity Definition</em>}'. 856 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition <em>Bounded Scope Definition</em>}'.
1027 * <!-- begin-user-doc --> 857 * <!-- begin-user-doc -->
1028 * This default implementation returns null so that we can easily ignore cases; 858 * 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. 859 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1030 * <!-- end-user-doc --> 860 * <!-- end-user-doc -->
1031 * @return the new adapter. 861 * @return the new adapter.
1032 * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition 862 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition
1033 * @generated 863 * @generated
1034 */ 864 */
1035 public Adapter createMultiplicityDefinitionAdapter() 865 public Adapter createBoundedScopeDefinitionAdapter()
1036 { 866 {
1037 return null; 867 return null;
1038 } 868 }
1039 869
1040 /** 870 /**
1041 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue <em>Boolean True</em>}'. 871 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition <em>Lower Bounded Scope Definition</em>}'.
1042 * <!-- begin-user-doc --> 872 * <!-- begin-user-doc -->
1043 * This default implementation returns null so that we can easily ignore cases; 873 * This default implementation returns null so that we can easily ignore cases;
1044 * it's useful to ignore a case when inheritance will catch all the cases anyway. 874 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1045 * <!-- end-user-doc --> 875 * <!-- end-user-doc -->
1046 * @return the new adapter. 876 * @return the new adapter.
1047 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue 877 * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition
1048 * @generated 878 * @generated
1049 */ 879 */
1050 public Adapter createBooleanTrueAdapter() 880 public Adapter createLowerBoundedScopeDefinitionAdapter()
1051 { 881 {
1052 return null; 882 return null;
1053 } 883 }
1054 884
1055 /** 885 /**
1056 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse <em>Boolean False</em>}'. 886 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition <em>Objective Definition</em>}'.
1057 * <!-- begin-user-doc --> 887 * <!-- begin-user-doc -->
1058 * This default implementation returns null so that we can easily ignore cases; 888 * This default implementation returns null so that we can easily ignore cases;
1059 * it's useful to ignore a case when inheritance will catch all the cases anyway. 889 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1060 * <!-- end-user-doc --> 890 * <!-- end-user-doc -->
1061 * @return the new adapter. 891 * @return the new adapter.
1062 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse 892 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition
1063 * @generated 893 * @generated
1064 */ 894 */
1065 public Adapter createBooleanFalseAdapter() 895 public Adapter createObjectiveDefinitionAdapter()
1066 { 896 {
1067 return null; 897 return null;
1068 } 898 }
1069 899
1070 /** 900 /**
1071 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.True <em>True</em>}'. 901 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement <em>Named Element</em>}'.
1072 * <!-- begin-user-doc --> 902 * <!-- begin-user-doc -->
1073 * This default implementation returns null so that we can easily ignore cases; 903 * This default implementation returns null so that we can easily ignore cases;
1074 * it's useful to ignore a case when inheritance will catch all the cases anyway. 904 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1075 * <!-- end-user-doc --> 905 * <!-- end-user-doc -->
1076 * @return the new adapter. 906 * @return the new adapter.
1077 * @see org.eclipse.viatra.solver.language.solverLanguage.True 907 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement
1078 * @generated 908 * @generated
1079 */ 909 */
1080 public Adapter createTrueAdapter() 910 public Adapter createNamedElementAdapter()
1081 { 911 {
1082 return null; 912 return null;
1083 } 913 }
1084 914
1085 /** 915 /**
1086 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.False <em>False</em>}'. 916 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion <em>Assertion</em>}'.
1087 * <!-- begin-user-doc --> 917 * <!-- begin-user-doc -->
1088 * This default implementation returns null so that we can easily ignore cases; 918 * This default implementation returns null so that we can easily ignore cases;
1089 * it's useful to ignore a case when inheritance will catch all the cases anyway. 919 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1090 * <!-- end-user-doc --> 920 * <!-- end-user-doc -->
1091 * @return the new adapter. 921 * @return the new adapter.
1092 * @see org.eclipse.viatra.solver.language.solverLanguage.False 922 * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion
1093 * @generated 923 * @generated
1094 */ 924 */
1095 public Adapter createFalseAdapter() 925 public Adapter createAssertionAdapter()
1096 { 926 {
1097 return null; 927 return null;
1098 } 928 }
1099 929
1100 /** 930 /**
1101 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Unknown <em>Unknown</em>}'. 931 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction <em>Disjunction</em>}'.
1102 * <!-- begin-user-doc --> 932 * <!-- begin-user-doc -->
1103 * This default implementation returns null so that we can easily ignore cases; 933 * This default implementation returns null so that we can easily ignore cases;
1104 * it's useful to ignore a case when inheritance will catch all the cases anyway. 934 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1105 * <!-- end-user-doc --> 935 * <!-- end-user-doc -->
1106 * @return the new adapter. 936 * @return the new adapter.
1107 * @see org.eclipse.viatra.solver.language.solverLanguage.Unknown 937 * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction
1108 * @generated 938 * @generated
1109 */ 939 */
1110 public Adapter createUnknownAdapter() 940 public Adapter createDisjunctionAdapter()
1111 { 941 {
1112 return null; 942 return null;
1113 } 943 }
1114 944
1115 /** 945 /**
1116 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Error <em>Error</em>}'. 946 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch <em>Switch</em>}'.
1117 * <!-- begin-user-doc --> 947 * <!-- begin-user-doc -->
1118 * This default implementation returns null so that we can easily ignore cases; 948 * This default implementation returns null so that we can easily ignore cases;
1119 * it's useful to ignore a case when inheritance will catch all the cases anyway. 949 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1120 * <!-- end-user-doc --> 950 * <!-- end-user-doc -->
1121 * @return the new adapter. 951 * @return the new adapter.
1122 * @see org.eclipse.viatra.solver.language.solverLanguage.Error 952 * @see org.eclipse.viatra.solver.language.solverLanguage.Switch
1123 * @generated 953 * @generated
1124 */ 954 */
1125 public Adapter createErrorAdapter() 955 public Adapter createSwitchAdapter()
1126 { 956 {
1127 return null; 957 return null;
1128 } 958 }
1129 959
1130 /** 960 /**
1131 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Positive <em>Positive</em>}'. 961 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction <em>Conjunction</em>}'.
1132 * <!-- begin-user-doc --> 962 * <!-- begin-user-doc -->
1133 * This default implementation returns null so that we can easily ignore cases; 963 * This default implementation returns null so that we can easily ignore cases;
1134 * it's useful to ignore a case when inheritance will catch all the cases anyway. 964 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1135 * <!-- end-user-doc --> 965 * <!-- end-user-doc -->
1136 * @return the new adapter. 966 * @return the new adapter.
1137 * @see org.eclipse.viatra.solver.language.solverLanguage.Positive 967 * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction
1138 * @generated 968 * @generated
1139 */ 969 */
1140 public Adapter createPositiveAdapter() 970 public Adapter createConjunctionAdapter()
1141 { 971 {
1142 return null; 972 return null;
1143 } 973 }
1144 974
1145 /** 975 /**
1146 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Negative <em>Negative</em>}'. 976 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison <em>Comparison</em>}'.
1147 * <!-- begin-user-doc --> 977 * <!-- begin-user-doc -->
1148 * This default implementation returns null so that we can easily ignore cases; 978 * This default implementation returns null so that we can easily ignore cases;
1149 * it's useful to ignore a case when inheritance will catch all the cases anyway. 979 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1150 * <!-- end-user-doc --> 980 * <!-- end-user-doc -->
1151 * @return the new adapter. 981 * @return the new adapter.
1152 * @see org.eclipse.viatra.solver.language.solverLanguage.Negative 982 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison
1153 * @generated 983 * @generated
1154 */ 984 */
1155 public Adapter createNegativeAdapter() 985 public Adapter createComparisonAdapter()
1156 { 986 {
1157 return null; 987 return null;
1158 } 988 }
1159 989
1160 /** 990 /**
1161 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure <em>Reflexive Closure</em>}'. 991 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression <em>Binary Expression</em>}'.
1162 * <!-- begin-user-doc --> 992 * <!-- begin-user-doc -->
1163 * This default implementation returns null so that we can easily ignore cases; 993 * This default implementation returns null so that we can easily ignore cases;
1164 * it's useful to ignore a case when inheritance will catch all the cases anyway. 994 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1165 * <!-- end-user-doc --> 995 * <!-- end-user-doc -->
1166 * @return the new adapter. 996 * @return the new adapter.
1167 * @see org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure 997 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression
1168 * @generated 998 * @generated
1169 */ 999 */
1170 public Adapter createReflexiveClosureAdapter() 1000 public Adapter createBinaryExpressionAdapter()
1171 { 1001 {
1172 return null; 1002 return null;
1173 } 1003 }
1174 1004
1175 /** 1005 /**
1176 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure <em>Irreflexive Closure</em>}'. 1006 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression <em>Unary Expression</em>}'.
1177 * <!-- begin-user-doc --> 1007 * <!-- begin-user-doc -->
1178 * This default implementation returns null so that we can easily ignore cases; 1008 * This default implementation returns null so that we can easily ignore cases;
1179 * it's useful to ignore a case when inheritance will catch all the cases anyway. 1009 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1180 * <!-- end-user-doc --> 1010 * <!-- end-user-doc -->
1181 * @return the new adapter. 1011 * @return the new adapter.
1182 * @see org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure 1012 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression
1183 * @generated 1013 * @generated
1184 */ 1014 */
1185 public Adapter createIrreflexiveClosureAdapter() 1015 public Adapter createUnaryExpressionAdapter()
1186 { 1016 {
1187 return null; 1017 return null;
1188 } 1018 }
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
index 6f6bcd17..f64b6bc0 100644
--- 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
@@ -1,5 +1,5 @@
1/** 1/**
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.solverLanguage.util; 4package org.eclipse.viatra.solver.language.solverLanguage.util;
5 5
@@ -8,57 +8,7 @@ import org.eclipse.emf.ecore.EPackage;
8 8
9import org.eclipse.emf.ecore.util.Switch; 9import org.eclipse.emf.ecore.util.Switch;
10 10
11import org.eclipse.viatra.solver.language.solverLanguage.AllInstances; 11import org.eclipse.viatra.solver.language.solverLanguage.*;
12import org.eclipse.viatra.solver.language.solverLanguage.AllObjects;
13import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation;
14import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse;
15import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject;
16import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol;
17import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue;
18import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue;
19import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation;
20import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation;
21import org.eclipse.viatra.solver.language.solverLanguage.ClosureType;
22import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject;
23import org.eclipse.viatra.solver.language.solverLanguage.Constraint;
24import org.eclipse.viatra.solver.language.solverLanguage.DataObject;
25import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol;
26import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation;
27import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
28import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
29import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
30import org.eclipse.viatra.solver.language.solverLanguage.False;
31import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
32import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation;
33import org.eclipse.viatra.solver.language.solverLanguage.IntObject;
34import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol;
35import org.eclipse.viatra.solver.language.solverLanguage.Interpretation;
36import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure;
37import org.eclipse.viatra.solver.language.solverLanguage.Literal;
38import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
39import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
40import org.eclipse.viatra.solver.language.solverLanguage.NamedObject;
41import org.eclipse.viatra.solver.language.solverLanguage.Negative;
42import org.eclipse.viatra.solver.language.solverLanguage.Parameter;
43import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol;
44import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
45import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
46import org.eclipse.viatra.solver.language.solverLanguage.Positive;
47import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
48import org.eclipse.viatra.solver.language.solverLanguage.Problem;
49import org.eclipse.viatra.solver.language.solverLanguage.RealObject;
50import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
51import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure;
52import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
53import org.eclipse.viatra.solver.language.solverLanguage.Statement;
54import org.eclipse.viatra.solver.language.solverLanguage.StringObject;
55import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol;
56import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
57import org.eclipse.viatra.solver.language.solverLanguage.True;
58import org.eclipse.viatra.solver.language.solverLanguage.TruthValue;
59import org.eclipse.viatra.solver.language.solverLanguage.Unknown;
60import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject;
61import org.eclipse.viatra.solver.language.solverLanguage.Variable;
62 12
63/** 13/**
64 * <!-- begin-user-doc --> 14 * <!-- begin-user-doc -->
@@ -137,423 +87,377 @@ public class SolverLanguageSwitch<T> extends Switch<T>
137 if (result == null) result = defaultCase(theEObject); 87 if (result == null) result = defaultCase(theEObject);
138 return result; 88 return result;
139 } 89 }
140 case SolverLanguagePackage.BOOLEAN_VALUE: 90 case SolverLanguagePackage.PREDICATE_DEFINITION:
141 { 91 {
142 BooleanValue booleanValue = (BooleanValue)theEObject; 92 PredicateDefinition predicateDefinition = (PredicateDefinition)theEObject;
143 T result = caseBooleanValue(booleanValue); 93 T result = casePredicateDefinition(predicateDefinition);
94 if (result == null) result = caseStatement(predicateDefinition);
144 if (result == null) result = defaultCase(theEObject); 95 if (result == null) result = defaultCase(theEObject);
145 return result; 96 return result;
146 } 97 }
147 case SolverLanguagePackage.TRUTH_VALUE: 98 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION:
148 { 99 {
149 TruthValue truthValue = (TruthValue)theEObject; 100 UnnamedErrorPrediateDefinition unnamedErrorPrediateDefinition = (UnnamedErrorPrediateDefinition)theEObject;
150 T result = caseTruthValue(truthValue); 101 T result = caseUnnamedErrorPrediateDefinition(unnamedErrorPrediateDefinition);
102 if (result == null) result = caseStatement(unnamedErrorPrediateDefinition);
151 if (result == null) result = defaultCase(theEObject); 103 if (result == null) result = defaultCase(theEObject);
152 return result; 104 return result;
153 } 105 }
154 case SolverLanguagePackage.INTERPRETATION: 106 case SolverLanguagePackage.DEFAULT_DEFINITION:
155 { 107 {
156 Interpretation interpretation = (Interpretation)theEObject; 108 DefaultDefinition defaultDefinition = (DefaultDefinition)theEObject;
157 T result = caseInterpretation(interpretation); 109 T result = caseDefaultDefinition(defaultDefinition);
158 if (result == null) result = caseStatement(interpretation); 110 if (result == null) result = caseStatement(defaultDefinition);
159 if (result == null) result = defaultCase(theEObject); 111 if (result == null) result = defaultCase(theEObject);
160 return result; 112 return result;
161 } 113 }
162 case SolverLanguagePackage.BASIC_INTERPRETATION: 114 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION:
163 { 115 {
164 BasicInterpretation basicInterpretation = (BasicInterpretation)theEObject; 116 ExternPredicateDefinition externPredicateDefinition = (ExternPredicateDefinition)theEObject;
165 T result = caseBasicInterpretation(basicInterpretation); 117 T result = caseExternPredicateDefinition(externPredicateDefinition);
166 if (result == null) result = caseInterpretation(basicInterpretation); 118 if (result == null) result = caseStatement(externPredicateDefinition);
167 if (result == null) result = caseStatement(basicInterpretation);
168 if (result == null) result = defaultCase(theEObject); 119 if (result == null) result = defaultCase(theEObject);
169 return result; 120 return result;
170 } 121 }
171 case SolverLanguagePackage.SYMBOL: 122 case SolverLanguagePackage.METRIC_DEFINITION:
172 { 123 {
173 Symbol symbol = (Symbol)theEObject; 124 MetricDefinition metricDefinition = (MetricDefinition)theEObject;
174 T result = caseSymbol(symbol); 125 T result = caseMetricDefinition(metricDefinition);
126 if (result == null) result = caseStatement(metricDefinition);
175 if (result == null) result = defaultCase(theEObject); 127 if (result == null) result = defaultCase(theEObject);
176 return result; 128 return result;
177 } 129 }
178 case SolverLanguagePackage.MODEL_SYMBOL: 130 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION:
179 { 131 {
180 ModelSymbol modelSymbol = (ModelSymbol)theEObject; 132 ExternMetricDefinition externMetricDefinition = (ExternMetricDefinition)theEObject;
181 T result = caseModelSymbol(modelSymbol); 133 T result = caseExternMetricDefinition(externMetricDefinition);
182 if (result == null) result = caseSymbol(modelSymbol); 134 if (result == null) result = caseStatement(externMetricDefinition);
183 if (result == null) result = defaultCase(theEObject); 135 if (result == null) result = defaultCase(theEObject);
184 return result; 136 return result;
185 } 137 }
186 case SolverLanguagePackage.PARTIALITY_SYMBOL: 138 case SolverLanguagePackage.EXPRESSION:
187 { 139 {
188 PartialitySymbol partialitySymbol = (PartialitySymbol)theEObject; 140 Expression expression = (Expression)theEObject;
189 T result = casePartialitySymbol(partialitySymbol); 141 T result = caseExpression(expression);
190 if (result == null) result = caseSymbol(partialitySymbol); 142 if (result == null) result = caseStatement(expression);
191 if (result == null) result = defaultCase(theEObject); 143 if (result == null) result = defaultCase(theEObject);
192 return result; 144 return result;
193 } 145 }
194 case SolverLanguagePackage.EXIST_SYMBOL: 146 case SolverLanguagePackage.IF_ELSE:
195 { 147 {
196 ExistSymbol existSymbol = (ExistSymbol)theEObject; 148 IfElse ifElse = (IfElse)theEObject;
197 T result = caseExistSymbol(existSymbol); 149 T result = caseIfElse(ifElse);
198 if (result == null) result = casePartialitySymbol(existSymbol); 150 if (result == null) result = caseExpression(ifElse);
199 if (result == null) result = caseSymbol(existSymbol); 151 if (result == null) result = caseStatement(ifElse);
200 if (result == null) result = defaultCase(theEObject); 152 if (result == null) result = defaultCase(theEObject);
201 return result; 153 return result;
202 } 154 }
203 case SolverLanguagePackage.EQUALS_SYMBOL: 155 case SolverLanguagePackage.CASE:
204 { 156 {
205 EqualsSymbol equalsSymbol = (EqualsSymbol)theEObject; 157 Case case_ = (Case)theEObject;
206 T result = caseEqualsSymbol(equalsSymbol); 158 T result = caseCase(case_);
207 if (result == null) result = casePartialitySymbol(equalsSymbol); 159 if (result == null) result = caseExpression(case_);
208 if (result == null) result = caseSymbol(equalsSymbol); 160 if (result == null) result = caseStatement(case_);
209 if (result == null) result = defaultCase(theEObject); 161 if (result == null) result = defaultCase(theEObject);
210 return result; 162 return result;
211 } 163 }
212 case SolverLanguagePackage.DATA_SYMBOL: 164 case SolverLanguagePackage.COUNT:
213 { 165 {
214 DataSymbol dataSymbol = (DataSymbol)theEObject; 166 Count count = (Count)theEObject;
215 T result = caseDataSymbol(dataSymbol); 167 T result = caseCount(count);
216 if (result == null) result = caseSymbol(dataSymbol); 168 if (result == null) result = caseExpression(count);
169 if (result == null) result = caseStatement(count);
217 if (result == null) result = defaultCase(theEObject); 170 if (result == null) result = defaultCase(theEObject);
218 return result; 171 return result;
219 } 172 }
220 case SolverLanguagePackage.BOOLEAN_SYMBOL: 173 case SolverLanguagePackage.AGGREGATION:
221 { 174 {
222 BooleanSymbol booleanSymbol = (BooleanSymbol)theEObject; 175 Aggregation aggregation = (Aggregation)theEObject;
223 T result = caseBooleanSymbol(booleanSymbol); 176 T result = caseAggregation(aggregation);
224 if (result == null) result = caseDataSymbol(booleanSymbol); 177 if (result == null) result = caseExpression(aggregation);
225 if (result == null) result = caseSymbol(booleanSymbol); 178 if (result == null) result = caseStatement(aggregation);
226 if (result == null) result = defaultCase(theEObject); 179 if (result == null) result = defaultCase(theEObject);
227 return result; 180 return result;
228 } 181 }
229 case SolverLanguagePackage.INTEGER_SYMBOL: 182 case SolverLanguagePackage.CALL:
230 { 183 {
231 IntegerSymbol integerSymbol = (IntegerSymbol)theEObject; 184 Call call = (Call)theEObject;
232 T result = caseIntegerSymbol(integerSymbol); 185 T result = caseCall(call);
233 if (result == null) result = caseDataSymbol(integerSymbol); 186 if (result == null) result = caseExpression(call);
234 if (result == null) result = caseSymbol(integerSymbol); 187 if (result == null) result = caseStatement(call);
235 if (result == null) result = defaultCase(theEObject); 188 if (result == null) result = defaultCase(theEObject);
236 return result; 189 return result;
237 } 190 }
238 case SolverLanguagePackage.REAL_SYMBOL: 191 case SolverLanguagePackage.ARGUMENT_LIST:
239 { 192 {
240 RealSymbol realSymbol = (RealSymbol)theEObject; 193 ArgumentList argumentList = (ArgumentList)theEObject;
241 T result = caseRealSymbol(realSymbol); 194 T result = caseArgumentList(argumentList);
242 if (result == null) result = caseDataSymbol(realSymbol);
243 if (result == null) result = caseSymbol(realSymbol);
244 if (result == null) result = defaultCase(theEObject); 195 if (result == null) result = defaultCase(theEObject);
245 return result; 196 return result;
246 } 197 }
247 case SolverLanguagePackage.STRING_SYMBOL: 198 case SolverLanguagePackage.ARGUMENT:
248 { 199 {
249 StringSymbol stringSymbol = (StringSymbol)theEObject; 200 Argument argument = (Argument)theEObject;
250 T result = caseStringSymbol(stringSymbol); 201 T result = caseArgument(argument);
251 if (result == null) result = caseDataSymbol(stringSymbol);
252 if (result == null) result = caseSymbol(stringSymbol);
253 if (result == null) result = defaultCase(theEObject); 202 if (result == null) result = defaultCase(theEObject);
254 return result; 203 return result;
255 } 204 }
256 case SolverLanguagePackage.COMPLEX_OBJECT: 205 case SolverLanguagePackage.EXPRESSION_ARGUMENT:
257 { 206 {
258 ComplexObject complexObject = (ComplexObject)theEObject; 207 ExpressionArgument expressionArgument = (ExpressionArgument)theEObject;
259 T result = caseComplexObject(complexObject); 208 T result = caseExpressionArgument(expressionArgument);
209 if (result == null) result = caseArgument(expressionArgument);
260 if (result == null) result = defaultCase(theEObject); 210 if (result == null) result = defaultCase(theEObject);
261 return result; 211 return result;
262 } 212 }
263 case SolverLanguagePackage.OBJECT: 213 case SolverLanguagePackage.STAR_ARGUMENT:
264 { 214 {
265 org.eclipse.viatra.solver.language.solverLanguage.Object object = (org.eclipse.viatra.solver.language.solverLanguage.Object)theEObject; 215 StarArgument starArgument = (StarArgument)theEObject;
266 T result = caseObject(object); 216 T result = caseStarArgument(starArgument);
267 if (result == null) result = caseComplexObject(object); 217 if (result == null) result = caseArgument(starArgument);
268 if (result == null) result = defaultCase(theEObject); 218 if (result == null) result = defaultCase(theEObject);
269 return result; 219 return result;
270 } 220 }
271 case SolverLanguagePackage.NAMED_OBJECT: 221 case SolverLanguagePackage.TYPED_ARGUMENT:
272 { 222 {
273 NamedObject namedObject = (NamedObject)theEObject; 223 TypedArgument typedArgument = (TypedArgument)theEObject;
274 T result = caseNamedObject(namedObject); 224 T result = caseTypedArgument(typedArgument);
275 if (result == null) result = caseObject(namedObject); 225 if (result == null) result = caseArgument(typedArgument);
276 if (result == null) result = caseLiteral(namedObject);
277 if (result == null) result = caseComplexObject(namedObject);
278 if (result == null) result = defaultCase(theEObject); 226 if (result == null) result = defaultCase(theEObject);
279 return result; 227 return result;
280 } 228 }
281 case SolverLanguagePackage.UNNAMED_OBJECT: 229 case SolverLanguagePackage.TYPED_STAR_ARGUMENT:
282 { 230 {
283 UnnamedObject unnamedObject = (UnnamedObject)theEObject; 231 TypedStarArgument typedStarArgument = (TypedStarArgument)theEObject;
284 T result = caseUnnamedObject(unnamedObject); 232 T result = caseTypedStarArgument(typedStarArgument);
285 if (result == null) result = caseObject(unnamedObject); 233 if (result == null) result = caseArgument(typedStarArgument);
286 if (result == null) result = caseComplexObject(unnamedObject);
287 if (result == null) result = defaultCase(theEObject); 234 if (result == null) result = defaultCase(theEObject);
288 return result; 235 return result;
289 } 236 }
290 case SolverLanguagePackage.DATA_OBJECT: 237 case SolverLanguagePackage.REFERENCE:
291 { 238 {
292 DataObject dataObject = (DataObject)theEObject; 239 Reference reference = (Reference)theEObject;
293 T result = caseDataObject(dataObject); 240 T result = caseReference(reference);
294 if (result == null) result = caseObject(dataObject); 241 if (result == null) result = caseExpression(reference);
295 if (result == null) result = caseLiteral(dataObject); 242 if (result == null) result = caseStatement(reference);
296 if (result == null) result = caseComplexObject(dataObject);
297 if (result == null) result = defaultCase(theEObject); 243 if (result == null) result = defaultCase(theEObject);
298 return result; 244 return result;
299 } 245 }
300 case SolverLanguagePackage.BOOLEAN_OBJECT: 246 case SolverLanguagePackage.INTERVAL:
301 { 247 {
302 BooleanObject booleanObject = (BooleanObject)theEObject; 248 Interval interval = (Interval)theEObject;
303 T result = caseBooleanObject(booleanObject); 249 T result = caseInterval(interval);
304 if (result == null) result = caseDataObject(booleanObject); 250 if (result == null) result = caseExpression(interval);
305 if (result == null) result = caseObject(booleanObject); 251 if (result == null) result = caseStatement(interval);
306 if (result == null) result = caseLiteral(booleanObject);
307 if (result == null) result = caseComplexObject(booleanObject);
308 if (result == null) result = defaultCase(theEObject); 252 if (result == null) result = defaultCase(theEObject);
309 return result; 253 return result;
310 } 254 }
311 case SolverLanguagePackage.INT_OBJECT: 255 case SolverLanguagePackage.LITERAL:
312 {
313 IntObject intObject = (IntObject)theEObject;
314 T result = caseIntObject(intObject);
315 if (result == null) result = caseDataObject(intObject);
316 if (result == null) result = caseObject(intObject);
317 if (result == null) result = caseLiteral(intObject);
318 if (result == null) result = caseComplexObject(intObject);
319 if (result == null) result = defaultCase(theEObject);
320 return result;
321 }
322 case SolverLanguagePackage.REAL_OBJECT:
323 {
324 RealObject realObject = (RealObject)theEObject;
325 T result = caseRealObject(realObject);
326 if (result == null) result = caseDataObject(realObject);
327 if (result == null) result = caseObject(realObject);
328 if (result == null) result = caseLiteral(realObject);
329 if (result == null) result = caseComplexObject(realObject);
330 if (result == null) result = defaultCase(theEObject);
331 return result;
332 }
333 case SolverLanguagePackage.STRING_OBJECT:
334 {
335 StringObject stringObject = (StringObject)theEObject;
336 T result = caseStringObject(stringObject);
337 if (result == null) result = caseDataObject(stringObject);
338 if (result == null) result = caseObject(stringObject);
339 if (result == null) result = caseLiteral(stringObject);
340 if (result == null) result = caseComplexObject(stringObject);
341 if (result == null) result = defaultCase(theEObject);
342 return result;
343 }
344 case SolverLanguagePackage.PREDICATE:
345 {
346 Predicate predicate = (Predicate)theEObject;
347 T result = casePredicate(predicate);
348 if (result == null) result = caseStatement(predicate);
349 if (result == null) result = defaultCase(theEObject);
350 return result;
351 }
352 case SolverLanguagePackage.PARAMETER:
353 {
354 Parameter parameter = (Parameter)theEObject;
355 T result = caseParameter(parameter);
356 if (result == null) result = defaultCase(theEObject);
357 return result;
358 }
359 case SolverLanguagePackage.PATTERN_BODY:
360 { 256 {
361 PatternBody patternBody = (PatternBody)theEObject; 257 Literal literal = (Literal)theEObject;
362 T result = casePatternBody(patternBody); 258 T result = caseLiteral(literal);
259 if (result == null) result = caseExpression(literal);
260 if (result == null) result = caseStatement(literal);
363 if (result == null) result = defaultCase(theEObject); 261 if (result == null) result = defaultCase(theEObject);
364 return result; 262 return result;
365 } 263 }
366 case SolverLanguagePackage.POLARITY: 264 case SolverLanguagePackage.LOGIC_LITERAL:
367 { 265 {
368 Polarity polarity = (Polarity)theEObject; 266 LogicLiteral logicLiteral = (LogicLiteral)theEObject;
369 T result = casePolarity(polarity); 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);
370 if (result == null) result = defaultCase(theEObject); 271 if (result == null) result = defaultCase(theEObject);
371 return result; 272 return result;
372 } 273 }
373 case SolverLanguagePackage.CONSTRAINT: 274 case SolverLanguagePackage.NUMERIC_LITERAL:
374 { 275 {
375 Constraint constraint = (Constraint)theEObject; 276 NumericLiteral numericLiteral = (NumericLiteral)theEObject;
376 T result = caseConstraint(constraint); 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);
377 if (result == null) result = defaultCase(theEObject); 281 if (result == null) result = defaultCase(theEObject);
378 return result; 282 return result;
379 } 283 }
380 case SolverLanguagePackage.CLOSURE_TYPE: 284 case SolverLanguagePackage.INFINITY_LITERAL:
381 { 285 {
382 ClosureType closureType = (ClosureType)theEObject; 286 InfinityLiteral infinityLiteral = (InfinityLiteral)theEObject;
383 T result = caseClosureType(closureType); 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);
384 if (result == null) result = defaultCase(theEObject); 291 if (result == null) result = defaultCase(theEObject);
385 return result; 292 return result;
386 } 293 }
387 case SolverLanguagePackage.LITERAL: 294 case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL:
388 { 295 {
389 Literal literal = (Literal)theEObject; 296 EmptyIntervalLiteral emptyIntervalLiteral = (EmptyIntervalLiteral)theEObject;
390 T result = caseLiteral(literal); 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);
391 if (result == null) result = defaultCase(theEObject); 301 if (result == null) result = defaultCase(theEObject);
392 return result; 302 return result;
393 } 303 }
394 case SolverLanguagePackage.VARIABLE: 304 case SolverLanguagePackage.STRING_LITERAL:
395 { 305 {
396 Variable variable = (Variable)theEObject; 306 StringLiteral stringLiteral = (StringLiteral)theEObject;
397 T result = caseVariable(variable); 307 T result = caseStringLiteral(stringLiteral);
398 if (result == null) result = caseLiteral(variable); 308 if (result == null) result = caseLiteral(stringLiteral);
309 if (result == null) result = caseExpression(stringLiteral);
310 if (result == null) result = caseStatement(stringLiteral);
399 if (result == null) result = defaultCase(theEObject); 311 if (result == null) result = defaultCase(theEObject);
400 return result; 312 return result;
401 } 313 }
402 case SolverLanguagePackage.ALL_INSTANCES: 314 case SolverLanguagePackage.MEMBER_DEFINITION:
403 { 315 {
404 AllInstances allInstances = (AllInstances)theEObject; 316 MemberDefinition memberDefinition = (MemberDefinition)theEObject;
405 T result = caseAllInstances(allInstances); 317 T result = caseMemberDefinition(memberDefinition);
406 if (result == null) result = caseComplexObject(allInstances);
407 if (result == null) result = defaultCase(theEObject); 318 if (result == null) result = defaultCase(theEObject);
408 return result; 319 return result;
409 } 320 }
410 case SolverLanguagePackage.ALL_OBJECTS: 321 case SolverLanguagePackage.MULTIPLICITY:
411 { 322 {
412 AllObjects allObjects = (AllObjects)theEObject; 323 Multiplicity multiplicity = (Multiplicity)theEObject;
413 T result = caseAllObjects(allObjects); 324 T result = caseMultiplicity(multiplicity);
414 if (result == null) result = caseComplexObject(allObjects);
415 if (result == null) result = defaultCase(theEObject); 325 if (result == null) result = defaultCase(theEObject);
416 return result; 326 return result;
417 } 327 }
418 case SolverLanguagePackage.DEFAULT_INTERPRETATION: 328 case SolverLanguagePackage.MANY_MULTIPLICITY:
419 { 329 {
420 DefaultInterpretation defaultInterpretation = (DefaultInterpretation)theEObject; 330 ManyMultiplicity manyMultiplicity = (ManyMultiplicity)theEObject;
421 T result = caseDefaultInterpretation(defaultInterpretation); 331 T result = caseManyMultiplicity(manyMultiplicity);
422 if (result == null) result = caseInterpretation(defaultInterpretation); 332 if (result == null) result = caseMultiplicity(manyMultiplicity);
423 if (result == null) result = caseStatement(defaultInterpretation);
424 if (result == null) result = defaultCase(theEObject); 333 if (result == null) result = defaultCase(theEObject);
425 return result; 334 return result;
426 } 335 }
427 case SolverLanguagePackage.CD_INTERPRETATION: 336 case SolverLanguagePackage.EXACT_MULTIPLICITY:
428 { 337 {
429 CDInterpretation cdInterpretation = (CDInterpretation)theEObject; 338 ExactMultiplicity exactMultiplicity = (ExactMultiplicity)theEObject;
430 T result = caseCDInterpretation(cdInterpretation); 339 T result = caseExactMultiplicity(exactMultiplicity);
431 if (result == null) result = caseInterpretation(cdInterpretation); 340 if (result == null) result = caseMultiplicity(exactMultiplicity);
432 if (result == null) result = caseStatement(cdInterpretation);
433 if (result == null) result = defaultCase(theEObject); 341 if (result == null) result = defaultCase(theEObject);
434 return result; 342 return result;
435 } 343 }
436 case SolverLanguagePackage.CLASS_INTERPRETATION: 344 case SolverLanguagePackage.BOUNDED_MULTIPLICITY:
437 { 345 {
438 ClassInterpretation classInterpretation = (ClassInterpretation)theEObject; 346 BoundedMultiplicity boundedMultiplicity = (BoundedMultiplicity)theEObject;
439 T result = caseClassInterpretation(classInterpretation); 347 T result = caseBoundedMultiplicity(boundedMultiplicity);
440 if (result == null) result = caseCDInterpretation(classInterpretation); 348 if (result == null) result = caseMultiplicity(boundedMultiplicity);
441 if (result == null) result = caseInterpretation(classInterpretation);
442 if (result == null) result = caseStatement(classInterpretation);
443 if (result == null) result = defaultCase(theEObject); 349 if (result == null) result = defaultCase(theEObject);
444 return result; 350 return result;
445 } 351 }
446 case SolverLanguagePackage.ENUM_INTERPRETATION: 352 case SolverLanguagePackage.SCOPE_DEFINITION:
447 { 353 {
448 EnumInterpretation enumInterpretation = (EnumInterpretation)theEObject; 354 ScopeDefinition scopeDefinition = (ScopeDefinition)theEObject;
449 T result = caseEnumInterpretation(enumInterpretation); 355 T result = caseScopeDefinition(scopeDefinition);
450 if (result == null) result = caseCDInterpretation(enumInterpretation); 356 if (result == null) result = caseStatement(scopeDefinition);
451 if (result == null) result = caseInterpretation(enumInterpretation);
452 if (result == null) result = caseStatement(enumInterpretation);
453 if (result == null) result = defaultCase(theEObject); 357 if (result == null) result = defaultCase(theEObject);
454 return result; 358 return result;
455 } 359 }
456 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION: 360 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION:
457 { 361 {
458 FieldRelationInterpretation fieldRelationInterpretation = (FieldRelationInterpretation)theEObject; 362 ExactScopeDefinition exactScopeDefinition = (ExactScopeDefinition)theEObject;
459 T result = caseFieldRelationInterpretation(fieldRelationInterpretation); 363 T result = caseExactScopeDefinition(exactScopeDefinition);
364 if (result == null) result = caseScopeDefinition(exactScopeDefinition);
365 if (result == null) result = caseStatement(exactScopeDefinition);
460 if (result == null) result = defaultCase(theEObject); 366 if (result == null) result = defaultCase(theEObject);
461 return result; 367 return result;
462 } 368 }
463 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION: 369 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION:
464 { 370 {
465 GlobalRelationInterpretation globalRelationInterpretation = (GlobalRelationInterpretation)theEObject; 371 BoundedScopeDefinition boundedScopeDefinition = (BoundedScopeDefinition)theEObject;
466 T result = caseGlobalRelationInterpretation(globalRelationInterpretation); 372 T result = caseBoundedScopeDefinition(boundedScopeDefinition);
467 if (result == null) result = caseCDInterpretation(globalRelationInterpretation); 373 if (result == null) result = caseScopeDefinition(boundedScopeDefinition);
468 if (result == null) result = caseInterpretation(globalRelationInterpretation); 374 if (result == null) result = caseStatement(boundedScopeDefinition);
469 if (result == null) result = caseStatement(globalRelationInterpretation);
470 if (result == null) result = defaultCase(theEObject); 375 if (result == null) result = defaultCase(theEObject);
471 return result; 376 return result;
472 } 377 }
473 case SolverLanguagePackage.MULTIPLICITY_DEFINITION: 378 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION:
474 { 379 {
475 MultiplicityDefinition multiplicityDefinition = (MultiplicityDefinition)theEObject; 380 LowerBoundedScopeDefinition lowerBoundedScopeDefinition = (LowerBoundedScopeDefinition)theEObject;
476 T result = caseMultiplicityDefinition(multiplicityDefinition); 381 T result = caseLowerBoundedScopeDefinition(lowerBoundedScopeDefinition);
382 if (result == null) result = caseScopeDefinition(lowerBoundedScopeDefinition);
383 if (result == null) result = caseStatement(lowerBoundedScopeDefinition);
477 if (result == null) result = defaultCase(theEObject); 384 if (result == null) result = defaultCase(theEObject);
478 return result; 385 return result;
479 } 386 }
480 case SolverLanguagePackage.BOOLEAN_TRUE: 387 case SolverLanguagePackage.OBJECTIVE_DEFINITION:
481 { 388 {
482 BooleanTrue booleanTrue = (BooleanTrue)theEObject; 389 ObjectiveDefinition objectiveDefinition = (ObjectiveDefinition)theEObject;
483 T result = caseBooleanTrue(booleanTrue); 390 T result = caseObjectiveDefinition(objectiveDefinition);
484 if (result == null) result = caseBooleanValue(booleanTrue); 391 if (result == null) result = caseStatement(objectiveDefinition);
485 if (result == null) result = defaultCase(theEObject); 392 if (result == null) result = defaultCase(theEObject);
486 return result; 393 return result;
487 } 394 }
488 case SolverLanguagePackage.BOOLEAN_FALSE: 395 case SolverLanguagePackage.NAMED_ELEMENT:
489 { 396 {
490 BooleanFalse booleanFalse = (BooleanFalse)theEObject; 397 NamedElement namedElement = (NamedElement)theEObject;
491 T result = caseBooleanFalse(booleanFalse); 398 T result = caseNamedElement(namedElement);
492 if (result == null) result = caseBooleanValue(booleanFalse);
493 if (result == null) result = defaultCase(theEObject); 399 if (result == null) result = defaultCase(theEObject);
494 return result; 400 return result;
495 } 401 }
496 case SolverLanguagePackage.TRUE: 402 case SolverLanguagePackage.ASSERTION:
497 { 403 {
498 True true_ = (True)theEObject; 404 Assertion assertion = (Assertion)theEObject;
499 T result = caseTrue(true_); 405 T result = caseAssertion(assertion);
500 if (result == null) result = caseTruthValue(true_); 406 if (result == null) result = caseStatement(assertion);
501 if (result == null) result = defaultCase(theEObject); 407 if (result == null) result = defaultCase(theEObject);
502 return result; 408 return result;
503 } 409 }
504 case SolverLanguagePackage.FALSE: 410 case SolverLanguagePackage.DISJUNCTION:
505 { 411 {
506 False false_ = (False)theEObject; 412 Disjunction disjunction = (Disjunction)theEObject;
507 T result = caseFalse(false_); 413 T result = caseDisjunction(disjunction);
508 if (result == null) result = caseTruthValue(false_); 414 if (result == null) result = caseExpression(disjunction);
415 if (result == null) result = caseStatement(disjunction);
509 if (result == null) result = defaultCase(theEObject); 416 if (result == null) result = defaultCase(theEObject);
510 return result; 417 return result;
511 } 418 }
512 case SolverLanguagePackage.UNKNOWN: 419 case SolverLanguagePackage.SWITCH:
513 { 420 {
514 Unknown unknown = (Unknown)theEObject; 421 org.eclipse.viatra.solver.language.solverLanguage.Switch switch_ = (org.eclipse.viatra.solver.language.solverLanguage.Switch)theEObject;
515 T result = caseUnknown(unknown); 422 T result = caseSwitch(switch_);
516 if (result == null) result = caseTruthValue(unknown); 423 if (result == null) result = caseExpression(switch_);
424 if (result == null) result = caseStatement(switch_);
517 if (result == null) result = defaultCase(theEObject); 425 if (result == null) result = defaultCase(theEObject);
518 return result; 426 return result;
519 } 427 }
520 case SolverLanguagePackage.ERROR: 428 case SolverLanguagePackage.CONJUNCTION:
521 { 429 {
522 org.eclipse.viatra.solver.language.solverLanguage.Error error = (org.eclipse.viatra.solver.language.solverLanguage.Error)theEObject; 430 Conjunction conjunction = (Conjunction)theEObject;
523 T result = caseError(error); 431 T result = caseConjunction(conjunction);
524 if (result == null) result = caseTruthValue(error); 432 if (result == null) result = caseExpression(conjunction);
433 if (result == null) result = caseStatement(conjunction);
525 if (result == null) result = defaultCase(theEObject); 434 if (result == null) result = defaultCase(theEObject);
526 return result; 435 return result;
527 } 436 }
528 case SolverLanguagePackage.POSITIVE: 437 case SolverLanguagePackage.COMPARISON:
529 { 438 {
530 Positive positive = (Positive)theEObject; 439 Comparison comparison = (Comparison)theEObject;
531 T result = casePositive(positive); 440 T result = caseComparison(comparison);
532 if (result == null) result = casePolarity(positive); 441 if (result == null) result = caseExpression(comparison);
442 if (result == null) result = caseStatement(comparison);
533 if (result == null) result = defaultCase(theEObject); 443 if (result == null) result = defaultCase(theEObject);
534 return result; 444 return result;
535 } 445 }
536 case SolverLanguagePackage.NEGATIVE: 446 case SolverLanguagePackage.BINARY_EXPRESSION:
537 { 447 {
538 Negative negative = (Negative)theEObject; 448 BinaryExpression binaryExpression = (BinaryExpression)theEObject;
539 T result = caseNegative(negative); 449 T result = caseBinaryExpression(binaryExpression);
540 if (result == null) result = casePolarity(negative); 450 if (result == null) result = caseExpression(binaryExpression);
451 if (result == null) result = caseStatement(binaryExpression);
541 if (result == null) result = defaultCase(theEObject); 452 if (result == null) result = defaultCase(theEObject);
542 return result; 453 return result;
543 } 454 }
544 case SolverLanguagePackage.REFLEXIVE_CLOSURE: 455 case SolverLanguagePackage.UNARY_EXPRESSION:
545 { 456 {
546 ReflexiveClosure reflexiveClosure = (ReflexiveClosure)theEObject; 457 UnaryExpression unaryExpression = (UnaryExpression)theEObject;
547 T result = caseReflexiveClosure(reflexiveClosure); 458 T result = caseUnaryExpression(unaryExpression);
548 if (result == null) result = caseClosureType(reflexiveClosure); 459 if (result == null) result = caseExpression(unaryExpression);
549 if (result == null) result = defaultCase(theEObject); 460 if (result == null) result = caseStatement(unaryExpression);
550 return result;
551 }
552 case SolverLanguagePackage.IRREFLEXIVE_CLOSURE:
553 {
554 IrreflexiveClosure irreflexiveClosure = (IrreflexiveClosure)theEObject;
555 T result = caseIrreflexiveClosure(irreflexiveClosure);
556 if (result == null) result = caseClosureType(irreflexiveClosure);
557 if (result == null) result = defaultCase(theEObject); 461 if (result == null) result = defaultCase(theEObject);
558 return result; 462 return result;
559 } 463 }
@@ -594,801 +498,705 @@ public class SolverLanguageSwitch<T> extends Switch<T>
594 } 498 }
595 499
596 /** 500 /**
597 * Returns the result of interpreting the object as an instance of '<em>Boolean Value</em>'. 501 * Returns the result of interpreting the object as an instance of '<em>Predicate Definition</em>'.
598 * <!-- begin-user-doc -->
599 * This implementation returns null;
600 * returning a non-null result will terminate the switch.
601 * <!-- end-user-doc -->
602 * @param object the target of the switch.
603 * @return the result of interpreting the object as an instance of '<em>Boolean Value</em>'.
604 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
605 * @generated
606 */
607 public T caseBooleanValue(BooleanValue object)
608 {
609 return null;
610 }
611
612 /**
613 * Returns the result of interpreting the object as an instance of '<em>Truth Value</em>'.
614 * <!-- begin-user-doc -->
615 * This implementation returns null;
616 * returning a non-null result will terminate the switch.
617 * <!-- end-user-doc -->
618 * @param object the target of the switch.
619 * @return the result of interpreting the object as an instance of '<em>Truth Value</em>'.
620 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
621 * @generated
622 */
623 public T caseTruthValue(TruthValue object)
624 {
625 return null;
626 }
627
628 /**
629 * Returns the result of interpreting the object as an instance of '<em>Interpretation</em>'.
630 * <!-- begin-user-doc -->
631 * This implementation returns null;
632 * returning a non-null result will terminate the switch.
633 * <!-- end-user-doc -->
634 * @param object the target of the switch.
635 * @return the result of interpreting the object as an instance of '<em>Interpretation</em>'.
636 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
637 * @generated
638 */
639 public T caseInterpretation(Interpretation object)
640 {
641 return null;
642 }
643
644 /**
645 * Returns the result of interpreting the object as an instance of '<em>Basic Interpretation</em>'.
646 * <!-- begin-user-doc --> 502 * <!-- begin-user-doc -->
647 * This implementation returns null; 503 * This implementation returns null;
648 * returning a non-null result will terminate the switch. 504 * returning a non-null result will terminate the switch.
649 * <!-- end-user-doc --> 505 * <!-- end-user-doc -->
650 * @param object the target of the switch. 506 * @param object the target of the switch.
651 * @return the result of interpreting the object as an instance of '<em>Basic Interpretation</em>'. 507 * @return the result of interpreting the object as an instance of '<em>Predicate Definition</em>'.
652 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 508 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
653 * @generated 509 * @generated
654 */ 510 */
655 public T caseBasicInterpretation(BasicInterpretation object) 511 public T casePredicateDefinition(PredicateDefinition object)
656 { 512 {
657 return null; 513 return null;
658 } 514 }
659 515
660 /** 516 /**
661 * Returns the result of interpreting the object as an instance of '<em>Symbol</em>'. 517 * Returns the result of interpreting the object as an instance of '<em>Unnamed Error Prediate Definition</em>'.
662 * <!-- begin-user-doc --> 518 * <!-- begin-user-doc -->
663 * This implementation returns null; 519 * This implementation returns null;
664 * returning a non-null result will terminate the switch. 520 * returning a non-null result will terminate the switch.
665 * <!-- end-user-doc --> 521 * <!-- end-user-doc -->
666 * @param object the target of the switch. 522 * @param object the target of the switch.
667 * @return the result of interpreting the object as an instance of '<em>Symbol</em>'. 523 * @return the result of interpreting the object as an instance of '<em>Unnamed Error Prediate Definition</em>'.
668 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 524 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
669 * @generated 525 * @generated
670 */ 526 */
671 public T caseSymbol(Symbol object) 527 public T caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object)
672 { 528 {
673 return null; 529 return null;
674 } 530 }
675 531
676 /** 532 /**
677 * Returns the result of interpreting the object as an instance of '<em>Model Symbol</em>'. 533 * Returns the result of interpreting the object as an instance of '<em>Default Definition</em>'.
678 * <!-- begin-user-doc --> 534 * <!-- begin-user-doc -->
679 * This implementation returns null; 535 * This implementation returns null;
680 * returning a non-null result will terminate the switch. 536 * returning a non-null result will terminate the switch.
681 * <!-- end-user-doc --> 537 * <!-- end-user-doc -->
682 * @param object the target of the switch. 538 * @param object the target of the switch.
683 * @return the result of interpreting the object as an instance of '<em>Model Symbol</em>'. 539 * @return the result of interpreting the object as an instance of '<em>Default Definition</em>'.
684 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 540 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
685 * @generated 541 * @generated
686 */ 542 */
687 public T caseModelSymbol(ModelSymbol object) 543 public T caseDefaultDefinition(DefaultDefinition object)
688 { 544 {
689 return null; 545 return null;
690 } 546 }
691 547
692 /** 548 /**
693 * Returns the result of interpreting the object as an instance of '<em>Partiality Symbol</em>'. 549 * Returns the result of interpreting the object as an instance of '<em>Extern Predicate Definition</em>'.
694 * <!-- begin-user-doc --> 550 * <!-- begin-user-doc -->
695 * This implementation returns null; 551 * This implementation returns null;
696 * returning a non-null result will terminate the switch. 552 * returning a non-null result will terminate the switch.
697 * <!-- end-user-doc --> 553 * <!-- end-user-doc -->
698 * @param object the target of the switch. 554 * @param object the target of the switch.
699 * @return the result of interpreting the object as an instance of '<em>Partiality Symbol</em>'. 555 * @return the result of interpreting the object as an instance of '<em>Extern Predicate Definition</em>'.
700 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 556 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
701 * @generated 557 * @generated
702 */ 558 */
703 public T casePartialitySymbol(PartialitySymbol object) 559 public T caseExternPredicateDefinition(ExternPredicateDefinition object)
704 { 560 {
705 return null; 561 return null;
706 } 562 }
707 563
708 /** 564 /**
709 * Returns the result of interpreting the object as an instance of '<em>Exist Symbol</em>'. 565 * Returns the result of interpreting the object as an instance of '<em>Metric Definition</em>'.
710 * <!-- begin-user-doc --> 566 * <!-- begin-user-doc -->
711 * This implementation returns null; 567 * This implementation returns null;
712 * returning a non-null result will terminate the switch. 568 * returning a non-null result will terminate the switch.
713 * <!-- end-user-doc --> 569 * <!-- end-user-doc -->
714 * @param object the target of the switch. 570 * @param object the target of the switch.
715 * @return the result of interpreting the object as an instance of '<em>Exist Symbol</em>'. 571 * @return the result of interpreting the object as an instance of '<em>Metric Definition</em>'.
716 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 572 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
717 * @generated 573 * @generated
718 */ 574 */
719 public T caseExistSymbol(ExistSymbol object) 575 public T caseMetricDefinition(MetricDefinition object)
720 { 576 {
721 return null; 577 return null;
722 } 578 }
723 579
724 /** 580 /**
725 * Returns the result of interpreting the object as an instance of '<em>Equals Symbol</em>'. 581 * Returns the result of interpreting the object as an instance of '<em>Extern Metric Definition</em>'.
726 * <!-- begin-user-doc --> 582 * <!-- begin-user-doc -->
727 * This implementation returns null; 583 * This implementation returns null;
728 * returning a non-null result will terminate the switch. 584 * returning a non-null result will terminate the switch.
729 * <!-- end-user-doc --> 585 * <!-- end-user-doc -->
730 * @param object the target of the switch. 586 * @param object the target of the switch.
731 * @return the result of interpreting the object as an instance of '<em>Equals Symbol</em>'. 587 * @return the result of interpreting the object as an instance of '<em>Extern Metric Definition</em>'.
732 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 588 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
733 * @generated 589 * @generated
734 */ 590 */
735 public T caseEqualsSymbol(EqualsSymbol object) 591 public T caseExternMetricDefinition(ExternMetricDefinition object)
736 { 592 {
737 return null; 593 return null;
738 } 594 }
739 595
740 /** 596 /**
741 * Returns the result of interpreting the object as an instance of '<em>Data Symbol</em>'. 597 * Returns the result of interpreting the object as an instance of '<em>Expression</em>'.
742 * <!-- begin-user-doc --> 598 * <!-- begin-user-doc -->
743 * This implementation returns null; 599 * This implementation returns null;
744 * returning a non-null result will terminate the switch. 600 * returning a non-null result will terminate the switch.
745 * <!-- end-user-doc --> 601 * <!-- end-user-doc -->
746 * @param object the target of the switch. 602 * @param object the target of the switch.
747 * @return the result of interpreting the object as an instance of '<em>Data Symbol</em>'. 603 * @return the result of interpreting the object as an instance of '<em>Expression</em>'.
748 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 604 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
749 * @generated 605 * @generated
750 */ 606 */
751 public T caseDataSymbol(DataSymbol object) 607 public T caseExpression(Expression object)
752 { 608 {
753 return null; 609 return null;
754 } 610 }
755 611
756 /** 612 /**
757 * Returns the result of interpreting the object as an instance of '<em>Boolean Symbol</em>'. 613 * Returns the result of interpreting the object as an instance of '<em>If Else</em>'.
758 * <!-- begin-user-doc --> 614 * <!-- begin-user-doc -->
759 * This implementation returns null; 615 * This implementation returns null;
760 * returning a non-null result will terminate the switch. 616 * returning a non-null result will terminate the switch.
761 * <!-- end-user-doc --> 617 * <!-- end-user-doc -->
762 * @param object the target of the switch. 618 * @param object the target of the switch.
763 * @return the result of interpreting the object as an instance of '<em>Boolean Symbol</em>'. 619 * @return the result of interpreting the object as an instance of '<em>If Else</em>'.
764 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 620 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
765 * @generated 621 * @generated
766 */ 622 */
767 public T caseBooleanSymbol(BooleanSymbol object) 623 public T caseIfElse(IfElse object)
768 { 624 {
769 return null; 625 return null;
770 } 626 }
771 627
772 /** 628 /**
773 * Returns the result of interpreting the object as an instance of '<em>Integer Symbol</em>'. 629 * Returns the result of interpreting the object as an instance of '<em>Case</em>'.
774 * <!-- begin-user-doc --> 630 * <!-- begin-user-doc -->
775 * This implementation returns null; 631 * This implementation returns null;
776 * returning a non-null result will terminate the switch. 632 * returning a non-null result will terminate the switch.
777 * <!-- end-user-doc --> 633 * <!-- end-user-doc -->
778 * @param object the target of the switch. 634 * @param object the target of the switch.
779 * @return the result of interpreting the object as an instance of '<em>Integer Symbol</em>'. 635 * @return the result of interpreting the object as an instance of '<em>Case</em>'.
780 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 636 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
781 * @generated 637 * @generated
782 */ 638 */
783 public T caseIntegerSymbol(IntegerSymbol object) 639 public T caseCase(Case object)
784 { 640 {
785 return null; 641 return null;
786 } 642 }
787 643
788 /** 644 /**
789 * Returns the result of interpreting the object as an instance of '<em>Real Symbol</em>'. 645 * Returns the result of interpreting the object as an instance of '<em>Count</em>'.
790 * <!-- begin-user-doc --> 646 * <!-- begin-user-doc -->
791 * This implementation returns null; 647 * This implementation returns null;
792 * returning a non-null result will terminate the switch. 648 * returning a non-null result will terminate the switch.
793 * <!-- end-user-doc --> 649 * <!-- end-user-doc -->
794 * @param object the target of the switch. 650 * @param object the target of the switch.
795 * @return the result of interpreting the object as an instance of '<em>Real Symbol</em>'. 651 * @return the result of interpreting the object as an instance of '<em>Count</em>'.
796 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 652 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
797 * @generated 653 * @generated
798 */ 654 */
799 public T caseRealSymbol(RealSymbol object) 655 public T caseCount(Count object)
800 { 656 {
801 return null; 657 return null;
802 } 658 }
803 659
804 /** 660 /**
805 * Returns the result of interpreting the object as an instance of '<em>String Symbol</em>'. 661 * Returns the result of interpreting the object as an instance of '<em>Aggregation</em>'.
806 * <!-- begin-user-doc --> 662 * <!-- begin-user-doc -->
807 * This implementation returns null; 663 * This implementation returns null;
808 * returning a non-null result will terminate the switch. 664 * returning a non-null result will terminate the switch.
809 * <!-- end-user-doc --> 665 * <!-- end-user-doc -->
810 * @param object the target of the switch. 666 * @param object the target of the switch.
811 * @return the result of interpreting the object as an instance of '<em>String Symbol</em>'. 667 * @return the result of interpreting the object as an instance of '<em>Aggregation</em>'.
812 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 668 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
813 * @generated 669 * @generated
814 */ 670 */
815 public T caseStringSymbol(StringSymbol object) 671 public T caseAggregation(Aggregation object)
816 { 672 {
817 return null; 673 return null;
818 } 674 }
819 675
820 /** 676 /**
821 * Returns the result of interpreting the object as an instance of '<em>Complex Object</em>'. 677 * Returns the result of interpreting the object as an instance of '<em>Call</em>'.
822 * <!-- begin-user-doc --> 678 * <!-- begin-user-doc -->
823 * This implementation returns null; 679 * This implementation returns null;
824 * returning a non-null result will terminate the switch. 680 * returning a non-null result will terminate the switch.
825 * <!-- end-user-doc --> 681 * <!-- end-user-doc -->
826 * @param object the target of the switch. 682 * @param object the target of the switch.
827 * @return the result of interpreting the object as an instance of '<em>Complex Object</em>'. 683 * @return the result of interpreting the object as an instance of '<em>Call</em>'.
828 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 684 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
829 * @generated 685 * @generated
830 */ 686 */
831 public T caseComplexObject(ComplexObject object) 687 public T caseCall(Call object)
832 { 688 {
833 return null; 689 return null;
834 } 690 }
835 691
836 /** 692 /**
837 * Returns the result of interpreting the object as an instance of '<em>Object</em>'. 693 * Returns the result of interpreting the object as an instance of '<em>Argument List</em>'.
838 * <!-- begin-user-doc --> 694 * <!-- begin-user-doc -->
839 * This implementation returns null; 695 * This implementation returns null;
840 * returning a non-null result will terminate the switch. 696 * returning a non-null result will terminate the switch.
841 * <!-- end-user-doc --> 697 * <!-- end-user-doc -->
842 * @param object the target of the switch. 698 * @param object the target of the switch.
843 * @return the result of interpreting the object as an instance of '<em>Object</em>'. 699 * @return the result of interpreting the object as an instance of '<em>Argument List</em>'.
844 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 700 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
845 * @generated 701 * @generated
846 */ 702 */
847 public T caseObject(org.eclipse.viatra.solver.language.solverLanguage.Object object) 703 public T caseArgumentList(ArgumentList object)
848 { 704 {
849 return null; 705 return null;
850 } 706 }
851 707
852 /** 708 /**
853 * Returns the result of interpreting the object as an instance of '<em>Named Object</em>'. 709 * Returns the result of interpreting the object as an instance of '<em>Argument</em>'.
854 * <!-- begin-user-doc --> 710 * <!-- begin-user-doc -->
855 * This implementation returns null; 711 * This implementation returns null;
856 * returning a non-null result will terminate the switch. 712 * returning a non-null result will terminate the switch.
857 * <!-- end-user-doc --> 713 * <!-- end-user-doc -->
858 * @param object the target of the switch. 714 * @param object the target of the switch.
859 * @return the result of interpreting the object as an instance of '<em>Named Object</em>'. 715 * @return the result of interpreting the object as an instance of '<em>Argument</em>'.
860 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 716 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
861 * @generated 717 * @generated
862 */ 718 */
863 public T caseNamedObject(NamedObject object) 719 public T caseArgument(Argument object)
864 { 720 {
865 return null; 721 return null;
866 } 722 }
867 723
868 /** 724 /**
869 * Returns the result of interpreting the object as an instance of '<em>Unnamed Object</em>'. 725 * Returns the result of interpreting the object as an instance of '<em>Expression Argument</em>'.
870 * <!-- begin-user-doc --> 726 * <!-- begin-user-doc -->
871 * This implementation returns null; 727 * This implementation returns null;
872 * returning a non-null result will terminate the switch. 728 * returning a non-null result will terminate the switch.
873 * <!-- end-user-doc --> 729 * <!-- end-user-doc -->
874 * @param object the target of the switch. 730 * @param object the target of the switch.
875 * @return the result of interpreting the object as an instance of '<em>Unnamed Object</em>'. 731 * @return the result of interpreting the object as an instance of '<em>Expression Argument</em>'.
876 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 732 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
877 * @generated 733 * @generated
878 */ 734 */
879 public T caseUnnamedObject(UnnamedObject object) 735 public T caseExpressionArgument(ExpressionArgument object)
880 { 736 {
881 return null; 737 return null;
882 } 738 }
883 739
884 /** 740 /**
885 * Returns the result of interpreting the object as an instance of '<em>Data Object</em>'. 741 * Returns the result of interpreting the object as an instance of '<em>Star Argument</em>'.
886 * <!-- begin-user-doc --> 742 * <!-- begin-user-doc -->
887 * This implementation returns null; 743 * This implementation returns null;
888 * returning a non-null result will terminate the switch. 744 * returning a non-null result will terminate the switch.
889 * <!-- end-user-doc --> 745 * <!-- end-user-doc -->
890 * @param object the target of the switch. 746 * @param object the target of the switch.
891 * @return the result of interpreting the object as an instance of '<em>Data Object</em>'. 747 * @return the result of interpreting the object as an instance of '<em>Star Argument</em>'.
892 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 748 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
893 * @generated 749 * @generated
894 */ 750 */
895 public T caseDataObject(DataObject object) 751 public T caseStarArgument(StarArgument object)
896 { 752 {
897 return null; 753 return null;
898 } 754 }
899 755
900 /** 756 /**
901 * Returns the result of interpreting the object as an instance of '<em>Boolean Object</em>'. 757 * Returns the result of interpreting the object as an instance of '<em>Typed Argument</em>'.
902 * <!-- begin-user-doc --> 758 * <!-- begin-user-doc -->
903 * This implementation returns null; 759 * This implementation returns null;
904 * returning a non-null result will terminate the switch. 760 * returning a non-null result will terminate the switch.
905 * <!-- end-user-doc --> 761 * <!-- end-user-doc -->
906 * @param object the target of the switch. 762 * @param object the target of the switch.
907 * @return the result of interpreting the object as an instance of '<em>Boolean Object</em>'. 763 * @return the result of interpreting the object as an instance of '<em>Typed Argument</em>'.
908 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 764 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
909 * @generated 765 * @generated
910 */ 766 */
911 public T caseBooleanObject(BooleanObject object) 767 public T caseTypedArgument(TypedArgument object)
912 { 768 {
913 return null; 769 return null;
914 } 770 }
915 771
916 /** 772 /**
917 * Returns the result of interpreting the object as an instance of '<em>Int Object</em>'. 773 * Returns the result of interpreting the object as an instance of '<em>Typed Star Argument</em>'.
918 * <!-- begin-user-doc --> 774 * <!-- begin-user-doc -->
919 * This implementation returns null; 775 * This implementation returns null;
920 * returning a non-null result will terminate the switch. 776 * returning a non-null result will terminate the switch.
921 * <!-- end-user-doc --> 777 * <!-- end-user-doc -->
922 * @param object the target of the switch. 778 * @param object the target of the switch.
923 * @return the result of interpreting the object as an instance of '<em>Int Object</em>'. 779 * @return the result of interpreting the object as an instance of '<em>Typed Star Argument</em>'.
924 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 780 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
925 * @generated 781 * @generated
926 */ 782 */
927 public T caseIntObject(IntObject object) 783 public T caseTypedStarArgument(TypedStarArgument object)
928 { 784 {
929 return null; 785 return null;
930 } 786 }
931 787
932 /** 788 /**
933 * Returns the result of interpreting the object as an instance of '<em>Real Object</em>'. 789 * Returns the result of interpreting the object as an instance of '<em>Reference</em>'.
934 * <!-- begin-user-doc --> 790 * <!-- begin-user-doc -->
935 * This implementation returns null; 791 * This implementation returns null;
936 * returning a non-null result will terminate the switch. 792 * returning a non-null result will terminate the switch.
937 * <!-- end-user-doc --> 793 * <!-- end-user-doc -->
938 * @param object the target of the switch. 794 * @param object the target of the switch.
939 * @return the result of interpreting the object as an instance of '<em>Real Object</em>'. 795 * @return the result of interpreting the object as an instance of '<em>Reference</em>'.
940 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 796 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
941 * @generated 797 * @generated
942 */ 798 */
943 public T caseRealObject(RealObject object) 799 public T caseReference(Reference object)
944 { 800 {
945 return null; 801 return null;
946 } 802 }
947 803
948 /** 804 /**
949 * Returns the result of interpreting the object as an instance of '<em>String Object</em>'. 805 * Returns the result of interpreting the object as an instance of '<em>Interval</em>'.
950 * <!-- begin-user-doc --> 806 * <!-- begin-user-doc -->
951 * This implementation returns null; 807 * This implementation returns null;
952 * returning a non-null result will terminate the switch. 808 * returning a non-null result will terminate the switch.
953 * <!-- end-user-doc --> 809 * <!-- end-user-doc -->
954 * @param object the target of the switch. 810 * @param object the target of the switch.
955 * @return the result of interpreting the object as an instance of '<em>String Object</em>'. 811 * @return the result of interpreting the object as an instance of '<em>Interval</em>'.
956 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 812 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
957 * @generated 813 * @generated
958 */ 814 */
959 public T caseStringObject(StringObject object) 815 public T caseInterval(Interval object)
960 { 816 {
961 return null; 817 return null;
962 } 818 }
963 819
964 /** 820 /**
965 * Returns the result of interpreting the object as an instance of '<em>Predicate</em>'. 821 * Returns the result of interpreting the object as an instance of '<em>Literal</em>'.
966 * <!-- begin-user-doc -->
967 * This implementation returns null;
968 * returning a non-null result will terminate the switch.
969 * <!-- end-user-doc -->
970 * @param object the target of the switch.
971 * @return the result of interpreting the object as an instance of '<em>Predicate</em>'.
972 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
973 * @generated
974 */
975 public T casePredicate(Predicate object)
976 {
977 return null;
978 }
979
980 /**
981 * Returns the result of interpreting the object as an instance of '<em>Parameter</em>'.
982 * <!-- begin-user-doc -->
983 * This implementation returns null;
984 * returning a non-null result will terminate the switch.
985 * <!-- end-user-doc -->
986 * @param object the target of the switch.
987 * @return the result of interpreting the object as an instance of '<em>Parameter</em>'.
988 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
989 * @generated
990 */
991 public T caseParameter(Parameter object)
992 {
993 return null;
994 }
995
996 /**
997 * Returns the result of interpreting the object as an instance of '<em>Pattern Body</em>'.
998 * <!-- begin-user-doc -->
999 * This implementation returns null;
1000 * returning a non-null result will terminate the switch.
1001 * <!-- end-user-doc -->
1002 * @param object the target of the switch.
1003 * @return the result of interpreting the object as an instance of '<em>Pattern Body</em>'.
1004 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1005 * @generated
1006 */
1007 public T casePatternBody(PatternBody object)
1008 {
1009 return null;
1010 }
1011
1012 /**
1013 * Returns the result of interpreting the object as an instance of '<em>Polarity</em>'.
1014 * <!-- begin-user-doc --> 822 * <!-- begin-user-doc -->
1015 * This implementation returns null; 823 * This implementation returns null;
1016 * returning a non-null result will terminate the switch. 824 * returning a non-null result will terminate the switch.
1017 * <!-- end-user-doc --> 825 * <!-- end-user-doc -->
1018 * @param object the target of the switch. 826 * @param object the target of the switch.
1019 * @return the result of interpreting the object as an instance of '<em>Polarity</em>'. 827 * @return the result of interpreting the object as an instance of '<em>Literal</em>'.
1020 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 828 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1021 * @generated 829 * @generated
1022 */ 830 */
1023 public T casePolarity(Polarity object) 831 public T caseLiteral(Literal object)
1024 { 832 {
1025 return null; 833 return null;
1026 } 834 }
1027 835
1028 /** 836 /**
1029 * Returns the result of interpreting the object as an instance of '<em>Constraint</em>'. 837 * Returns the result of interpreting the object as an instance of '<em>Logic Literal</em>'.
1030 * <!-- begin-user-doc --> 838 * <!-- begin-user-doc -->
1031 * This implementation returns null; 839 * This implementation returns null;
1032 * returning a non-null result will terminate the switch. 840 * returning a non-null result will terminate the switch.
1033 * <!-- end-user-doc --> 841 * <!-- end-user-doc -->
1034 * @param object the target of the switch. 842 * @param object the target of the switch.
1035 * @return the result of interpreting the object as an instance of '<em>Constraint</em>'. 843 * @return the result of interpreting the object as an instance of '<em>Logic Literal</em>'.
1036 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 844 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1037 * @generated 845 * @generated
1038 */ 846 */
1039 public T caseConstraint(Constraint object) 847 public T caseLogicLiteral(LogicLiteral object)
1040 { 848 {
1041 return null; 849 return null;
1042 } 850 }
1043 851
1044 /** 852 /**
1045 * Returns the result of interpreting the object as an instance of '<em>Closure Type</em>'. 853 * Returns the result of interpreting the object as an instance of '<em>Numeric Literal</em>'.
1046 * <!-- begin-user-doc --> 854 * <!-- begin-user-doc -->
1047 * This implementation returns null; 855 * This implementation returns null;
1048 * returning a non-null result will terminate the switch. 856 * returning a non-null result will terminate the switch.
1049 * <!-- end-user-doc --> 857 * <!-- end-user-doc -->
1050 * @param object the target of the switch. 858 * @param object the target of the switch.
1051 * @return the result of interpreting the object as an instance of '<em>Closure Type</em>'. 859 * @return the result of interpreting the object as an instance of '<em>Numeric Literal</em>'.
1052 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 860 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1053 * @generated 861 * @generated
1054 */ 862 */
1055 public T caseClosureType(ClosureType object) 863 public T caseNumericLiteral(NumericLiteral object)
1056 { 864 {
1057 return null; 865 return null;
1058 } 866 }
1059 867
1060 /** 868 /**
1061 * Returns the result of interpreting the object as an instance of '<em>Literal</em>'. 869 * Returns the result of interpreting the object as an instance of '<em>Infinity Literal</em>'.
1062 * <!-- begin-user-doc --> 870 * <!-- begin-user-doc -->
1063 * This implementation returns null; 871 * This implementation returns null;
1064 * returning a non-null result will terminate the switch. 872 * returning a non-null result will terminate the switch.
1065 * <!-- end-user-doc --> 873 * <!-- end-user-doc -->
1066 * @param object the target of the switch. 874 * @param object the target of the switch.
1067 * @return the result of interpreting the object as an instance of '<em>Literal</em>'. 875 * @return the result of interpreting the object as an instance of '<em>Infinity Literal</em>'.
1068 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 876 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1069 * @generated 877 * @generated
1070 */ 878 */
1071 public T caseLiteral(Literal object) 879 public T caseInfinityLiteral(InfinityLiteral object)
1072 { 880 {
1073 return null; 881 return null;
1074 } 882 }
1075 883
1076 /** 884 /**
1077 * Returns the result of interpreting the object as an instance of '<em>Variable</em>'. 885 * Returns the result of interpreting the object as an instance of '<em>Empty Interval Literal</em>'.
1078 * <!-- begin-user-doc --> 886 * <!-- begin-user-doc -->
1079 * This implementation returns null; 887 * This implementation returns null;
1080 * returning a non-null result will terminate the switch. 888 * returning a non-null result will terminate the switch.
1081 * <!-- end-user-doc --> 889 * <!-- end-user-doc -->
1082 * @param object the target of the switch. 890 * @param object the target of the switch.
1083 * @return the result of interpreting the object as an instance of '<em>Variable</em>'. 891 * @return the result of interpreting the object as an instance of '<em>Empty Interval Literal</em>'.
1084 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 892 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1085 * @generated 893 * @generated
1086 */ 894 */
1087 public T caseVariable(Variable object) 895 public T caseEmptyIntervalLiteral(EmptyIntervalLiteral object)
1088 { 896 {
1089 return null; 897 return null;
1090 } 898 }
1091 899
1092 /** 900 /**
1093 * Returns the result of interpreting the object as an instance of '<em>All Instances</em>'. 901 * Returns the result of interpreting the object as an instance of '<em>String Literal</em>'.
1094 * <!-- begin-user-doc --> 902 * <!-- begin-user-doc -->
1095 * This implementation returns null; 903 * This implementation returns null;
1096 * returning a non-null result will terminate the switch. 904 * returning a non-null result will terminate the switch.
1097 * <!-- end-user-doc --> 905 * <!-- end-user-doc -->
1098 * @param object the target of the switch. 906 * @param object the target of the switch.
1099 * @return the result of interpreting the object as an instance of '<em>All Instances</em>'. 907 * @return the result of interpreting the object as an instance of '<em>String Literal</em>'.
1100 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 908 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1101 * @generated 909 * @generated
1102 */ 910 */
1103 public T caseAllInstances(AllInstances object) 911 public T caseStringLiteral(StringLiteral object)
1104 { 912 {
1105 return null; 913 return null;
1106 } 914 }
1107 915
1108 /** 916 /**
1109 * Returns the result of interpreting the object as an instance of '<em>All Objects</em>'. 917 * Returns the result of interpreting the object as an instance of '<em>Member Definition</em>'.
1110 * <!-- begin-user-doc --> 918 * <!-- begin-user-doc -->
1111 * This implementation returns null; 919 * This implementation returns null;
1112 * returning a non-null result will terminate the switch. 920 * returning a non-null result will terminate the switch.
1113 * <!-- end-user-doc --> 921 * <!-- end-user-doc -->
1114 * @param object the target of the switch. 922 * @param object the target of the switch.
1115 * @return the result of interpreting the object as an instance of '<em>All Objects</em>'. 923 * @return the result of interpreting the object as an instance of '<em>Member Definition</em>'.
1116 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 924 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1117 * @generated 925 * @generated
1118 */ 926 */
1119 public T caseAllObjects(AllObjects object) 927 public T caseMemberDefinition(MemberDefinition object)
1120 { 928 {
1121 return null; 929 return null;
1122 } 930 }
1123 931
1124 /** 932 /**
1125 * Returns the result of interpreting the object as an instance of '<em>Default Interpretation</em>'. 933 * Returns the result of interpreting the object as an instance of '<em>Multiplicity</em>'.
1126 * <!-- begin-user-doc --> 934 * <!-- begin-user-doc -->
1127 * This implementation returns null; 935 * This implementation returns null;
1128 * returning a non-null result will terminate the switch. 936 * returning a non-null result will terminate the switch.
1129 * <!-- end-user-doc --> 937 * <!-- end-user-doc -->
1130 * @param object the target of the switch. 938 * @param object the target of the switch.
1131 * @return the result of interpreting the object as an instance of '<em>Default Interpretation</em>'. 939 * @return the result of interpreting the object as an instance of '<em>Multiplicity</em>'.
1132 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 940 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1133 * @generated 941 * @generated
1134 */ 942 */
1135 public T caseDefaultInterpretation(DefaultInterpretation object) 943 public T caseMultiplicity(Multiplicity object)
1136 { 944 {
1137 return null; 945 return null;
1138 } 946 }
1139 947
1140 /** 948 /**
1141 * Returns the result of interpreting the object as an instance of '<em>CD Interpretation</em>'. 949 * Returns the result of interpreting the object as an instance of '<em>Many Multiplicity</em>'.
1142 * <!-- begin-user-doc --> 950 * <!-- begin-user-doc -->
1143 * This implementation returns null; 951 * This implementation returns null;
1144 * returning a non-null result will terminate the switch. 952 * returning a non-null result will terminate the switch.
1145 * <!-- end-user-doc --> 953 * <!-- end-user-doc -->
1146 * @param object the target of the switch. 954 * @param object the target of the switch.
1147 * @return the result of interpreting the object as an instance of '<em>CD Interpretation</em>'. 955 * @return the result of interpreting the object as an instance of '<em>Many Multiplicity</em>'.
1148 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 956 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1149 * @generated 957 * @generated
1150 */ 958 */
1151 public T caseCDInterpretation(CDInterpretation object) 959 public T caseManyMultiplicity(ManyMultiplicity object)
1152 { 960 {
1153 return null; 961 return null;
1154 } 962 }
1155 963
1156 /** 964 /**
1157 * Returns the result of interpreting the object as an instance of '<em>Class Interpretation</em>'. 965 * Returns the result of interpreting the object as an instance of '<em>Exact Multiplicity</em>'.
1158 * <!-- begin-user-doc --> 966 * <!-- begin-user-doc -->
1159 * This implementation returns null; 967 * This implementation returns null;
1160 * returning a non-null result will terminate the switch. 968 * returning a non-null result will terminate the switch.
1161 * <!-- end-user-doc --> 969 * <!-- end-user-doc -->
1162 * @param object the target of the switch. 970 * @param object the target of the switch.
1163 * @return the result of interpreting the object as an instance of '<em>Class Interpretation</em>'. 971 * @return the result of interpreting the object as an instance of '<em>Exact Multiplicity</em>'.
1164 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 972 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1165 * @generated 973 * @generated
1166 */ 974 */
1167 public T caseClassInterpretation(ClassInterpretation object) 975 public T caseExactMultiplicity(ExactMultiplicity object)
1168 { 976 {
1169 return null; 977 return null;
1170 } 978 }
1171 979
1172 /** 980 /**
1173 * Returns the result of interpreting the object as an instance of '<em>Enum Interpretation</em>'. 981 * Returns the result of interpreting the object as an instance of '<em>Bounded Multiplicity</em>'.
1174 * <!-- begin-user-doc --> 982 * <!-- begin-user-doc -->
1175 * This implementation returns null; 983 * This implementation returns null;
1176 * returning a non-null result will terminate the switch. 984 * returning a non-null result will terminate the switch.
1177 * <!-- end-user-doc --> 985 * <!-- end-user-doc -->
1178 * @param object the target of the switch. 986 * @param object the target of the switch.
1179 * @return the result of interpreting the object as an instance of '<em>Enum Interpretation</em>'. 987 * @return the result of interpreting the object as an instance of '<em>Bounded Multiplicity</em>'.
1180 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 988 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1181 * @generated 989 * @generated
1182 */ 990 */
1183 public T caseEnumInterpretation(EnumInterpretation object) 991 public T caseBoundedMultiplicity(BoundedMultiplicity object)
1184 { 992 {
1185 return null; 993 return null;
1186 } 994 }
1187 995
1188 /** 996 /**
1189 * Returns the result of interpreting the object as an instance of '<em>Field Relation Interpretation</em>'. 997 * Returns the result of interpreting the object as an instance of '<em>Scope Definition</em>'.
1190 * <!-- begin-user-doc --> 998 * <!-- begin-user-doc -->
1191 * This implementation returns null; 999 * This implementation returns null;
1192 * returning a non-null result will terminate the switch. 1000 * returning a non-null result will terminate the switch.
1193 * <!-- end-user-doc --> 1001 * <!-- end-user-doc -->
1194 * @param object the target of the switch. 1002 * @param object the target of the switch.
1195 * @return the result of interpreting the object as an instance of '<em>Field Relation Interpretation</em>'. 1003 * @return the result of interpreting the object as an instance of '<em>Scope Definition</em>'.
1196 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1004 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1197 * @generated 1005 * @generated
1198 */ 1006 */
1199 public T caseFieldRelationInterpretation(FieldRelationInterpretation object) 1007 public T caseScopeDefinition(ScopeDefinition object)
1200 { 1008 {
1201 return null; 1009 return null;
1202 } 1010 }
1203 1011
1204 /** 1012 /**
1205 * Returns the result of interpreting the object as an instance of '<em>Global Relation Interpretation</em>'. 1013 * Returns the result of interpreting the object as an instance of '<em>Exact Scope Definition</em>'.
1206 * <!-- begin-user-doc --> 1014 * <!-- begin-user-doc -->
1207 * This implementation returns null; 1015 * This implementation returns null;
1208 * returning a non-null result will terminate the switch. 1016 * returning a non-null result will terminate the switch.
1209 * <!-- end-user-doc --> 1017 * <!-- end-user-doc -->
1210 * @param object the target of the switch. 1018 * @param object the target of the switch.
1211 * @return the result of interpreting the object as an instance of '<em>Global Relation Interpretation</em>'. 1019 * @return the result of interpreting the object as an instance of '<em>Exact Scope Definition</em>'.
1212 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1020 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1213 * @generated 1021 * @generated
1214 */ 1022 */
1215 public T caseGlobalRelationInterpretation(GlobalRelationInterpretation object) 1023 public T caseExactScopeDefinition(ExactScopeDefinition object)
1216 { 1024 {
1217 return null; 1025 return null;
1218 } 1026 }
1219 1027
1220 /** 1028 /**
1221 * Returns the result of interpreting the object as an instance of '<em>Multiplicity Definition</em>'. 1029 * Returns the result of interpreting the object as an instance of '<em>Bounded Scope Definition</em>'.
1222 * <!-- begin-user-doc --> 1030 * <!-- begin-user-doc -->
1223 * This implementation returns null; 1031 * This implementation returns null;
1224 * returning a non-null result will terminate the switch. 1032 * returning a non-null result will terminate the switch.
1225 * <!-- end-user-doc --> 1033 * <!-- end-user-doc -->
1226 * @param object the target of the switch. 1034 * @param object the target of the switch.
1227 * @return the result of interpreting the object as an instance of '<em>Multiplicity Definition</em>'. 1035 * @return the result of interpreting the object as an instance of '<em>Bounded Scope Definition</em>'.
1228 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1036 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1229 * @generated 1037 * @generated
1230 */ 1038 */
1231 public T caseMultiplicityDefinition(MultiplicityDefinition object) 1039 public T caseBoundedScopeDefinition(BoundedScopeDefinition object)
1232 { 1040 {
1233 return null; 1041 return null;
1234 } 1042 }
1235 1043
1236 /** 1044 /**
1237 * Returns the result of interpreting the object as an instance of '<em>Boolean True</em>'. 1045 * Returns the result of interpreting the object as an instance of '<em>Lower Bounded Scope Definition</em>'.
1238 * <!-- begin-user-doc --> 1046 * <!-- begin-user-doc -->
1239 * This implementation returns null; 1047 * This implementation returns null;
1240 * returning a non-null result will terminate the switch. 1048 * returning a non-null result will terminate the switch.
1241 * <!-- end-user-doc --> 1049 * <!-- end-user-doc -->
1242 * @param object the target of the switch. 1050 * @param object the target of the switch.
1243 * @return the result of interpreting the object as an instance of '<em>Boolean True</em>'. 1051 * @return the result of interpreting the object as an instance of '<em>Lower Bounded Scope Definition</em>'.
1244 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1052 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1245 * @generated 1053 * @generated
1246 */ 1054 */
1247 public T caseBooleanTrue(BooleanTrue object) 1055 public T caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object)
1248 { 1056 {
1249 return null; 1057 return null;
1250 } 1058 }
1251 1059
1252 /** 1060 /**
1253 * Returns the result of interpreting the object as an instance of '<em>Boolean False</em>'. 1061 * Returns the result of interpreting the object as an instance of '<em>Objective Definition</em>'.
1254 * <!-- begin-user-doc --> 1062 * <!-- begin-user-doc -->
1255 * This implementation returns null; 1063 * This implementation returns null;
1256 * returning a non-null result will terminate the switch. 1064 * returning a non-null result will terminate the switch.
1257 * <!-- end-user-doc --> 1065 * <!-- end-user-doc -->
1258 * @param object the target of the switch. 1066 * @param object the target of the switch.
1259 * @return the result of interpreting the object as an instance of '<em>Boolean False</em>'. 1067 * @return the result of interpreting the object as an instance of '<em>Objective Definition</em>'.
1260 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1068 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1261 * @generated 1069 * @generated
1262 */ 1070 */
1263 public T caseBooleanFalse(BooleanFalse object) 1071 public T caseObjectiveDefinition(ObjectiveDefinition object)
1264 { 1072 {
1265 return null; 1073 return null;
1266 } 1074 }
1267 1075
1268 /** 1076 /**
1269 * Returns the result of interpreting the object as an instance of '<em>True</em>'. 1077 * Returns the result of interpreting the object as an instance of '<em>Named Element</em>'.
1270 * <!-- begin-user-doc --> 1078 * <!-- begin-user-doc -->
1271 * This implementation returns null; 1079 * This implementation returns null;
1272 * returning a non-null result will terminate the switch. 1080 * returning a non-null result will terminate the switch.
1273 * <!-- end-user-doc --> 1081 * <!-- end-user-doc -->
1274 * @param object the target of the switch. 1082 * @param object the target of the switch.
1275 * @return the result of interpreting the object as an instance of '<em>True</em>'. 1083 * @return the result of interpreting the object as an instance of '<em>Named Element</em>'.
1276 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1084 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1277 * @generated 1085 * @generated
1278 */ 1086 */
1279 public T caseTrue(True object) 1087 public T caseNamedElement(NamedElement object)
1280 { 1088 {
1281 return null; 1089 return null;
1282 } 1090 }
1283 1091
1284 /** 1092 /**
1285 * Returns the result of interpreting the object as an instance of '<em>False</em>'. 1093 * Returns the result of interpreting the object as an instance of '<em>Assertion</em>'.
1286 * <!-- begin-user-doc --> 1094 * <!-- begin-user-doc -->
1287 * This implementation returns null; 1095 * This implementation returns null;
1288 * returning a non-null result will terminate the switch. 1096 * returning a non-null result will terminate the switch.
1289 * <!-- end-user-doc --> 1097 * <!-- end-user-doc -->
1290 * @param object the target of the switch. 1098 * @param object the target of the switch.
1291 * @return the result of interpreting the object as an instance of '<em>False</em>'. 1099 * @return the result of interpreting the object as an instance of '<em>Assertion</em>'.
1292 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1100 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1293 * @generated 1101 * @generated
1294 */ 1102 */
1295 public T caseFalse(False object) 1103 public T caseAssertion(Assertion object)
1296 { 1104 {
1297 return null; 1105 return null;
1298 } 1106 }
1299 1107
1300 /** 1108 /**
1301 * Returns the result of interpreting the object as an instance of '<em>Unknown</em>'. 1109 * Returns the result of interpreting the object as an instance of '<em>Disjunction</em>'.
1302 * <!-- begin-user-doc --> 1110 * <!-- begin-user-doc -->
1303 * This implementation returns null; 1111 * This implementation returns null;
1304 * returning a non-null result will terminate the switch. 1112 * returning a non-null result will terminate the switch.
1305 * <!-- end-user-doc --> 1113 * <!-- end-user-doc -->
1306 * @param object the target of the switch. 1114 * @param object the target of the switch.
1307 * @return the result of interpreting the object as an instance of '<em>Unknown</em>'. 1115 * @return the result of interpreting the object as an instance of '<em>Disjunction</em>'.
1308 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1116 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1309 * @generated 1117 * @generated
1310 */ 1118 */
1311 public T caseUnknown(Unknown object) 1119 public T caseDisjunction(Disjunction object)
1312 { 1120 {
1313 return null; 1121 return null;
1314 } 1122 }
1315 1123
1316 /** 1124 /**
1317 * Returns the result of interpreting the object as an instance of '<em>Error</em>'. 1125 * Returns the result of interpreting the object as an instance of '<em>Switch</em>'.
1318 * <!-- begin-user-doc --> 1126 * <!-- begin-user-doc -->
1319 * This implementation returns null; 1127 * This implementation returns null;
1320 * returning a non-null result will terminate the switch. 1128 * returning a non-null result will terminate the switch.
1321 * <!-- end-user-doc --> 1129 * <!-- end-user-doc -->
1322 * @param object the target of the switch. 1130 * @param object the target of the switch.
1323 * @return the result of interpreting the object as an instance of '<em>Error</em>'. 1131 * @return the result of interpreting the object as an instance of '<em>Switch</em>'.
1324 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1132 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1325 * @generated 1133 * @generated
1326 */ 1134 */
1327 public T caseError(org.eclipse.viatra.solver.language.solverLanguage.Error object) 1135 public T caseSwitch(org.eclipse.viatra.solver.language.solverLanguage.Switch object)
1328 { 1136 {
1329 return null; 1137 return null;
1330 } 1138 }
1331 1139
1332 /** 1140 /**
1333 * Returns the result of interpreting the object as an instance of '<em>Positive</em>'. 1141 * Returns the result of interpreting the object as an instance of '<em>Conjunction</em>'.
1334 * <!-- begin-user-doc --> 1142 * <!-- begin-user-doc -->
1335 * This implementation returns null; 1143 * This implementation returns null;
1336 * returning a non-null result will terminate the switch. 1144 * returning a non-null result will terminate the switch.
1337 * <!-- end-user-doc --> 1145 * <!-- end-user-doc -->
1338 * @param object the target of the switch. 1146 * @param object the target of the switch.
1339 * @return the result of interpreting the object as an instance of '<em>Positive</em>'. 1147 * @return the result of interpreting the object as an instance of '<em>Conjunction</em>'.
1340 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1148 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1341 * @generated 1149 * @generated
1342 */ 1150 */
1343 public T casePositive(Positive object) 1151 public T caseConjunction(Conjunction object)
1344 { 1152 {
1345 return null; 1153 return null;
1346 } 1154 }
1347 1155
1348 /** 1156 /**
1349 * Returns the result of interpreting the object as an instance of '<em>Negative</em>'. 1157 * Returns the result of interpreting the object as an instance of '<em>Comparison</em>'.
1350 * <!-- begin-user-doc --> 1158 * <!-- begin-user-doc -->
1351 * This implementation returns null; 1159 * This implementation returns null;
1352 * returning a non-null result will terminate the switch. 1160 * returning a non-null result will terminate the switch.
1353 * <!-- end-user-doc --> 1161 * <!-- end-user-doc -->
1354 * @param object the target of the switch. 1162 * @param object the target of the switch.
1355 * @return the result of interpreting the object as an instance of '<em>Negative</em>'. 1163 * @return the result of interpreting the object as an instance of '<em>Comparison</em>'.
1356 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1164 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1357 * @generated 1165 * @generated
1358 */ 1166 */
1359 public T caseNegative(Negative object) 1167 public T caseComparison(Comparison object)
1360 { 1168 {
1361 return null; 1169 return null;
1362 } 1170 }
1363 1171
1364 /** 1172 /**
1365 * Returns the result of interpreting the object as an instance of '<em>Reflexive Closure</em>'. 1173 * Returns the result of interpreting the object as an instance of '<em>Binary Expression</em>'.
1366 * <!-- begin-user-doc --> 1174 * <!-- begin-user-doc -->
1367 * This implementation returns null; 1175 * This implementation returns null;
1368 * returning a non-null result will terminate the switch. 1176 * returning a non-null result will terminate the switch.
1369 * <!-- end-user-doc --> 1177 * <!-- end-user-doc -->
1370 * @param object the target of the switch. 1178 * @param object the target of the switch.
1371 * @return the result of interpreting the object as an instance of '<em>Reflexive Closure</em>'. 1179 * @return the result of interpreting the object as an instance of '<em>Binary Expression</em>'.
1372 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1180 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1373 * @generated 1181 * @generated
1374 */ 1182 */
1375 public T caseReflexiveClosure(ReflexiveClosure object) 1183 public T caseBinaryExpression(BinaryExpression object)
1376 { 1184 {
1377 return null; 1185 return null;
1378 } 1186 }
1379 1187
1380 /** 1188 /**
1381 * Returns the result of interpreting the object as an instance of '<em>Irreflexive Closure</em>'. 1189 * Returns the result of interpreting the object as an instance of '<em>Unary Expression</em>'.
1382 * <!-- begin-user-doc --> 1190 * <!-- begin-user-doc -->
1383 * This implementation returns null; 1191 * This implementation returns null;
1384 * returning a non-null result will terminate the switch. 1192 * returning a non-null result will terminate the switch.
1385 * <!-- end-user-doc --> 1193 * <!-- end-user-doc -->
1386 * @param object the target of the switch. 1194 * @param object the target of the switch.
1387 * @return the result of interpreting the object as an instance of '<em>Irreflexive Closure</em>'. 1195 * @return the result of interpreting the object as an instance of '<em>Unary Expression</em>'.
1388 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) 1196 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1389 * @generated 1197 * @generated
1390 */ 1198 */
1391 public T caseIrreflexiveClosure(IrreflexiveClosure object) 1199 public T caseUnaryExpression(UnaryExpression object)
1392 { 1200 {
1393 return null; 1201 return null;
1394 } 1202 }
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 e4313a24..55314a22 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
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.validation; 4package org.eclipse.viatra.solver.language.validation;
5 5
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageConfigurableIssueCodesProvider.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageConfigurableIssueCodesProvider.java
index 4247dc60..a229cb60 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageConfigurableIssueCodesProvider.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageConfigurableIssueCodesProvider.java
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.validation; 4package org.eclipse.viatra.solver.language.validation;
5 5
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 8a510a19..5abeb891 100644
--- a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext
+++ b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext
@@ -3,150 +3,224 @@ import "http://www.eclipse.org/emf/2002/Ecore" as ecore
3generate solverLanguage "http://www.eclipse.org/viatra/solver/language/SolverLanguage" 3generate solverLanguage "http://www.eclipse.org/viatra/solver/language/SolverLanguage"
4 4
5Problem: 5Problem:
6 statements+=Statement*; 6 (statements+=Statement)*;
7Statement: Interpretation | Predicate; 7
8 8Statement:
9@Override terminal STRING returns ecore::EString: '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"'; 9 (
10REALLiteral returns ecore::EBigDecimal: '-'? INT '.' INT; 10 AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | ExternPredicateDefinition |
11INTLiteral returns ecore::EInt: '-'? INT; 11 MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | ObjectiveDefinition
12BooleanValue: {BooleanTrue} 'true' | 'false' {BooleanFalse}; 12 ) DOT;
13TruthValue: {True} 'true' | {False} 'false' | {Unknown} 'unknown' | {Error} 'error' ; 13
14 14AssertionOrDefinition returns Statement:
15 15 Expression (
16/////////////////// 16 {Assertion.body=current} (":" range=Expression)? |
17// Core grammar 17 {PredicateDefinition.head=current} ":-" body=Expression |
18/////////////////// 18 {MetricDefinition.head=current} "=" body=Expression
19Interpretation: BasicInterpretation | DefaultInterpretation | CDInterpretation; 19 );
20 20
21BasicInterpretation: symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value = TruthValue; 21PredicateDefinition:
22 22 (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression;
23Symbol: ModelSymbol | PartialitySymbol | DataSymbol; 23
24 24UnnamedErrorPrediateDefinition:
25ModelSymbol: name = ID; 25 "error" argumentList=ArgumentList ":-" body=Expression;
26 26
27PartialitySymbol: ExistSymbol | EqualsSymbol; 27DefaultDefinition:
28ExistSymbol:'exists'{ExistSymbol}; 28 "default" head=Call ":" range=Expression;
29EqualsSymbol:'equals' {EqualsSymbol}; 29
30 30ExternPredicateDefinition:
31DataSymbol: BooleanSymbol | IntegerSymbol | RealSymbol | StringSymbol; 31 "extern" head=Call ".";
32BooleanSymbol:'bool' {BooleanSymbol}; 32
33IntegerSymbol:'int' {IntegerSymbol}; 33enum MetricType:
34RealSymbol: 'real' {RealSymbol}; 34 INT="int" | REAL="real";
35StringSymbol:'string' {StringSymbol}; 35
36 36MetricDefinition:
37ComplexObject: Object | AllInstances | AllObjects; 37 type=MetricType head=Expression "=" body=Expression;
38 38
39Object: NamedObject | UnnamedObject | DataObject; 39ExternMetricDefinition:
40NamedObject: "'" name = ID "'"; 40 "extern" type=MetricType head=Call;
41UnnamedObject: name = ID; 41
42DataObject: BooleanObject | IntObject | RealObject | StringObject; 42Expression:
43BooleanObject: value = BooleanValue; 43 IfElse | DisjunctiveExpression;
44IntObject: value = INTLiteral; 44
45RealObject: value = REALLiteral; 45IfElse:
46StringObject: value = STRING; 46 "if" condition=Expression "then" then=Expression "else" else=Expression;
47 47
48/////////////////// 48DisjunctiveExpression returns Expression:
49// Predicte grammar 49 ConjunctiveExpression (
50/////////////////// 50 {Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ |
51 51 {Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*
52Predicate: 52 )?;
53 (isError?='error')? symbol = ModelSymbol ('(' (parameters += Parameter (',' parameters += Parameter)*)? ')')? ':-' ('false' | (bodies += PatternBody ('|' bodies += PatternBody)*)) '.' 53
54; 54Case:
55 55 condition=ConjunctiveExpression "->" body=ConjunctiveExpression;
56Parameter: variable = Variable (':' type = Symbol)?; 56
57PatternBody: {PatternBody} ('true' | constraints += Constraint*) ; 57ConjunctiveExpression returns Expression:
58Polarity: {Positive} '+' | {Negative} '-'; 58 ComparisonExpression ({Conjunction.children+=current} ("," children+=ComparisonExpression)+)?;
59Constraint: (polarity = Polarity)? symbol = ModelSymbol 59
60 (('(' params += Literal? (',' params += Literal)* ')')?) 60enum BinaryOperator:
61 | 61 EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW;
62 (closureType=ClosureType '(' params += Literal? (',' params += Literal)* ')'); 62
63ClosureType: {ReflexiveClosure} '*' | {IrreflexiveClosure} '+'; 63enum ComparisonOperator returns BinaryOperator:
64Literal: Variable | DataObject | NamedObject; 64 EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in";
65Variable: name = ID; 65
66 66ComparisonExpression returns Expression:
67/////////////////// 67 AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?;
68// Complex Interpretation grammar 68
69/////////////////// 69enum AdditiveBinaryOperator returns BinaryOperator:
70 70 ADD="+" | SUB="-";
71AllInstances: ':' symbol = Symbol; 71
72AllObjects: {AllObjects} '*'; 72AdditiveExpression returns Expression:
73 73 MultiplicativeExpression ({BinaryExpression.left=current} op=AdditiveBinaryOperator right=MultiplicativeExpression)*;
74/////////////////// 74
75// Defaul Interpretation grammar 75enum MultiplicativeBinaryOperator returns BinaryOperator:
76/////////////////// 76 MUL="*" | DIV="/";
77DefaultInterpretation: 'default' interpretation = BasicInterpretation; 77
78 78MultiplicativeExpression returns Expression:
79/////////////////// 79 ExponentialExpression ({BinaryExpression.left=current} op=MultiplicativeBinaryOperator right=ExponentialExpression)*;
80// Advanced Class-Diagram interpretations 80
81/////////////////// 81enum ExponentialOp returns BinaryOperator:
82CDInterpretation: ClassInterpretation | EnumInterpretation| GlobalRelationInterpretation; 82 POW="^";
83ClassInterpretation: 83
84 (abstract?='abstract')? 'class' symbol = ModelSymbol ('extends' supertypes += ModelSymbol+)?'{' 84ExponentialExpression returns Expression:
85 fielt += FieldRelationInterpretation* 85 UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?;
86 '}' 86
87; 87enum UnaryOp:
88EnumInterpretation: 'enum' Symbol = ModelSymbol '{' objects+=NamedObject+ '}'; 88 NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current";
89FieldRelationInterpretation: (containment ?= 'containment')? symbol = ModelSymbol ':' multiplicity = MultiplicityDefinition? target = Symbol; 89
90GlobalRelationInterpretation: (containment ?= 'containment')? 'relation' symbol = ModelSymbol ':' sourceMultiplicity = MultiplicityDefinition? source = Symbol targetMultiplicity = MultiplicityDefinition? target = Symbol; 90UnaryExpression returns Expression:
91MultiplicityDefinition: lower = INT '..' (upper = INT | unlimitedUpper?='*'); 91 AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression;
92 92
93////SymbolIntroduction : Type | GlobalRelation | Predicate; 93AggregationExpression returns Expression:
94////Symbol: Type | Relation | Predicate | Variable | Element; 94 AtomicExpression | Count | Aggregation;
95// 95
96////////////////////// 96Count:
97//// Types 97 "count" "{" body=Expression "}";
98////////////////////// 98
99// 99enum AggregationOp:
100//Type: TypeDeclaration | /*TypeDefinition |*/ TypeEnumeration; 100 ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max";
101// 101
102//TypeDeclaration: 102Aggregation:
103// abstract?= 'abstract' 'class' name = ID ('extends' supertypes += [Type] (',' supertypes += [Type])) '{' 103 op=AggregationOp "{" body=Expression "|" condition=Expression "}";
104// fieldDeclarations += FieldRelationDeclaration* 104
105// '}' 105AtomicExpression returns Expression:
106//; 106 Reference ({Call.functor=current} -> argumentList=ArgumentList)? | Interval | Literal | "(" Expression ")";
107//TypeEnumeration: 107
108// 'enum' name = ID 'extends' supertypes += [Type] (',' supertypes += [Type]) '{' 108Call:
109// (elements += Element)* 109 functor=Reference (transitiveClosure?=STAR | reflexiveTransitiveClosure?=PLUS)? argumentList=ArgumentList;
110// '}' 110
111//; 111ArgumentList:
112//Element: 112 {ArgumentList} "(" (arguments+=Argument ("," arguments+=Argument)*)? ")";
113// name = ID 113
114//; 114Argument:
115// 115 ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument;
116////////////////////// 116
117//// Relations 117ExpressionArgument:
118////////////////////// 118 body=ComparisonExpression;
119// 119
120//Relation: FieldRelationDeclaration | GlobalRelationDeclaration | RelationEnumeration; 120StarArgument:
121//GlobalRelation returns Relation: GlobalRelationDeclaration | /*RelationDefinition |*/ RelationEnumeration; 121 {StarArgument} "*";
122// 122
123//FieldRelationDeclaration: 123TypedArgument:
124// containment?='containment' target = [Type] name = ID 124 type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName];
125//; 125
126// 126TypedStarArgument:
127//GlobalRelationDeclaration: 127 type=[NamedElement|QualifiedName] "*";
128// containment?='containment' 'relation' name = ID '(' source = [Type] ',' target = [Type] ')' 128
129//; 129Reference:
130// 130 referred=[NamedElement|QualifiedName];
131//RelationEnumeration: 131
132// 'relation' name = ID '{' links += Link* '}' 132Interval:
133//; 133 "[" lowerBound=Expression ".." upperBound=Expression "]";
134// 134
135//Link: '(' source = Element ',' target = Element ')'; 135Literal:
136// 136 LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral;
137// 137
138// 138enum LogicValue:
139// 139 TRUE="true" | FALSE="false" | UNKNOWN="unknown" | ERROR="error";
140// 140
141// 141LogicLiteral:
142//Model: 142 value=LogicValue;
143// 'model' '{' 143
144// atoms += Atom (',' atoms += Atom ) 144NumericLiteral:
145// '}' 145 value=Real;
146//; 146
147//Atom: referredSymbol = [Symbol] '(' (params += Element (',' params += Element)*)? ')'; 147InfinityLiteral:
148// 148 {InfinityLiteral} "inf";
149//ScopeDeclaration: 149
150// 'scope' 150EmptyIntervalLiteral:
151//; 151 {EmptyIntervalLiteral} "empty";
152// 152
153StringLiteral:
154 value=STRING;
155
156ClassDefinition returns Statement:
157 abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," superclasses+=[NamedElement|QualifiedName])*)?
158 "{" members+=MemberDefinition* "}";
159
160MemberDefinition:
161 containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite" opposite=[NamedElement|QualifiedName])? ";"?;
162
163Multiplicity:
164 ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity;
165
166ManyMultiplicity:
167 {ManyMultiplicity} "[" "]";
168
169ExactMultiplicity:
170 "[" multiplicity=UpperMultiplicty "]";
171
172BoundedMultiplicity:
173 "[" lowerBound=INT ".." upperBound=UpperMultiplicty "]";
174
175ScopeDefinition:
176 ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition;
177
178ExactScopeDefinition:
179 "scope" type=[NamedElement|QualifiedName] "==" exactScope=INT;
180
181BoundedScopeDefinition:
182 "scope" (
183 (lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT |
184 upperBound=INT ">=" type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?
185 ) ".";
186
187LowerBoundedScopeDefinition:
188 "scope" (
189 lowerBound=INT "<=" type=[NamedElement|QualifiedName] |
190 type=[NamedElement|QualifiedName] ">=" lowerBound=INT
191 ) ".";
192
193enum ObjectiveKind:
194 MINIMIZE="minimize" | MAXIMIZE="maximize";
195
196ObjectiveDefinition:
197 kind=ObjectiveKind objective=Expression;
198
199UpperMultiplicty returns ecore::EInt:
200 INT | "*";
201
202Real returns ecore::EBigDecimal hidden():
203 INT ("." INT)?;
204
205QualifiedName hidden():
206 ID ("." ID)* | QUOTED_ID;
207
208@Override
209terminal STRING returns ecore::EString:
210 '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"';
211
212terminal QUOTED_ID returns ecore::EString:
213 '\'' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'\'') )* '\'';
214
215terminal PLUS:
216 "synthetic::plus";
217
218terminal STAR:
219 "synthetic::star";
220
221terminal DOT:
222 "synthetic::dot";
223
224NamedElement:
225 name=QualifiedName;
226
diff --git a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/validation/SolverLanguageValidator.xtend b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/validation/SolverLanguageValidator.xtend
index a7ff7252..6701d465 100644
--- a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/validation/SolverLanguageValidator.xtend
+++ b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/validation/SolverLanguageValidator.xtend
@@ -1,5 +1,5 @@
1/* 1/*
2 * generated by Xtext 2.18.0.M3 2 * generated by Xtext 2.21.0
3 */ 3 */
4package org.eclipse.viatra.solver.language.validation 4package org.eclipse.viatra.solver.language.validation
5 5