From 419e76265ecbdf65e960e0624be006d31ed1e191 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Fri, 8 May 2020 18:28:19 +0200 Subject: Update solver language grammar First version, still needs TokenSource and Linker to work. --- .../ide/AbstractSolverLanguageIdeModule.java | 2 +- .../PartialSolverLanguageContentAssistParser.java | 2 +- .../contentassist/antlr/SolverLanguageParser.java | 296 +- .../antlr/internal/InternalSolverLanguage.g | 7061 ++++-- .../antlr/internal/InternalSolverLanguage.tokens | 144 +- .../internal/InternalSolverLanguageLexer.java | 2451 +- .../internal/InternalSolverLanguageParser.java | 25414 ++++++++++++++----- .../tests/SolverLanguageInjectorProvider.java | 2 +- .../META-INF/MANIFEST.MF | 3 +- .../ui/tests/SolverLanguageUiInjectorProvider.java | 2 +- .../META-INF/MANIFEST.MF | 7 +- .../plugin.xml_gen | 434 + .../ui/AbstractSolverLanguageUiModule.java | 2 +- .../SolverLanguageExecutableExtensionFactory.java | 2 +- .../AbstractSolverLanguageProposalProvider.java | 352 +- .../language/ui/internal/LanguageActivator.java | 2 +- .../SolverLanguageValidatorConfigurationBlock.java | 2 +- .../language/ui/SolverLanguageUiModule.xtend | 18 +- .../SolverSemanticHighlightCalculator.xtend | 58 - .../SolverSemanticTextAttributeProvider.xtend | 57 - .../SolverSemanticHighlightCalculator.xtend | 59 + .../SolverSemanticTextAttributeProvider.xtend | 55 + .../validation/SolverLanguageValidator.xtend | 25 + .../.SolverSemanticHighlightCalculator.xtendbin | Bin 0 -> 5334 bytes .../.SolverSemanticTextAttributeProvider.xtendbin | Bin 0 -> 4902 bytes .../solver/language/ui/syntaxcoloring/.gitignore | 2 + .../SolverSemanticHighlightCalculator.java | 83 + .../SolverSemanticTextAttributeProvider.java | 63 + .../validation/.SolverLanguageValidator.xtendbin | Bin 0 -> 1717 bytes .../viatra/solver/language/validation/.gitignore | 1 + .../validation/SolverLanguageValidator.java | 15 + .../META-INF/MANIFEST.MF | 12 +- .../model/generated/SolverLanguage.ecore | 302 +- .../model/generated/SolverLanguage.genmodel | 313 +- .../plugin.xml_gen | 10 + .../AbstractSolverLanguageRuntimeModule.java | 2 +- .../viatra/solver/language/SolverLanguage.xtextbin | Bin 7164 -> 11842 bytes .../SolverLanguageStandaloneSetupGenerated.java | 2 +- .../SolverLanguageAntlrTokenFileProvider.java | 2 +- .../parser/antlr/SolverLanguageParser.java | 2 +- .../parser/antlr/internal/InternalSolverLanguage.g | 4421 ++-- .../antlr/internal/InternalSolverLanguage.tokens | 146 +- .../internal/InternalSolverLanguageLexer.java | 2477 +- .../internal/InternalSolverLanguageParser.java | 12411 ++++++--- .../AbstractSolverLanguageScopeProvider.java | 2 +- .../SolverLanguageSemanticSequencer.java | 1310 +- .../SolverLanguageSyntacticSequencer.java | 121 +- .../services/SolverLanguageGrammarAccess.java | 4044 ++- .../language/solverLanguage/Aggregation.java | 96 + .../language/solverLanguage/AggregationOp.java | 317 + .../language/solverLanguage/AllInstances.java | 47 - .../solver/language/solverLanguage/AllObjects.java | 19 - .../solver/language/solverLanguage/Argument.java | 20 + .../language/solverLanguage/ArgumentList.java | 40 + .../solver/language/solverLanguage/Assertion.java | 70 + .../solverLanguage/BasicInterpretation.java | 84 - .../language/solverLanguage/BinaryExpression.java | 96 + .../language/solverLanguage/BinaryOperator.java | 455 + .../language/solverLanguage/BooleanFalse.java | 19 - .../language/solverLanguage/BooleanObject.java | 47 - .../language/solverLanguage/BooleanSymbol.java | 19 - .../language/solverLanguage/BooleanTrue.java | 19 - .../language/solverLanguage/BooleanValue.java | 20 - .../solverLanguage/BoundedMultiplicity.java | 70 + .../solverLanguage/BoundedScopeDefinition.java | 70 + .../language/solverLanguage/CDInterpretation.java | 19 - .../solver/language/solverLanguage/Call.java | 116 + .../solver/language/solverLanguage/Case.java | 70 + .../solverLanguage/ClassInterpretation.java | 97 - .../language/solverLanguage/ClosureType.java | 20 - .../solver/language/solverLanguage/Comparison.java | 96 + .../language/solverLanguage/ComplexObject.java | 20 - .../language/solverLanguage/Conjunction.java | 38 + .../solver/language/solverLanguage/Constraint.java | 109 - .../solver/language/solverLanguage/Count.java | 47 + .../solver/language/solverLanguage/DataObject.java | 19 - .../solver/language/solverLanguage/DataSymbol.java | 19 - .../language/solverLanguage/DefaultDefinition.java | 70 + .../solverLanguage/DefaultInterpretation.java | 47 - .../language/solverLanguage/Disjunction.java | 38 + .../solverLanguage/EmptyIntervalLiteral.java | 19 + .../solverLanguage/EnumInterpretation.java | 61 - .../language/solverLanguage/EqualsSymbol.java | 19 - .../solver/language/solverLanguage/Error.java | 19 - .../language/solverLanguage/ExactMultiplicity.java | 47 + .../solverLanguage/ExactScopeDefinition.java | 47 + .../language/solverLanguage/ExistSymbol.java | 19 - .../solver/language/solverLanguage/Expression.java | 19 + .../solverLanguage/ExpressionArgument.java | 47 + .../solverLanguage/ExternMetricDefinition.java | 73 + .../solverLanguage/ExternPredicateDefinition.java | 47 + .../solver/language/solverLanguage/False.java | 19 - .../FieldRelationInterpretation.java | 117 - .../GlobalRelationInterpretation.java | 162 - .../solver/language/solverLanguage/IfElse.java | 93 + .../language/solverLanguage/InfinityLiteral.java | 19 + .../solver/language/solverLanguage/IntObject.java | 47 - .../language/solverLanguage/IntegerSymbol.java | 19 - .../language/solverLanguage/Interpretation.java | 19 - .../solver/language/solverLanguage/Interval.java | 70 + .../solverLanguage/IrreflexiveClosure.java | 19 - .../solver/language/solverLanguage/Literal.java | 5 +- .../language/solverLanguage/LogicLiteral.java | 50 + .../solver/language/solverLanguage/LogicValue.java | 271 + .../LowerBoundedScopeDefinition.java | 47 + .../language/solverLanguage/ManyMultiplicity.java | 19 + .../language/solverLanguage/MemberDefinition.java | 140 + .../language/solverLanguage/MetricDefinition.java | 96 + .../solver/language/solverLanguage/MetricType.java | 225 + .../language/solverLanguage/ModelSymbol.java | 47 - .../language/solverLanguage/Multiplicity.java | 20 + .../solverLanguage/MultiplicityDefinition.java | 94 - .../language/solverLanguage/NamedElement.java | 48 + .../language/solverLanguage/NamedObject.java | 47 - .../solver/language/solverLanguage/Negative.java | 19 - .../language/solverLanguage/NumericLiteral.java | 48 + .../solver/language/solverLanguage/Object.java | 19 - .../solverLanguage/ObjectiveDefinition.java | 73 + .../language/solverLanguage/ObjectiveKind.java | 225 + .../solver/language/solverLanguage/Parameter.java | 71 - .../language/solverLanguage/PartialitySymbol.java | 19 - .../language/solverLanguage/PatternBody.java | 40 - .../solver/language/solverLanguage/Polarity.java | 20 - .../solver/language/solverLanguage/Positive.java | 19 - .../solver/language/solverLanguage/Predicate.java | 97 - .../solverLanguage/PredicateDefinition.java | 116 + .../solver/language/solverLanguage/Problem.java | 2 +- .../solver/language/solverLanguage/RealObject.java | 48 - .../solver/language/solverLanguage/RealSymbol.java | 19 - .../solver/language/solverLanguage/Reference.java | 47 + .../language/solverLanguage/ReflexiveClosure.java | 19 - .../language/solverLanguage/ScopeDefinition.java | 47 + .../solverLanguage/SolverLanguageFactory.java | 320 +- .../solverLanguage/SolverLanguagePackage.java | 4134 ++- .../language/solverLanguage/StarArgument.java | 19 + .../solver/language/solverLanguage/Statement.java | 81 +- .../language/solverLanguage/StringLiteral.java | 47 + .../language/solverLanguage/StringObject.java | 47 - .../language/solverLanguage/StringSymbol.java | 19 - .../solver/language/solverLanguage/Switch.java | 38 + .../solver/language/solverLanguage/Symbol.java | 20 - .../solver/language/solverLanguage/True.java | 19 - .../solver/language/solverLanguage/TruthValue.java | 20 - .../language/solverLanguage/TypedArgument.java | 70 + .../language/solverLanguage/TypedStarArgument.java | 47 + .../language/solverLanguage/UnaryExpression.java | 73 + .../solver/language/solverLanguage/UnaryOp.java | 317 + .../solver/language/solverLanguage/Unknown.java | 19 - .../UnnamedErrorPrediateDefinition.java | 70 + .../language/solverLanguage/UnnamedObject.java | 47 - .../solver/language/solverLanguage/Variable.java | 47 - .../solverLanguage/impl/AggregationImpl.java | 343 + .../solverLanguage/impl/AllInstancesImpl.java | 196 - .../solverLanguage/impl/AllObjectsImpl.java | 41 - .../language/solverLanguage/impl/ArgumentImpl.java | 43 + .../solverLanguage/impl/ArgumentListImpl.java | 169 + .../solverLanguage/impl/AssertionImpl.java | 269 + .../impl/BasicInterpretationImpl.java | 318 - .../solverLanguage/impl/BinaryExpressionImpl.java | 343 + .../solverLanguage/impl/BooleanFalseImpl.java | 41 - .../solverLanguage/impl/BooleanObjectImpl.java | 196 - .../solverLanguage/impl/BooleanSymbolImpl.java | 41 - .../solverLanguage/impl/BooleanTrueImpl.java | 41 - .../solverLanguage/impl/BooleanValueImpl.java | 43 - .../impl/BoundedMultiplicityImpl.java | 237 + .../impl/BoundedScopeDefinitionImpl.java | 237 + .../solverLanguage/impl/CDInterpretationImpl.java | 41 - .../language/solverLanguage/impl/CallImpl.java | 401 + .../language/solverLanguage/impl/CaseImpl.java | 269 + .../impl/ClassInterpretationImpl.java | 356 - .../solverLanguage/impl/ClosureTypeImpl.java | 43 - .../solverLanguage/impl/ComparisonImpl.java | 343 + .../solverLanguage/impl/ComplexObjectImpl.java | 43 - .../solverLanguage/impl/ConjunctionImpl.java | 167 + .../solverLanguage/impl/ConstraintImpl.java | 393 - .../language/solverLanguage/impl/CountImpl.java | 196 + .../solverLanguage/impl/DataObjectImpl.java | 41 - .../solverLanguage/impl/DataSymbolImpl.java | 41 - .../solverLanguage/impl/DefaultDefinitionImpl.java | 270 + .../impl/DefaultInterpretationImpl.java | 196 - .../solverLanguage/impl/DisjunctionImpl.java | 167 + .../impl/EmptyIntervalLiteralImpl.java | 41 + .../impl/EnumInterpretationImpl.java | 244 - .../solverLanguage/impl/EqualsSymbolImpl.java | 41 - .../language/solverLanguage/impl/ErrorImpl.java | 40 - .../solverLanguage/impl/ExactMultiplicityImpl.java | 179 + .../impl/ExactScopeDefinitionImpl.java | 179 + .../solverLanguage/impl/ExistSymbolImpl.java | 41 - .../impl/ExpressionArgumentImpl.java | 196 + .../solverLanguage/impl/ExpressionImpl.java | 41 + .../impl/ExternMetricDefinitionImpl.java | 270 + .../impl/ExternPredicateDefinitionImpl.java | 196 + .../language/solverLanguage/impl/FalseImpl.java | 41 - .../impl/FieldRelationInterpretationImpl.java | 418 - .../impl/GlobalRelationInterpretationImpl.java | 563 - .../language/solverLanguage/impl/IfElseImpl.java | 342 + .../solverLanguage/impl/InfinityLiteralImpl.java | 41 + .../solverLanguage/impl/IntObjectImpl.java | 179 - .../solverLanguage/impl/IntegerSymbolImpl.java | 41 - .../solverLanguage/impl/InterpretationImpl.java | 41 - .../language/solverLanguage/impl/IntervalImpl.java | 269 + .../impl/IrreflexiveClosureImpl.java | 41 - .../language/solverLanguage/impl/LiteralImpl.java | 6 +- .../solverLanguage/impl/LogicLiteralImpl.java | 180 + .../impl/LowerBoundedScopeDefinitionImpl.java | 179 + .../solverLanguage/impl/ManyMultiplicityImpl.java | 41 + .../solverLanguage/impl/MemberDefinitionImpl.java | 463 + .../solverLanguage/impl/MetricDefinitionImpl.java | 343 + .../solverLanguage/impl/ModelSymbolImpl.java | 179 - .../impl/MultiplicityDefinitionImpl.java | 296 - .../solverLanguage/impl/MultiplicityImpl.java | 43 + .../solverLanguage/impl/NamedElementImpl.java | 180 + .../solverLanguage/impl/NamedObjectImpl.java | 179 - .../language/solverLanguage/impl/NegativeImpl.java | 41 - .../solverLanguage/impl/NumericLiteralImpl.java | 181 + .../language/solverLanguage/impl/ObjectImpl.java | 40 - .../impl/ObjectiveDefinitionImpl.java | 270 + .../solverLanguage/impl/ParameterImpl.java | 271 - .../solverLanguage/impl/PartialitySymbolImpl.java | 41 - .../solverLanguage/impl/PatternBodyImpl.java | 169 - .../language/solverLanguage/impl/PolarityImpl.java | 43 - .../language/solverLanguage/impl/PositiveImpl.java | 41 - .../impl/PredicateDefinitionImpl.java | 400 + .../solverLanguage/impl/PredicateImpl.java | 357 - .../language/solverLanguage/impl/ProblemImpl.java | 2 +- .../solverLanguage/impl/RealObjectImpl.java | 181 - .../solverLanguage/impl/RealSymbolImpl.java | 41 - .../solverLanguage/impl/ReferenceImpl.java | 175 + .../solverLanguage/impl/ReflexiveClosureImpl.java | 41 - .../solverLanguage/impl/ScopeDefinitionImpl.java | 175 + .../impl/SolverLanguageFactoryImpl.java | 574 +- .../impl/SolverLanguagePackageImpl.java | 1465 +- .../solverLanguage/impl/StarArgumentImpl.java | 41 + .../solverLanguage/impl/StatementImpl.java | 300 +- .../solverLanguage/impl/StringLiteralImpl.java | 179 + .../solverLanguage/impl/StringObjectImpl.java | 179 - .../solverLanguage/impl/StringSymbolImpl.java | 41 - .../language/solverLanguage/impl/SwitchImpl.java | 167 + .../language/solverLanguage/impl/SymbolImpl.java | 43 - .../language/solverLanguage/impl/TrueImpl.java | 41 - .../solverLanguage/impl/TruthValueImpl.java | 43 - .../solverLanguage/impl/TypedArgumentImpl.java | 242 + .../solverLanguage/impl/TypedStarArgumentImpl.java | 175 + .../solverLanguage/impl/UnaryExpressionImpl.java | 270 + .../language/solverLanguage/impl/UnknownImpl.java | 41 - .../impl/UnnamedErrorPrediateDefinitionImpl.java | 270 + .../solverLanguage/impl/UnnamedObjectImpl.java | 179 - .../language/solverLanguage/impl/VariableImpl.java | 179 - .../util/SolverLanguageAdapterFactory.java | 614 +- .../solverLanguage/util/SolverLanguageSwitch.java | 856 +- .../AbstractSolverLanguageValidator.java | 2 +- ...lverLanguageConfigurableIssueCodesProvider.java | 2 +- .../viatra/solver/language/SolverLanguage.xtext | 368 +- .../validation/SolverLanguageValidator.xtend | 2 +- 254 files changed, 63459 insertions(+), 29377 deletions(-) create mode 100644 Application/org.eclipse.viatra.solver.language.ui/plugin.xml_gen delete mode 100644 Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/highlight/SolverSemanticHighlightCalculator.xtend delete mode 100644 Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/highlight/SolverSemanticTextAttributeProvider.xtend create mode 100644 Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticHighlightCalculator.xtend create mode 100644 Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticTextAttributeProvider.xtend create mode 100644 Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/validation/SolverLanguageValidator.xtend create mode 100644 Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticHighlightCalculator.xtendbin create mode 100644 Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticTextAttributeProvider.xtendbin create mode 100644 Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.gitignore create mode 100644 Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticHighlightCalculator.java create mode 100644 Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticTextAttributeProvider.java create mode 100644 Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.SolverLanguageValidator.xtendbin create mode 100644 Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.gitignore create mode 100644 Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageValidator.java create mode 100644 Application/org.eclipse.viatra.solver.language/plugin.xml_gen create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOp.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllInstances.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllObjects.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BasicInterpretation.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanFalse.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanObject.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanSymbol.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanTrue.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanValue.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/CDInterpretation.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassInterpretation.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClosureType.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ComplexObject.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Constraint.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataObject.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataSymbol.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultInterpretation.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumInterpretation.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EqualsSymbol.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Error.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExistSymbol.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/False.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FieldRelationInterpretation.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/GlobalRelationInterpretation.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntObject.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntegerSymbol.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IrreflexiveClosure.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricType.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ModelSymbol.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MultiplicityDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Negative.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Object.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Parameter.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PartialitySymbol.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PatternBody.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Polarity.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Positive.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealObject.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealSymbol.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ReflexiveClosure.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringObject.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringSymbol.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Symbol.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/True.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TruthValue.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Unknown.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedObject.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllInstancesImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllObjectsImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BasicInterpretationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanFalseImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanObjectImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanSymbolImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanTrueImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanValueImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CDInterpretationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassInterpretationImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClosureTypeImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComplexObjectImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConstraintImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataObjectImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataSymbolImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultInterpretationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumInterpretationImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EqualsSymbolImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ErrorImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExistSymbolImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FalseImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldRelationInterpretationImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/GlobalRelationInterpretationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntObjectImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntegerSymbolImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IrreflexiveClosureImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ModelSymbolImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedObjectImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NegativeImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ParameterImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PartialitySymbolImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PatternBodyImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PolarityImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PositiveImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealObjectImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealSymbolImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReflexiveClosureImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringObjectImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringSymbolImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TrueImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TruthValueImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnknownImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedObjectImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java (limited to 'Application') 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.ide; 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.ide.contentassist.antlr; 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.ide.contentassist.antlr; @@ -31,120 +31,190 @@ public class SolverLanguageParser extends AbstractContentAssistParser { } private static void init(ImmutableMap.Builder builder, SolverLanguageGrammarAccess grammarAccess) { - builder.put(grammarAccess.getStatementAccess().getAlternatives(), "rule__Statement__Alternatives"); - builder.put(grammarAccess.getBooleanValueAccess().getAlternatives(), "rule__BooleanValue__Alternatives"); - builder.put(grammarAccess.getTruthValueAccess().getAlternatives(), "rule__TruthValue__Alternatives"); - builder.put(grammarAccess.getInterpretationAccess().getAlternatives(), "rule__Interpretation__Alternatives"); - builder.put(grammarAccess.getSymbolAccess().getAlternatives(), "rule__Symbol__Alternatives"); - builder.put(grammarAccess.getPartialitySymbolAccess().getAlternatives(), "rule__PartialitySymbol__Alternatives"); - builder.put(grammarAccess.getDataSymbolAccess().getAlternatives(), "rule__DataSymbol__Alternatives"); - builder.put(grammarAccess.getComplexObjectAccess().getAlternatives(), "rule__ComplexObject__Alternatives"); - builder.put(grammarAccess.getObjectAccess().getAlternatives(), "rule__Object__Alternatives"); - builder.put(grammarAccess.getDataObjectAccess().getAlternatives(), "rule__DataObject__Alternatives"); - builder.put(grammarAccess.getPredicateAccess().getAlternatives_4(), "rule__Predicate__Alternatives_4"); - builder.put(grammarAccess.getPatternBodyAccess().getAlternatives_1(), "rule__PatternBody__Alternatives_1"); - builder.put(grammarAccess.getPolarityAccess().getAlternatives(), "rule__Polarity__Alternatives"); - builder.put(grammarAccess.getConstraintAccess().getAlternatives(), "rule__Constraint__Alternatives"); - builder.put(grammarAccess.getClosureTypeAccess().getAlternatives(), "rule__ClosureType__Alternatives"); + builder.put(grammarAccess.getStatementAccess().getAlternatives_0(), "rule__Statement__Alternatives_0"); + builder.put(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1(), "rule__AssertionOrDefinition__Alternatives_1"); + builder.put(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0(), "rule__PredicateDefinition__Alternatives_0"); + builder.put(grammarAccess.getExpressionAccess().getAlternatives(), "rule__Expression__Alternatives"); + builder.put(grammarAccess.getDisjunctiveExpressionAccess().getAlternatives_1(), "rule__DisjunctiveExpression__Alternatives_1"); + builder.put(grammarAccess.getUnaryExpressionAccess().getAlternatives(), "rule__UnaryExpression__Alternatives"); + builder.put(grammarAccess.getAggregationExpressionAccess().getAlternatives(), "rule__AggregationExpression__Alternatives"); + builder.put(grammarAccess.getAtomicExpressionAccess().getAlternatives(), "rule__AtomicExpression__Alternatives"); + builder.put(grammarAccess.getCallAccess().getAlternatives_1(), "rule__Call__Alternatives_1"); + builder.put(grammarAccess.getArgumentAccess().getAlternatives(), "rule__Argument__Alternatives"); builder.put(grammarAccess.getLiteralAccess().getAlternatives(), "rule__Literal__Alternatives"); - builder.put(grammarAccess.getCDInterpretationAccess().getAlternatives(), "rule__CDInterpretation__Alternatives"); - builder.put(grammarAccess.getMultiplicityDefinitionAccess().getAlternatives_2(), "rule__MultiplicityDefinition__Alternatives_2"); - builder.put(grammarAccess.getREALLiteralAccess().getGroup(), "rule__REALLiteral__Group__0"); - builder.put(grammarAccess.getINTLiteralAccess().getGroup(), "rule__INTLiteral__Group__0"); - builder.put(grammarAccess.getBooleanValueAccess().getGroup_0(), "rule__BooleanValue__Group_0__0"); - builder.put(grammarAccess.getBooleanValueAccess().getGroup_1(), "rule__BooleanValue__Group_1__0"); - builder.put(grammarAccess.getTruthValueAccess().getGroup_0(), "rule__TruthValue__Group_0__0"); - builder.put(grammarAccess.getTruthValueAccess().getGroup_1(), "rule__TruthValue__Group_1__0"); - builder.put(grammarAccess.getTruthValueAccess().getGroup_2(), "rule__TruthValue__Group_2__0"); - builder.put(grammarAccess.getTruthValueAccess().getGroup_3(), "rule__TruthValue__Group_3__0"); - builder.put(grammarAccess.getBasicInterpretationAccess().getGroup(), "rule__BasicInterpretation__Group__0"); - builder.put(grammarAccess.getBasicInterpretationAccess().getGroup_1(), "rule__BasicInterpretation__Group_1__0"); - builder.put(grammarAccess.getBasicInterpretationAccess().getGroup_1_1(), "rule__BasicInterpretation__Group_1_1__0"); - builder.put(grammarAccess.getBasicInterpretationAccess().getGroup_1_1_1(), "rule__BasicInterpretation__Group_1_1_1__0"); - builder.put(grammarAccess.getExistSymbolAccess().getGroup(), "rule__ExistSymbol__Group__0"); - builder.put(grammarAccess.getEqualsSymbolAccess().getGroup(), "rule__EqualsSymbol__Group__0"); - builder.put(grammarAccess.getBooleanSymbolAccess().getGroup(), "rule__BooleanSymbol__Group__0"); - builder.put(grammarAccess.getIntegerSymbolAccess().getGroup(), "rule__IntegerSymbol__Group__0"); - builder.put(grammarAccess.getRealSymbolAccess().getGroup(), "rule__RealSymbol__Group__0"); - builder.put(grammarAccess.getStringSymbolAccess().getGroup(), "rule__StringSymbol__Group__0"); - builder.put(grammarAccess.getNamedObjectAccess().getGroup(), "rule__NamedObject__Group__0"); - builder.put(grammarAccess.getPredicateAccess().getGroup(), "rule__Predicate__Group__0"); - builder.put(grammarAccess.getPredicateAccess().getGroup_2(), "rule__Predicate__Group_2__0"); - builder.put(grammarAccess.getPredicateAccess().getGroup_2_1(), "rule__Predicate__Group_2_1__0"); - builder.put(grammarAccess.getPredicateAccess().getGroup_2_1_1(), "rule__Predicate__Group_2_1_1__0"); - builder.put(grammarAccess.getPredicateAccess().getGroup_4_1(), "rule__Predicate__Group_4_1__0"); - builder.put(grammarAccess.getPredicateAccess().getGroup_4_1_1(), "rule__Predicate__Group_4_1_1__0"); - builder.put(grammarAccess.getParameterAccess().getGroup(), "rule__Parameter__Group__0"); - builder.put(grammarAccess.getParameterAccess().getGroup_1(), "rule__Parameter__Group_1__0"); - builder.put(grammarAccess.getPatternBodyAccess().getGroup(), "rule__PatternBody__Group__0"); - builder.put(grammarAccess.getPolarityAccess().getGroup_0(), "rule__Polarity__Group_0__0"); - builder.put(grammarAccess.getPolarityAccess().getGroup_1(), "rule__Polarity__Group_1__0"); - builder.put(grammarAccess.getConstraintAccess().getGroup_0(), "rule__Constraint__Group_0__0"); - builder.put(grammarAccess.getConstraintAccess().getGroup_0_2(), "rule__Constraint__Group_0_2__0"); - builder.put(grammarAccess.getConstraintAccess().getGroup_0_2_2(), "rule__Constraint__Group_0_2_2__0"); - builder.put(grammarAccess.getConstraintAccess().getGroup_1(), "rule__Constraint__Group_1__0"); - builder.put(grammarAccess.getConstraintAccess().getGroup_1_3(), "rule__Constraint__Group_1_3__0"); - builder.put(grammarAccess.getClosureTypeAccess().getGroup_0(), "rule__ClosureType__Group_0__0"); - builder.put(grammarAccess.getClosureTypeAccess().getGroup_1(), "rule__ClosureType__Group_1__0"); - builder.put(grammarAccess.getAllInstancesAccess().getGroup(), "rule__AllInstances__Group__0"); - builder.put(grammarAccess.getAllObjectsAccess().getGroup(), "rule__AllObjects__Group__0"); - builder.put(grammarAccess.getDefaultInterpretationAccess().getGroup(), "rule__DefaultInterpretation__Group__0"); - builder.put(grammarAccess.getClassInterpretationAccess().getGroup(), "rule__ClassInterpretation__Group__0"); - builder.put(grammarAccess.getClassInterpretationAccess().getGroup_3(), "rule__ClassInterpretation__Group_3__0"); - builder.put(grammarAccess.getEnumInterpretationAccess().getGroup(), "rule__EnumInterpretation__Group__0"); - builder.put(grammarAccess.getFieldRelationInterpretationAccess().getGroup(), "rule__FieldRelationInterpretation__Group__0"); - builder.put(grammarAccess.getGlobalRelationInterpretationAccess().getGroup(), "rule__GlobalRelationInterpretation__Group__0"); - builder.put(grammarAccess.getMultiplicityDefinitionAccess().getGroup(), "rule__MultiplicityDefinition__Group__0"); + builder.put(grammarAccess.getMultiplicityAccess().getAlternatives(), "rule__Multiplicity__Alternatives"); + builder.put(grammarAccess.getScopeDefinitionAccess().getAlternatives(), "rule__ScopeDefinition__Alternatives"); + builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getAlternatives_1(), "rule__BoundedScopeDefinition__Alternatives_1"); + builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getAlternatives_1(), "rule__LowerBoundedScopeDefinition__Alternatives_1"); + builder.put(grammarAccess.getUpperMultiplictyAccess().getAlternatives(), "rule__UpperMultiplicty__Alternatives"); + builder.put(grammarAccess.getQualifiedNameAccess().getAlternatives(), "rule__QualifiedName__Alternatives"); + builder.put(grammarAccess.getMetricTypeAccess().getAlternatives(), "rule__MetricType__Alternatives"); + builder.put(grammarAccess.getBinaryOperatorAccess().getAlternatives(), "rule__BinaryOperator__Alternatives"); + builder.put(grammarAccess.getComparisonOperatorAccess().getAlternatives(), "rule__ComparisonOperator__Alternatives"); + builder.put(grammarAccess.getAdditiveBinaryOperatorAccess().getAlternatives(), "rule__AdditiveBinaryOperator__Alternatives"); + builder.put(grammarAccess.getMultiplicativeBinaryOperatorAccess().getAlternatives(), "rule__MultiplicativeBinaryOperator__Alternatives"); + builder.put(grammarAccess.getUnaryOpAccess().getAlternatives(), "rule__UnaryOp__Alternatives"); + builder.put(grammarAccess.getAggregationOpAccess().getAlternatives(), "rule__AggregationOp__Alternatives"); + builder.put(grammarAccess.getLogicValueAccess().getAlternatives(), "rule__LogicValue__Alternatives"); + builder.put(grammarAccess.getObjectiveKindAccess().getAlternatives(), "rule__ObjectiveKind__Alternatives"); + builder.put(grammarAccess.getStatementAccess().getGroup(), "rule__Statement__Group__0"); + builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup(), "rule__AssertionOrDefinition__Group__0"); + builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0(), "rule__AssertionOrDefinition__Group_1_0__0"); + builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0_1(), "rule__AssertionOrDefinition__Group_1_0_1__0"); + builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_1(), "rule__AssertionOrDefinition__Group_1_1__0"); + builder.put(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_2(), "rule__AssertionOrDefinition__Group_1_2__0"); + builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup(), "rule__PredicateDefinition__Group__0"); + builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0(), "rule__PredicateDefinition__Group_0_0__0"); + builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup_0_1(), "rule__PredicateDefinition__Group_0_1__0"); + builder.put(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getGroup(), "rule__UnnamedErrorPrediateDefinition__Group__0"); + builder.put(grammarAccess.getDefaultDefinitionAccess().getGroup(), "rule__DefaultDefinition__Group__0"); + builder.put(grammarAccess.getExternPredicateDefinitionAccess().getGroup(), "rule__ExternPredicateDefinition__Group__0"); + builder.put(grammarAccess.getMetricDefinitionAccess().getGroup(), "rule__MetricDefinition__Group__0"); + builder.put(grammarAccess.getExternMetricDefinitionAccess().getGroup(), "rule__ExternMetricDefinition__Group__0"); + builder.put(grammarAccess.getIfElseAccess().getGroup(), "rule__IfElse__Group__0"); + builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup(), "rule__DisjunctiveExpression__Group__0"); + builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0(), "rule__DisjunctiveExpression__Group_1_0__0"); + builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1(), "rule__DisjunctiveExpression__Group_1_0_1__0"); + builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1(), "rule__DisjunctiveExpression__Group_1_1__0"); + builder.put(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1_4(), "rule__DisjunctiveExpression__Group_1_1_4__0"); + builder.put(grammarAccess.getCaseAccess().getGroup(), "rule__Case__Group__0"); + builder.put(grammarAccess.getConjunctiveExpressionAccess().getGroup(), "rule__ConjunctiveExpression__Group__0"); + builder.put(grammarAccess.getConjunctiveExpressionAccess().getGroup_1(), "rule__ConjunctiveExpression__Group_1__0"); + builder.put(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1(), "rule__ConjunctiveExpression__Group_1_1__0"); + builder.put(grammarAccess.getComparisonExpressionAccess().getGroup(), "rule__ComparisonExpression__Group__0"); + builder.put(grammarAccess.getComparisonExpressionAccess().getGroup_1(), "rule__ComparisonExpression__Group_1__0"); + builder.put(grammarAccess.getAdditiveExpressionAccess().getGroup(), "rule__AdditiveExpression__Group__0"); + builder.put(grammarAccess.getAdditiveExpressionAccess().getGroup_1(), "rule__AdditiveExpression__Group_1__0"); + builder.put(grammarAccess.getMultiplicativeExpressionAccess().getGroup(), "rule__MultiplicativeExpression__Group__0"); + builder.put(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1(), "rule__MultiplicativeExpression__Group_1__0"); + builder.put(grammarAccess.getExponentialExpressionAccess().getGroup(), "rule__ExponentialExpression__Group__0"); + builder.put(grammarAccess.getExponentialExpressionAccess().getGroup_1(), "rule__ExponentialExpression__Group_1__0"); + builder.put(grammarAccess.getUnaryExpressionAccess().getGroup_1(), "rule__UnaryExpression__Group_1__0"); + builder.put(grammarAccess.getCountAccess().getGroup(), "rule__Count__Group__0"); + builder.put(grammarAccess.getAggregationAccess().getGroup(), "rule__Aggregation__Group__0"); + builder.put(grammarAccess.getAtomicExpressionAccess().getGroup_0(), "rule__AtomicExpression__Group_0__0"); + builder.put(grammarAccess.getAtomicExpressionAccess().getGroup_0_1(), "rule__AtomicExpression__Group_0_1__0"); + builder.put(grammarAccess.getAtomicExpressionAccess().getGroup_3(), "rule__AtomicExpression__Group_3__0"); + builder.put(grammarAccess.getCallAccess().getGroup(), "rule__Call__Group__0"); + builder.put(grammarAccess.getArgumentListAccess().getGroup(), "rule__ArgumentList__Group__0"); + builder.put(grammarAccess.getArgumentListAccess().getGroup_2(), "rule__ArgumentList__Group_2__0"); + builder.put(grammarAccess.getArgumentListAccess().getGroup_2_1(), "rule__ArgumentList__Group_2_1__0"); + builder.put(grammarAccess.getStarArgumentAccess().getGroup(), "rule__StarArgument__Group__0"); + builder.put(grammarAccess.getTypedArgumentAccess().getGroup(), "rule__TypedArgument__Group__0"); + builder.put(grammarAccess.getTypedStarArgumentAccess().getGroup(), "rule__TypedStarArgument__Group__0"); + builder.put(grammarAccess.getIntervalAccess().getGroup(), "rule__Interval__Group__0"); + builder.put(grammarAccess.getInfinityLiteralAccess().getGroup(), "rule__InfinityLiteral__Group__0"); + builder.put(grammarAccess.getEmptyIntervalLiteralAccess().getGroup(), "rule__EmptyIntervalLiteral__Group__0"); + builder.put(grammarAccess.getClassDefinitionAccess().getGroup(), "rule__ClassDefinition__Group__0"); + builder.put(grammarAccess.getClassDefinitionAccess().getGroup_3(), "rule__ClassDefinition__Group_3__0"); + builder.put(grammarAccess.getClassDefinitionAccess().getGroup_3_2(), "rule__ClassDefinition__Group_3_2__0"); + builder.put(grammarAccess.getMemberDefinitionAccess().getGroup(), "rule__MemberDefinition__Group__0"); + builder.put(grammarAccess.getMemberDefinitionAccess().getGroup_4(), "rule__MemberDefinition__Group_4__0"); + builder.put(grammarAccess.getManyMultiplicityAccess().getGroup(), "rule__ManyMultiplicity__Group__0"); + builder.put(grammarAccess.getExactMultiplicityAccess().getGroup(), "rule__ExactMultiplicity__Group__0"); + builder.put(grammarAccess.getBoundedMultiplicityAccess().getGroup(), "rule__BoundedMultiplicity__Group__0"); + builder.put(grammarAccess.getExactScopeDefinitionAccess().getGroup(), "rule__ExactScopeDefinition__Group__0"); + builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getGroup(), "rule__BoundedScopeDefinition__Group__0"); + builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0(), "rule__BoundedScopeDefinition__Group_1_0__0"); + builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0_0(), "rule__BoundedScopeDefinition__Group_1_0_0__0"); + builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1(), "rule__BoundedScopeDefinition__Group_1_1__0"); + builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1_3(), "rule__BoundedScopeDefinition__Group_1_1_3__0"); + builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup(), "rule__LowerBoundedScopeDefinition__Group__0"); + builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_0(), "rule__LowerBoundedScopeDefinition__Group_1_0__0"); + builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_1(), "rule__LowerBoundedScopeDefinition__Group_1_1__0"); + builder.put(grammarAccess.getObjectiveDefinitionAccess().getGroup(), "rule__ObjectiveDefinition__Group__0"); + builder.put(grammarAccess.getRealAccess().getGroup(), "rule__Real__Group__0"); + builder.put(grammarAccess.getRealAccess().getGroup_1(), "rule__Real__Group_1__0"); + builder.put(grammarAccess.getQualifiedNameAccess().getGroup_0(), "rule__QualifiedName__Group_0__0"); + builder.put(grammarAccess.getQualifiedNameAccess().getGroup_0_1(), "rule__QualifiedName__Group_0_1__0"); builder.put(grammarAccess.getProblemAccess().getStatementsAssignment(), "rule__Problem__StatementsAssignment"); - builder.put(grammarAccess.getBasicInterpretationAccess().getSymbolAssignment_0(), "rule__BasicInterpretation__SymbolAssignment_0"); - builder.put(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_0(), "rule__BasicInterpretation__ObjectsAssignment_1_1_0"); - builder.put(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_1_1(), "rule__BasicInterpretation__ObjectsAssignment_1_1_1_1"); - builder.put(grammarAccess.getBasicInterpretationAccess().getValueAssignment_3(), "rule__BasicInterpretation__ValueAssignment_3"); - builder.put(grammarAccess.getModelSymbolAccess().getNameAssignment(), "rule__ModelSymbol__NameAssignment"); - builder.put(grammarAccess.getNamedObjectAccess().getNameAssignment_1(), "rule__NamedObject__NameAssignment_1"); - builder.put(grammarAccess.getUnnamedObjectAccess().getNameAssignment(), "rule__UnnamedObject__NameAssignment"); - builder.put(grammarAccess.getBooleanObjectAccess().getValueAssignment(), "rule__BooleanObject__ValueAssignment"); - builder.put(grammarAccess.getIntObjectAccess().getValueAssignment(), "rule__IntObject__ValueAssignment"); - builder.put(grammarAccess.getRealObjectAccess().getValueAssignment(), "rule__RealObject__ValueAssignment"); - builder.put(grammarAccess.getStringObjectAccess().getValueAssignment(), "rule__StringObject__ValueAssignment"); - builder.put(grammarAccess.getPredicateAccess().getIsErrorAssignment_0(), "rule__Predicate__IsErrorAssignment_0"); - builder.put(grammarAccess.getPredicateAccess().getSymbolAssignment_1(), "rule__Predicate__SymbolAssignment_1"); - builder.put(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_0(), "rule__Predicate__ParametersAssignment_2_1_0"); - builder.put(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_1_1(), "rule__Predicate__ParametersAssignment_2_1_1_1"); - builder.put(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_0(), "rule__Predicate__BodiesAssignment_4_1_0"); - builder.put(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_1_1(), "rule__Predicate__BodiesAssignment_4_1_1_1"); - builder.put(grammarAccess.getParameterAccess().getVariableAssignment_0(), "rule__Parameter__VariableAssignment_0"); - builder.put(grammarAccess.getParameterAccess().getTypeAssignment_1_1(), "rule__Parameter__TypeAssignment_1_1"); - builder.put(grammarAccess.getPatternBodyAccess().getConstraintsAssignment_1_1(), "rule__PatternBody__ConstraintsAssignment_1_1"); - builder.put(grammarAccess.getConstraintAccess().getPolarityAssignment_0_0(), "rule__Constraint__PolarityAssignment_0_0"); - builder.put(grammarAccess.getConstraintAccess().getSymbolAssignment_0_1(), "rule__Constraint__SymbolAssignment_0_1"); - builder.put(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_1(), "rule__Constraint__ParamsAssignment_0_2_1"); - builder.put(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_2_1(), "rule__Constraint__ParamsAssignment_0_2_2_1"); - builder.put(grammarAccess.getConstraintAccess().getClosureTypeAssignment_1_0(), "rule__Constraint__ClosureTypeAssignment_1_0"); - builder.put(grammarAccess.getConstraintAccess().getParamsAssignment_1_2(), "rule__Constraint__ParamsAssignment_1_2"); - builder.put(grammarAccess.getConstraintAccess().getParamsAssignment_1_3_1(), "rule__Constraint__ParamsAssignment_1_3_1"); - builder.put(grammarAccess.getVariableAccess().getNameAssignment(), "rule__Variable__NameAssignment"); - builder.put(grammarAccess.getAllInstancesAccess().getSymbolAssignment_1(), "rule__AllInstances__SymbolAssignment_1"); - builder.put(grammarAccess.getDefaultInterpretationAccess().getInterpretationAssignment_1(), "rule__DefaultInterpretation__InterpretationAssignment_1"); - builder.put(grammarAccess.getClassInterpretationAccess().getAbstractAssignment_0(), "rule__ClassInterpretation__AbstractAssignment_0"); - builder.put(grammarAccess.getClassInterpretationAccess().getSymbolAssignment_2(), "rule__ClassInterpretation__SymbolAssignment_2"); - builder.put(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1(), "rule__ClassInterpretation__SupertypesAssignment_3_1"); - builder.put(grammarAccess.getClassInterpretationAccess().getFieltAssignment_5(), "rule__ClassInterpretation__FieltAssignment_5"); - builder.put(grammarAccess.getEnumInterpretationAccess().getSymbolAssignment_1(), "rule__EnumInterpretation__SymbolAssignment_1"); - builder.put(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3(), "rule__EnumInterpretation__ObjectsAssignment_3"); - builder.put(grammarAccess.getFieldRelationInterpretationAccess().getContainmentAssignment_0(), "rule__FieldRelationInterpretation__ContainmentAssignment_0"); - builder.put(grammarAccess.getFieldRelationInterpretationAccess().getSymbolAssignment_1(), "rule__FieldRelationInterpretation__SymbolAssignment_1"); - builder.put(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityAssignment_3(), "rule__FieldRelationInterpretation__MultiplicityAssignment_3"); - builder.put(grammarAccess.getFieldRelationInterpretationAccess().getTargetAssignment_4(), "rule__FieldRelationInterpretation__TargetAssignment_4"); - builder.put(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentAssignment_0(), "rule__GlobalRelationInterpretation__ContainmentAssignment_0"); - builder.put(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolAssignment_2(), "rule__GlobalRelationInterpretation__SymbolAssignment_2"); - builder.put(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityAssignment_4(), "rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4"); - builder.put(grammarAccess.getGlobalRelationInterpretationAccess().getSourceAssignment_5(), "rule__GlobalRelationInterpretation__SourceAssignment_5"); - builder.put(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityAssignment_6(), "rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6"); - builder.put(grammarAccess.getGlobalRelationInterpretationAccess().getTargetAssignment_7(), "rule__GlobalRelationInterpretation__TargetAssignment_7"); - builder.put(grammarAccess.getMultiplicityDefinitionAccess().getLowerAssignment_0(), "rule__MultiplicityDefinition__LowerAssignment_0"); - builder.put(grammarAccess.getMultiplicityDefinitionAccess().getUpperAssignment_2_0(), "rule__MultiplicityDefinition__UpperAssignment_2_0"); - builder.put(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAssignment_2_1(), "rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1"); + builder.put(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_1_1(), "rule__AssertionOrDefinition__RangeAssignment_1_0_1_1"); + builder.put(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_1_2(), "rule__AssertionOrDefinition__BodyAssignment_1_1_2"); + builder.put(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_2_2(), "rule__AssertionOrDefinition__BodyAssignment_1_2_2"); + builder.put(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_0_0(), "rule__PredicateDefinition__FunctionalAssignment_0_0_0"); + builder.put(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_1(), "rule__PredicateDefinition__ErrorAssignment_0_0_1"); + builder.put(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_1_0(), "rule__PredicateDefinition__ErrorAssignment_0_1_0"); + builder.put(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_1_1(), "rule__PredicateDefinition__FunctionalAssignment_0_1_1"); + builder.put(grammarAccess.getPredicateDefinitionAccess().getHeadAssignment_1(), "rule__PredicateDefinition__HeadAssignment_1"); + builder.put(grammarAccess.getPredicateDefinitionAccess().getBodyAssignment_3(), "rule__PredicateDefinition__BodyAssignment_3"); + builder.put(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListAssignment_1(), "rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1"); + builder.put(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyAssignment_3(), "rule__UnnamedErrorPrediateDefinition__BodyAssignment_3"); + builder.put(grammarAccess.getDefaultDefinitionAccess().getHeadAssignment_1(), "rule__DefaultDefinition__HeadAssignment_1"); + builder.put(grammarAccess.getDefaultDefinitionAccess().getRangeAssignment_3(), "rule__DefaultDefinition__RangeAssignment_3"); + builder.put(grammarAccess.getExternPredicateDefinitionAccess().getHeadAssignment_1(), "rule__ExternPredicateDefinition__HeadAssignment_1"); + builder.put(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0(), "rule__MetricDefinition__TypeAssignment_0"); + builder.put(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1(), "rule__MetricDefinition__HeadAssignment_1"); + builder.put(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3(), "rule__MetricDefinition__BodyAssignment_3"); + builder.put(grammarAccess.getExternMetricDefinitionAccess().getTypeAssignment_1(), "rule__ExternMetricDefinition__TypeAssignment_1"); + builder.put(grammarAccess.getExternMetricDefinitionAccess().getHeadAssignment_2(), "rule__ExternMetricDefinition__HeadAssignment_2"); + builder.put(grammarAccess.getIfElseAccess().getConditionAssignment_1(), "rule__IfElse__ConditionAssignment_1"); + builder.put(grammarAccess.getIfElseAccess().getThenAssignment_3(), "rule__IfElse__ThenAssignment_3"); + builder.put(grammarAccess.getIfElseAccess().getElseAssignment_5(), "rule__IfElse__ElseAssignment_5"); + builder.put(grammarAccess.getDisjunctiveExpressionAccess().getChildrenAssignment_1_0_1_1(), "rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1"); + builder.put(grammarAccess.getDisjunctiveExpressionAccess().getBodyAssignment_1_1_2(), "rule__DisjunctiveExpression__BodyAssignment_1_1_2"); + builder.put(grammarAccess.getDisjunctiveExpressionAccess().getCasesAssignment_1_1_4_1(), "rule__DisjunctiveExpression__CasesAssignment_1_1_4_1"); + builder.put(grammarAccess.getCaseAccess().getConditionAssignment_0(), "rule__Case__ConditionAssignment_0"); + builder.put(grammarAccess.getCaseAccess().getBodyAssignment_2(), "rule__Case__BodyAssignment_2"); + builder.put(grammarAccess.getConjunctiveExpressionAccess().getChildrenAssignment_1_1_1(), "rule__ConjunctiveExpression__ChildrenAssignment_1_1_1"); + builder.put(grammarAccess.getComparisonExpressionAccess().getOpAssignment_1_1(), "rule__ComparisonExpression__OpAssignment_1_1"); + builder.put(grammarAccess.getComparisonExpressionAccess().getRightAssignment_1_2(), "rule__ComparisonExpression__RightAssignment_1_2"); + builder.put(grammarAccess.getAdditiveExpressionAccess().getOpAssignment_1_1(), "rule__AdditiveExpression__OpAssignment_1_1"); + builder.put(grammarAccess.getAdditiveExpressionAccess().getRightAssignment_1_2(), "rule__AdditiveExpression__RightAssignment_1_2"); + builder.put(grammarAccess.getMultiplicativeExpressionAccess().getOpAssignment_1_1(), "rule__MultiplicativeExpression__OpAssignment_1_1"); + builder.put(grammarAccess.getMultiplicativeExpressionAccess().getRightAssignment_1_2(), "rule__MultiplicativeExpression__RightAssignment_1_2"); + builder.put(grammarAccess.getExponentialExpressionAccess().getOpAssignment_1_1(), "rule__ExponentialExpression__OpAssignment_1_1"); + builder.put(grammarAccess.getExponentialExpressionAccess().getRightAssignment_1_2(), "rule__ExponentialExpression__RightAssignment_1_2"); + builder.put(grammarAccess.getUnaryExpressionAccess().getOpAssignment_1_1(), "rule__UnaryExpression__OpAssignment_1_1"); + builder.put(grammarAccess.getUnaryExpressionAccess().getBodyAssignment_1_2(), "rule__UnaryExpression__BodyAssignment_1_2"); + builder.put(grammarAccess.getCountAccess().getBodyAssignment_2(), "rule__Count__BodyAssignment_2"); + builder.put(grammarAccess.getAggregationAccess().getOpAssignment_0(), "rule__Aggregation__OpAssignment_0"); + builder.put(grammarAccess.getAggregationAccess().getBodyAssignment_2(), "rule__Aggregation__BodyAssignment_2"); + builder.put(grammarAccess.getAggregationAccess().getConditionAssignment_4(), "rule__Aggregation__ConditionAssignment_4"); + builder.put(grammarAccess.getAtomicExpressionAccess().getArgumentListAssignment_0_1_1(), "rule__AtomicExpression__ArgumentListAssignment_0_1_1"); + builder.put(grammarAccess.getCallAccess().getFunctorAssignment_0(), "rule__Call__FunctorAssignment_0"); + builder.put(grammarAccess.getCallAccess().getTransitiveClosureAssignment_1_0(), "rule__Call__TransitiveClosureAssignment_1_0"); + builder.put(grammarAccess.getCallAccess().getReflexiveTransitiveClosureAssignment_1_1(), "rule__Call__ReflexiveTransitiveClosureAssignment_1_1"); + builder.put(grammarAccess.getCallAccess().getArgumentListAssignment_2(), "rule__Call__ArgumentListAssignment_2"); + builder.put(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_0(), "rule__ArgumentList__ArgumentsAssignment_2_0"); + builder.put(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_1_1(), "rule__ArgumentList__ArgumentsAssignment_2_1_1"); + builder.put(grammarAccess.getExpressionArgumentAccess().getBodyAssignment(), "rule__ExpressionArgument__BodyAssignment"); + builder.put(grammarAccess.getTypedArgumentAccess().getTypeAssignment_0(), "rule__TypedArgument__TypeAssignment_0"); + builder.put(grammarAccess.getTypedArgumentAccess().getVariableAssignment_1(), "rule__TypedArgument__VariableAssignment_1"); + builder.put(grammarAccess.getTypedStarArgumentAccess().getTypeAssignment_0(), "rule__TypedStarArgument__TypeAssignment_0"); + builder.put(grammarAccess.getReferenceAccess().getReferredAssignment(), "rule__Reference__ReferredAssignment"); + builder.put(grammarAccess.getIntervalAccess().getLowerBoundAssignment_1(), "rule__Interval__LowerBoundAssignment_1"); + builder.put(grammarAccess.getIntervalAccess().getUpperBoundAssignment_3(), "rule__Interval__UpperBoundAssignment_3"); + builder.put(grammarAccess.getLogicLiteralAccess().getValueAssignment(), "rule__LogicLiteral__ValueAssignment"); + builder.put(grammarAccess.getNumericLiteralAccess().getValueAssignment(), "rule__NumericLiteral__ValueAssignment"); + builder.put(grammarAccess.getStringLiteralAccess().getValueAssignment(), "rule__StringLiteral__ValueAssignment"); + builder.put(grammarAccess.getClassDefinitionAccess().getAbstractAssignment_0(), "rule__ClassDefinition__AbstractAssignment_0"); + builder.put(grammarAccess.getClassDefinitionAccess().getNameAssignment_2(), "rule__ClassDefinition__NameAssignment_2"); + builder.put(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_1(), "rule__ClassDefinition__SuperclassesAssignment_3_1"); + builder.put(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_2_1(), "rule__ClassDefinition__SuperclassesAssignment_3_2_1"); + builder.put(grammarAccess.getClassDefinitionAccess().getMembersAssignment_5(), "rule__ClassDefinition__MembersAssignment_5"); + builder.put(grammarAccess.getMemberDefinitionAccess().getContainmentAssignment_0(), "rule__MemberDefinition__ContainmentAssignment_0"); + builder.put(grammarAccess.getMemberDefinitionAccess().getTypeAssignment_1(), "rule__MemberDefinition__TypeAssignment_1"); + builder.put(grammarAccess.getMemberDefinitionAccess().getMultiplicityAssignment_2(), "rule__MemberDefinition__MultiplicityAssignment_2"); + builder.put(grammarAccess.getMemberDefinitionAccess().getNameAssignment_3(), "rule__MemberDefinition__NameAssignment_3"); + builder.put(grammarAccess.getMemberDefinitionAccess().getOppositeAssignment_4_1(), "rule__MemberDefinition__OppositeAssignment_4_1"); + builder.put(grammarAccess.getExactMultiplicityAccess().getMultiplicityAssignment_1(), "rule__ExactMultiplicity__MultiplicityAssignment_1"); + builder.put(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundAssignment_1(), "rule__BoundedMultiplicity__LowerBoundAssignment_1"); + builder.put(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundAssignment_3(), "rule__BoundedMultiplicity__UpperBoundAssignment_3"); + builder.put(grammarAccess.getExactScopeDefinitionAccess().getTypeAssignment_1(), "rule__ExactScopeDefinition__TypeAssignment_1"); + builder.put(grammarAccess.getExactScopeDefinitionAccess().getExactScopeAssignment_3(), "rule__ExactScopeDefinition__ExactScopeAssignment_3"); + builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0_0(), "rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0"); + builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_0_1(), "rule__BoundedScopeDefinition__TypeAssignment_1_0_1"); + builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_0_3(), "rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3"); + builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_1_0(), "rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0"); + builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_1_2(), "rule__BoundedScopeDefinition__TypeAssignment_1_1_2"); + builder.put(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_3_1(), "rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1"); + builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0(), "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0"); + builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_0_2(), "rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2"); + builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_1_0(), "rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0"); + builder.put(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_2(), "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2"); + builder.put(grammarAccess.getObjectiveDefinitionAccess().getKindAssignment_0(), "rule__ObjectiveDefinition__KindAssignment_0"); + builder.put(grammarAccess.getObjectiveDefinitionAccess().getObjectiveAssignment_1(), "rule__ObjectiveDefinition__ObjectiveAssignment_1"); + builder.put(grammarAccess.getNamedElementAccess().getNameAssignment(), "rule__NamedElement__NameAssignment"); } } 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ grammar InternalSolverLanguage; options { superClass=AbstractInternalContentAssistParser; + backtrack=true; } @lexer::header { @@ -90,1670 +91,4888 @@ ruleStatement } : ( - { before(grammarAccess.getStatementAccess().getAlternatives()); } - (rule__Statement__Alternatives) - { after(grammarAccess.getStatementAccess().getAlternatives()); } + { before(grammarAccess.getStatementAccess().getGroup()); } + (rule__Statement__Group__0) + { after(grammarAccess.getStatementAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleREALLiteral -entryRuleREALLiteral +// Entry rule entryRuleAssertionOrDefinition +entryRuleAssertionOrDefinition : -{ before(grammarAccess.getREALLiteralRule()); } - ruleREALLiteral -{ after(grammarAccess.getREALLiteralRule()); } +{ before(grammarAccess.getAssertionOrDefinitionRule()); } + ruleAssertionOrDefinition +{ after(grammarAccess.getAssertionOrDefinitionRule()); } EOF ; -// Rule REALLiteral -ruleREALLiteral +// Rule AssertionOrDefinition +ruleAssertionOrDefinition @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getREALLiteralAccess().getGroup()); } - (rule__REALLiteral__Group__0) - { after(grammarAccess.getREALLiteralAccess().getGroup()); } + { before(grammarAccess.getAssertionOrDefinitionAccess().getGroup()); } + (rule__AssertionOrDefinition__Group__0) + { after(grammarAccess.getAssertionOrDefinitionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleINTLiteral -entryRuleINTLiteral +// Entry rule entryRulePredicateDefinition +entryRulePredicateDefinition : -{ before(grammarAccess.getINTLiteralRule()); } - ruleINTLiteral -{ after(grammarAccess.getINTLiteralRule()); } +{ before(grammarAccess.getPredicateDefinitionRule()); } + rulePredicateDefinition +{ after(grammarAccess.getPredicateDefinitionRule()); } EOF ; -// Rule INTLiteral -ruleINTLiteral +// Rule PredicateDefinition +rulePredicateDefinition @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getINTLiteralAccess().getGroup()); } - (rule__INTLiteral__Group__0) - { after(grammarAccess.getINTLiteralAccess().getGroup()); } + { before(grammarAccess.getPredicateDefinitionAccess().getGroup()); } + (rule__PredicateDefinition__Group__0) + { after(grammarAccess.getPredicateDefinitionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleBooleanValue -entryRuleBooleanValue +// Entry rule entryRuleUnnamedErrorPrediateDefinition +entryRuleUnnamedErrorPrediateDefinition : -{ before(grammarAccess.getBooleanValueRule()); } - ruleBooleanValue -{ after(grammarAccess.getBooleanValueRule()); } +{ before(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); } + ruleUnnamedErrorPrediateDefinition +{ after(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); } EOF ; -// Rule BooleanValue -ruleBooleanValue +// Rule UnnamedErrorPrediateDefinition +ruleUnnamedErrorPrediateDefinition @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBooleanValueAccess().getAlternatives()); } - (rule__BooleanValue__Alternatives) - { after(grammarAccess.getBooleanValueAccess().getAlternatives()); } + { before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getGroup()); } + (rule__UnnamedErrorPrediateDefinition__Group__0) + { after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleTruthValue -entryRuleTruthValue +// Entry rule entryRuleDefaultDefinition +entryRuleDefaultDefinition : -{ before(grammarAccess.getTruthValueRule()); } - ruleTruthValue -{ after(grammarAccess.getTruthValueRule()); } +{ before(grammarAccess.getDefaultDefinitionRule()); } + ruleDefaultDefinition +{ after(grammarAccess.getDefaultDefinitionRule()); } EOF ; -// Rule TruthValue -ruleTruthValue +// Rule DefaultDefinition +ruleDefaultDefinition @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTruthValueAccess().getAlternatives()); } - (rule__TruthValue__Alternatives) - { after(grammarAccess.getTruthValueAccess().getAlternatives()); } + { before(grammarAccess.getDefaultDefinitionAccess().getGroup()); } + (rule__DefaultDefinition__Group__0) + { after(grammarAccess.getDefaultDefinitionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleInterpretation -entryRuleInterpretation +// Entry rule entryRuleExternPredicateDefinition +entryRuleExternPredicateDefinition : -{ before(grammarAccess.getInterpretationRule()); } - ruleInterpretation -{ after(grammarAccess.getInterpretationRule()); } +{ before(grammarAccess.getExternPredicateDefinitionRule()); } + ruleExternPredicateDefinition +{ after(grammarAccess.getExternPredicateDefinitionRule()); } EOF ; -// Rule Interpretation -ruleInterpretation +// Rule ExternPredicateDefinition +ruleExternPredicateDefinition @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getInterpretationAccess().getAlternatives()); } - (rule__Interpretation__Alternatives) - { after(grammarAccess.getInterpretationAccess().getAlternatives()); } + { before(grammarAccess.getExternPredicateDefinitionAccess().getGroup()); } + (rule__ExternPredicateDefinition__Group__0) + { after(grammarAccess.getExternPredicateDefinitionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleBasicInterpretation -entryRuleBasicInterpretation +// Entry rule entryRuleMetricDefinition +entryRuleMetricDefinition : -{ before(grammarAccess.getBasicInterpretationRule()); } - ruleBasicInterpretation -{ after(grammarAccess.getBasicInterpretationRule()); } +{ before(grammarAccess.getMetricDefinitionRule()); } + ruleMetricDefinition +{ after(grammarAccess.getMetricDefinitionRule()); } EOF ; -// Rule BasicInterpretation -ruleBasicInterpretation +// Rule MetricDefinition +ruleMetricDefinition @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBasicInterpretationAccess().getGroup()); } - (rule__BasicInterpretation__Group__0) - { after(grammarAccess.getBasicInterpretationAccess().getGroup()); } + { before(grammarAccess.getMetricDefinitionAccess().getGroup()); } + (rule__MetricDefinition__Group__0) + { after(grammarAccess.getMetricDefinitionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleSymbol -entryRuleSymbol +// Entry rule entryRuleExternMetricDefinition +entryRuleExternMetricDefinition : -{ before(grammarAccess.getSymbolRule()); } - ruleSymbol -{ after(grammarAccess.getSymbolRule()); } +{ before(grammarAccess.getExternMetricDefinitionRule()); } + ruleExternMetricDefinition +{ after(grammarAccess.getExternMetricDefinitionRule()); } EOF ; -// Rule Symbol -ruleSymbol +// Rule ExternMetricDefinition +ruleExternMetricDefinition @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSymbolAccess().getAlternatives()); } - (rule__Symbol__Alternatives) - { after(grammarAccess.getSymbolAccess().getAlternatives()); } + { before(grammarAccess.getExternMetricDefinitionAccess().getGroup()); } + (rule__ExternMetricDefinition__Group__0) + { after(grammarAccess.getExternMetricDefinitionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleModelSymbol -entryRuleModelSymbol +// Entry rule entryRuleExpression +entryRuleExpression : -{ before(grammarAccess.getModelSymbolRule()); } - ruleModelSymbol -{ after(grammarAccess.getModelSymbolRule()); } +{ before(grammarAccess.getExpressionRule()); } + ruleExpression +{ after(grammarAccess.getExpressionRule()); } EOF ; -// Rule ModelSymbol -ruleModelSymbol +// Rule Expression +ruleExpression @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getModelSymbolAccess().getNameAssignment()); } - (rule__ModelSymbol__NameAssignment) - { after(grammarAccess.getModelSymbolAccess().getNameAssignment()); } + { before(grammarAccess.getExpressionAccess().getAlternatives()); } + (rule__Expression__Alternatives) + { after(grammarAccess.getExpressionAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRulePartialitySymbol -entryRulePartialitySymbol +// Entry rule entryRuleIfElse +entryRuleIfElse : -{ before(grammarAccess.getPartialitySymbolRule()); } - rulePartialitySymbol -{ after(grammarAccess.getPartialitySymbolRule()); } +{ before(grammarAccess.getIfElseRule()); } + ruleIfElse +{ after(grammarAccess.getIfElseRule()); } EOF ; -// Rule PartialitySymbol -rulePartialitySymbol +// Rule IfElse +ruleIfElse @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPartialitySymbolAccess().getAlternatives()); } - (rule__PartialitySymbol__Alternatives) - { after(grammarAccess.getPartialitySymbolAccess().getAlternatives()); } + { before(grammarAccess.getIfElseAccess().getGroup()); } + (rule__IfElse__Group__0) + { after(grammarAccess.getIfElseAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleExistSymbol -entryRuleExistSymbol +// Entry rule entryRuleDisjunctiveExpression +entryRuleDisjunctiveExpression : -{ before(grammarAccess.getExistSymbolRule()); } - ruleExistSymbol -{ after(grammarAccess.getExistSymbolRule()); } +{ before(grammarAccess.getDisjunctiveExpressionRule()); } + ruleDisjunctiveExpression +{ after(grammarAccess.getDisjunctiveExpressionRule()); } EOF ; -// Rule ExistSymbol -ruleExistSymbol +// Rule DisjunctiveExpression +ruleDisjunctiveExpression @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExistSymbolAccess().getGroup()); } - (rule__ExistSymbol__Group__0) - { after(grammarAccess.getExistSymbolAccess().getGroup()); } + { before(grammarAccess.getDisjunctiveExpressionAccess().getGroup()); } + (rule__DisjunctiveExpression__Group__0) + { after(grammarAccess.getDisjunctiveExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleEqualsSymbol -entryRuleEqualsSymbol +// Entry rule entryRuleCase +entryRuleCase : -{ before(grammarAccess.getEqualsSymbolRule()); } - ruleEqualsSymbol -{ after(grammarAccess.getEqualsSymbolRule()); } +{ before(grammarAccess.getCaseRule()); } + ruleCase +{ after(grammarAccess.getCaseRule()); } EOF ; -// Rule EqualsSymbol -ruleEqualsSymbol +// Rule Case +ruleCase @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getEqualsSymbolAccess().getGroup()); } - (rule__EqualsSymbol__Group__0) - { after(grammarAccess.getEqualsSymbolAccess().getGroup()); } + { before(grammarAccess.getCaseAccess().getGroup()); } + (rule__Case__Group__0) + { after(grammarAccess.getCaseAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleDataSymbol -entryRuleDataSymbol +// Entry rule entryRuleConjunctiveExpression +entryRuleConjunctiveExpression : -{ before(grammarAccess.getDataSymbolRule()); } - ruleDataSymbol -{ after(grammarAccess.getDataSymbolRule()); } +{ before(grammarAccess.getConjunctiveExpressionRule()); } + ruleConjunctiveExpression +{ after(grammarAccess.getConjunctiveExpressionRule()); } EOF ; -// Rule DataSymbol -ruleDataSymbol +// Rule ConjunctiveExpression +ruleConjunctiveExpression @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getDataSymbolAccess().getAlternatives()); } - (rule__DataSymbol__Alternatives) - { after(grammarAccess.getDataSymbolAccess().getAlternatives()); } + { before(grammarAccess.getConjunctiveExpressionAccess().getGroup()); } + (rule__ConjunctiveExpression__Group__0) + { after(grammarAccess.getConjunctiveExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleBooleanSymbol -entryRuleBooleanSymbol +// Entry rule entryRuleComparisonExpression +entryRuleComparisonExpression : -{ before(grammarAccess.getBooleanSymbolRule()); } - ruleBooleanSymbol -{ after(grammarAccess.getBooleanSymbolRule()); } +{ before(grammarAccess.getComparisonExpressionRule()); } + ruleComparisonExpression +{ after(grammarAccess.getComparisonExpressionRule()); } EOF ; -// Rule BooleanSymbol -ruleBooleanSymbol +// Rule ComparisonExpression +ruleComparisonExpression @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBooleanSymbolAccess().getGroup()); } - (rule__BooleanSymbol__Group__0) - { after(grammarAccess.getBooleanSymbolAccess().getGroup()); } + { before(grammarAccess.getComparisonExpressionAccess().getGroup()); } + (rule__ComparisonExpression__Group__0) + { after(grammarAccess.getComparisonExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleIntegerSymbol -entryRuleIntegerSymbol +// Entry rule entryRuleAdditiveExpression +entryRuleAdditiveExpression : -{ before(grammarAccess.getIntegerSymbolRule()); } - ruleIntegerSymbol -{ after(grammarAccess.getIntegerSymbolRule()); } +{ before(grammarAccess.getAdditiveExpressionRule()); } + ruleAdditiveExpression +{ after(grammarAccess.getAdditiveExpressionRule()); } EOF ; -// Rule IntegerSymbol -ruleIntegerSymbol +// Rule AdditiveExpression +ruleAdditiveExpression @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIntegerSymbolAccess().getGroup()); } - (rule__IntegerSymbol__Group__0) - { after(grammarAccess.getIntegerSymbolAccess().getGroup()); } + { before(grammarAccess.getAdditiveExpressionAccess().getGroup()); } + (rule__AdditiveExpression__Group__0) + { after(grammarAccess.getAdditiveExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleRealSymbol -entryRuleRealSymbol +// Entry rule entryRuleMultiplicativeExpression +entryRuleMultiplicativeExpression : -{ before(grammarAccess.getRealSymbolRule()); } - ruleRealSymbol -{ after(grammarAccess.getRealSymbolRule()); } +{ before(grammarAccess.getMultiplicativeExpressionRule()); } + ruleMultiplicativeExpression +{ after(grammarAccess.getMultiplicativeExpressionRule()); } EOF ; -// Rule RealSymbol -ruleRealSymbol +// Rule MultiplicativeExpression +ruleMultiplicativeExpression @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRealSymbolAccess().getGroup()); } - (rule__RealSymbol__Group__0) - { after(grammarAccess.getRealSymbolAccess().getGroup()); } + { before(grammarAccess.getMultiplicativeExpressionAccess().getGroup()); } + (rule__MultiplicativeExpression__Group__0) + { after(grammarAccess.getMultiplicativeExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleStringSymbol -entryRuleStringSymbol +// Entry rule entryRuleExponentialExpression +entryRuleExponentialExpression : -{ before(grammarAccess.getStringSymbolRule()); } - ruleStringSymbol -{ after(grammarAccess.getStringSymbolRule()); } +{ before(grammarAccess.getExponentialExpressionRule()); } + ruleExponentialExpression +{ after(grammarAccess.getExponentialExpressionRule()); } EOF ; -// Rule StringSymbol -ruleStringSymbol +// Rule ExponentialExpression +ruleExponentialExpression @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getStringSymbolAccess().getGroup()); } - (rule__StringSymbol__Group__0) - { after(grammarAccess.getStringSymbolAccess().getGroup()); } + { before(grammarAccess.getExponentialExpressionAccess().getGroup()); } + (rule__ExponentialExpression__Group__0) + { after(grammarAccess.getExponentialExpressionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleComplexObject -entryRuleComplexObject +// Entry rule entryRuleUnaryExpression +entryRuleUnaryExpression : -{ before(grammarAccess.getComplexObjectRule()); } - ruleComplexObject -{ after(grammarAccess.getComplexObjectRule()); } +{ before(grammarAccess.getUnaryExpressionRule()); } + ruleUnaryExpression +{ after(grammarAccess.getUnaryExpressionRule()); } EOF ; -// Rule ComplexObject -ruleComplexObject +// Rule UnaryExpression +ruleUnaryExpression @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getComplexObjectAccess().getAlternatives()); } - (rule__ComplexObject__Alternatives) - { after(grammarAccess.getComplexObjectAccess().getAlternatives()); } + { before(grammarAccess.getUnaryExpressionAccess().getAlternatives()); } + (rule__UnaryExpression__Alternatives) + { after(grammarAccess.getUnaryExpressionAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleObject -entryRuleObject +// Entry rule entryRuleAggregationExpression +entryRuleAggregationExpression : -{ before(grammarAccess.getObjectRule()); } - ruleObject -{ after(grammarAccess.getObjectRule()); } +{ before(grammarAccess.getAggregationExpressionRule()); } + ruleAggregationExpression +{ after(grammarAccess.getAggregationExpressionRule()); } EOF ; -// Rule Object -ruleObject +// Rule AggregationExpression +ruleAggregationExpression @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getObjectAccess().getAlternatives()); } - (rule__Object__Alternatives) - { after(grammarAccess.getObjectAccess().getAlternatives()); } + { before(grammarAccess.getAggregationExpressionAccess().getAlternatives()); } + (rule__AggregationExpression__Alternatives) + { after(grammarAccess.getAggregationExpressionAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleNamedObject -entryRuleNamedObject +// Entry rule entryRuleCount +entryRuleCount : -{ before(grammarAccess.getNamedObjectRule()); } - ruleNamedObject -{ after(grammarAccess.getNamedObjectRule()); } +{ before(grammarAccess.getCountRule()); } + ruleCount +{ after(grammarAccess.getCountRule()); } EOF ; -// Rule NamedObject -ruleNamedObject +// Rule Count +ruleCount @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamedObjectAccess().getGroup()); } - (rule__NamedObject__Group__0) - { after(grammarAccess.getNamedObjectAccess().getGroup()); } + { before(grammarAccess.getCountAccess().getGroup()); } + (rule__Count__Group__0) + { after(grammarAccess.getCountAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleUnnamedObject -entryRuleUnnamedObject +// Entry rule entryRuleAggregation +entryRuleAggregation : -{ before(grammarAccess.getUnnamedObjectRule()); } - ruleUnnamedObject -{ after(grammarAccess.getUnnamedObjectRule()); } +{ before(grammarAccess.getAggregationRule()); } + ruleAggregation +{ after(grammarAccess.getAggregationRule()); } EOF ; -// Rule UnnamedObject -ruleUnnamedObject +// Rule Aggregation +ruleAggregation @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUnnamedObjectAccess().getNameAssignment()); } - (rule__UnnamedObject__NameAssignment) - { after(grammarAccess.getUnnamedObjectAccess().getNameAssignment()); } + { before(grammarAccess.getAggregationAccess().getGroup()); } + (rule__Aggregation__Group__0) + { after(grammarAccess.getAggregationAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleDataObject -entryRuleDataObject +// Entry rule entryRuleAtomicExpression +entryRuleAtomicExpression : -{ before(grammarAccess.getDataObjectRule()); } - ruleDataObject -{ after(grammarAccess.getDataObjectRule()); } +{ before(grammarAccess.getAtomicExpressionRule()); } + ruleAtomicExpression +{ after(grammarAccess.getAtomicExpressionRule()); } EOF ; -// Rule DataObject -ruleDataObject +// Rule AtomicExpression +ruleAtomicExpression @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getDataObjectAccess().getAlternatives()); } - (rule__DataObject__Alternatives) - { after(grammarAccess.getDataObjectAccess().getAlternatives()); } + { before(grammarAccess.getAtomicExpressionAccess().getAlternatives()); } + (rule__AtomicExpression__Alternatives) + { after(grammarAccess.getAtomicExpressionAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleBooleanObject -entryRuleBooleanObject +// Entry rule entryRuleCall +entryRuleCall : -{ before(grammarAccess.getBooleanObjectRule()); } - ruleBooleanObject -{ after(grammarAccess.getBooleanObjectRule()); } +{ before(grammarAccess.getCallRule()); } + ruleCall +{ after(grammarAccess.getCallRule()); } EOF ; -// Rule BooleanObject -ruleBooleanObject +// Rule Call +ruleCall @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBooleanObjectAccess().getValueAssignment()); } - (rule__BooleanObject__ValueAssignment) - { after(grammarAccess.getBooleanObjectAccess().getValueAssignment()); } + { before(grammarAccess.getCallAccess().getGroup()); } + (rule__Call__Group__0) + { after(grammarAccess.getCallAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleIntObject -entryRuleIntObject +// Entry rule entryRuleArgumentList +entryRuleArgumentList : -{ before(grammarAccess.getIntObjectRule()); } - ruleIntObject -{ after(grammarAccess.getIntObjectRule()); } +{ before(grammarAccess.getArgumentListRule()); } + ruleArgumentList +{ after(grammarAccess.getArgumentListRule()); } EOF ; -// Rule IntObject -ruleIntObject +// Rule ArgumentList +ruleArgumentList @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIntObjectAccess().getValueAssignment()); } - (rule__IntObject__ValueAssignment) - { after(grammarAccess.getIntObjectAccess().getValueAssignment()); } + { before(grammarAccess.getArgumentListAccess().getGroup()); } + (rule__ArgumentList__Group__0) + { after(grammarAccess.getArgumentListAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleRealObject -entryRuleRealObject +// Entry rule entryRuleArgument +entryRuleArgument : -{ before(grammarAccess.getRealObjectRule()); } - ruleRealObject -{ after(grammarAccess.getRealObjectRule()); } +{ before(grammarAccess.getArgumentRule()); } + ruleArgument +{ after(grammarAccess.getArgumentRule()); } EOF ; -// Rule RealObject -ruleRealObject +// Rule Argument +ruleArgument @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRealObjectAccess().getValueAssignment()); } - (rule__RealObject__ValueAssignment) - { after(grammarAccess.getRealObjectAccess().getValueAssignment()); } + { before(grammarAccess.getArgumentAccess().getAlternatives()); } + (rule__Argument__Alternatives) + { after(grammarAccess.getArgumentAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleStringObject -entryRuleStringObject +// Entry rule entryRuleExpressionArgument +entryRuleExpressionArgument : -{ before(grammarAccess.getStringObjectRule()); } - ruleStringObject -{ after(grammarAccess.getStringObjectRule()); } +{ before(grammarAccess.getExpressionArgumentRule()); } + ruleExpressionArgument +{ after(grammarAccess.getExpressionArgumentRule()); } EOF ; -// Rule StringObject -ruleStringObject +// Rule ExpressionArgument +ruleExpressionArgument @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getStringObjectAccess().getValueAssignment()); } - (rule__StringObject__ValueAssignment) - { after(grammarAccess.getStringObjectAccess().getValueAssignment()); } + { before(grammarAccess.getExpressionArgumentAccess().getBodyAssignment()); } + (rule__ExpressionArgument__BodyAssignment) + { after(grammarAccess.getExpressionArgumentAccess().getBodyAssignment()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRulePredicate -entryRulePredicate +// Entry rule entryRuleStarArgument +entryRuleStarArgument : -{ before(grammarAccess.getPredicateRule()); } - rulePredicate -{ after(grammarAccess.getPredicateRule()); } +{ before(grammarAccess.getStarArgumentRule()); } + ruleStarArgument +{ after(grammarAccess.getStarArgumentRule()); } EOF ; -// Rule Predicate -rulePredicate +// Rule StarArgument +ruleStarArgument @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getGroup()); } - (rule__Predicate__Group__0) - { after(grammarAccess.getPredicateAccess().getGroup()); } + { before(grammarAccess.getStarArgumentAccess().getGroup()); } + (rule__StarArgument__Group__0) + { after(grammarAccess.getStarArgumentAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleParameter -entryRuleParameter +// Entry rule entryRuleTypedArgument +entryRuleTypedArgument : -{ before(grammarAccess.getParameterRule()); } - ruleParameter -{ after(grammarAccess.getParameterRule()); } +{ before(grammarAccess.getTypedArgumentRule()); } + ruleTypedArgument +{ after(grammarAccess.getTypedArgumentRule()); } EOF ; -// Rule Parameter -ruleParameter +// Rule TypedArgument +ruleTypedArgument @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getParameterAccess().getGroup()); } - (rule__Parameter__Group__0) - { after(grammarAccess.getParameterAccess().getGroup()); } + { before(grammarAccess.getTypedArgumentAccess().getGroup()); } + (rule__TypedArgument__Group__0) + { after(grammarAccess.getTypedArgumentAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRulePatternBody -entryRulePatternBody +// Entry rule entryRuleTypedStarArgument +entryRuleTypedStarArgument : -{ before(grammarAccess.getPatternBodyRule()); } - rulePatternBody -{ after(grammarAccess.getPatternBodyRule()); } +{ before(grammarAccess.getTypedStarArgumentRule()); } + ruleTypedStarArgument +{ after(grammarAccess.getTypedStarArgumentRule()); } EOF ; -// Rule PatternBody -rulePatternBody +// Rule TypedStarArgument +ruleTypedStarArgument @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPatternBodyAccess().getGroup()); } - (rule__PatternBody__Group__0) - { after(grammarAccess.getPatternBodyAccess().getGroup()); } + { before(grammarAccess.getTypedStarArgumentAccess().getGroup()); } + (rule__TypedStarArgument__Group__0) + { after(grammarAccess.getTypedStarArgumentAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRulePolarity -entryRulePolarity +// Entry rule entryRuleReference +entryRuleReference : -{ before(grammarAccess.getPolarityRule()); } - rulePolarity -{ after(grammarAccess.getPolarityRule()); } +{ before(grammarAccess.getReferenceRule()); } + ruleReference +{ after(grammarAccess.getReferenceRule()); } EOF ; -// Rule Polarity -rulePolarity +// Rule Reference +ruleReference @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPolarityAccess().getAlternatives()); } - (rule__Polarity__Alternatives) - { after(grammarAccess.getPolarityAccess().getAlternatives()); } + { before(grammarAccess.getReferenceAccess().getReferredAssignment()); } + (rule__Reference__ReferredAssignment) + { after(grammarAccess.getReferenceAccess().getReferredAssignment()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleConstraint -entryRuleConstraint +// Entry rule entryRuleInterval +entryRuleInterval : -{ before(grammarAccess.getConstraintRule()); } - ruleConstraint -{ after(grammarAccess.getConstraintRule()); } +{ before(grammarAccess.getIntervalRule()); } + ruleInterval +{ after(grammarAccess.getIntervalRule()); } EOF ; -// Rule Constraint -ruleConstraint +// Rule Interval +ruleInterval @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getAlternatives()); } - (rule__Constraint__Alternatives) - { after(grammarAccess.getConstraintAccess().getAlternatives()); } + { before(grammarAccess.getIntervalAccess().getGroup()); } + (rule__Interval__Group__0) + { after(grammarAccess.getIntervalAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleClosureType -entryRuleClosureType +// Entry rule entryRuleLiteral +entryRuleLiteral : -{ before(grammarAccess.getClosureTypeRule()); } - ruleClosureType -{ after(grammarAccess.getClosureTypeRule()); } +{ before(grammarAccess.getLiteralRule()); } + ruleLiteral +{ after(grammarAccess.getLiteralRule()); } EOF ; -// Rule ClosureType -ruleClosureType +// Rule Literal +ruleLiteral @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClosureTypeAccess().getAlternatives()); } - (rule__ClosureType__Alternatives) - { after(grammarAccess.getClosureTypeAccess().getAlternatives()); } + { before(grammarAccess.getLiteralAccess().getAlternatives()); } + (rule__Literal__Alternatives) + { after(grammarAccess.getLiteralAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleLiteral -entryRuleLiteral +// Entry rule entryRuleLogicLiteral +entryRuleLogicLiteral : -{ before(grammarAccess.getLiteralRule()); } - ruleLiteral -{ after(grammarAccess.getLiteralRule()); } +{ before(grammarAccess.getLogicLiteralRule()); } + ruleLogicLiteral +{ after(grammarAccess.getLogicLiteralRule()); } EOF ; -// Rule Literal -ruleLiteral +// Rule LogicLiteral +ruleLogicLiteral @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getLiteralAccess().getAlternatives()); } - (rule__Literal__Alternatives) - { after(grammarAccess.getLiteralAccess().getAlternatives()); } + { before(grammarAccess.getLogicLiteralAccess().getValueAssignment()); } + (rule__LogicLiteral__ValueAssignment) + { after(grammarAccess.getLogicLiteralAccess().getValueAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleNumericLiteral +entryRuleNumericLiteral +: +{ before(grammarAccess.getNumericLiteralRule()); } + ruleNumericLiteral +{ after(grammarAccess.getNumericLiteralRule()); } + EOF +; + +// Rule NumericLiteral +ruleNumericLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getNumericLiteralAccess().getValueAssignment()); } + (rule__NumericLiteral__ValueAssignment) + { after(grammarAccess.getNumericLiteralAccess().getValueAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleInfinityLiteral +entryRuleInfinityLiteral +: +{ before(grammarAccess.getInfinityLiteralRule()); } + ruleInfinityLiteral +{ after(grammarAccess.getInfinityLiteralRule()); } + EOF +; + +// Rule InfinityLiteral +ruleInfinityLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getInfinityLiteralAccess().getGroup()); } + (rule__InfinityLiteral__Group__0) + { after(grammarAccess.getInfinityLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleEmptyIntervalLiteral +entryRuleEmptyIntervalLiteral +: +{ before(grammarAccess.getEmptyIntervalLiteralRule()); } + ruleEmptyIntervalLiteral +{ after(grammarAccess.getEmptyIntervalLiteralRule()); } + EOF +; + +// Rule EmptyIntervalLiteral +ruleEmptyIntervalLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getEmptyIntervalLiteralAccess().getGroup()); } + (rule__EmptyIntervalLiteral__Group__0) + { after(grammarAccess.getEmptyIntervalLiteralAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleStringLiteral +entryRuleStringLiteral +: +{ before(grammarAccess.getStringLiteralRule()); } + ruleStringLiteral +{ after(grammarAccess.getStringLiteralRule()); } + EOF +; + +// Rule StringLiteral +ruleStringLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getStringLiteralAccess().getValueAssignment()); } + (rule__StringLiteral__ValueAssignment) + { after(grammarAccess.getStringLiteralAccess().getValueAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleClassDefinition +entryRuleClassDefinition +: +{ before(grammarAccess.getClassDefinitionRule()); } + ruleClassDefinition +{ after(grammarAccess.getClassDefinitionRule()); } + EOF +; + +// Rule ClassDefinition +ruleClassDefinition + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getClassDefinitionAccess().getGroup()); } + (rule__ClassDefinition__Group__0) + { after(grammarAccess.getClassDefinitionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleMemberDefinition +entryRuleMemberDefinition +: +{ before(grammarAccess.getMemberDefinitionRule()); } + ruleMemberDefinition +{ after(grammarAccess.getMemberDefinitionRule()); } + EOF +; + +// Rule MemberDefinition +ruleMemberDefinition + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getMemberDefinitionAccess().getGroup()); } + (rule__MemberDefinition__Group__0) + { after(grammarAccess.getMemberDefinitionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleMultiplicity +entryRuleMultiplicity +: +{ before(grammarAccess.getMultiplicityRule()); } + ruleMultiplicity +{ after(grammarAccess.getMultiplicityRule()); } + EOF +; + +// Rule Multiplicity +ruleMultiplicity + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getMultiplicityAccess().getAlternatives()); } + (rule__Multiplicity__Alternatives) + { after(grammarAccess.getMultiplicityAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleManyMultiplicity +entryRuleManyMultiplicity +: +{ before(grammarAccess.getManyMultiplicityRule()); } + ruleManyMultiplicity +{ after(grammarAccess.getManyMultiplicityRule()); } + EOF +; + +// Rule ManyMultiplicity +ruleManyMultiplicity + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getManyMultiplicityAccess().getGroup()); } + (rule__ManyMultiplicity__Group__0) + { after(grammarAccess.getManyMultiplicityAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleExactMultiplicity +entryRuleExactMultiplicity +: +{ before(grammarAccess.getExactMultiplicityRule()); } + ruleExactMultiplicity +{ after(grammarAccess.getExactMultiplicityRule()); } + EOF +; + +// Rule ExactMultiplicity +ruleExactMultiplicity + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getExactMultiplicityAccess().getGroup()); } + (rule__ExactMultiplicity__Group__0) + { after(grammarAccess.getExactMultiplicityAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleBoundedMultiplicity +entryRuleBoundedMultiplicity +: +{ before(grammarAccess.getBoundedMultiplicityRule()); } + ruleBoundedMultiplicity +{ after(grammarAccess.getBoundedMultiplicityRule()); } + EOF +; + +// Rule BoundedMultiplicity +ruleBoundedMultiplicity + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getBoundedMultiplicityAccess().getGroup()); } + (rule__BoundedMultiplicity__Group__0) + { after(grammarAccess.getBoundedMultiplicityAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleVariable -entryRuleVariable +// Entry rule entryRuleScopeDefinition +entryRuleScopeDefinition : -{ before(grammarAccess.getVariableRule()); } - ruleVariable -{ after(grammarAccess.getVariableRule()); } +{ before(grammarAccess.getScopeDefinitionRule()); } + ruleScopeDefinition +{ after(grammarAccess.getScopeDefinitionRule()); } EOF ; -// Rule Variable -ruleVariable +// Rule ScopeDefinition +ruleScopeDefinition @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getVariableAccess().getNameAssignment()); } - (rule__Variable__NameAssignment) - { after(grammarAccess.getVariableAccess().getNameAssignment()); } + { before(grammarAccess.getScopeDefinitionAccess().getAlternatives()); } + (rule__ScopeDefinition__Alternatives) + { after(grammarAccess.getScopeDefinitionAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleAllInstances -entryRuleAllInstances +// Entry rule entryRuleExactScopeDefinition +entryRuleExactScopeDefinition : -{ before(grammarAccess.getAllInstancesRule()); } - ruleAllInstances -{ after(grammarAccess.getAllInstancesRule()); } +{ before(grammarAccess.getExactScopeDefinitionRule()); } + ruleExactScopeDefinition +{ after(grammarAccess.getExactScopeDefinitionRule()); } EOF ; -// Rule AllInstances -ruleAllInstances +// Rule ExactScopeDefinition +ruleExactScopeDefinition @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAllInstancesAccess().getGroup()); } - (rule__AllInstances__Group__0) - { after(grammarAccess.getAllInstancesAccess().getGroup()); } + { before(grammarAccess.getExactScopeDefinitionAccess().getGroup()); } + (rule__ExactScopeDefinition__Group__0) + { after(grammarAccess.getExactScopeDefinitionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleAllObjects -entryRuleAllObjects +// Entry rule entryRuleBoundedScopeDefinition +entryRuleBoundedScopeDefinition : -{ before(grammarAccess.getAllObjectsRule()); } - ruleAllObjects -{ after(grammarAccess.getAllObjectsRule()); } +{ before(grammarAccess.getBoundedScopeDefinitionRule()); } + ruleBoundedScopeDefinition +{ after(grammarAccess.getBoundedScopeDefinitionRule()); } EOF ; -// Rule AllObjects -ruleAllObjects +// Rule BoundedScopeDefinition +ruleBoundedScopeDefinition @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAllObjectsAccess().getGroup()); } - (rule__AllObjects__Group__0) - { after(grammarAccess.getAllObjectsAccess().getGroup()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup()); } + (rule__BoundedScopeDefinition__Group__0) + { after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleDefaultInterpretation -entryRuleDefaultInterpretation +// Entry rule entryRuleLowerBoundedScopeDefinition +entryRuleLowerBoundedScopeDefinition : -{ before(grammarAccess.getDefaultInterpretationRule()); } - ruleDefaultInterpretation -{ after(grammarAccess.getDefaultInterpretationRule()); } +{ before(grammarAccess.getLowerBoundedScopeDefinitionRule()); } + ruleLowerBoundedScopeDefinition +{ after(grammarAccess.getLowerBoundedScopeDefinitionRule()); } EOF ; -// Rule DefaultInterpretation -ruleDefaultInterpretation +// Rule LowerBoundedScopeDefinition +ruleLowerBoundedScopeDefinition @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getDefaultInterpretationAccess().getGroup()); } - (rule__DefaultInterpretation__Group__0) - { after(grammarAccess.getDefaultInterpretationAccess().getGroup()); } + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup()); } + (rule__LowerBoundedScopeDefinition__Group__0) + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleCDInterpretation -entryRuleCDInterpretation +// Entry rule entryRuleObjectiveDefinition +entryRuleObjectiveDefinition : -{ before(grammarAccess.getCDInterpretationRule()); } - ruleCDInterpretation -{ after(grammarAccess.getCDInterpretationRule()); } +{ before(grammarAccess.getObjectiveDefinitionRule()); } + ruleObjectiveDefinition +{ after(grammarAccess.getObjectiveDefinitionRule()); } EOF ; -// Rule CDInterpretation -ruleCDInterpretation +// Rule ObjectiveDefinition +ruleObjectiveDefinition @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCDInterpretationAccess().getAlternatives()); } - (rule__CDInterpretation__Alternatives) - { after(grammarAccess.getCDInterpretationAccess().getAlternatives()); } + { before(grammarAccess.getObjectiveDefinitionAccess().getGroup()); } + (rule__ObjectiveDefinition__Group__0) + { after(grammarAccess.getObjectiveDefinitionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleClassInterpretation -entryRuleClassInterpretation +// Entry rule entryRuleUpperMultiplicty +entryRuleUpperMultiplicty : -{ before(grammarAccess.getClassInterpretationRule()); } - ruleClassInterpretation -{ after(grammarAccess.getClassInterpretationRule()); } +{ before(grammarAccess.getUpperMultiplictyRule()); } + ruleUpperMultiplicty +{ after(grammarAccess.getUpperMultiplictyRule()); } EOF ; -// Rule ClassInterpretation -ruleClassInterpretation +// Rule UpperMultiplicty +ruleUpperMultiplicty @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClassInterpretationAccess().getGroup()); } - (rule__ClassInterpretation__Group__0) - { after(grammarAccess.getClassInterpretationAccess().getGroup()); } + { before(grammarAccess.getUpperMultiplictyAccess().getAlternatives()); } + (rule__UpperMultiplicty__Alternatives) + { after(grammarAccess.getUpperMultiplictyAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleEnumInterpretation -entryRuleEnumInterpretation +// Entry rule entryRuleReal +entryRuleReal +@init { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +} : -{ before(grammarAccess.getEnumInterpretationRule()); } - ruleEnumInterpretation -{ after(grammarAccess.getEnumInterpretationRule()); } +{ before(grammarAccess.getRealRule()); } + ruleReal +{ after(grammarAccess.getRealRule()); } EOF ; +finally { + myHiddenTokenState.restore(); +} -// Rule EnumInterpretation -ruleEnumInterpretation +// Rule Real +ruleReal @init { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getEnumInterpretationAccess().getGroup()); } - (rule__EnumInterpretation__Group__0) - { after(grammarAccess.getEnumInterpretationAccess().getGroup()); } + { before(grammarAccess.getRealAccess().getGroup()); } + (rule__Real__Group__0) + { after(grammarAccess.getRealAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); + myHiddenTokenState.restore(); } -// Entry rule entryRuleFieldRelationInterpretation -entryRuleFieldRelationInterpretation +// Entry rule entryRuleQualifiedName +entryRuleQualifiedName +@init { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +} : -{ before(grammarAccess.getFieldRelationInterpretationRule()); } - ruleFieldRelationInterpretation -{ after(grammarAccess.getFieldRelationInterpretationRule()); } +{ before(grammarAccess.getQualifiedNameRule()); } + ruleQualifiedName +{ after(grammarAccess.getQualifiedNameRule()); } EOF ; +finally { + myHiddenTokenState.restore(); +} + +// Rule QualifiedName +ruleQualifiedName + @init { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getQualifiedNameAccess().getAlternatives()); } + (rule__QualifiedName__Alternatives) + { after(grammarAccess.getQualifiedNameAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); + myHiddenTokenState.restore(); +} + +// Rule MetricType +ruleMetricType + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMetricTypeAccess().getAlternatives()); } + (rule__MetricType__Alternatives) + { after(grammarAccess.getMetricTypeAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Rule ComparisonOperator +ruleComparisonOperator + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComparisonOperatorAccess().getAlternatives()); } + (rule__ComparisonOperator__Alternatives) + { after(grammarAccess.getComparisonOperatorAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Rule AdditiveBinaryOperator +ruleAdditiveBinaryOperator + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAdditiveBinaryOperatorAccess().getAlternatives()); } + (rule__AdditiveBinaryOperator__Alternatives) + { after(grammarAccess.getAdditiveBinaryOperatorAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Rule MultiplicativeBinaryOperator +ruleMultiplicativeBinaryOperator + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getAlternatives()); } + (rule__MultiplicativeBinaryOperator__Alternatives) + { after(grammarAccess.getMultiplicativeBinaryOperatorAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Rule ExponentialOp +ruleExponentialOp + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration()); } + ('^') + { after(grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Rule UnaryOp +ruleUnaryOp + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnaryOpAccess().getAlternatives()); } + (rule__UnaryOp__Alternatives) + { after(grammarAccess.getUnaryOpAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Rule AggregationOp +ruleAggregationOp + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAggregationOpAccess().getAlternatives()); } + (rule__AggregationOp__Alternatives) + { after(grammarAccess.getAggregationOpAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Rule LogicValue +ruleLogicValue + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLogicValueAccess().getAlternatives()); } + (rule__LogicValue__Alternatives) + { after(grammarAccess.getLogicValueAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Rule ObjectiveKind +ruleObjectiveKind + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getObjectiveKindAccess().getAlternatives()); } + (rule__ObjectiveKind__Alternatives) + { after(grammarAccess.getObjectiveKindAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Statement__Alternatives_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); } + ruleAssertionOrDefinition + { after(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1()); } + rulePredicateDefinition + { after(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2()); } + ruleUnnamedErrorPrediateDefinition + { after(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3()); } + ruleDefaultDefinition + { after(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); } + ruleExternPredicateDefinition + { after(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); } + ruleMetricDefinition + { after(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6()); } + ruleExternMetricDefinition + { after(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); } + ruleClassDefinition + { after(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); } + ruleScopeDefinition + { after(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); } + ruleObjectiveDefinition + { after(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0()); } + (rule__AssertionOrDefinition__Group_1_0__0) + { after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_1()); } + (rule__AssertionOrDefinition__Group_1_1__0) + { after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_1()); } + ) + | + ( + { before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_2()); } + (rule__AssertionOrDefinition__Group_1_2__0) + { after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PredicateDefinition__Alternatives_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0()); } + (rule__PredicateDefinition__Group_0_0__0) + { after(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0()); } + ) + | + ( + { before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_1()); } + (rule__PredicateDefinition__Group_0_1__0) + { after(grammarAccess.getPredicateDefinitionAccess().getGroup_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Expression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); } + ruleIfElse + { after(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); } + ruleDisjunctiveExpression + { after(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0()); } + (rule__DisjunctiveExpression__Group_1_0__0) + { after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1()); } + (rule__DisjunctiveExpression__Group_1_1__0) + { after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); } + ruleAggregationExpression + { after(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getUnaryExpressionAccess().getGroup_1()); } + (rule__UnaryExpression__Group_1__0) + { after(grammarAccess.getUnaryExpressionAccess().getGroup_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AggregationExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); } + ruleAtomicExpression + { after(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); } + ruleCount + { after(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); } + ruleAggregation + { after(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAtomicExpressionAccess().getGroup_0()); } + (rule__AtomicExpression__Group_0__0) + { after(grammarAccess.getAtomicExpressionAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_1()); } + ruleInterval + { after(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_2()); } + ruleLiteral + { after(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getAtomicExpressionAccess().getGroup_3()); } + (rule__AtomicExpression__Group_3__0) + { after(grammarAccess.getAtomicExpressionAccess().getGroup_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Call__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCallAccess().getTransitiveClosureAssignment_1_0()); } + (rule__Call__TransitiveClosureAssignment_1_0) + { after(grammarAccess.getCallAccess().getTransitiveClosureAssignment_1_0()); } + ) + | + ( + { before(grammarAccess.getCallAccess().getReflexiveTransitiveClosureAssignment_1_1()); } + (rule__Call__ReflexiveTransitiveClosureAssignment_1_1) + { after(grammarAccess.getCallAccess().getReflexiveTransitiveClosureAssignment_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Argument__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); } + ruleExpressionArgument + { after(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); } + ruleStarArgument + { after(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); } + ruleTypedArgument + { after(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); } + ruleTypedStarArgument + { after(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Literal__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); } + ruleLogicLiteral + { after(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); } + ruleNumericLiteral + { after(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); } + ruleInfinityLiteral + { after(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); } + ruleEmptyIntervalLiteral + { after(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); } + ruleStringLiteral + { after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Multiplicity__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); } + ruleManyMultiplicity + { after(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); } + ruleExactMultiplicity + { after(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); } + ruleBoundedMultiplicity + { after(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ScopeDefinition__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); } + ruleExactScopeDefinition + { after(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); } + ruleBoundedScopeDefinition + { after(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); } + ruleLowerBoundedScopeDefinition + { after(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__BoundedScopeDefinition__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0()); } + (rule__BoundedScopeDefinition__Group_1_0__0) + { after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1()); } + (rule__BoundedScopeDefinition__Group_1_1__0) + { after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LowerBoundedScopeDefinition__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_0()); } + (rule__LowerBoundedScopeDefinition__Group_1_0__0) + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_1()); } + (rule__LowerBoundedScopeDefinition__Group_1_1__0) + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UpperMultiplicty__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0()); } + RULE_INT + { after(grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1()); } + '*' + { after(grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedName__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQualifiedNameAccess().getGroup_0()); } + (rule__QualifiedName__Group_0__0) + { after(grammarAccess.getQualifiedNameAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1()); } + RULE_QUOTED_ID + { after(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MetricType__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); } + ('int') + { after(grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); } + ) + | + ( + { before(grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1()); } + ('real') + { after(grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComparisonOperator__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); } + ('==') + { after(grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); } + ) + | + ( + { before(grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); } + ('!=') + { after(grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); } + ) + | + ( + { before(grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2()); } + ('<') + { after(grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2()); } + ) + | + ( + { before(grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); } + ('<=') + { after(grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); } + ) + | + ( + { before(grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4()); } + ('>') + { after(grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4()); } + ) + | + ( + { before(grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); } + ('>=') + { after(grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); } + ) + | + ( + { before(grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6()); } + ('in') + { after(grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveBinaryOperator__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); } + ('+') + { after(grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); } + ) + | + ( + { before(grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); } + ('-') + { after(grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeBinaryOperator__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); } + ('*') + { after(grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); } + ) + | + ( + { before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); } + ('/') + { after(grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryOp__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); } + ('!') + { after(grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); } + ) + | + ( + { before(grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); } + ('+') + { after(grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); } + ) + | + ( + { before(grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); } + ('-') + { after(grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); } + ) + | + ( + { before(grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3()); } + ('may') + { after(grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3()); } + ) + | + ( + { before(grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4()); } + ('must') + { after(grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4()); } + ) + | + ( + { before(grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5()); } + ('current') + { after(grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AggregationOp__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); } + ('only') + { after(grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); } + ) + | + ( + { before(grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); } + ('sum') + { after(grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); } + ) + | + ( + { before(grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2()); } + ('prod') + { after(grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2()); } + ) + | + ( + { before(grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); } + ('avg') + { after(grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); } + ) + | + ( + { before(grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); } + ('min') + { after(grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); } + ) + | + ( + { before(grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); } + ('max') + { after(grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LogicValue__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); } + ('true') + { after(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); } + ) + | + ( + { before(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); } + ('false') + { after(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); } + ) + | + ( + { before(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); } + ('unknown') + { after(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); } + ) + | + ( + { before(grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3()); } + ('error') + { after(grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObjectiveKind__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); } + ('minimize') + { after(grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); } + ) + | + ( + { before(grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); } + ('maximize') + { after(grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Statement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Statement__Group__0__Impl + rule__Statement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Statement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStatementAccess().getAlternatives_0()); } + (rule__Statement__Alternatives_0) + { after(grammarAccess.getStatementAccess().getAlternatives_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Statement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Statement__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Statement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStatementAccess().getDOTTerminalRuleCall_1()); } + RULE_DOT + { after(grammarAccess.getStatementAccess().getDOTTerminalRuleCall_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AssertionOrDefinition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AssertionOrDefinition__Group__0__Impl + rule__AssertionOrDefinition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); } + ruleExpression + { after(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AssertionOrDefinition__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1()); } + (rule__AssertionOrDefinition__Alternatives_1) + { after(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AssertionOrDefinition__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AssertionOrDefinition__Group_1_0__0__Impl + rule__AssertionOrDefinition__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0()); } + () + { after(grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AssertionOrDefinition__Group_1_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0_1()); } + (rule__AssertionOrDefinition__Group_1_0_1__0)? + { after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AssertionOrDefinition__Group_1_0_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AssertionOrDefinition__Group_1_0_1__0__Impl + rule__AssertionOrDefinition__Group_1_0_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group_1_0_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); } + ':' + { after(grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group_1_0_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AssertionOrDefinition__Group_1_0_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group_1_0_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_1_1()); } + (rule__AssertionOrDefinition__RangeAssignment_1_0_1_1) + { after(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AssertionOrDefinition__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AssertionOrDefinition__Group_1_1__0__Impl + rule__AssertionOrDefinition__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0()); } + () + { after(grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AssertionOrDefinition__Group_1_1__1__Impl + rule__AssertionOrDefinition__Group_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); } + ':-' + { after(grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AssertionOrDefinition__Group_1_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_1_2()); } + (rule__AssertionOrDefinition__BodyAssignment_1_1_2) + { after(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AssertionOrDefinition__Group_1_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AssertionOrDefinition__Group_1_2__0__Impl + rule__AssertionOrDefinition__Group_1_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group_1_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0()); } + () + { after(grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group_1_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AssertionOrDefinition__Group_1_2__1__Impl + rule__AssertionOrDefinition__Group_1_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group_1_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); } + '=' + { after(grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group_1_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AssertionOrDefinition__Group_1_2__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AssertionOrDefinition__Group_1_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_2_2()); } + (rule__AssertionOrDefinition__BodyAssignment_1_2_2) + { after(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PredicateDefinition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PredicateDefinition__Group__0__Impl + rule__PredicateDefinition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PredicateDefinition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0()); } + (rule__PredicateDefinition__Alternatives_0) + { after(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PredicateDefinition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PredicateDefinition__Group__1__Impl + rule__PredicateDefinition__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__PredicateDefinition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPredicateDefinitionAccess().getHeadAssignment_1()); } + (rule__PredicateDefinition__HeadAssignment_1) + { after(grammarAccess.getPredicateDefinitionAccess().getHeadAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PredicateDefinition__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__PredicateDefinition__Group__2__Impl + rule__PredicateDefinition__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__PredicateDefinition__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); } + ':-' + { after(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PredicateDefinition__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__PredicateDefinition__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PredicateDefinition__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPredicateDefinitionAccess().getBodyAssignment_3()); } + (rule__PredicateDefinition__BodyAssignment_3) + { after(grammarAccess.getPredicateDefinitionAccess().getBodyAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PredicateDefinition__Group_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PredicateDefinition__Group_0_0__0__Impl + rule__PredicateDefinition__Group_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PredicateDefinition__Group_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_0_0()); } + (rule__PredicateDefinition__FunctionalAssignment_0_0_0) + { after(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PredicateDefinition__Group_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PredicateDefinition__Group_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PredicateDefinition__Group_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_1()); } + (rule__PredicateDefinition__ErrorAssignment_0_0_1)? + { after(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PredicateDefinition__Group_0_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PredicateDefinition__Group_0_1__0__Impl + rule__PredicateDefinition__Group_0_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PredicateDefinition__Group_0_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_1_0()); } + (rule__PredicateDefinition__ErrorAssignment_0_1_0) + { after(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PredicateDefinition__Group_0_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PredicateDefinition__Group_0_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PredicateDefinition__Group_0_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_1_1()); } + (rule__PredicateDefinition__FunctionalAssignment_0_1_1)? + { after(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnnamedErrorPrediateDefinition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnnamedErrorPrediateDefinition__Group__0__Impl + rule__UnnamedErrorPrediateDefinition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnnamedErrorPrediateDefinition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); } + 'error' + { after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnnamedErrorPrediateDefinition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnnamedErrorPrediateDefinition__Group__1__Impl + rule__UnnamedErrorPrediateDefinition__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnnamedErrorPrediateDefinition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListAssignment_1()); } + (rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1) + { after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnnamedErrorPrediateDefinition__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnnamedErrorPrediateDefinition__Group__2__Impl + rule__UnnamedErrorPrediateDefinition__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnnamedErrorPrediateDefinition__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); } + ':-' + { after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnnamedErrorPrediateDefinition__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnnamedErrorPrediateDefinition__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnnamedErrorPrediateDefinition__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyAssignment_3()); } + (rule__UnnamedErrorPrediateDefinition__BodyAssignment_3) + { after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__DefaultDefinition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__DefaultDefinition__Group__0__Impl + rule__DefaultDefinition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__DefaultDefinition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); } + 'default' + { after(grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DefaultDefinition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__DefaultDefinition__Group__1__Impl + rule__DefaultDefinition__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__DefaultDefinition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDefaultDefinitionAccess().getHeadAssignment_1()); } + (rule__DefaultDefinition__HeadAssignment_1) + { after(grammarAccess.getDefaultDefinitionAccess().getHeadAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DefaultDefinition__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__DefaultDefinition__Group__2__Impl + rule__DefaultDefinition__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__DefaultDefinition__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); } + ':' + { after(grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DefaultDefinition__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__DefaultDefinition__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__DefaultDefinition__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDefaultDefinitionAccess().getRangeAssignment_3()); } + (rule__DefaultDefinition__RangeAssignment_3) + { after(grammarAccess.getDefaultDefinitionAccess().getRangeAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ExternPredicateDefinition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExternPredicateDefinition__Group__0__Impl + rule__ExternPredicateDefinition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExternPredicateDefinition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); } + 'extern' + { after(grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExternPredicateDefinition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExternPredicateDefinition__Group__1__Impl + rule__ExternPredicateDefinition__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExternPredicateDefinition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExternPredicateDefinitionAccess().getHeadAssignment_1()); } + (rule__ExternPredicateDefinition__HeadAssignment_1) + { after(grammarAccess.getExternPredicateDefinitionAccess().getHeadAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExternPredicateDefinition__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExternPredicateDefinition__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ExternPredicateDefinition__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExternPredicateDefinitionAccess().getFullStopKeyword_2()); } + '.' + { after(grammarAccess.getExternPredicateDefinitionAccess().getFullStopKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__MetricDefinition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__MetricDefinition__Group__0__Impl + rule__MetricDefinition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__MetricDefinition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0()); } + (rule__MetricDefinition__TypeAssignment_0) + { after(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MetricDefinition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__MetricDefinition__Group__1__Impl + rule__MetricDefinition__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__MetricDefinition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1()); } + (rule__MetricDefinition__HeadAssignment_1) + { after(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MetricDefinition__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__MetricDefinition__Group__2__Impl + rule__MetricDefinition__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__MetricDefinition__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); } + '=' + { after(grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MetricDefinition__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__MetricDefinition__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__MetricDefinition__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3()); } + (rule__MetricDefinition__BodyAssignment_3) + { after(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ExternMetricDefinition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExternMetricDefinition__Group__0__Impl + rule__ExternMetricDefinition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExternMetricDefinition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); } + 'extern' + { after(grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExternMetricDefinition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExternMetricDefinition__Group__1__Impl + rule__ExternMetricDefinition__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExternMetricDefinition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExternMetricDefinitionAccess().getTypeAssignment_1()); } + (rule__ExternMetricDefinition__TypeAssignment_1) + { after(grammarAccess.getExternMetricDefinitionAccess().getTypeAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExternMetricDefinition__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExternMetricDefinition__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ExternMetricDefinition__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExternMetricDefinitionAccess().getHeadAssignment_2()); } + (rule__ExternMetricDefinition__HeadAssignment_2) + { after(grammarAccess.getExternMetricDefinitionAccess().getHeadAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfElse__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfElse__Group__0__Impl + rule__IfElse__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElse__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfElseAccess().getIfKeyword_0()); } + 'if' + { after(grammarAccess.getIfElseAccess().getIfKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElse__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfElse__Group__1__Impl + rule__IfElse__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElse__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfElseAccess().getConditionAssignment_1()); } + (rule__IfElse__ConditionAssignment_1) + { after(grammarAccess.getIfElseAccess().getConditionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElse__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfElse__Group__2__Impl + rule__IfElse__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElse__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfElseAccess().getThenKeyword_2()); } + 'then' + { after(grammarAccess.getIfElseAccess().getThenKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElse__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfElse__Group__3__Impl + rule__IfElse__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElse__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfElseAccess().getThenAssignment_3()); } + (rule__IfElse__ThenAssignment_3) + { after(grammarAccess.getIfElseAccess().getThenAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElse__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfElse__Group__4__Impl + rule__IfElse__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElse__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfElseAccess().getElseKeyword_4()); } + 'else' + { after(grammarAccess.getIfElseAccess().getElseKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElse__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfElse__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElse__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIfElseAccess().getElseAssignment_5()); } + (rule__IfElse__ElseAssignment_5) + { after(grammarAccess.getIfElseAccess().getElseAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__DisjunctiveExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__DisjunctiveExpression__Group__0__Impl + rule__DisjunctiveExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); } + ruleConjunctiveExpression + { after(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__DisjunctiveExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDisjunctiveExpressionAccess().getAlternatives_1()); } + (rule__DisjunctiveExpression__Alternatives_1)? + { after(grammarAccess.getDisjunctiveExpressionAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__DisjunctiveExpression__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__DisjunctiveExpression__Group_1_0__0__Impl + rule__DisjunctiveExpression__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0()); } + () + { after(grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__DisjunctiveExpression__Group_1_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + ( + { before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1()); } + (rule__DisjunctiveExpression__Group_1_0_1__0) + { after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1()); } + ) + ( + { before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1()); } + (rule__DisjunctiveExpression__Group_1_0_1__0)* + { after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1()); } + ) +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__DisjunctiveExpression__Group_1_0_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__DisjunctiveExpression__Group_1_0_1__0__Impl + rule__DisjunctiveExpression__Group_1_0_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_0_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); } + ';' + { after(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_0_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__DisjunctiveExpression__Group_1_0_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_0_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDisjunctiveExpressionAccess().getChildrenAssignment_1_0_1_1()); } + (rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1) + { after(grammarAccess.getDisjunctiveExpressionAccess().getChildrenAssignment_1_0_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__DisjunctiveExpression__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__DisjunctiveExpression__Group_1_1__0__Impl + rule__DisjunctiveExpression__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0()); } + () + { after(grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__DisjunctiveExpression__Group_1_1__1__Impl + rule__DisjunctiveExpression__Group_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); } + '->' + { after(grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__DisjunctiveExpression__Group_1_1__2__Impl + rule__DisjunctiveExpression__Group_1_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDisjunctiveExpressionAccess().getBodyAssignment_1_1_2()); } + (rule__DisjunctiveExpression__BodyAssignment_1_1_2) + { after(grammarAccess.getDisjunctiveExpressionAccess().getBodyAssignment_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__DisjunctiveExpression__Group_1_1__3__Impl + rule__DisjunctiveExpression__Group_1_1__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3()); } + () + { after(grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_1__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__DisjunctiveExpression__Group_1_1__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_1__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1_4()); } + (rule__DisjunctiveExpression__Group_1_1_4__0)* + { after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__DisjunctiveExpression__Group_1_1_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__DisjunctiveExpression__Group_1_1_4__0__Impl + rule__DisjunctiveExpression__Group_1_1_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_1_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); } + ';' + { after(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_1_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__DisjunctiveExpression__Group_1_1_4__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__DisjunctiveExpression__Group_1_1_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDisjunctiveExpressionAccess().getCasesAssignment_1_1_4_1()); } + (rule__DisjunctiveExpression__CasesAssignment_1_1_4_1) + { after(grammarAccess.getDisjunctiveExpressionAccess().getCasesAssignment_1_1_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Case__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Case__Group__0__Impl + rule__Case__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseAccess().getConditionAssignment_0()); } + (rule__Case__ConditionAssignment_0) + { after(grammarAccess.getCaseAccess().getConditionAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Case__Group__1__Impl + rule__Case__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); } + '->' + { after(grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Case__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Case__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseAccess().getBodyAssignment_2()); } + (rule__Case__BodyAssignment_2) + { after(grammarAccess.getCaseAccess().getBodyAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ConjunctiveExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConjunctiveExpression__Group__0__Impl + rule__ConjunctiveExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConjunctiveExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); } + ruleComparisonExpression + { after(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConjunctiveExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConjunctiveExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ConjunctiveExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1()); } + (rule__ConjunctiveExpression__Group_1__0)? + { after(grammarAccess.getConjunctiveExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ConjunctiveExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConjunctiveExpression__Group_1__0__Impl + rule__ConjunctiveExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConjunctiveExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0()); } + () + { after(grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConjunctiveExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConjunctiveExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ConjunctiveExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + ( + { before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1()); } + (rule__ConjunctiveExpression__Group_1_1__0) + { after(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1()); } + ) + ( + { before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1()); } + (rule__ConjunctiveExpression__Group_1_1__0)* + { after(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1()); } + ) +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ConjunctiveExpression__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConjunctiveExpression__Group_1_1__0__Impl + rule__ConjunctiveExpression__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConjunctiveExpression__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); } + ',' + { after(grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConjunctiveExpression__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConjunctiveExpression__Group_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ConjunctiveExpression__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConjunctiveExpressionAccess().getChildrenAssignment_1_1_1()); } + (rule__ConjunctiveExpression__ChildrenAssignment_1_1_1) + { after(grammarAccess.getConjunctiveExpressionAccess().getChildrenAssignment_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComparisonExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComparisonExpression__Group__0__Impl + rule__ComparisonExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComparisonExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } + ruleAdditiveExpression + { after(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComparisonExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComparisonExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComparisonExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonExpressionAccess().getGroup_1()); } + (rule__ComparisonExpression__Group_1__0)? + { after(grammarAccess.getComparisonExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComparisonExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComparisonExpression__Group_1__0__Impl + rule__ComparisonExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComparisonExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0()); } + () + { after(grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComparisonExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComparisonExpression__Group_1__1__Impl + rule__ComparisonExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComparisonExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonExpressionAccess().getOpAssignment_1_1()); } + (rule__ComparisonExpression__OpAssignment_1_1) + { after(grammarAccess.getComparisonExpressionAccess().getOpAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComparisonExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComparisonExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComparisonExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonExpressionAccess().getRightAssignment_1_2()); } + (rule__ComparisonExpression__RightAssignment_1_2) + { after(grammarAccess.getComparisonExpressionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AdditiveExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group__0__Impl + rule__AdditiveExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } + ruleMultiplicativeExpression + { after(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } + (rule__AdditiveExpression__Group_1__0)* + { after(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AdditiveExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group_1__0__Impl + rule__AdditiveExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0()); } + () + { after(grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group_1__1__Impl + rule__AdditiveExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getOpAssignment_1_1()); } + (rule__AdditiveExpression__OpAssignment_1_1) + { after(grammarAccess.getAdditiveExpressionAccess().getOpAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AdditiveExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AdditiveExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditiveExpressionAccess().getRightAssignment_1_2()); } + (rule__AdditiveExpression__RightAssignment_1_2) + { after(grammarAccess.getAdditiveExpressionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__MultiplicativeExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group__0__Impl + rule__MultiplicativeExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); } + ruleExponentialExpression + { after(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } + (rule__MultiplicativeExpression__Group_1__0)* + { after(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__MultiplicativeExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group_1__0__Impl + rule__MultiplicativeExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0()); } + () + { after(grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group_1__1__Impl + rule__MultiplicativeExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getOpAssignment_1_1()); } + (rule__MultiplicativeExpression__OpAssignment_1_1) + { after(grammarAccess.getMultiplicativeExpressionAccess().getOpAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplicativeExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplicativeExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicativeExpressionAccess().getRightAssignment_1_2()); } + (rule__MultiplicativeExpression__RightAssignment_1_2) + { after(grammarAccess.getMultiplicativeExpressionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ExponentialExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExponentialExpression__Group__0__Impl + rule__ExponentialExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExponentialExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); } + ruleUnaryExpression + { after(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExponentialExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExponentialExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} -// Rule FieldRelationInterpretation -ruleFieldRelationInterpretation +rule__ExponentialExpression__Group__1__Impl @init { int stackSize = keepStackSize(); } - : - ( - { before(grammarAccess.getFieldRelationInterpretationAccess().getGroup()); } - (rule__FieldRelationInterpretation__Group__0) - { after(grammarAccess.getFieldRelationInterpretationAccess().getGroup()); } - ) +: +( + { before(grammarAccess.getExponentialExpressionAccess().getGroup_1()); } + (rule__ExponentialExpression__Group_1__0)? + { after(grammarAccess.getExponentialExpressionAccess().getGroup_1()); } +) ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleGlobalRelationInterpretation -entryRuleGlobalRelationInterpretation -: -{ before(grammarAccess.getGlobalRelationInterpretationRule()); } - ruleGlobalRelationInterpretation -{ after(grammarAccess.getGlobalRelationInterpretationRule()); } - EOF -; -// Rule GlobalRelationInterpretation -ruleGlobalRelationInterpretation +rule__ExponentialExpression__Group_1__0 @init { int stackSize = keepStackSize(); } - : - ( - { before(grammarAccess.getGlobalRelationInterpretationAccess().getGroup()); } - (rule__GlobalRelationInterpretation__Group__0) - { after(grammarAccess.getGlobalRelationInterpretationAccess().getGroup()); } - ) +: + rule__ExponentialExpression__Group_1__0__Impl + rule__ExponentialExpression__Group_1__1 ; finally { restoreStackSize(stackSize); } -// Entry rule entryRuleMultiplicityDefinition -entryRuleMultiplicityDefinition -: -{ before(grammarAccess.getMultiplicityDefinitionRule()); } - ruleMultiplicityDefinition -{ after(grammarAccess.getMultiplicityDefinitionRule()); } - EOF -; - -// Rule MultiplicityDefinition -ruleMultiplicityDefinition +rule__ExponentialExpression__Group_1__0__Impl @init { int stackSize = keepStackSize(); } - : - ( - { before(grammarAccess.getMultiplicityDefinitionAccess().getGroup()); } - (rule__MultiplicityDefinition__Group__0) - { after(grammarAccess.getMultiplicityDefinitionAccess().getGroup()); } - ) +: +( + { before(grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0()); } + () + { after(grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0()); } +) ; finally { restoreStackSize(stackSize); } -rule__Statement__Alternatives +rule__ExponentialExpression__Group_1__1 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getStatementAccess().getInterpretationParserRuleCall_0()); } - ruleInterpretation - { after(grammarAccess.getStatementAccess().getInterpretationParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getStatementAccess().getPredicateParserRuleCall_1()); } - rulePredicate - { after(grammarAccess.getStatementAccess().getPredicateParserRuleCall_1()); } - ) + rule__ExponentialExpression__Group_1__1__Impl + rule__ExponentialExpression__Group_1__2 ; finally { restoreStackSize(stackSize); } -rule__BooleanValue__Alternatives +rule__ExponentialExpression__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getBooleanValueAccess().getGroup_0()); } - (rule__BooleanValue__Group_0__0) - { after(grammarAccess.getBooleanValueAccess().getGroup_0()); } - ) - | - ( - { before(grammarAccess.getBooleanValueAccess().getGroup_1()); } - (rule__BooleanValue__Group_1__0) - { after(grammarAccess.getBooleanValueAccess().getGroup_1()); } - ) +( + { before(grammarAccess.getExponentialExpressionAccess().getOpAssignment_1_1()); } + (rule__ExponentialExpression__OpAssignment_1_1) + { after(grammarAccess.getExponentialExpressionAccess().getOpAssignment_1_1()); } +) ; finally { restoreStackSize(stackSize); } -rule__TruthValue__Alternatives +rule__ExponentialExpression__Group_1__2 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getTruthValueAccess().getGroup_0()); } - (rule__TruthValue__Group_0__0) - { after(grammarAccess.getTruthValueAccess().getGroup_0()); } - ) - | - ( - { before(grammarAccess.getTruthValueAccess().getGroup_1()); } - (rule__TruthValue__Group_1__0) - { after(grammarAccess.getTruthValueAccess().getGroup_1()); } - ) - | - ( - { before(grammarAccess.getTruthValueAccess().getGroup_2()); } - (rule__TruthValue__Group_2__0) - { after(grammarAccess.getTruthValueAccess().getGroup_2()); } - ) - | - ( - { before(grammarAccess.getTruthValueAccess().getGroup_3()); } - (rule__TruthValue__Group_3__0) - { after(grammarAccess.getTruthValueAccess().getGroup_3()); } - ) + rule__ExponentialExpression__Group_1__2__Impl ; finally { restoreStackSize(stackSize); } -rule__Interpretation__Alternatives +rule__ExponentialExpression__Group_1__2__Impl @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getInterpretationAccess().getBasicInterpretationParserRuleCall_0()); } - ruleBasicInterpretation - { after(grammarAccess.getInterpretationAccess().getBasicInterpretationParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getInterpretationAccess().getDefaultInterpretationParserRuleCall_1()); } - ruleDefaultInterpretation - { after(grammarAccess.getInterpretationAccess().getDefaultInterpretationParserRuleCall_1()); } - ) - | - ( - { before(grammarAccess.getInterpretationAccess().getCDInterpretationParserRuleCall_2()); } - ruleCDInterpretation - { after(grammarAccess.getInterpretationAccess().getCDInterpretationParserRuleCall_2()); } - ) +( + { before(grammarAccess.getExponentialExpressionAccess().getRightAssignment_1_2()); } + (rule__ExponentialExpression__RightAssignment_1_2) + { after(grammarAccess.getExponentialExpressionAccess().getRightAssignment_1_2()); } +) ; finally { restoreStackSize(stackSize); } -rule__Symbol__Alternatives + +rule__UnaryExpression__Group_1__0 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0()); } - ruleModelSymbol - { after(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1()); } - rulePartialitySymbol - { after(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1()); } - ) - | - ( - { before(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2()); } - ruleDataSymbol - { after(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2()); } - ) + rule__UnaryExpression__Group_1__0__Impl + rule__UnaryExpression__Group_1__1 ; finally { restoreStackSize(stackSize); } -rule__PartialitySymbol__Alternatives +rule__UnaryExpression__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0()); } - ruleExistSymbol - { after(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1()); } - ruleEqualsSymbol - { after(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1()); } - ) +( + { before(grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0()); } + () + { after(grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0()); } +) ; finally { restoreStackSize(stackSize); } -rule__DataSymbol__Alternatives +rule__UnaryExpression__Group_1__1 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0()); } - ruleBooleanSymbol - { after(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1()); } - ruleIntegerSymbol - { after(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1()); } - ) - | - ( - { before(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2()); } - ruleRealSymbol - { after(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2()); } - ) - | - ( - { before(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3()); } - ruleStringSymbol - { after(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3()); } - ) + rule__UnaryExpression__Group_1__1__Impl + rule__UnaryExpression__Group_1__2 ; finally { restoreStackSize(stackSize); } -rule__ComplexObject__Alternatives +rule__UnaryExpression__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0()); } - ruleObject - { after(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1()); } - ruleAllInstances - { after(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1()); } - ) - | - ( - { before(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2()); } - ruleAllObjects - { after(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2()); } - ) +( + { before(grammarAccess.getUnaryExpressionAccess().getOpAssignment_1_1()); } + (rule__UnaryExpression__OpAssignment_1_1) + { after(grammarAccess.getUnaryExpressionAccess().getOpAssignment_1_1()); } +) ; finally { restoreStackSize(stackSize); } -rule__Object__Alternatives +rule__UnaryExpression__Group_1__2 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0()); } - ruleNamedObject - { after(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1()); } - ruleUnnamedObject - { after(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1()); } - ) - | - ( - { before(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2()); } - ruleDataObject - { after(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2()); } - ) + rule__UnaryExpression__Group_1__2__Impl ; finally { restoreStackSize(stackSize); } -rule__DataObject__Alternatives +rule__UnaryExpression__Group_1__2__Impl @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0()); } - ruleBooleanObject - { after(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1()); } - ruleIntObject - { after(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1()); } - ) - | - ( - { before(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2()); } - ruleRealObject - { after(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2()); } - ) - | - ( - { before(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3()); } - ruleStringObject - { after(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3()); } - ) +( + { before(grammarAccess.getUnaryExpressionAccess().getBodyAssignment_1_2()); } + (rule__UnaryExpression__BodyAssignment_1_2) + { after(grammarAccess.getUnaryExpressionAccess().getBodyAssignment_1_2()); } +) ; finally { restoreStackSize(stackSize); } -rule__Predicate__Alternatives_4 + +rule__Count__Group__0 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getPredicateAccess().getFalseKeyword_4_0()); } - 'false' - { after(grammarAccess.getPredicateAccess().getFalseKeyword_4_0()); } - ) - | - ( - { before(grammarAccess.getPredicateAccess().getGroup_4_1()); } - (rule__Predicate__Group_4_1__0) - { after(grammarAccess.getPredicateAccess().getGroup_4_1()); } - ) + rule__Count__Group__0__Impl + rule__Count__Group__1 ; finally { restoreStackSize(stackSize); } -rule__PatternBody__Alternatives_1 +rule__Count__Group__0__Impl @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); } - 'true' - { after(grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); } - ) - | - ( - { before(grammarAccess.getPatternBodyAccess().getConstraintsAssignment_1_1()); } - (rule__PatternBody__ConstraintsAssignment_1_1)* - { after(grammarAccess.getPatternBodyAccess().getConstraintsAssignment_1_1()); } - ) +( + { before(grammarAccess.getCountAccess().getCountKeyword_0()); } + 'count' + { after(grammarAccess.getCountAccess().getCountKeyword_0()); } +) ; finally { restoreStackSize(stackSize); } -rule__Polarity__Alternatives +rule__Count__Group__1 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getPolarityAccess().getGroup_0()); } - (rule__Polarity__Group_0__0) - { after(grammarAccess.getPolarityAccess().getGroup_0()); } - ) - | - ( - { before(grammarAccess.getPolarityAccess().getGroup_1()); } - (rule__Polarity__Group_1__0) - { after(grammarAccess.getPolarityAccess().getGroup_1()); } - ) + rule__Count__Group__1__Impl + rule__Count__Group__2 ; finally { restoreStackSize(stackSize); } -rule__Constraint__Alternatives +rule__Count__Group__1__Impl @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getConstraintAccess().getGroup_0()); } - (rule__Constraint__Group_0__0) - { after(grammarAccess.getConstraintAccess().getGroup_0()); } - ) - | - ( - { before(grammarAccess.getConstraintAccess().getGroup_1()); } - (rule__Constraint__Group_1__0) - { after(grammarAccess.getConstraintAccess().getGroup_1()); } - ) +( + { before(grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); } + '{' + { after(grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); } +) ; finally { restoreStackSize(stackSize); } -rule__ClosureType__Alternatives +rule__Count__Group__2 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getClosureTypeAccess().getGroup_0()); } - (rule__ClosureType__Group_0__0) - { after(grammarAccess.getClosureTypeAccess().getGroup_0()); } - ) - | - ( - { before(grammarAccess.getClosureTypeAccess().getGroup_1()); } - (rule__ClosureType__Group_1__0) - { after(grammarAccess.getClosureTypeAccess().getGroup_1()); } - ) + rule__Count__Group__2__Impl + rule__Count__Group__3 ; finally { restoreStackSize(stackSize); } -rule__Literal__Alternatives +rule__Count__Group__2__Impl @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0()); } - ruleVariable - { after(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1()); } - ruleDataObject - { after(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1()); } - ) - | - ( - { before(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2()); } - ruleNamedObject - { after(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2()); } - ) +( + { before(grammarAccess.getCountAccess().getBodyAssignment_2()); } + (rule__Count__BodyAssignment_2) + { after(grammarAccess.getCountAccess().getBodyAssignment_2()); } +) ; finally { restoreStackSize(stackSize); } -rule__CDInterpretation__Alternatives +rule__Count__Group__3 @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0()); } - ruleClassInterpretation - { after(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0()); } - ) - | - ( - { before(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1()); } - ruleEnumInterpretation - { after(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1()); } - ) - | - ( - { before(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2()); } - ruleGlobalRelationInterpretation - { after(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2()); } - ) + rule__Count__Group__3__Impl ; finally { restoreStackSize(stackSize); } -rule__MultiplicityDefinition__Alternatives_2 +rule__Count__Group__3__Impl @init { int stackSize = keepStackSize(); } : - ( - { before(grammarAccess.getMultiplicityDefinitionAccess().getUpperAssignment_2_0()); } - (rule__MultiplicityDefinition__UpperAssignment_2_0) - { after(grammarAccess.getMultiplicityDefinitionAccess().getUpperAssignment_2_0()); } - ) - | - ( - { before(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAssignment_2_1()); } - (rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1) - { after(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAssignment_2_1()); } - ) +( + { before(grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); } + '}' + { after(grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); } +) ; finally { restoreStackSize(stackSize); } -rule__REALLiteral__Group__0 + +rule__Aggregation__Group__0 @init { int stackSize = keepStackSize(); } : - rule__REALLiteral__Group__0__Impl - rule__REALLiteral__Group__1 + rule__Aggregation__Group__0__Impl + rule__Aggregation__Group__1 ; finally { restoreStackSize(stackSize); } -rule__REALLiteral__Group__0__Impl +rule__Aggregation__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getREALLiteralAccess().getHyphenMinusKeyword_0()); } - ('-')? - { after(grammarAccess.getREALLiteralAccess().getHyphenMinusKeyword_0()); } + { before(grammarAccess.getAggregationAccess().getOpAssignment_0()); } + (rule__Aggregation__OpAssignment_0) + { after(grammarAccess.getAggregationAccess().getOpAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__REALLiteral__Group__1 +rule__Aggregation__Group__1 @init { int stackSize = keepStackSize(); } : - rule__REALLiteral__Group__1__Impl - rule__REALLiteral__Group__2 + rule__Aggregation__Group__1__Impl + rule__Aggregation__Group__2 ; finally { restoreStackSize(stackSize); } -rule__REALLiteral__Group__1__Impl +rule__Aggregation__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_1()); } - RULE_INT - { after(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_1()); } + { before(grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); } + '{' + { after(grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__REALLiteral__Group__2 +rule__Aggregation__Group__2 @init { int stackSize = keepStackSize(); } : - rule__REALLiteral__Group__2__Impl - rule__REALLiteral__Group__3 + rule__Aggregation__Group__2__Impl + rule__Aggregation__Group__3 ; finally { restoreStackSize(stackSize); } -rule__REALLiteral__Group__2__Impl +rule__Aggregation__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getREALLiteralAccess().getFullStopKeyword_2()); } - '.' - { after(grammarAccess.getREALLiteralAccess().getFullStopKeyword_2()); } + { before(grammarAccess.getAggregationAccess().getBodyAssignment_2()); } + (rule__Aggregation__BodyAssignment_2) + { after(grammarAccess.getAggregationAccess().getBodyAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__REALLiteral__Group__3 +rule__Aggregation__Group__3 @init { int stackSize = keepStackSize(); } : - rule__REALLiteral__Group__3__Impl + rule__Aggregation__Group__3__Impl + rule__Aggregation__Group__4 ; finally { restoreStackSize(stackSize); } -rule__REALLiteral__Group__3__Impl +rule__Aggregation__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_3()); } - RULE_INT - { after(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_3()); } + { before(grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); } + '|' + { after(grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); } ) ; finally { restoreStackSize(stackSize); } - -rule__INTLiteral__Group__0 +rule__Aggregation__Group__4 @init { int stackSize = keepStackSize(); } : - rule__INTLiteral__Group__0__Impl - rule__INTLiteral__Group__1 + rule__Aggregation__Group__4__Impl + rule__Aggregation__Group__5 ; finally { restoreStackSize(stackSize); } -rule__INTLiteral__Group__0__Impl +rule__Aggregation__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getINTLiteralAccess().getHyphenMinusKeyword_0()); } - ('-')? - { after(grammarAccess.getINTLiteralAccess().getHyphenMinusKeyword_0()); } + { before(grammarAccess.getAggregationAccess().getConditionAssignment_4()); } + (rule__Aggregation__ConditionAssignment_4) + { after(grammarAccess.getAggregationAccess().getConditionAssignment_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__INTLiteral__Group__1 +rule__Aggregation__Group__5 @init { int stackSize = keepStackSize(); } : - rule__INTLiteral__Group__1__Impl + rule__Aggregation__Group__5__Impl ; finally { restoreStackSize(stackSize); } -rule__INTLiteral__Group__1__Impl +rule__Aggregation__Group__5__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getINTLiteralAccess().getINTTerminalRuleCall_1()); } - RULE_INT - { after(grammarAccess.getINTLiteralAccess().getINTTerminalRuleCall_1()); } + { before(grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); } + '}' + { after(grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); } ) ; finally { @@ -1761,53 +4980,53 @@ finally { } -rule__BooleanValue__Group_0__0 +rule__AtomicExpression__Group_0__0 @init { int stackSize = keepStackSize(); } : - rule__BooleanValue__Group_0__0__Impl - rule__BooleanValue__Group_0__1 + rule__AtomicExpression__Group_0__0__Impl + rule__AtomicExpression__Group_0__1 ; finally { restoreStackSize(stackSize); } -rule__BooleanValue__Group_0__0__Impl +rule__AtomicExpression__Group_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBooleanValueAccess().getBooleanTrueAction_0_0()); } - () - { after(grammarAccess.getBooleanValueAccess().getBooleanTrueAction_0_0()); } + { before(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0_0()); } + ruleReference + { after(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__BooleanValue__Group_0__1 +rule__AtomicExpression__Group_0__1 @init { int stackSize = keepStackSize(); } : - rule__BooleanValue__Group_0__1__Impl + rule__AtomicExpression__Group_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__BooleanValue__Group_0__1__Impl +rule__AtomicExpression__Group_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBooleanValueAccess().getTrueKeyword_0_1()); } - 'true' - { after(grammarAccess.getBooleanValueAccess().getTrueKeyword_0_1()); } + { before(grammarAccess.getAtomicExpressionAccess().getGroup_0_1()); } + (rule__AtomicExpression__Group_0_1__0)? + { after(grammarAccess.getAtomicExpressionAccess().getGroup_0_1()); } ) ; finally { @@ -1815,53 +5034,53 @@ finally { } -rule__BooleanValue__Group_1__0 +rule__AtomicExpression__Group_0_1__0 @init { int stackSize = keepStackSize(); } : - rule__BooleanValue__Group_1__0__Impl - rule__BooleanValue__Group_1__1 + rule__AtomicExpression__Group_0_1__0__Impl + rule__AtomicExpression__Group_0_1__1 ; finally { restoreStackSize(stackSize); } -rule__BooleanValue__Group_1__0__Impl +rule__AtomicExpression__Group_0_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBooleanValueAccess().getFalseKeyword_1_0()); } - 'false' - { after(grammarAccess.getBooleanValueAccess().getFalseKeyword_1_0()); } + { before(grammarAccess.getAtomicExpressionAccess().getCallFunctorAction_0_1_0()); } + () + { after(grammarAccess.getAtomicExpressionAccess().getCallFunctorAction_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__BooleanValue__Group_1__1 +rule__AtomicExpression__Group_0_1__1 @init { int stackSize = keepStackSize(); } : - rule__BooleanValue__Group_1__1__Impl + rule__AtomicExpression__Group_0_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__BooleanValue__Group_1__1__Impl +rule__AtomicExpression__Group_0_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBooleanValueAccess().getBooleanFalseAction_1_1()); } - () - { after(grammarAccess.getBooleanValueAccess().getBooleanFalseAction_1_1()); } + { before(grammarAccess.getAtomicExpressionAccess().getArgumentListAssignment_0_1_1()); } + (rule__AtomicExpression__ArgumentListAssignment_0_1_1) + { after(grammarAccess.getAtomicExpressionAccess().getArgumentListAssignment_0_1_1()); } ) ; finally { @@ -1869,161 +5088,161 @@ finally { } -rule__TruthValue__Group_0__0 +rule__AtomicExpression__Group_3__0 @init { int stackSize = keepStackSize(); } : - rule__TruthValue__Group_0__0__Impl - rule__TruthValue__Group_0__1 + rule__AtomicExpression__Group_3__0__Impl + rule__AtomicExpression__Group_3__1 ; finally { restoreStackSize(stackSize); } -rule__TruthValue__Group_0__0__Impl +rule__AtomicExpression__Group_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTruthValueAccess().getTrueAction_0_0()); } - () - { after(grammarAccess.getTruthValueAccess().getTrueAction_0_0()); } + { before(grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0()); } + '(' + { after(grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__TruthValue__Group_0__1 +rule__AtomicExpression__Group_3__1 @init { int stackSize = keepStackSize(); } : - rule__TruthValue__Group_0__1__Impl + rule__AtomicExpression__Group_3__1__Impl + rule__AtomicExpression__Group_3__2 ; finally { restoreStackSize(stackSize); } -rule__TruthValue__Group_0__1__Impl +rule__AtomicExpression__Group_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTruthValueAccess().getTrueKeyword_0_1()); } - 'true' - { after(grammarAccess.getTruthValueAccess().getTrueKeyword_0_1()); } + { before(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_3_1()); } + ruleExpression + { after(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_3_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__TruthValue__Group_1__0 +rule__AtomicExpression__Group_3__2 @init { int stackSize = keepStackSize(); } : - rule__TruthValue__Group_1__0__Impl - rule__TruthValue__Group_1__1 + rule__AtomicExpression__Group_3__2__Impl ; finally { restoreStackSize(stackSize); } -rule__TruthValue__Group_1__0__Impl +rule__AtomicExpression__Group_3__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTruthValueAccess().getFalseAction_1_0()); } - () - { after(grammarAccess.getTruthValueAccess().getFalseAction_1_0()); } + { before(grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_3_2()); } + ')' + { after(grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_3_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__TruthValue__Group_1__1 + +rule__Call__Group__0 @init { int stackSize = keepStackSize(); } : - rule__TruthValue__Group_1__1__Impl + rule__Call__Group__0__Impl + rule__Call__Group__1 ; finally { restoreStackSize(stackSize); } -rule__TruthValue__Group_1__1__Impl +rule__Call__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTruthValueAccess().getFalseKeyword_1_1()); } - 'false' - { after(grammarAccess.getTruthValueAccess().getFalseKeyword_1_1()); } + { before(grammarAccess.getCallAccess().getFunctorAssignment_0()); } + (rule__Call__FunctorAssignment_0) + { after(grammarAccess.getCallAccess().getFunctorAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__TruthValue__Group_2__0 +rule__Call__Group__1 @init { int stackSize = keepStackSize(); } : - rule__TruthValue__Group_2__0__Impl - rule__TruthValue__Group_2__1 + rule__Call__Group__1__Impl + rule__Call__Group__2 ; finally { restoreStackSize(stackSize); } -rule__TruthValue__Group_2__0__Impl +rule__Call__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTruthValueAccess().getUnknownAction_2_0()); } - () - { after(grammarAccess.getTruthValueAccess().getUnknownAction_2_0()); } + { before(grammarAccess.getCallAccess().getAlternatives_1()); } + (rule__Call__Alternatives_1)? + { after(grammarAccess.getCallAccess().getAlternatives_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__TruthValue__Group_2__1 +rule__Call__Group__2 @init { int stackSize = keepStackSize(); } : - rule__TruthValue__Group_2__1__Impl + rule__Call__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__TruthValue__Group_2__1__Impl +rule__Call__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTruthValueAccess().getUnknownKeyword_2_1()); } - 'unknown' - { after(grammarAccess.getTruthValueAccess().getUnknownKeyword_2_1()); } + { before(grammarAccess.getCallAccess().getArgumentListAssignment_2()); } + (rule__Call__ArgumentListAssignment_2) + { after(grammarAccess.getCallAccess().getArgumentListAssignment_2()); } ) ; finally { @@ -2031,161 +5250,161 @@ finally { } -rule__TruthValue__Group_3__0 +rule__ArgumentList__Group__0 @init { int stackSize = keepStackSize(); } : - rule__TruthValue__Group_3__0__Impl - rule__TruthValue__Group_3__1 + rule__ArgumentList__Group__0__Impl + rule__ArgumentList__Group__1 ; finally { restoreStackSize(stackSize); } -rule__TruthValue__Group_3__0__Impl +rule__ArgumentList__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTruthValueAccess().getErrorAction_3_0()); } + { before(grammarAccess.getArgumentListAccess().getArgumentListAction_0()); } () - { after(grammarAccess.getTruthValueAccess().getErrorAction_3_0()); } + { after(grammarAccess.getArgumentListAccess().getArgumentListAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__TruthValue__Group_3__1 +rule__ArgumentList__Group__1 @init { int stackSize = keepStackSize(); } : - rule__TruthValue__Group_3__1__Impl + rule__ArgumentList__Group__1__Impl + rule__ArgumentList__Group__2 ; finally { restoreStackSize(stackSize); } -rule__TruthValue__Group_3__1__Impl +rule__ArgumentList__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTruthValueAccess().getErrorKeyword_3_1()); } - 'error' - { after(grammarAccess.getTruthValueAccess().getErrorKeyword_3_1()); } + { before(grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__BasicInterpretation__Group__0 +rule__ArgumentList__Group__2 @init { int stackSize = keepStackSize(); } : - rule__BasicInterpretation__Group__0__Impl - rule__BasicInterpretation__Group__1 + rule__ArgumentList__Group__2__Impl + rule__ArgumentList__Group__3 ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group__0__Impl +rule__ArgumentList__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBasicInterpretationAccess().getSymbolAssignment_0()); } - (rule__BasicInterpretation__SymbolAssignment_0) - { after(grammarAccess.getBasicInterpretationAccess().getSymbolAssignment_0()); } + { before(grammarAccess.getArgumentListAccess().getGroup_2()); } + (rule__ArgumentList__Group_2__0)? + { after(grammarAccess.getArgumentListAccess().getGroup_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group__1 +rule__ArgumentList__Group__3 @init { int stackSize = keepStackSize(); } : - rule__BasicInterpretation__Group__1__Impl - rule__BasicInterpretation__Group__2 + rule__ArgumentList__Group__3__Impl ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group__1__Impl +rule__ArgumentList__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBasicInterpretationAccess().getGroup_1()); } - (rule__BasicInterpretation__Group_1__0)? - { after(grammarAccess.getBasicInterpretationAccess().getGroup_1()); } + { before(grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3()); } + ')' + { after(grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group__2 + +rule__ArgumentList__Group_2__0 @init { int stackSize = keepStackSize(); } : - rule__BasicInterpretation__Group__2__Impl - rule__BasicInterpretation__Group__3 + rule__ArgumentList__Group_2__0__Impl + rule__ArgumentList__Group_2__1 ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group__2__Impl +rule__ArgumentList__Group_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBasicInterpretationAccess().getColonKeyword_2()); } - ':' - { after(grammarAccess.getBasicInterpretationAccess().getColonKeyword_2()); } + { before(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_0()); } + (rule__ArgumentList__ArgumentsAssignment_2_0) + { after(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group__3 +rule__ArgumentList__Group_2__1 @init { int stackSize = keepStackSize(); } : - rule__BasicInterpretation__Group__3__Impl + rule__ArgumentList__Group_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group__3__Impl +rule__ArgumentList__Group_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBasicInterpretationAccess().getValueAssignment_3()); } - (rule__BasicInterpretation__ValueAssignment_3) - { after(grammarAccess.getBasicInterpretationAccess().getValueAssignment_3()); } + { before(grammarAccess.getArgumentListAccess().getGroup_2_1()); } + (rule__ArgumentList__Group_2_1__0)* + { after(grammarAccess.getArgumentListAccess().getGroup_2_1()); } ) ; finally { @@ -2193,350 +5412,350 @@ finally { } -rule__BasicInterpretation__Group_1__0 +rule__ArgumentList__Group_2_1__0 @init { int stackSize = keepStackSize(); } : - rule__BasicInterpretation__Group_1__0__Impl - rule__BasicInterpretation__Group_1__1 + rule__ArgumentList__Group_2_1__0__Impl + rule__ArgumentList__Group_2_1__1 ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group_1__0__Impl +rule__ArgumentList__Group_2_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()); } - '(' - { after(grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()); } + { before(grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); } + ',' + { after(grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group_1__1 +rule__ArgumentList__Group_2_1__1 @init { int stackSize = keepStackSize(); } : - rule__BasicInterpretation__Group_1__1__Impl - rule__BasicInterpretation__Group_1__2 + rule__ArgumentList__Group_2_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group_1__1__Impl +rule__ArgumentList__Group_2_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBasicInterpretationAccess().getGroup_1_1()); } - (rule__BasicInterpretation__Group_1_1__0)? - { after(grammarAccess.getBasicInterpretationAccess().getGroup_1_1()); } + { before(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_1_1()); } + (rule__ArgumentList__ArgumentsAssignment_2_1_1) + { after(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group_1__2 + +rule__StarArgument__Group__0 @init { int stackSize = keepStackSize(); } : - rule__BasicInterpretation__Group_1__2__Impl + rule__StarArgument__Group__0__Impl + rule__StarArgument__Group__1 ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group_1__2__Impl +rule__StarArgument__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2()); } - ')' - { after(grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2()); } + { before(grammarAccess.getStarArgumentAccess().getStarArgumentAction_0()); } + () + { after(grammarAccess.getStarArgumentAccess().getStarArgumentAction_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__BasicInterpretation__Group_1_1__0 +rule__StarArgument__Group__1 @init { int stackSize = keepStackSize(); } : - rule__BasicInterpretation__Group_1_1__0__Impl - rule__BasicInterpretation__Group_1_1__1 + rule__StarArgument__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group_1_1__0__Impl +rule__StarArgument__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_0()); } - (rule__BasicInterpretation__ObjectsAssignment_1_1_0) - { after(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_0()); } + { before(grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1()); } + '*' + { after(grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group_1_1__1 + +rule__TypedArgument__Group__0 @init { int stackSize = keepStackSize(); } : - rule__BasicInterpretation__Group_1_1__1__Impl + rule__TypedArgument__Group__0__Impl + rule__TypedArgument__Group__1 ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group_1_1__1__Impl +rule__TypedArgument__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBasicInterpretationAccess().getGroup_1_1_1()); } - (rule__BasicInterpretation__Group_1_1_1__0)* - { after(grammarAccess.getBasicInterpretationAccess().getGroup_1_1_1()); } + { before(grammarAccess.getTypedArgumentAccess().getTypeAssignment_0()); } + (rule__TypedArgument__TypeAssignment_0) + { after(grammarAccess.getTypedArgumentAccess().getTypeAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__BasicInterpretation__Group_1_1_1__0 +rule__TypedArgument__Group__1 @init { int stackSize = keepStackSize(); } : - rule__BasicInterpretation__Group_1_1_1__0__Impl - rule__BasicInterpretation__Group_1_1_1__1 + rule__TypedArgument__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group_1_1_1__0__Impl +rule__TypedArgument__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0()); } - ',' - { after(grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0()); } + { before(grammarAccess.getTypedArgumentAccess().getVariableAssignment_1()); } + (rule__TypedArgument__VariableAssignment_1) + { after(grammarAccess.getTypedArgumentAccess().getVariableAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group_1_1_1__1 + +rule__TypedStarArgument__Group__0 @init { int stackSize = keepStackSize(); } : - rule__BasicInterpretation__Group_1_1_1__1__Impl + rule__TypedStarArgument__Group__0__Impl + rule__TypedStarArgument__Group__1 ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__Group_1_1_1__1__Impl +rule__TypedStarArgument__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_1_1()); } - (rule__BasicInterpretation__ObjectsAssignment_1_1_1_1) - { after(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_1_1()); } + { before(grammarAccess.getTypedStarArgumentAccess().getTypeAssignment_0()); } + (rule__TypedStarArgument__TypeAssignment_0) + { after(grammarAccess.getTypedStarArgumentAccess().getTypeAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ExistSymbol__Group__0 +rule__TypedStarArgument__Group__1 @init { int stackSize = keepStackSize(); } : - rule__ExistSymbol__Group__0__Impl - rule__ExistSymbol__Group__1 + rule__TypedStarArgument__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ExistSymbol__Group__0__Impl +rule__TypedStarArgument__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExistSymbolAccess().getExistsKeyword_0()); } - 'exists' - { after(grammarAccess.getExistSymbolAccess().getExistsKeyword_0()); } + { before(grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1()); } + '*' + { after(grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ExistSymbol__Group__1 + +rule__Interval__Group__0 @init { int stackSize = keepStackSize(); } : - rule__ExistSymbol__Group__1__Impl + rule__Interval__Group__0__Impl + rule__Interval__Group__1 ; finally { restoreStackSize(stackSize); } -rule__ExistSymbol__Group__1__Impl +rule__Interval__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getExistSymbolAccess().getExistSymbolAction_1()); } - () - { after(grammarAccess.getExistSymbolAccess().getExistSymbolAction_1()); } + { before(grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); } + '[' + { after(grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__EqualsSymbol__Group__0 +rule__Interval__Group__1 @init { int stackSize = keepStackSize(); } : - rule__EqualsSymbol__Group__0__Impl - rule__EqualsSymbol__Group__1 + rule__Interval__Group__1__Impl + rule__Interval__Group__2 ; finally { restoreStackSize(stackSize); } -rule__EqualsSymbol__Group__0__Impl +rule__Interval__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0()); } - 'equals' - { after(grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0()); } + { before(grammarAccess.getIntervalAccess().getLowerBoundAssignment_1()); } + (rule__Interval__LowerBoundAssignment_1) + { after(grammarAccess.getIntervalAccess().getLowerBoundAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__EqualsSymbol__Group__1 +rule__Interval__Group__2 @init { int stackSize = keepStackSize(); } : - rule__EqualsSymbol__Group__1__Impl + rule__Interval__Group__2__Impl + rule__Interval__Group__3 ; finally { restoreStackSize(stackSize); } -rule__EqualsSymbol__Group__1__Impl +rule__Interval__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getEqualsSymbolAccess().getEqualsSymbolAction_1()); } - () - { after(grammarAccess.getEqualsSymbolAccess().getEqualsSymbolAction_1()); } + { before(grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); } + '..' + { after(grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } - -rule__BooleanSymbol__Group__0 +rule__Interval__Group__3 @init { int stackSize = keepStackSize(); } : - rule__BooleanSymbol__Group__0__Impl - rule__BooleanSymbol__Group__1 + rule__Interval__Group__3__Impl + rule__Interval__Group__4 ; finally { restoreStackSize(stackSize); } -rule__BooleanSymbol__Group__0__Impl +rule__Interval__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0()); } - 'bool' - { after(grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0()); } + { before(grammarAccess.getIntervalAccess().getUpperBoundAssignment_3()); } + (rule__Interval__UpperBoundAssignment_3) + { after(grammarAccess.getIntervalAccess().getUpperBoundAssignment_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__BooleanSymbol__Group__1 +rule__Interval__Group__4 @init { int stackSize = keepStackSize(); } : - rule__BooleanSymbol__Group__1__Impl + rule__Interval__Group__4__Impl ; finally { restoreStackSize(stackSize); } -rule__BooleanSymbol__Group__1__Impl +rule__Interval__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBooleanSymbolAccess().getBooleanSymbolAction_1()); } - () - { after(grammarAccess.getBooleanSymbolAccess().getBooleanSymbolAction_1()); } + { before(grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4()); } + ']' + { after(grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4()); } ) ; finally { @@ -2544,53 +5763,53 @@ finally { } -rule__IntegerSymbol__Group__0 +rule__InfinityLiteral__Group__0 @init { int stackSize = keepStackSize(); } : - rule__IntegerSymbol__Group__0__Impl - rule__IntegerSymbol__Group__1 + rule__InfinityLiteral__Group__0__Impl + rule__InfinityLiteral__Group__1 ; finally { restoreStackSize(stackSize); } -rule__IntegerSymbol__Group__0__Impl +rule__InfinityLiteral__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIntegerSymbolAccess().getIntKeyword_0()); } - 'int' - { after(grammarAccess.getIntegerSymbolAccess().getIntKeyword_0()); } + { before(grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0()); } + () + { after(grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IntegerSymbol__Group__1 +rule__InfinityLiteral__Group__1 @init { int stackSize = keepStackSize(); } : - rule__IntegerSymbol__Group__1__Impl + rule__InfinityLiteral__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__IntegerSymbol__Group__1__Impl +rule__InfinityLiteral__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIntegerSymbolAccess().getIntegerSymbolAction_1()); } - () - { after(grammarAccess.getIntegerSymbolAccess().getIntegerSymbolAction_1()); } + { before(grammarAccess.getInfinityLiteralAccess().getInfKeyword_1()); } + 'inf' + { after(grammarAccess.getInfinityLiteralAccess().getInfKeyword_1()); } ) ; finally { @@ -2598,53 +5817,53 @@ finally { } -rule__RealSymbol__Group__0 +rule__EmptyIntervalLiteral__Group__0 @init { int stackSize = keepStackSize(); } : - rule__RealSymbol__Group__0__Impl - rule__RealSymbol__Group__1 + rule__EmptyIntervalLiteral__Group__0__Impl + rule__EmptyIntervalLiteral__Group__1 ; finally { restoreStackSize(stackSize); } -rule__RealSymbol__Group__0__Impl +rule__EmptyIntervalLiteral__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRealSymbolAccess().getRealKeyword_0()); } - 'real' - { after(grammarAccess.getRealSymbolAccess().getRealKeyword_0()); } + { before(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0()); } + () + { after(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RealSymbol__Group__1 +rule__EmptyIntervalLiteral__Group__1 @init { int stackSize = keepStackSize(); } : - rule__RealSymbol__Group__1__Impl + rule__EmptyIntervalLiteral__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__RealSymbol__Group__1__Impl +rule__EmptyIntervalLiteral__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRealSymbolAccess().getRealSymbolAction_1()); } - () - { after(grammarAccess.getRealSymbolAccess().getRealSymbolAction_1()); } + { before(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); } + 'empty' + { after(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); } ) ; finally { @@ -2652,485 +5871,485 @@ finally { } -rule__StringSymbol__Group__0 +rule__ClassDefinition__Group__0 @init { int stackSize = keepStackSize(); } : - rule__StringSymbol__Group__0__Impl - rule__StringSymbol__Group__1 + rule__ClassDefinition__Group__0__Impl + rule__ClassDefinition__Group__1 ; finally { restoreStackSize(stackSize); } -rule__StringSymbol__Group__0__Impl +rule__ClassDefinition__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getStringSymbolAccess().getStringKeyword_0()); } - 'string' - { after(grammarAccess.getStringSymbolAccess().getStringKeyword_0()); } + { before(grammarAccess.getClassDefinitionAccess().getAbstractAssignment_0()); } + (rule__ClassDefinition__AbstractAssignment_0)? + { after(grammarAccess.getClassDefinitionAccess().getAbstractAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__StringSymbol__Group__1 +rule__ClassDefinition__Group__1 @init { int stackSize = keepStackSize(); } : - rule__StringSymbol__Group__1__Impl + rule__ClassDefinition__Group__1__Impl + rule__ClassDefinition__Group__2 ; finally { restoreStackSize(stackSize); } -rule__StringSymbol__Group__1__Impl +rule__ClassDefinition__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getStringSymbolAccess().getStringSymbolAction_1()); } - () - { after(grammarAccess.getStringSymbolAccess().getStringSymbolAction_1()); } + { before(grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); } + 'class' + { after(grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__NamedObject__Group__0 +rule__ClassDefinition__Group__2 @init { int stackSize = keepStackSize(); } : - rule__NamedObject__Group__0__Impl - rule__NamedObject__Group__1 + rule__ClassDefinition__Group__2__Impl + rule__ClassDefinition__Group__3 ; finally { restoreStackSize(stackSize); } -rule__NamedObject__Group__0__Impl +rule__ClassDefinition__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamedObjectAccess().getApostropheKeyword_0()); } - '\'' - { after(grammarAccess.getNamedObjectAccess().getApostropheKeyword_0()); } + { before(grammarAccess.getClassDefinitionAccess().getNameAssignment_2()); } + (rule__ClassDefinition__NameAssignment_2) + { after(grammarAccess.getClassDefinitionAccess().getNameAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamedObject__Group__1 +rule__ClassDefinition__Group__3 @init { int stackSize = keepStackSize(); } : - rule__NamedObject__Group__1__Impl - rule__NamedObject__Group__2 + rule__ClassDefinition__Group__3__Impl + rule__ClassDefinition__Group__4 ; finally { restoreStackSize(stackSize); } -rule__NamedObject__Group__1__Impl +rule__ClassDefinition__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamedObjectAccess().getNameAssignment_1()); } - (rule__NamedObject__NameAssignment_1) - { after(grammarAccess.getNamedObjectAccess().getNameAssignment_1()); } + { before(grammarAccess.getClassDefinitionAccess().getGroup_3()); } + (rule__ClassDefinition__Group_3__0)? + { after(grammarAccess.getClassDefinitionAccess().getGroup_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamedObject__Group__2 +rule__ClassDefinition__Group__4 @init { int stackSize = keepStackSize(); } : - rule__NamedObject__Group__2__Impl + rule__ClassDefinition__Group__4__Impl + rule__ClassDefinition__Group__5 ; finally { restoreStackSize(stackSize); } -rule__NamedObject__Group__2__Impl +rule__ClassDefinition__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamedObjectAccess().getApostropheKeyword_2()); } - '\'' - { after(grammarAccess.getNamedObjectAccess().getApostropheKeyword_2()); } + { before(grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); } + '{' + { after(grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Predicate__Group__0 +rule__ClassDefinition__Group__5 @init { int stackSize = keepStackSize(); } : - rule__Predicate__Group__0__Impl - rule__Predicate__Group__1 + rule__ClassDefinition__Group__5__Impl + rule__ClassDefinition__Group__6 ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group__0__Impl +rule__ClassDefinition__Group__5__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getIsErrorAssignment_0()); } - (rule__Predicate__IsErrorAssignment_0)? - { after(grammarAccess.getPredicateAccess().getIsErrorAssignment_0()); } + { before(grammarAccess.getClassDefinitionAccess().getMembersAssignment_5()); } + (rule__ClassDefinition__MembersAssignment_5)* + { after(grammarAccess.getClassDefinitionAccess().getMembersAssignment_5()); } ) ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group__1 +rule__ClassDefinition__Group__6 @init { int stackSize = keepStackSize(); } : - rule__Predicate__Group__1__Impl - rule__Predicate__Group__2 + rule__ClassDefinition__Group__6__Impl ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group__1__Impl +rule__ClassDefinition__Group__6__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getSymbolAssignment_1()); } - (rule__Predicate__SymbolAssignment_1) - { after(grammarAccess.getPredicateAccess().getSymbolAssignment_1()); } + { before(grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6()); } + '}' + { after(grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6()); } ) ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group__2 + +rule__ClassDefinition__Group_3__0 @init { int stackSize = keepStackSize(); } : - rule__Predicate__Group__2__Impl - rule__Predicate__Group__3 + rule__ClassDefinition__Group_3__0__Impl + rule__ClassDefinition__Group_3__1 ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group__2__Impl +rule__ClassDefinition__Group_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getGroup_2()); } - (rule__Predicate__Group_2__0)? - { after(grammarAccess.getPredicateAccess().getGroup_2()); } + { before(grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); } + 'extends' + { after(grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group__3 +rule__ClassDefinition__Group_3__1 @init { int stackSize = keepStackSize(); } : - rule__Predicate__Group__3__Impl - rule__Predicate__Group__4 + rule__ClassDefinition__Group_3__1__Impl + rule__ClassDefinition__Group_3__2 ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group__3__Impl +rule__ClassDefinition__Group_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3()); } - ':-' - { after(grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3()); } + { before(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_1()); } + (rule__ClassDefinition__SuperclassesAssignment_3_1) + { after(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group__4 +rule__ClassDefinition__Group_3__2 @init { int stackSize = keepStackSize(); } : - rule__Predicate__Group__4__Impl - rule__Predicate__Group__5 + rule__ClassDefinition__Group_3__2__Impl ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group__4__Impl +rule__ClassDefinition__Group_3__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getAlternatives_4()); } - (rule__Predicate__Alternatives_4) - { after(grammarAccess.getPredicateAccess().getAlternatives_4()); } + { before(grammarAccess.getClassDefinitionAccess().getGroup_3_2()); } + (rule__ClassDefinition__Group_3_2__0)* + { after(grammarAccess.getClassDefinitionAccess().getGroup_3_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group__5 + +rule__ClassDefinition__Group_3_2__0 @init { int stackSize = keepStackSize(); } : - rule__Predicate__Group__5__Impl + rule__ClassDefinition__Group_3_2__0__Impl + rule__ClassDefinition__Group_3_2__1 ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group__5__Impl +rule__ClassDefinition__Group_3_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getFullStopKeyword_5()); } - '.' - { after(grammarAccess.getPredicateAccess().getFullStopKeyword_5()); } + { before(grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); } + ',' + { after(grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Predicate__Group_2__0 +rule__ClassDefinition__Group_3_2__1 @init { int stackSize = keepStackSize(); } : - rule__Predicate__Group_2__0__Impl - rule__Predicate__Group_2__1 + rule__ClassDefinition__Group_3_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group_2__0__Impl +rule__ClassDefinition__Group_3_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()); } - '(' - { after(grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()); } + { before(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_2_1()); } + (rule__ClassDefinition__SuperclassesAssignment_3_2_1) + { after(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_2_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group_2__1 + +rule__MemberDefinition__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Predicate__Group_2__1__Impl - rule__Predicate__Group_2__2 + rule__MemberDefinition__Group__0__Impl + rule__MemberDefinition__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group_2__1__Impl +rule__MemberDefinition__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getGroup_2_1()); } - (rule__Predicate__Group_2_1__0)? - { after(grammarAccess.getPredicateAccess().getGroup_2_1()); } + { before(grammarAccess.getMemberDefinitionAccess().getContainmentAssignment_0()); } + (rule__MemberDefinition__ContainmentAssignment_0)? + { after(grammarAccess.getMemberDefinitionAccess().getContainmentAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group_2__2 +rule__MemberDefinition__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Predicate__Group_2__2__Impl + rule__MemberDefinition__Group__1__Impl + rule__MemberDefinition__Group__2 ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group_2__2__Impl +rule__MemberDefinition__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2()); } - ')' - { after(grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2()); } + { before(grammarAccess.getMemberDefinitionAccess().getTypeAssignment_1()); } + (rule__MemberDefinition__TypeAssignment_1) + { after(grammarAccess.getMemberDefinitionAccess().getTypeAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Predicate__Group_2_1__0 +rule__MemberDefinition__Group__2 @init { int stackSize = keepStackSize(); } : - rule__Predicate__Group_2_1__0__Impl - rule__Predicate__Group_2_1__1 + rule__MemberDefinition__Group__2__Impl + rule__MemberDefinition__Group__3 ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group_2_1__0__Impl +rule__MemberDefinition__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_0()); } - (rule__Predicate__ParametersAssignment_2_1_0) - { after(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_0()); } + { before(grammarAccess.getMemberDefinitionAccess().getMultiplicityAssignment_2()); } + (rule__MemberDefinition__MultiplicityAssignment_2)? + { after(grammarAccess.getMemberDefinitionAccess().getMultiplicityAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group_2_1__1 +rule__MemberDefinition__Group__3 @init { int stackSize = keepStackSize(); } : - rule__Predicate__Group_2_1__1__Impl + rule__MemberDefinition__Group__3__Impl + rule__MemberDefinition__Group__4 ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group_2_1__1__Impl +rule__MemberDefinition__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getGroup_2_1_1()); } - (rule__Predicate__Group_2_1_1__0)* - { after(grammarAccess.getPredicateAccess().getGroup_2_1_1()); } + { before(grammarAccess.getMemberDefinitionAccess().getNameAssignment_3()); } + (rule__MemberDefinition__NameAssignment_3) + { after(grammarAccess.getMemberDefinitionAccess().getNameAssignment_3()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Predicate__Group_2_1_1__0 +rule__MemberDefinition__Group__4 @init { int stackSize = keepStackSize(); } : - rule__Predicate__Group_2_1_1__0__Impl - rule__Predicate__Group_2_1_1__1 + rule__MemberDefinition__Group__4__Impl + rule__MemberDefinition__Group__5 ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group_2_1_1__0__Impl +rule__MemberDefinition__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0()); } - ',' - { after(grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0()); } + { before(grammarAccess.getMemberDefinitionAccess().getGroup_4()); } + (rule__MemberDefinition__Group_4__0)? + { after(grammarAccess.getMemberDefinitionAccess().getGroup_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group_2_1_1__1 +rule__MemberDefinition__Group__5 @init { int stackSize = keepStackSize(); } : - rule__Predicate__Group_2_1_1__1__Impl + rule__MemberDefinition__Group__5__Impl ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group_2_1_1__1__Impl +rule__MemberDefinition__Group__5__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_1_1()); } - (rule__Predicate__ParametersAssignment_2_1_1_1) - { after(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_1_1()); } + { before(grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); } + (';')? + { after(grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); } ) ; finally { @@ -3138,53 +6357,53 @@ finally { } -rule__Predicate__Group_4_1__0 +rule__MemberDefinition__Group_4__0 @init { int stackSize = keepStackSize(); } : - rule__Predicate__Group_4_1__0__Impl - rule__Predicate__Group_4_1__1 + rule__MemberDefinition__Group_4__0__Impl + rule__MemberDefinition__Group_4__1 ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group_4_1__0__Impl +rule__MemberDefinition__Group_4__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_0()); } - (rule__Predicate__BodiesAssignment_4_1_0) - { after(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_0()); } + { before(grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); } + 'opposite' + { after(grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group_4_1__1 +rule__MemberDefinition__Group_4__1 @init { int stackSize = keepStackSize(); } : - rule__Predicate__Group_4_1__1__Impl + rule__MemberDefinition__Group_4__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group_4_1__1__Impl +rule__MemberDefinition__Group_4__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getGroup_4_1_1()); } - (rule__Predicate__Group_4_1_1__0)* - { after(grammarAccess.getPredicateAccess().getGroup_4_1_1()); } + { before(grammarAccess.getMemberDefinitionAccess().getOppositeAssignment_4_1()); } + (rule__MemberDefinition__OppositeAssignment_4_1) + { after(grammarAccess.getMemberDefinitionAccess().getOppositeAssignment_4_1()); } ) ; finally { @@ -3192,161 +6411,161 @@ finally { } -rule__Predicate__Group_4_1_1__0 +rule__ManyMultiplicity__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Predicate__Group_4_1_1__0__Impl - rule__Predicate__Group_4_1_1__1 + rule__ManyMultiplicity__Group__0__Impl + rule__ManyMultiplicity__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group_4_1_1__0__Impl +rule__ManyMultiplicity__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0()); } - '|' - { after(grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0()); } + { before(grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0()); } + () + { after(grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group_4_1_1__1 +rule__ManyMultiplicity__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Predicate__Group_4_1_1__1__Impl + rule__ManyMultiplicity__Group__1__Impl + rule__ManyMultiplicity__Group__2 ; finally { restoreStackSize(stackSize); } -rule__Predicate__Group_4_1_1__1__Impl +rule__ManyMultiplicity__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_1_1()); } - (rule__Predicate__BodiesAssignment_4_1_1_1) - { after(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_1_1()); } + { before(grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); } + '[' + { after(grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Parameter__Group__0 +rule__ManyMultiplicity__Group__2 @init { int stackSize = keepStackSize(); } : - rule__Parameter__Group__0__Impl - rule__Parameter__Group__1 + rule__ManyMultiplicity__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__Parameter__Group__0__Impl +rule__ManyMultiplicity__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getParameterAccess().getVariableAssignment_0()); } - (rule__Parameter__VariableAssignment_0) - { after(grammarAccess.getParameterAccess().getVariableAssignment_0()); } + { before(grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); } + ']' + { after(grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Parameter__Group__1 + +rule__ExactMultiplicity__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Parameter__Group__1__Impl + rule__ExactMultiplicity__Group__0__Impl + rule__ExactMultiplicity__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Parameter__Group__1__Impl +rule__ExactMultiplicity__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getParameterAccess().getGroup_1()); } - (rule__Parameter__Group_1__0)? - { after(grammarAccess.getParameterAccess().getGroup_1()); } + { before(grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); } + '[' + { after(grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Parameter__Group_1__0 +rule__ExactMultiplicity__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Parameter__Group_1__0__Impl - rule__Parameter__Group_1__1 + rule__ExactMultiplicity__Group__1__Impl + rule__ExactMultiplicity__Group__2 ; finally { restoreStackSize(stackSize); } -rule__Parameter__Group_1__0__Impl +rule__ExactMultiplicity__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getParameterAccess().getColonKeyword_1_0()); } - ':' - { after(grammarAccess.getParameterAccess().getColonKeyword_1_0()); } + { before(grammarAccess.getExactMultiplicityAccess().getMultiplicityAssignment_1()); } + (rule__ExactMultiplicity__MultiplicityAssignment_1) + { after(grammarAccess.getExactMultiplicityAccess().getMultiplicityAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Parameter__Group_1__1 +rule__ExactMultiplicity__Group__2 @init { int stackSize = keepStackSize(); } : - rule__Parameter__Group_1__1__Impl + rule__ExactMultiplicity__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__Parameter__Group_1__1__Impl +rule__ExactMultiplicity__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getParameterAccess().getTypeAssignment_1_1()); } - (rule__Parameter__TypeAssignment_1_1) - { after(grammarAccess.getParameterAccess().getTypeAssignment_1_1()); } + { before(grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2()); } + ']' + { after(grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2()); } ) ; finally { @@ -3354,242 +6573,242 @@ finally { } -rule__PatternBody__Group__0 +rule__BoundedMultiplicity__Group__0 @init { int stackSize = keepStackSize(); } : - rule__PatternBody__Group__0__Impl - rule__PatternBody__Group__1 + rule__BoundedMultiplicity__Group__0__Impl + rule__BoundedMultiplicity__Group__1 ; finally { restoreStackSize(stackSize); } -rule__PatternBody__Group__0__Impl +rule__BoundedMultiplicity__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPatternBodyAccess().getPatternBodyAction_0()); } - () - { after(grammarAccess.getPatternBodyAccess().getPatternBodyAction_0()); } + { before(grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); } + '[' + { after(grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__PatternBody__Group__1 +rule__BoundedMultiplicity__Group__1 @init { int stackSize = keepStackSize(); } : - rule__PatternBody__Group__1__Impl + rule__BoundedMultiplicity__Group__1__Impl + rule__BoundedMultiplicity__Group__2 ; finally { restoreStackSize(stackSize); } -rule__PatternBody__Group__1__Impl +rule__BoundedMultiplicity__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPatternBodyAccess().getAlternatives_1()); } - (rule__PatternBody__Alternatives_1) - { after(grammarAccess.getPatternBodyAccess().getAlternatives_1()); } + { before(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundAssignment_1()); } + (rule__BoundedMultiplicity__LowerBoundAssignment_1) + { after(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Polarity__Group_0__0 +rule__BoundedMultiplicity__Group__2 @init { int stackSize = keepStackSize(); } : - rule__Polarity__Group_0__0__Impl - rule__Polarity__Group_0__1 + rule__BoundedMultiplicity__Group__2__Impl + rule__BoundedMultiplicity__Group__3 ; finally { restoreStackSize(stackSize); } -rule__Polarity__Group_0__0__Impl +rule__BoundedMultiplicity__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPolarityAccess().getPositiveAction_0_0()); } - () - { after(grammarAccess.getPolarityAccess().getPositiveAction_0_0()); } + { before(grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); } + '..' + { after(grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Polarity__Group_0__1 +rule__BoundedMultiplicity__Group__3 @init { int stackSize = keepStackSize(); } : - rule__Polarity__Group_0__1__Impl + rule__BoundedMultiplicity__Group__3__Impl + rule__BoundedMultiplicity__Group__4 ; finally { restoreStackSize(stackSize); } -rule__Polarity__Group_0__1__Impl +rule__BoundedMultiplicity__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1()); } - '+' - { after(grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1()); } + { before(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundAssignment_3()); } + (rule__BoundedMultiplicity__UpperBoundAssignment_3) + { after(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundAssignment_3()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Polarity__Group_1__0 +rule__BoundedMultiplicity__Group__4 @init { int stackSize = keepStackSize(); } : - rule__Polarity__Group_1__0__Impl - rule__Polarity__Group_1__1 + rule__BoundedMultiplicity__Group__4__Impl ; finally { restoreStackSize(stackSize); } -rule__Polarity__Group_1__0__Impl +rule__BoundedMultiplicity__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPolarityAccess().getNegativeAction_1_0()); } - () - { after(grammarAccess.getPolarityAccess().getNegativeAction_1_0()); } + { before(grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4()); } + ']' + { after(grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__Polarity__Group_1__1 + +rule__ExactScopeDefinition__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Polarity__Group_1__1__Impl + rule__ExactScopeDefinition__Group__0__Impl + rule__ExactScopeDefinition__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Polarity__Group_1__1__Impl +rule__ExactScopeDefinition__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPolarityAccess().getHyphenMinusKeyword_1_1()); } - '-' - { after(grammarAccess.getPolarityAccess().getHyphenMinusKeyword_1_1()); } + { before(grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); } + 'scope' + { after(grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Constraint__Group_0__0 +rule__ExactScopeDefinition__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Constraint__Group_0__0__Impl - rule__Constraint__Group_0__1 + rule__ExactScopeDefinition__Group__1__Impl + rule__ExactScopeDefinition__Group__2 ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_0__0__Impl +rule__ExactScopeDefinition__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getPolarityAssignment_0_0()); } - (rule__Constraint__PolarityAssignment_0_0)? - { after(grammarAccess.getConstraintAccess().getPolarityAssignment_0_0()); } + { before(grammarAccess.getExactScopeDefinitionAccess().getTypeAssignment_1()); } + (rule__ExactScopeDefinition__TypeAssignment_1) + { after(grammarAccess.getExactScopeDefinitionAccess().getTypeAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_0__1 +rule__ExactScopeDefinition__Group__2 @init { int stackSize = keepStackSize(); } : - rule__Constraint__Group_0__1__Impl - rule__Constraint__Group_0__2 + rule__ExactScopeDefinition__Group__2__Impl + rule__ExactScopeDefinition__Group__3 ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_0__1__Impl +rule__ExactScopeDefinition__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getSymbolAssignment_0_1()); } - (rule__Constraint__SymbolAssignment_0_1) - { after(grammarAccess.getConstraintAccess().getSymbolAssignment_0_1()); } + { before(grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); } + '==' + { after(grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_0__2 +rule__ExactScopeDefinition__Group__3 @init { int stackSize = keepStackSize(); } : - rule__Constraint__Group_0__2__Impl + rule__ExactScopeDefinition__Group__3__Impl ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_0__2__Impl +rule__ExactScopeDefinition__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getGroup_0_2()); } - (rule__Constraint__Group_0_2__0)? - { after(grammarAccess.getConstraintAccess().getGroup_0_2()); } + { before(grammarAccess.getExactScopeDefinitionAccess().getExactScopeAssignment_3()); } + (rule__ExactScopeDefinition__ExactScopeAssignment_3) + { after(grammarAccess.getExactScopeDefinitionAccess().getExactScopeAssignment_3()); } ) ; finally { @@ -3597,350 +6816,350 @@ finally { } -rule__Constraint__Group_0_2__0 +rule__BoundedScopeDefinition__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Constraint__Group_0_2__0__Impl - rule__Constraint__Group_0_2__1 + rule__BoundedScopeDefinition__Group__0__Impl + rule__BoundedScopeDefinition__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_0_2__0__Impl +rule__BoundedScopeDefinition__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()); } - '(' - { after(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); } + 'scope' + { after(grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_0_2__1 +rule__BoundedScopeDefinition__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Constraint__Group_0_2__1__Impl - rule__Constraint__Group_0_2__2 + rule__BoundedScopeDefinition__Group__1__Impl + rule__BoundedScopeDefinition__Group__2 ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_0_2__1__Impl +rule__BoundedScopeDefinition__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_1()); } - (rule__Constraint__ParamsAssignment_0_2_1)? - { after(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_1()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getAlternatives_1()); } + (rule__BoundedScopeDefinition__Alternatives_1) + { after(grammarAccess.getBoundedScopeDefinitionAccess().getAlternatives_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_0_2__2 +rule__BoundedScopeDefinition__Group__2 @init { int stackSize = keepStackSize(); } : - rule__Constraint__Group_0_2__2__Impl - rule__Constraint__Group_0_2__3 + rule__BoundedScopeDefinition__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_0_2__2__Impl +rule__BoundedScopeDefinition__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getGroup_0_2_2()); } - (rule__Constraint__Group_0_2_2__0)* - { after(grammarAccess.getConstraintAccess().getGroup_0_2_2()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getFullStopKeyword_2()); } + '.' + { after(grammarAccess.getBoundedScopeDefinitionAccess().getFullStopKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_0_2__3 + +rule__BoundedScopeDefinition__Group_1_0__0 @init { int stackSize = keepStackSize(); } : - rule__Constraint__Group_0_2__3__Impl + rule__BoundedScopeDefinition__Group_1_0__0__Impl + rule__BoundedScopeDefinition__Group_1_0__1 ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_0_2__3__Impl +rule__BoundedScopeDefinition__Group_1_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3()); } - ')' - { after(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0_0()); } + (rule__BoundedScopeDefinition__Group_1_0_0__0)? + { after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Constraint__Group_0_2_2__0 +rule__BoundedScopeDefinition__Group_1_0__1 @init { int stackSize = keepStackSize(); } : - rule__Constraint__Group_0_2_2__0__Impl - rule__Constraint__Group_0_2_2__1 + rule__BoundedScopeDefinition__Group_1_0__1__Impl + rule__BoundedScopeDefinition__Group_1_0__2 ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_0_2_2__0__Impl +rule__BoundedScopeDefinition__Group_1_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0()); } - ',' - { after(grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_0_1()); } + (rule__BoundedScopeDefinition__TypeAssignment_1_0_1) + { after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_0_2_2__1 +rule__BoundedScopeDefinition__Group_1_0__2 @init { int stackSize = keepStackSize(); } : - rule__Constraint__Group_0_2_2__1__Impl + rule__BoundedScopeDefinition__Group_1_0__2__Impl + rule__BoundedScopeDefinition__Group_1_0__3 ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_0_2_2__1__Impl +rule__BoundedScopeDefinition__Group_1_0__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_2_1()); } - (rule__Constraint__ParamsAssignment_0_2_2_1) - { after(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_2_1()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); } + '<=' + { after(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Constraint__Group_1__0 +rule__BoundedScopeDefinition__Group_1_0__3 @init { int stackSize = keepStackSize(); } : - rule__Constraint__Group_1__0__Impl - rule__Constraint__Group_1__1 + rule__BoundedScopeDefinition__Group_1_0__3__Impl ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_1__0__Impl +rule__BoundedScopeDefinition__Group_1_0__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getClosureTypeAssignment_1_0()); } - (rule__Constraint__ClosureTypeAssignment_1_0) - { after(grammarAccess.getConstraintAccess().getClosureTypeAssignment_1_0()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_0_3()); } + (rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3) + { after(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_0_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_1__1 + +rule__BoundedScopeDefinition__Group_1_0_0__0 @init { int stackSize = keepStackSize(); } : - rule__Constraint__Group_1__1__Impl - rule__Constraint__Group_1__2 + rule__BoundedScopeDefinition__Group_1_0_0__0__Impl + rule__BoundedScopeDefinition__Group_1_0_0__1 ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_1__1__Impl +rule__BoundedScopeDefinition__Group_1_0_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1()); } - '(' - { after(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0_0()); } + (rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0) + { after(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_1__2 +rule__BoundedScopeDefinition__Group_1_0_0__1 @init { int stackSize = keepStackSize(); } : - rule__Constraint__Group_1__2__Impl - rule__Constraint__Group_1__3 + rule__BoundedScopeDefinition__Group_1_0_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_1__2__Impl +rule__BoundedScopeDefinition__Group_1_0_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getParamsAssignment_1_2()); } - (rule__Constraint__ParamsAssignment_1_2)? - { after(grammarAccess.getConstraintAccess().getParamsAssignment_1_2()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); } + '<=' + { after(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_1__3 + +rule__BoundedScopeDefinition__Group_1_1__0 @init { int stackSize = keepStackSize(); } : - rule__Constraint__Group_1__3__Impl - rule__Constraint__Group_1__4 + rule__BoundedScopeDefinition__Group_1_1__0__Impl + rule__BoundedScopeDefinition__Group_1_1__1 ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_1__3__Impl +rule__BoundedScopeDefinition__Group_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getGroup_1_3()); } - (rule__Constraint__Group_1_3__0)* - { after(grammarAccess.getConstraintAccess().getGroup_1_3()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_1_0()); } + (rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0) + { after(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_1__4 +rule__BoundedScopeDefinition__Group_1_1__1 @init { int stackSize = keepStackSize(); } : - rule__Constraint__Group_1__4__Impl + rule__BoundedScopeDefinition__Group_1_1__1__Impl + rule__BoundedScopeDefinition__Group_1_1__2 ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_1__4__Impl +rule__BoundedScopeDefinition__Group_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4()); } - ')' - { after(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); } + '>=' + { after(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Constraint__Group_1_3__0 +rule__BoundedScopeDefinition__Group_1_1__2 @init { int stackSize = keepStackSize(); } : - rule__Constraint__Group_1_3__0__Impl - rule__Constraint__Group_1_3__1 + rule__BoundedScopeDefinition__Group_1_1__2__Impl + rule__BoundedScopeDefinition__Group_1_1__3 ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_1_3__0__Impl +rule__BoundedScopeDefinition__Group_1_1__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0()); } - ',' - { after(grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_1_2()); } + (rule__BoundedScopeDefinition__TypeAssignment_1_1_2) + { after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_1_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_1_3__1 +rule__BoundedScopeDefinition__Group_1_1__3 @init { int stackSize = keepStackSize(); } : - rule__Constraint__Group_1_3__1__Impl + rule__BoundedScopeDefinition__Group_1_1__3__Impl ; finally { restoreStackSize(stackSize); } -rule__Constraint__Group_1_3__1__Impl +rule__BoundedScopeDefinition__Group_1_1__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getParamsAssignment_1_3_1()); } - (rule__Constraint__ParamsAssignment_1_3_1) - { after(grammarAccess.getConstraintAccess().getParamsAssignment_1_3_1()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1_3()); } + (rule__BoundedScopeDefinition__Group_1_1_3__0)? + { after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1_3()); } ) ; finally { @@ -3948,53 +7167,53 @@ finally { } -rule__ClosureType__Group_0__0 +rule__BoundedScopeDefinition__Group_1_1_3__0 @init { int stackSize = keepStackSize(); } : - rule__ClosureType__Group_0__0__Impl - rule__ClosureType__Group_0__1 + rule__BoundedScopeDefinition__Group_1_1_3__0__Impl + rule__BoundedScopeDefinition__Group_1_1_3__1 ; finally { restoreStackSize(stackSize); } -rule__ClosureType__Group_0__0__Impl +rule__BoundedScopeDefinition__Group_1_1_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClosureTypeAccess().getReflexiveClosureAction_0_0()); } - () - { after(grammarAccess.getClosureTypeAccess().getReflexiveClosureAction_0_0()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); } + '>=' + { after(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ClosureType__Group_0__1 +rule__BoundedScopeDefinition__Group_1_1_3__1 @init { int stackSize = keepStackSize(); } : - rule__ClosureType__Group_0__1__Impl + rule__BoundedScopeDefinition__Group_1_1_3__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ClosureType__Group_0__1__Impl +rule__BoundedScopeDefinition__Group_1_1_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1()); } - '*' - { after(grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_3_1()); } + (rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1) + { after(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_3_1()); } ) ; finally { @@ -4002,161 +7221,161 @@ finally { } -rule__ClosureType__Group_1__0 +rule__LowerBoundedScopeDefinition__Group__0 @init { int stackSize = keepStackSize(); } : - rule__ClosureType__Group_1__0__Impl - rule__ClosureType__Group_1__1 + rule__LowerBoundedScopeDefinition__Group__0__Impl + rule__LowerBoundedScopeDefinition__Group__1 ; finally { restoreStackSize(stackSize); } -rule__ClosureType__Group_1__0__Impl +rule__LowerBoundedScopeDefinition__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClosureTypeAccess().getIrreflexiveClosureAction_1_0()); } - () - { after(grammarAccess.getClosureTypeAccess().getIrreflexiveClosureAction_1_0()); } + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); } + 'scope' + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ClosureType__Group_1__1 +rule__LowerBoundedScopeDefinition__Group__1 @init { int stackSize = keepStackSize(); } : - rule__ClosureType__Group_1__1__Impl + rule__LowerBoundedScopeDefinition__Group__1__Impl + rule__LowerBoundedScopeDefinition__Group__2 ; finally { restoreStackSize(stackSize); } -rule__ClosureType__Group_1__1__Impl +rule__LowerBoundedScopeDefinition__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1()); } - '+' - { after(grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1()); } + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getAlternatives_1()); } + (rule__LowerBoundedScopeDefinition__Alternatives_1) + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getAlternatives_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__AllInstances__Group__0 +rule__LowerBoundedScopeDefinition__Group__2 @init { int stackSize = keepStackSize(); } : - rule__AllInstances__Group__0__Impl - rule__AllInstances__Group__1 + rule__LowerBoundedScopeDefinition__Group__2__Impl ; finally { restoreStackSize(stackSize); } -rule__AllInstances__Group__0__Impl +rule__LowerBoundedScopeDefinition__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAllInstancesAccess().getColonKeyword_0()); } - ':' - { after(grammarAccess.getAllInstancesAccess().getColonKeyword_0()); } + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getFullStopKeyword_2()); } + '.' + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getFullStopKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__AllInstances__Group__1 + +rule__LowerBoundedScopeDefinition__Group_1_0__0 @init { int stackSize = keepStackSize(); } : - rule__AllInstances__Group__1__Impl + rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl + rule__LowerBoundedScopeDefinition__Group_1_0__1 ; finally { restoreStackSize(stackSize); } -rule__AllInstances__Group__1__Impl +rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAllInstancesAccess().getSymbolAssignment_1()); } - (rule__AllInstances__SymbolAssignment_1) - { after(grammarAccess.getAllInstancesAccess().getSymbolAssignment_1()); } + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0()); } + (rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0) + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__AllObjects__Group__0 +rule__LowerBoundedScopeDefinition__Group_1_0__1 @init { int stackSize = keepStackSize(); } : - rule__AllObjects__Group__0__Impl - rule__AllObjects__Group__1 + rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl + rule__LowerBoundedScopeDefinition__Group_1_0__2 ; finally { restoreStackSize(stackSize); } -rule__AllObjects__Group__0__Impl +rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAllObjectsAccess().getAllObjectsAction_0()); } - () - { after(grammarAccess.getAllObjectsAccess().getAllObjectsAction_0()); } + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); } + '<=' + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__AllObjects__Group__1 +rule__LowerBoundedScopeDefinition__Group_1_0__2 @init { int stackSize = keepStackSize(); } : - rule__AllObjects__Group__1__Impl + rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl ; finally { restoreStackSize(stackSize); } -rule__AllObjects__Group__1__Impl +rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1()); } - '*' - { after(grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1()); } + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_0_2()); } + (rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2) + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_0_2()); } ) ; finally { @@ -4164,242 +7383,242 @@ finally { } -rule__DefaultInterpretation__Group__0 +rule__LowerBoundedScopeDefinition__Group_1_1__0 @init { int stackSize = keepStackSize(); } : - rule__DefaultInterpretation__Group__0__Impl - rule__DefaultInterpretation__Group__1 + rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl + rule__LowerBoundedScopeDefinition__Group_1_1__1 ; finally { restoreStackSize(stackSize); } -rule__DefaultInterpretation__Group__0__Impl +rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0()); } - 'default' - { after(grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0()); } + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_1_0()); } + (rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0) + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__DefaultInterpretation__Group__1 +rule__LowerBoundedScopeDefinition__Group_1_1__1 @init { int stackSize = keepStackSize(); } : - rule__DefaultInterpretation__Group__1__Impl + rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl + rule__LowerBoundedScopeDefinition__Group_1_1__2 ; finally { restoreStackSize(stackSize); } -rule__DefaultInterpretation__Group__1__Impl +rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getDefaultInterpretationAccess().getInterpretationAssignment_1()); } - (rule__DefaultInterpretation__InterpretationAssignment_1) - { after(grammarAccess.getDefaultInterpretationAccess().getInterpretationAssignment_1()); } + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); } + '>=' + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__ClassInterpretation__Group__0 +rule__LowerBoundedScopeDefinition__Group_1_1__2 @init { int stackSize = keepStackSize(); } : - rule__ClassInterpretation__Group__0__Impl - rule__ClassInterpretation__Group__1 + rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__Group__0__Impl +rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClassInterpretationAccess().getAbstractAssignment_0()); } - (rule__ClassInterpretation__AbstractAssignment_0)? - { after(grammarAccess.getClassInterpretationAccess().getAbstractAssignment_0()); } + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_2()); } + (rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2) + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__Group__1 + +rule__ObjectiveDefinition__Group__0 @init { int stackSize = keepStackSize(); } : - rule__ClassInterpretation__Group__1__Impl - rule__ClassInterpretation__Group__2 + rule__ObjectiveDefinition__Group__0__Impl + rule__ObjectiveDefinition__Group__1 ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__Group__1__Impl +rule__ObjectiveDefinition__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClassInterpretationAccess().getClassKeyword_1()); } - 'class' - { after(grammarAccess.getClassInterpretationAccess().getClassKeyword_1()); } + { before(grammarAccess.getObjectiveDefinitionAccess().getKindAssignment_0()); } + (rule__ObjectiveDefinition__KindAssignment_0) + { after(grammarAccess.getObjectiveDefinitionAccess().getKindAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__Group__2 +rule__ObjectiveDefinition__Group__1 @init { int stackSize = keepStackSize(); } : - rule__ClassInterpretation__Group__2__Impl - rule__ClassInterpretation__Group__3 + rule__ObjectiveDefinition__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__Group__2__Impl +rule__ObjectiveDefinition__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClassInterpretationAccess().getSymbolAssignment_2()); } - (rule__ClassInterpretation__SymbolAssignment_2) - { after(grammarAccess.getClassInterpretationAccess().getSymbolAssignment_2()); } + { before(grammarAccess.getObjectiveDefinitionAccess().getObjectiveAssignment_1()); } + (rule__ObjectiveDefinition__ObjectiveAssignment_1) + { after(grammarAccess.getObjectiveDefinitionAccess().getObjectiveAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__Group__3 + +rule__Real__Group__0 @init { int stackSize = keepStackSize(); } : - rule__ClassInterpretation__Group__3__Impl - rule__ClassInterpretation__Group__4 + rule__Real__Group__0__Impl + rule__Real__Group__1 ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__Group__3__Impl +rule__Real__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClassInterpretationAccess().getGroup_3()); } - (rule__ClassInterpretation__Group_3__0)? - { after(grammarAccess.getClassInterpretationAccess().getGroup_3()); } + { before(grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); } + RULE_INT + { after(grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__Group__4 +rule__Real__Group__1 @init { int stackSize = keepStackSize(); } : - rule__ClassInterpretation__Group__4__Impl - rule__ClassInterpretation__Group__5 + rule__Real__Group__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__Group__4__Impl +rule__Real__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4()); } - '{' - { after(grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4()); } + { before(grammarAccess.getRealAccess().getGroup_1()); } + (rule__Real__Group_1__0)? + { after(grammarAccess.getRealAccess().getGroup_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__Group__5 + +rule__Real__Group_1__0 @init { int stackSize = keepStackSize(); } : - rule__ClassInterpretation__Group__5__Impl - rule__ClassInterpretation__Group__6 + rule__Real__Group_1__0__Impl + rule__Real__Group_1__1 ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__Group__5__Impl +rule__Real__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClassInterpretationAccess().getFieltAssignment_5()); } - (rule__ClassInterpretation__FieltAssignment_5)* - { after(grammarAccess.getClassInterpretationAccess().getFieltAssignment_5()); } + { before(grammarAccess.getRealAccess().getFullStopKeyword_1_0()); } + '.' + { after(grammarAccess.getRealAccess().getFullStopKeyword_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__Group__6 +rule__Real__Group_1__1 @init { int stackSize = keepStackSize(); } : - rule__ClassInterpretation__Group__6__Impl + rule__Real__Group_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__Group__6__Impl +rule__Real__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6()); } - '}' - { after(grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6()); } + { before(grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); } + RULE_INT + { after(grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); } ) ; finally { @@ -4407,60 +7626,53 @@ finally { } -rule__ClassInterpretation__Group_3__0 +rule__QualifiedName__Group_0__0 @init { int stackSize = keepStackSize(); } : - rule__ClassInterpretation__Group_3__0__Impl - rule__ClassInterpretation__Group_3__1 + rule__QualifiedName__Group_0__0__Impl + rule__QualifiedName__Group_0__1 ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__Group_3__0__Impl +rule__QualifiedName__Group_0__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0()); } - 'extends' - { after(grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0()); } + { before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); } + RULE_ID + { after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__Group_3__1 +rule__QualifiedName__Group_0__1 @init { int stackSize = keepStackSize(); } : - rule__ClassInterpretation__Group_3__1__Impl + rule__QualifiedName__Group_0__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__Group_3__1__Impl +rule__QualifiedName__Group_0__1__Impl @init { int stackSize = keepStackSize(); } : ( - ( - { before(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); } - (rule__ClassInterpretation__SupertypesAssignment_3_1) - { after(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); } - ) - ( - { before(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); } - (rule__ClassInterpretation__SupertypesAssignment_3_1)* - { after(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); } - ) + { before(grammarAccess.getQualifiedNameAccess().getGroup_0_1()); } + (rule__QualifiedName__Group_0_1__0)* + { after(grammarAccess.getQualifiedNameAccess().getGroup_0_1()); } ) ; finally { @@ -4468,1344 +7680,1435 @@ finally { } -rule__EnumInterpretation__Group__0 +rule__QualifiedName__Group_0_1__0 @init { int stackSize = keepStackSize(); } : - rule__EnumInterpretation__Group__0__Impl - rule__EnumInterpretation__Group__1 + rule__QualifiedName__Group_0_1__0__Impl + rule__QualifiedName__Group_0_1__1 ; finally { restoreStackSize(stackSize); } -rule__EnumInterpretation__Group__0__Impl +rule__QualifiedName__Group_0_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0()); } - 'enum' - { after(grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0()); } + { before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); } + '.' + { after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__EnumInterpretation__Group__1 +rule__QualifiedName__Group_0_1__1 @init { int stackSize = keepStackSize(); } : - rule__EnumInterpretation__Group__1__Impl - rule__EnumInterpretation__Group__2 + rule__QualifiedName__Group_0_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__EnumInterpretation__Group__1__Impl +rule__QualifiedName__Group_0_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getEnumInterpretationAccess().getSymbolAssignment_1()); } - (rule__EnumInterpretation__SymbolAssignment_1) - { after(grammarAccess.getEnumInterpretationAccess().getSymbolAssignment_1()); } + { before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1()); } + RULE_ID + { after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__EnumInterpretation__Group__2 + +rule__Problem__StatementsAssignment @init { int stackSize = keepStackSize(); } : - rule__EnumInterpretation__Group__2__Impl - rule__EnumInterpretation__Group__3 + ( + { before(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); } + ruleStatement + { after(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__EnumInterpretation__Group__2__Impl +rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2()); } - '{' - { after(grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2()); } -) + ( + { before(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); } + ruleExpression + { after(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__EnumInterpretation__Group__3 +rule__AssertionOrDefinition__BodyAssignment_1_1_2 @init { int stackSize = keepStackSize(); } : - rule__EnumInterpretation__Group__3__Impl - rule__EnumInterpretation__Group__4 + ( + { before(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); } + ruleExpression + { after(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__EnumInterpretation__Group__3__Impl +rule__AssertionOrDefinition__BodyAssignment_1_2_2 @init { int stackSize = keepStackSize(); } : -( - ( - { before(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); } - (rule__EnumInterpretation__ObjectsAssignment_3) - { after(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); } - ) ( - { before(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); } - (rule__EnumInterpretation__ObjectsAssignment_3)* - { after(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); } + { before(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); } + ruleExpression + { after(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); } ) -) ; finally { restoreStackSize(stackSize); } -rule__EnumInterpretation__Group__4 +rule__PredicateDefinition__FunctionalAssignment_0_0_0 @init { int stackSize = keepStackSize(); } : - rule__EnumInterpretation__Group__4__Impl + ( + { before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); } + ( + { before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); } + 'functional' + { after(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); } + ) + { after(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__EnumInterpretation__Group__4__Impl +rule__PredicateDefinition__ErrorAssignment_0_0_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4()); } - '}' - { after(grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4()); } -) + ( + { before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); } + ( + { before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); } + 'error' + { after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); } + ) + { after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__FieldRelationInterpretation__Group__0 +rule__PredicateDefinition__ErrorAssignment_0_1_0 @init { int stackSize = keepStackSize(); } : - rule__FieldRelationInterpretation__Group__0__Impl - rule__FieldRelationInterpretation__Group__1 + ( + { before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); } + ( + { before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); } + 'error' + { after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); } + ) + { after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__FieldRelationInterpretation__Group__0__Impl +rule__PredicateDefinition__FunctionalAssignment_0_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getFieldRelationInterpretationAccess().getContainmentAssignment_0()); } - (rule__FieldRelationInterpretation__ContainmentAssignment_0)? - { after(grammarAccess.getFieldRelationInterpretationAccess().getContainmentAssignment_0()); } -) + ( + { before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); } + ( + { before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); } + 'functional' + { after(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); } + ) + { after(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__FieldRelationInterpretation__Group__1 +rule__PredicateDefinition__HeadAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__FieldRelationInterpretation__Group__1__Impl - rule__FieldRelationInterpretation__Group__2 + ( + { before(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); } + ruleCall + { after(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__FieldRelationInterpretation__Group__1__Impl +rule__PredicateDefinition__BodyAssignment_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getFieldRelationInterpretationAccess().getSymbolAssignment_1()); } - (rule__FieldRelationInterpretation__SymbolAssignment_1) - { after(grammarAccess.getFieldRelationInterpretationAccess().getSymbolAssignment_1()); } -) + ( + { before(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); } + ruleExpression + { after(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__FieldRelationInterpretation__Group__2 +rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__FieldRelationInterpretation__Group__2__Impl - rule__FieldRelationInterpretation__Group__3 + ( + { before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); } + ruleArgumentList + { after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__FieldRelationInterpretation__Group__2__Impl +rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2()); } - ':' - { after(grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2()); } -) + ( + { before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); } + ruleExpression + { after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__FieldRelationInterpretation__Group__3 +rule__DefaultDefinition__HeadAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__FieldRelationInterpretation__Group__3__Impl - rule__FieldRelationInterpretation__Group__4 + ( + { before(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); } + ruleCall + { after(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__FieldRelationInterpretation__Group__3__Impl +rule__DefaultDefinition__RangeAssignment_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityAssignment_3()); } - (rule__FieldRelationInterpretation__MultiplicityAssignment_3)? - { after(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityAssignment_3()); } -) + ( + { before(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); } + ruleExpression + { after(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__FieldRelationInterpretation__Group__4 +rule__ExternPredicateDefinition__HeadAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__FieldRelationInterpretation__Group__4__Impl + ( + { before(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); } + ruleCall + { after(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__FieldRelationInterpretation__Group__4__Impl +rule__MetricDefinition__TypeAssignment_0 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getFieldRelationInterpretationAccess().getTargetAssignment_4()); } - (rule__FieldRelationInterpretation__TargetAssignment_4) - { after(grammarAccess.getFieldRelationInterpretationAccess().getTargetAssignment_4()); } -) + ( + { before(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); } + ruleMetricType + { after(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__GlobalRelationInterpretation__Group__0 +rule__MetricDefinition__HeadAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__GlobalRelationInterpretation__Group__0__Impl - rule__GlobalRelationInterpretation__Group__1 + ( + { before(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); } + ruleExpression + { after(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__Group__0__Impl +rule__MetricDefinition__BodyAssignment_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentAssignment_0()); } - (rule__GlobalRelationInterpretation__ContainmentAssignment_0)? - { after(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentAssignment_0()); } -) + ( + { before(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); } + ruleExpression + { after(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__Group__1 +rule__ExternMetricDefinition__TypeAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__GlobalRelationInterpretation__Group__1__Impl - rule__GlobalRelationInterpretation__Group__2 + ( + { before(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); } + ruleMetricType + { after(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__Group__1__Impl +rule__ExternMetricDefinition__HeadAssignment_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); } - 'relation' - { after(grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); } -) + ( + { before(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); } + ruleCall + { after(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__Group__2 +rule__IfElse__ConditionAssignment_1 @init { int stackSize = keepStackSize(); } : - rule__GlobalRelationInterpretation__Group__2__Impl - rule__GlobalRelationInterpretation__Group__3 + ( + { before(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); } + ruleExpression + { after(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__Group__2__Impl +rule__IfElse__ThenAssignment_3 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolAssignment_2()); } - (rule__GlobalRelationInterpretation__SymbolAssignment_2) - { after(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolAssignment_2()); } -) + ( + { before(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); } + ruleExpression + { after(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__Group__3 +rule__IfElse__ElseAssignment_5 @init { int stackSize = keepStackSize(); } : - rule__GlobalRelationInterpretation__Group__3__Impl - rule__GlobalRelationInterpretation__Group__4 + ( + { before(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); } + ruleExpression + { after(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__Group__3__Impl +rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3()); } - ':' - { after(grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3()); } -) + ( + { before(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); } + ruleConjunctiveExpression + { after(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__Group__4 +rule__DisjunctiveExpression__BodyAssignment_1_1_2 @init { int stackSize = keepStackSize(); } : - rule__GlobalRelationInterpretation__Group__4__Impl - rule__GlobalRelationInterpretation__Group__5 + ( + { before(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); } + ruleConjunctiveExpression + { after(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__Group__4__Impl +rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityAssignment_4()); } - (rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4)? - { after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityAssignment_4()); } -) + ( + { before(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); } + ruleCase + { after(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__Group__5 +rule__Case__ConditionAssignment_0 @init { int stackSize = keepStackSize(); } : - rule__GlobalRelationInterpretation__Group__5__Impl - rule__GlobalRelationInterpretation__Group__6 + ( + { before(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); } + ruleConjunctiveExpression + { after(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__Group__5__Impl +rule__Case__BodyAssignment_2 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceAssignment_5()); } - (rule__GlobalRelationInterpretation__SourceAssignment_5) - { after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceAssignment_5()); } -) + ( + { before(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); } + ruleConjunctiveExpression + { after(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__Group__6 +rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 @init { int stackSize = keepStackSize(); } : - rule__GlobalRelationInterpretation__Group__6__Impl - rule__GlobalRelationInterpretation__Group__7 + ( + { before(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); } + ruleComparisonExpression + { after(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__Group__6__Impl +rule__ComparisonExpression__OpAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityAssignment_6()); } - (rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6)? - { after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityAssignment_6()); } -) + ( + { before(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); } + ruleComparisonOperator + { after(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__Group__7 +rule__ComparisonExpression__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__GlobalRelationInterpretation__Group__7__Impl + ( + { before(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); } + ruleAdditiveExpression + { after(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__Group__7__Impl +rule__AdditiveExpression__OpAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetAssignment_7()); } - (rule__GlobalRelationInterpretation__TargetAssignment_7) - { after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetAssignment_7()); } -) + ( + { before(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); } + ruleAdditiveBinaryOperator + { after(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__MultiplicityDefinition__Group__0 +rule__AdditiveExpression__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__MultiplicityDefinition__Group__0__Impl - rule__MultiplicityDefinition__Group__1 + ( + { before(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); } + ruleMultiplicativeExpression + { after(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicityDefinition__Group__0__Impl +rule__MultiplicativeExpression__OpAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getMultiplicityDefinitionAccess().getLowerAssignment_0()); } - (rule__MultiplicityDefinition__LowerAssignment_0) - { after(grammarAccess.getMultiplicityDefinitionAccess().getLowerAssignment_0()); } -) + ( + { before(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); } + ruleMultiplicativeBinaryOperator + { after(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicityDefinition__Group__1 +rule__MultiplicativeExpression__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__MultiplicityDefinition__Group__1__Impl - rule__MultiplicityDefinition__Group__2 + ( + { before(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); } + ruleExponentialExpression + { after(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicityDefinition__Group__1__Impl +rule__ExponentialExpression__OpAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1()); } - '..' - { after(grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1()); } -) + ( + { before(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); } + ruleExponentialOp + { after(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicityDefinition__Group__2 +rule__ExponentialExpression__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__MultiplicityDefinition__Group__2__Impl + ( + { before(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); } + ruleExponentialExpression + { after(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); } + ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicityDefinition__Group__2__Impl +rule__UnaryExpression__OpAssignment_1_1 @init { int stackSize = keepStackSize(); } : -( - { before(grammarAccess.getMultiplicityDefinitionAccess().getAlternatives_2()); } - (rule__MultiplicityDefinition__Alternatives_2) - { after(grammarAccess.getMultiplicityDefinitionAccess().getAlternatives_2()); } -) + ( + { before(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); } + ruleUnaryOp + { after(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); } + ) ; finally { restoreStackSize(stackSize); } - -rule__Problem__StatementsAssignment +rule__UnaryExpression__BodyAssignment_1_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); } - ruleStatement - { after(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); } + { before(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); } + ruleAggregationExpression + { after(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__SymbolAssignment_0 +rule__Count__BodyAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBasicInterpretationAccess().getSymbolSymbolParserRuleCall_0_0()); } - ruleSymbol - { after(grammarAccess.getBasicInterpretationAccess().getSymbolSymbolParserRuleCall_0_0()); } + { before(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); } + ruleExpression + { after(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__ObjectsAssignment_1_1_0 +rule__Aggregation__OpAssignment_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0()); } - ruleComplexObject - { after(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0()); } + { before(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); } + ruleAggregationOp + { after(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 +rule__Aggregation__BodyAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0()); } - ruleComplexObject - { after(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0()); } + { before(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); } + ruleExpression + { after(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__BasicInterpretation__ValueAssignment_3 +rule__Aggregation__ConditionAssignment_4 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0()); } - ruleTruthValue - { after(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0()); } + { before(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); } + ruleExpression + { after(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ModelSymbol__NameAssignment +rule__AtomicExpression__ArgumentListAssignment_0_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0()); } - RULE_ID - { after(grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0()); } + { before(grammarAccess.getAtomicExpressionAccess().getArgumentListArgumentListParserRuleCall_0_1_1_0()); } + ruleArgumentList + { after(grammarAccess.getAtomicExpressionAccess().getArgumentListArgumentListParserRuleCall_0_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__NamedObject__NameAssignment_1 +rule__Call__FunctorAssignment_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID - { after(grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0()); } + { before(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); } + ruleReference + { after(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__UnnamedObject__NameAssignment +rule__Call__TransitiveClosureAssignment_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0()); } - RULE_ID - { after(grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0()); } + { before(grammarAccess.getCallAccess().getTransitiveClosureSTARTerminalRuleCall_1_0_0()); } + RULE_STAR + { after(grammarAccess.getCallAccess().getTransitiveClosureSTARTerminalRuleCall_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__BooleanObject__ValueAssignment +rule__Call__ReflexiveTransitiveClosureAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0()); } - ruleBooleanValue - { after(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0()); } + { before(grammarAccess.getCallAccess().getReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0()); } + RULE_PLUS + { after(grammarAccess.getCallAccess().getReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__IntObject__ValueAssignment +rule__Call__ArgumentListAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0()); } - ruleINTLiteral - { after(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0()); } + { before(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); } + ruleArgumentList + { after(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RealObject__ValueAssignment +rule__ArgumentList__ArgumentsAssignment_2_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0()); } - ruleREALLiteral - { after(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0()); } + { before(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); } + ruleArgument + { after(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__StringObject__ValueAssignment +rule__ArgumentList__ArgumentsAssignment_2_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0()); } - RULE_STRING - { after(grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0()); } + { before(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); } + ruleArgument + { after(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Predicate__IsErrorAssignment_0 +rule__ExpressionArgument__BodyAssignment @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); } - ( - { before(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); } - 'error' - { after(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); } - ) - { after(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); } + { before(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); } + ruleComparisonExpression + { after(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Predicate__SymbolAssignment_1 +rule__TypedArgument__TypeAssignment_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0()); } - ruleModelSymbol - { after(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0()); } + { before(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0()); } + ( + { before(grammarAccess.getTypedArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); } + ruleQualifiedName + { after(grammarAccess.getTypedArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); } + ) + { after(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Predicate__ParametersAssignment_2_1_0 +rule__TypedArgument__VariableAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0()); } - ruleParameter - { after(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0()); } + { before(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0()); } + ( + { before(grammarAccess.getTypedArgumentAccess().getVariableNamedElementQualifiedNameParserRuleCall_1_0_1()); } + ruleQualifiedName + { after(grammarAccess.getTypedArgumentAccess().getVariableNamedElementQualifiedNameParserRuleCall_1_0_1()); } + ) + { after(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Predicate__ParametersAssignment_2_1_1_1 +rule__TypedStarArgument__TypeAssignment_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0()); } - ruleParameter - { after(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0()); } + { before(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); } + ( + { before(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); } + ruleQualifiedName + { after(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); } + ) + { after(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Predicate__BodiesAssignment_4_1_0 +rule__Reference__ReferredAssignment @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0()); } - rulePatternBody - { after(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0()); } + { before(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); } + ( + { before(grammarAccess.getReferenceAccess().getReferredNamedElementQualifiedNameParserRuleCall_0_1()); } + ruleQualifiedName + { after(grammarAccess.getReferenceAccess().getReferredNamedElementQualifiedNameParserRuleCall_0_1()); } + ) + { after(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Predicate__BodiesAssignment_4_1_1_1 +rule__Interval__LowerBoundAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0()); } - rulePatternBody - { after(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0()); } + { before(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); } + ruleExpression + { after(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Parameter__VariableAssignment_0 +rule__Interval__UpperBoundAssignment_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0()); } - ruleVariable - { after(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0()); } + { before(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); } + ruleExpression + { after(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Parameter__TypeAssignment_1_1 +rule__LogicLiteral__ValueAssignment @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0()); } - ruleSymbol - { after(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0()); } + { before(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); } + ruleLogicValue + { after(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__PatternBody__ConstraintsAssignment_1_1 +rule__NumericLiteral__ValueAssignment @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0()); } - ruleConstraint - { after(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0()); } + { before(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); } + ruleReal + { after(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__PolarityAssignment_0_0 +rule__StringLiteral__ValueAssignment @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0()); } - rulePolarity - { after(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0()); } + { before(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0()); } + RULE_STRING + { after(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__SymbolAssignment_0_1 +rule__ClassDefinition__AbstractAssignment_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0()); } - ruleModelSymbol - { after(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0()); } + { before(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); } + ( + { before(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); } + 'abstract' + { after(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); } + ) + { after(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__ParamsAssignment_0_2_1 +rule__ClassDefinition__NameAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0()); } - ruleLiteral - { after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0()); } + { before(grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); } + RULE_ID + { after(grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__ParamsAssignment_0_2_2_1 +rule__ClassDefinition__SuperclassesAssignment_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0()); } - ruleLiteral - { after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0()); } + { before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); } + ( + { before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1()); } + ruleQualifiedName + { after(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1()); } + ) + { after(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__ClosureTypeAssignment_1_0 +rule__ClassDefinition__SuperclassesAssignment_3_2_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0()); } - ruleClosureType - { after(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0()); } + { before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); } + ( + { before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1()); } + ruleQualifiedName + { after(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1()); } + ) + { after(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__ParamsAssignment_1_2 +rule__ClassDefinition__MembersAssignment_5 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0()); } - ruleLiteral - { after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0()); } + { before(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); } + ruleMemberDefinition + { after(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Constraint__ParamsAssignment_1_3_1 +rule__MemberDefinition__ContainmentAssignment_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0()); } - ruleLiteral - { after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0()); } + { before(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); } + ( + { before(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); } + 'contains' + { after(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); } + ) + { after(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Variable__NameAssignment +rule__MemberDefinition__TypeAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0()); } - RULE_ID - { after(grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0()); } + { before(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); } + ( + { before(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); } + ruleQualifiedName + { after(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); } + ) + { after(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__AllInstances__SymbolAssignment_1 +rule__MemberDefinition__MultiplicityAssignment_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0()); } - ruleSymbol - { after(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0()); } + { before(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); } + ruleMultiplicity + { after(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__DefaultInterpretation__InterpretationAssignment_1 +rule__MemberDefinition__NameAssignment_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0()); } - ruleBasicInterpretation - { after(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0()); } + { before(grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); } + RULE_ID + { after(grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__AbstractAssignment_0 +rule__MemberDefinition__OppositeAssignment_4_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); } + { before(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); } ( - { before(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); } - 'abstract' - { after(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); } + { before(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1()); } + ruleQualifiedName + { after(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1()); } ) - { after(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); } + { after(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__SymbolAssignment_2 +rule__ExactMultiplicity__MultiplicityAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); } - ruleModelSymbol - { after(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); } + { before(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); } + ruleUpperMultiplicty + { after(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__SupertypesAssignment_3_1 +rule__BoundedMultiplicity__LowerBoundAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0()); } - ruleModelSymbol - { after(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0()); } + { before(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); } + RULE_INT + { after(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ClassInterpretation__FieltAssignment_5 +rule__BoundedMultiplicity__UpperBoundAssignment_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0()); } - ruleFieldRelationInterpretation - { after(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0()); } + { before(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); } + ruleUpperMultiplicty + { after(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__EnumInterpretation__SymbolAssignment_1 +rule__ExactScopeDefinition__TypeAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); } - ruleModelSymbol - { after(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); } + { before(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); } + ( + { before(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); } + ruleQualifiedName + { after(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); } + ) + { after(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__EnumInterpretation__ObjectsAssignment_3 +rule__ExactScopeDefinition__ExactScopeAssignment_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0()); } - ruleNamedObject - { after(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0()); } + { before(grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); } + RULE_INT + { after(grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__FieldRelationInterpretation__ContainmentAssignment_0 +rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } - ( - { before(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } - 'containment' - { after(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } - ) - { after(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); } + RULE_INT + { after(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__FieldRelationInterpretation__SymbolAssignment_1 +rule__BoundedScopeDefinition__TypeAssignment_1_0_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); } - ruleModelSymbol - { after(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); } + ( + { before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1()); } + ruleQualifiedName + { after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1()); } + ) + { after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__FieldRelationInterpretation__MultiplicityAssignment_3 +rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0()); } - ruleMultiplicityDefinition - { after(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); } + RULE_INT + { after(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__FieldRelationInterpretation__TargetAssignment_4 +rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0()); } - ruleSymbol - { after(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); } + RULE_INT + { after(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__ContainmentAssignment_0 +rule__BoundedScopeDefinition__TypeAssignment_1_1_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); } ( - { before(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } - 'containment' - { after(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1()); } + ruleQualifiedName + { after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1()); } ) - { after(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } - ) -; -finally { - restoreStackSize(stackSize); -} - -rule__GlobalRelationInterpretation__SymbolAssignment_2 - @init { - int stackSize = keepStackSize(); - } -: - ( - { before(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); } - ruleModelSymbol - { after(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); } + { after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 +rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0()); } - ruleMultiplicityDefinition - { after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0()); } + { before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); } + RULE_INT + { after(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__SourceAssignment_5 +rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0()); } - ruleSymbol - { after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0()); } + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); } + RULE_INT + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 +rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0()); } - ruleMultiplicityDefinition - { after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0()); } + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); } + ( + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1()); } + ruleQualifiedName + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1()); } + ) + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__GlobalRelationInterpretation__TargetAssignment_7 +rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0()); } - ruleSymbol - { after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0()); } + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); } + ( + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1()); } + ruleQualifiedName + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1()); } + ) + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicityDefinition__LowerAssignment_0 +rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0()); } + { before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); } RULE_INT - { after(grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0()); } + { after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicityDefinition__UpperAssignment_2_0 +rule__ObjectiveDefinition__KindAssignment_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicityDefinitionAccess().getUpperINTTerminalRuleCall_2_0_0()); } - RULE_INT - { after(grammarAccess.getMultiplicityDefinitionAccess().getUpperINTTerminalRuleCall_2_0_0()); } + { before(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); } + ruleObjectiveKind + { after(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 +rule__ObjectiveDefinition__ObjectiveAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); } - ( - { before(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); } - '*' - { after(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); } - ) - { after(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); } + { before(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); } + ruleExpression + { after(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); } ) ; finally { @@ -5814,6 +9117,14 @@ finally { RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"'; +RULE_QUOTED_ID : '\'' ('\\' .|~(('\\'|'\'')))* '\''; + +RULE_PLUS : 'synthetic::plus'; + +RULE_STAR : 'synthetic::star'; + +RULE_DOT : 'synthetic::dot'; + RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; RULE_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 @@ -'('=18 -')'=19 -'*'=31 -'+'=30 -','=20 -'-'=13 -'.'=14 -'..'=39 -':'=17 -':-'=28 -'\''=27 -'abstract'=40 -'bool'=23 -'class'=33 -'containment'=41 -'default'=32 -'enum'=37 -'equals'=22 -'error'=16 -'exists'=21 -'extends'=36 -'false'=11 -'int'=24 -'real'=25 -'relation'=38 -'string'=26 -'true'=12 -'unknown'=15 -'{'=34 -'|'=29 -'}'=35 -RULE_ANY_OTHER=10 -RULE_ID=5 +'!'=29 +'!='=20 +'('=61 +')'=62 +'*'=16 +'+'=26 +','=56 +'-'=27 +'->'=55 +'.'=50 +'..'=64 +'/'=28 +':'=45 +':-'=46 +';'=54 +'<'=21 +'<='=22 +'='=47 +'=='=19 +'>'=23 +'>='=24 +'['=63 +']'=65 +'^'=15 +'abstract'=73 +'avg'=36 +'class'=68 +'contains'=74 +'count'=57 +'current'=32 +'default'=48 +'else'=53 +'empty'=67 +'error'=42 +'extends'=69 +'extern'=49 +'false'=40 +'functional'=72 +'if'=51 +'in'=25 +'inf'=66 +'int'=17 +'max'=38 +'maximize'=44 +'may'=30 +'min'=37 +'minimize'=43 +'must'=31 +'only'=33 +'opposite'=70 +'prod'=35 +'real'=18 +'scope'=71 +'sum'=34 +'then'=52 +'true'=39 +'unknown'=41 +'{'=58 +'|'=60 +'}'=59 +RULE_ANY_OTHER=14 +RULE_DOT=6 +RULE_ID=7 RULE_INT=4 -RULE_ML_COMMENT=7 -RULE_SL_COMMENT=8 -RULE_STRING=6 -RULE_WS=9 -T__11=11 -T__12=12 -T__13=13 -T__14=14 +RULE_ML_COMMENT=11 +RULE_PLUS=9 +RULE_QUOTED_ID=5 +RULE_SL_COMMENT=12 +RULE_STAR=8 +RULE_STRING=10 +RULE_WS=13 T__15=15 T__16=16 T__17=17 @@ -67,3 +96,36 @@ T__38=38 T__39=39 T__40=40 T__41=41 +T__42=42 +T__43=43 +T__44=44 +T__45=45 +T__46=46 +T__47=47 +T__48=48 +T__49=49 +T__50=50 +T__51=51 +T__52=52 +T__53=53 +T__54=54 +T__55=55 +T__56=56 +T__57=57 +T__58=58 +T__59=59 +T__60=60 +T__61=61 +T__62=62 +T__63=63 +T__64=64 +T__65=65 +T__66=66 +T__67=67 +T__68=68 +T__69=69 +T__70=70 +T__71=71 +T__72=72 +T__73=73 +T__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; @SuppressWarnings("all") public class InternalSolverLanguageLexer extends Lexer { - public static final int RULE_STRING=6; - public static final int RULE_SL_COMMENT=8; + public static final int T__50=50; public static final int T__19=19; public static final int T__15=15; - public static final int T__37=37; + public static final int T__59=59; public static final int T__16=16; - public static final int T__38=38; public static final int T__17=17; - public static final int T__39=39; public static final int T__18=18; - public static final int T__11=11; - public static final int T__33=33; - public static final int T__12=12; - public static final int T__34=34; - public static final int T__13=13; - public static final int T__35=35; - public static final int T__14=14; - public static final int T__36=36; - public static final int EOF=-1; - public static final int T__30=30; - public static final int T__31=31; - public static final int T__32=32; - public static final int RULE_ID=5; - public static final int RULE_WS=9; - public static final int RULE_ANY_OTHER=10; + public static final int T__55=55; + public static final int T__56=56; + public static final int T__57=57; + public static final int T__58=58; + public static final int T__51=51; + public static final int RULE_STAR=8; + public static final int T__52=52; + public static final int T__53=53; + public static final int T__54=54; + public static final int T__60=60; + public static final int T__61=61; + public static final int RULE_ID=7; + public static final int RULE_QUOTED_ID=5; public static final int T__26=26; public static final int T__27=27; public static final int T__28=28; public static final int RULE_INT=4; public static final int T__29=29; public static final int T__22=22; - public static final int RULE_ML_COMMENT=7; + public static final int T__66=66; + public static final int RULE_ML_COMMENT=11; public static final int T__23=23; + public static final int T__67=67; public static final int T__24=24; + public static final int T__68=68; public static final int T__25=25; - public static final int T__40=40; - public static final int T__41=41; + public static final int T__69=69; + public static final int T__62=62; + public static final int T__63=63; public static final int T__20=20; + public static final int T__64=64; public static final int T__21=21; + public static final int T__65=65; + public static final int T__70=70; + public static final int T__71=71; + public static final int T__72=72; + public static final int RULE_STRING=10; + public static final int RULE_SL_COMMENT=12; + public static final int T__37=37; + public static final int T__38=38; + public static final int T__39=39; + public static final int T__33=33; + public static final int T__34=34; + public static final int T__35=35; + public static final int RULE_PLUS=9; + public static final int T__36=36; + public static final int T__73=73; + public static final int RULE_DOT=6; + public static final int EOF=-1; + public static final int T__30=30; + public static final int T__74=74; + public static final int T__31=31; + public static final int T__32=32; + public static final int RULE_WS=13; + public static final int RULE_ANY_OTHER=14; + public static final int T__48=48; + public static final int T__49=49; + public static final int T__44=44; + public static final int T__45=45; + public static final int T__46=46; + public static final int T__47=47; + public static final int T__40=40; + public static final int T__41=41; + public static final int T__42=42; + public static final int T__43=43; // delegates // delegators @@ -65,98 +98,15 @@ public class InternalSolverLanguageLexer extends Lexer { } public String getGrammarFileName() { return "InternalSolverLanguage.g"; } - // $ANTLR start "T__11" - public final void mT__11() throws RecognitionException { - try { - int _type = T__11; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:11:7: ( 'false' ) - // InternalSolverLanguage.g:11:9: 'false' - { - match("false"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__11" - - // $ANTLR start "T__12" - public final void mT__12() throws RecognitionException { - try { - int _type = T__12; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:12:7: ( 'true' ) - // InternalSolverLanguage.g:12:9: 'true' - { - match("true"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__12" - - // $ANTLR start "T__13" - public final void mT__13() throws RecognitionException { - try { - int _type = T__13; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:13:7: ( '-' ) - // InternalSolverLanguage.g:13:9: '-' - { - match('-'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__13" - - // $ANTLR start "T__14" - public final void mT__14() throws RecognitionException { - try { - int _type = T__14; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:14:7: ( '.' ) - // InternalSolverLanguage.g:14:9: '.' - { - match('.'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__14" - // $ANTLR start "T__15" public final void mT__15() throws RecognitionException { try { int _type = T__15; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:15:7: ( 'unknown' ) - // InternalSolverLanguage.g:15:9: 'unknown' + // InternalSolverLanguage.g:11:7: ( '^' ) + // InternalSolverLanguage.g:11:9: '^' { - match("unknown"); - + match('^'); } @@ -173,11 +123,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__16; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:16:7: ( 'error' ) - // InternalSolverLanguage.g:16:9: 'error' + // InternalSolverLanguage.g:12:7: ( '*' ) + // InternalSolverLanguage.g:12:9: '*' { - match("error"); - + match('*'); } @@ -194,10 +143,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__17; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:17:7: ( ':' ) - // InternalSolverLanguage.g:17:9: ':' + // InternalSolverLanguage.g:13:7: ( 'int' ) + // InternalSolverLanguage.g:13:9: 'int' { - match(':'); + match("int"); + } @@ -214,10 +164,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__18; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:18:7: ( '(' ) - // InternalSolverLanguage.g:18:9: '(' + // InternalSolverLanguage.g:14:7: ( 'real' ) + // InternalSolverLanguage.g:14:9: 'real' { - match('('); + match("real"); + } @@ -234,10 +185,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__19; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:19:7: ( ')' ) - // InternalSolverLanguage.g:19:9: ')' + // InternalSolverLanguage.g:15:7: ( '==' ) + // InternalSolverLanguage.g:15:9: '==' { - match(')'); + match("=="); + } @@ -254,10 +206,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__20; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:20:7: ( ',' ) - // InternalSolverLanguage.g:20:9: ',' + // InternalSolverLanguage.g:16:7: ( '!=' ) + // InternalSolverLanguage.g:16:9: '!=' { - match(','); + match("!="); + } @@ -274,11 +227,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__21; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:21:7: ( 'exists' ) - // InternalSolverLanguage.g:21:9: 'exists' + // InternalSolverLanguage.g:17:7: ( '<' ) + // InternalSolverLanguage.g:17:9: '<' { - match("exists"); - + match('<'); } @@ -295,10 +247,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__22; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:22:7: ( 'equals' ) - // InternalSolverLanguage.g:22:9: 'equals' + // InternalSolverLanguage.g:18:7: ( '<=' ) + // InternalSolverLanguage.g:18:9: '<=' { - match("equals"); + match("<="); } @@ -316,11 +268,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__23; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:23:7: ( 'bool' ) - // InternalSolverLanguage.g:23:9: 'bool' + // InternalSolverLanguage.g:19:7: ( '>' ) + // InternalSolverLanguage.g:19:9: '>' { - match("bool"); - + match('>'); } @@ -337,10 +288,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__24; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:24:7: ( 'int' ) - // InternalSolverLanguage.g:24:9: 'int' + // InternalSolverLanguage.g:20:7: ( '>=' ) + // InternalSolverLanguage.g:20:9: '>=' { - match("int"); + match(">="); } @@ -358,10 +309,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__25; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:25:7: ( 'real' ) - // InternalSolverLanguage.g:25:9: 'real' + // InternalSolverLanguage.g:21:7: ( 'in' ) + // InternalSolverLanguage.g:21:9: 'in' { - match("real"); + match("in"); } @@ -379,11 +330,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__26; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:26:7: ( 'string' ) - // InternalSolverLanguage.g:26:9: 'string' + // InternalSolverLanguage.g:22:7: ( '+' ) + // InternalSolverLanguage.g:22:9: '+' { - match("string"); - + match('+'); } @@ -400,10 +350,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__27; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:27:7: ( '\\'' ) - // InternalSolverLanguage.g:27:9: '\\'' + // InternalSolverLanguage.g:23:7: ( '-' ) + // InternalSolverLanguage.g:23:9: '-' { - match('\''); + match('-'); } @@ -420,11 +370,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__28; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:28:7: ( ':-' ) - // InternalSolverLanguage.g:28:9: ':-' + // InternalSolverLanguage.g:24:7: ( '/' ) + // InternalSolverLanguage.g:24:9: '/' { - match(":-"); - + match('/'); } @@ -441,10 +390,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__29; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:29:7: ( '|' ) - // InternalSolverLanguage.g:29:9: '|' + // InternalSolverLanguage.g:25:7: ( '!' ) + // InternalSolverLanguage.g:25:9: '!' { - match('|'); + match('!'); } @@ -461,10 +410,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__30; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:30:7: ( '+' ) - // InternalSolverLanguage.g:30:9: '+' + // InternalSolverLanguage.g:26:7: ( 'may' ) + // InternalSolverLanguage.g:26:9: 'may' { - match('+'); + match("may"); + } @@ -481,10 +431,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__31; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:31:7: ( '*' ) - // InternalSolverLanguage.g:31:9: '*' + // InternalSolverLanguage.g:27:7: ( 'must' ) + // InternalSolverLanguage.g:27:9: 'must' { - match('*'); + match("must"); + } @@ -501,10 +452,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__32; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:32:7: ( 'default' ) - // InternalSolverLanguage.g:32:9: 'default' + // InternalSolverLanguage.g:28:7: ( 'current' ) + // InternalSolverLanguage.g:28:9: 'current' { - match("default"); + match("current"); } @@ -522,10 +473,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__33; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:33:7: ( 'class' ) - // InternalSolverLanguage.g:33:9: 'class' + // InternalSolverLanguage.g:29:7: ( 'only' ) + // InternalSolverLanguage.g:29:9: 'only' { - match("class"); + match("only"); } @@ -543,10 +494,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__34; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:34:7: ( '{' ) - // InternalSolverLanguage.g:34:9: '{' + // InternalSolverLanguage.g:30:7: ( 'sum' ) + // InternalSolverLanguage.g:30:9: 'sum' { - match('{'); + match("sum"); + } @@ -563,10 +515,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__35; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:35:7: ( '}' ) - // InternalSolverLanguage.g:35:9: '}' + // InternalSolverLanguage.g:31:7: ( 'prod' ) + // InternalSolverLanguage.g:31:9: 'prod' { - match('}'); + match("prod"); + } @@ -583,10 +536,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__36; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:36:7: ( 'extends' ) - // InternalSolverLanguage.g:36:9: 'extends' + // InternalSolverLanguage.g:32:7: ( 'avg' ) + // InternalSolverLanguage.g:32:9: 'avg' { - match("extends"); + match("avg"); } @@ -604,10 +557,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__37; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:37:7: ( 'enum' ) - // InternalSolverLanguage.g:37:9: 'enum' + // InternalSolverLanguage.g:33:7: ( 'min' ) + // InternalSolverLanguage.g:33:9: 'min' { - match("enum"); + match("min"); } @@ -625,10 +578,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__38; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:38:7: ( 'relation' ) - // InternalSolverLanguage.g:38:9: 'relation' + // InternalSolverLanguage.g:34:7: ( 'max' ) + // InternalSolverLanguage.g:34:9: 'max' { - match("relation"); + match("max"); } @@ -646,10 +599,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__39; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:39:7: ( '..' ) - // InternalSolverLanguage.g:39:9: '..' + // InternalSolverLanguage.g:35:7: ( 'true' ) + // InternalSolverLanguage.g:35:9: 'true' { - match(".."); + match("true"); } @@ -667,10 +620,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__40; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:40:7: ( 'abstract' ) - // InternalSolverLanguage.g:40:9: 'abstract' + // InternalSolverLanguage.g:36:7: ( 'false' ) + // InternalSolverLanguage.g:36:9: 'false' { - match("abstract"); + match("false"); } @@ -688,10 +641,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__41; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:41:7: ( 'containment' ) - // InternalSolverLanguage.g:41:9: 'containment' + // InternalSolverLanguage.g:37:7: ( 'unknown' ) + // InternalSolverLanguage.g:37:9: 'unknown' { - match("containment"); + match("unknown"); } @@ -704,60 +657,58 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "T__41" - // $ANTLR start "RULE_STRING" - public final void mRULE_STRING() throws RecognitionException { + // $ANTLR start "T__42" + public final void mT__42() throws RecognitionException { try { - int _type = RULE_STRING; + int _type = T__42; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:5815:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) - // InternalSolverLanguage.g:5815:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + // InternalSolverLanguage.g:38:7: ( 'error' ) + // InternalSolverLanguage.g:38:9: 'error' { - match('\"'); - // InternalSolverLanguage.g:5815:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* - loop1: - do { - int alt1=3; - int LA1_0 = input.LA(1); + match("error"); - if ( (LA1_0=='\\') ) { - alt1=1; - } - else if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) { - alt1=2; - } + } - switch (alt1) { - case 1 : - // InternalSolverLanguage.g:5815:20: '\\\\' . - { - match('\\'); - matchAny(); + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__42" - } - break; - case 2 : - // InternalSolverLanguage.g:5815:27: ~ ( ( '\\\\' | '\"' ) ) - { - if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { - input.consume(); + // $ANTLR start "T__43" + public final void mT__43() throws RecognitionException { + try { + int _type = T__43; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:39:7: ( 'minimize' ) + // InternalSolverLanguage.g:39:9: 'minimize' + { + match("minimize"); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} + } - } - break; + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__43" - default : - break loop1; - } - } while (true); + // $ANTLR start "T__44" + public final void mT__44() throws RecognitionException { + try { + int _type = T__44; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:40:7: ( 'maximize' ) + // InternalSolverLanguage.g:40:9: 'maximize' + { + match("maximize"); - match('\"'); } @@ -767,75 +718,78 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "RULE_STRING" + // $ANTLR end "T__44" - // $ANTLR start "RULE_ID" - public final void mRULE_ID() throws RecognitionException { + // $ANTLR start "T__45" + public final void mT__45() throws RecognitionException { try { - int _type = RULE_ID; + int _type = T__45; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:5817:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalSolverLanguage.g:5817:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalSolverLanguage.g:41:7: ( ':' ) + // InternalSolverLanguage.g:41:9: ':' { - // InternalSolverLanguage.g:5817:11: ( '^' )? - int alt2=2; - int LA2_0 = input.LA(1); + match(':'); - if ( (LA2_0=='^') ) { - alt2=1; } - switch (alt2) { - case 1 : - // InternalSolverLanguage.g:5817:11: '^' - { - match('^'); - } - break; + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__45" - } + // $ANTLR start "T__46" + public final void mT__46() throws RecognitionException { + try { + int _type = T__46; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:42:7: ( ':-' ) + // InternalSolverLanguage.g:42:9: ':-' + { + match(":-"); - if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { - input.consume(); } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - // InternalSolverLanguage.g:5817:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* - loop3: - do { - int alt3=2; - int LA3_0 = input.LA(1); - - if ( ((LA3_0>='0' && LA3_0<='9')||(LA3_0>='A' && LA3_0<='Z')||LA3_0=='_'||(LA3_0>='a' && LA3_0<='z')) ) { - alt3=1; - } - - switch (alt3) { - case 1 : - // InternalSolverLanguage.g: - { - if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { - input.consume(); + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__46" - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} + // $ANTLR start "T__47" + public final void mT__47() throws RecognitionException { + try { + int _type = T__47; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:43:7: ( '=' ) + // InternalSolverLanguage.g:43:9: '=' + { + match('='); + } - } - break; + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__47" - default : - break loop3; - } - } while (true); + // $ANTLR start "T__48" + public final void mT__48() throws RecognitionException { + try { + int _type = T__48; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:44:7: ( 'default' ) + // InternalSolverLanguage.g:44:9: 'default' + { + match("default"); } @@ -846,31 +800,839 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "RULE_ID" + // $ANTLR end "T__48" - // $ANTLR start "RULE_INT" - public final void mRULE_INT() throws RecognitionException { + // $ANTLR start "T__49" + public final void mT__49() throws RecognitionException { try { - int _type = RULE_INT; + int _type = T__49; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:5819:10: ( ( '0' .. '9' )+ ) - // InternalSolverLanguage.g:5819:12: ( '0' .. '9' )+ + // InternalSolverLanguage.g:45:7: ( 'extern' ) + // InternalSolverLanguage.g:45:9: 'extern' { - // InternalSolverLanguage.g:5819:12: ( '0' .. '9' )+ - int cnt4=0; - loop4: + match("extern"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__49" + + // $ANTLR start "T__50" + public final void mT__50() throws RecognitionException { + try { + int _type = T__50; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:46:7: ( '.' ) + // InternalSolverLanguage.g:46:9: '.' + { + match('.'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__50" + + // $ANTLR start "T__51" + public final void mT__51() throws RecognitionException { + try { + int _type = T__51; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:47:7: ( 'if' ) + // InternalSolverLanguage.g:47:9: 'if' + { + match("if"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__51" + + // $ANTLR start "T__52" + public final void mT__52() throws RecognitionException { + try { + int _type = T__52; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:48:7: ( 'then' ) + // InternalSolverLanguage.g:48:9: 'then' + { + match("then"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__52" + + // $ANTLR start "T__53" + public final void mT__53() throws RecognitionException { + try { + int _type = T__53; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:49:7: ( 'else' ) + // InternalSolverLanguage.g:49:9: 'else' + { + match("else"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__53" + + // $ANTLR start "T__54" + public final void mT__54() throws RecognitionException { + try { + int _type = T__54; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:50:7: ( ';' ) + // InternalSolverLanguage.g:50:9: ';' + { + match(';'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__54" + + // $ANTLR start "T__55" + public final void mT__55() throws RecognitionException { + try { + int _type = T__55; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:51:7: ( '->' ) + // InternalSolverLanguage.g:51:9: '->' + { + match("->"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__55" + + // $ANTLR start "T__56" + public final void mT__56() throws RecognitionException { + try { + int _type = T__56; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:52:7: ( ',' ) + // InternalSolverLanguage.g:52:9: ',' + { + match(','); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__56" + + // $ANTLR start "T__57" + public final void mT__57() throws RecognitionException { + try { + int _type = T__57; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:53:7: ( 'count' ) + // InternalSolverLanguage.g:53:9: 'count' + { + match("count"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__57" + + // $ANTLR start "T__58" + public final void mT__58() throws RecognitionException { + try { + int _type = T__58; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:54:7: ( '{' ) + // InternalSolverLanguage.g:54:9: '{' + { + match('{'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__58" + + // $ANTLR start "T__59" + public final void mT__59() throws RecognitionException { + try { + int _type = T__59; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:55:7: ( '}' ) + // InternalSolverLanguage.g:55:9: '}' + { + match('}'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__59" + + // $ANTLR start "T__60" + public final void mT__60() throws RecognitionException { + try { + int _type = T__60; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:56:7: ( '|' ) + // InternalSolverLanguage.g:56:9: '|' + { + match('|'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__60" + + // $ANTLR start "T__61" + public final void mT__61() throws RecognitionException { + try { + int _type = T__61; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:57:7: ( '(' ) + // InternalSolverLanguage.g:57:9: '(' + { + match('('); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__61" + + // $ANTLR start "T__62" + public final void mT__62() throws RecognitionException { + try { + int _type = T__62; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:58:7: ( ')' ) + // InternalSolverLanguage.g:58:9: ')' + { + match(')'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__62" + + // $ANTLR start "T__63" + public final void mT__63() throws RecognitionException { + try { + int _type = T__63; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:59:7: ( '[' ) + // InternalSolverLanguage.g:59:9: '[' + { + match('['); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__63" + + // $ANTLR start "T__64" + public final void mT__64() throws RecognitionException { + try { + int _type = T__64; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:60:7: ( '..' ) + // InternalSolverLanguage.g:60:9: '..' + { + match(".."); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__64" + + // $ANTLR start "T__65" + public final void mT__65() throws RecognitionException { + try { + int _type = T__65; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:61:7: ( ']' ) + // InternalSolverLanguage.g:61:9: ']' + { + match(']'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__65" + + // $ANTLR start "T__66" + public final void mT__66() throws RecognitionException { + try { + int _type = T__66; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:62:7: ( 'inf' ) + // InternalSolverLanguage.g:62:9: 'inf' + { + match("inf"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__66" + + // $ANTLR start "T__67" + public final void mT__67() throws RecognitionException { + try { + int _type = T__67; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:63:7: ( 'empty' ) + // InternalSolverLanguage.g:63:9: 'empty' + { + match("empty"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__67" + + // $ANTLR start "T__68" + public final void mT__68() throws RecognitionException { + try { + int _type = T__68; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:64:7: ( 'class' ) + // InternalSolverLanguage.g:64:9: 'class' + { + match("class"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__68" + + // $ANTLR start "T__69" + public final void mT__69() throws RecognitionException { + try { + int _type = T__69; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:65:7: ( 'extends' ) + // InternalSolverLanguage.g:65:9: 'extends' + { + match("extends"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__69" + + // $ANTLR start "T__70" + public final void mT__70() throws RecognitionException { + try { + int _type = T__70; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:66:7: ( 'opposite' ) + // InternalSolverLanguage.g:66:9: 'opposite' + { + match("opposite"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__70" + + // $ANTLR start "T__71" + public final void mT__71() throws RecognitionException { + try { + int _type = T__71; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:67:7: ( 'scope' ) + // InternalSolverLanguage.g:67:9: 'scope' + { + match("scope"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__71" + + // $ANTLR start "T__72" + public final void mT__72() throws RecognitionException { + try { + int _type = T__72; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:68:7: ( 'functional' ) + // InternalSolverLanguage.g:68:9: 'functional' + { + match("functional"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__72" + + // $ANTLR start "T__73" + public final void mT__73() throws RecognitionException { + try { + int _type = T__73; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:69:7: ( 'abstract' ) + // InternalSolverLanguage.g:69:9: 'abstract' + { + match("abstract"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__73" + + // $ANTLR start "T__74" + public final void mT__74() throws RecognitionException { + try { + int _type = T__74; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:70:7: ( 'contains' ) + // InternalSolverLanguage.g:70:9: 'contains' + { + match("contains"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__74" + + // $ANTLR start "RULE_STRING" + public final void mRULE_STRING() throws RecognitionException { + try { + int _type = RULE_STRING; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:9118:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) + // InternalSolverLanguage.g:9118:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + { + match('\"'); + // InternalSolverLanguage.g:9118:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + loop1: + do { + int alt1=3; + int LA1_0 = input.LA(1); + + if ( (LA1_0=='\\') ) { + alt1=1; + } + else if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) { + alt1=2; + } + + + switch (alt1) { + case 1 : + // InternalSolverLanguage.g:9118:20: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalSolverLanguage.g:9118:27: ~ ( ( '\\\\' | '\"' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop1; + } + } while (true); + + match('\"'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_STRING" + + // $ANTLR start "RULE_QUOTED_ID" + public final void mRULE_QUOTED_ID() throws RecognitionException { + try { + int _type = RULE_QUOTED_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:9120:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalSolverLanguage.g:9120:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + { + match('\''); + // InternalSolverLanguage.g:9120:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + loop2: + do { + int alt2=3; + int LA2_0 = input.LA(1); + + if ( (LA2_0=='\\') ) { + alt2=1; + } + else if ( ((LA2_0>='\u0000' && LA2_0<='&')||(LA2_0>='(' && LA2_0<='[')||(LA2_0>=']' && LA2_0<='\uFFFF')) ) { + alt2=2; + } + + + switch (alt2) { + case 1 : + // InternalSolverLanguage.g:9120:24: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalSolverLanguage.g:9120:31: ~ ( ( '\\\\' | '\\'' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop2; + } + } while (true); + + match('\''); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_QUOTED_ID" + + // $ANTLR start "RULE_PLUS" + public final void mRULE_PLUS() throws RecognitionException { + try { + int _type = RULE_PLUS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:9122:11: ( 'synthetic::plus' ) + // InternalSolverLanguage.g:9122:13: 'synthetic::plus' + { + match("synthetic::plus"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_PLUS" + + // $ANTLR start "RULE_STAR" + public final void mRULE_STAR() throws RecognitionException { + try { + int _type = RULE_STAR; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:9124:11: ( 'synthetic::star' ) + // InternalSolverLanguage.g:9124:13: 'synthetic::star' + { + match("synthetic::star"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_STAR" + + // $ANTLR start "RULE_DOT" + public final void mRULE_DOT() throws RecognitionException { + try { + int _type = RULE_DOT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:9126:10: ( 'synthetic::dot' ) + // InternalSolverLanguage.g:9126:12: 'synthetic::dot' + { + match("synthetic::dot"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_DOT" + + // $ANTLR start "RULE_ID" + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:9128:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalSolverLanguage.g:9128:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + { + // InternalSolverLanguage.g:9128:11: ( '^' )? + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0=='^') ) { + alt3=1; + } + switch (alt3) { + case 1 : + // InternalSolverLanguage.g:9128:11: '^' + { + match('^'); + + } + break; + + } + + if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // InternalSolverLanguage.g:9128:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + loop4: do { int alt4=2; int LA4_0 = input.LA(1); - if ( ((LA4_0>='0' && LA4_0<='9')) ) { + if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) { alt4=1; } switch (alt4) { case 1 : - // InternalSolverLanguage.g:5819:13: '0' .. '9' + // InternalSolverLanguage.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop4; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ID" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + int _type = RULE_INT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:9130:10: ( ( '0' .. '9' )+ ) + // InternalSolverLanguage.g:9130:12: ( '0' .. '9' )+ + { + // InternalSolverLanguage.g:9130:12: ( '0' .. '9' )+ + int cnt5=0; + loop5: + do { + int alt5=2; + int LA5_0 = input.LA(1); + + if ( ((LA5_0>='0' && LA5_0<='9')) ) { + alt5=1; + } + + + switch (alt5) { + case 1 : + // InternalSolverLanguage.g:9130:13: '0' .. '9' { matchRange('0','9'); @@ -878,12 +1640,12 @@ public class InternalSolverLanguageLexer extends Lexer { break; default : - if ( cnt4 >= 1 ) break loop4; + if ( cnt5 >= 1 ) break loop5; EarlyExitException eee = - new EarlyExitException(4, input); + new EarlyExitException(5, input); throw eee; } - cnt4++; + cnt5++; } while (true); @@ -902,37 +1664,37 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:5821:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalSolverLanguage.g:5821:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalSolverLanguage.g:9132:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalSolverLanguage.g:9132:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalSolverLanguage.g:5821:24: ( options {greedy=false; } : . )* - loop5: + // InternalSolverLanguage.g:9132:24: ( options {greedy=false; } : . )* + loop6: do { - int alt5=2; - int LA5_0 = input.LA(1); + int alt6=2; + int LA6_0 = input.LA(1); - if ( (LA5_0=='*') ) { - int LA5_1 = input.LA(2); + if ( (LA6_0=='*') ) { + int LA6_1 = input.LA(2); - if ( (LA5_1=='/') ) { - alt5=2; + if ( (LA6_1=='/') ) { + alt6=2; } - else if ( ((LA5_1>='\u0000' && LA5_1<='.')||(LA5_1>='0' && LA5_1<='\uFFFF')) ) { - alt5=1; + else if ( ((LA6_1>='\u0000' && LA6_1<='.')||(LA6_1>='0' && LA6_1<='\uFFFF')) ) { + alt6=1; } } - else if ( ((LA5_0>='\u0000' && LA5_0<=')')||(LA5_0>='+' && LA5_0<='\uFFFF')) ) { - alt5=1; + else if ( ((LA6_0>='\u0000' && LA6_0<=')')||(LA6_0>='+' && LA6_0<='\uFFFF')) ) { + alt6=1; } - switch (alt5) { + switch (alt6) { case 1 : - // InternalSolverLanguage.g:5821:52: . + // InternalSolverLanguage.g:9132:52: . { matchAny(); @@ -940,7 +1702,7 @@ public class InternalSolverLanguageLexer extends Lexer { break; default : - break loop5; + break loop6; } } while (true); @@ -962,25 +1724,25 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:5823:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalSolverLanguage.g:5823:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalSolverLanguage.g:9134:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalSolverLanguage.g:9134:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // InternalSolverLanguage.g:5823:24: (~ ( ( '\\n' | '\\r' ) ) )* - loop6: + // InternalSolverLanguage.g:9134:24: (~ ( ( '\\n' | '\\r' ) ) )* + loop7: do { - int alt6=2; - int LA6_0 = input.LA(1); + int alt7=2; + int LA7_0 = input.LA(1); - if ( ((LA6_0>='\u0000' && LA6_0<='\t')||(LA6_0>='\u000B' && LA6_0<='\f')||(LA6_0>='\u000E' && LA6_0<='\uFFFF')) ) { - alt6=1; + if ( ((LA7_0>='\u0000' && LA7_0<='\t')||(LA7_0>='\u000B' && LA7_0<='\f')||(LA7_0>='\u000E' && LA7_0<='\uFFFF')) ) { + alt7=1; } - switch (alt6) { + switch (alt7) { case 1 : - // InternalSolverLanguage.g:5823:24: ~ ( ( '\\n' | '\\r' ) ) + // InternalSolverLanguage.g:9134:24: ~ ( ( '\\n' | '\\r' ) ) { 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') ) { input.consume(); @@ -996,31 +1758,31 @@ public class InternalSolverLanguageLexer extends Lexer { break; default : - break loop6; + break loop7; } } while (true); - // InternalSolverLanguage.g:5823:40: ( ( '\\r' )? '\\n' )? - int alt8=2; - int LA8_0 = input.LA(1); + // InternalSolverLanguage.g:9134:40: ( ( '\\r' )? '\\n' )? + int alt9=2; + int LA9_0 = input.LA(1); - if ( (LA8_0=='\n'||LA8_0=='\r') ) { - alt8=1; + if ( (LA9_0=='\n'||LA9_0=='\r') ) { + alt9=1; } - switch (alt8) { + switch (alt9) { case 1 : - // InternalSolverLanguage.g:5823:41: ( '\\r' )? '\\n' + // InternalSolverLanguage.g:9134:41: ( '\\r' )? '\\n' { - // InternalSolverLanguage.g:5823:41: ( '\\r' )? - int alt7=2; - int LA7_0 = input.LA(1); + // InternalSolverLanguage.g:9134:41: ( '\\r' )? + int alt8=2; + int LA8_0 = input.LA(1); - if ( (LA7_0=='\r') ) { - alt7=1; + if ( (LA8_0=='\r') ) { + alt8=1; } - switch (alt7) { + switch (alt8) { case 1 : - // InternalSolverLanguage.g:5823:41: '\\r' + // InternalSolverLanguage.g:9134:41: '\\r' { match('\r'); @@ -1052,344 +1814,575 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:5825:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalSolverLanguage.g:5825:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalSolverLanguage.g:9136:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalSolverLanguage.g:9136:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // InternalSolverLanguage.g:5825:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - int cnt9=0; - loop9: + // InternalSolverLanguage.g:9136:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt10=0; + loop10: do { - int alt9=2; - int LA9_0 = input.LA(1); + int alt10=2; + int LA10_0 = input.LA(1); + + if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) { + alt10=1; + } + + + switch (alt10) { + case 1 : + // InternalSolverLanguage.g: + { + if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + if ( cnt10 >= 1 ) break loop10; + EarlyExitException eee = + new EarlyExitException(10, input); + throw eee; + } + cnt10++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_WS" + + // $ANTLR start "RULE_ANY_OTHER" + public final void mRULE_ANY_OTHER() throws RecognitionException { + try { + int _type = RULE_ANY_OTHER; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:9138:16: ( . ) + // InternalSolverLanguage.g:9138:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // 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 ) + int alt11=71; + alt11 = dfa11.predict(input); + switch (alt11) { + case 1 : + // InternalSolverLanguage.g:1:10: T__15 + { + mT__15(); + + } + break; + case 2 : + // InternalSolverLanguage.g:1:16: T__16 + { + mT__16(); + + } + break; + case 3 : + // InternalSolverLanguage.g:1:22: T__17 + { + mT__17(); + + } + break; + case 4 : + // InternalSolverLanguage.g:1:28: T__18 + { + mT__18(); + + } + break; + case 5 : + // InternalSolverLanguage.g:1:34: T__19 + { + mT__19(); + + } + break; + case 6 : + // InternalSolverLanguage.g:1:40: T__20 + { + mT__20(); + + } + break; + case 7 : + // InternalSolverLanguage.g:1:46: T__21 + { + mT__21(); + + } + break; + case 8 : + // InternalSolverLanguage.g:1:52: T__22 + { + mT__22(); + + } + break; + case 9 : + // InternalSolverLanguage.g:1:58: T__23 + { + mT__23(); + + } + break; + case 10 : + // InternalSolverLanguage.g:1:64: T__24 + { + mT__24(); + + } + break; + case 11 : + // InternalSolverLanguage.g:1:70: T__25 + { + mT__25(); + + } + break; + case 12 : + // InternalSolverLanguage.g:1:76: T__26 + { + mT__26(); + + } + break; + case 13 : + // InternalSolverLanguage.g:1:82: T__27 + { + mT__27(); + + } + break; + case 14 : + // InternalSolverLanguage.g:1:88: T__28 + { + mT__28(); + + } + break; + case 15 : + // InternalSolverLanguage.g:1:94: T__29 + { + mT__29(); + + } + break; + case 16 : + // InternalSolverLanguage.g:1:100: T__30 + { + mT__30(); + + } + break; + case 17 : + // InternalSolverLanguage.g:1:106: T__31 + { + mT__31(); + + } + break; + case 18 : + // InternalSolverLanguage.g:1:112: T__32 + { + mT__32(); + + } + break; + case 19 : + // InternalSolverLanguage.g:1:118: T__33 + { + mT__33(); + + } + break; + case 20 : + // InternalSolverLanguage.g:1:124: T__34 + { + mT__34(); - if ( ((LA9_0>='\t' && LA9_0<='\n')||LA9_0=='\r'||LA9_0==' ') ) { - alt9=1; } + break; + case 21 : + // InternalSolverLanguage.g:1:130: T__35 + { + mT__35(); + } + break; + case 22 : + // InternalSolverLanguage.g:1:136: T__36 + { + mT__36(); - switch (alt9) { - case 1 : - // InternalSolverLanguage.g: - { - if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { - input.consume(); + } + break; + case 23 : + // InternalSolverLanguage.g:1:142: T__37 + { + mT__37(); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} + } + break; + case 24 : + // InternalSolverLanguage.g:1:148: T__38 + { + mT__38(); + } + break; + case 25 : + // InternalSolverLanguage.g:1:154: T__39 + { + mT__39(); - } - break; + } + break; + case 26 : + // InternalSolverLanguage.g:1:160: T__40 + { + mT__40(); - default : - if ( cnt9 >= 1 ) break loop9; - EarlyExitException eee = - new EarlyExitException(9, input); - throw eee; } - cnt9++; - } while (true); + break; + case 27 : + // InternalSolverLanguage.g:1:166: T__41 + { + mT__41(); + } + break; + case 28 : + // InternalSolverLanguage.g:1:172: T__42 + { + mT__42(); - } + } + break; + case 29 : + // InternalSolverLanguage.g:1:178: T__43 + { + mT__43(); - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_WS" + } + break; + case 30 : + // InternalSolverLanguage.g:1:184: T__44 + { + mT__44(); - // $ANTLR start "RULE_ANY_OTHER" - public final void mRULE_ANY_OTHER() throws RecognitionException { - try { - int _type = RULE_ANY_OTHER; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:5827:16: ( . ) - // InternalSolverLanguage.g:5827:18: . - { - matchAny(); + } + break; + case 31 : + // InternalSolverLanguage.g:1:190: T__45 + { + mT__45(); - } + } + break; + case 32 : + // InternalSolverLanguage.g:1:196: T__46 + { + mT__46(); - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ANY_OTHER" + } + break; + case 33 : + // InternalSolverLanguage.g:1:202: T__47 + { + mT__47(); - public void mTokens() throws RecognitionException { - // 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 ) - int alt10=38; - alt10 = dfa10.predict(input); - switch (alt10) { - case 1 : - // InternalSolverLanguage.g:1:10: T__11 + } + break; + case 34 : + // InternalSolverLanguage.g:1:208: T__48 { - mT__11(); + mT__48(); } break; - case 2 : - // InternalSolverLanguage.g:1:16: T__12 + case 35 : + // InternalSolverLanguage.g:1:214: T__49 { - mT__12(); + mT__49(); } break; - case 3 : - // InternalSolverLanguage.g:1:22: T__13 + case 36 : + // InternalSolverLanguage.g:1:220: T__50 { - mT__13(); + mT__50(); } break; - case 4 : - // InternalSolverLanguage.g:1:28: T__14 + case 37 : + // InternalSolverLanguage.g:1:226: T__51 { - mT__14(); + mT__51(); } break; - case 5 : - // InternalSolverLanguage.g:1:34: T__15 + case 38 : + // InternalSolverLanguage.g:1:232: T__52 { - mT__15(); + mT__52(); } break; - case 6 : - // InternalSolverLanguage.g:1:40: T__16 + case 39 : + // InternalSolverLanguage.g:1:238: T__53 { - mT__16(); + mT__53(); } break; - case 7 : - // InternalSolverLanguage.g:1:46: T__17 + case 40 : + // InternalSolverLanguage.g:1:244: T__54 { - mT__17(); + mT__54(); } break; - case 8 : - // InternalSolverLanguage.g:1:52: T__18 + case 41 : + // InternalSolverLanguage.g:1:250: T__55 { - mT__18(); + mT__55(); } break; - case 9 : - // InternalSolverLanguage.g:1:58: T__19 + case 42 : + // InternalSolverLanguage.g:1:256: T__56 { - mT__19(); + mT__56(); } break; - case 10 : - // InternalSolverLanguage.g:1:64: T__20 + case 43 : + // InternalSolverLanguage.g:1:262: T__57 { - mT__20(); + mT__57(); } break; - case 11 : - // InternalSolverLanguage.g:1:70: T__21 + case 44 : + // InternalSolverLanguage.g:1:268: T__58 { - mT__21(); + mT__58(); } break; - case 12 : - // InternalSolverLanguage.g:1:76: T__22 + case 45 : + // InternalSolverLanguage.g:1:274: T__59 { - mT__22(); + mT__59(); } break; - case 13 : - // InternalSolverLanguage.g:1:82: T__23 + case 46 : + // InternalSolverLanguage.g:1:280: T__60 { - mT__23(); + mT__60(); } break; - case 14 : - // InternalSolverLanguage.g:1:88: T__24 + case 47 : + // InternalSolverLanguage.g:1:286: T__61 { - mT__24(); + mT__61(); } break; - case 15 : - // InternalSolverLanguage.g:1:94: T__25 + case 48 : + // InternalSolverLanguage.g:1:292: T__62 { - mT__25(); + mT__62(); } break; - case 16 : - // InternalSolverLanguage.g:1:100: T__26 + case 49 : + // InternalSolverLanguage.g:1:298: T__63 { - mT__26(); + mT__63(); } break; - case 17 : - // InternalSolverLanguage.g:1:106: T__27 + case 50 : + // InternalSolverLanguage.g:1:304: T__64 { - mT__27(); + mT__64(); } break; - case 18 : - // InternalSolverLanguage.g:1:112: T__28 + case 51 : + // InternalSolverLanguage.g:1:310: T__65 { - mT__28(); + mT__65(); } break; - case 19 : - // InternalSolverLanguage.g:1:118: T__29 + case 52 : + // InternalSolverLanguage.g:1:316: T__66 { - mT__29(); + mT__66(); } break; - case 20 : - // InternalSolverLanguage.g:1:124: T__30 + case 53 : + // InternalSolverLanguage.g:1:322: T__67 { - mT__30(); + mT__67(); } break; - case 21 : - // InternalSolverLanguage.g:1:130: T__31 + case 54 : + // InternalSolverLanguage.g:1:328: T__68 { - mT__31(); + mT__68(); } break; - case 22 : - // InternalSolverLanguage.g:1:136: T__32 + case 55 : + // InternalSolverLanguage.g:1:334: T__69 { - mT__32(); + mT__69(); } break; - case 23 : - // InternalSolverLanguage.g:1:142: T__33 + case 56 : + // InternalSolverLanguage.g:1:340: T__70 { - mT__33(); + mT__70(); } break; - case 24 : - // InternalSolverLanguage.g:1:148: T__34 + case 57 : + // InternalSolverLanguage.g:1:346: T__71 { - mT__34(); + mT__71(); } break; - case 25 : - // InternalSolverLanguage.g:1:154: T__35 + case 58 : + // InternalSolverLanguage.g:1:352: T__72 { - mT__35(); + mT__72(); } break; - case 26 : - // InternalSolverLanguage.g:1:160: T__36 + case 59 : + // InternalSolverLanguage.g:1:358: T__73 { - mT__36(); + mT__73(); } break; - case 27 : - // InternalSolverLanguage.g:1:166: T__37 + case 60 : + // InternalSolverLanguage.g:1:364: T__74 { - mT__37(); + mT__74(); } break; - case 28 : - // InternalSolverLanguage.g:1:172: T__38 + case 61 : + // InternalSolverLanguage.g:1:370: RULE_STRING { - mT__38(); + mRULE_STRING(); } break; - case 29 : - // InternalSolverLanguage.g:1:178: T__39 + case 62 : + // InternalSolverLanguage.g:1:382: RULE_QUOTED_ID { - mT__39(); + mRULE_QUOTED_ID(); } break; - case 30 : - // InternalSolverLanguage.g:1:184: T__40 + case 63 : + // InternalSolverLanguage.g:1:397: RULE_PLUS { - mT__40(); + mRULE_PLUS(); } break; - case 31 : - // InternalSolverLanguage.g:1:190: T__41 + case 64 : + // InternalSolverLanguage.g:1:407: RULE_STAR { - mT__41(); + mRULE_STAR(); } break; - case 32 : - // InternalSolverLanguage.g:1:196: RULE_STRING + case 65 : + // InternalSolverLanguage.g:1:417: RULE_DOT { - mRULE_STRING(); + mRULE_DOT(); } break; - case 33 : - // InternalSolverLanguage.g:1:208: RULE_ID + case 66 : + // InternalSolverLanguage.g:1:426: RULE_ID { mRULE_ID(); } break; - case 34 : - // InternalSolverLanguage.g:1:216: RULE_INT + case 67 : + // InternalSolverLanguage.g:1:434: RULE_INT { mRULE_INT(); } break; - case 35 : - // InternalSolverLanguage.g:1:225: RULE_ML_COMMENT + case 68 : + // InternalSolverLanguage.g:1:443: RULE_ML_COMMENT { mRULE_ML_COMMENT(); } break; - case 36 : - // InternalSolverLanguage.g:1:241: RULE_SL_COMMENT + case 69 : + // InternalSolverLanguage.g:1:459: RULE_SL_COMMENT { mRULE_SL_COMMENT(); } break; - case 37 : - // InternalSolverLanguage.g:1:257: RULE_WS + case 70 : + // InternalSolverLanguage.g:1:475: RULE_WS { mRULE_WS(); } break; - case 38 : - // InternalSolverLanguage.g:1:265: RULE_ANY_OTHER + case 71 : + // InternalSolverLanguage.g:1:483: RULE_ANY_OTHER { mRULE_ANY_OTHER(); @@ -1401,286 +2394,408 @@ public class InternalSolverLanguageLexer extends Lexer { } - protected DFA10 dfa10 = new DFA10(this); - static final String DFA10_eotS = - "\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"; - static final String DFA10_eofS = - "\u0095\uffff"; - static final String DFA10_minS = - "\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"; - static final String DFA10_maxS = - "\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"; - static final String DFA10_acceptS = - "\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"; - static final String DFA10_specialS = - "\1\1\27\uffff\1\0\174\uffff}>"; - static final String[] DFA10_transitionS = { - "\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", - "\1\37", - "\1\41", - "", - "\1\43", - "\1\45", - "\1\51\2\uffff\1\50\1\46\5\uffff\1\47", - "\1\52", + protected DFA11 dfa11 = new DFA11(this); + static final String DFA11_eotS = + "\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"; + static final String DFA11_eofS = + "\u00f3\uffff"; + static final String DFA11_minS = + "\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"; + static final String DFA11_maxS = + "\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"; + static final String DFA11_acceptS = + "\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"; + static final String DFA11_specialS = + "\1\1\41\uffff\1\2\1\0\u00cf\uffff}>"; + static final String[] DFA11_transitionS = { + "\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", + "\32\51\4\uffff\1\51\1\uffff\32\51", "", - "", - "", - "\1\57", + "\1\54\7\uffff\1\53", + "\1\55", + "\1\56", "\1\60", - "\1\61", "\1\62", + "\1\64", "", + "\1\67", + "\1\71\4\uffff\1\72", + "\1\74\7\uffff\1\76\13\uffff\1\75", + "\1\101\2\uffff\1\100\5\uffff\1\77", + "\1\102\1\uffff\1\103", + "\1\105\21\uffff\1\104\3\uffff\1\106", + "\1\107", + "\1\111\23\uffff\1\110", + "\1\113\11\uffff\1\112", + "\1\114\23\uffff\1\115", + "\1\116", + "\1\121\1\122\4\uffff\1\117\5\uffff\1\120", + "\1\123", + "\1\125", + "\1\126", "", "", "", - "\1\67", - "\1\70\2\uffff\1\71", "", "", - "\1\74", - "\0\75", - "\32\40\4\uffff\1\40\1\uffff\32\40", "", "", - "\1\77\4\uffff\1\100", "", "", - "\1\102", + "\0\141", + "\0\142", "", - "\1\103", "", "", "", - "\1\104", - "\1\105", - "\1\106\12\uffff\1\107", - "\1\110", - "\1\111", "", "", "", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\5\51\1\146\15\51\1\145\6\51", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\1\151", "", "", - "\1\112", - "\1\113", - "\1\114\12\uffff\1\115", - "\1\116", "", "", "", "", - "\1\117", - "\1\120", - "\1\121", "", "", - "\1\122", "", "", "", "", "", - "\1\123", - "\1\124", - "\1\125", - "\1\126", - "\1\127", - "\1\130", - "\1\131", - "\1\132", - "\1\133", - "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", - "\1\135", - "\1\136", - "\1\137", - "\1\140", - "\1\141", - "\1\142", - "\1\143", - "\1\144", - "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", - "\1\146", - "\1\147", - "\1\150", - "\1\151", - "\1\152", - "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", - "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", "", - "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", + "\1\153\1\152", + "\1\154", + "\1\155", "\1\156", - "\1\157", - "\1\160", + "\1\160\6\uffff\1\157", "\1\161", "\1\162", "\1\163", - "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", - "", + "\1\164", "\1\165", - "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", + "\1\166", "\1\167", "\1\170", "\1\171", - "", - "", - "", "\1\172", "\1\173", "\1\174", - "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", + "\1\175", "\1\176", "\1\177", - "", "\1\u0080", - "", - "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", + "\1\u0081", "\1\u0082", - "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", - "\1\u0084", - "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", - "\1\u0086", "", - "\1\u0087", - "\1\u0088", - "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", "", - "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", + "\1\u0083", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "", - "\1\u008b", "", - "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", + "\1\u0086", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\10\51\1\u0088\21\51", + "\1\u008a", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\10\51\1\u008b\21\51", "\1\u008d", "\1\u008e", + "\1\u008f", + "\1\u0090", + "\1\u0091", + "\1\u0092", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\1\u0094", + "\1\u0095", + "\1\u0096", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\1\u0098", + "\1\u0099", + "\1\u009a", + "\1\u009b", + "\1\u009c", + "\1\u009d", + "\1\u009e", + "\1\u009f", + "\1\u00a0", + "\1\u00a1", + "\1\u00a2", "", "", - "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "", + "\1\u00a4", + "", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\1\u00a6", + "", + "\1\u00a7", + "\1\u00a8", + "\1\u00a9", + "\1\u00aa", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\1\u00ac", + "", + "\1\u00ad", + "\1\u00ae", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "", + "\1\u00b0", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\1\u00b3", + "\1\u00b4", + "\1\u00b5", + "\1\u00b6", + "\1\u00b8\3\uffff\1\u00b7", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\1\u00ba", + "\1\u00bb", + "", + "\1\u00bc", + "", + "\1\u00bd", + "\1\u00be", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\1\u00c0", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "", + "\1\u00c2", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\1\u00c4", + "", + "\1\u00c5", + "", + "", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\1\u00c7", + "\1\u00c8", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\1\u00ca", + "\1\u00cb", + "", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\1\u00cd", + "\1\u00ce", + "\1\u00cf", + "\1\u00d0", + "", + "\1\u00d1", + "", + "\1\u00d2", + "", + "\1\u00d3", + "\1\u00d4", + "", + "\1\u00d5", + "\1\u00d6", + "", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\1\u00d8", + "", + "\1\u00d9", + "\1\u00da", + "\1\u00db", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\1\u00dd", + "\1\u00de", + "\1\u00df", + "\1\u00e0", + "\1\u00e1", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\1\u00e9", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\1\u00eb", + "", + "", + "", + "", + "", + "", + "", + "\1\u00ec", + "", + "\1\u00ed", + "\1\u00ee", + "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", + "\1\u00f2\13\uffff\1\u00f0\2\uffff\1\u00f1", "", - "\1\u0090", - "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", "", - "\1\u0092", "", - "\1\u0093", - "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", "" }; - static final short[] DFA10_eot = DFA.unpackEncodedString(DFA10_eotS); - static final short[] DFA10_eof = DFA.unpackEncodedString(DFA10_eofS); - static final char[] DFA10_min = DFA.unpackEncodedStringToUnsignedChars(DFA10_minS); - static final char[] DFA10_max = DFA.unpackEncodedStringToUnsignedChars(DFA10_maxS); - static final short[] DFA10_accept = DFA.unpackEncodedString(DFA10_acceptS); - static final short[] DFA10_special = DFA.unpackEncodedString(DFA10_specialS); - static final short[][] DFA10_transition; + static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS); + static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS); + static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS); + static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS); + static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS); + static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS); + static final short[][] DFA11_transition; static { - int numStates = DFA10_transitionS.length; - DFA10_transition = new short[numStates][]; + int numStates = DFA11_transitionS.length; + DFA11_transition = new short[numStates][]; for (int i=0; i='\u0000' && LA10_24<='\uFFFF')) ) {s = 61;} + if ( ((LA11_35>='\u0000' && LA11_35<='\uFFFF')) ) {s = 98;} - else s = 30; + else s = 39; if ( s>=0 ) return s; break; case 1 : - int LA10_0 = input.LA(1); + int LA11_0 = input.LA(1); s = -1; - if ( (LA10_0=='f') ) {s = 1;} + if ( (LA11_0=='^') ) {s = 1;} + + else if ( (LA11_0=='*') ) {s = 2;} + + else if ( (LA11_0=='i') ) {s = 3;} + + else if ( (LA11_0=='r') ) {s = 4;} + + else if ( (LA11_0=='=') ) {s = 5;} + + else if ( (LA11_0=='!') ) {s = 6;} + + else if ( (LA11_0=='<') ) {s = 7;} + + else if ( (LA11_0=='>') ) {s = 8;} - else if ( (LA10_0=='t') ) {s = 2;} + else if ( (LA11_0=='+') ) {s = 9;} - else if ( (LA10_0=='-') ) {s = 3;} + else if ( (LA11_0=='-') ) {s = 10;} - else if ( (LA10_0=='.') ) {s = 4;} + else if ( (LA11_0=='/') ) {s = 11;} - else if ( (LA10_0=='u') ) {s = 5;} + else if ( (LA11_0=='m') ) {s = 12;} - else if ( (LA10_0=='e') ) {s = 6;} + else if ( (LA11_0=='c') ) {s = 13;} - else if ( (LA10_0==':') ) {s = 7;} + else if ( (LA11_0=='o') ) {s = 14;} - else if ( (LA10_0=='(') ) {s = 8;} + else if ( (LA11_0=='s') ) {s = 15;} - else if ( (LA10_0==')') ) {s = 9;} + else if ( (LA11_0=='p') ) {s = 16;} - else if ( (LA10_0==',') ) {s = 10;} + else if ( (LA11_0=='a') ) {s = 17;} - else if ( (LA10_0=='b') ) {s = 11;} + else if ( (LA11_0=='t') ) {s = 18;} - else if ( (LA10_0=='i') ) {s = 12;} + else if ( (LA11_0=='f') ) {s = 19;} - else if ( (LA10_0=='r') ) {s = 13;} + else if ( (LA11_0=='u') ) {s = 20;} - else if ( (LA10_0=='s') ) {s = 14;} + else if ( (LA11_0=='e') ) {s = 21;} - else if ( (LA10_0=='\'') ) {s = 15;} + else if ( (LA11_0==':') ) {s = 22;} - else if ( (LA10_0=='|') ) {s = 16;} + else if ( (LA11_0=='d') ) {s = 23;} - else if ( (LA10_0=='+') ) {s = 17;} + else if ( (LA11_0=='.') ) {s = 24;} - else if ( (LA10_0=='*') ) {s = 18;} + else if ( (LA11_0==';') ) {s = 25;} - else if ( (LA10_0=='d') ) {s = 19;} + else if ( (LA11_0==',') ) {s = 26;} - else if ( (LA10_0=='c') ) {s = 20;} + else if ( (LA11_0=='{') ) {s = 27;} - else if ( (LA10_0=='{') ) {s = 21;} + else if ( (LA11_0=='}') ) {s = 28;} - else if ( (LA10_0=='}') ) {s = 22;} + else if ( (LA11_0=='|') ) {s = 29;} - else if ( (LA10_0=='a') ) {s = 23;} + else if ( (LA11_0=='(') ) {s = 30;} - else if ( (LA10_0=='\"') ) {s = 24;} + else if ( (LA11_0==')') ) {s = 31;} - else if ( (LA10_0=='^') ) {s = 25;} + else if ( (LA11_0=='[') ) {s = 32;} - 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;} + else if ( (LA11_0==']') ) {s = 33;} - else if ( ((LA10_0>='0' && LA10_0<='9')) ) {s = 27;} + else if ( (LA11_0=='\"') ) {s = 34;} - else if ( (LA10_0=='/') ) {s = 28;} + else if ( (LA11_0=='\'') ) {s = 35;} - else if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) {s = 29;} + 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;} + + else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 37;} + + else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 38;} + + 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;} + + if ( s>=0 ) return s; + break; + case 2 : + int LA11_34 = input.LA(1); + + s = -1; + if ( ((LA11_34>='\u0000' && LA11_34<='\uFFFF')) ) {s = 97;} - 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;} + else s = 39; if ( s>=0 ) return s; break; } NoViableAltException nvae = - new NoViableAltException(getDescription(), 10, _s, input); + new NoViableAltException(getDescription(), 11, _s, input); error(nvae); throw nvae; } 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.*; import java.util.Stack; import java.util.List; import java.util.ArrayList; - +import java.util.Map; +import java.util.HashMap; @SuppressWarnings("all") public class InternalSolverLanguageParser extends AbstractInternalContentAssistParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "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'" + "", "", "", "", "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'" }; - public static final int RULE_STRING=6; - public static final int RULE_SL_COMMENT=8; + public static final int T__50=50; public static final int T__19=19; public static final int T__15=15; - public static final int T__37=37; + public static final int T__59=59; public static final int T__16=16; - public static final int T__38=38; public static final int T__17=17; - public static final int T__39=39; public static final int T__18=18; - public static final int T__11=11; - public static final int T__33=33; - public static final int T__12=12; - public static final int T__34=34; - public static final int T__13=13; - public static final int T__35=35; - public static final int T__14=14; - public static final int T__36=36; - public static final int EOF=-1; - public static final int T__30=30; - public static final int T__31=31; - public static final int T__32=32; - public static final int RULE_ID=5; - public static final int RULE_WS=9; - public static final int RULE_ANY_OTHER=10; + public static final int T__55=55; + public static final int T__56=56; + public static final int T__57=57; + public static final int T__58=58; + public static final int T__51=51; + public static final int RULE_STAR=8; + public static final int T__52=52; + public static final int T__53=53; + public static final int T__54=54; + public static final int T__60=60; + public static final int T__61=61; + public static final int RULE_ID=7; + public static final int RULE_QUOTED_ID=5; public static final int T__26=26; public static final int T__27=27; public static final int T__28=28; public static final int RULE_INT=4; public static final int T__29=29; public static final int T__22=22; - public static final int RULE_ML_COMMENT=7; + public static final int T__66=66; + public static final int RULE_ML_COMMENT=11; public static final int T__23=23; + public static final int T__67=67; public static final int T__24=24; + public static final int T__68=68; public static final int T__25=25; - public static final int T__40=40; - public static final int T__41=41; + public static final int T__69=69; + public static final int T__62=62; + public static final int T__63=63; public static final int T__20=20; + public static final int T__64=64; public static final int T__21=21; + public static final int T__65=65; + public static final int T__70=70; + public static final int T__71=71; + public static final int T__72=72; + public static final int RULE_STRING=10; + public static final int RULE_SL_COMMENT=12; + public static final int T__37=37; + public static final int T__38=38; + public static final int T__39=39; + public static final int T__33=33; + public static final int T__34=34; + public static final int T__35=35; + public static final int RULE_PLUS=9; + public static final int T__36=36; + public static final int T__73=73; + public static final int RULE_DOT=6; + public static final int EOF=-1; + public static final int T__30=30; + public static final int T__74=74; + public static final int T__31=31; + public static final int T__32=32; + public static final int RULE_WS=13; + public static final int RULE_ANY_OTHER=14; + public static final int T__48=48; + public static final int T__49=49; + public static final int T__44=44; + public static final int T__45=45; + public static final int T__46=46; + public static final int T__47=47; + public static final int T__40=40; + public static final int T__41=41; + public static final int T__42=42; + public static final int T__43=43; // delegates // delegators @@ -100,20 +134,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP // $ANTLR start "entryRuleProblem" - // InternalSolverLanguage.g:53:1: entryRuleProblem : ruleProblem EOF ; + // InternalSolverLanguage.g:54:1: entryRuleProblem : ruleProblem EOF ; public final void entryRuleProblem() throws RecognitionException { try { - // InternalSolverLanguage.g:54:1: ( ruleProblem EOF ) - // InternalSolverLanguage.g:55:1: ruleProblem EOF + // InternalSolverLanguage.g:55:1: ( ruleProblem EOF ) + // InternalSolverLanguage.g:56:1: ruleProblem EOF { - before(grammarAccess.getProblemRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getProblemRule()); + } pushFollow(FOLLOW_1); ruleProblem(); state._fsp--; - - after(grammarAccess.getProblemRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProblemRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -130,39 +168,41 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP // $ANTLR start "ruleProblem" - // InternalSolverLanguage.g:62:1: ruleProblem : ( ( rule__Problem__StatementsAssignment )* ) ; + // InternalSolverLanguage.g:63:1: ruleProblem : ( ( rule__Problem__StatementsAssignment )* ) ; public final void ruleProblem() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:66:2: ( ( ( rule__Problem__StatementsAssignment )* ) ) - // InternalSolverLanguage.g:67:2: ( ( rule__Problem__StatementsAssignment )* ) + // InternalSolverLanguage.g:67:2: ( ( ( rule__Problem__StatementsAssignment )* ) ) + // InternalSolverLanguage.g:68:2: ( ( rule__Problem__StatementsAssignment )* ) { - // InternalSolverLanguage.g:67:2: ( ( rule__Problem__StatementsAssignment )* ) - // InternalSolverLanguage.g:68:3: ( rule__Problem__StatementsAssignment )* - { - before(grammarAccess.getProblemAccess().getStatementsAssignment()); + // InternalSolverLanguage.g:68:2: ( ( rule__Problem__StatementsAssignment )* ) // InternalSolverLanguage.g:69:3: ( rule__Problem__StatementsAssignment )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProblemAccess().getStatementsAssignment()); + } + // InternalSolverLanguage.g:70:3: ( rule__Problem__StatementsAssignment )* loop1: do { int alt1=2; int LA1_0 = input.LA(1); - 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)) ) { + 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)) ) { alt1=1; } switch (alt1) { case 1 : - // InternalSolverLanguage.g:69:4: rule__Problem__StatementsAssignment + // InternalSolverLanguage.g:70:4: rule__Problem__StatementsAssignment { pushFollow(FOLLOW_3); rule__Problem__StatementsAssignment(); state._fsp--; - + if (state.failed) return ; } break; @@ -172,7 +212,9 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } } while (true); - after(grammarAccess.getProblemAccess().getStatementsAssignment()); + if ( state.backtracking==0 ) { + after(grammarAccess.getProblemAccess().getStatementsAssignment()); + } } @@ -195,20 +237,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP // $ANTLR start "entryRuleStatement" - // InternalSolverLanguage.g:78:1: entryRuleStatement : ruleStatement EOF ; + // InternalSolverLanguage.g:79:1: entryRuleStatement : ruleStatement EOF ; public final void entryRuleStatement() throws RecognitionException { try { - // InternalSolverLanguage.g:79:1: ( ruleStatement EOF ) - // InternalSolverLanguage.g:80:1: ruleStatement EOF + // InternalSolverLanguage.g:80:1: ( ruleStatement EOF ) + // InternalSolverLanguage.g:81:1: ruleStatement EOF { - before(grammarAccess.getStatementRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementRule()); + } pushFollow(FOLLOW_1); ruleStatement(); state._fsp--; - - after(grammarAccess.getStatementRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -225,31 +271,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP // $ANTLR start "ruleStatement" - // InternalSolverLanguage.g:87:1: ruleStatement : ( ( rule__Statement__Alternatives ) ) ; + // InternalSolverLanguage.g:88:1: ruleStatement : ( ( rule__Statement__Group__0 ) ) ; public final void ruleStatement() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:91:2: ( ( ( rule__Statement__Alternatives ) ) ) - // InternalSolverLanguage.g:92:2: ( ( rule__Statement__Alternatives ) ) + // InternalSolverLanguage.g:92:2: ( ( ( rule__Statement__Group__0 ) ) ) + // InternalSolverLanguage.g:93:2: ( ( rule__Statement__Group__0 ) ) { - // InternalSolverLanguage.g:92:2: ( ( rule__Statement__Alternatives ) ) - // InternalSolverLanguage.g:93:3: ( rule__Statement__Alternatives ) + // InternalSolverLanguage.g:93:2: ( ( rule__Statement__Group__0 ) ) + // InternalSolverLanguage.g:94:3: ( rule__Statement__Group__0 ) { - before(grammarAccess.getStatementAccess().getAlternatives()); - // InternalSolverLanguage.g:94:3: ( rule__Statement__Alternatives ) - // InternalSolverLanguage.g:94:4: rule__Statement__Alternatives + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getGroup()); + } + // InternalSolverLanguage.g:95:3: ( rule__Statement__Group__0 ) + // InternalSolverLanguage.g:95:4: rule__Statement__Group__0 { pushFollow(FOLLOW_2); - rule__Statement__Alternatives(); + rule__Statement__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getStatementAccess().getAlternatives()); + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getGroup()); + } } @@ -271,21 +321,25 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP // $ANTLR end "ruleStatement" - // $ANTLR start "entryRuleREALLiteral" - // InternalSolverLanguage.g:103:1: entryRuleREALLiteral : ruleREALLiteral EOF ; - public final void entryRuleREALLiteral() throws RecognitionException { + // $ANTLR start "entryRuleAssertionOrDefinition" + // InternalSolverLanguage.g:104:1: entryRuleAssertionOrDefinition : ruleAssertionOrDefinition EOF ; + public final void entryRuleAssertionOrDefinition() throws RecognitionException { try { - // InternalSolverLanguage.g:104:1: ( ruleREALLiteral EOF ) - // InternalSolverLanguage.g:105:1: ruleREALLiteral EOF + // InternalSolverLanguage.g:105:1: ( ruleAssertionOrDefinition EOF ) + // InternalSolverLanguage.g:106:1: ruleAssertionOrDefinition EOF { - before(grammarAccess.getREALLiteralRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionRule()); + } pushFollow(FOLLOW_1); - ruleREALLiteral(); + ruleAssertionOrDefinition(); state._fsp--; - - after(grammarAccess.getREALLiteralRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -298,35 +352,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleREALLiteral" + // $ANTLR end "entryRuleAssertionOrDefinition" - // $ANTLR start "ruleREALLiteral" - // InternalSolverLanguage.g:112:1: ruleREALLiteral : ( ( rule__REALLiteral__Group__0 ) ) ; - public final void ruleREALLiteral() throws RecognitionException { + // $ANTLR start "ruleAssertionOrDefinition" + // InternalSolverLanguage.g:113:1: ruleAssertionOrDefinition : ( ( rule__AssertionOrDefinition__Group__0 ) ) ; + public final void ruleAssertionOrDefinition() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:116:2: ( ( ( rule__REALLiteral__Group__0 ) ) ) - // InternalSolverLanguage.g:117:2: ( ( rule__REALLiteral__Group__0 ) ) + // InternalSolverLanguage.g:117:2: ( ( ( rule__AssertionOrDefinition__Group__0 ) ) ) + // InternalSolverLanguage.g:118:2: ( ( rule__AssertionOrDefinition__Group__0 ) ) { - // InternalSolverLanguage.g:117:2: ( ( rule__REALLiteral__Group__0 ) ) - // InternalSolverLanguage.g:118:3: ( rule__REALLiteral__Group__0 ) + // InternalSolverLanguage.g:118:2: ( ( rule__AssertionOrDefinition__Group__0 ) ) + // InternalSolverLanguage.g:119:3: ( rule__AssertionOrDefinition__Group__0 ) { - before(grammarAccess.getREALLiteralAccess().getGroup()); - // InternalSolverLanguage.g:119:3: ( rule__REALLiteral__Group__0 ) - // InternalSolverLanguage.g:119:4: rule__REALLiteral__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getGroup()); + } + // InternalSolverLanguage.g:120:3: ( rule__AssertionOrDefinition__Group__0 ) + // InternalSolverLanguage.g:120:4: rule__AssertionOrDefinition__Group__0 { pushFollow(FOLLOW_2); - rule__REALLiteral__Group__0(); + rule__AssertionOrDefinition__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getREALLiteralAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getGroup()); + } } @@ -345,24 +403,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleREALLiteral" + // $ANTLR end "ruleAssertionOrDefinition" - // $ANTLR start "entryRuleINTLiteral" - // InternalSolverLanguage.g:128:1: entryRuleINTLiteral : ruleINTLiteral EOF ; - public final void entryRuleINTLiteral() throws RecognitionException { + // $ANTLR start "entryRulePredicateDefinition" + // InternalSolverLanguage.g:129:1: entryRulePredicateDefinition : rulePredicateDefinition EOF ; + public final void entryRulePredicateDefinition() throws RecognitionException { try { - // InternalSolverLanguage.g:129:1: ( ruleINTLiteral EOF ) - // InternalSolverLanguage.g:130:1: ruleINTLiteral EOF + // InternalSolverLanguage.g:130:1: ( rulePredicateDefinition EOF ) + // InternalSolverLanguage.g:131:1: rulePredicateDefinition EOF { - before(grammarAccess.getINTLiteralRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionRule()); + } pushFollow(FOLLOW_1); - ruleINTLiteral(); + rulePredicateDefinition(); state._fsp--; - - after(grammarAccess.getINTLiteralRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -375,35 +437,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleINTLiteral" + // $ANTLR end "entryRulePredicateDefinition" - // $ANTLR start "ruleINTLiteral" - // InternalSolverLanguage.g:137:1: ruleINTLiteral : ( ( rule__INTLiteral__Group__0 ) ) ; - public final void ruleINTLiteral() throws RecognitionException { + // $ANTLR start "rulePredicateDefinition" + // InternalSolverLanguage.g:138:1: rulePredicateDefinition : ( ( rule__PredicateDefinition__Group__0 ) ) ; + public final void rulePredicateDefinition() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:141:2: ( ( ( rule__INTLiteral__Group__0 ) ) ) - // InternalSolverLanguage.g:142:2: ( ( rule__INTLiteral__Group__0 ) ) + // InternalSolverLanguage.g:142:2: ( ( ( rule__PredicateDefinition__Group__0 ) ) ) + // InternalSolverLanguage.g:143:2: ( ( rule__PredicateDefinition__Group__0 ) ) { - // InternalSolverLanguage.g:142:2: ( ( rule__INTLiteral__Group__0 ) ) - // InternalSolverLanguage.g:143:3: ( rule__INTLiteral__Group__0 ) + // InternalSolverLanguage.g:143:2: ( ( rule__PredicateDefinition__Group__0 ) ) + // InternalSolverLanguage.g:144:3: ( rule__PredicateDefinition__Group__0 ) { - before(grammarAccess.getINTLiteralAccess().getGroup()); - // InternalSolverLanguage.g:144:3: ( rule__INTLiteral__Group__0 ) - // InternalSolverLanguage.g:144:4: rule__INTLiteral__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getGroup()); + } + // InternalSolverLanguage.g:145:3: ( rule__PredicateDefinition__Group__0 ) + // InternalSolverLanguage.g:145:4: rule__PredicateDefinition__Group__0 { pushFollow(FOLLOW_2); - rule__INTLiteral__Group__0(); + rule__PredicateDefinition__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getINTLiteralAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getGroup()); + } } @@ -422,24 +488,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleINTLiteral" + // $ANTLR end "rulePredicateDefinition" - // $ANTLR start "entryRuleBooleanValue" - // InternalSolverLanguage.g:153:1: entryRuleBooleanValue : ruleBooleanValue EOF ; - public final void entryRuleBooleanValue() throws RecognitionException { + // $ANTLR start "entryRuleUnnamedErrorPrediateDefinition" + // InternalSolverLanguage.g:154:1: entryRuleUnnamedErrorPrediateDefinition : ruleUnnamedErrorPrediateDefinition EOF ; + public final void entryRuleUnnamedErrorPrediateDefinition() throws RecognitionException { try { - // InternalSolverLanguage.g:154:1: ( ruleBooleanValue EOF ) - // InternalSolverLanguage.g:155:1: ruleBooleanValue EOF + // InternalSolverLanguage.g:155:1: ( ruleUnnamedErrorPrediateDefinition EOF ) + // InternalSolverLanguage.g:156:1: ruleUnnamedErrorPrediateDefinition EOF { - before(grammarAccess.getBooleanValueRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); + } pushFollow(FOLLOW_1); - ruleBooleanValue(); + ruleUnnamedErrorPrediateDefinition(); state._fsp--; - - after(grammarAccess.getBooleanValueRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -452,35 +522,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleBooleanValue" + // $ANTLR end "entryRuleUnnamedErrorPrediateDefinition" - // $ANTLR start "ruleBooleanValue" - // InternalSolverLanguage.g:162:1: ruleBooleanValue : ( ( rule__BooleanValue__Alternatives ) ) ; - public final void ruleBooleanValue() throws RecognitionException { + // $ANTLR start "ruleUnnamedErrorPrediateDefinition" + // InternalSolverLanguage.g:163:1: ruleUnnamedErrorPrediateDefinition : ( ( rule__UnnamedErrorPrediateDefinition__Group__0 ) ) ; + public final void ruleUnnamedErrorPrediateDefinition() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:166:2: ( ( ( rule__BooleanValue__Alternatives ) ) ) - // InternalSolverLanguage.g:167:2: ( ( rule__BooleanValue__Alternatives ) ) + // InternalSolverLanguage.g:167:2: ( ( ( rule__UnnamedErrorPrediateDefinition__Group__0 ) ) ) + // InternalSolverLanguage.g:168:2: ( ( rule__UnnamedErrorPrediateDefinition__Group__0 ) ) { - // InternalSolverLanguage.g:167:2: ( ( rule__BooleanValue__Alternatives ) ) - // InternalSolverLanguage.g:168:3: ( rule__BooleanValue__Alternatives ) + // InternalSolverLanguage.g:168:2: ( ( rule__UnnamedErrorPrediateDefinition__Group__0 ) ) + // InternalSolverLanguage.g:169:3: ( rule__UnnamedErrorPrediateDefinition__Group__0 ) { - before(grammarAccess.getBooleanValueAccess().getAlternatives()); - // InternalSolverLanguage.g:169:3: ( rule__BooleanValue__Alternatives ) - // InternalSolverLanguage.g:169:4: rule__BooleanValue__Alternatives + if ( state.backtracking==0 ) { + before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getGroup()); + } + // InternalSolverLanguage.g:170:3: ( rule__UnnamedErrorPrediateDefinition__Group__0 ) + // InternalSolverLanguage.g:170:4: rule__UnnamedErrorPrediateDefinition__Group__0 { pushFollow(FOLLOW_2); - rule__BooleanValue__Alternatives(); + rule__UnnamedErrorPrediateDefinition__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getBooleanValueAccess().getAlternatives()); + if ( state.backtracking==0 ) { + after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getGroup()); + } } @@ -499,24 +573,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleBooleanValue" + // $ANTLR end "ruleUnnamedErrorPrediateDefinition" - // $ANTLR start "entryRuleTruthValue" - // InternalSolverLanguage.g:178:1: entryRuleTruthValue : ruleTruthValue EOF ; - public final void entryRuleTruthValue() throws RecognitionException { + // $ANTLR start "entryRuleDefaultDefinition" + // InternalSolverLanguage.g:179:1: entryRuleDefaultDefinition : ruleDefaultDefinition EOF ; + public final void entryRuleDefaultDefinition() throws RecognitionException { try { - // InternalSolverLanguage.g:179:1: ( ruleTruthValue EOF ) - // InternalSolverLanguage.g:180:1: ruleTruthValue EOF + // InternalSolverLanguage.g:180:1: ( ruleDefaultDefinition EOF ) + // InternalSolverLanguage.g:181:1: ruleDefaultDefinition EOF { - before(grammarAccess.getTruthValueRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getDefaultDefinitionRule()); + } pushFollow(FOLLOW_1); - ruleTruthValue(); + ruleDefaultDefinition(); state._fsp--; - - after(grammarAccess.getTruthValueRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDefaultDefinitionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -529,35 +607,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleTruthValue" + // $ANTLR end "entryRuleDefaultDefinition" - // $ANTLR start "ruleTruthValue" - // InternalSolverLanguage.g:187:1: ruleTruthValue : ( ( rule__TruthValue__Alternatives ) ) ; - public final void ruleTruthValue() throws RecognitionException { + // $ANTLR start "ruleDefaultDefinition" + // InternalSolverLanguage.g:188:1: ruleDefaultDefinition : ( ( rule__DefaultDefinition__Group__0 ) ) ; + public final void ruleDefaultDefinition() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:191:2: ( ( ( rule__TruthValue__Alternatives ) ) ) - // InternalSolverLanguage.g:192:2: ( ( rule__TruthValue__Alternatives ) ) + // InternalSolverLanguage.g:192:2: ( ( ( rule__DefaultDefinition__Group__0 ) ) ) + // InternalSolverLanguage.g:193:2: ( ( rule__DefaultDefinition__Group__0 ) ) { - // InternalSolverLanguage.g:192:2: ( ( rule__TruthValue__Alternatives ) ) - // InternalSolverLanguage.g:193:3: ( rule__TruthValue__Alternatives ) + // InternalSolverLanguage.g:193:2: ( ( rule__DefaultDefinition__Group__0 ) ) + // InternalSolverLanguage.g:194:3: ( rule__DefaultDefinition__Group__0 ) { - before(grammarAccess.getTruthValueAccess().getAlternatives()); - // InternalSolverLanguage.g:194:3: ( rule__TruthValue__Alternatives ) - // InternalSolverLanguage.g:194:4: rule__TruthValue__Alternatives + if ( state.backtracking==0 ) { + before(grammarAccess.getDefaultDefinitionAccess().getGroup()); + } + // InternalSolverLanguage.g:195:3: ( rule__DefaultDefinition__Group__0 ) + // InternalSolverLanguage.g:195:4: rule__DefaultDefinition__Group__0 { pushFollow(FOLLOW_2); - rule__TruthValue__Alternatives(); + rule__DefaultDefinition__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getTruthValueAccess().getAlternatives()); + if ( state.backtracking==0 ) { + after(grammarAccess.getDefaultDefinitionAccess().getGroup()); + } } @@ -576,24 +658,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleTruthValue" + // $ANTLR end "ruleDefaultDefinition" - // $ANTLR start "entryRuleInterpretation" - // InternalSolverLanguage.g:203:1: entryRuleInterpretation : ruleInterpretation EOF ; - public final void entryRuleInterpretation() throws RecognitionException { + // $ANTLR start "entryRuleExternPredicateDefinition" + // InternalSolverLanguage.g:204:1: entryRuleExternPredicateDefinition : ruleExternPredicateDefinition EOF ; + public final void entryRuleExternPredicateDefinition() throws RecognitionException { try { - // InternalSolverLanguage.g:204:1: ( ruleInterpretation EOF ) - // InternalSolverLanguage.g:205:1: ruleInterpretation EOF + // InternalSolverLanguage.g:205:1: ( ruleExternPredicateDefinition EOF ) + // InternalSolverLanguage.g:206:1: ruleExternPredicateDefinition EOF { - before(grammarAccess.getInterpretationRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getExternPredicateDefinitionRule()); + } pushFollow(FOLLOW_1); - ruleInterpretation(); + ruleExternPredicateDefinition(); state._fsp--; - - after(grammarAccess.getInterpretationRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExternPredicateDefinitionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -606,35 +692,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleInterpretation" + // $ANTLR end "entryRuleExternPredicateDefinition" - // $ANTLR start "ruleInterpretation" - // InternalSolverLanguage.g:212:1: ruleInterpretation : ( ( rule__Interpretation__Alternatives ) ) ; - public final void ruleInterpretation() throws RecognitionException { + // $ANTLR start "ruleExternPredicateDefinition" + // InternalSolverLanguage.g:213:1: ruleExternPredicateDefinition : ( ( rule__ExternPredicateDefinition__Group__0 ) ) ; + public final void ruleExternPredicateDefinition() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:216:2: ( ( ( rule__Interpretation__Alternatives ) ) ) - // InternalSolverLanguage.g:217:2: ( ( rule__Interpretation__Alternatives ) ) + // InternalSolverLanguage.g:217:2: ( ( ( rule__ExternPredicateDefinition__Group__0 ) ) ) + // InternalSolverLanguage.g:218:2: ( ( rule__ExternPredicateDefinition__Group__0 ) ) { - // InternalSolverLanguage.g:217:2: ( ( rule__Interpretation__Alternatives ) ) - // InternalSolverLanguage.g:218:3: ( rule__Interpretation__Alternatives ) + // InternalSolverLanguage.g:218:2: ( ( rule__ExternPredicateDefinition__Group__0 ) ) + // InternalSolverLanguage.g:219:3: ( rule__ExternPredicateDefinition__Group__0 ) { - before(grammarAccess.getInterpretationAccess().getAlternatives()); - // InternalSolverLanguage.g:219:3: ( rule__Interpretation__Alternatives ) - // InternalSolverLanguage.g:219:4: rule__Interpretation__Alternatives + if ( state.backtracking==0 ) { + before(grammarAccess.getExternPredicateDefinitionAccess().getGroup()); + } + // InternalSolverLanguage.g:220:3: ( rule__ExternPredicateDefinition__Group__0 ) + // InternalSolverLanguage.g:220:4: rule__ExternPredicateDefinition__Group__0 { pushFollow(FOLLOW_2); - rule__Interpretation__Alternatives(); + rule__ExternPredicateDefinition__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getInterpretationAccess().getAlternatives()); + if ( state.backtracking==0 ) { + after(grammarAccess.getExternPredicateDefinitionAccess().getGroup()); + } } @@ -653,24 +743,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleInterpretation" + // $ANTLR end "ruleExternPredicateDefinition" - // $ANTLR start "entryRuleBasicInterpretation" - // InternalSolverLanguage.g:228:1: entryRuleBasicInterpretation : ruleBasicInterpretation EOF ; - public final void entryRuleBasicInterpretation() throws RecognitionException { + // $ANTLR start "entryRuleMetricDefinition" + // InternalSolverLanguage.g:229:1: entryRuleMetricDefinition : ruleMetricDefinition EOF ; + public final void entryRuleMetricDefinition() throws RecognitionException { try { - // InternalSolverLanguage.g:229:1: ( ruleBasicInterpretation EOF ) - // InternalSolverLanguage.g:230:1: ruleBasicInterpretation EOF + // InternalSolverLanguage.g:230:1: ( ruleMetricDefinition EOF ) + // InternalSolverLanguage.g:231:1: ruleMetricDefinition EOF { - before(grammarAccess.getBasicInterpretationRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getMetricDefinitionRule()); + } pushFollow(FOLLOW_1); - ruleBasicInterpretation(); + ruleMetricDefinition(); state._fsp--; - - after(grammarAccess.getBasicInterpretationRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMetricDefinitionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -683,35 +777,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleBasicInterpretation" + // $ANTLR end "entryRuleMetricDefinition" - // $ANTLR start "ruleBasicInterpretation" - // InternalSolverLanguage.g:237:1: ruleBasicInterpretation : ( ( rule__BasicInterpretation__Group__0 ) ) ; - public final void ruleBasicInterpretation() throws RecognitionException { + // $ANTLR start "ruleMetricDefinition" + // InternalSolverLanguage.g:238:1: ruleMetricDefinition : ( ( rule__MetricDefinition__Group__0 ) ) ; + public final void ruleMetricDefinition() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:241:2: ( ( ( rule__BasicInterpretation__Group__0 ) ) ) - // InternalSolverLanguage.g:242:2: ( ( rule__BasicInterpretation__Group__0 ) ) + // InternalSolverLanguage.g:242:2: ( ( ( rule__MetricDefinition__Group__0 ) ) ) + // InternalSolverLanguage.g:243:2: ( ( rule__MetricDefinition__Group__0 ) ) { - // InternalSolverLanguage.g:242:2: ( ( rule__BasicInterpretation__Group__0 ) ) - // InternalSolverLanguage.g:243:3: ( rule__BasicInterpretation__Group__0 ) + // InternalSolverLanguage.g:243:2: ( ( rule__MetricDefinition__Group__0 ) ) + // InternalSolverLanguage.g:244:3: ( rule__MetricDefinition__Group__0 ) { - before(grammarAccess.getBasicInterpretationAccess().getGroup()); - // InternalSolverLanguage.g:244:3: ( rule__BasicInterpretation__Group__0 ) - // InternalSolverLanguage.g:244:4: rule__BasicInterpretation__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getMetricDefinitionAccess().getGroup()); + } + // InternalSolverLanguage.g:245:3: ( rule__MetricDefinition__Group__0 ) + // InternalSolverLanguage.g:245:4: rule__MetricDefinition__Group__0 { pushFollow(FOLLOW_2); - rule__BasicInterpretation__Group__0(); + rule__MetricDefinition__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getBasicInterpretationAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getMetricDefinitionAccess().getGroup()); + } } @@ -730,24 +828,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleBasicInterpretation" + // $ANTLR end "ruleMetricDefinition" - // $ANTLR start "entryRuleSymbol" - // InternalSolverLanguage.g:253:1: entryRuleSymbol : ruleSymbol EOF ; - public final void entryRuleSymbol() throws RecognitionException { + // $ANTLR start "entryRuleExternMetricDefinition" + // InternalSolverLanguage.g:254:1: entryRuleExternMetricDefinition : ruleExternMetricDefinition EOF ; + public final void entryRuleExternMetricDefinition() throws RecognitionException { try { - // InternalSolverLanguage.g:254:1: ( ruleSymbol EOF ) - // InternalSolverLanguage.g:255:1: ruleSymbol EOF + // InternalSolverLanguage.g:255:1: ( ruleExternMetricDefinition EOF ) + // InternalSolverLanguage.g:256:1: ruleExternMetricDefinition EOF { - before(grammarAccess.getSymbolRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getExternMetricDefinitionRule()); + } pushFollow(FOLLOW_1); - ruleSymbol(); + ruleExternMetricDefinition(); state._fsp--; - - after(grammarAccess.getSymbolRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExternMetricDefinitionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -760,35 +862,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleSymbol" + // $ANTLR end "entryRuleExternMetricDefinition" - // $ANTLR start "ruleSymbol" - // InternalSolverLanguage.g:262:1: ruleSymbol : ( ( rule__Symbol__Alternatives ) ) ; - public final void ruleSymbol() throws RecognitionException { + // $ANTLR start "ruleExternMetricDefinition" + // InternalSolverLanguage.g:263:1: ruleExternMetricDefinition : ( ( rule__ExternMetricDefinition__Group__0 ) ) ; + public final void ruleExternMetricDefinition() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:266:2: ( ( ( rule__Symbol__Alternatives ) ) ) - // InternalSolverLanguage.g:267:2: ( ( rule__Symbol__Alternatives ) ) + // InternalSolverLanguage.g:267:2: ( ( ( rule__ExternMetricDefinition__Group__0 ) ) ) + // InternalSolverLanguage.g:268:2: ( ( rule__ExternMetricDefinition__Group__0 ) ) { - // InternalSolverLanguage.g:267:2: ( ( rule__Symbol__Alternatives ) ) - // InternalSolverLanguage.g:268:3: ( rule__Symbol__Alternatives ) + // InternalSolverLanguage.g:268:2: ( ( rule__ExternMetricDefinition__Group__0 ) ) + // InternalSolverLanguage.g:269:3: ( rule__ExternMetricDefinition__Group__0 ) { - before(grammarAccess.getSymbolAccess().getAlternatives()); - // InternalSolverLanguage.g:269:3: ( rule__Symbol__Alternatives ) - // InternalSolverLanguage.g:269:4: rule__Symbol__Alternatives + if ( state.backtracking==0 ) { + before(grammarAccess.getExternMetricDefinitionAccess().getGroup()); + } + // InternalSolverLanguage.g:270:3: ( rule__ExternMetricDefinition__Group__0 ) + // InternalSolverLanguage.g:270:4: rule__ExternMetricDefinition__Group__0 { pushFollow(FOLLOW_2); - rule__Symbol__Alternatives(); + rule__ExternMetricDefinition__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getSymbolAccess().getAlternatives()); + if ( state.backtracking==0 ) { + after(grammarAccess.getExternMetricDefinitionAccess().getGroup()); + } } @@ -807,24 +913,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleSymbol" + // $ANTLR end "ruleExternMetricDefinition" - // $ANTLR start "entryRuleModelSymbol" - // InternalSolverLanguage.g:278:1: entryRuleModelSymbol : ruleModelSymbol EOF ; - public final void entryRuleModelSymbol() throws RecognitionException { + // $ANTLR start "entryRuleExpression" + // InternalSolverLanguage.g:279:1: entryRuleExpression : ruleExpression EOF ; + public final void entryRuleExpression() throws RecognitionException { try { - // InternalSolverLanguage.g:279:1: ( ruleModelSymbol EOF ) - // InternalSolverLanguage.g:280:1: ruleModelSymbol EOF + // InternalSolverLanguage.g:280:1: ( ruleExpression EOF ) + // InternalSolverLanguage.g:281:1: ruleExpression EOF { - before(grammarAccess.getModelSymbolRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionRule()); + } pushFollow(FOLLOW_1); - ruleModelSymbol(); + ruleExpression(); state._fsp--; - - after(grammarAccess.getModelSymbolRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -837,35 +947,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleModelSymbol" + // $ANTLR end "entryRuleExpression" - // $ANTLR start "ruleModelSymbol" - // InternalSolverLanguage.g:287:1: ruleModelSymbol : ( ( rule__ModelSymbol__NameAssignment ) ) ; - public final void ruleModelSymbol() throws RecognitionException { + // $ANTLR start "ruleExpression" + // InternalSolverLanguage.g:288:1: ruleExpression : ( ( rule__Expression__Alternatives ) ) ; + public final void ruleExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:291:2: ( ( ( rule__ModelSymbol__NameAssignment ) ) ) - // InternalSolverLanguage.g:292:2: ( ( rule__ModelSymbol__NameAssignment ) ) + // InternalSolverLanguage.g:292:2: ( ( ( rule__Expression__Alternatives ) ) ) + // InternalSolverLanguage.g:293:2: ( ( rule__Expression__Alternatives ) ) { - // InternalSolverLanguage.g:292:2: ( ( rule__ModelSymbol__NameAssignment ) ) - // InternalSolverLanguage.g:293:3: ( rule__ModelSymbol__NameAssignment ) + // InternalSolverLanguage.g:293:2: ( ( rule__Expression__Alternatives ) ) + // InternalSolverLanguage.g:294:3: ( rule__Expression__Alternatives ) { - before(grammarAccess.getModelSymbolAccess().getNameAssignment()); - // InternalSolverLanguage.g:294:3: ( rule__ModelSymbol__NameAssignment ) - // InternalSolverLanguage.g:294:4: rule__ModelSymbol__NameAssignment + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionAccess().getAlternatives()); + } + // InternalSolverLanguage.g:295:3: ( rule__Expression__Alternatives ) + // InternalSolverLanguage.g:295:4: rule__Expression__Alternatives { pushFollow(FOLLOW_2); - rule__ModelSymbol__NameAssignment(); + rule__Expression__Alternatives(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getModelSymbolAccess().getNameAssignment()); + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionAccess().getAlternatives()); + } } @@ -884,24 +998,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleModelSymbol" + // $ANTLR end "ruleExpression" - // $ANTLR start "entryRulePartialitySymbol" - // InternalSolverLanguage.g:303:1: entryRulePartialitySymbol : rulePartialitySymbol EOF ; - public final void entryRulePartialitySymbol() throws RecognitionException { + // $ANTLR start "entryRuleIfElse" + // InternalSolverLanguage.g:304:1: entryRuleIfElse : ruleIfElse EOF ; + public final void entryRuleIfElse() throws RecognitionException { try { - // InternalSolverLanguage.g:304:1: ( rulePartialitySymbol EOF ) - // InternalSolverLanguage.g:305:1: rulePartialitySymbol EOF + // InternalSolverLanguage.g:305:1: ( ruleIfElse EOF ) + // InternalSolverLanguage.g:306:1: ruleIfElse EOF { - before(grammarAccess.getPartialitySymbolRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getIfElseRule()); + } pushFollow(FOLLOW_1); - rulePartialitySymbol(); + ruleIfElse(); state._fsp--; - - after(grammarAccess.getPartialitySymbolRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfElseRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -914,35 +1032,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRulePartialitySymbol" + // $ANTLR end "entryRuleIfElse" - // $ANTLR start "rulePartialitySymbol" - // InternalSolverLanguage.g:312:1: rulePartialitySymbol : ( ( rule__PartialitySymbol__Alternatives ) ) ; - public final void rulePartialitySymbol() throws RecognitionException { + // $ANTLR start "ruleIfElse" + // InternalSolverLanguage.g:313:1: ruleIfElse : ( ( rule__IfElse__Group__0 ) ) ; + public final void ruleIfElse() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:316:2: ( ( ( rule__PartialitySymbol__Alternatives ) ) ) - // InternalSolverLanguage.g:317:2: ( ( rule__PartialitySymbol__Alternatives ) ) + // InternalSolverLanguage.g:317:2: ( ( ( rule__IfElse__Group__0 ) ) ) + // InternalSolverLanguage.g:318:2: ( ( rule__IfElse__Group__0 ) ) { - // InternalSolverLanguage.g:317:2: ( ( rule__PartialitySymbol__Alternatives ) ) - // InternalSolverLanguage.g:318:3: ( rule__PartialitySymbol__Alternatives ) + // InternalSolverLanguage.g:318:2: ( ( rule__IfElse__Group__0 ) ) + // InternalSolverLanguage.g:319:3: ( rule__IfElse__Group__0 ) { - before(grammarAccess.getPartialitySymbolAccess().getAlternatives()); - // InternalSolverLanguage.g:319:3: ( rule__PartialitySymbol__Alternatives ) - // InternalSolverLanguage.g:319:4: rule__PartialitySymbol__Alternatives + if ( state.backtracking==0 ) { + before(grammarAccess.getIfElseAccess().getGroup()); + } + // InternalSolverLanguage.g:320:3: ( rule__IfElse__Group__0 ) + // InternalSolverLanguage.g:320:4: rule__IfElse__Group__0 { pushFollow(FOLLOW_2); - rule__PartialitySymbol__Alternatives(); + rule__IfElse__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getPartialitySymbolAccess().getAlternatives()); + if ( state.backtracking==0 ) { + after(grammarAccess.getIfElseAccess().getGroup()); + } } @@ -961,24 +1083,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rulePartialitySymbol" + // $ANTLR end "ruleIfElse" - // $ANTLR start "entryRuleExistSymbol" - // InternalSolverLanguage.g:328:1: entryRuleExistSymbol : ruleExistSymbol EOF ; - public final void entryRuleExistSymbol() throws RecognitionException { + // $ANTLR start "entryRuleDisjunctiveExpression" + // InternalSolverLanguage.g:329:1: entryRuleDisjunctiveExpression : ruleDisjunctiveExpression EOF ; + public final void entryRuleDisjunctiveExpression() throws RecognitionException { try { - // InternalSolverLanguage.g:329:1: ( ruleExistSymbol EOF ) - // InternalSolverLanguage.g:330:1: ruleExistSymbol EOF + // InternalSolverLanguage.g:330:1: ( ruleDisjunctiveExpression EOF ) + // InternalSolverLanguage.g:331:1: ruleDisjunctiveExpression EOF { - before(grammarAccess.getExistSymbolRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionRule()); + } pushFollow(FOLLOW_1); - ruleExistSymbol(); + ruleDisjunctiveExpression(); state._fsp--; - - after(grammarAccess.getExistSymbolRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -991,35 +1117,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleExistSymbol" + // $ANTLR end "entryRuleDisjunctiveExpression" - // $ANTLR start "ruleExistSymbol" - // InternalSolverLanguage.g:337:1: ruleExistSymbol : ( ( rule__ExistSymbol__Group__0 ) ) ; - public final void ruleExistSymbol() throws RecognitionException { + // $ANTLR start "ruleDisjunctiveExpression" + // InternalSolverLanguage.g:338:1: ruleDisjunctiveExpression : ( ( rule__DisjunctiveExpression__Group__0 ) ) ; + public final void ruleDisjunctiveExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:341:2: ( ( ( rule__ExistSymbol__Group__0 ) ) ) - // InternalSolverLanguage.g:342:2: ( ( rule__ExistSymbol__Group__0 ) ) + // InternalSolverLanguage.g:342:2: ( ( ( rule__DisjunctiveExpression__Group__0 ) ) ) + // InternalSolverLanguage.g:343:2: ( ( rule__DisjunctiveExpression__Group__0 ) ) { - // InternalSolverLanguage.g:342:2: ( ( rule__ExistSymbol__Group__0 ) ) - // InternalSolverLanguage.g:343:3: ( rule__ExistSymbol__Group__0 ) + // InternalSolverLanguage.g:343:2: ( ( rule__DisjunctiveExpression__Group__0 ) ) + // InternalSolverLanguage.g:344:3: ( rule__DisjunctiveExpression__Group__0 ) { - before(grammarAccess.getExistSymbolAccess().getGroup()); - // InternalSolverLanguage.g:344:3: ( rule__ExistSymbol__Group__0 ) - // InternalSolverLanguage.g:344:4: rule__ExistSymbol__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getGroup()); + } + // InternalSolverLanguage.g:345:3: ( rule__DisjunctiveExpression__Group__0 ) + // InternalSolverLanguage.g:345:4: rule__DisjunctiveExpression__Group__0 { pushFollow(FOLLOW_2); - rule__ExistSymbol__Group__0(); + rule__DisjunctiveExpression__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getExistSymbolAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getGroup()); + } } @@ -1038,24 +1168,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleExistSymbol" + // $ANTLR end "ruleDisjunctiveExpression" - // $ANTLR start "entryRuleEqualsSymbol" - // InternalSolverLanguage.g:353:1: entryRuleEqualsSymbol : ruleEqualsSymbol EOF ; - public final void entryRuleEqualsSymbol() throws RecognitionException { + // $ANTLR start "entryRuleCase" + // InternalSolverLanguage.g:354:1: entryRuleCase : ruleCase EOF ; + public final void entryRuleCase() throws RecognitionException { try { - // InternalSolverLanguage.g:354:1: ( ruleEqualsSymbol EOF ) - // InternalSolverLanguage.g:355:1: ruleEqualsSymbol EOF + // InternalSolverLanguage.g:355:1: ( ruleCase EOF ) + // InternalSolverLanguage.g:356:1: ruleCase EOF { - before(grammarAccess.getEqualsSymbolRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseRule()); + } pushFollow(FOLLOW_1); - ruleEqualsSymbol(); + ruleCase(); state._fsp--; - - after(grammarAccess.getEqualsSymbolRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -1068,35 +1202,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleEqualsSymbol" + // $ANTLR end "entryRuleCase" - // $ANTLR start "ruleEqualsSymbol" - // InternalSolverLanguage.g:362:1: ruleEqualsSymbol : ( ( rule__EqualsSymbol__Group__0 ) ) ; - public final void ruleEqualsSymbol() throws RecognitionException { + // $ANTLR start "ruleCase" + // InternalSolverLanguage.g:363:1: ruleCase : ( ( rule__Case__Group__0 ) ) ; + public final void ruleCase() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:366:2: ( ( ( rule__EqualsSymbol__Group__0 ) ) ) - // InternalSolverLanguage.g:367:2: ( ( rule__EqualsSymbol__Group__0 ) ) + // InternalSolverLanguage.g:367:2: ( ( ( rule__Case__Group__0 ) ) ) + // InternalSolverLanguage.g:368:2: ( ( rule__Case__Group__0 ) ) { - // InternalSolverLanguage.g:367:2: ( ( rule__EqualsSymbol__Group__0 ) ) - // InternalSolverLanguage.g:368:3: ( rule__EqualsSymbol__Group__0 ) + // InternalSolverLanguage.g:368:2: ( ( rule__Case__Group__0 ) ) + // InternalSolverLanguage.g:369:3: ( rule__Case__Group__0 ) { - before(grammarAccess.getEqualsSymbolAccess().getGroup()); - // InternalSolverLanguage.g:369:3: ( rule__EqualsSymbol__Group__0 ) - // InternalSolverLanguage.g:369:4: rule__EqualsSymbol__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseAccess().getGroup()); + } + // InternalSolverLanguage.g:370:3: ( rule__Case__Group__0 ) + // InternalSolverLanguage.g:370:4: rule__Case__Group__0 { pushFollow(FOLLOW_2); - rule__EqualsSymbol__Group__0(); + rule__Case__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getEqualsSymbolAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseAccess().getGroup()); + } } @@ -1115,24 +1253,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleEqualsSymbol" + // $ANTLR end "ruleCase" - // $ANTLR start "entryRuleDataSymbol" - // InternalSolverLanguage.g:378:1: entryRuleDataSymbol : ruleDataSymbol EOF ; - public final void entryRuleDataSymbol() throws RecognitionException { + // $ANTLR start "entryRuleConjunctiveExpression" + // InternalSolverLanguage.g:379:1: entryRuleConjunctiveExpression : ruleConjunctiveExpression EOF ; + public final void entryRuleConjunctiveExpression() throws RecognitionException { try { - // InternalSolverLanguage.g:379:1: ( ruleDataSymbol EOF ) - // InternalSolverLanguage.g:380:1: ruleDataSymbol EOF + // InternalSolverLanguage.g:380:1: ( ruleConjunctiveExpression EOF ) + // InternalSolverLanguage.g:381:1: ruleConjunctiveExpression EOF { - before(grammarAccess.getDataSymbolRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctiveExpressionRule()); + } pushFollow(FOLLOW_1); - ruleDataSymbol(); + ruleConjunctiveExpression(); state._fsp--; - - after(grammarAccess.getDataSymbolRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctiveExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -1145,35 +1287,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleDataSymbol" + // $ANTLR end "entryRuleConjunctiveExpression" - // $ANTLR start "ruleDataSymbol" - // InternalSolverLanguage.g:387:1: ruleDataSymbol : ( ( rule__DataSymbol__Alternatives ) ) ; - public final void ruleDataSymbol() throws RecognitionException { + // $ANTLR start "ruleConjunctiveExpression" + // InternalSolverLanguage.g:388:1: ruleConjunctiveExpression : ( ( rule__ConjunctiveExpression__Group__0 ) ) ; + public final void ruleConjunctiveExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:391:2: ( ( ( rule__DataSymbol__Alternatives ) ) ) - // InternalSolverLanguage.g:392:2: ( ( rule__DataSymbol__Alternatives ) ) + // InternalSolverLanguage.g:392:2: ( ( ( rule__ConjunctiveExpression__Group__0 ) ) ) + // InternalSolverLanguage.g:393:2: ( ( rule__ConjunctiveExpression__Group__0 ) ) { - // InternalSolverLanguage.g:392:2: ( ( rule__DataSymbol__Alternatives ) ) - // InternalSolverLanguage.g:393:3: ( rule__DataSymbol__Alternatives ) + // InternalSolverLanguage.g:393:2: ( ( rule__ConjunctiveExpression__Group__0 ) ) + // InternalSolverLanguage.g:394:3: ( rule__ConjunctiveExpression__Group__0 ) { - before(grammarAccess.getDataSymbolAccess().getAlternatives()); - // InternalSolverLanguage.g:394:3: ( rule__DataSymbol__Alternatives ) - // InternalSolverLanguage.g:394:4: rule__DataSymbol__Alternatives + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctiveExpressionAccess().getGroup()); + } + // InternalSolverLanguage.g:395:3: ( rule__ConjunctiveExpression__Group__0 ) + // InternalSolverLanguage.g:395:4: rule__ConjunctiveExpression__Group__0 { pushFollow(FOLLOW_2); - rule__DataSymbol__Alternatives(); + rule__ConjunctiveExpression__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getDataSymbolAccess().getAlternatives()); + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctiveExpressionAccess().getGroup()); + } } @@ -1192,24 +1338,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleDataSymbol" + // $ANTLR end "ruleConjunctiveExpression" - // $ANTLR start "entryRuleBooleanSymbol" - // InternalSolverLanguage.g:403:1: entryRuleBooleanSymbol : ruleBooleanSymbol EOF ; - public final void entryRuleBooleanSymbol() throws RecognitionException { + // $ANTLR start "entryRuleComparisonExpression" + // InternalSolverLanguage.g:404:1: entryRuleComparisonExpression : ruleComparisonExpression EOF ; + public final void entryRuleComparisonExpression() throws RecognitionException { try { - // InternalSolverLanguage.g:404:1: ( ruleBooleanSymbol EOF ) - // InternalSolverLanguage.g:405:1: ruleBooleanSymbol EOF + // InternalSolverLanguage.g:405:1: ( ruleComparisonExpression EOF ) + // InternalSolverLanguage.g:406:1: ruleComparisonExpression EOF { - before(grammarAccess.getBooleanSymbolRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonExpressionRule()); + } pushFollow(FOLLOW_1); - ruleBooleanSymbol(); + ruleComparisonExpression(); state._fsp--; - - after(grammarAccess.getBooleanSymbolRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -1222,35 +1372,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleBooleanSymbol" + // $ANTLR end "entryRuleComparisonExpression" - // $ANTLR start "ruleBooleanSymbol" - // InternalSolverLanguage.g:412:1: ruleBooleanSymbol : ( ( rule__BooleanSymbol__Group__0 ) ) ; - public final void ruleBooleanSymbol() throws RecognitionException { + // $ANTLR start "ruleComparisonExpression" + // InternalSolverLanguage.g:413:1: ruleComparisonExpression : ( ( rule__ComparisonExpression__Group__0 ) ) ; + public final void ruleComparisonExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:416:2: ( ( ( rule__BooleanSymbol__Group__0 ) ) ) - // InternalSolverLanguage.g:417:2: ( ( rule__BooleanSymbol__Group__0 ) ) + // InternalSolverLanguage.g:417:2: ( ( ( rule__ComparisonExpression__Group__0 ) ) ) + // InternalSolverLanguage.g:418:2: ( ( rule__ComparisonExpression__Group__0 ) ) { - // InternalSolverLanguage.g:417:2: ( ( rule__BooleanSymbol__Group__0 ) ) - // InternalSolverLanguage.g:418:3: ( rule__BooleanSymbol__Group__0 ) + // InternalSolverLanguage.g:418:2: ( ( rule__ComparisonExpression__Group__0 ) ) + // InternalSolverLanguage.g:419:3: ( rule__ComparisonExpression__Group__0 ) { - before(grammarAccess.getBooleanSymbolAccess().getGroup()); - // InternalSolverLanguage.g:419:3: ( rule__BooleanSymbol__Group__0 ) - // InternalSolverLanguage.g:419:4: rule__BooleanSymbol__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonExpressionAccess().getGroup()); + } + // InternalSolverLanguage.g:420:3: ( rule__ComparisonExpression__Group__0 ) + // InternalSolverLanguage.g:420:4: rule__ComparisonExpression__Group__0 { pushFollow(FOLLOW_2); - rule__BooleanSymbol__Group__0(); + rule__ComparisonExpression__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getBooleanSymbolAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonExpressionAccess().getGroup()); + } } @@ -1269,24 +1423,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleBooleanSymbol" + // $ANTLR end "ruleComparisonExpression" - // $ANTLR start "entryRuleIntegerSymbol" - // InternalSolverLanguage.g:428:1: entryRuleIntegerSymbol : ruleIntegerSymbol EOF ; - public final void entryRuleIntegerSymbol() throws RecognitionException { + // $ANTLR start "entryRuleAdditiveExpression" + // InternalSolverLanguage.g:429:1: entryRuleAdditiveExpression : ruleAdditiveExpression EOF ; + public final void entryRuleAdditiveExpression() throws RecognitionException { try { - // InternalSolverLanguage.g:429:1: ( ruleIntegerSymbol EOF ) - // InternalSolverLanguage.g:430:1: ruleIntegerSymbol EOF + // InternalSolverLanguage.g:430:1: ( ruleAdditiveExpression EOF ) + // InternalSolverLanguage.g:431:1: ruleAdditiveExpression EOF { - before(grammarAccess.getIntegerSymbolRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionRule()); + } pushFollow(FOLLOW_1); - ruleIntegerSymbol(); + ruleAdditiveExpression(); state._fsp--; - - after(grammarAccess.getIntegerSymbolRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -1299,35 +1457,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleIntegerSymbol" + // $ANTLR end "entryRuleAdditiveExpression" - // $ANTLR start "ruleIntegerSymbol" - // InternalSolverLanguage.g:437:1: ruleIntegerSymbol : ( ( rule__IntegerSymbol__Group__0 ) ) ; - public final void ruleIntegerSymbol() throws RecognitionException { + // $ANTLR start "ruleAdditiveExpression" + // InternalSolverLanguage.g:438:1: ruleAdditiveExpression : ( ( rule__AdditiveExpression__Group__0 ) ) ; + public final void ruleAdditiveExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:441:2: ( ( ( rule__IntegerSymbol__Group__0 ) ) ) - // InternalSolverLanguage.g:442:2: ( ( rule__IntegerSymbol__Group__0 ) ) + // InternalSolverLanguage.g:442:2: ( ( ( rule__AdditiveExpression__Group__0 ) ) ) + // InternalSolverLanguage.g:443:2: ( ( rule__AdditiveExpression__Group__0 ) ) { - // InternalSolverLanguage.g:442:2: ( ( rule__IntegerSymbol__Group__0 ) ) - // InternalSolverLanguage.g:443:3: ( rule__IntegerSymbol__Group__0 ) + // InternalSolverLanguage.g:443:2: ( ( rule__AdditiveExpression__Group__0 ) ) + // InternalSolverLanguage.g:444:3: ( rule__AdditiveExpression__Group__0 ) { - before(grammarAccess.getIntegerSymbolAccess().getGroup()); - // InternalSolverLanguage.g:444:3: ( rule__IntegerSymbol__Group__0 ) - // InternalSolverLanguage.g:444:4: rule__IntegerSymbol__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getGroup()); + } + // InternalSolverLanguage.g:445:3: ( rule__AdditiveExpression__Group__0 ) + // InternalSolverLanguage.g:445:4: rule__AdditiveExpression__Group__0 { pushFollow(FOLLOW_2); - rule__IntegerSymbol__Group__0(); + rule__AdditiveExpression__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getIntegerSymbolAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getGroup()); + } } @@ -1346,24 +1508,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleIntegerSymbol" + // $ANTLR end "ruleAdditiveExpression" - // $ANTLR start "entryRuleRealSymbol" - // InternalSolverLanguage.g:453:1: entryRuleRealSymbol : ruleRealSymbol EOF ; - public final void entryRuleRealSymbol() throws RecognitionException { + // $ANTLR start "entryRuleMultiplicativeExpression" + // InternalSolverLanguage.g:454:1: entryRuleMultiplicativeExpression : ruleMultiplicativeExpression EOF ; + public final void entryRuleMultiplicativeExpression() throws RecognitionException { try { - // InternalSolverLanguage.g:454:1: ( ruleRealSymbol EOF ) - // InternalSolverLanguage.g:455:1: ruleRealSymbol EOF + // InternalSolverLanguage.g:455:1: ( ruleMultiplicativeExpression EOF ) + // InternalSolverLanguage.g:456:1: ruleMultiplicativeExpression EOF { - before(grammarAccess.getRealSymbolRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionRule()); + } pushFollow(FOLLOW_1); - ruleRealSymbol(); + ruleMultiplicativeExpression(); state._fsp--; - - after(grammarAccess.getRealSymbolRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -1376,35 +1542,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleRealSymbol" + // $ANTLR end "entryRuleMultiplicativeExpression" - // $ANTLR start "ruleRealSymbol" - // InternalSolverLanguage.g:462:1: ruleRealSymbol : ( ( rule__RealSymbol__Group__0 ) ) ; - public final void ruleRealSymbol() throws RecognitionException { + // $ANTLR start "ruleMultiplicativeExpression" + // InternalSolverLanguage.g:463:1: ruleMultiplicativeExpression : ( ( rule__MultiplicativeExpression__Group__0 ) ) ; + public final void ruleMultiplicativeExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:466:2: ( ( ( rule__RealSymbol__Group__0 ) ) ) - // InternalSolverLanguage.g:467:2: ( ( rule__RealSymbol__Group__0 ) ) + // InternalSolverLanguage.g:467:2: ( ( ( rule__MultiplicativeExpression__Group__0 ) ) ) + // InternalSolverLanguage.g:468:2: ( ( rule__MultiplicativeExpression__Group__0 ) ) { - // InternalSolverLanguage.g:467:2: ( ( rule__RealSymbol__Group__0 ) ) - // InternalSolverLanguage.g:468:3: ( rule__RealSymbol__Group__0 ) + // InternalSolverLanguage.g:468:2: ( ( rule__MultiplicativeExpression__Group__0 ) ) + // InternalSolverLanguage.g:469:3: ( rule__MultiplicativeExpression__Group__0 ) { - before(grammarAccess.getRealSymbolAccess().getGroup()); - // InternalSolverLanguage.g:469:3: ( rule__RealSymbol__Group__0 ) - // InternalSolverLanguage.g:469:4: rule__RealSymbol__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getGroup()); + } + // InternalSolverLanguage.g:470:3: ( rule__MultiplicativeExpression__Group__0 ) + // InternalSolverLanguage.g:470:4: rule__MultiplicativeExpression__Group__0 { pushFollow(FOLLOW_2); - rule__RealSymbol__Group__0(); + rule__MultiplicativeExpression__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getRealSymbolAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getGroup()); + } } @@ -1423,24 +1593,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleRealSymbol" + // $ANTLR end "ruleMultiplicativeExpression" - // $ANTLR start "entryRuleStringSymbol" - // InternalSolverLanguage.g:478:1: entryRuleStringSymbol : ruleStringSymbol EOF ; - public final void entryRuleStringSymbol() throws RecognitionException { + // $ANTLR start "entryRuleExponentialExpression" + // InternalSolverLanguage.g:479:1: entryRuleExponentialExpression : ruleExponentialExpression EOF ; + public final void entryRuleExponentialExpression() throws RecognitionException { try { - // InternalSolverLanguage.g:479:1: ( ruleStringSymbol EOF ) - // InternalSolverLanguage.g:480:1: ruleStringSymbol EOF + // InternalSolverLanguage.g:480:1: ( ruleExponentialExpression EOF ) + // InternalSolverLanguage.g:481:1: ruleExponentialExpression EOF { - before(grammarAccess.getStringSymbolRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getExponentialExpressionRule()); + } pushFollow(FOLLOW_1); - ruleStringSymbol(); + ruleExponentialExpression(); state._fsp--; - - after(grammarAccess.getStringSymbolRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExponentialExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -1453,35 +1627,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleStringSymbol" + // $ANTLR end "entryRuleExponentialExpression" - // $ANTLR start "ruleStringSymbol" - // InternalSolverLanguage.g:487:1: ruleStringSymbol : ( ( rule__StringSymbol__Group__0 ) ) ; - public final void ruleStringSymbol() throws RecognitionException { + // $ANTLR start "ruleExponentialExpression" + // InternalSolverLanguage.g:488:1: ruleExponentialExpression : ( ( rule__ExponentialExpression__Group__0 ) ) ; + public final void ruleExponentialExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:491:2: ( ( ( rule__StringSymbol__Group__0 ) ) ) - // InternalSolverLanguage.g:492:2: ( ( rule__StringSymbol__Group__0 ) ) + // InternalSolverLanguage.g:492:2: ( ( ( rule__ExponentialExpression__Group__0 ) ) ) + // InternalSolverLanguage.g:493:2: ( ( rule__ExponentialExpression__Group__0 ) ) { - // InternalSolverLanguage.g:492:2: ( ( rule__StringSymbol__Group__0 ) ) - // InternalSolverLanguage.g:493:3: ( rule__StringSymbol__Group__0 ) + // InternalSolverLanguage.g:493:2: ( ( rule__ExponentialExpression__Group__0 ) ) + // InternalSolverLanguage.g:494:3: ( rule__ExponentialExpression__Group__0 ) { - before(grammarAccess.getStringSymbolAccess().getGroup()); - // InternalSolverLanguage.g:494:3: ( rule__StringSymbol__Group__0 ) - // InternalSolverLanguage.g:494:4: rule__StringSymbol__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getExponentialExpressionAccess().getGroup()); + } + // InternalSolverLanguage.g:495:3: ( rule__ExponentialExpression__Group__0 ) + // InternalSolverLanguage.g:495:4: rule__ExponentialExpression__Group__0 { pushFollow(FOLLOW_2); - rule__StringSymbol__Group__0(); + rule__ExponentialExpression__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getStringSymbolAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getExponentialExpressionAccess().getGroup()); + } } @@ -1500,24 +1678,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleStringSymbol" + // $ANTLR end "ruleExponentialExpression" - // $ANTLR start "entryRuleComplexObject" - // InternalSolverLanguage.g:503:1: entryRuleComplexObject : ruleComplexObject EOF ; - public final void entryRuleComplexObject() throws RecognitionException { + // $ANTLR start "entryRuleUnaryExpression" + // InternalSolverLanguage.g:504:1: entryRuleUnaryExpression : ruleUnaryExpression EOF ; + public final void entryRuleUnaryExpression() throws RecognitionException { try { - // InternalSolverLanguage.g:504:1: ( ruleComplexObject EOF ) - // InternalSolverLanguage.g:505:1: ruleComplexObject EOF + // InternalSolverLanguage.g:505:1: ( ruleUnaryExpression EOF ) + // InternalSolverLanguage.g:506:1: ruleUnaryExpression EOF { - before(grammarAccess.getComplexObjectRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionRule()); + } pushFollow(FOLLOW_1); - ruleComplexObject(); + ruleUnaryExpression(); state._fsp--; - - after(grammarAccess.getComplexObjectRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -1530,35 +1712,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleComplexObject" + // $ANTLR end "entryRuleUnaryExpression" - // $ANTLR start "ruleComplexObject" - // InternalSolverLanguage.g:512:1: ruleComplexObject : ( ( rule__ComplexObject__Alternatives ) ) ; - public final void ruleComplexObject() throws RecognitionException { + // $ANTLR start "ruleUnaryExpression" + // InternalSolverLanguage.g:513:1: ruleUnaryExpression : ( ( rule__UnaryExpression__Alternatives ) ) ; + public final void ruleUnaryExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:516:2: ( ( ( rule__ComplexObject__Alternatives ) ) ) - // InternalSolverLanguage.g:517:2: ( ( rule__ComplexObject__Alternatives ) ) + // InternalSolverLanguage.g:517:2: ( ( ( rule__UnaryExpression__Alternatives ) ) ) + // InternalSolverLanguage.g:518:2: ( ( rule__UnaryExpression__Alternatives ) ) { - // InternalSolverLanguage.g:517:2: ( ( rule__ComplexObject__Alternatives ) ) - // InternalSolverLanguage.g:518:3: ( rule__ComplexObject__Alternatives ) + // InternalSolverLanguage.g:518:2: ( ( rule__UnaryExpression__Alternatives ) ) + // InternalSolverLanguage.g:519:3: ( rule__UnaryExpression__Alternatives ) { - before(grammarAccess.getComplexObjectAccess().getAlternatives()); - // InternalSolverLanguage.g:519:3: ( rule__ComplexObject__Alternatives ) - // InternalSolverLanguage.g:519:4: rule__ComplexObject__Alternatives + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getAlternatives()); + } + // InternalSolverLanguage.g:520:3: ( rule__UnaryExpression__Alternatives ) + // InternalSolverLanguage.g:520:4: rule__UnaryExpression__Alternatives { pushFollow(FOLLOW_2); - rule__ComplexObject__Alternatives(); + rule__UnaryExpression__Alternatives(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getComplexObjectAccess().getAlternatives()); + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getAlternatives()); + } } @@ -1577,24 +1763,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleComplexObject" + // $ANTLR end "ruleUnaryExpression" - // $ANTLR start "entryRuleObject" - // InternalSolverLanguage.g:528:1: entryRuleObject : ruleObject EOF ; - public final void entryRuleObject() throws RecognitionException { + // $ANTLR start "entryRuleAggregationExpression" + // InternalSolverLanguage.g:529:1: entryRuleAggregationExpression : ruleAggregationExpression EOF ; + public final void entryRuleAggregationExpression() throws RecognitionException { try { - // InternalSolverLanguage.g:529:1: ( ruleObject EOF ) - // InternalSolverLanguage.g:530:1: ruleObject EOF + // InternalSolverLanguage.g:530:1: ( ruleAggregationExpression EOF ) + // InternalSolverLanguage.g:531:1: ruleAggregationExpression EOF { - before(grammarAccess.getObjectRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationExpressionRule()); + } pushFollow(FOLLOW_1); - ruleObject(); + ruleAggregationExpression(); state._fsp--; - - after(grammarAccess.getObjectRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -1607,35 +1797,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleObject" + // $ANTLR end "entryRuleAggregationExpression" - // $ANTLR start "ruleObject" - // InternalSolverLanguage.g:537:1: ruleObject : ( ( rule__Object__Alternatives ) ) ; - public final void ruleObject() throws RecognitionException { + // $ANTLR start "ruleAggregationExpression" + // InternalSolverLanguage.g:538:1: ruleAggregationExpression : ( ( rule__AggregationExpression__Alternatives ) ) ; + public final void ruleAggregationExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:541:2: ( ( ( rule__Object__Alternatives ) ) ) - // InternalSolverLanguage.g:542:2: ( ( rule__Object__Alternatives ) ) + // InternalSolverLanguage.g:542:2: ( ( ( rule__AggregationExpression__Alternatives ) ) ) + // InternalSolverLanguage.g:543:2: ( ( rule__AggregationExpression__Alternatives ) ) { - // InternalSolverLanguage.g:542:2: ( ( rule__Object__Alternatives ) ) - // InternalSolverLanguage.g:543:3: ( rule__Object__Alternatives ) + // InternalSolverLanguage.g:543:2: ( ( rule__AggregationExpression__Alternatives ) ) + // InternalSolverLanguage.g:544:3: ( rule__AggregationExpression__Alternatives ) { - before(grammarAccess.getObjectAccess().getAlternatives()); - // InternalSolverLanguage.g:544:3: ( rule__Object__Alternatives ) - // InternalSolverLanguage.g:544:4: rule__Object__Alternatives + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationExpressionAccess().getAlternatives()); + } + // InternalSolverLanguage.g:545:3: ( rule__AggregationExpression__Alternatives ) + // InternalSolverLanguage.g:545:4: rule__AggregationExpression__Alternatives { pushFollow(FOLLOW_2); - rule__Object__Alternatives(); + rule__AggregationExpression__Alternatives(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getObjectAccess().getAlternatives()); + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationExpressionAccess().getAlternatives()); + } } @@ -1654,24 +1848,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleObject" + // $ANTLR end "ruleAggregationExpression" - // $ANTLR start "entryRuleNamedObject" - // InternalSolverLanguage.g:553:1: entryRuleNamedObject : ruleNamedObject EOF ; - public final void entryRuleNamedObject() throws RecognitionException { + // $ANTLR start "entryRuleCount" + // InternalSolverLanguage.g:554:1: entryRuleCount : ruleCount EOF ; + public final void entryRuleCount() throws RecognitionException { try { - // InternalSolverLanguage.g:554:1: ( ruleNamedObject EOF ) - // InternalSolverLanguage.g:555:1: ruleNamedObject EOF + // InternalSolverLanguage.g:555:1: ( ruleCount EOF ) + // InternalSolverLanguage.g:556:1: ruleCount EOF { - before(grammarAccess.getNamedObjectRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getCountRule()); + } pushFollow(FOLLOW_1); - ruleNamedObject(); + ruleCount(); state._fsp--; - - after(grammarAccess.getNamedObjectRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCountRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -1684,35 +1882,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleNamedObject" + // $ANTLR end "entryRuleCount" - // $ANTLR start "ruleNamedObject" - // InternalSolverLanguage.g:562:1: ruleNamedObject : ( ( rule__NamedObject__Group__0 ) ) ; - public final void ruleNamedObject() throws RecognitionException { + // $ANTLR start "ruleCount" + // InternalSolverLanguage.g:563:1: ruleCount : ( ( rule__Count__Group__0 ) ) ; + public final void ruleCount() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:566:2: ( ( ( rule__NamedObject__Group__0 ) ) ) - // InternalSolverLanguage.g:567:2: ( ( rule__NamedObject__Group__0 ) ) + // InternalSolverLanguage.g:567:2: ( ( ( rule__Count__Group__0 ) ) ) + // InternalSolverLanguage.g:568:2: ( ( rule__Count__Group__0 ) ) { - // InternalSolverLanguage.g:567:2: ( ( rule__NamedObject__Group__0 ) ) - // InternalSolverLanguage.g:568:3: ( rule__NamedObject__Group__0 ) + // InternalSolverLanguage.g:568:2: ( ( rule__Count__Group__0 ) ) + // InternalSolverLanguage.g:569:3: ( rule__Count__Group__0 ) { - before(grammarAccess.getNamedObjectAccess().getGroup()); - // InternalSolverLanguage.g:569:3: ( rule__NamedObject__Group__0 ) - // InternalSolverLanguage.g:569:4: rule__NamedObject__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getCountAccess().getGroup()); + } + // InternalSolverLanguage.g:570:3: ( rule__Count__Group__0 ) + // InternalSolverLanguage.g:570:4: rule__Count__Group__0 { pushFollow(FOLLOW_2); - rule__NamedObject__Group__0(); + rule__Count__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getNamedObjectAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getCountAccess().getGroup()); + } } @@ -1731,24 +1933,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleNamedObject" + // $ANTLR end "ruleCount" - // $ANTLR start "entryRuleUnnamedObject" - // InternalSolverLanguage.g:578:1: entryRuleUnnamedObject : ruleUnnamedObject EOF ; - public final void entryRuleUnnamedObject() throws RecognitionException { + // $ANTLR start "entryRuleAggregation" + // InternalSolverLanguage.g:579:1: entryRuleAggregation : ruleAggregation EOF ; + public final void entryRuleAggregation() throws RecognitionException { try { - // InternalSolverLanguage.g:579:1: ( ruleUnnamedObject EOF ) - // InternalSolverLanguage.g:580:1: ruleUnnamedObject EOF + // InternalSolverLanguage.g:580:1: ( ruleAggregation EOF ) + // InternalSolverLanguage.g:581:1: ruleAggregation EOF { - before(grammarAccess.getUnnamedObjectRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationRule()); + } pushFollow(FOLLOW_1); - ruleUnnamedObject(); + ruleAggregation(); state._fsp--; - - after(grammarAccess.getUnnamedObjectRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -1761,35 +1967,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleUnnamedObject" + // $ANTLR end "entryRuleAggregation" - // $ANTLR start "ruleUnnamedObject" - // InternalSolverLanguage.g:587:1: ruleUnnamedObject : ( ( rule__UnnamedObject__NameAssignment ) ) ; - public final void ruleUnnamedObject() throws RecognitionException { + // $ANTLR start "ruleAggregation" + // InternalSolverLanguage.g:588:1: ruleAggregation : ( ( rule__Aggregation__Group__0 ) ) ; + public final void ruleAggregation() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:591:2: ( ( ( rule__UnnamedObject__NameAssignment ) ) ) - // InternalSolverLanguage.g:592:2: ( ( rule__UnnamedObject__NameAssignment ) ) + // InternalSolverLanguage.g:592:2: ( ( ( rule__Aggregation__Group__0 ) ) ) + // InternalSolverLanguage.g:593:2: ( ( rule__Aggregation__Group__0 ) ) { - // InternalSolverLanguage.g:592:2: ( ( rule__UnnamedObject__NameAssignment ) ) - // InternalSolverLanguage.g:593:3: ( rule__UnnamedObject__NameAssignment ) + // InternalSolverLanguage.g:593:2: ( ( rule__Aggregation__Group__0 ) ) + // InternalSolverLanguage.g:594:3: ( rule__Aggregation__Group__0 ) { - before(grammarAccess.getUnnamedObjectAccess().getNameAssignment()); - // InternalSolverLanguage.g:594:3: ( rule__UnnamedObject__NameAssignment ) - // InternalSolverLanguage.g:594:4: rule__UnnamedObject__NameAssignment + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationAccess().getGroup()); + } + // InternalSolverLanguage.g:595:3: ( rule__Aggregation__Group__0 ) + // InternalSolverLanguage.g:595:4: rule__Aggregation__Group__0 { pushFollow(FOLLOW_2); - rule__UnnamedObject__NameAssignment(); + rule__Aggregation__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getUnnamedObjectAccess().getNameAssignment()); + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationAccess().getGroup()); + } } @@ -1808,24 +2018,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleUnnamedObject" + // $ANTLR end "ruleAggregation" - // $ANTLR start "entryRuleDataObject" - // InternalSolverLanguage.g:603:1: entryRuleDataObject : ruleDataObject EOF ; - public final void entryRuleDataObject() throws RecognitionException { + // $ANTLR start "entryRuleAtomicExpression" + // InternalSolverLanguage.g:604:1: entryRuleAtomicExpression : ruleAtomicExpression EOF ; + public final void entryRuleAtomicExpression() throws RecognitionException { try { - // InternalSolverLanguage.g:604:1: ( ruleDataObject EOF ) - // InternalSolverLanguage.g:605:1: ruleDataObject EOF + // InternalSolverLanguage.g:605:1: ( ruleAtomicExpression EOF ) + // InternalSolverLanguage.g:606:1: ruleAtomicExpression EOF { - before(grammarAccess.getDataObjectRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionRule()); + } pushFollow(FOLLOW_1); - ruleDataObject(); + ruleAtomicExpression(); state._fsp--; - - after(grammarAccess.getDataObjectRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -1838,35 +2052,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleDataObject" + // $ANTLR end "entryRuleAtomicExpression" - // $ANTLR start "ruleDataObject" - // InternalSolverLanguage.g:612:1: ruleDataObject : ( ( rule__DataObject__Alternatives ) ) ; - public final void ruleDataObject() throws RecognitionException { + // $ANTLR start "ruleAtomicExpression" + // InternalSolverLanguage.g:613:1: ruleAtomicExpression : ( ( rule__AtomicExpression__Alternatives ) ) ; + public final void ruleAtomicExpression() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:616:2: ( ( ( rule__DataObject__Alternatives ) ) ) - // InternalSolverLanguage.g:617:2: ( ( rule__DataObject__Alternatives ) ) + // InternalSolverLanguage.g:617:2: ( ( ( rule__AtomicExpression__Alternatives ) ) ) + // InternalSolverLanguage.g:618:2: ( ( rule__AtomicExpression__Alternatives ) ) { - // InternalSolverLanguage.g:617:2: ( ( rule__DataObject__Alternatives ) ) - // InternalSolverLanguage.g:618:3: ( rule__DataObject__Alternatives ) + // InternalSolverLanguage.g:618:2: ( ( rule__AtomicExpression__Alternatives ) ) + // InternalSolverLanguage.g:619:3: ( rule__AtomicExpression__Alternatives ) { - before(grammarAccess.getDataObjectAccess().getAlternatives()); - // InternalSolverLanguage.g:619:3: ( rule__DataObject__Alternatives ) - // InternalSolverLanguage.g:619:4: rule__DataObject__Alternatives + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getAlternatives()); + } + // InternalSolverLanguage.g:620:3: ( rule__AtomicExpression__Alternatives ) + // InternalSolverLanguage.g:620:4: rule__AtomicExpression__Alternatives { pushFollow(FOLLOW_2); - rule__DataObject__Alternatives(); + rule__AtomicExpression__Alternatives(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getDataObjectAccess().getAlternatives()); + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getAlternatives()); + } } @@ -1885,24 +2103,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleDataObject" + // $ANTLR end "ruleAtomicExpression" - // $ANTLR start "entryRuleBooleanObject" - // InternalSolverLanguage.g:628:1: entryRuleBooleanObject : ruleBooleanObject EOF ; - public final void entryRuleBooleanObject() throws RecognitionException { + // $ANTLR start "entryRuleCall" + // InternalSolverLanguage.g:629:1: entryRuleCall : ruleCall EOF ; + public final void entryRuleCall() throws RecognitionException { try { - // InternalSolverLanguage.g:629:1: ( ruleBooleanObject EOF ) - // InternalSolverLanguage.g:630:1: ruleBooleanObject EOF + // InternalSolverLanguage.g:630:1: ( ruleCall EOF ) + // InternalSolverLanguage.g:631:1: ruleCall EOF { - before(grammarAccess.getBooleanObjectRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getCallRule()); + } pushFollow(FOLLOW_1); - ruleBooleanObject(); + ruleCall(); state._fsp--; - - after(grammarAccess.getBooleanObjectRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCallRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -1915,35 +2137,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleBooleanObject" + // $ANTLR end "entryRuleCall" - // $ANTLR start "ruleBooleanObject" - // InternalSolverLanguage.g:637:1: ruleBooleanObject : ( ( rule__BooleanObject__ValueAssignment ) ) ; - public final void ruleBooleanObject() throws RecognitionException { + // $ANTLR start "ruleCall" + // InternalSolverLanguage.g:638:1: ruleCall : ( ( rule__Call__Group__0 ) ) ; + public final void ruleCall() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:641:2: ( ( ( rule__BooleanObject__ValueAssignment ) ) ) - // InternalSolverLanguage.g:642:2: ( ( rule__BooleanObject__ValueAssignment ) ) + // InternalSolverLanguage.g:642:2: ( ( ( rule__Call__Group__0 ) ) ) + // InternalSolverLanguage.g:643:2: ( ( rule__Call__Group__0 ) ) { - // InternalSolverLanguage.g:642:2: ( ( rule__BooleanObject__ValueAssignment ) ) - // InternalSolverLanguage.g:643:3: ( rule__BooleanObject__ValueAssignment ) + // InternalSolverLanguage.g:643:2: ( ( rule__Call__Group__0 ) ) + // InternalSolverLanguage.g:644:3: ( rule__Call__Group__0 ) { - before(grammarAccess.getBooleanObjectAccess().getValueAssignment()); - // InternalSolverLanguage.g:644:3: ( rule__BooleanObject__ValueAssignment ) - // InternalSolverLanguage.g:644:4: rule__BooleanObject__ValueAssignment + if ( state.backtracking==0 ) { + before(grammarAccess.getCallAccess().getGroup()); + } + // InternalSolverLanguage.g:645:3: ( rule__Call__Group__0 ) + // InternalSolverLanguage.g:645:4: rule__Call__Group__0 { pushFollow(FOLLOW_2); - rule__BooleanObject__ValueAssignment(); + rule__Call__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getBooleanObjectAccess().getValueAssignment()); + if ( state.backtracking==0 ) { + after(grammarAccess.getCallAccess().getGroup()); + } } @@ -1962,24 +2188,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleBooleanObject" + // $ANTLR end "ruleCall" - // $ANTLR start "entryRuleIntObject" - // InternalSolverLanguage.g:653:1: entryRuleIntObject : ruleIntObject EOF ; - public final void entryRuleIntObject() throws RecognitionException { + // $ANTLR start "entryRuleArgumentList" + // InternalSolverLanguage.g:654:1: entryRuleArgumentList : ruleArgumentList EOF ; + public final void entryRuleArgumentList() throws RecognitionException { try { - // InternalSolverLanguage.g:654:1: ( ruleIntObject EOF ) - // InternalSolverLanguage.g:655:1: ruleIntObject EOF + // InternalSolverLanguage.g:655:1: ( ruleArgumentList EOF ) + // InternalSolverLanguage.g:656:1: ruleArgumentList EOF { - before(grammarAccess.getIntObjectRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentListRule()); + } pushFollow(FOLLOW_1); - ruleIntObject(); + ruleArgumentList(); state._fsp--; - - after(grammarAccess.getIntObjectRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentListRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -1992,35 +2222,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleIntObject" + // $ANTLR end "entryRuleArgumentList" - // $ANTLR start "ruleIntObject" - // InternalSolverLanguage.g:662:1: ruleIntObject : ( ( rule__IntObject__ValueAssignment ) ) ; - public final void ruleIntObject() throws RecognitionException { + // $ANTLR start "ruleArgumentList" + // InternalSolverLanguage.g:663:1: ruleArgumentList : ( ( rule__ArgumentList__Group__0 ) ) ; + public final void ruleArgumentList() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:666:2: ( ( ( rule__IntObject__ValueAssignment ) ) ) - // InternalSolverLanguage.g:667:2: ( ( rule__IntObject__ValueAssignment ) ) + // InternalSolverLanguage.g:667:2: ( ( ( rule__ArgumentList__Group__0 ) ) ) + // InternalSolverLanguage.g:668:2: ( ( rule__ArgumentList__Group__0 ) ) { - // InternalSolverLanguage.g:667:2: ( ( rule__IntObject__ValueAssignment ) ) - // InternalSolverLanguage.g:668:3: ( rule__IntObject__ValueAssignment ) + // InternalSolverLanguage.g:668:2: ( ( rule__ArgumentList__Group__0 ) ) + // InternalSolverLanguage.g:669:3: ( rule__ArgumentList__Group__0 ) { - before(grammarAccess.getIntObjectAccess().getValueAssignment()); - // InternalSolverLanguage.g:669:3: ( rule__IntObject__ValueAssignment ) - // InternalSolverLanguage.g:669:4: rule__IntObject__ValueAssignment + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentListAccess().getGroup()); + } + // InternalSolverLanguage.g:670:3: ( rule__ArgumentList__Group__0 ) + // InternalSolverLanguage.g:670:4: rule__ArgumentList__Group__0 { pushFollow(FOLLOW_2); - rule__IntObject__ValueAssignment(); + rule__ArgumentList__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getIntObjectAccess().getValueAssignment()); + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentListAccess().getGroup()); + } } @@ -2039,24 +2273,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleIntObject" + // $ANTLR end "ruleArgumentList" - // $ANTLR start "entryRuleRealObject" - // InternalSolverLanguage.g:678:1: entryRuleRealObject : ruleRealObject EOF ; - public final void entryRuleRealObject() throws RecognitionException { + // $ANTLR start "entryRuleArgument" + // InternalSolverLanguage.g:679:1: entryRuleArgument : ruleArgument EOF ; + public final void entryRuleArgument() throws RecognitionException { try { - // InternalSolverLanguage.g:679:1: ( ruleRealObject EOF ) - // InternalSolverLanguage.g:680:1: ruleRealObject EOF + // InternalSolverLanguage.g:680:1: ( ruleArgument EOF ) + // InternalSolverLanguage.g:681:1: ruleArgument EOF { - before(grammarAccess.getRealObjectRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentRule()); + } pushFollow(FOLLOW_1); - ruleRealObject(); + ruleArgument(); state._fsp--; - - after(grammarAccess.getRealObjectRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -2069,35 +2307,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleRealObject" + // $ANTLR end "entryRuleArgument" - // $ANTLR start "ruleRealObject" - // InternalSolverLanguage.g:687:1: ruleRealObject : ( ( rule__RealObject__ValueAssignment ) ) ; - public final void ruleRealObject() throws RecognitionException { + // $ANTLR start "ruleArgument" + // InternalSolverLanguage.g:688:1: ruleArgument : ( ( rule__Argument__Alternatives ) ) ; + public final void ruleArgument() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:691:2: ( ( ( rule__RealObject__ValueAssignment ) ) ) - // InternalSolverLanguage.g:692:2: ( ( rule__RealObject__ValueAssignment ) ) + // InternalSolverLanguage.g:692:2: ( ( ( rule__Argument__Alternatives ) ) ) + // InternalSolverLanguage.g:693:2: ( ( rule__Argument__Alternatives ) ) { - // InternalSolverLanguage.g:692:2: ( ( rule__RealObject__ValueAssignment ) ) - // InternalSolverLanguage.g:693:3: ( rule__RealObject__ValueAssignment ) + // InternalSolverLanguage.g:693:2: ( ( rule__Argument__Alternatives ) ) + // InternalSolverLanguage.g:694:3: ( rule__Argument__Alternatives ) { - before(grammarAccess.getRealObjectAccess().getValueAssignment()); - // InternalSolverLanguage.g:694:3: ( rule__RealObject__ValueAssignment ) - // InternalSolverLanguage.g:694:4: rule__RealObject__ValueAssignment + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentAccess().getAlternatives()); + } + // InternalSolverLanguage.g:695:3: ( rule__Argument__Alternatives ) + // InternalSolverLanguage.g:695:4: rule__Argument__Alternatives { pushFollow(FOLLOW_2); - rule__RealObject__ValueAssignment(); + rule__Argument__Alternatives(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getRealObjectAccess().getValueAssignment()); + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentAccess().getAlternatives()); + } } @@ -2116,24 +2358,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleRealObject" + // $ANTLR end "ruleArgument" - // $ANTLR start "entryRuleStringObject" - // InternalSolverLanguage.g:703:1: entryRuleStringObject : ruleStringObject EOF ; - public final void entryRuleStringObject() throws RecognitionException { + // $ANTLR start "entryRuleExpressionArgument" + // InternalSolverLanguage.g:704:1: entryRuleExpressionArgument : ruleExpressionArgument EOF ; + public final void entryRuleExpressionArgument() throws RecognitionException { try { - // InternalSolverLanguage.g:704:1: ( ruleStringObject EOF ) - // InternalSolverLanguage.g:705:1: ruleStringObject EOF + // InternalSolverLanguage.g:705:1: ( ruleExpressionArgument EOF ) + // InternalSolverLanguage.g:706:1: ruleExpressionArgument EOF { - before(grammarAccess.getStringObjectRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionArgumentRule()); + } pushFollow(FOLLOW_1); - ruleStringObject(); + ruleExpressionArgument(); state._fsp--; - - after(grammarAccess.getStringObjectRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionArgumentRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -2146,35 +2392,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleStringObject" + // $ANTLR end "entryRuleExpressionArgument" - // $ANTLR start "ruleStringObject" - // InternalSolverLanguage.g:712:1: ruleStringObject : ( ( rule__StringObject__ValueAssignment ) ) ; - public final void ruleStringObject() throws RecognitionException { + // $ANTLR start "ruleExpressionArgument" + // InternalSolverLanguage.g:713:1: ruleExpressionArgument : ( ( rule__ExpressionArgument__BodyAssignment ) ) ; + public final void ruleExpressionArgument() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:716:2: ( ( ( rule__StringObject__ValueAssignment ) ) ) - // InternalSolverLanguage.g:717:2: ( ( rule__StringObject__ValueAssignment ) ) + // InternalSolverLanguage.g:717:2: ( ( ( rule__ExpressionArgument__BodyAssignment ) ) ) + // InternalSolverLanguage.g:718:2: ( ( rule__ExpressionArgument__BodyAssignment ) ) { - // InternalSolverLanguage.g:717:2: ( ( rule__StringObject__ValueAssignment ) ) - // InternalSolverLanguage.g:718:3: ( rule__StringObject__ValueAssignment ) + // InternalSolverLanguage.g:718:2: ( ( rule__ExpressionArgument__BodyAssignment ) ) + // InternalSolverLanguage.g:719:3: ( rule__ExpressionArgument__BodyAssignment ) { - before(grammarAccess.getStringObjectAccess().getValueAssignment()); - // InternalSolverLanguage.g:719:3: ( rule__StringObject__ValueAssignment ) - // InternalSolverLanguage.g:719:4: rule__StringObject__ValueAssignment + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionArgumentAccess().getBodyAssignment()); + } + // InternalSolverLanguage.g:720:3: ( rule__ExpressionArgument__BodyAssignment ) + // InternalSolverLanguage.g:720:4: rule__ExpressionArgument__BodyAssignment { pushFollow(FOLLOW_2); - rule__StringObject__ValueAssignment(); + rule__ExpressionArgument__BodyAssignment(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getStringObjectAccess().getValueAssignment()); + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionArgumentAccess().getBodyAssignment()); + } } @@ -2193,24 +2443,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleStringObject" + // $ANTLR end "ruleExpressionArgument" - // $ANTLR start "entryRulePredicate" - // InternalSolverLanguage.g:728:1: entryRulePredicate : rulePredicate EOF ; - public final void entryRulePredicate() throws RecognitionException { + // $ANTLR start "entryRuleStarArgument" + // InternalSolverLanguage.g:729:1: entryRuleStarArgument : ruleStarArgument EOF ; + public final void entryRuleStarArgument() throws RecognitionException { try { - // InternalSolverLanguage.g:729:1: ( rulePredicate EOF ) - // InternalSolverLanguage.g:730:1: rulePredicate EOF + // InternalSolverLanguage.g:730:1: ( ruleStarArgument EOF ) + // InternalSolverLanguage.g:731:1: ruleStarArgument EOF { - before(grammarAccess.getPredicateRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getStarArgumentRule()); + } pushFollow(FOLLOW_1); - rulePredicate(); + ruleStarArgument(); state._fsp--; - - after(grammarAccess.getPredicateRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStarArgumentRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -2223,35 +2477,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRulePredicate" + // $ANTLR end "entryRuleStarArgument" - // $ANTLR start "rulePredicate" - // InternalSolverLanguage.g:737:1: rulePredicate : ( ( rule__Predicate__Group__0 ) ) ; - public final void rulePredicate() throws RecognitionException { + // $ANTLR start "ruleStarArgument" + // InternalSolverLanguage.g:738:1: ruleStarArgument : ( ( rule__StarArgument__Group__0 ) ) ; + public final void ruleStarArgument() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:741:2: ( ( ( rule__Predicate__Group__0 ) ) ) - // InternalSolverLanguage.g:742:2: ( ( rule__Predicate__Group__0 ) ) + // InternalSolverLanguage.g:742:2: ( ( ( rule__StarArgument__Group__0 ) ) ) + // InternalSolverLanguage.g:743:2: ( ( rule__StarArgument__Group__0 ) ) { - // InternalSolverLanguage.g:742:2: ( ( rule__Predicate__Group__0 ) ) - // InternalSolverLanguage.g:743:3: ( rule__Predicate__Group__0 ) + // InternalSolverLanguage.g:743:2: ( ( rule__StarArgument__Group__0 ) ) + // InternalSolverLanguage.g:744:3: ( rule__StarArgument__Group__0 ) { - before(grammarAccess.getPredicateAccess().getGroup()); - // InternalSolverLanguage.g:744:3: ( rule__Predicate__Group__0 ) - // InternalSolverLanguage.g:744:4: rule__Predicate__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getStarArgumentAccess().getGroup()); + } + // InternalSolverLanguage.g:745:3: ( rule__StarArgument__Group__0 ) + // InternalSolverLanguage.g:745:4: rule__StarArgument__Group__0 { pushFollow(FOLLOW_2); - rule__Predicate__Group__0(); + rule__StarArgument__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getPredicateAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getStarArgumentAccess().getGroup()); + } } @@ -2270,24 +2528,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rulePredicate" + // $ANTLR end "ruleStarArgument" - // $ANTLR start "entryRuleParameter" - // InternalSolverLanguage.g:753:1: entryRuleParameter : ruleParameter EOF ; - public final void entryRuleParameter() throws RecognitionException { + // $ANTLR start "entryRuleTypedArgument" + // InternalSolverLanguage.g:754:1: entryRuleTypedArgument : ruleTypedArgument EOF ; + public final void entryRuleTypedArgument() throws RecognitionException { try { - // InternalSolverLanguage.g:754:1: ( ruleParameter EOF ) - // InternalSolverLanguage.g:755:1: ruleParameter EOF + // InternalSolverLanguage.g:755:1: ( ruleTypedArgument EOF ) + // InternalSolverLanguage.g:756:1: ruleTypedArgument EOF { - before(grammarAccess.getParameterRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getTypedArgumentRule()); + } pushFollow(FOLLOW_1); - ruleParameter(); + ruleTypedArgument(); state._fsp--; - - after(grammarAccess.getParameterRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypedArgumentRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -2300,35 +2562,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleParameter" + // $ANTLR end "entryRuleTypedArgument" - // $ANTLR start "ruleParameter" - // InternalSolverLanguage.g:762:1: ruleParameter : ( ( rule__Parameter__Group__0 ) ) ; - public final void ruleParameter() throws RecognitionException { + // $ANTLR start "ruleTypedArgument" + // InternalSolverLanguage.g:763:1: ruleTypedArgument : ( ( rule__TypedArgument__Group__0 ) ) ; + public final void ruleTypedArgument() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:766:2: ( ( ( rule__Parameter__Group__0 ) ) ) - // InternalSolverLanguage.g:767:2: ( ( rule__Parameter__Group__0 ) ) + // InternalSolverLanguage.g:767:2: ( ( ( rule__TypedArgument__Group__0 ) ) ) + // InternalSolverLanguage.g:768:2: ( ( rule__TypedArgument__Group__0 ) ) { - // InternalSolverLanguage.g:767:2: ( ( rule__Parameter__Group__0 ) ) - // InternalSolverLanguage.g:768:3: ( rule__Parameter__Group__0 ) + // InternalSolverLanguage.g:768:2: ( ( rule__TypedArgument__Group__0 ) ) + // InternalSolverLanguage.g:769:3: ( rule__TypedArgument__Group__0 ) { - before(grammarAccess.getParameterAccess().getGroup()); - // InternalSolverLanguage.g:769:3: ( rule__Parameter__Group__0 ) - // InternalSolverLanguage.g:769:4: rule__Parameter__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getTypedArgumentAccess().getGroup()); + } + // InternalSolverLanguage.g:770:3: ( rule__TypedArgument__Group__0 ) + // InternalSolverLanguage.g:770:4: rule__TypedArgument__Group__0 { pushFollow(FOLLOW_2); - rule__Parameter__Group__0(); + rule__TypedArgument__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getParameterAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getTypedArgumentAccess().getGroup()); + } } @@ -2347,24 +2613,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleParameter" + // $ANTLR end "ruleTypedArgument" - // $ANTLR start "entryRulePatternBody" - // InternalSolverLanguage.g:778:1: entryRulePatternBody : rulePatternBody EOF ; - public final void entryRulePatternBody() throws RecognitionException { + // $ANTLR start "entryRuleTypedStarArgument" + // InternalSolverLanguage.g:779:1: entryRuleTypedStarArgument : ruleTypedStarArgument EOF ; + public final void entryRuleTypedStarArgument() throws RecognitionException { try { - // InternalSolverLanguage.g:779:1: ( rulePatternBody EOF ) - // InternalSolverLanguage.g:780:1: rulePatternBody EOF + // InternalSolverLanguage.g:780:1: ( ruleTypedStarArgument EOF ) + // InternalSolverLanguage.g:781:1: ruleTypedStarArgument EOF { - before(grammarAccess.getPatternBodyRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getTypedStarArgumentRule()); + } pushFollow(FOLLOW_1); - rulePatternBody(); + ruleTypedStarArgument(); state._fsp--; - - after(grammarAccess.getPatternBodyRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypedStarArgumentRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -2377,35 +2647,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRulePatternBody" + // $ANTLR end "entryRuleTypedStarArgument" - // $ANTLR start "rulePatternBody" - // InternalSolverLanguage.g:787:1: rulePatternBody : ( ( rule__PatternBody__Group__0 ) ) ; - public final void rulePatternBody() throws RecognitionException { + // $ANTLR start "ruleTypedStarArgument" + // InternalSolverLanguage.g:788:1: ruleTypedStarArgument : ( ( rule__TypedStarArgument__Group__0 ) ) ; + public final void ruleTypedStarArgument() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:791:2: ( ( ( rule__PatternBody__Group__0 ) ) ) - // InternalSolverLanguage.g:792:2: ( ( rule__PatternBody__Group__0 ) ) + // InternalSolverLanguage.g:792:2: ( ( ( rule__TypedStarArgument__Group__0 ) ) ) + // InternalSolverLanguage.g:793:2: ( ( rule__TypedStarArgument__Group__0 ) ) { - // InternalSolverLanguage.g:792:2: ( ( rule__PatternBody__Group__0 ) ) - // InternalSolverLanguage.g:793:3: ( rule__PatternBody__Group__0 ) + // InternalSolverLanguage.g:793:2: ( ( rule__TypedStarArgument__Group__0 ) ) + // InternalSolverLanguage.g:794:3: ( rule__TypedStarArgument__Group__0 ) { - before(grammarAccess.getPatternBodyAccess().getGroup()); - // InternalSolverLanguage.g:794:3: ( rule__PatternBody__Group__0 ) - // InternalSolverLanguage.g:794:4: rule__PatternBody__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getTypedStarArgumentAccess().getGroup()); + } + // InternalSolverLanguage.g:795:3: ( rule__TypedStarArgument__Group__0 ) + // InternalSolverLanguage.g:795:4: rule__TypedStarArgument__Group__0 { pushFollow(FOLLOW_2); - rule__PatternBody__Group__0(); + rule__TypedStarArgument__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getPatternBodyAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getTypedStarArgumentAccess().getGroup()); + } } @@ -2424,24 +2698,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rulePatternBody" + // $ANTLR end "ruleTypedStarArgument" - // $ANTLR start "entryRulePolarity" - // InternalSolverLanguage.g:803:1: entryRulePolarity : rulePolarity EOF ; - public final void entryRulePolarity() throws RecognitionException { + // $ANTLR start "entryRuleReference" + // InternalSolverLanguage.g:804:1: entryRuleReference : ruleReference EOF ; + public final void entryRuleReference() throws RecognitionException { try { - // InternalSolverLanguage.g:804:1: ( rulePolarity EOF ) - // InternalSolverLanguage.g:805:1: rulePolarity EOF + // InternalSolverLanguage.g:805:1: ( ruleReference EOF ) + // InternalSolverLanguage.g:806:1: ruleReference EOF { - before(grammarAccess.getPolarityRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getReferenceRule()); + } pushFollow(FOLLOW_1); - rulePolarity(); + ruleReference(); state._fsp--; - - after(grammarAccess.getPolarityRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getReferenceRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -2454,35 +2732,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRulePolarity" + // $ANTLR end "entryRuleReference" - // $ANTLR start "rulePolarity" - // InternalSolverLanguage.g:812:1: rulePolarity : ( ( rule__Polarity__Alternatives ) ) ; - public final void rulePolarity() throws RecognitionException { + // $ANTLR start "ruleReference" + // InternalSolverLanguage.g:813:1: ruleReference : ( ( rule__Reference__ReferredAssignment ) ) ; + public final void ruleReference() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:816:2: ( ( ( rule__Polarity__Alternatives ) ) ) - // InternalSolverLanguage.g:817:2: ( ( rule__Polarity__Alternatives ) ) + // InternalSolverLanguage.g:817:2: ( ( ( rule__Reference__ReferredAssignment ) ) ) + // InternalSolverLanguage.g:818:2: ( ( rule__Reference__ReferredAssignment ) ) { - // InternalSolverLanguage.g:817:2: ( ( rule__Polarity__Alternatives ) ) - // InternalSolverLanguage.g:818:3: ( rule__Polarity__Alternatives ) + // InternalSolverLanguage.g:818:2: ( ( rule__Reference__ReferredAssignment ) ) + // InternalSolverLanguage.g:819:3: ( rule__Reference__ReferredAssignment ) { - before(grammarAccess.getPolarityAccess().getAlternatives()); - // InternalSolverLanguage.g:819:3: ( rule__Polarity__Alternatives ) - // InternalSolverLanguage.g:819:4: rule__Polarity__Alternatives + if ( state.backtracking==0 ) { + before(grammarAccess.getReferenceAccess().getReferredAssignment()); + } + // InternalSolverLanguage.g:820:3: ( rule__Reference__ReferredAssignment ) + // InternalSolverLanguage.g:820:4: rule__Reference__ReferredAssignment { pushFollow(FOLLOW_2); - rule__Polarity__Alternatives(); + rule__Reference__ReferredAssignment(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getPolarityAccess().getAlternatives()); + if ( state.backtracking==0 ) { + after(grammarAccess.getReferenceAccess().getReferredAssignment()); + } } @@ -2501,24 +2783,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rulePolarity" + // $ANTLR end "ruleReference" - // $ANTLR start "entryRuleConstraint" - // InternalSolverLanguage.g:828:1: entryRuleConstraint : ruleConstraint EOF ; - public final void entryRuleConstraint() throws RecognitionException { + // $ANTLR start "entryRuleInterval" + // InternalSolverLanguage.g:829:1: entryRuleInterval : ruleInterval EOF ; + public final void entryRuleInterval() throws RecognitionException { try { - // InternalSolverLanguage.g:829:1: ( ruleConstraint EOF ) - // InternalSolverLanguage.g:830:1: ruleConstraint EOF + // InternalSolverLanguage.g:830:1: ( ruleInterval EOF ) + // InternalSolverLanguage.g:831:1: ruleInterval EOF { - before(grammarAccess.getConstraintRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getIntervalRule()); + } pushFollow(FOLLOW_1); - ruleConstraint(); + ruleInterval(); state._fsp--; - - after(grammarAccess.getConstraintRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIntervalRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -2531,35 +2817,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleConstraint" + // $ANTLR end "entryRuleInterval" - // $ANTLR start "ruleConstraint" - // InternalSolverLanguage.g:837:1: ruleConstraint : ( ( rule__Constraint__Alternatives ) ) ; - public final void ruleConstraint() throws RecognitionException { + // $ANTLR start "ruleInterval" + // InternalSolverLanguage.g:838:1: ruleInterval : ( ( rule__Interval__Group__0 ) ) ; + public final void ruleInterval() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:841:2: ( ( ( rule__Constraint__Alternatives ) ) ) - // InternalSolverLanguage.g:842:2: ( ( rule__Constraint__Alternatives ) ) + // InternalSolverLanguage.g:842:2: ( ( ( rule__Interval__Group__0 ) ) ) + // InternalSolverLanguage.g:843:2: ( ( rule__Interval__Group__0 ) ) { - // InternalSolverLanguage.g:842:2: ( ( rule__Constraint__Alternatives ) ) - // InternalSolverLanguage.g:843:3: ( rule__Constraint__Alternatives ) + // InternalSolverLanguage.g:843:2: ( ( rule__Interval__Group__0 ) ) + // InternalSolverLanguage.g:844:3: ( rule__Interval__Group__0 ) { - before(grammarAccess.getConstraintAccess().getAlternatives()); - // InternalSolverLanguage.g:844:3: ( rule__Constraint__Alternatives ) - // InternalSolverLanguage.g:844:4: rule__Constraint__Alternatives + if ( state.backtracking==0 ) { + before(grammarAccess.getIntervalAccess().getGroup()); + } + // InternalSolverLanguage.g:845:3: ( rule__Interval__Group__0 ) + // InternalSolverLanguage.g:845:4: rule__Interval__Group__0 { pushFollow(FOLLOW_2); - rule__Constraint__Alternatives(); + rule__Interval__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getConstraintAccess().getAlternatives()); + if ( state.backtracking==0 ) { + after(grammarAccess.getIntervalAccess().getGroup()); + } } @@ -2578,24 +2868,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleConstraint" + // $ANTLR end "ruleInterval" - // $ANTLR start "entryRuleClosureType" - // InternalSolverLanguage.g:853:1: entryRuleClosureType : ruleClosureType EOF ; - public final void entryRuleClosureType() throws RecognitionException { + // $ANTLR start "entryRuleLiteral" + // InternalSolverLanguage.g:854:1: entryRuleLiteral : ruleLiteral EOF ; + public final void entryRuleLiteral() throws RecognitionException { try { - // InternalSolverLanguage.g:854:1: ( ruleClosureType EOF ) - // InternalSolverLanguage.g:855:1: ruleClosureType EOF + // InternalSolverLanguage.g:855:1: ( ruleLiteral EOF ) + // InternalSolverLanguage.g:856:1: ruleLiteral EOF { - before(grammarAccess.getClosureTypeRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralRule()); + } pushFollow(FOLLOW_1); - ruleClosureType(); + ruleLiteral(); state._fsp--; - - after(grammarAccess.getClosureTypeRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -2608,35 +2902,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleClosureType" + // $ANTLR end "entryRuleLiteral" - // $ANTLR start "ruleClosureType" - // InternalSolverLanguage.g:862:1: ruleClosureType : ( ( rule__ClosureType__Alternatives ) ) ; - public final void ruleClosureType() throws RecognitionException { + // $ANTLR start "ruleLiteral" + // InternalSolverLanguage.g:863:1: ruleLiteral : ( ( rule__Literal__Alternatives ) ) ; + public final void ruleLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:866:2: ( ( ( rule__ClosureType__Alternatives ) ) ) - // InternalSolverLanguage.g:867:2: ( ( rule__ClosureType__Alternatives ) ) + // InternalSolverLanguage.g:867:2: ( ( ( rule__Literal__Alternatives ) ) ) + // InternalSolverLanguage.g:868:2: ( ( rule__Literal__Alternatives ) ) { - // InternalSolverLanguage.g:867:2: ( ( rule__ClosureType__Alternatives ) ) - // InternalSolverLanguage.g:868:3: ( rule__ClosureType__Alternatives ) + // InternalSolverLanguage.g:868:2: ( ( rule__Literal__Alternatives ) ) + // InternalSolverLanguage.g:869:3: ( rule__Literal__Alternatives ) { - before(grammarAccess.getClosureTypeAccess().getAlternatives()); - // InternalSolverLanguage.g:869:3: ( rule__ClosureType__Alternatives ) - // InternalSolverLanguage.g:869:4: rule__ClosureType__Alternatives + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getAlternatives()); + } + // InternalSolverLanguage.g:870:3: ( rule__Literal__Alternatives ) + // InternalSolverLanguage.g:870:4: rule__Literal__Alternatives { pushFollow(FOLLOW_2); - rule__ClosureType__Alternatives(); + rule__Literal__Alternatives(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getClosureTypeAccess().getAlternatives()); + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getAlternatives()); + } } @@ -2655,24 +2953,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleClosureType" + // $ANTLR end "ruleLiteral" - // $ANTLR start "entryRuleLiteral" - // InternalSolverLanguage.g:878:1: entryRuleLiteral : ruleLiteral EOF ; - public final void entryRuleLiteral() throws RecognitionException { + // $ANTLR start "entryRuleLogicLiteral" + // InternalSolverLanguage.g:879:1: entryRuleLogicLiteral : ruleLogicLiteral EOF ; + public final void entryRuleLogicLiteral() throws RecognitionException { try { - // InternalSolverLanguage.g:879:1: ( ruleLiteral EOF ) - // InternalSolverLanguage.g:880:1: ruleLiteral EOF + // InternalSolverLanguage.g:880:1: ( ruleLogicLiteral EOF ) + // InternalSolverLanguage.g:881:1: ruleLogicLiteral EOF { - before(grammarAccess.getLiteralRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getLogicLiteralRule()); + } pushFollow(FOLLOW_1); - ruleLiteral(); + ruleLogicLiteral(); state._fsp--; - - after(grammarAccess.getLiteralRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLogicLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -2685,35 +2987,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleLiteral" + // $ANTLR end "entryRuleLogicLiteral" - // $ANTLR start "ruleLiteral" - // InternalSolverLanguage.g:887:1: ruleLiteral : ( ( rule__Literal__Alternatives ) ) ; - public final void ruleLiteral() throws RecognitionException { + // $ANTLR start "ruleLogicLiteral" + // InternalSolverLanguage.g:888:1: ruleLogicLiteral : ( ( rule__LogicLiteral__ValueAssignment ) ) ; + public final void ruleLogicLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:891:2: ( ( ( rule__Literal__Alternatives ) ) ) - // InternalSolverLanguage.g:892:2: ( ( rule__Literal__Alternatives ) ) + // InternalSolverLanguage.g:892:2: ( ( ( rule__LogicLiteral__ValueAssignment ) ) ) + // InternalSolverLanguage.g:893:2: ( ( rule__LogicLiteral__ValueAssignment ) ) { - // InternalSolverLanguage.g:892:2: ( ( rule__Literal__Alternatives ) ) - // InternalSolverLanguage.g:893:3: ( rule__Literal__Alternatives ) + // InternalSolverLanguage.g:893:2: ( ( rule__LogicLiteral__ValueAssignment ) ) + // InternalSolverLanguage.g:894:3: ( rule__LogicLiteral__ValueAssignment ) { - before(grammarAccess.getLiteralAccess().getAlternatives()); - // InternalSolverLanguage.g:894:3: ( rule__Literal__Alternatives ) - // InternalSolverLanguage.g:894:4: rule__Literal__Alternatives + if ( state.backtracking==0 ) { + before(grammarAccess.getLogicLiteralAccess().getValueAssignment()); + } + // InternalSolverLanguage.g:895:3: ( rule__LogicLiteral__ValueAssignment ) + // InternalSolverLanguage.g:895:4: rule__LogicLiteral__ValueAssignment { pushFollow(FOLLOW_2); - rule__Literal__Alternatives(); + rule__LogicLiteral__ValueAssignment(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getLiteralAccess().getAlternatives()); + if ( state.backtracking==0 ) { + after(grammarAccess.getLogicLiteralAccess().getValueAssignment()); + } } @@ -2732,24 +3038,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleLiteral" + // $ANTLR end "ruleLogicLiteral" - // $ANTLR start "entryRuleVariable" - // InternalSolverLanguage.g:903:1: entryRuleVariable : ruleVariable EOF ; - public final void entryRuleVariable() throws RecognitionException { + // $ANTLR start "entryRuleNumericLiteral" + // InternalSolverLanguage.g:904:1: entryRuleNumericLiteral : ruleNumericLiteral EOF ; + public final void entryRuleNumericLiteral() throws RecognitionException { try { - // InternalSolverLanguage.g:904:1: ( ruleVariable EOF ) - // InternalSolverLanguage.g:905:1: ruleVariable EOF + // InternalSolverLanguage.g:905:1: ( ruleNumericLiteral EOF ) + // InternalSolverLanguage.g:906:1: ruleNumericLiteral EOF { - before(grammarAccess.getVariableRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getNumericLiteralRule()); + } pushFollow(FOLLOW_1); - ruleVariable(); + ruleNumericLiteral(); state._fsp--; - - after(grammarAccess.getVariableRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumericLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -2762,35 +3072,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleVariable" + // $ANTLR end "entryRuleNumericLiteral" - // $ANTLR start "ruleVariable" - // InternalSolverLanguage.g:912:1: ruleVariable : ( ( rule__Variable__NameAssignment ) ) ; - public final void ruleVariable() throws RecognitionException { + // $ANTLR start "ruleNumericLiteral" + // InternalSolverLanguage.g:913:1: ruleNumericLiteral : ( ( rule__NumericLiteral__ValueAssignment ) ) ; + public final void ruleNumericLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:916:2: ( ( ( rule__Variable__NameAssignment ) ) ) - // InternalSolverLanguage.g:917:2: ( ( rule__Variable__NameAssignment ) ) + // InternalSolverLanguage.g:917:2: ( ( ( rule__NumericLiteral__ValueAssignment ) ) ) + // InternalSolverLanguage.g:918:2: ( ( rule__NumericLiteral__ValueAssignment ) ) { - // InternalSolverLanguage.g:917:2: ( ( rule__Variable__NameAssignment ) ) - // InternalSolverLanguage.g:918:3: ( rule__Variable__NameAssignment ) + // InternalSolverLanguage.g:918:2: ( ( rule__NumericLiteral__ValueAssignment ) ) + // InternalSolverLanguage.g:919:3: ( rule__NumericLiteral__ValueAssignment ) { - before(grammarAccess.getVariableAccess().getNameAssignment()); - // InternalSolverLanguage.g:919:3: ( rule__Variable__NameAssignment ) - // InternalSolverLanguage.g:919:4: rule__Variable__NameAssignment + if ( state.backtracking==0 ) { + before(grammarAccess.getNumericLiteralAccess().getValueAssignment()); + } + // InternalSolverLanguage.g:920:3: ( rule__NumericLiteral__ValueAssignment ) + // InternalSolverLanguage.g:920:4: rule__NumericLiteral__ValueAssignment { pushFollow(FOLLOW_2); - rule__Variable__NameAssignment(); + rule__NumericLiteral__ValueAssignment(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getVariableAccess().getNameAssignment()); + if ( state.backtracking==0 ) { + after(grammarAccess.getNumericLiteralAccess().getValueAssignment()); + } } @@ -2809,24 +3123,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleVariable" + // $ANTLR end "ruleNumericLiteral" - // $ANTLR start "entryRuleAllInstances" - // InternalSolverLanguage.g:928:1: entryRuleAllInstances : ruleAllInstances EOF ; - public final void entryRuleAllInstances() throws RecognitionException { + // $ANTLR start "entryRuleInfinityLiteral" + // InternalSolverLanguage.g:929:1: entryRuleInfinityLiteral : ruleInfinityLiteral EOF ; + public final void entryRuleInfinityLiteral() throws RecognitionException { try { - // InternalSolverLanguage.g:929:1: ( ruleAllInstances EOF ) - // InternalSolverLanguage.g:930:1: ruleAllInstances EOF + // InternalSolverLanguage.g:930:1: ( ruleInfinityLiteral EOF ) + // InternalSolverLanguage.g:931:1: ruleInfinityLiteral EOF { - before(grammarAccess.getAllInstancesRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getInfinityLiteralRule()); + } pushFollow(FOLLOW_1); - ruleAllInstances(); + ruleInfinityLiteral(); state._fsp--; - - after(grammarAccess.getAllInstancesRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfinityLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -2839,35 +3157,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleAllInstances" + // $ANTLR end "entryRuleInfinityLiteral" - // $ANTLR start "ruleAllInstances" - // InternalSolverLanguage.g:937:1: ruleAllInstances : ( ( rule__AllInstances__Group__0 ) ) ; - public final void ruleAllInstances() throws RecognitionException { + // $ANTLR start "ruleInfinityLiteral" + // InternalSolverLanguage.g:938:1: ruleInfinityLiteral : ( ( rule__InfinityLiteral__Group__0 ) ) ; + public final void ruleInfinityLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:941:2: ( ( ( rule__AllInstances__Group__0 ) ) ) - // InternalSolverLanguage.g:942:2: ( ( rule__AllInstances__Group__0 ) ) + // InternalSolverLanguage.g:942:2: ( ( ( rule__InfinityLiteral__Group__0 ) ) ) + // InternalSolverLanguage.g:943:2: ( ( rule__InfinityLiteral__Group__0 ) ) { - // InternalSolverLanguage.g:942:2: ( ( rule__AllInstances__Group__0 ) ) - // InternalSolverLanguage.g:943:3: ( rule__AllInstances__Group__0 ) + // InternalSolverLanguage.g:943:2: ( ( rule__InfinityLiteral__Group__0 ) ) + // InternalSolverLanguage.g:944:3: ( rule__InfinityLiteral__Group__0 ) { - before(grammarAccess.getAllInstancesAccess().getGroup()); - // InternalSolverLanguage.g:944:3: ( rule__AllInstances__Group__0 ) - // InternalSolverLanguage.g:944:4: rule__AllInstances__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getInfinityLiteralAccess().getGroup()); + } + // InternalSolverLanguage.g:945:3: ( rule__InfinityLiteral__Group__0 ) + // InternalSolverLanguage.g:945:4: rule__InfinityLiteral__Group__0 { pushFollow(FOLLOW_2); - rule__AllInstances__Group__0(); + rule__InfinityLiteral__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getAllInstancesAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getInfinityLiteralAccess().getGroup()); + } } @@ -2886,24 +3208,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleAllInstances" + // $ANTLR end "ruleInfinityLiteral" - // $ANTLR start "entryRuleAllObjects" - // InternalSolverLanguage.g:953:1: entryRuleAllObjects : ruleAllObjects EOF ; - public final void entryRuleAllObjects() throws RecognitionException { + // $ANTLR start "entryRuleEmptyIntervalLiteral" + // InternalSolverLanguage.g:954:1: entryRuleEmptyIntervalLiteral : ruleEmptyIntervalLiteral EOF ; + public final void entryRuleEmptyIntervalLiteral() throws RecognitionException { try { - // InternalSolverLanguage.g:954:1: ( ruleAllObjects EOF ) - // InternalSolverLanguage.g:955:1: ruleAllObjects EOF + // InternalSolverLanguage.g:955:1: ( ruleEmptyIntervalLiteral EOF ) + // InternalSolverLanguage.g:956:1: ruleEmptyIntervalLiteral EOF { - before(grammarAccess.getAllObjectsRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getEmptyIntervalLiteralRule()); + } pushFollow(FOLLOW_1); - ruleAllObjects(); + ruleEmptyIntervalLiteral(); state._fsp--; - - after(grammarAccess.getAllObjectsRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getEmptyIntervalLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -2916,35 +3242,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleAllObjects" + // $ANTLR end "entryRuleEmptyIntervalLiteral" - // $ANTLR start "ruleAllObjects" - // InternalSolverLanguage.g:962:1: ruleAllObjects : ( ( rule__AllObjects__Group__0 ) ) ; - public final void ruleAllObjects() throws RecognitionException { + // $ANTLR start "ruleEmptyIntervalLiteral" + // InternalSolverLanguage.g:963:1: ruleEmptyIntervalLiteral : ( ( rule__EmptyIntervalLiteral__Group__0 ) ) ; + public final void ruleEmptyIntervalLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:966:2: ( ( ( rule__AllObjects__Group__0 ) ) ) - // InternalSolverLanguage.g:967:2: ( ( rule__AllObjects__Group__0 ) ) + // InternalSolverLanguage.g:967:2: ( ( ( rule__EmptyIntervalLiteral__Group__0 ) ) ) + // InternalSolverLanguage.g:968:2: ( ( rule__EmptyIntervalLiteral__Group__0 ) ) { - // InternalSolverLanguage.g:967:2: ( ( rule__AllObjects__Group__0 ) ) - // InternalSolverLanguage.g:968:3: ( rule__AllObjects__Group__0 ) + // InternalSolverLanguage.g:968:2: ( ( rule__EmptyIntervalLiteral__Group__0 ) ) + // InternalSolverLanguage.g:969:3: ( rule__EmptyIntervalLiteral__Group__0 ) { - before(grammarAccess.getAllObjectsAccess().getGroup()); - // InternalSolverLanguage.g:969:3: ( rule__AllObjects__Group__0 ) - // InternalSolverLanguage.g:969:4: rule__AllObjects__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getEmptyIntervalLiteralAccess().getGroup()); + } + // InternalSolverLanguage.g:970:3: ( rule__EmptyIntervalLiteral__Group__0 ) + // InternalSolverLanguage.g:970:4: rule__EmptyIntervalLiteral__Group__0 { pushFollow(FOLLOW_2); - rule__AllObjects__Group__0(); + rule__EmptyIntervalLiteral__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getAllObjectsAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getEmptyIntervalLiteralAccess().getGroup()); + } } @@ -2963,24 +3293,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleAllObjects" + // $ANTLR end "ruleEmptyIntervalLiteral" - // $ANTLR start "entryRuleDefaultInterpretation" - // InternalSolverLanguage.g:978:1: entryRuleDefaultInterpretation : ruleDefaultInterpretation EOF ; - public final void entryRuleDefaultInterpretation() throws RecognitionException { + // $ANTLR start "entryRuleStringLiteral" + // InternalSolverLanguage.g:979:1: entryRuleStringLiteral : ruleStringLiteral EOF ; + public final void entryRuleStringLiteral() throws RecognitionException { try { - // InternalSolverLanguage.g:979:1: ( ruleDefaultInterpretation EOF ) - // InternalSolverLanguage.g:980:1: ruleDefaultInterpretation EOF + // InternalSolverLanguage.g:980:1: ( ruleStringLiteral EOF ) + // InternalSolverLanguage.g:981:1: ruleStringLiteral EOF { - before(grammarAccess.getDefaultInterpretationRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getStringLiteralRule()); + } pushFollow(FOLLOW_1); - ruleDefaultInterpretation(); + ruleStringLiteral(); state._fsp--; - - after(grammarAccess.getDefaultInterpretationRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStringLiteralRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -2993,35 +3327,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleDefaultInterpretation" + // $ANTLR end "entryRuleStringLiteral" - // $ANTLR start "ruleDefaultInterpretation" - // InternalSolverLanguage.g:987:1: ruleDefaultInterpretation : ( ( rule__DefaultInterpretation__Group__0 ) ) ; - public final void ruleDefaultInterpretation() throws RecognitionException { + // $ANTLR start "ruleStringLiteral" + // InternalSolverLanguage.g:988:1: ruleStringLiteral : ( ( rule__StringLiteral__ValueAssignment ) ) ; + public final void ruleStringLiteral() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:991:2: ( ( ( rule__DefaultInterpretation__Group__0 ) ) ) - // InternalSolverLanguage.g:992:2: ( ( rule__DefaultInterpretation__Group__0 ) ) + // InternalSolverLanguage.g:992:2: ( ( ( rule__StringLiteral__ValueAssignment ) ) ) + // InternalSolverLanguage.g:993:2: ( ( rule__StringLiteral__ValueAssignment ) ) { - // InternalSolverLanguage.g:992:2: ( ( rule__DefaultInterpretation__Group__0 ) ) - // InternalSolverLanguage.g:993:3: ( rule__DefaultInterpretation__Group__0 ) + // InternalSolverLanguage.g:993:2: ( ( rule__StringLiteral__ValueAssignment ) ) + // InternalSolverLanguage.g:994:3: ( rule__StringLiteral__ValueAssignment ) { - before(grammarAccess.getDefaultInterpretationAccess().getGroup()); - // InternalSolverLanguage.g:994:3: ( rule__DefaultInterpretation__Group__0 ) - // InternalSolverLanguage.g:994:4: rule__DefaultInterpretation__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getStringLiteralAccess().getValueAssignment()); + } + // InternalSolverLanguage.g:995:3: ( rule__StringLiteral__ValueAssignment ) + // InternalSolverLanguage.g:995:4: rule__StringLiteral__ValueAssignment { pushFollow(FOLLOW_2); - rule__DefaultInterpretation__Group__0(); + rule__StringLiteral__ValueAssignment(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getDefaultInterpretationAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getStringLiteralAccess().getValueAssignment()); + } } @@ -3040,24 +3378,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleDefaultInterpretation" + // $ANTLR end "ruleStringLiteral" - // $ANTLR start "entryRuleCDInterpretation" - // InternalSolverLanguage.g:1003:1: entryRuleCDInterpretation : ruleCDInterpretation EOF ; - public final void entryRuleCDInterpretation() throws RecognitionException { + // $ANTLR start "entryRuleClassDefinition" + // InternalSolverLanguage.g:1004:1: entryRuleClassDefinition : ruleClassDefinition EOF ; + public final void entryRuleClassDefinition() throws RecognitionException { try { - // InternalSolverLanguage.g:1004:1: ( ruleCDInterpretation EOF ) - // InternalSolverLanguage.g:1005:1: ruleCDInterpretation EOF + // InternalSolverLanguage.g:1005:1: ( ruleClassDefinition EOF ) + // InternalSolverLanguage.g:1006:1: ruleClassDefinition EOF { - before(grammarAccess.getCDInterpretationRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionRule()); + } pushFollow(FOLLOW_1); - ruleCDInterpretation(); + ruleClassDefinition(); state._fsp--; - - after(grammarAccess.getCDInterpretationRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -3070,35 +3412,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleCDInterpretation" + // $ANTLR end "entryRuleClassDefinition" - // $ANTLR start "ruleCDInterpretation" - // InternalSolverLanguage.g:1012:1: ruleCDInterpretation : ( ( rule__CDInterpretation__Alternatives ) ) ; - public final void ruleCDInterpretation() throws RecognitionException { + // $ANTLR start "ruleClassDefinition" + // InternalSolverLanguage.g:1013:1: ruleClassDefinition : ( ( rule__ClassDefinition__Group__0 ) ) ; + public final void ruleClassDefinition() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1016:2: ( ( ( rule__CDInterpretation__Alternatives ) ) ) - // InternalSolverLanguage.g:1017:2: ( ( rule__CDInterpretation__Alternatives ) ) + // InternalSolverLanguage.g:1017:2: ( ( ( rule__ClassDefinition__Group__0 ) ) ) + // InternalSolverLanguage.g:1018:2: ( ( rule__ClassDefinition__Group__0 ) ) { - // InternalSolverLanguage.g:1017:2: ( ( rule__CDInterpretation__Alternatives ) ) - // InternalSolverLanguage.g:1018:3: ( rule__CDInterpretation__Alternatives ) + // InternalSolverLanguage.g:1018:2: ( ( rule__ClassDefinition__Group__0 ) ) + // InternalSolverLanguage.g:1019:3: ( rule__ClassDefinition__Group__0 ) { - before(grammarAccess.getCDInterpretationAccess().getAlternatives()); - // InternalSolverLanguage.g:1019:3: ( rule__CDInterpretation__Alternatives ) - // InternalSolverLanguage.g:1019:4: rule__CDInterpretation__Alternatives + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getGroup()); + } + // InternalSolverLanguage.g:1020:3: ( rule__ClassDefinition__Group__0 ) + // InternalSolverLanguage.g:1020:4: rule__ClassDefinition__Group__0 { pushFollow(FOLLOW_2); - rule__CDInterpretation__Alternatives(); + rule__ClassDefinition__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getCDInterpretationAccess().getAlternatives()); + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getGroup()); + } } @@ -3117,24 +3463,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleCDInterpretation" + // $ANTLR end "ruleClassDefinition" - // $ANTLR start "entryRuleClassInterpretation" - // InternalSolverLanguage.g:1028:1: entryRuleClassInterpretation : ruleClassInterpretation EOF ; - public final void entryRuleClassInterpretation() throws RecognitionException { + // $ANTLR start "entryRuleMemberDefinition" + // InternalSolverLanguage.g:1029:1: entryRuleMemberDefinition : ruleMemberDefinition EOF ; + public final void entryRuleMemberDefinition() throws RecognitionException { try { - // InternalSolverLanguage.g:1029:1: ( ruleClassInterpretation EOF ) - // InternalSolverLanguage.g:1030:1: ruleClassInterpretation EOF + // InternalSolverLanguage.g:1030:1: ( ruleMemberDefinition EOF ) + // InternalSolverLanguage.g:1031:1: ruleMemberDefinition EOF { - before(grammarAccess.getClassInterpretationRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionRule()); + } pushFollow(FOLLOW_1); - ruleClassInterpretation(); + ruleMemberDefinition(); state._fsp--; - - after(grammarAccess.getClassInterpretationRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -3147,35 +3497,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleClassInterpretation" + // $ANTLR end "entryRuleMemberDefinition" - // $ANTLR start "ruleClassInterpretation" - // InternalSolverLanguage.g:1037:1: ruleClassInterpretation : ( ( rule__ClassInterpretation__Group__0 ) ) ; - public final void ruleClassInterpretation() throws RecognitionException { + // $ANTLR start "ruleMemberDefinition" + // InternalSolverLanguage.g:1038:1: ruleMemberDefinition : ( ( rule__MemberDefinition__Group__0 ) ) ; + public final void ruleMemberDefinition() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1041:2: ( ( ( rule__ClassInterpretation__Group__0 ) ) ) - // InternalSolverLanguage.g:1042:2: ( ( rule__ClassInterpretation__Group__0 ) ) + // InternalSolverLanguage.g:1042:2: ( ( ( rule__MemberDefinition__Group__0 ) ) ) + // InternalSolverLanguage.g:1043:2: ( ( rule__MemberDefinition__Group__0 ) ) { - // InternalSolverLanguage.g:1042:2: ( ( rule__ClassInterpretation__Group__0 ) ) - // InternalSolverLanguage.g:1043:3: ( rule__ClassInterpretation__Group__0 ) + // InternalSolverLanguage.g:1043:2: ( ( rule__MemberDefinition__Group__0 ) ) + // InternalSolverLanguage.g:1044:3: ( rule__MemberDefinition__Group__0 ) { - before(grammarAccess.getClassInterpretationAccess().getGroup()); - // InternalSolverLanguage.g:1044:3: ( rule__ClassInterpretation__Group__0 ) - // InternalSolverLanguage.g:1044:4: rule__ClassInterpretation__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionAccess().getGroup()); + } + // InternalSolverLanguage.g:1045:3: ( rule__MemberDefinition__Group__0 ) + // InternalSolverLanguage.g:1045:4: rule__MemberDefinition__Group__0 { pushFollow(FOLLOW_2); - rule__ClassInterpretation__Group__0(); + rule__MemberDefinition__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getClassInterpretationAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionAccess().getGroup()); + } } @@ -3194,24 +3548,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleClassInterpretation" + // $ANTLR end "ruleMemberDefinition" - // $ANTLR start "entryRuleEnumInterpretation" - // InternalSolverLanguage.g:1053:1: entryRuleEnumInterpretation : ruleEnumInterpretation EOF ; - public final void entryRuleEnumInterpretation() throws RecognitionException { + // $ANTLR start "entryRuleMultiplicity" + // InternalSolverLanguage.g:1054:1: entryRuleMultiplicity : ruleMultiplicity EOF ; + public final void entryRuleMultiplicity() throws RecognitionException { try { - // InternalSolverLanguage.g:1054:1: ( ruleEnumInterpretation EOF ) - // InternalSolverLanguage.g:1055:1: ruleEnumInterpretation EOF + // InternalSolverLanguage.g:1055:1: ( ruleMultiplicity EOF ) + // InternalSolverLanguage.g:1056:1: ruleMultiplicity EOF { - before(grammarAccess.getEnumInterpretationRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicityRule()); + } pushFollow(FOLLOW_1); - ruleEnumInterpretation(); + ruleMultiplicity(); state._fsp--; - - after(grammarAccess.getEnumInterpretationRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicityRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -3224,35 +3582,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleEnumInterpretation" + // $ANTLR end "entryRuleMultiplicity" - // $ANTLR start "ruleEnumInterpretation" - // InternalSolverLanguage.g:1062:1: ruleEnumInterpretation : ( ( rule__EnumInterpretation__Group__0 ) ) ; - public final void ruleEnumInterpretation() throws RecognitionException { + // $ANTLR start "ruleMultiplicity" + // InternalSolverLanguage.g:1063:1: ruleMultiplicity : ( ( rule__Multiplicity__Alternatives ) ) ; + public final void ruleMultiplicity() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1066:2: ( ( ( rule__EnumInterpretation__Group__0 ) ) ) - // InternalSolverLanguage.g:1067:2: ( ( rule__EnumInterpretation__Group__0 ) ) + // InternalSolverLanguage.g:1067:2: ( ( ( rule__Multiplicity__Alternatives ) ) ) + // InternalSolverLanguage.g:1068:2: ( ( rule__Multiplicity__Alternatives ) ) { - // InternalSolverLanguage.g:1067:2: ( ( rule__EnumInterpretation__Group__0 ) ) - // InternalSolverLanguage.g:1068:3: ( rule__EnumInterpretation__Group__0 ) + // InternalSolverLanguage.g:1068:2: ( ( rule__Multiplicity__Alternatives ) ) + // InternalSolverLanguage.g:1069:3: ( rule__Multiplicity__Alternatives ) { - before(grammarAccess.getEnumInterpretationAccess().getGroup()); - // InternalSolverLanguage.g:1069:3: ( rule__EnumInterpretation__Group__0 ) - // InternalSolverLanguage.g:1069:4: rule__EnumInterpretation__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicityAccess().getAlternatives()); + } + // InternalSolverLanguage.g:1070:3: ( rule__Multiplicity__Alternatives ) + // InternalSolverLanguage.g:1070:4: rule__Multiplicity__Alternatives { pushFollow(FOLLOW_2); - rule__EnumInterpretation__Group__0(); + rule__Multiplicity__Alternatives(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getEnumInterpretationAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicityAccess().getAlternatives()); + } } @@ -3271,24 +3633,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleEnumInterpretation" + // $ANTLR end "ruleMultiplicity" - // $ANTLR start "entryRuleFieldRelationInterpretation" - // InternalSolverLanguage.g:1078:1: entryRuleFieldRelationInterpretation : ruleFieldRelationInterpretation EOF ; - public final void entryRuleFieldRelationInterpretation() throws RecognitionException { + // $ANTLR start "entryRuleManyMultiplicity" + // InternalSolverLanguage.g:1079:1: entryRuleManyMultiplicity : ruleManyMultiplicity EOF ; + public final void entryRuleManyMultiplicity() throws RecognitionException { try { - // InternalSolverLanguage.g:1079:1: ( ruleFieldRelationInterpretation EOF ) - // InternalSolverLanguage.g:1080:1: ruleFieldRelationInterpretation EOF + // InternalSolverLanguage.g:1080:1: ( ruleManyMultiplicity EOF ) + // InternalSolverLanguage.g:1081:1: ruleManyMultiplicity EOF { - before(grammarAccess.getFieldRelationInterpretationRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getManyMultiplicityRule()); + } pushFollow(FOLLOW_1); - ruleFieldRelationInterpretation(); + ruleManyMultiplicity(); state._fsp--; - - after(grammarAccess.getFieldRelationInterpretationRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getManyMultiplicityRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -3301,35 +3667,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleFieldRelationInterpretation" + // $ANTLR end "entryRuleManyMultiplicity" - // $ANTLR start "ruleFieldRelationInterpretation" - // InternalSolverLanguage.g:1087:1: ruleFieldRelationInterpretation : ( ( rule__FieldRelationInterpretation__Group__0 ) ) ; - public final void ruleFieldRelationInterpretation() throws RecognitionException { + // $ANTLR start "ruleManyMultiplicity" + // InternalSolverLanguage.g:1088:1: ruleManyMultiplicity : ( ( rule__ManyMultiplicity__Group__0 ) ) ; + public final void ruleManyMultiplicity() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1091:2: ( ( ( rule__FieldRelationInterpretation__Group__0 ) ) ) - // InternalSolverLanguage.g:1092:2: ( ( rule__FieldRelationInterpretation__Group__0 ) ) + // InternalSolverLanguage.g:1092:2: ( ( ( rule__ManyMultiplicity__Group__0 ) ) ) + // InternalSolverLanguage.g:1093:2: ( ( rule__ManyMultiplicity__Group__0 ) ) { - // InternalSolverLanguage.g:1092:2: ( ( rule__FieldRelationInterpretation__Group__0 ) ) - // InternalSolverLanguage.g:1093:3: ( rule__FieldRelationInterpretation__Group__0 ) + // InternalSolverLanguage.g:1093:2: ( ( rule__ManyMultiplicity__Group__0 ) ) + // InternalSolverLanguage.g:1094:3: ( rule__ManyMultiplicity__Group__0 ) { - before(grammarAccess.getFieldRelationInterpretationAccess().getGroup()); - // InternalSolverLanguage.g:1094:3: ( rule__FieldRelationInterpretation__Group__0 ) - // InternalSolverLanguage.g:1094:4: rule__FieldRelationInterpretation__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getManyMultiplicityAccess().getGroup()); + } + // InternalSolverLanguage.g:1095:3: ( rule__ManyMultiplicity__Group__0 ) + // InternalSolverLanguage.g:1095:4: rule__ManyMultiplicity__Group__0 { pushFollow(FOLLOW_2); - rule__FieldRelationInterpretation__Group__0(); + rule__ManyMultiplicity__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getFieldRelationInterpretationAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getManyMultiplicityAccess().getGroup()); + } } @@ -3348,24 +3718,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleFieldRelationInterpretation" + // $ANTLR end "ruleManyMultiplicity" - // $ANTLR start "entryRuleGlobalRelationInterpretation" - // InternalSolverLanguage.g:1103:1: entryRuleGlobalRelationInterpretation : ruleGlobalRelationInterpretation EOF ; - public final void entryRuleGlobalRelationInterpretation() throws RecognitionException { + // $ANTLR start "entryRuleExactMultiplicity" + // InternalSolverLanguage.g:1104:1: entryRuleExactMultiplicity : ruleExactMultiplicity EOF ; + public final void entryRuleExactMultiplicity() throws RecognitionException { try { - // InternalSolverLanguage.g:1104:1: ( ruleGlobalRelationInterpretation EOF ) - // InternalSolverLanguage.g:1105:1: ruleGlobalRelationInterpretation EOF + // InternalSolverLanguage.g:1105:1: ( ruleExactMultiplicity EOF ) + // InternalSolverLanguage.g:1106:1: ruleExactMultiplicity EOF { - before(grammarAccess.getGlobalRelationInterpretationRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getExactMultiplicityRule()); + } pushFollow(FOLLOW_1); - ruleGlobalRelationInterpretation(); + ruleExactMultiplicity(); state._fsp--; - - after(grammarAccess.getGlobalRelationInterpretationRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExactMultiplicityRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -3378,35 +3752,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleGlobalRelationInterpretation" + // $ANTLR end "entryRuleExactMultiplicity" - // $ANTLR start "ruleGlobalRelationInterpretation" - // InternalSolverLanguage.g:1112:1: ruleGlobalRelationInterpretation : ( ( rule__GlobalRelationInterpretation__Group__0 ) ) ; - public final void ruleGlobalRelationInterpretation() throws RecognitionException { + // $ANTLR start "ruleExactMultiplicity" + // InternalSolverLanguage.g:1113:1: ruleExactMultiplicity : ( ( rule__ExactMultiplicity__Group__0 ) ) ; + public final void ruleExactMultiplicity() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1116:2: ( ( ( rule__GlobalRelationInterpretation__Group__0 ) ) ) - // InternalSolverLanguage.g:1117:2: ( ( rule__GlobalRelationInterpretation__Group__0 ) ) + // InternalSolverLanguage.g:1117:2: ( ( ( rule__ExactMultiplicity__Group__0 ) ) ) + // InternalSolverLanguage.g:1118:2: ( ( rule__ExactMultiplicity__Group__0 ) ) { - // InternalSolverLanguage.g:1117:2: ( ( rule__GlobalRelationInterpretation__Group__0 ) ) - // InternalSolverLanguage.g:1118:3: ( rule__GlobalRelationInterpretation__Group__0 ) + // InternalSolverLanguage.g:1118:2: ( ( rule__ExactMultiplicity__Group__0 ) ) + // InternalSolverLanguage.g:1119:3: ( rule__ExactMultiplicity__Group__0 ) { - before(grammarAccess.getGlobalRelationInterpretationAccess().getGroup()); - // InternalSolverLanguage.g:1119:3: ( rule__GlobalRelationInterpretation__Group__0 ) - // InternalSolverLanguage.g:1119:4: rule__GlobalRelationInterpretation__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getExactMultiplicityAccess().getGroup()); + } + // InternalSolverLanguage.g:1120:3: ( rule__ExactMultiplicity__Group__0 ) + // InternalSolverLanguage.g:1120:4: rule__ExactMultiplicity__Group__0 { pushFollow(FOLLOW_2); - rule__GlobalRelationInterpretation__Group__0(); + rule__ExactMultiplicity__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getGlobalRelationInterpretationAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getExactMultiplicityAccess().getGroup()); + } } @@ -3425,24 +3803,28 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleGlobalRelationInterpretation" + // $ANTLR end "ruleExactMultiplicity" - // $ANTLR start "entryRuleMultiplicityDefinition" - // InternalSolverLanguage.g:1128:1: entryRuleMultiplicityDefinition : ruleMultiplicityDefinition EOF ; - public final void entryRuleMultiplicityDefinition() throws RecognitionException { + // $ANTLR start "entryRuleBoundedMultiplicity" + // InternalSolverLanguage.g:1129:1: entryRuleBoundedMultiplicity : ruleBoundedMultiplicity EOF ; + public final void entryRuleBoundedMultiplicity() throws RecognitionException { try { - // InternalSolverLanguage.g:1129:1: ( ruleMultiplicityDefinition EOF ) - // InternalSolverLanguage.g:1130:1: ruleMultiplicityDefinition EOF + // InternalSolverLanguage.g:1130:1: ( ruleBoundedMultiplicity EOF ) + // InternalSolverLanguage.g:1131:1: ruleBoundedMultiplicity EOF { - before(grammarAccess.getMultiplicityDefinitionRule()); + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedMultiplicityRule()); + } pushFollow(FOLLOW_1); - ruleMultiplicityDefinition(); + ruleBoundedMultiplicity(); state._fsp--; - - after(grammarAccess.getMultiplicityDefinitionRule()); - match(input,EOF,FOLLOW_2); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedMultiplicityRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -3455,35 +3837,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "entryRuleMultiplicityDefinition" + // $ANTLR end "entryRuleBoundedMultiplicity" - // $ANTLR start "ruleMultiplicityDefinition" - // InternalSolverLanguage.g:1137:1: ruleMultiplicityDefinition : ( ( rule__MultiplicityDefinition__Group__0 ) ) ; - public final void ruleMultiplicityDefinition() throws RecognitionException { + // $ANTLR start "ruleBoundedMultiplicity" + // InternalSolverLanguage.g:1138:1: ruleBoundedMultiplicity : ( ( rule__BoundedMultiplicity__Group__0 ) ) ; + public final void ruleBoundedMultiplicity() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1141:2: ( ( ( rule__MultiplicityDefinition__Group__0 ) ) ) - // InternalSolverLanguage.g:1142:2: ( ( rule__MultiplicityDefinition__Group__0 ) ) + // InternalSolverLanguage.g:1142:2: ( ( ( rule__BoundedMultiplicity__Group__0 ) ) ) + // InternalSolverLanguage.g:1143:2: ( ( rule__BoundedMultiplicity__Group__0 ) ) { - // InternalSolverLanguage.g:1142:2: ( ( rule__MultiplicityDefinition__Group__0 ) ) - // InternalSolverLanguage.g:1143:3: ( rule__MultiplicityDefinition__Group__0 ) + // InternalSolverLanguage.g:1143:2: ( ( rule__BoundedMultiplicity__Group__0 ) ) + // InternalSolverLanguage.g:1144:3: ( rule__BoundedMultiplicity__Group__0 ) { - before(grammarAccess.getMultiplicityDefinitionAccess().getGroup()); - // InternalSolverLanguage.g:1144:3: ( rule__MultiplicityDefinition__Group__0 ) - // InternalSolverLanguage.g:1144:4: rule__MultiplicityDefinition__Group__0 + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedMultiplicityAccess().getGroup()); + } + // InternalSolverLanguage.g:1145:3: ( rule__BoundedMultiplicity__Group__0 ) + // InternalSolverLanguage.g:1145:4: rule__BoundedMultiplicity__Group__0 { pushFollow(FOLLOW_2); - rule__MultiplicityDefinition__Group__0(); + rule__BoundedMultiplicity__Group__0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getMultiplicityDefinitionAccess().getGroup()); + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedMultiplicityAccess().getGroup()); + } } @@ -3502,60 +3888,79 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "ruleMultiplicityDefinition" - + // $ANTLR end "ruleBoundedMultiplicity" - // $ANTLR start "rule__Statement__Alternatives" - // InternalSolverLanguage.g:1152:1: rule__Statement__Alternatives : ( ( ruleInterpretation ) | ( rulePredicate ) ); - public final void rule__Statement__Alternatives() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleScopeDefinition" + // InternalSolverLanguage.g:1154:1: entryRuleScopeDefinition : ruleScopeDefinition EOF ; + public final void entryRuleScopeDefinition() throws RecognitionException { try { - // InternalSolverLanguage.g:1156:1: ( ( ruleInterpretation ) | ( rulePredicate ) ) - int alt2=2; - alt2 = dfa2.predict(input); - switch (alt2) { - case 1 : - // InternalSolverLanguage.g:1157:2: ( ruleInterpretation ) - { - // InternalSolverLanguage.g:1157:2: ( ruleInterpretation ) - // InternalSolverLanguage.g:1158:3: ruleInterpretation - { - before(grammarAccess.getStatementAccess().getInterpretationParserRuleCall_0()); - pushFollow(FOLLOW_2); - ruleInterpretation(); + // InternalSolverLanguage.g:1155:1: ( ruleScopeDefinition EOF ) + // InternalSolverLanguage.g:1156:1: ruleScopeDefinition EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDefinitionRule()); + } + pushFollow(FOLLOW_1); + ruleScopeDefinition(); - state._fsp--; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDefinitionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - after(grammarAccess.getStatementAccess().getInterpretationParserRuleCall_0()); + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleScopeDefinition" - } - break; - case 2 : - // InternalSolverLanguage.g:1163:2: ( rulePredicate ) - { - // InternalSolverLanguage.g:1163:2: ( rulePredicate ) - // InternalSolverLanguage.g:1164:3: rulePredicate - { - before(grammarAccess.getStatementAccess().getPredicateParserRuleCall_1()); - pushFollow(FOLLOW_2); - rulePredicate(); + // $ANTLR start "ruleScopeDefinition" + // InternalSolverLanguage.g:1163:1: ruleScopeDefinition : ( ( rule__ScopeDefinition__Alternatives ) ) ; + public final void ruleScopeDefinition() throws RecognitionException { - state._fsp--; + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1167:2: ( ( ( rule__ScopeDefinition__Alternatives ) ) ) + // InternalSolverLanguage.g:1168:2: ( ( rule__ScopeDefinition__Alternatives ) ) + { + // InternalSolverLanguage.g:1168:2: ( ( rule__ScopeDefinition__Alternatives ) ) + // InternalSolverLanguage.g:1169:3: ( rule__ScopeDefinition__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDefinitionAccess().getAlternatives()); + } + // InternalSolverLanguage.g:1170:3: ( rule__ScopeDefinition__Alternatives ) + // InternalSolverLanguage.g:1170:4: rule__ScopeDefinition__Alternatives + { + pushFollow(FOLLOW_2); + rule__ScopeDefinition__Alternatives(); - after(grammarAccess.getStatementAccess().getPredicateParserRuleCall_1()); + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDefinitionAccess().getAlternatives()); + } + + } - } - break; } + } catch (RecognitionException re) { reportError(re); @@ -3568,240 +3973,11224 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Statement__Alternatives" - + // $ANTLR end "ruleScopeDefinition" - // $ANTLR start "rule__BooleanValue__Alternatives" - // InternalSolverLanguage.g:1173:1: rule__BooleanValue__Alternatives : ( ( ( rule__BooleanValue__Group_0__0 ) ) | ( ( rule__BooleanValue__Group_1__0 ) ) ); - public final void rule__BooleanValue__Alternatives() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleExactScopeDefinition" + // InternalSolverLanguage.g:1179:1: entryRuleExactScopeDefinition : ruleExactScopeDefinition EOF ; + public final void entryRuleExactScopeDefinition() throws RecognitionException { try { - // InternalSolverLanguage.g:1177:1: ( ( ( rule__BooleanValue__Group_0__0 ) ) | ( ( rule__BooleanValue__Group_1__0 ) ) ) - int alt3=2; - int LA3_0 = input.LA(1); - - if ( (LA3_0==12) ) { - alt3=1; + // InternalSolverLanguage.g:1180:1: ( ruleExactScopeDefinition EOF ) + // InternalSolverLanguage.g:1181:1: ruleExactScopeDefinition EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExactScopeDefinitionRule()); } - else if ( (LA3_0==11) ) { - alt3=2; + pushFollow(FOLLOW_1); + ruleExactScopeDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExactScopeDefinitionRule()); } - else { - NoViableAltException nvae = - new NoViableAltException("", 3, 0, input); + match(input,EOF,FOLLOW_2); if (state.failed) return ; - throw nvae; } - switch (alt3) { - case 1 : - // InternalSolverLanguage.g:1178:2: ( ( rule__BooleanValue__Group_0__0 ) ) - { - // InternalSolverLanguage.g:1178:2: ( ( rule__BooleanValue__Group_0__0 ) ) - // InternalSolverLanguage.g:1179:3: ( rule__BooleanValue__Group_0__0 ) - { - before(grammarAccess.getBooleanValueAccess().getGroup_0()); - // InternalSolverLanguage.g:1180:3: ( rule__BooleanValue__Group_0__0 ) - // InternalSolverLanguage.g:1180:4: rule__BooleanValue__Group_0__0 - { - pushFollow(FOLLOW_2); - rule__BooleanValue__Group_0__0(); - state._fsp--; + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleExactScopeDefinition" - } + // $ANTLR start "ruleExactScopeDefinition" + // InternalSolverLanguage.g:1188:1: ruleExactScopeDefinition : ( ( rule__ExactScopeDefinition__Group__0 ) ) ; + public final void ruleExactScopeDefinition() throws RecognitionException { - after(grammarAccess.getBooleanValueAccess().getGroup_0()); + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1192:2: ( ( ( rule__ExactScopeDefinition__Group__0 ) ) ) + // InternalSolverLanguage.g:1193:2: ( ( rule__ExactScopeDefinition__Group__0 ) ) + { + // InternalSolverLanguage.g:1193:2: ( ( rule__ExactScopeDefinition__Group__0 ) ) + // InternalSolverLanguage.g:1194:3: ( rule__ExactScopeDefinition__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExactScopeDefinitionAccess().getGroup()); + } + // InternalSolverLanguage.g:1195:3: ( rule__ExactScopeDefinition__Group__0 ) + // InternalSolverLanguage.g:1195:4: rule__ExactScopeDefinition__Group__0 + { + pushFollow(FOLLOW_2); + rule__ExactScopeDefinition__Group__0(); - } + state._fsp--; + if (state.failed) return ; + } - } - break; - case 2 : - // InternalSolverLanguage.g:1184:2: ( ( rule__BooleanValue__Group_1__0 ) ) - { - // InternalSolverLanguage.g:1184:2: ( ( rule__BooleanValue__Group_1__0 ) ) - // InternalSolverLanguage.g:1185:3: ( rule__BooleanValue__Group_1__0 ) - { - before(grammarAccess.getBooleanValueAccess().getGroup_1()); - // InternalSolverLanguage.g:1186:3: ( rule__BooleanValue__Group_1__0 ) - // InternalSolverLanguage.g:1186:4: rule__BooleanValue__Group_1__0 - { - pushFollow(FOLLOW_2); - rule__BooleanValue__Group_1__0(); + if ( state.backtracking==0 ) { + after(grammarAccess.getExactScopeDefinitionAccess().getGroup()); + } - state._fsp--; + } - } + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - after(grammarAccess.getBooleanValueAccess().getGroup_1()); + restoreStackSize(stackSize); - } + } + return ; + } + // $ANTLR end "ruleExactScopeDefinition" - } - break; + // $ANTLR start "entryRuleBoundedScopeDefinition" + // InternalSolverLanguage.g:1204:1: entryRuleBoundedScopeDefinition : ruleBoundedScopeDefinition EOF ; + public final void entryRuleBoundedScopeDefinition() throws RecognitionException { + try { + // InternalSolverLanguage.g:1205:1: ( ruleBoundedScopeDefinition EOF ) + // InternalSolverLanguage.g:1206:1: ruleBoundedScopeDefinition EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionRule()); + } + pushFollow(FOLLOW_1); + ruleBoundedScopeDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "rule__BooleanValue__Alternatives" + // $ANTLR end "entryRuleBoundedScopeDefinition" - // $ANTLR start "rule__TruthValue__Alternatives" - // 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 ) ) ); - public final void rule__TruthValue__Alternatives() throws RecognitionException { + // $ANTLR start "ruleBoundedScopeDefinition" + // InternalSolverLanguage.g:1213:1: ruleBoundedScopeDefinition : ( ( rule__BoundedScopeDefinition__Group__0 ) ) ; + public final void ruleBoundedScopeDefinition() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1198:1: ( ( ( rule__TruthValue__Group_0__0 ) ) | ( ( rule__TruthValue__Group_1__0 ) ) | ( ( rule__TruthValue__Group_2__0 ) ) | ( ( rule__TruthValue__Group_3__0 ) ) ) - int alt4=4; - switch ( input.LA(1) ) { - case 12: - { - alt4=1; - } - break; - case 11: - { - alt4=2; - } - break; - case 15: - { - alt4=3; - } - break; - case 16: - { - alt4=4; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 4, 0, input); + // InternalSolverLanguage.g:1217:2: ( ( ( rule__BoundedScopeDefinition__Group__0 ) ) ) + // InternalSolverLanguage.g:1218:2: ( ( rule__BoundedScopeDefinition__Group__0 ) ) + { + // InternalSolverLanguage.g:1218:2: ( ( rule__BoundedScopeDefinition__Group__0 ) ) + // InternalSolverLanguage.g:1219:3: ( rule__BoundedScopeDefinition__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup()); + } + // InternalSolverLanguage.g:1220:3: ( rule__BoundedScopeDefinition__Group__0 ) + // InternalSolverLanguage.g:1220:4: rule__BoundedScopeDefinition__Group__0 + { + pushFollow(FOLLOW_2); + rule__BoundedScopeDefinition__Group__0(); + + state._fsp--; + if (state.failed) return ; - throw nvae; } - switch (alt4) { - case 1 : - // InternalSolverLanguage.g:1199:2: ( ( rule__TruthValue__Group_0__0 ) ) - { - // InternalSolverLanguage.g:1199:2: ( ( rule__TruthValue__Group_0__0 ) ) - // InternalSolverLanguage.g:1200:3: ( rule__TruthValue__Group_0__0 ) - { - before(grammarAccess.getTruthValueAccess().getGroup_0()); - // InternalSolverLanguage.g:1201:3: ( rule__TruthValue__Group_0__0 ) - // InternalSolverLanguage.g:1201:4: rule__TruthValue__Group_0__0 - { - pushFollow(FOLLOW_2); - rule__TruthValue__Group_0__0(); + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup()); + } - state._fsp--; + } - } + } - after(grammarAccess.getTruthValueAccess().getGroup_0()); + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } + restoreStackSize(stackSize); + } + return ; + } + // $ANTLR end "ruleBoundedScopeDefinition" - } - break; - case 2 : - // InternalSolverLanguage.g:1205:2: ( ( rule__TruthValue__Group_1__0 ) ) - { - // InternalSolverLanguage.g:1205:2: ( ( rule__TruthValue__Group_1__0 ) ) - // InternalSolverLanguage.g:1206:3: ( rule__TruthValue__Group_1__0 ) - { - before(grammarAccess.getTruthValueAccess().getGroup_1()); - // InternalSolverLanguage.g:1207:3: ( rule__TruthValue__Group_1__0 ) - // InternalSolverLanguage.g:1207:4: rule__TruthValue__Group_1__0 - { - pushFollow(FOLLOW_2); - rule__TruthValue__Group_1__0(); - state._fsp--; + // $ANTLR start "entryRuleLowerBoundedScopeDefinition" + // InternalSolverLanguage.g:1229:1: entryRuleLowerBoundedScopeDefinition : ruleLowerBoundedScopeDefinition EOF ; + public final void entryRuleLowerBoundedScopeDefinition() throws RecognitionException { + try { + // InternalSolverLanguage.g:1230:1: ( ruleLowerBoundedScopeDefinition EOF ) + // InternalSolverLanguage.g:1231:1: ruleLowerBoundedScopeDefinition EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + pushFollow(FOLLOW_1); + ruleLowerBoundedScopeDefinition(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; - } + } - after(grammarAccess.getTruthValueAccess().getGroup_1()); + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLowerBoundedScopeDefinition" - } + // $ANTLR start "ruleLowerBoundedScopeDefinition" + // InternalSolverLanguage.g:1238:1: ruleLowerBoundedScopeDefinition : ( ( rule__LowerBoundedScopeDefinition__Group__0 ) ) ; + public final void ruleLowerBoundedScopeDefinition() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1242:2: ( ( ( rule__LowerBoundedScopeDefinition__Group__0 ) ) ) + // InternalSolverLanguage.g:1243:2: ( ( rule__LowerBoundedScopeDefinition__Group__0 ) ) + { + // InternalSolverLanguage.g:1243:2: ( ( rule__LowerBoundedScopeDefinition__Group__0 ) ) + // InternalSolverLanguage.g:1244:3: ( rule__LowerBoundedScopeDefinition__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup()); + } + // InternalSolverLanguage.g:1245:3: ( rule__LowerBoundedScopeDefinition__Group__0 ) + // InternalSolverLanguage.g:1245:4: rule__LowerBoundedScopeDefinition__Group__0 + { + pushFollow(FOLLOW_2); + rule__LowerBoundedScopeDefinition__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLowerBoundedScopeDefinition" + + + // $ANTLR start "entryRuleObjectiveDefinition" + // InternalSolverLanguage.g:1254:1: entryRuleObjectiveDefinition : ruleObjectiveDefinition EOF ; + public final void entryRuleObjectiveDefinition() throws RecognitionException { + try { + // InternalSolverLanguage.g:1255:1: ( ruleObjectiveDefinition EOF ) + // InternalSolverLanguage.g:1256:1: ruleObjectiveDefinition EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObjectiveDefinitionRule()); + } + pushFollow(FOLLOW_1); + ruleObjectiveDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObjectiveDefinitionRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleObjectiveDefinition" + + + // $ANTLR start "ruleObjectiveDefinition" + // InternalSolverLanguage.g:1263:1: ruleObjectiveDefinition : ( ( rule__ObjectiveDefinition__Group__0 ) ) ; + public final void ruleObjectiveDefinition() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1267:2: ( ( ( rule__ObjectiveDefinition__Group__0 ) ) ) + // InternalSolverLanguage.g:1268:2: ( ( rule__ObjectiveDefinition__Group__0 ) ) + { + // InternalSolverLanguage.g:1268:2: ( ( rule__ObjectiveDefinition__Group__0 ) ) + // InternalSolverLanguage.g:1269:3: ( rule__ObjectiveDefinition__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObjectiveDefinitionAccess().getGroup()); + } + // InternalSolverLanguage.g:1270:3: ( rule__ObjectiveDefinition__Group__0 ) + // InternalSolverLanguage.g:1270:4: rule__ObjectiveDefinition__Group__0 + { + pushFollow(FOLLOW_2); + rule__ObjectiveDefinition__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObjectiveDefinitionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleObjectiveDefinition" + + + // $ANTLR start "entryRuleUpperMultiplicty" + // InternalSolverLanguage.g:1279:1: entryRuleUpperMultiplicty : ruleUpperMultiplicty EOF ; + public final void entryRuleUpperMultiplicty() throws RecognitionException { + try { + // InternalSolverLanguage.g:1280:1: ( ruleUpperMultiplicty EOF ) + // InternalSolverLanguage.g:1281:1: ruleUpperMultiplicty EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUpperMultiplictyRule()); + } + pushFollow(FOLLOW_1); + ruleUpperMultiplicty(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUpperMultiplictyRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleUpperMultiplicty" + + + // $ANTLR start "ruleUpperMultiplicty" + // InternalSolverLanguage.g:1288:1: ruleUpperMultiplicty : ( ( rule__UpperMultiplicty__Alternatives ) ) ; + public final void ruleUpperMultiplicty() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1292:2: ( ( ( rule__UpperMultiplicty__Alternatives ) ) ) + // InternalSolverLanguage.g:1293:2: ( ( rule__UpperMultiplicty__Alternatives ) ) + { + // InternalSolverLanguage.g:1293:2: ( ( rule__UpperMultiplicty__Alternatives ) ) + // InternalSolverLanguage.g:1294:3: ( rule__UpperMultiplicty__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUpperMultiplictyAccess().getAlternatives()); + } + // InternalSolverLanguage.g:1295:3: ( rule__UpperMultiplicty__Alternatives ) + // InternalSolverLanguage.g:1295:4: rule__UpperMultiplicty__Alternatives + { + pushFollow(FOLLOW_2); + rule__UpperMultiplicty__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUpperMultiplictyAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleUpperMultiplicty" + + + // $ANTLR start "entryRuleReal" + // InternalSolverLanguage.g:1304:1: entryRuleReal : ruleReal EOF ; + public final void entryRuleReal() throws RecognitionException { + + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); + + try { + // InternalSolverLanguage.g:1308:1: ( ruleReal EOF ) + // InternalSolverLanguage.g:1309:1: ruleReal EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRealRule()); + } + pushFollow(FOLLOW_1); + ruleReal(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRealRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + myHiddenTokenState.restore(); + + } + return ; + } + // $ANTLR end "entryRuleReal" + + + // $ANTLR start "ruleReal" + // InternalSolverLanguage.g:1319:1: ruleReal : ( ( rule__Real__Group__0 ) ) ; + public final void ruleReal() throws RecognitionException { + + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1324:2: ( ( ( rule__Real__Group__0 ) ) ) + // InternalSolverLanguage.g:1325:2: ( ( rule__Real__Group__0 ) ) + { + // InternalSolverLanguage.g:1325:2: ( ( rule__Real__Group__0 ) ) + // InternalSolverLanguage.g:1326:3: ( rule__Real__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRealAccess().getGroup()); + } + // InternalSolverLanguage.g:1327:3: ( rule__Real__Group__0 ) + // InternalSolverLanguage.g:1327:4: rule__Real__Group__0 + { + pushFollow(FOLLOW_2); + rule__Real__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRealAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + myHiddenTokenState.restore(); + + } + return ; + } + // $ANTLR end "ruleReal" + + + // $ANTLR start "entryRuleQualifiedName" + // InternalSolverLanguage.g:1337:1: entryRuleQualifiedName : ruleQualifiedName EOF ; + public final void entryRuleQualifiedName() throws RecognitionException { + + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); + + try { + // InternalSolverLanguage.g:1341:1: ( ruleQualifiedName EOF ) + // InternalSolverLanguage.g:1342:1: ruleQualifiedName EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameRule()); + } + pushFollow(FOLLOW_1); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + myHiddenTokenState.restore(); + + } + return ; + } + // $ANTLR end "entryRuleQualifiedName" + + + // $ANTLR start "ruleQualifiedName" + // InternalSolverLanguage.g:1352:1: ruleQualifiedName : ( ( rule__QualifiedName__Alternatives ) ) ; + public final void ruleQualifiedName() throws RecognitionException { + + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1357:2: ( ( ( rule__QualifiedName__Alternatives ) ) ) + // InternalSolverLanguage.g:1358:2: ( ( rule__QualifiedName__Alternatives ) ) + { + // InternalSolverLanguage.g:1358:2: ( ( rule__QualifiedName__Alternatives ) ) + // InternalSolverLanguage.g:1359:3: ( rule__QualifiedName__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getAlternatives()); + } + // InternalSolverLanguage.g:1360:3: ( rule__QualifiedName__Alternatives ) + // InternalSolverLanguage.g:1360:4: rule__QualifiedName__Alternatives + { + pushFollow(FOLLOW_2); + rule__QualifiedName__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + myHiddenTokenState.restore(); + + } + return ; + } + // $ANTLR end "ruleQualifiedName" + + + // $ANTLR start "ruleMetricType" + // InternalSolverLanguage.g:1370:1: ruleMetricType : ( ( rule__MetricType__Alternatives ) ) ; + public final void ruleMetricType() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1374:1: ( ( ( rule__MetricType__Alternatives ) ) ) + // InternalSolverLanguage.g:1375:2: ( ( rule__MetricType__Alternatives ) ) + { + // InternalSolverLanguage.g:1375:2: ( ( rule__MetricType__Alternatives ) ) + // InternalSolverLanguage.g:1376:3: ( rule__MetricType__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMetricTypeAccess().getAlternatives()); + } + // InternalSolverLanguage.g:1377:3: ( rule__MetricType__Alternatives ) + // InternalSolverLanguage.g:1377:4: rule__MetricType__Alternatives + { + pushFollow(FOLLOW_2); + rule__MetricType__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMetricTypeAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleMetricType" + + + // $ANTLR start "ruleComparisonOperator" + // InternalSolverLanguage.g:1386:1: ruleComparisonOperator : ( ( rule__ComparisonOperator__Alternatives ) ) ; + public final void ruleComparisonOperator() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1390:1: ( ( ( rule__ComparisonOperator__Alternatives ) ) ) + // InternalSolverLanguage.g:1391:2: ( ( rule__ComparisonOperator__Alternatives ) ) + { + // InternalSolverLanguage.g:1391:2: ( ( rule__ComparisonOperator__Alternatives ) ) + // InternalSolverLanguage.g:1392:3: ( rule__ComparisonOperator__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonOperatorAccess().getAlternatives()); + } + // InternalSolverLanguage.g:1393:3: ( rule__ComparisonOperator__Alternatives ) + // InternalSolverLanguage.g:1393:4: rule__ComparisonOperator__Alternatives + { + pushFollow(FOLLOW_2); + rule__ComparisonOperator__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonOperatorAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleComparisonOperator" + + + // $ANTLR start "ruleAdditiveBinaryOperator" + // InternalSolverLanguage.g:1402:1: ruleAdditiveBinaryOperator : ( ( rule__AdditiveBinaryOperator__Alternatives ) ) ; + public final void ruleAdditiveBinaryOperator() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1406:1: ( ( ( rule__AdditiveBinaryOperator__Alternatives ) ) ) + // InternalSolverLanguage.g:1407:2: ( ( rule__AdditiveBinaryOperator__Alternatives ) ) + { + // InternalSolverLanguage.g:1407:2: ( ( rule__AdditiveBinaryOperator__Alternatives ) ) + // InternalSolverLanguage.g:1408:3: ( rule__AdditiveBinaryOperator__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveBinaryOperatorAccess().getAlternatives()); + } + // InternalSolverLanguage.g:1409:3: ( rule__AdditiveBinaryOperator__Alternatives ) + // InternalSolverLanguage.g:1409:4: rule__AdditiveBinaryOperator__Alternatives + { + pushFollow(FOLLOW_2); + rule__AdditiveBinaryOperator__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveBinaryOperatorAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAdditiveBinaryOperator" + + + // $ANTLR start "ruleMultiplicativeBinaryOperator" + // InternalSolverLanguage.g:1418:1: ruleMultiplicativeBinaryOperator : ( ( rule__MultiplicativeBinaryOperator__Alternatives ) ) ; + public final void ruleMultiplicativeBinaryOperator() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1422:1: ( ( ( rule__MultiplicativeBinaryOperator__Alternatives ) ) ) + // InternalSolverLanguage.g:1423:2: ( ( rule__MultiplicativeBinaryOperator__Alternatives ) ) + { + // InternalSolverLanguage.g:1423:2: ( ( rule__MultiplicativeBinaryOperator__Alternatives ) ) + // InternalSolverLanguage.g:1424:3: ( rule__MultiplicativeBinaryOperator__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getAlternatives()); + } + // InternalSolverLanguage.g:1425:3: ( rule__MultiplicativeBinaryOperator__Alternatives ) + // InternalSolverLanguage.g:1425:4: rule__MultiplicativeBinaryOperator__Alternatives + { + pushFollow(FOLLOW_2); + rule__MultiplicativeBinaryOperator__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeBinaryOperatorAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleMultiplicativeBinaryOperator" + + + // $ANTLR start "ruleExponentialOp" + // InternalSolverLanguage.g:1434:1: ruleExponentialOp : ( ( '^' ) ) ; + public final void ruleExponentialOp() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1438:1: ( ( ( '^' ) ) ) + // InternalSolverLanguage.g:1439:2: ( ( '^' ) ) + { + // InternalSolverLanguage.g:1439:2: ( ( '^' ) ) + // InternalSolverLanguage.g:1440:3: ( '^' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration()); + } + // InternalSolverLanguage.g:1441:3: ( '^' ) + // InternalSolverLanguage.g:1441:4: '^' + { + match(input,15,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleExponentialOp" + + + // $ANTLR start "ruleUnaryOp" + // InternalSolverLanguage.g:1450:1: ruleUnaryOp : ( ( rule__UnaryOp__Alternatives ) ) ; + public final void ruleUnaryOp() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1454:1: ( ( ( rule__UnaryOp__Alternatives ) ) ) + // InternalSolverLanguage.g:1455:2: ( ( rule__UnaryOp__Alternatives ) ) + { + // InternalSolverLanguage.g:1455:2: ( ( rule__UnaryOp__Alternatives ) ) + // InternalSolverLanguage.g:1456:3: ( rule__UnaryOp__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryOpAccess().getAlternatives()); + } + // InternalSolverLanguage.g:1457:3: ( rule__UnaryOp__Alternatives ) + // InternalSolverLanguage.g:1457:4: rule__UnaryOp__Alternatives + { + pushFollow(FOLLOW_2); + rule__UnaryOp__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryOpAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleUnaryOp" + + + // $ANTLR start "ruleAggregationOp" + // InternalSolverLanguage.g:1466:1: ruleAggregationOp : ( ( rule__AggregationOp__Alternatives ) ) ; + public final void ruleAggregationOp() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1470:1: ( ( ( rule__AggregationOp__Alternatives ) ) ) + // InternalSolverLanguage.g:1471:2: ( ( rule__AggregationOp__Alternatives ) ) + { + // InternalSolverLanguage.g:1471:2: ( ( rule__AggregationOp__Alternatives ) ) + // InternalSolverLanguage.g:1472:3: ( rule__AggregationOp__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationOpAccess().getAlternatives()); + } + // InternalSolverLanguage.g:1473:3: ( rule__AggregationOp__Alternatives ) + // InternalSolverLanguage.g:1473:4: rule__AggregationOp__Alternatives + { + pushFollow(FOLLOW_2); + rule__AggregationOp__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationOpAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAggregationOp" + + + // $ANTLR start "ruleLogicValue" + // InternalSolverLanguage.g:1482:1: ruleLogicValue : ( ( rule__LogicValue__Alternatives ) ) ; + public final void ruleLogicValue() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1486:1: ( ( ( rule__LogicValue__Alternatives ) ) ) + // InternalSolverLanguage.g:1487:2: ( ( rule__LogicValue__Alternatives ) ) + { + // InternalSolverLanguage.g:1487:2: ( ( rule__LogicValue__Alternatives ) ) + // InternalSolverLanguage.g:1488:3: ( rule__LogicValue__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLogicValueAccess().getAlternatives()); + } + // InternalSolverLanguage.g:1489:3: ( rule__LogicValue__Alternatives ) + // InternalSolverLanguage.g:1489:4: rule__LogicValue__Alternatives + { + pushFollow(FOLLOW_2); + rule__LogicValue__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLogicValueAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLogicValue" + + + // $ANTLR start "ruleObjectiveKind" + // InternalSolverLanguage.g:1498:1: ruleObjectiveKind : ( ( rule__ObjectiveKind__Alternatives ) ) ; + public final void ruleObjectiveKind() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1502:1: ( ( ( rule__ObjectiveKind__Alternatives ) ) ) + // InternalSolverLanguage.g:1503:2: ( ( rule__ObjectiveKind__Alternatives ) ) + { + // InternalSolverLanguage.g:1503:2: ( ( rule__ObjectiveKind__Alternatives ) ) + // InternalSolverLanguage.g:1504:3: ( rule__ObjectiveKind__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObjectiveKindAccess().getAlternatives()); + } + // InternalSolverLanguage.g:1505:3: ( rule__ObjectiveKind__Alternatives ) + // InternalSolverLanguage.g:1505:4: rule__ObjectiveKind__Alternatives + { + pushFollow(FOLLOW_2); + rule__ObjectiveKind__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObjectiveKindAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleObjectiveKind" + + + // $ANTLR start "rule__Statement__Alternatives_0" + // InternalSolverLanguage.g:1513:1: rule__Statement__Alternatives_0 : ( ( ruleAssertionOrDefinition ) | ( rulePredicateDefinition ) | ( ruleUnnamedErrorPrediateDefinition ) | ( ruleDefaultDefinition ) | ( ruleExternPredicateDefinition ) | ( ruleMetricDefinition ) | ( ruleExternMetricDefinition ) | ( ruleClassDefinition ) | ( ruleScopeDefinition ) | ( ruleObjectiveDefinition ) ); + public final void rule__Statement__Alternatives_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1517:1: ( ( ruleAssertionOrDefinition ) | ( rulePredicateDefinition ) | ( ruleUnnamedErrorPrediateDefinition ) | ( ruleDefaultDefinition ) | ( ruleExternPredicateDefinition ) | ( ruleMetricDefinition ) | ( ruleExternMetricDefinition ) | ( ruleClassDefinition ) | ( ruleScopeDefinition ) | ( ruleObjectiveDefinition ) ) + int alt2=10; + alt2 = dfa2.predict(input); + switch (alt2) { + case 1 : + // InternalSolverLanguage.g:1518:2: ( ruleAssertionOrDefinition ) + { + // InternalSolverLanguage.g:1518:2: ( ruleAssertionOrDefinition ) + // InternalSolverLanguage.g:1519:3: ruleAssertionOrDefinition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleAssertionOrDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1524:2: ( rulePredicateDefinition ) + { + // InternalSolverLanguage.g:1524:2: ( rulePredicateDefinition ) + // InternalSolverLanguage.g:1525:3: rulePredicateDefinition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1()); + } + pushFollow(FOLLOW_2); + rulePredicateDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1()); + } + + } + + + } + break; + case 3 : + // InternalSolverLanguage.g:1530:2: ( ruleUnnamedErrorPrediateDefinition ) + { + // InternalSolverLanguage.g:1530:2: ( ruleUnnamedErrorPrediateDefinition ) + // InternalSolverLanguage.g:1531:3: ruleUnnamedErrorPrediateDefinition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2()); + } + pushFollow(FOLLOW_2); + ruleUnnamedErrorPrediateDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2()); + } + + } + + + } + break; + case 4 : + // InternalSolverLanguage.g:1536:2: ( ruleDefaultDefinition ) + { + // InternalSolverLanguage.g:1536:2: ( ruleDefaultDefinition ) + // InternalSolverLanguage.g:1537:3: ruleDefaultDefinition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3()); + } + pushFollow(FOLLOW_2); + ruleDefaultDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3()); + } + + } + + + } + break; + case 5 : + // InternalSolverLanguage.g:1542:2: ( ruleExternPredicateDefinition ) + { + // InternalSolverLanguage.g:1542:2: ( ruleExternPredicateDefinition ) + // InternalSolverLanguage.g:1543:3: ruleExternPredicateDefinition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); + } + pushFollow(FOLLOW_2); + ruleExternPredicateDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); + } + + } + + + } + break; + case 6 : + // InternalSolverLanguage.g:1548:2: ( ruleMetricDefinition ) + { + // InternalSolverLanguage.g:1548:2: ( ruleMetricDefinition ) + // InternalSolverLanguage.g:1549:3: ruleMetricDefinition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); + } + pushFollow(FOLLOW_2); + ruleMetricDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); + } + + } + + + } + break; + case 7 : + // InternalSolverLanguage.g:1554:2: ( ruleExternMetricDefinition ) + { + // InternalSolverLanguage.g:1554:2: ( ruleExternMetricDefinition ) + // InternalSolverLanguage.g:1555:3: ruleExternMetricDefinition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6()); + } + pushFollow(FOLLOW_2); + ruleExternMetricDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6()); + } + + } + + + } + break; + case 8 : + // InternalSolverLanguage.g:1560:2: ( ruleClassDefinition ) + { + // InternalSolverLanguage.g:1560:2: ( ruleClassDefinition ) + // InternalSolverLanguage.g:1561:3: ruleClassDefinition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); + } + pushFollow(FOLLOW_2); + ruleClassDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); + } + + } + + + } + break; + case 9 : + // InternalSolverLanguage.g:1566:2: ( ruleScopeDefinition ) + { + // InternalSolverLanguage.g:1566:2: ( ruleScopeDefinition ) + // InternalSolverLanguage.g:1567:3: ruleScopeDefinition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); + } + pushFollow(FOLLOW_2); + ruleScopeDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); + } + + } + + + } + break; + case 10 : + // InternalSolverLanguage.g:1572:2: ( ruleObjectiveDefinition ) + { + // InternalSolverLanguage.g:1572:2: ( ruleObjectiveDefinition ) + // InternalSolverLanguage.g:1573:3: ruleObjectiveDefinition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); + } + pushFollow(FOLLOW_2); + ruleObjectiveDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Statement__Alternatives_0" + + + // $ANTLR start "rule__AssertionOrDefinition__Alternatives_1" + // 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 ) ) ); + public final void rule__AssertionOrDefinition__Alternatives_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1586:1: ( ( ( rule__AssertionOrDefinition__Group_1_0__0 ) ) | ( ( rule__AssertionOrDefinition__Group_1_1__0 ) ) | ( ( rule__AssertionOrDefinition__Group_1_2__0 ) ) ) + int alt3=3; + switch ( input.LA(1) ) { + case EOF: + case RULE_DOT: + case 45: + { + alt3=1; + } + break; + case 46: + { + alt3=2; + } + break; + case 47: + { + alt3=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 3, 0, input); + + throw nvae; + } + + switch (alt3) { + case 1 : + // InternalSolverLanguage.g:1587:2: ( ( rule__AssertionOrDefinition__Group_1_0__0 ) ) + { + // InternalSolverLanguage.g:1587:2: ( ( rule__AssertionOrDefinition__Group_1_0__0 ) ) + // InternalSolverLanguage.g:1588:3: ( rule__AssertionOrDefinition__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0()); + } + // InternalSolverLanguage.g:1589:3: ( rule__AssertionOrDefinition__Group_1_0__0 ) + // InternalSolverLanguage.g:1589:4: rule__AssertionOrDefinition__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1593:2: ( ( rule__AssertionOrDefinition__Group_1_1__0 ) ) + { + // InternalSolverLanguage.g:1593:2: ( ( rule__AssertionOrDefinition__Group_1_1__0 ) ) + // InternalSolverLanguage.g:1594:3: ( rule__AssertionOrDefinition__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_1()); + } + // InternalSolverLanguage.g:1595:3: ( rule__AssertionOrDefinition__Group_1_1__0 ) + // InternalSolverLanguage.g:1595:4: rule__AssertionOrDefinition__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_1()); + } + + } + + + } + break; + case 3 : + // InternalSolverLanguage.g:1599:2: ( ( rule__AssertionOrDefinition__Group_1_2__0 ) ) + { + // InternalSolverLanguage.g:1599:2: ( ( rule__AssertionOrDefinition__Group_1_2__0 ) ) + // InternalSolverLanguage.g:1600:3: ( rule__AssertionOrDefinition__Group_1_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_2()); + } + // InternalSolverLanguage.g:1601:3: ( rule__AssertionOrDefinition__Group_1_2__0 ) + // InternalSolverLanguage.g:1601:4: rule__AssertionOrDefinition__Group_1_2__0 + { + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__Group_1_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_2()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Alternatives_1" + + + // $ANTLR start "rule__PredicateDefinition__Alternatives_0" + // InternalSolverLanguage.g:1609:1: rule__PredicateDefinition__Alternatives_0 : ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( ( rule__PredicateDefinition__Group_0_1__0 ) ) ); + public final void rule__PredicateDefinition__Alternatives_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1613:1: ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( ( rule__PredicateDefinition__Group_0_1__0 ) ) ) + int alt4=2; + int LA4_0 = input.LA(1); + + if ( (LA4_0==72) ) { + alt4=1; + } + else if ( (LA4_0==42) ) { + alt4=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 4, 0, input); + + throw nvae; + } + switch (alt4) { + case 1 : + // InternalSolverLanguage.g:1614:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) ) + { + // InternalSolverLanguage.g:1614:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) ) + // InternalSolverLanguage.g:1615:3: ( rule__PredicateDefinition__Group_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0()); + } + // InternalSolverLanguage.g:1616:3: ( rule__PredicateDefinition__Group_0_0__0 ) + // InternalSolverLanguage.g:1616:4: rule__PredicateDefinition__Group_0_0__0 + { + pushFollow(FOLLOW_2); + rule__PredicateDefinition__Group_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1620:2: ( ( rule__PredicateDefinition__Group_0_1__0 ) ) + { + // InternalSolverLanguage.g:1620:2: ( ( rule__PredicateDefinition__Group_0_1__0 ) ) + // InternalSolverLanguage.g:1621:3: ( rule__PredicateDefinition__Group_0_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_1()); + } + // InternalSolverLanguage.g:1622:3: ( rule__PredicateDefinition__Group_0_1__0 ) + // InternalSolverLanguage.g:1622:4: rule__PredicateDefinition__Group_0_1__0 + { + pushFollow(FOLLOW_2); + rule__PredicateDefinition__Group_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getGroup_0_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PredicateDefinition__Alternatives_0" + + + // $ANTLR start "rule__Expression__Alternatives" + // InternalSolverLanguage.g:1630:1: rule__Expression__Alternatives : ( ( ruleIfElse ) | ( ruleDisjunctiveExpression ) ); + public final void rule__Expression__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1634:1: ( ( ruleIfElse ) | ( ruleDisjunctiveExpression ) ) + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0==51) ) { + alt5=1; + } + 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)) ) { + alt5=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); + + throw nvae; + } + switch (alt5) { + case 1 : + // InternalSolverLanguage.g:1635:2: ( ruleIfElse ) + { + // InternalSolverLanguage.g:1635:2: ( ruleIfElse ) + // InternalSolverLanguage.g:1636:3: ruleIfElse + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleIfElse(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1641:2: ( ruleDisjunctiveExpression ) + { + // InternalSolverLanguage.g:1641:2: ( ruleDisjunctiveExpression ) + // InternalSolverLanguage.g:1642:3: ruleDisjunctiveExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleDisjunctiveExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Expression__Alternatives" + + + // $ANTLR start "rule__DisjunctiveExpression__Alternatives_1" + // InternalSolverLanguage.g:1651:1: rule__DisjunctiveExpression__Alternatives_1 : ( ( ( rule__DisjunctiveExpression__Group_1_0__0 ) ) | ( ( rule__DisjunctiveExpression__Group_1_1__0 ) ) ); + public final void rule__DisjunctiveExpression__Alternatives_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1655:1: ( ( ( rule__DisjunctiveExpression__Group_1_0__0 ) ) | ( ( rule__DisjunctiveExpression__Group_1_1__0 ) ) ) + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0==54) ) { + alt6=1; + } + else if ( (LA6_0==55) ) { + alt6=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 6, 0, input); + + throw nvae; + } + switch (alt6) { + case 1 : + // InternalSolverLanguage.g:1656:2: ( ( rule__DisjunctiveExpression__Group_1_0__0 ) ) + { + // InternalSolverLanguage.g:1656:2: ( ( rule__DisjunctiveExpression__Group_1_0__0 ) ) + // InternalSolverLanguage.g:1657:3: ( rule__DisjunctiveExpression__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0()); + } + // InternalSolverLanguage.g:1658:3: ( rule__DisjunctiveExpression__Group_1_0__0 ) + // InternalSolverLanguage.g:1658:4: rule__DisjunctiveExpression__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1662:2: ( ( rule__DisjunctiveExpression__Group_1_1__0 ) ) + { + // InternalSolverLanguage.g:1662:2: ( ( rule__DisjunctiveExpression__Group_1_1__0 ) ) + // InternalSolverLanguage.g:1663:3: ( rule__DisjunctiveExpression__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1()); + } + // InternalSolverLanguage.g:1664:3: ( rule__DisjunctiveExpression__Group_1_1__0 ) + // InternalSolverLanguage.g:1664:4: rule__DisjunctiveExpression__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Alternatives_1" + + + // $ANTLR start "rule__UnaryExpression__Alternatives" + // InternalSolverLanguage.g:1672:1: rule__UnaryExpression__Alternatives : ( ( ruleAggregationExpression ) | ( ( rule__UnaryExpression__Group_1__0 ) ) ); + public final void rule__UnaryExpression__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1676:1: ( ( ruleAggregationExpression ) | ( ( rule__UnaryExpression__Group_1__0 ) ) ) + int alt7=2; + int LA7_0 = input.LA(1); + + 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)) ) { + alt7=1; + } + else if ( ((LA7_0>=26 && LA7_0<=27)||(LA7_0>=29 && LA7_0<=32)) ) { + alt7=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 7, 0, input); + + throw nvae; + } + switch (alt7) { + case 1 : + // InternalSolverLanguage.g:1677:2: ( ruleAggregationExpression ) + { + // InternalSolverLanguage.g:1677:2: ( ruleAggregationExpression ) + // InternalSolverLanguage.g:1678:3: ruleAggregationExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleAggregationExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1683:2: ( ( rule__UnaryExpression__Group_1__0 ) ) + { + // InternalSolverLanguage.g:1683:2: ( ( rule__UnaryExpression__Group_1__0 ) ) + // InternalSolverLanguage.g:1684:3: ( rule__UnaryExpression__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getGroup_1()); + } + // InternalSolverLanguage.g:1685:3: ( rule__UnaryExpression__Group_1__0 ) + // InternalSolverLanguage.g:1685:4: rule__UnaryExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__UnaryExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getGroup_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Alternatives" + + + // $ANTLR start "rule__AggregationExpression__Alternatives" + // InternalSolverLanguage.g:1693:1: rule__AggregationExpression__Alternatives : ( ( ruleAtomicExpression ) | ( ruleCount ) | ( ruleAggregation ) ); + public final void rule__AggregationExpression__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1697:1: ( ( ruleAtomicExpression ) | ( ruleCount ) | ( ruleAggregation ) ) + int alt8=3; + switch ( input.LA(1) ) { + case RULE_INT: + case RULE_QUOTED_ID: + case RULE_ID: + case RULE_STRING: + case 39: + case 40: + case 41: + case 42: + case 61: + case 63: + case 66: + case 67: + { + alt8=1; + } + break; + case 57: + { + alt8=2; + } + break; + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + { + alt8=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 8, 0, input); + + throw nvae; + } + + switch (alt8) { + case 1 : + // InternalSolverLanguage.g:1698:2: ( ruleAtomicExpression ) + { + // InternalSolverLanguage.g:1698:2: ( ruleAtomicExpression ) + // InternalSolverLanguage.g:1699:3: ruleAtomicExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleAtomicExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1704:2: ( ruleCount ) + { + // InternalSolverLanguage.g:1704:2: ( ruleCount ) + // InternalSolverLanguage.g:1705:3: ruleCount + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleCount(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalSolverLanguage.g:1710:2: ( ruleAggregation ) + { + // InternalSolverLanguage.g:1710:2: ( ruleAggregation ) + // InternalSolverLanguage.g:1711:3: ruleAggregation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleAggregation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AggregationExpression__Alternatives" + + + // $ANTLR start "rule__AtomicExpression__Alternatives" + // InternalSolverLanguage.g:1720:1: rule__AtomicExpression__Alternatives : ( ( ( rule__AtomicExpression__Group_0__0 ) ) | ( ruleInterval ) | ( ruleLiteral ) | ( ( rule__AtomicExpression__Group_3__0 ) ) ); + public final void rule__AtomicExpression__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1724:1: ( ( ( rule__AtomicExpression__Group_0__0 ) ) | ( ruleInterval ) | ( ruleLiteral ) | ( ( rule__AtomicExpression__Group_3__0 ) ) ) + int alt9=4; + switch ( input.LA(1) ) { + case RULE_QUOTED_ID: + case RULE_ID: + { + alt9=1; + } + break; + case 63: + { + alt9=2; + } + break; + case RULE_INT: + case RULE_STRING: + case 39: + case 40: + case 41: + case 42: + case 66: + case 67: + { + alt9=3; + } + break; + case 61: + { + alt9=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 9, 0, input); + + throw nvae; + } + + switch (alt9) { + case 1 : + // InternalSolverLanguage.g:1725:2: ( ( rule__AtomicExpression__Group_0__0 ) ) + { + // InternalSolverLanguage.g:1725:2: ( ( rule__AtomicExpression__Group_0__0 ) ) + // InternalSolverLanguage.g:1726:3: ( rule__AtomicExpression__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getGroup_0()); + } + // InternalSolverLanguage.g:1727:3: ( rule__AtomicExpression__Group_0__0 ) + // InternalSolverLanguage.g:1727:4: rule__AtomicExpression__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__AtomicExpression__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getGroup_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1731:2: ( ruleInterval ) + { + // InternalSolverLanguage.g:1731:2: ( ruleInterval ) + // InternalSolverLanguage.g:1732:3: ruleInterval + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleInterval(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalSolverLanguage.g:1737:2: ( ruleLiteral ) + { + // InternalSolverLanguage.g:1737:2: ( ruleLiteral ) + // InternalSolverLanguage.g:1738:3: ruleLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_2()); + } + + } + + + } + break; + case 4 : + // InternalSolverLanguage.g:1743:2: ( ( rule__AtomicExpression__Group_3__0 ) ) + { + // InternalSolverLanguage.g:1743:2: ( ( rule__AtomicExpression__Group_3__0 ) ) + // InternalSolverLanguage.g:1744:3: ( rule__AtomicExpression__Group_3__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getGroup_3()); + } + // InternalSolverLanguage.g:1745:3: ( rule__AtomicExpression__Group_3__0 ) + // InternalSolverLanguage.g:1745:4: rule__AtomicExpression__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__AtomicExpression__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getGroup_3()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicExpression__Alternatives" + + + // $ANTLR start "rule__Call__Alternatives_1" + // InternalSolverLanguage.g:1753:1: rule__Call__Alternatives_1 : ( ( ( rule__Call__TransitiveClosureAssignment_1_0 ) ) | ( ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) ) ); + public final void rule__Call__Alternatives_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1757:1: ( ( ( rule__Call__TransitiveClosureAssignment_1_0 ) ) | ( ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) ) ) + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0==RULE_STAR) ) { + alt10=1; + } + else if ( (LA10_0==RULE_PLUS) ) { + alt10=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 10, 0, input); + + throw nvae; + } + switch (alt10) { + case 1 : + // InternalSolverLanguage.g:1758:2: ( ( rule__Call__TransitiveClosureAssignment_1_0 ) ) + { + // InternalSolverLanguage.g:1758:2: ( ( rule__Call__TransitiveClosureAssignment_1_0 ) ) + // InternalSolverLanguage.g:1759:3: ( rule__Call__TransitiveClosureAssignment_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCallAccess().getTransitiveClosureAssignment_1_0()); + } + // InternalSolverLanguage.g:1760:3: ( rule__Call__TransitiveClosureAssignment_1_0 ) + // InternalSolverLanguage.g:1760:4: rule__Call__TransitiveClosureAssignment_1_0 + { + pushFollow(FOLLOW_2); + rule__Call__TransitiveClosureAssignment_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCallAccess().getTransitiveClosureAssignment_1_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1764:2: ( ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) ) + { + // InternalSolverLanguage.g:1764:2: ( ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) ) + // InternalSolverLanguage.g:1765:3: ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCallAccess().getReflexiveTransitiveClosureAssignment_1_1()); + } + // InternalSolverLanguage.g:1766:3: ( rule__Call__ReflexiveTransitiveClosureAssignment_1_1 ) + // InternalSolverLanguage.g:1766:4: rule__Call__ReflexiveTransitiveClosureAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__Call__ReflexiveTransitiveClosureAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCallAccess().getReflexiveTransitiveClosureAssignment_1_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Call__Alternatives_1" + + + // $ANTLR start "rule__Argument__Alternatives" + // InternalSolverLanguage.g:1774:1: rule__Argument__Alternatives : ( ( ruleExpressionArgument ) | ( ruleStarArgument ) | ( ruleTypedArgument ) | ( ruleTypedStarArgument ) ); + public final void rule__Argument__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1778:1: ( ( ruleExpressionArgument ) | ( ruleStarArgument ) | ( ruleTypedArgument ) | ( ruleTypedStarArgument ) ) + int alt11=4; + alt11 = dfa11.predict(input); + switch (alt11) { + case 1 : + // InternalSolverLanguage.g:1779:2: ( ruleExpressionArgument ) + { + // InternalSolverLanguage.g:1779:2: ( ruleExpressionArgument ) + // InternalSolverLanguage.g:1780:3: ruleExpressionArgument + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleExpressionArgument(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1785:2: ( ruleStarArgument ) + { + // InternalSolverLanguage.g:1785:2: ( ruleStarArgument ) + // InternalSolverLanguage.g:1786:3: ruleStarArgument + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleStarArgument(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalSolverLanguage.g:1791:2: ( ruleTypedArgument ) + { + // InternalSolverLanguage.g:1791:2: ( ruleTypedArgument ) + // InternalSolverLanguage.g:1792:3: ruleTypedArgument + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleTypedArgument(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); + } + + } + + + } + break; + case 4 : + // InternalSolverLanguage.g:1797:2: ( ruleTypedStarArgument ) + { + // InternalSolverLanguage.g:1797:2: ( ruleTypedStarArgument ) + // InternalSolverLanguage.g:1798:3: ruleTypedStarArgument + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); + } + pushFollow(FOLLOW_2); + ruleTypedStarArgument(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Argument__Alternatives" + + + // $ANTLR start "rule__Literal__Alternatives" + // InternalSolverLanguage.g:1807:1: rule__Literal__Alternatives : ( ( ruleLogicLiteral ) | ( ruleNumericLiteral ) | ( ruleInfinityLiteral ) | ( ruleEmptyIntervalLiteral ) | ( ruleStringLiteral ) ); + public final void rule__Literal__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1811:1: ( ( ruleLogicLiteral ) | ( ruleNumericLiteral ) | ( ruleInfinityLiteral ) | ( ruleEmptyIntervalLiteral ) | ( ruleStringLiteral ) ) + int alt12=5; + switch ( input.LA(1) ) { + case 39: + case 40: + case 41: + case 42: + { + alt12=1; + } + break; + case RULE_INT: + { + alt12=2; + } + break; + case 66: + { + alt12=3; + } + break; + case 67: + { + alt12=4; + } + break; + case RULE_STRING: + { + alt12=5; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 12, 0, input); + + throw nvae; + } + + switch (alt12) { + case 1 : + // InternalSolverLanguage.g:1812:2: ( ruleLogicLiteral ) + { + // InternalSolverLanguage.g:1812:2: ( ruleLogicLiteral ) + // InternalSolverLanguage.g:1813:3: ruleLogicLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleLogicLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1818:2: ( ruleNumericLiteral ) + { + // InternalSolverLanguage.g:1818:2: ( ruleNumericLiteral ) + // InternalSolverLanguage.g:1819:3: ruleNumericLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleNumericLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalSolverLanguage.g:1824:2: ( ruleInfinityLiteral ) + { + // InternalSolverLanguage.g:1824:2: ( ruleInfinityLiteral ) + // InternalSolverLanguage.g:1825:3: ruleInfinityLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleInfinityLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); + } + + } + + + } + break; + case 4 : + // InternalSolverLanguage.g:1830:2: ( ruleEmptyIntervalLiteral ) + { + // InternalSolverLanguage.g:1830:2: ( ruleEmptyIntervalLiteral ) + // InternalSolverLanguage.g:1831:3: ruleEmptyIntervalLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); + } + pushFollow(FOLLOW_2); + ruleEmptyIntervalLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); + } + + } + + + } + break; + case 5 : + // InternalSolverLanguage.g:1836:2: ( ruleStringLiteral ) + { + // InternalSolverLanguage.g:1836:2: ( ruleStringLiteral ) + // InternalSolverLanguage.g:1837:3: ruleStringLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); + } + pushFollow(FOLLOW_2); + ruleStringLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Literal__Alternatives" + + + // $ANTLR start "rule__Multiplicity__Alternatives" + // InternalSolverLanguage.g:1846:1: rule__Multiplicity__Alternatives : ( ( ruleManyMultiplicity ) | ( ruleExactMultiplicity ) | ( ruleBoundedMultiplicity ) ); + public final void rule__Multiplicity__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1850:1: ( ( ruleManyMultiplicity ) | ( ruleExactMultiplicity ) | ( ruleBoundedMultiplicity ) ) + int alt13=3; + int LA13_0 = input.LA(1); + + if ( (LA13_0==63) ) { + switch ( input.LA(2) ) { + case RULE_INT: + { + int LA13_2 = input.LA(3); + + if ( (LA13_2==64) ) { + alt13=3; + } + else if ( (LA13_2==65) ) { + alt13=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 13, 2, input); + + throw nvae; + } + } + break; + case 16: + { + alt13=2; + } + break; + case 65: + { + alt13=1; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 13, 1, input); + + throw nvae; + } + + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 13, 0, input); + + throw nvae; + } + switch (alt13) { + case 1 : + // InternalSolverLanguage.g:1851:2: ( ruleManyMultiplicity ) + { + // InternalSolverLanguage.g:1851:2: ( ruleManyMultiplicity ) + // InternalSolverLanguage.g:1852:3: ruleManyMultiplicity + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleManyMultiplicity(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1857:2: ( ruleExactMultiplicity ) + { + // InternalSolverLanguage.g:1857:2: ( ruleExactMultiplicity ) + // InternalSolverLanguage.g:1858:3: ruleExactMultiplicity + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleExactMultiplicity(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalSolverLanguage.g:1863:2: ( ruleBoundedMultiplicity ) + { + // InternalSolverLanguage.g:1863:2: ( ruleBoundedMultiplicity ) + // InternalSolverLanguage.g:1864:3: ruleBoundedMultiplicity + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleBoundedMultiplicity(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Multiplicity__Alternatives" + + + // $ANTLR start "rule__ScopeDefinition__Alternatives" + // InternalSolverLanguage.g:1873:1: rule__ScopeDefinition__Alternatives : ( ( ruleExactScopeDefinition ) | ( ruleBoundedScopeDefinition ) | ( ruleLowerBoundedScopeDefinition ) ); + public final void rule__ScopeDefinition__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1877:1: ( ( ruleExactScopeDefinition ) | ( ruleBoundedScopeDefinition ) | ( ruleLowerBoundedScopeDefinition ) ) + int alt14=3; + alt14 = dfa14.predict(input); + switch (alt14) { + case 1 : + // InternalSolverLanguage.g:1878:2: ( ruleExactScopeDefinition ) + { + // InternalSolverLanguage.g:1878:2: ( ruleExactScopeDefinition ) + // InternalSolverLanguage.g:1879:3: ruleExactScopeDefinition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleExactScopeDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1884:2: ( ruleBoundedScopeDefinition ) + { + // InternalSolverLanguage.g:1884:2: ( ruleBoundedScopeDefinition ) + // InternalSolverLanguage.g:1885:3: ruleBoundedScopeDefinition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); + } + pushFollow(FOLLOW_2); + ruleBoundedScopeDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalSolverLanguage.g:1890:2: ( ruleLowerBoundedScopeDefinition ) + { + // InternalSolverLanguage.g:1890:2: ( ruleLowerBoundedScopeDefinition ) + // InternalSolverLanguage.g:1891:3: ruleLowerBoundedScopeDefinition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + ruleLowerBoundedScopeDefinition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ScopeDefinition__Alternatives" + + + // $ANTLR start "rule__BoundedScopeDefinition__Alternatives_1" + // InternalSolverLanguage.g:1900:1: rule__BoundedScopeDefinition__Alternatives_1 : ( ( ( rule__BoundedScopeDefinition__Group_1_0__0 ) ) | ( ( rule__BoundedScopeDefinition__Group_1_1__0 ) ) ); + public final void rule__BoundedScopeDefinition__Alternatives_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1904:1: ( ( ( rule__BoundedScopeDefinition__Group_1_0__0 ) ) | ( ( rule__BoundedScopeDefinition__Group_1_1__0 ) ) ) + int alt15=2; + int LA15_0 = input.LA(1); + + if ( (LA15_0==RULE_INT) ) { + int LA15_1 = input.LA(2); + + if ( (LA15_1==24) ) { + alt15=2; + } + else if ( (LA15_1==22) ) { + alt15=1; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 15, 1, input); + + throw nvae; + } + } + else if ( (LA15_0==RULE_QUOTED_ID||LA15_0==RULE_ID) ) { + alt15=1; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 15, 0, input); + + throw nvae; + } + switch (alt15) { + case 1 : + // InternalSolverLanguage.g:1905:2: ( ( rule__BoundedScopeDefinition__Group_1_0__0 ) ) + { + // InternalSolverLanguage.g:1905:2: ( ( rule__BoundedScopeDefinition__Group_1_0__0 ) ) + // InternalSolverLanguage.g:1906:3: ( rule__BoundedScopeDefinition__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0()); + } + // InternalSolverLanguage.g:1907:3: ( rule__BoundedScopeDefinition__Group_1_0__0 ) + // InternalSolverLanguage.g:1907:4: rule__BoundedScopeDefinition__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__BoundedScopeDefinition__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1911:2: ( ( rule__BoundedScopeDefinition__Group_1_1__0 ) ) + { + // InternalSolverLanguage.g:1911:2: ( ( rule__BoundedScopeDefinition__Group_1_1__0 ) ) + // InternalSolverLanguage.g:1912:3: ( rule__BoundedScopeDefinition__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1()); + } + // InternalSolverLanguage.g:1913:3: ( rule__BoundedScopeDefinition__Group_1_1__0 ) + // InternalSolverLanguage.g:1913:4: rule__BoundedScopeDefinition__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__BoundedScopeDefinition__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BoundedScopeDefinition__Alternatives_1" + + + // $ANTLR start "rule__LowerBoundedScopeDefinition__Alternatives_1" + // InternalSolverLanguage.g:1921:1: rule__LowerBoundedScopeDefinition__Alternatives_1 : ( ( ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) ) | ( ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) ) ); + public final void rule__LowerBoundedScopeDefinition__Alternatives_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1925:1: ( ( ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) ) | ( ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) ) ) + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0==RULE_INT) ) { + alt16=1; + } + else if ( (LA16_0==RULE_QUOTED_ID||LA16_0==RULE_ID) ) { + alt16=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 16, 0, input); + + throw nvae; + } + switch (alt16) { + case 1 : + // InternalSolverLanguage.g:1926:2: ( ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) ) + { + // InternalSolverLanguage.g:1926:2: ( ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) ) + // InternalSolverLanguage.g:1927:3: ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_0()); + } + // InternalSolverLanguage.g:1928:3: ( rule__LowerBoundedScopeDefinition__Group_1_0__0 ) + // InternalSolverLanguage.g:1928:4: rule__LowerBoundedScopeDefinition__Group_1_0__0 + { + pushFollow(FOLLOW_2); + rule__LowerBoundedScopeDefinition__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1932:2: ( ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) ) + { + // InternalSolverLanguage.g:1932:2: ( ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) ) + // InternalSolverLanguage.g:1933:3: ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_1()); + } + // InternalSolverLanguage.g:1934:3: ( rule__LowerBoundedScopeDefinition__Group_1_1__0 ) + // InternalSolverLanguage.g:1934:4: rule__LowerBoundedScopeDefinition__Group_1_1__0 + { + pushFollow(FOLLOW_2); + rule__LowerBoundedScopeDefinition__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGroup_1_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LowerBoundedScopeDefinition__Alternatives_1" + + + // $ANTLR start "rule__UpperMultiplicty__Alternatives" + // InternalSolverLanguage.g:1942:1: rule__UpperMultiplicty__Alternatives : ( ( RULE_INT ) | ( '*' ) ); + public final void rule__UpperMultiplicty__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1946:1: ( ( RULE_INT ) | ( '*' ) ) + int alt17=2; + int LA17_0 = input.LA(1); + + if ( (LA17_0==RULE_INT) ) { + alt17=1; + } + else if ( (LA17_0==16) ) { + alt17=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 17, 0, input); + + throw nvae; + } + switch (alt17) { + case 1 : + // InternalSolverLanguage.g:1947:2: ( RULE_INT ) + { + // InternalSolverLanguage.g:1947:2: ( RULE_INT ) + // InternalSolverLanguage.g:1948:3: RULE_INT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1953:2: ( '*' ) + { + // InternalSolverLanguage.g:1953:2: ( '*' ) + // InternalSolverLanguage.g:1954:3: '*' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1()); + } + match(input,16,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UpperMultiplicty__Alternatives" + + + // $ANTLR start "rule__QualifiedName__Alternatives" + // InternalSolverLanguage.g:1963:1: rule__QualifiedName__Alternatives : ( ( ( rule__QualifiedName__Group_0__0 ) ) | ( RULE_QUOTED_ID ) ); + public final void rule__QualifiedName__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1967:1: ( ( ( rule__QualifiedName__Group_0__0 ) ) | ( RULE_QUOTED_ID ) ) + int alt18=2; + int LA18_0 = input.LA(1); + + if ( (LA18_0==RULE_ID) ) { + alt18=1; + } + else if ( (LA18_0==RULE_QUOTED_ID) ) { + alt18=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 18, 0, input); + + throw nvae; + } + switch (alt18) { + case 1 : + // InternalSolverLanguage.g:1968:2: ( ( rule__QualifiedName__Group_0__0 ) ) + { + // InternalSolverLanguage.g:1968:2: ( ( rule__QualifiedName__Group_0__0 ) ) + // InternalSolverLanguage.g:1969:3: ( rule__QualifiedName__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getGroup_0()); + } + // InternalSolverLanguage.g:1970:3: ( rule__QualifiedName__Group_0__0 ) + // InternalSolverLanguage.g:1970:4: rule__QualifiedName__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__QualifiedName__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getGroup_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1974:2: ( RULE_QUOTED_ID ) + { + // InternalSolverLanguage.g:1974:2: ( RULE_QUOTED_ID ) + // InternalSolverLanguage.g:1975:3: RULE_QUOTED_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1()); + } + match(input,RULE_QUOTED_ID,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Alternatives" + + + // $ANTLR start "rule__MetricType__Alternatives" + // InternalSolverLanguage.g:1984:1: rule__MetricType__Alternatives : ( ( ( 'int' ) ) | ( ( 'real' ) ) ); + public final void rule__MetricType__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:1988:1: ( ( ( 'int' ) ) | ( ( 'real' ) ) ) + int alt19=2; + int LA19_0 = input.LA(1); + + if ( (LA19_0==17) ) { + alt19=1; + } + else if ( (LA19_0==18) ) { + alt19=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 19, 0, input); + + throw nvae; + } + switch (alt19) { + case 1 : + // InternalSolverLanguage.g:1989:2: ( ( 'int' ) ) + { + // InternalSolverLanguage.g:1989:2: ( ( 'int' ) ) + // InternalSolverLanguage.g:1990:3: ( 'int' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); + } + // InternalSolverLanguage.g:1991:3: ( 'int' ) + // InternalSolverLanguage.g:1991:4: 'int' + { + match(input,17,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:1995:2: ( ( 'real' ) ) + { + // InternalSolverLanguage.g:1995:2: ( ( 'real' ) ) + // InternalSolverLanguage.g:1996:3: ( 'real' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1()); + } + // InternalSolverLanguage.g:1997:3: ( 'real' ) + // InternalSolverLanguage.g:1997:4: 'real' + { + match(input,18,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MetricType__Alternatives" + + + // $ANTLR start "rule__ComparisonOperator__Alternatives" + // InternalSolverLanguage.g:2005:1: rule__ComparisonOperator__Alternatives : ( ( ( '==' ) ) | ( ( '!=' ) ) | ( ( '<' ) ) | ( ( '<=' ) ) | ( ( '>' ) ) | ( ( '>=' ) ) | ( ( 'in' ) ) ); + public final void rule__ComparisonOperator__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2009:1: ( ( ( '==' ) ) | ( ( '!=' ) ) | ( ( '<' ) ) | ( ( '<=' ) ) | ( ( '>' ) ) | ( ( '>=' ) ) | ( ( 'in' ) ) ) + int alt20=7; + switch ( input.LA(1) ) { + case 19: + { + alt20=1; + } + break; + case 20: + { + alt20=2; + } + break; + case 21: + { + alt20=3; + } + break; + case 22: + { + alt20=4; + } + break; + case 23: + { + alt20=5; + } + break; + case 24: + { + alt20=6; + } + break; + case 25: + { + alt20=7; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 20, 0, input); + + throw nvae; + } + + switch (alt20) { + case 1 : + // InternalSolverLanguage.g:2010:2: ( ( '==' ) ) + { + // InternalSolverLanguage.g:2010:2: ( ( '==' ) ) + // InternalSolverLanguage.g:2011:3: ( '==' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); + } + // InternalSolverLanguage.g:2012:3: ( '==' ) + // InternalSolverLanguage.g:2012:4: '==' + { + match(input,19,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:2016:2: ( ( '!=' ) ) + { + // InternalSolverLanguage.g:2016:2: ( ( '!=' ) ) + // InternalSolverLanguage.g:2017:3: ( '!=' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); + } + // InternalSolverLanguage.g:2018:3: ( '!=' ) + // InternalSolverLanguage.g:2018:4: '!=' + { + match(input,20,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); + } + + } + + + } + break; + case 3 : + // InternalSolverLanguage.g:2022:2: ( ( '<' ) ) + { + // InternalSolverLanguage.g:2022:2: ( ( '<' ) ) + // InternalSolverLanguage.g:2023:3: ( '<' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2()); + } + // InternalSolverLanguage.g:2024:3: ( '<' ) + // InternalSolverLanguage.g:2024:4: '<' + { + match(input,21,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2()); + } + + } + + + } + break; + case 4 : + // InternalSolverLanguage.g:2028:2: ( ( '<=' ) ) + { + // InternalSolverLanguage.g:2028:2: ( ( '<=' ) ) + // InternalSolverLanguage.g:2029:3: ( '<=' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); + } + // InternalSolverLanguage.g:2030:3: ( '<=' ) + // InternalSolverLanguage.g:2030:4: '<=' + { + match(input,22,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); + } + + } + + + } + break; + case 5 : + // InternalSolverLanguage.g:2034:2: ( ( '>' ) ) + { + // InternalSolverLanguage.g:2034:2: ( ( '>' ) ) + // InternalSolverLanguage.g:2035:3: ( '>' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4()); + } + // InternalSolverLanguage.g:2036:3: ( '>' ) + // InternalSolverLanguage.g:2036:4: '>' + { + match(input,23,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4()); + } + + } + + + } + break; + case 6 : + // InternalSolverLanguage.g:2040:2: ( ( '>=' ) ) + { + // InternalSolverLanguage.g:2040:2: ( ( '>=' ) ) + // InternalSolverLanguage.g:2041:3: ( '>=' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); + } + // InternalSolverLanguage.g:2042:3: ( '>=' ) + // InternalSolverLanguage.g:2042:4: '>=' + { + match(input,24,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); + } + + } + + + } + break; + case 7 : + // InternalSolverLanguage.g:2046:2: ( ( 'in' ) ) + { + // InternalSolverLanguage.g:2046:2: ( ( 'in' ) ) + // InternalSolverLanguage.g:2047:3: ( 'in' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6()); + } + // InternalSolverLanguage.g:2048:3: ( 'in' ) + // InternalSolverLanguage.g:2048:4: 'in' + { + match(input,25,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonOperator__Alternatives" + + + // $ANTLR start "rule__AdditiveBinaryOperator__Alternatives" + // InternalSolverLanguage.g:2056:1: rule__AdditiveBinaryOperator__Alternatives : ( ( ( '+' ) ) | ( ( '-' ) ) ); + public final void rule__AdditiveBinaryOperator__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2060:1: ( ( ( '+' ) ) | ( ( '-' ) ) ) + int alt21=2; + int LA21_0 = input.LA(1); + + if ( (LA21_0==26) ) { + alt21=1; + } + else if ( (LA21_0==27) ) { + alt21=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 21, 0, input); + + throw nvae; + } + switch (alt21) { + case 1 : + // InternalSolverLanguage.g:2061:2: ( ( '+' ) ) + { + // InternalSolverLanguage.g:2061:2: ( ( '+' ) ) + // InternalSolverLanguage.g:2062:3: ( '+' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); + } + // InternalSolverLanguage.g:2063:3: ( '+' ) + // InternalSolverLanguage.g:2063:4: '+' + { + match(input,26,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:2067:2: ( ( '-' ) ) + { + // InternalSolverLanguage.g:2067:2: ( ( '-' ) ) + // InternalSolverLanguage.g:2068:3: ( '-' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); + } + // InternalSolverLanguage.g:2069:3: ( '-' ) + // InternalSolverLanguage.g:2069:4: '-' + { + match(input,27,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveBinaryOperator__Alternatives" + + + // $ANTLR start "rule__MultiplicativeBinaryOperator__Alternatives" + // InternalSolverLanguage.g:2077:1: rule__MultiplicativeBinaryOperator__Alternatives : ( ( ( '*' ) ) | ( ( '/' ) ) ); + public final void rule__MultiplicativeBinaryOperator__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2081:1: ( ( ( '*' ) ) | ( ( '/' ) ) ) + int alt22=2; + int LA22_0 = input.LA(1); + + if ( (LA22_0==16) ) { + alt22=1; + } + else if ( (LA22_0==28) ) { + alt22=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 22, 0, input); + + throw nvae; + } + switch (alt22) { + case 1 : + // InternalSolverLanguage.g:2082:2: ( ( '*' ) ) + { + // InternalSolverLanguage.g:2082:2: ( ( '*' ) ) + // InternalSolverLanguage.g:2083:3: ( '*' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); + } + // InternalSolverLanguage.g:2084:3: ( '*' ) + // InternalSolverLanguage.g:2084:4: '*' + { + match(input,16,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:2088:2: ( ( '/' ) ) + { + // InternalSolverLanguage.g:2088:2: ( ( '/' ) ) + // InternalSolverLanguage.g:2089:3: ( '/' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); + } + // InternalSolverLanguage.g:2090:3: ( '/' ) + // InternalSolverLanguage.g:2090:4: '/' + { + match(input,28,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeBinaryOperator__Alternatives" + + + // $ANTLR start "rule__UnaryOp__Alternatives" + // InternalSolverLanguage.g:2098:1: rule__UnaryOp__Alternatives : ( ( ( '!' ) ) | ( ( '+' ) ) | ( ( '-' ) ) | ( ( 'may' ) ) | ( ( 'must' ) ) | ( ( 'current' ) ) ); + public final void rule__UnaryOp__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2102:1: ( ( ( '!' ) ) | ( ( '+' ) ) | ( ( '-' ) ) | ( ( 'may' ) ) | ( ( 'must' ) ) | ( ( 'current' ) ) ) + int alt23=6; + switch ( input.LA(1) ) { + case 29: + { + alt23=1; + } + break; + case 26: + { + alt23=2; + } + break; + case 27: + { + alt23=3; + } + break; + case 30: + { + alt23=4; + } + break; + case 31: + { + alt23=5; + } + break; + case 32: + { + alt23=6; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 23, 0, input); + + throw nvae; + } + + switch (alt23) { + case 1 : + // InternalSolverLanguage.g:2103:2: ( ( '!' ) ) + { + // InternalSolverLanguage.g:2103:2: ( ( '!' ) ) + // InternalSolverLanguage.g:2104:3: ( '!' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); + } + // InternalSolverLanguage.g:2105:3: ( '!' ) + // InternalSolverLanguage.g:2105:4: '!' + { + match(input,29,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:2109:2: ( ( '+' ) ) + { + // InternalSolverLanguage.g:2109:2: ( ( '+' ) ) + // InternalSolverLanguage.g:2110:3: ( '+' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); + } + // InternalSolverLanguage.g:2111:3: ( '+' ) + // InternalSolverLanguage.g:2111:4: '+' + { + match(input,26,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); + } + + } + + + } + break; + case 3 : + // InternalSolverLanguage.g:2115:2: ( ( '-' ) ) + { + // InternalSolverLanguage.g:2115:2: ( ( '-' ) ) + // InternalSolverLanguage.g:2116:3: ( '-' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); + } + // InternalSolverLanguage.g:2117:3: ( '-' ) + // InternalSolverLanguage.g:2117:4: '-' + { + match(input,27,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); + } + + } + + + } + break; + case 4 : + // InternalSolverLanguage.g:2121:2: ( ( 'may' ) ) + { + // InternalSolverLanguage.g:2121:2: ( ( 'may' ) ) + // InternalSolverLanguage.g:2122:3: ( 'may' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3()); + } + // InternalSolverLanguage.g:2123:3: ( 'may' ) + // InternalSolverLanguage.g:2123:4: 'may' + { + match(input,30,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3()); + } + + } + + + } + break; + case 5 : + // InternalSolverLanguage.g:2127:2: ( ( 'must' ) ) + { + // InternalSolverLanguage.g:2127:2: ( ( 'must' ) ) + // InternalSolverLanguage.g:2128:3: ( 'must' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4()); + } + // InternalSolverLanguage.g:2129:3: ( 'must' ) + // InternalSolverLanguage.g:2129:4: 'must' + { + match(input,31,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4()); + } + + } + + + } + break; + case 6 : + // InternalSolverLanguage.g:2133:2: ( ( 'current' ) ) + { + // InternalSolverLanguage.g:2133:2: ( ( 'current' ) ) + // InternalSolverLanguage.g:2134:3: ( 'current' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5()); + } + // InternalSolverLanguage.g:2135:3: ( 'current' ) + // InternalSolverLanguage.g:2135:4: 'current' + { + match(input,32,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryOp__Alternatives" + + + // $ANTLR start "rule__AggregationOp__Alternatives" + // InternalSolverLanguage.g:2143:1: rule__AggregationOp__Alternatives : ( ( ( 'only' ) ) | ( ( 'sum' ) ) | ( ( 'prod' ) ) | ( ( 'avg' ) ) | ( ( 'min' ) ) | ( ( 'max' ) ) ); + public final void rule__AggregationOp__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2147:1: ( ( ( 'only' ) ) | ( ( 'sum' ) ) | ( ( 'prod' ) ) | ( ( 'avg' ) ) | ( ( 'min' ) ) | ( ( 'max' ) ) ) + int alt24=6; + switch ( input.LA(1) ) { + case 33: + { + alt24=1; + } + break; + case 34: + { + alt24=2; + } + break; + case 35: + { + alt24=3; + } + break; + case 36: + { + alt24=4; + } + break; + case 37: + { + alt24=5; + } + break; + case 38: + { + alt24=6; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 24, 0, input); + + throw nvae; + } + + switch (alt24) { + case 1 : + // InternalSolverLanguage.g:2148:2: ( ( 'only' ) ) + { + // InternalSolverLanguage.g:2148:2: ( ( 'only' ) ) + // InternalSolverLanguage.g:2149:3: ( 'only' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); + } + // InternalSolverLanguage.g:2150:3: ( 'only' ) + // InternalSolverLanguage.g:2150:4: 'only' + { + match(input,33,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:2154:2: ( ( 'sum' ) ) + { + // InternalSolverLanguage.g:2154:2: ( ( 'sum' ) ) + // InternalSolverLanguage.g:2155:3: ( 'sum' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); + } + // InternalSolverLanguage.g:2156:3: ( 'sum' ) + // InternalSolverLanguage.g:2156:4: 'sum' + { + match(input,34,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); + } + + } + + + } + break; + case 3 : + // InternalSolverLanguage.g:2160:2: ( ( 'prod' ) ) + { + // InternalSolverLanguage.g:2160:2: ( ( 'prod' ) ) + // InternalSolverLanguage.g:2161:3: ( 'prod' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2()); + } + // InternalSolverLanguage.g:2162:3: ( 'prod' ) + // InternalSolverLanguage.g:2162:4: 'prod' + { + match(input,35,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2()); + } + + } + + + } + break; + case 4 : + // InternalSolverLanguage.g:2166:2: ( ( 'avg' ) ) + { + // InternalSolverLanguage.g:2166:2: ( ( 'avg' ) ) + // InternalSolverLanguage.g:2167:3: ( 'avg' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); + } + // InternalSolverLanguage.g:2168:3: ( 'avg' ) + // InternalSolverLanguage.g:2168:4: 'avg' + { + match(input,36,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); + } + + } + + + } + break; + case 5 : + // InternalSolverLanguage.g:2172:2: ( ( 'min' ) ) + { + // InternalSolverLanguage.g:2172:2: ( ( 'min' ) ) + // InternalSolverLanguage.g:2173:3: ( 'min' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); + } + // InternalSolverLanguage.g:2174:3: ( 'min' ) + // InternalSolverLanguage.g:2174:4: 'min' + { + match(input,37,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); + } + + } + + + } + break; + case 6 : + // InternalSolverLanguage.g:2178:2: ( ( 'max' ) ) + { + // InternalSolverLanguage.g:2178:2: ( ( 'max' ) ) + // InternalSolverLanguage.g:2179:3: ( 'max' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); + } + // InternalSolverLanguage.g:2180:3: ( 'max' ) + // InternalSolverLanguage.g:2180:4: 'max' + { + match(input,38,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AggregationOp__Alternatives" + + + // $ANTLR start "rule__LogicValue__Alternatives" + // InternalSolverLanguage.g:2188:1: rule__LogicValue__Alternatives : ( ( ( 'true' ) ) | ( ( 'false' ) ) | ( ( 'unknown' ) ) | ( ( 'error' ) ) ); + public final void rule__LogicValue__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2192:1: ( ( ( 'true' ) ) | ( ( 'false' ) ) | ( ( 'unknown' ) ) | ( ( 'error' ) ) ) + int alt25=4; + switch ( input.LA(1) ) { + case 39: + { + alt25=1; + } + break; + case 40: + { + alt25=2; + } + break; + case 41: + { + alt25=3; + } + break; + case 42: + { + alt25=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 25, 0, input); + + throw nvae; + } + + switch (alt25) { + case 1 : + // InternalSolverLanguage.g:2193:2: ( ( 'true' ) ) + { + // InternalSolverLanguage.g:2193:2: ( ( 'true' ) ) + // InternalSolverLanguage.g:2194:3: ( 'true' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); + } + // InternalSolverLanguage.g:2195:3: ( 'true' ) + // InternalSolverLanguage.g:2195:4: 'true' + { + match(input,39,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:2199:2: ( ( 'false' ) ) + { + // InternalSolverLanguage.g:2199:2: ( ( 'false' ) ) + // InternalSolverLanguage.g:2200:3: ( 'false' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); + } + // InternalSolverLanguage.g:2201:3: ( 'false' ) + // InternalSolverLanguage.g:2201:4: 'false' + { + match(input,40,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); + } + + } + + + } + break; + case 3 : + // InternalSolverLanguage.g:2205:2: ( ( 'unknown' ) ) + { + // InternalSolverLanguage.g:2205:2: ( ( 'unknown' ) ) + // InternalSolverLanguage.g:2206:3: ( 'unknown' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); + } + // InternalSolverLanguage.g:2207:3: ( 'unknown' ) + // InternalSolverLanguage.g:2207:4: 'unknown' + { + match(input,41,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); + } + + } + + + } + break; + case 4 : + // InternalSolverLanguage.g:2211:2: ( ( 'error' ) ) + { + // InternalSolverLanguage.g:2211:2: ( ( 'error' ) ) + // InternalSolverLanguage.g:2212:3: ( 'error' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3()); + } + // InternalSolverLanguage.g:2213:3: ( 'error' ) + // InternalSolverLanguage.g:2213:4: 'error' + { + match(input,42,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LogicValue__Alternatives" + + + // $ANTLR start "rule__ObjectiveKind__Alternatives" + // InternalSolverLanguage.g:2221:1: rule__ObjectiveKind__Alternatives : ( ( ( 'minimize' ) ) | ( ( 'maximize' ) ) ); + public final void rule__ObjectiveKind__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2225:1: ( ( ( 'minimize' ) ) | ( ( 'maximize' ) ) ) + int alt26=2; + int LA26_0 = input.LA(1); + + if ( (LA26_0==43) ) { + alt26=1; + } + else if ( (LA26_0==44) ) { + alt26=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 26, 0, input); + + throw nvae; + } + switch (alt26) { + case 1 : + // InternalSolverLanguage.g:2226:2: ( ( 'minimize' ) ) + { + // InternalSolverLanguage.g:2226:2: ( ( 'minimize' ) ) + // InternalSolverLanguage.g:2227:3: ( 'minimize' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); + } + // InternalSolverLanguage.g:2228:3: ( 'minimize' ) + // InternalSolverLanguage.g:2228:4: 'minimize' + { + match(input,43,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); + } + + } + + + } + break; + case 2 : + // InternalSolverLanguage.g:2232:2: ( ( 'maximize' ) ) + { + // InternalSolverLanguage.g:2232:2: ( ( 'maximize' ) ) + // InternalSolverLanguage.g:2233:3: ( 'maximize' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); + } + // InternalSolverLanguage.g:2234:3: ( 'maximize' ) + // InternalSolverLanguage.g:2234:4: 'maximize' + { + match(input,44,FOLLOW_2); if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObjectiveKind__Alternatives" + + + // $ANTLR start "rule__Statement__Group__0" + // InternalSolverLanguage.g:2242:1: rule__Statement__Group__0 : rule__Statement__Group__0__Impl rule__Statement__Group__1 ; + public final void rule__Statement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2246:1: ( rule__Statement__Group__0__Impl rule__Statement__Group__1 ) + // InternalSolverLanguage.g:2247:2: rule__Statement__Group__0__Impl rule__Statement__Group__1 + { + pushFollow(FOLLOW_4); + rule__Statement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Statement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Statement__Group__0" + + + // $ANTLR start "rule__Statement__Group__0__Impl" + // InternalSolverLanguage.g:2254:1: rule__Statement__Group__0__Impl : ( ( rule__Statement__Alternatives_0 ) ) ; + public final void rule__Statement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2258:1: ( ( ( rule__Statement__Alternatives_0 ) ) ) + // InternalSolverLanguage.g:2259:1: ( ( rule__Statement__Alternatives_0 ) ) + { + // InternalSolverLanguage.g:2259:1: ( ( rule__Statement__Alternatives_0 ) ) + // InternalSolverLanguage.g:2260:2: ( rule__Statement__Alternatives_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getAlternatives_0()); + } + // InternalSolverLanguage.g:2261:2: ( rule__Statement__Alternatives_0 ) + // InternalSolverLanguage.g:2261:3: rule__Statement__Alternatives_0 + { + pushFollow(FOLLOW_2); + rule__Statement__Alternatives_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getAlternatives_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Statement__Group__0__Impl" + + + // $ANTLR start "rule__Statement__Group__1" + // InternalSolverLanguage.g:2269:1: rule__Statement__Group__1 : rule__Statement__Group__1__Impl ; + public final void rule__Statement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2273:1: ( rule__Statement__Group__1__Impl ) + // InternalSolverLanguage.g:2274:2: rule__Statement__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__Statement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Statement__Group__1" + + + // $ANTLR start "rule__Statement__Group__1__Impl" + // InternalSolverLanguage.g:2280:1: rule__Statement__Group__1__Impl : ( RULE_DOT ) ; + public final void rule__Statement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2284:1: ( ( RULE_DOT ) ) + // InternalSolverLanguage.g:2285:1: ( RULE_DOT ) + { + // InternalSolverLanguage.g:2285:1: ( RULE_DOT ) + // InternalSolverLanguage.g:2286:2: RULE_DOT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getDOTTerminalRuleCall_1()); + } + match(input,RULE_DOT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getDOTTerminalRuleCall_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Statement__Group__1__Impl" + + + // $ANTLR start "rule__AssertionOrDefinition__Group__0" + // InternalSolverLanguage.g:2296:1: rule__AssertionOrDefinition__Group__0 : rule__AssertionOrDefinition__Group__0__Impl rule__AssertionOrDefinition__Group__1 ; + public final void rule__AssertionOrDefinition__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2300:1: ( rule__AssertionOrDefinition__Group__0__Impl rule__AssertionOrDefinition__Group__1 ) + // InternalSolverLanguage.g:2301:2: rule__AssertionOrDefinition__Group__0__Impl rule__AssertionOrDefinition__Group__1 + { + pushFollow(FOLLOW_5); + rule__AssertionOrDefinition__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group__0" + + + // $ANTLR start "rule__AssertionOrDefinition__Group__0__Impl" + // InternalSolverLanguage.g:2308:1: rule__AssertionOrDefinition__Group__0__Impl : ( ruleExpression ) ; + public final void rule__AssertionOrDefinition__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2312:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:2313:1: ( ruleExpression ) + { + // InternalSolverLanguage.g:2313:1: ( ruleExpression ) + // InternalSolverLanguage.g:2314:2: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group__0__Impl" + + + // $ANTLR start "rule__AssertionOrDefinition__Group__1" + // InternalSolverLanguage.g:2323:1: rule__AssertionOrDefinition__Group__1 : rule__AssertionOrDefinition__Group__1__Impl ; + public final void rule__AssertionOrDefinition__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2327:1: ( rule__AssertionOrDefinition__Group__1__Impl ) + // InternalSolverLanguage.g:2328:2: rule__AssertionOrDefinition__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group__1" + + + // $ANTLR start "rule__AssertionOrDefinition__Group__1__Impl" + // InternalSolverLanguage.g:2334:1: rule__AssertionOrDefinition__Group__1__Impl : ( ( rule__AssertionOrDefinition__Alternatives_1 ) ) ; + public final void rule__AssertionOrDefinition__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2338:1: ( ( ( rule__AssertionOrDefinition__Alternatives_1 ) ) ) + // InternalSolverLanguage.g:2339:1: ( ( rule__AssertionOrDefinition__Alternatives_1 ) ) + { + // InternalSolverLanguage.g:2339:1: ( ( rule__AssertionOrDefinition__Alternatives_1 ) ) + // InternalSolverLanguage.g:2340:2: ( rule__AssertionOrDefinition__Alternatives_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1()); + } + // InternalSolverLanguage.g:2341:2: ( rule__AssertionOrDefinition__Alternatives_1 ) + // InternalSolverLanguage.g:2341:3: rule__AssertionOrDefinition__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group__1__Impl" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__0" + // InternalSolverLanguage.g:2350:1: rule__AssertionOrDefinition__Group_1_0__0 : rule__AssertionOrDefinition__Group_1_0__0__Impl rule__AssertionOrDefinition__Group_1_0__1 ; + public final void rule__AssertionOrDefinition__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2354:1: ( rule__AssertionOrDefinition__Group_1_0__0__Impl rule__AssertionOrDefinition__Group_1_0__1 ) + // InternalSolverLanguage.g:2355:2: rule__AssertionOrDefinition__Group_1_0__0__Impl rule__AssertionOrDefinition__Group_1_0__1 + { + pushFollow(FOLLOW_6); + rule__AssertionOrDefinition__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_0__0" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__0__Impl" + // InternalSolverLanguage.g:2362:1: rule__AssertionOrDefinition__Group_1_0__0__Impl : ( () ) ; + public final void rule__AssertionOrDefinition__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2366:1: ( ( () ) ) + // InternalSolverLanguage.g:2367:1: ( () ) + { + // InternalSolverLanguage.g:2367:1: ( () ) + // InternalSolverLanguage.g:2368:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0()); + } + // InternalSolverLanguage.g:2369:2: () + // InternalSolverLanguage.g:2369:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_0__0__Impl" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__1" + // InternalSolverLanguage.g:2377:1: rule__AssertionOrDefinition__Group_1_0__1 : rule__AssertionOrDefinition__Group_1_0__1__Impl ; + public final void rule__AssertionOrDefinition__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2381:1: ( rule__AssertionOrDefinition__Group_1_0__1__Impl ) + // InternalSolverLanguage.g:2382:2: rule__AssertionOrDefinition__Group_1_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_0__1" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_0__1__Impl" + // InternalSolverLanguage.g:2388:1: rule__AssertionOrDefinition__Group_1_0__1__Impl : ( ( rule__AssertionOrDefinition__Group_1_0_1__0 )? ) ; + public final void rule__AssertionOrDefinition__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2392:1: ( ( ( rule__AssertionOrDefinition__Group_1_0_1__0 )? ) ) + // InternalSolverLanguage.g:2393:1: ( ( rule__AssertionOrDefinition__Group_1_0_1__0 )? ) + { + // InternalSolverLanguage.g:2393:1: ( ( rule__AssertionOrDefinition__Group_1_0_1__0 )? ) + // InternalSolverLanguage.g:2394:2: ( rule__AssertionOrDefinition__Group_1_0_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0_1()); + } + // InternalSolverLanguage.g:2395:2: ( rule__AssertionOrDefinition__Group_1_0_1__0 )? + int alt27=2; + int LA27_0 = input.LA(1); + + if ( (LA27_0==45) ) { + alt27=1; + } + switch (alt27) { + case 1 : + // InternalSolverLanguage.g:2395:3: rule__AssertionOrDefinition__Group_1_0_1__0 + { + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__Group_1_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getGroup_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_0__1__Impl" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_0_1__0" + // 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 ; + public final void rule__AssertionOrDefinition__Group_1_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2408:1: ( rule__AssertionOrDefinition__Group_1_0_1__0__Impl rule__AssertionOrDefinition__Group_1_0_1__1 ) + // InternalSolverLanguage.g:2409:2: rule__AssertionOrDefinition__Group_1_0_1__0__Impl rule__AssertionOrDefinition__Group_1_0_1__1 + { + pushFollow(FOLLOW_7); + rule__AssertionOrDefinition__Group_1_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__Group_1_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_0_1__0" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_0_1__0__Impl" + // InternalSolverLanguage.g:2416:1: rule__AssertionOrDefinition__Group_1_0_1__0__Impl : ( ':' ) ; + public final void rule__AssertionOrDefinition__Group_1_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2420:1: ( ( ':' ) ) + // InternalSolverLanguage.g:2421:1: ( ':' ) + { + // InternalSolverLanguage.g:2421:1: ( ':' ) + // InternalSolverLanguage.g:2422:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); + } + match(input,45,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_0_1__0__Impl" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_0_1__1" + // InternalSolverLanguage.g:2431:1: rule__AssertionOrDefinition__Group_1_0_1__1 : rule__AssertionOrDefinition__Group_1_0_1__1__Impl ; + public final void rule__AssertionOrDefinition__Group_1_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2435:1: ( rule__AssertionOrDefinition__Group_1_0_1__1__Impl ) + // InternalSolverLanguage.g:2436:2: rule__AssertionOrDefinition__Group_1_0_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__Group_1_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_0_1__1" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_0_1__1__Impl" + // InternalSolverLanguage.g:2442:1: rule__AssertionOrDefinition__Group_1_0_1__1__Impl : ( ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 ) ) ; + public final void rule__AssertionOrDefinition__Group_1_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2446:1: ( ( ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 ) ) ) + // InternalSolverLanguage.g:2447:1: ( ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 ) ) + { + // InternalSolverLanguage.g:2447:1: ( ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 ) ) + // InternalSolverLanguage.g:2448:2: ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_1_1()); + } + // InternalSolverLanguage.g:2449:2: ( rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 ) + // InternalSolverLanguage.g:2449:3: rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 + { + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__RangeAssignment_1_0_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getRangeAssignment_1_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_0_1__1__Impl" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__0" + // InternalSolverLanguage.g:2458:1: rule__AssertionOrDefinition__Group_1_1__0 : rule__AssertionOrDefinition__Group_1_1__0__Impl rule__AssertionOrDefinition__Group_1_1__1 ; + public final void rule__AssertionOrDefinition__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2462:1: ( rule__AssertionOrDefinition__Group_1_1__0__Impl rule__AssertionOrDefinition__Group_1_1__1 ) + // InternalSolverLanguage.g:2463:2: rule__AssertionOrDefinition__Group_1_1__0__Impl rule__AssertionOrDefinition__Group_1_1__1 + { + pushFollow(FOLLOW_8); + rule__AssertionOrDefinition__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_1__0" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__0__Impl" + // InternalSolverLanguage.g:2470:1: rule__AssertionOrDefinition__Group_1_1__0__Impl : ( () ) ; + public final void rule__AssertionOrDefinition__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2474:1: ( ( () ) ) + // InternalSolverLanguage.g:2475:1: ( () ) + { + // InternalSolverLanguage.g:2475:1: ( () ) + // InternalSolverLanguage.g:2476:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0()); + } + // InternalSolverLanguage.g:2477:2: () + // InternalSolverLanguage.g:2477:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_1__0__Impl" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__1" + // InternalSolverLanguage.g:2485:1: rule__AssertionOrDefinition__Group_1_1__1 : rule__AssertionOrDefinition__Group_1_1__1__Impl rule__AssertionOrDefinition__Group_1_1__2 ; + public final void rule__AssertionOrDefinition__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2489:1: ( rule__AssertionOrDefinition__Group_1_1__1__Impl rule__AssertionOrDefinition__Group_1_1__2 ) + // InternalSolverLanguage.g:2490:2: rule__AssertionOrDefinition__Group_1_1__1__Impl rule__AssertionOrDefinition__Group_1_1__2 + { + pushFollow(FOLLOW_7); + rule__AssertionOrDefinition__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__Group_1_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_1__1" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__1__Impl" + // InternalSolverLanguage.g:2497:1: rule__AssertionOrDefinition__Group_1_1__1__Impl : ( ':-' ) ; + public final void rule__AssertionOrDefinition__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2501:1: ( ( ':-' ) ) + // InternalSolverLanguage.g:2502:1: ( ':-' ) + { + // InternalSolverLanguage.g:2502:1: ( ':-' ) + // InternalSolverLanguage.g:2503:2: ':-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); + } + match(input,46,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_1__1__Impl" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__2" + // InternalSolverLanguage.g:2512:1: rule__AssertionOrDefinition__Group_1_1__2 : rule__AssertionOrDefinition__Group_1_1__2__Impl ; + public final void rule__AssertionOrDefinition__Group_1_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2516:1: ( rule__AssertionOrDefinition__Group_1_1__2__Impl ) + // InternalSolverLanguage.g:2517:2: rule__AssertionOrDefinition__Group_1_1__2__Impl + { + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__Group_1_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_1__2" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_1__2__Impl" + // InternalSolverLanguage.g:2523:1: rule__AssertionOrDefinition__Group_1_1__2__Impl : ( ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) ) ; + public final void rule__AssertionOrDefinition__Group_1_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2527:1: ( ( ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) ) ) + // InternalSolverLanguage.g:2528:1: ( ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) ) + { + // InternalSolverLanguage.g:2528:1: ( ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) ) + // InternalSolverLanguage.g:2529:2: ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_1_2()); + } + // InternalSolverLanguage.g:2530:2: ( rule__AssertionOrDefinition__BodyAssignment_1_1_2 ) + // InternalSolverLanguage.g:2530:3: rule__AssertionOrDefinition__BodyAssignment_1_1_2 + { + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__BodyAssignment_1_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_1__2__Impl" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__0" + // InternalSolverLanguage.g:2539:1: rule__AssertionOrDefinition__Group_1_2__0 : rule__AssertionOrDefinition__Group_1_2__0__Impl rule__AssertionOrDefinition__Group_1_2__1 ; + public final void rule__AssertionOrDefinition__Group_1_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2543:1: ( rule__AssertionOrDefinition__Group_1_2__0__Impl rule__AssertionOrDefinition__Group_1_2__1 ) + // InternalSolverLanguage.g:2544:2: rule__AssertionOrDefinition__Group_1_2__0__Impl rule__AssertionOrDefinition__Group_1_2__1 + { + pushFollow(FOLLOW_5); + rule__AssertionOrDefinition__Group_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__Group_1_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_2__0" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__0__Impl" + // InternalSolverLanguage.g:2551:1: rule__AssertionOrDefinition__Group_1_2__0__Impl : ( () ) ; + public final void rule__AssertionOrDefinition__Group_1_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2555:1: ( ( () ) ) + // InternalSolverLanguage.g:2556:1: ( () ) + { + // InternalSolverLanguage.g:2556:1: ( () ) + // InternalSolverLanguage.g:2557:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0()); + } + // InternalSolverLanguage.g:2558:2: () + // InternalSolverLanguage.g:2558:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_2__0__Impl" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__1" + // InternalSolverLanguage.g:2566:1: rule__AssertionOrDefinition__Group_1_2__1 : rule__AssertionOrDefinition__Group_1_2__1__Impl rule__AssertionOrDefinition__Group_1_2__2 ; + public final void rule__AssertionOrDefinition__Group_1_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2570:1: ( rule__AssertionOrDefinition__Group_1_2__1__Impl rule__AssertionOrDefinition__Group_1_2__2 ) + // InternalSolverLanguage.g:2571:2: rule__AssertionOrDefinition__Group_1_2__1__Impl rule__AssertionOrDefinition__Group_1_2__2 + { + pushFollow(FOLLOW_7); + rule__AssertionOrDefinition__Group_1_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__Group_1_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_2__1" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__1__Impl" + // InternalSolverLanguage.g:2578:1: rule__AssertionOrDefinition__Group_1_2__1__Impl : ( '=' ) ; + public final void rule__AssertionOrDefinition__Group_1_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2582:1: ( ( '=' ) ) + // InternalSolverLanguage.g:2583:1: ( '=' ) + { + // InternalSolverLanguage.g:2583:1: ( '=' ) + // InternalSolverLanguage.g:2584:2: '=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); + } + match(input,47,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_2__1__Impl" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__2" + // InternalSolverLanguage.g:2593:1: rule__AssertionOrDefinition__Group_1_2__2 : rule__AssertionOrDefinition__Group_1_2__2__Impl ; + public final void rule__AssertionOrDefinition__Group_1_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2597:1: ( rule__AssertionOrDefinition__Group_1_2__2__Impl ) + // InternalSolverLanguage.g:2598:2: rule__AssertionOrDefinition__Group_1_2__2__Impl + { + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__Group_1_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_2__2" + + + // $ANTLR start "rule__AssertionOrDefinition__Group_1_2__2__Impl" + // InternalSolverLanguage.g:2604:1: rule__AssertionOrDefinition__Group_1_2__2__Impl : ( ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) ) ; + public final void rule__AssertionOrDefinition__Group_1_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2608:1: ( ( ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) ) ) + // InternalSolverLanguage.g:2609:1: ( ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) ) + { + // InternalSolverLanguage.g:2609:1: ( ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) ) + // InternalSolverLanguage.g:2610:2: ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_2_2()); + } + // InternalSolverLanguage.g:2611:2: ( rule__AssertionOrDefinition__BodyAssignment_1_2_2 ) + // InternalSolverLanguage.g:2611:3: rule__AssertionOrDefinition__BodyAssignment_1_2_2 + { + pushFollow(FOLLOW_2); + rule__AssertionOrDefinition__BodyAssignment_1_2_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getBodyAssignment_1_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AssertionOrDefinition__Group_1_2__2__Impl" + + + // $ANTLR start "rule__PredicateDefinition__Group__0" + // InternalSolverLanguage.g:2620:1: rule__PredicateDefinition__Group__0 : rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 ; + public final void rule__PredicateDefinition__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2624:1: ( rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 ) + // InternalSolverLanguage.g:2625:2: rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 + { + pushFollow(FOLLOW_9); + rule__PredicateDefinition__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__PredicateDefinition__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PredicateDefinition__Group__0" + + + // $ANTLR start "rule__PredicateDefinition__Group__0__Impl" + // InternalSolverLanguage.g:2632:1: rule__PredicateDefinition__Group__0__Impl : ( ( rule__PredicateDefinition__Alternatives_0 ) ) ; + public final void rule__PredicateDefinition__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2636:1: ( ( ( rule__PredicateDefinition__Alternatives_0 ) ) ) + // InternalSolverLanguage.g:2637:1: ( ( rule__PredicateDefinition__Alternatives_0 ) ) + { + // InternalSolverLanguage.g:2637:1: ( ( rule__PredicateDefinition__Alternatives_0 ) ) + // InternalSolverLanguage.g:2638:2: ( rule__PredicateDefinition__Alternatives_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0()); + } + // InternalSolverLanguage.g:2639:2: ( rule__PredicateDefinition__Alternatives_0 ) + // InternalSolverLanguage.g:2639:3: rule__PredicateDefinition__Alternatives_0 + { + pushFollow(FOLLOW_2); + rule__PredicateDefinition__Alternatives_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PredicateDefinition__Group__0__Impl" + + + // $ANTLR start "rule__PredicateDefinition__Group__1" + // InternalSolverLanguage.g:2647:1: rule__PredicateDefinition__Group__1 : rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 ; + public final void rule__PredicateDefinition__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2651:1: ( rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 ) + // InternalSolverLanguage.g:2652:2: rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 + { + pushFollow(FOLLOW_8); + rule__PredicateDefinition__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__PredicateDefinition__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PredicateDefinition__Group__1" + + + // $ANTLR start "rule__PredicateDefinition__Group__1__Impl" + // InternalSolverLanguage.g:2659:1: rule__PredicateDefinition__Group__1__Impl : ( ( rule__PredicateDefinition__HeadAssignment_1 ) ) ; + public final void rule__PredicateDefinition__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2663:1: ( ( ( rule__PredicateDefinition__HeadAssignment_1 ) ) ) + // InternalSolverLanguage.g:2664:1: ( ( rule__PredicateDefinition__HeadAssignment_1 ) ) + { + // InternalSolverLanguage.g:2664:1: ( ( rule__PredicateDefinition__HeadAssignment_1 ) ) + // InternalSolverLanguage.g:2665:2: ( rule__PredicateDefinition__HeadAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getHeadAssignment_1()); + } + // InternalSolverLanguage.g:2666:2: ( rule__PredicateDefinition__HeadAssignment_1 ) + // InternalSolverLanguage.g:2666:3: rule__PredicateDefinition__HeadAssignment_1 + { + pushFollow(FOLLOW_2); + rule__PredicateDefinition__HeadAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getHeadAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PredicateDefinition__Group__1__Impl" + + + // $ANTLR start "rule__PredicateDefinition__Group__2" + // InternalSolverLanguage.g:2674:1: rule__PredicateDefinition__Group__2 : rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 ; + public final void rule__PredicateDefinition__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2678:1: ( rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 ) + // InternalSolverLanguage.g:2679:2: rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 + { + pushFollow(FOLLOW_7); + rule__PredicateDefinition__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__PredicateDefinition__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PredicateDefinition__Group__2" + + + // $ANTLR start "rule__PredicateDefinition__Group__2__Impl" + // InternalSolverLanguage.g:2686:1: rule__PredicateDefinition__Group__2__Impl : ( ':-' ) ; + public final void rule__PredicateDefinition__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2690:1: ( ( ':-' ) ) + // InternalSolverLanguage.g:2691:1: ( ':-' ) + { + // InternalSolverLanguage.g:2691:1: ( ':-' ) + // InternalSolverLanguage.g:2692:2: ':-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); + } + match(input,46,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PredicateDefinition__Group__2__Impl" + + + // $ANTLR start "rule__PredicateDefinition__Group__3" + // InternalSolverLanguage.g:2701:1: rule__PredicateDefinition__Group__3 : rule__PredicateDefinition__Group__3__Impl ; + public final void rule__PredicateDefinition__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2705:1: ( rule__PredicateDefinition__Group__3__Impl ) + // InternalSolverLanguage.g:2706:2: rule__PredicateDefinition__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__PredicateDefinition__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PredicateDefinition__Group__3" + + + // $ANTLR start "rule__PredicateDefinition__Group__3__Impl" + // InternalSolverLanguage.g:2712:1: rule__PredicateDefinition__Group__3__Impl : ( ( rule__PredicateDefinition__BodyAssignment_3 ) ) ; + public final void rule__PredicateDefinition__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2716:1: ( ( ( rule__PredicateDefinition__BodyAssignment_3 ) ) ) + // InternalSolverLanguage.g:2717:1: ( ( rule__PredicateDefinition__BodyAssignment_3 ) ) + { + // InternalSolverLanguage.g:2717:1: ( ( rule__PredicateDefinition__BodyAssignment_3 ) ) + // InternalSolverLanguage.g:2718:2: ( rule__PredicateDefinition__BodyAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getBodyAssignment_3()); + } + // InternalSolverLanguage.g:2719:2: ( rule__PredicateDefinition__BodyAssignment_3 ) + // InternalSolverLanguage.g:2719:3: rule__PredicateDefinition__BodyAssignment_3 + { + pushFollow(FOLLOW_2); + rule__PredicateDefinition__BodyAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getBodyAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PredicateDefinition__Group__3__Impl" + + + // $ANTLR start "rule__PredicateDefinition__Group_0_0__0" + // InternalSolverLanguage.g:2728:1: rule__PredicateDefinition__Group_0_0__0 : rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 ; + public final void rule__PredicateDefinition__Group_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2732:1: ( rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 ) + // InternalSolverLanguage.g:2733:2: rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 + { + pushFollow(FOLLOW_10); + rule__PredicateDefinition__Group_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__PredicateDefinition__Group_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PredicateDefinition__Group_0_0__0" + + + // $ANTLR start "rule__PredicateDefinition__Group_0_0__0__Impl" + // InternalSolverLanguage.g:2740:1: rule__PredicateDefinition__Group_0_0__0__Impl : ( ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) ) ; + public final void rule__PredicateDefinition__Group_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2744:1: ( ( ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) ) ) + // InternalSolverLanguage.g:2745:1: ( ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) ) + { + // InternalSolverLanguage.g:2745:1: ( ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) ) + // InternalSolverLanguage.g:2746:2: ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_0_0()); + } + // InternalSolverLanguage.g:2747:2: ( rule__PredicateDefinition__FunctionalAssignment_0_0_0 ) + // InternalSolverLanguage.g:2747:3: rule__PredicateDefinition__FunctionalAssignment_0_0_0 + { + pushFollow(FOLLOW_2); + rule__PredicateDefinition__FunctionalAssignment_0_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PredicateDefinition__Group_0_0__0__Impl" + + + // $ANTLR start "rule__PredicateDefinition__Group_0_0__1" + // InternalSolverLanguage.g:2755:1: rule__PredicateDefinition__Group_0_0__1 : rule__PredicateDefinition__Group_0_0__1__Impl ; + public final void rule__PredicateDefinition__Group_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2759:1: ( rule__PredicateDefinition__Group_0_0__1__Impl ) + // InternalSolverLanguage.g:2760:2: rule__PredicateDefinition__Group_0_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__PredicateDefinition__Group_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PredicateDefinition__Group_0_0__1" + + + // $ANTLR start "rule__PredicateDefinition__Group_0_0__1__Impl" + // InternalSolverLanguage.g:2766:1: rule__PredicateDefinition__Group_0_0__1__Impl : ( ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? ) ; + public final void rule__PredicateDefinition__Group_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2770:1: ( ( ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? ) ) + // InternalSolverLanguage.g:2771:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? ) + { + // InternalSolverLanguage.g:2771:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? ) + // InternalSolverLanguage.g:2772:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_1()); + } + // InternalSolverLanguage.g:2773:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_1 )? + int alt28=2; + int LA28_0 = input.LA(1); + + if ( (LA28_0==42) ) { + alt28=1; + } + switch (alt28) { + case 1 : + // InternalSolverLanguage.g:2773:3: rule__PredicateDefinition__ErrorAssignment_0_0_1 + { + pushFollow(FOLLOW_2); + rule__PredicateDefinition__ErrorAssignment_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PredicateDefinition__Group_0_0__1__Impl" + + + // $ANTLR start "rule__PredicateDefinition__Group_0_1__0" + // InternalSolverLanguage.g:2782:1: rule__PredicateDefinition__Group_0_1__0 : rule__PredicateDefinition__Group_0_1__0__Impl rule__PredicateDefinition__Group_0_1__1 ; + public final void rule__PredicateDefinition__Group_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2786:1: ( rule__PredicateDefinition__Group_0_1__0__Impl rule__PredicateDefinition__Group_0_1__1 ) + // InternalSolverLanguage.g:2787:2: rule__PredicateDefinition__Group_0_1__0__Impl rule__PredicateDefinition__Group_0_1__1 + { + pushFollow(FOLLOW_11); + rule__PredicateDefinition__Group_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__PredicateDefinition__Group_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PredicateDefinition__Group_0_1__0" + + + // $ANTLR start "rule__PredicateDefinition__Group_0_1__0__Impl" + // InternalSolverLanguage.g:2794:1: rule__PredicateDefinition__Group_0_1__0__Impl : ( ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) ) ; + public final void rule__PredicateDefinition__Group_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2798:1: ( ( ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) ) ) + // InternalSolverLanguage.g:2799:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) ) + { + // InternalSolverLanguage.g:2799:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) ) + // InternalSolverLanguage.g:2800:2: ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_1_0()); + } + // InternalSolverLanguage.g:2801:2: ( rule__PredicateDefinition__ErrorAssignment_0_1_0 ) + // InternalSolverLanguage.g:2801:3: rule__PredicateDefinition__ErrorAssignment_0_1_0 + { + pushFollow(FOLLOW_2); + rule__PredicateDefinition__ErrorAssignment_0_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PredicateDefinition__Group_0_1__0__Impl" + + + // $ANTLR start "rule__PredicateDefinition__Group_0_1__1" + // InternalSolverLanguage.g:2809:1: rule__PredicateDefinition__Group_0_1__1 : rule__PredicateDefinition__Group_0_1__1__Impl ; + public final void rule__PredicateDefinition__Group_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2813:1: ( rule__PredicateDefinition__Group_0_1__1__Impl ) + // InternalSolverLanguage.g:2814:2: rule__PredicateDefinition__Group_0_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__PredicateDefinition__Group_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PredicateDefinition__Group_0_1__1" + + + // $ANTLR start "rule__PredicateDefinition__Group_0_1__1__Impl" + // InternalSolverLanguage.g:2820:1: rule__PredicateDefinition__Group_0_1__1__Impl : ( ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? ) ; + public final void rule__PredicateDefinition__Group_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2824:1: ( ( ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? ) ) + // InternalSolverLanguage.g:2825:1: ( ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? ) + { + // InternalSolverLanguage.g:2825:1: ( ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? ) + // InternalSolverLanguage.g:2826:2: ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_1_1()); + } + // InternalSolverLanguage.g:2827:2: ( rule__PredicateDefinition__FunctionalAssignment_0_1_1 )? + int alt29=2; + int LA29_0 = input.LA(1); + + if ( (LA29_0==72) ) { + alt29=1; + } + switch (alt29) { + case 1 : + // InternalSolverLanguage.g:2827:3: rule__PredicateDefinition__FunctionalAssignment_0_1_1 + { + pushFollow(FOLLOW_2); + rule__PredicateDefinition__FunctionalAssignment_0_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getFunctionalAssignment_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PredicateDefinition__Group_0_1__1__Impl" + + + // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__0" + // InternalSolverLanguage.g:2836:1: rule__UnnamedErrorPrediateDefinition__Group__0 : rule__UnnamedErrorPrediateDefinition__Group__0__Impl rule__UnnamedErrorPrediateDefinition__Group__1 ; + public final void rule__UnnamedErrorPrediateDefinition__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2840:1: ( rule__UnnamedErrorPrediateDefinition__Group__0__Impl rule__UnnamedErrorPrediateDefinition__Group__1 ) + // InternalSolverLanguage.g:2841:2: rule__UnnamedErrorPrediateDefinition__Group__0__Impl rule__UnnamedErrorPrediateDefinition__Group__1 + { + pushFollow(FOLLOW_12); + rule__UnnamedErrorPrediateDefinition__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__UnnamedErrorPrediateDefinition__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnnamedErrorPrediateDefinition__Group__0" + + + // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__0__Impl" + // InternalSolverLanguage.g:2848:1: rule__UnnamedErrorPrediateDefinition__Group__0__Impl : ( 'error' ) ; + public final void rule__UnnamedErrorPrediateDefinition__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2852:1: ( ( 'error' ) ) + // InternalSolverLanguage.g:2853:1: ( 'error' ) + { + // InternalSolverLanguage.g:2853:1: ( 'error' ) + // InternalSolverLanguage.g:2854:2: 'error' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); + } + match(input,42,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnnamedErrorPrediateDefinition__Group__0__Impl" + + + // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__1" + // InternalSolverLanguage.g:2863:1: rule__UnnamedErrorPrediateDefinition__Group__1 : rule__UnnamedErrorPrediateDefinition__Group__1__Impl rule__UnnamedErrorPrediateDefinition__Group__2 ; + public final void rule__UnnamedErrorPrediateDefinition__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2867:1: ( rule__UnnamedErrorPrediateDefinition__Group__1__Impl rule__UnnamedErrorPrediateDefinition__Group__2 ) + // InternalSolverLanguage.g:2868:2: rule__UnnamedErrorPrediateDefinition__Group__1__Impl rule__UnnamedErrorPrediateDefinition__Group__2 + { + pushFollow(FOLLOW_8); + rule__UnnamedErrorPrediateDefinition__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__UnnamedErrorPrediateDefinition__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnnamedErrorPrediateDefinition__Group__1" + + + // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__1__Impl" + // InternalSolverLanguage.g:2875:1: rule__UnnamedErrorPrediateDefinition__Group__1__Impl : ( ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) ) ; + public final void rule__UnnamedErrorPrediateDefinition__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2879:1: ( ( ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) ) ) + // InternalSolverLanguage.g:2880:1: ( ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) ) + { + // InternalSolverLanguage.g:2880:1: ( ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) ) + // InternalSolverLanguage.g:2881:2: ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListAssignment_1()); + } + // InternalSolverLanguage.g:2882:2: ( rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 ) + // InternalSolverLanguage.g:2882:3: rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 + { + pushFollow(FOLLOW_2); + rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnnamedErrorPrediateDefinition__Group__1__Impl" + + + // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__2" + // InternalSolverLanguage.g:2890:1: rule__UnnamedErrorPrediateDefinition__Group__2 : rule__UnnamedErrorPrediateDefinition__Group__2__Impl rule__UnnamedErrorPrediateDefinition__Group__3 ; + public final void rule__UnnamedErrorPrediateDefinition__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2894:1: ( rule__UnnamedErrorPrediateDefinition__Group__2__Impl rule__UnnamedErrorPrediateDefinition__Group__3 ) + // InternalSolverLanguage.g:2895:2: rule__UnnamedErrorPrediateDefinition__Group__2__Impl rule__UnnamedErrorPrediateDefinition__Group__3 + { + pushFollow(FOLLOW_7); + rule__UnnamedErrorPrediateDefinition__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__UnnamedErrorPrediateDefinition__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnnamedErrorPrediateDefinition__Group__2" + + + // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__2__Impl" + // InternalSolverLanguage.g:2902:1: rule__UnnamedErrorPrediateDefinition__Group__2__Impl : ( ':-' ) ; + public final void rule__UnnamedErrorPrediateDefinition__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2906:1: ( ( ':-' ) ) + // InternalSolverLanguage.g:2907:1: ( ':-' ) + { + // InternalSolverLanguage.g:2907:1: ( ':-' ) + // InternalSolverLanguage.g:2908:2: ':-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); + } + match(input,46,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnnamedErrorPrediateDefinition__Group__2__Impl" + + + // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__3" + // InternalSolverLanguage.g:2917:1: rule__UnnamedErrorPrediateDefinition__Group__3 : rule__UnnamedErrorPrediateDefinition__Group__3__Impl ; + public final void rule__UnnamedErrorPrediateDefinition__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2921:1: ( rule__UnnamedErrorPrediateDefinition__Group__3__Impl ) + // InternalSolverLanguage.g:2922:2: rule__UnnamedErrorPrediateDefinition__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__UnnamedErrorPrediateDefinition__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnnamedErrorPrediateDefinition__Group__3" + + + // $ANTLR start "rule__UnnamedErrorPrediateDefinition__Group__3__Impl" + // InternalSolverLanguage.g:2928:1: rule__UnnamedErrorPrediateDefinition__Group__3__Impl : ( ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) ) ; + public final void rule__UnnamedErrorPrediateDefinition__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2932:1: ( ( ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) ) ) + // InternalSolverLanguage.g:2933:1: ( ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) ) + { + // InternalSolverLanguage.g:2933:1: ( ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) ) + // InternalSolverLanguage.g:2934:2: ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyAssignment_3()); + } + // InternalSolverLanguage.g:2935:2: ( rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 ) + // InternalSolverLanguage.g:2935:3: rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 + { + pushFollow(FOLLOW_2); + rule__UnnamedErrorPrediateDefinition__BodyAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnnamedErrorPrediateDefinition__Group__3__Impl" + + + // $ANTLR start "rule__DefaultDefinition__Group__0" + // InternalSolverLanguage.g:2944:1: rule__DefaultDefinition__Group__0 : rule__DefaultDefinition__Group__0__Impl rule__DefaultDefinition__Group__1 ; + public final void rule__DefaultDefinition__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2948:1: ( rule__DefaultDefinition__Group__0__Impl rule__DefaultDefinition__Group__1 ) + // InternalSolverLanguage.g:2949:2: rule__DefaultDefinition__Group__0__Impl rule__DefaultDefinition__Group__1 + { + pushFollow(FOLLOW_9); + rule__DefaultDefinition__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__DefaultDefinition__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DefaultDefinition__Group__0" + + + // $ANTLR start "rule__DefaultDefinition__Group__0__Impl" + // InternalSolverLanguage.g:2956:1: rule__DefaultDefinition__Group__0__Impl : ( 'default' ) ; + public final void rule__DefaultDefinition__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2960:1: ( ( 'default' ) ) + // InternalSolverLanguage.g:2961:1: ( 'default' ) + { + // InternalSolverLanguage.g:2961:1: ( 'default' ) + // InternalSolverLanguage.g:2962:2: 'default' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); + } + match(input,48,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DefaultDefinition__Group__0__Impl" + + + // $ANTLR start "rule__DefaultDefinition__Group__1" + // InternalSolverLanguage.g:2971:1: rule__DefaultDefinition__Group__1 : rule__DefaultDefinition__Group__1__Impl rule__DefaultDefinition__Group__2 ; + public final void rule__DefaultDefinition__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2975:1: ( rule__DefaultDefinition__Group__1__Impl rule__DefaultDefinition__Group__2 ) + // InternalSolverLanguage.g:2976:2: rule__DefaultDefinition__Group__1__Impl rule__DefaultDefinition__Group__2 + { + pushFollow(FOLLOW_6); + rule__DefaultDefinition__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__DefaultDefinition__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DefaultDefinition__Group__1" + + + // $ANTLR start "rule__DefaultDefinition__Group__1__Impl" + // InternalSolverLanguage.g:2983:1: rule__DefaultDefinition__Group__1__Impl : ( ( rule__DefaultDefinition__HeadAssignment_1 ) ) ; + public final void rule__DefaultDefinition__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:2987:1: ( ( ( rule__DefaultDefinition__HeadAssignment_1 ) ) ) + // InternalSolverLanguage.g:2988:1: ( ( rule__DefaultDefinition__HeadAssignment_1 ) ) + { + // InternalSolverLanguage.g:2988:1: ( ( rule__DefaultDefinition__HeadAssignment_1 ) ) + // InternalSolverLanguage.g:2989:2: ( rule__DefaultDefinition__HeadAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDefaultDefinitionAccess().getHeadAssignment_1()); + } + // InternalSolverLanguage.g:2990:2: ( rule__DefaultDefinition__HeadAssignment_1 ) + // InternalSolverLanguage.g:2990:3: rule__DefaultDefinition__HeadAssignment_1 + { + pushFollow(FOLLOW_2); + rule__DefaultDefinition__HeadAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDefaultDefinitionAccess().getHeadAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DefaultDefinition__Group__1__Impl" + + + // $ANTLR start "rule__DefaultDefinition__Group__2" + // InternalSolverLanguage.g:2998:1: rule__DefaultDefinition__Group__2 : rule__DefaultDefinition__Group__2__Impl rule__DefaultDefinition__Group__3 ; + public final void rule__DefaultDefinition__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3002:1: ( rule__DefaultDefinition__Group__2__Impl rule__DefaultDefinition__Group__3 ) + // InternalSolverLanguage.g:3003:2: rule__DefaultDefinition__Group__2__Impl rule__DefaultDefinition__Group__3 + { + pushFollow(FOLLOW_7); + rule__DefaultDefinition__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__DefaultDefinition__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DefaultDefinition__Group__2" + + + // $ANTLR start "rule__DefaultDefinition__Group__2__Impl" + // InternalSolverLanguage.g:3010:1: rule__DefaultDefinition__Group__2__Impl : ( ':' ) ; + public final void rule__DefaultDefinition__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3014:1: ( ( ':' ) ) + // InternalSolverLanguage.g:3015:1: ( ':' ) + { + // InternalSolverLanguage.g:3015:1: ( ':' ) + // InternalSolverLanguage.g:3016:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); + } + match(input,45,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DefaultDefinition__Group__2__Impl" + + + // $ANTLR start "rule__DefaultDefinition__Group__3" + // InternalSolverLanguage.g:3025:1: rule__DefaultDefinition__Group__3 : rule__DefaultDefinition__Group__3__Impl ; + public final void rule__DefaultDefinition__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3029:1: ( rule__DefaultDefinition__Group__3__Impl ) + // InternalSolverLanguage.g:3030:2: rule__DefaultDefinition__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__DefaultDefinition__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DefaultDefinition__Group__3" + + + // $ANTLR start "rule__DefaultDefinition__Group__3__Impl" + // InternalSolverLanguage.g:3036:1: rule__DefaultDefinition__Group__3__Impl : ( ( rule__DefaultDefinition__RangeAssignment_3 ) ) ; + public final void rule__DefaultDefinition__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3040:1: ( ( ( rule__DefaultDefinition__RangeAssignment_3 ) ) ) + // InternalSolverLanguage.g:3041:1: ( ( rule__DefaultDefinition__RangeAssignment_3 ) ) + { + // InternalSolverLanguage.g:3041:1: ( ( rule__DefaultDefinition__RangeAssignment_3 ) ) + // InternalSolverLanguage.g:3042:2: ( rule__DefaultDefinition__RangeAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDefaultDefinitionAccess().getRangeAssignment_3()); + } + // InternalSolverLanguage.g:3043:2: ( rule__DefaultDefinition__RangeAssignment_3 ) + // InternalSolverLanguage.g:3043:3: rule__DefaultDefinition__RangeAssignment_3 + { + pushFollow(FOLLOW_2); + rule__DefaultDefinition__RangeAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDefaultDefinitionAccess().getRangeAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DefaultDefinition__Group__3__Impl" + + + // $ANTLR start "rule__ExternPredicateDefinition__Group__0" + // InternalSolverLanguage.g:3052:1: rule__ExternPredicateDefinition__Group__0 : rule__ExternPredicateDefinition__Group__0__Impl rule__ExternPredicateDefinition__Group__1 ; + public final void rule__ExternPredicateDefinition__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3056:1: ( rule__ExternPredicateDefinition__Group__0__Impl rule__ExternPredicateDefinition__Group__1 ) + // InternalSolverLanguage.g:3057:2: rule__ExternPredicateDefinition__Group__0__Impl rule__ExternPredicateDefinition__Group__1 + { + pushFollow(FOLLOW_9); + rule__ExternPredicateDefinition__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ExternPredicateDefinition__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExternPredicateDefinition__Group__0" + + + // $ANTLR start "rule__ExternPredicateDefinition__Group__0__Impl" + // InternalSolverLanguage.g:3064:1: rule__ExternPredicateDefinition__Group__0__Impl : ( 'extern' ) ; + public final void rule__ExternPredicateDefinition__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3068:1: ( ( 'extern' ) ) + // InternalSolverLanguage.g:3069:1: ( 'extern' ) + { + // InternalSolverLanguage.g:3069:1: ( 'extern' ) + // InternalSolverLanguage.g:3070:2: 'extern' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); + } + match(input,49,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExternPredicateDefinition__Group__0__Impl" + + + // $ANTLR start "rule__ExternPredicateDefinition__Group__1" + // InternalSolverLanguage.g:3079:1: rule__ExternPredicateDefinition__Group__1 : rule__ExternPredicateDefinition__Group__1__Impl rule__ExternPredicateDefinition__Group__2 ; + public final void rule__ExternPredicateDefinition__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3083:1: ( rule__ExternPredicateDefinition__Group__1__Impl rule__ExternPredicateDefinition__Group__2 ) + // InternalSolverLanguage.g:3084:2: rule__ExternPredicateDefinition__Group__1__Impl rule__ExternPredicateDefinition__Group__2 + { + pushFollow(FOLLOW_13); + rule__ExternPredicateDefinition__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ExternPredicateDefinition__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExternPredicateDefinition__Group__1" + + + // $ANTLR start "rule__ExternPredicateDefinition__Group__1__Impl" + // InternalSolverLanguage.g:3091:1: rule__ExternPredicateDefinition__Group__1__Impl : ( ( rule__ExternPredicateDefinition__HeadAssignment_1 ) ) ; + public final void rule__ExternPredicateDefinition__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3095:1: ( ( ( rule__ExternPredicateDefinition__HeadAssignment_1 ) ) ) + // InternalSolverLanguage.g:3096:1: ( ( rule__ExternPredicateDefinition__HeadAssignment_1 ) ) + { + // InternalSolverLanguage.g:3096:1: ( ( rule__ExternPredicateDefinition__HeadAssignment_1 ) ) + // InternalSolverLanguage.g:3097:2: ( rule__ExternPredicateDefinition__HeadAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExternPredicateDefinitionAccess().getHeadAssignment_1()); + } + // InternalSolverLanguage.g:3098:2: ( rule__ExternPredicateDefinition__HeadAssignment_1 ) + // InternalSolverLanguage.g:3098:3: rule__ExternPredicateDefinition__HeadAssignment_1 + { + pushFollow(FOLLOW_2); + rule__ExternPredicateDefinition__HeadAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getExternPredicateDefinitionAccess().getHeadAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExternPredicateDefinition__Group__1__Impl" + + + // $ANTLR start "rule__ExternPredicateDefinition__Group__2" + // InternalSolverLanguage.g:3106:1: rule__ExternPredicateDefinition__Group__2 : rule__ExternPredicateDefinition__Group__2__Impl ; + public final void rule__ExternPredicateDefinition__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3110:1: ( rule__ExternPredicateDefinition__Group__2__Impl ) + // InternalSolverLanguage.g:3111:2: rule__ExternPredicateDefinition__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__ExternPredicateDefinition__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExternPredicateDefinition__Group__2" + + + // $ANTLR start "rule__ExternPredicateDefinition__Group__2__Impl" + // InternalSolverLanguage.g:3117:1: rule__ExternPredicateDefinition__Group__2__Impl : ( '.' ) ; + public final void rule__ExternPredicateDefinition__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3121:1: ( ( '.' ) ) + // InternalSolverLanguage.g:3122:1: ( '.' ) + { + // InternalSolverLanguage.g:3122:1: ( '.' ) + // InternalSolverLanguage.g:3123:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExternPredicateDefinitionAccess().getFullStopKeyword_2()); + } + match(input,50,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExternPredicateDefinitionAccess().getFullStopKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExternPredicateDefinition__Group__2__Impl" + + + // $ANTLR start "rule__MetricDefinition__Group__0" + // InternalSolverLanguage.g:3133:1: rule__MetricDefinition__Group__0 : rule__MetricDefinition__Group__0__Impl rule__MetricDefinition__Group__1 ; + public final void rule__MetricDefinition__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3137:1: ( rule__MetricDefinition__Group__0__Impl rule__MetricDefinition__Group__1 ) + // InternalSolverLanguage.g:3138:2: rule__MetricDefinition__Group__0__Impl rule__MetricDefinition__Group__1 + { + pushFollow(FOLLOW_7); + rule__MetricDefinition__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__MetricDefinition__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MetricDefinition__Group__0" + + + // $ANTLR start "rule__MetricDefinition__Group__0__Impl" + // InternalSolverLanguage.g:3145:1: rule__MetricDefinition__Group__0__Impl : ( ( rule__MetricDefinition__TypeAssignment_0 ) ) ; + public final void rule__MetricDefinition__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3149:1: ( ( ( rule__MetricDefinition__TypeAssignment_0 ) ) ) + // InternalSolverLanguage.g:3150:1: ( ( rule__MetricDefinition__TypeAssignment_0 ) ) + { + // InternalSolverLanguage.g:3150:1: ( ( rule__MetricDefinition__TypeAssignment_0 ) ) + // InternalSolverLanguage.g:3151:2: ( rule__MetricDefinition__TypeAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0()); + } + // InternalSolverLanguage.g:3152:2: ( rule__MetricDefinition__TypeAssignment_0 ) + // InternalSolverLanguage.g:3152:3: rule__MetricDefinition__TypeAssignment_0 + { + pushFollow(FOLLOW_2); + rule__MetricDefinition__TypeAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMetricDefinitionAccess().getTypeAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MetricDefinition__Group__0__Impl" + + + // $ANTLR start "rule__MetricDefinition__Group__1" + // InternalSolverLanguage.g:3160:1: rule__MetricDefinition__Group__1 : rule__MetricDefinition__Group__1__Impl rule__MetricDefinition__Group__2 ; + public final void rule__MetricDefinition__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3164:1: ( rule__MetricDefinition__Group__1__Impl rule__MetricDefinition__Group__2 ) + // InternalSolverLanguage.g:3165:2: rule__MetricDefinition__Group__1__Impl rule__MetricDefinition__Group__2 + { + pushFollow(FOLLOW_14); + rule__MetricDefinition__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__MetricDefinition__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MetricDefinition__Group__1" + + + // $ANTLR start "rule__MetricDefinition__Group__1__Impl" + // InternalSolverLanguage.g:3172:1: rule__MetricDefinition__Group__1__Impl : ( ( rule__MetricDefinition__HeadAssignment_1 ) ) ; + public final void rule__MetricDefinition__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3176:1: ( ( ( rule__MetricDefinition__HeadAssignment_1 ) ) ) + // InternalSolverLanguage.g:3177:1: ( ( rule__MetricDefinition__HeadAssignment_1 ) ) + { + // InternalSolverLanguage.g:3177:1: ( ( rule__MetricDefinition__HeadAssignment_1 ) ) + // InternalSolverLanguage.g:3178:2: ( rule__MetricDefinition__HeadAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1()); + } + // InternalSolverLanguage.g:3179:2: ( rule__MetricDefinition__HeadAssignment_1 ) + // InternalSolverLanguage.g:3179:3: rule__MetricDefinition__HeadAssignment_1 + { + pushFollow(FOLLOW_2); + rule__MetricDefinition__HeadAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMetricDefinitionAccess().getHeadAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MetricDefinition__Group__1__Impl" + + + // $ANTLR start "rule__MetricDefinition__Group__2" + // InternalSolverLanguage.g:3187:1: rule__MetricDefinition__Group__2 : rule__MetricDefinition__Group__2__Impl rule__MetricDefinition__Group__3 ; + public final void rule__MetricDefinition__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3191:1: ( rule__MetricDefinition__Group__2__Impl rule__MetricDefinition__Group__3 ) + // InternalSolverLanguage.g:3192:2: rule__MetricDefinition__Group__2__Impl rule__MetricDefinition__Group__3 + { + pushFollow(FOLLOW_7); + rule__MetricDefinition__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__MetricDefinition__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MetricDefinition__Group__2" + + + // $ANTLR start "rule__MetricDefinition__Group__2__Impl" + // InternalSolverLanguage.g:3199:1: rule__MetricDefinition__Group__2__Impl : ( '=' ) ; + public final void rule__MetricDefinition__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3203:1: ( ( '=' ) ) + // InternalSolverLanguage.g:3204:1: ( '=' ) + { + // InternalSolverLanguage.g:3204:1: ( '=' ) + // InternalSolverLanguage.g:3205:2: '=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); + } + match(input,47,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MetricDefinition__Group__2__Impl" + + + // $ANTLR start "rule__MetricDefinition__Group__3" + // InternalSolverLanguage.g:3214:1: rule__MetricDefinition__Group__3 : rule__MetricDefinition__Group__3__Impl ; + public final void rule__MetricDefinition__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3218:1: ( rule__MetricDefinition__Group__3__Impl ) + // InternalSolverLanguage.g:3219:2: rule__MetricDefinition__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__MetricDefinition__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MetricDefinition__Group__3" + + + // $ANTLR start "rule__MetricDefinition__Group__3__Impl" + // InternalSolverLanguage.g:3225:1: rule__MetricDefinition__Group__3__Impl : ( ( rule__MetricDefinition__BodyAssignment_3 ) ) ; + public final void rule__MetricDefinition__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3229:1: ( ( ( rule__MetricDefinition__BodyAssignment_3 ) ) ) + // InternalSolverLanguage.g:3230:1: ( ( rule__MetricDefinition__BodyAssignment_3 ) ) + { + // InternalSolverLanguage.g:3230:1: ( ( rule__MetricDefinition__BodyAssignment_3 ) ) + // InternalSolverLanguage.g:3231:2: ( rule__MetricDefinition__BodyAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3()); + } + // InternalSolverLanguage.g:3232:2: ( rule__MetricDefinition__BodyAssignment_3 ) + // InternalSolverLanguage.g:3232:3: rule__MetricDefinition__BodyAssignment_3 + { + pushFollow(FOLLOW_2); + rule__MetricDefinition__BodyAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMetricDefinitionAccess().getBodyAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MetricDefinition__Group__3__Impl" + + + // $ANTLR start "rule__ExternMetricDefinition__Group__0" + // InternalSolverLanguage.g:3241:1: rule__ExternMetricDefinition__Group__0 : rule__ExternMetricDefinition__Group__0__Impl rule__ExternMetricDefinition__Group__1 ; + public final void rule__ExternMetricDefinition__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3245:1: ( rule__ExternMetricDefinition__Group__0__Impl rule__ExternMetricDefinition__Group__1 ) + // InternalSolverLanguage.g:3246:2: rule__ExternMetricDefinition__Group__0__Impl rule__ExternMetricDefinition__Group__1 + { + pushFollow(FOLLOW_15); + rule__ExternMetricDefinition__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ExternMetricDefinition__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExternMetricDefinition__Group__0" + + + // $ANTLR start "rule__ExternMetricDefinition__Group__0__Impl" + // InternalSolverLanguage.g:3253:1: rule__ExternMetricDefinition__Group__0__Impl : ( 'extern' ) ; + public final void rule__ExternMetricDefinition__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3257:1: ( ( 'extern' ) ) + // InternalSolverLanguage.g:3258:1: ( 'extern' ) + { + // InternalSolverLanguage.g:3258:1: ( 'extern' ) + // InternalSolverLanguage.g:3259:2: 'extern' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); + } + match(input,49,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExternMetricDefinition__Group__0__Impl" + + + // $ANTLR start "rule__ExternMetricDefinition__Group__1" + // InternalSolverLanguage.g:3268:1: rule__ExternMetricDefinition__Group__1 : rule__ExternMetricDefinition__Group__1__Impl rule__ExternMetricDefinition__Group__2 ; + public final void rule__ExternMetricDefinition__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3272:1: ( rule__ExternMetricDefinition__Group__1__Impl rule__ExternMetricDefinition__Group__2 ) + // InternalSolverLanguage.g:3273:2: rule__ExternMetricDefinition__Group__1__Impl rule__ExternMetricDefinition__Group__2 + { + pushFollow(FOLLOW_9); + rule__ExternMetricDefinition__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ExternMetricDefinition__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExternMetricDefinition__Group__1" + + + // $ANTLR start "rule__ExternMetricDefinition__Group__1__Impl" + // InternalSolverLanguage.g:3280:1: rule__ExternMetricDefinition__Group__1__Impl : ( ( rule__ExternMetricDefinition__TypeAssignment_1 ) ) ; + public final void rule__ExternMetricDefinition__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3284:1: ( ( ( rule__ExternMetricDefinition__TypeAssignment_1 ) ) ) + // InternalSolverLanguage.g:3285:1: ( ( rule__ExternMetricDefinition__TypeAssignment_1 ) ) + { + // InternalSolverLanguage.g:3285:1: ( ( rule__ExternMetricDefinition__TypeAssignment_1 ) ) + // InternalSolverLanguage.g:3286:2: ( rule__ExternMetricDefinition__TypeAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExternMetricDefinitionAccess().getTypeAssignment_1()); + } + // InternalSolverLanguage.g:3287:2: ( rule__ExternMetricDefinition__TypeAssignment_1 ) + // InternalSolverLanguage.g:3287:3: rule__ExternMetricDefinition__TypeAssignment_1 + { + pushFollow(FOLLOW_2); + rule__ExternMetricDefinition__TypeAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getExternMetricDefinitionAccess().getTypeAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExternMetricDefinition__Group__1__Impl" + + + // $ANTLR start "rule__ExternMetricDefinition__Group__2" + // InternalSolverLanguage.g:3295:1: rule__ExternMetricDefinition__Group__2 : rule__ExternMetricDefinition__Group__2__Impl ; + public final void rule__ExternMetricDefinition__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3299:1: ( rule__ExternMetricDefinition__Group__2__Impl ) + // InternalSolverLanguage.g:3300:2: rule__ExternMetricDefinition__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__ExternMetricDefinition__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExternMetricDefinition__Group__2" + + + // $ANTLR start "rule__ExternMetricDefinition__Group__2__Impl" + // InternalSolverLanguage.g:3306:1: rule__ExternMetricDefinition__Group__2__Impl : ( ( rule__ExternMetricDefinition__HeadAssignment_2 ) ) ; + public final void rule__ExternMetricDefinition__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3310:1: ( ( ( rule__ExternMetricDefinition__HeadAssignment_2 ) ) ) + // InternalSolverLanguage.g:3311:1: ( ( rule__ExternMetricDefinition__HeadAssignment_2 ) ) + { + // InternalSolverLanguage.g:3311:1: ( ( rule__ExternMetricDefinition__HeadAssignment_2 ) ) + // InternalSolverLanguage.g:3312:2: ( rule__ExternMetricDefinition__HeadAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExternMetricDefinitionAccess().getHeadAssignment_2()); + } + // InternalSolverLanguage.g:3313:2: ( rule__ExternMetricDefinition__HeadAssignment_2 ) + // InternalSolverLanguage.g:3313:3: rule__ExternMetricDefinition__HeadAssignment_2 + { + pushFollow(FOLLOW_2); + rule__ExternMetricDefinition__HeadAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getExternMetricDefinitionAccess().getHeadAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExternMetricDefinition__Group__2__Impl" + + + // $ANTLR start "rule__IfElse__Group__0" + // InternalSolverLanguage.g:3322:1: rule__IfElse__Group__0 : rule__IfElse__Group__0__Impl rule__IfElse__Group__1 ; + public final void rule__IfElse__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3326:1: ( rule__IfElse__Group__0__Impl rule__IfElse__Group__1 ) + // InternalSolverLanguage.g:3327:2: rule__IfElse__Group__0__Impl rule__IfElse__Group__1 + { + pushFollow(FOLLOW_7); + rule__IfElse__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__IfElse__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElse__Group__0" + + + // $ANTLR start "rule__IfElse__Group__0__Impl" + // InternalSolverLanguage.g:3334:1: rule__IfElse__Group__0__Impl : ( 'if' ) ; + public final void rule__IfElse__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3338:1: ( ( 'if' ) ) + // InternalSolverLanguage.g:3339:1: ( 'if' ) + { + // InternalSolverLanguage.g:3339:1: ( 'if' ) + // InternalSolverLanguage.g:3340:2: 'if' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfElseAccess().getIfKeyword_0()); + } + match(input,51,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfElseAccess().getIfKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElse__Group__0__Impl" + + + // $ANTLR start "rule__IfElse__Group__1" + // InternalSolverLanguage.g:3349:1: rule__IfElse__Group__1 : rule__IfElse__Group__1__Impl rule__IfElse__Group__2 ; + public final void rule__IfElse__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3353:1: ( rule__IfElse__Group__1__Impl rule__IfElse__Group__2 ) + // InternalSolverLanguage.g:3354:2: rule__IfElse__Group__1__Impl rule__IfElse__Group__2 + { + pushFollow(FOLLOW_16); + rule__IfElse__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__IfElse__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElse__Group__1" + + + // $ANTLR start "rule__IfElse__Group__1__Impl" + // InternalSolverLanguage.g:3361:1: rule__IfElse__Group__1__Impl : ( ( rule__IfElse__ConditionAssignment_1 ) ) ; + public final void rule__IfElse__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3365:1: ( ( ( rule__IfElse__ConditionAssignment_1 ) ) ) + // InternalSolverLanguage.g:3366:1: ( ( rule__IfElse__ConditionAssignment_1 ) ) + { + // InternalSolverLanguage.g:3366:1: ( ( rule__IfElse__ConditionAssignment_1 ) ) + // InternalSolverLanguage.g:3367:2: ( rule__IfElse__ConditionAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfElseAccess().getConditionAssignment_1()); + } + // InternalSolverLanguage.g:3368:2: ( rule__IfElse__ConditionAssignment_1 ) + // InternalSolverLanguage.g:3368:3: rule__IfElse__ConditionAssignment_1 + { + pushFollow(FOLLOW_2); + rule__IfElse__ConditionAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIfElseAccess().getConditionAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElse__Group__1__Impl" + + + // $ANTLR start "rule__IfElse__Group__2" + // InternalSolverLanguage.g:3376:1: rule__IfElse__Group__2 : rule__IfElse__Group__2__Impl rule__IfElse__Group__3 ; + public final void rule__IfElse__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3380:1: ( rule__IfElse__Group__2__Impl rule__IfElse__Group__3 ) + // InternalSolverLanguage.g:3381:2: rule__IfElse__Group__2__Impl rule__IfElse__Group__3 + { + pushFollow(FOLLOW_7); + rule__IfElse__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__IfElse__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElse__Group__2" + + + // $ANTLR start "rule__IfElse__Group__2__Impl" + // InternalSolverLanguage.g:3388:1: rule__IfElse__Group__2__Impl : ( 'then' ) ; + public final void rule__IfElse__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3392:1: ( ( 'then' ) ) + // InternalSolverLanguage.g:3393:1: ( 'then' ) + { + // InternalSolverLanguage.g:3393:1: ( 'then' ) + // InternalSolverLanguage.g:3394:2: 'then' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfElseAccess().getThenKeyword_2()); + } + match(input,52,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfElseAccess().getThenKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElse__Group__2__Impl" + + + // $ANTLR start "rule__IfElse__Group__3" + // InternalSolverLanguage.g:3403:1: rule__IfElse__Group__3 : rule__IfElse__Group__3__Impl rule__IfElse__Group__4 ; + public final void rule__IfElse__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3407:1: ( rule__IfElse__Group__3__Impl rule__IfElse__Group__4 ) + // InternalSolverLanguage.g:3408:2: rule__IfElse__Group__3__Impl rule__IfElse__Group__4 + { + pushFollow(FOLLOW_17); + rule__IfElse__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__IfElse__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElse__Group__3" + + + // $ANTLR start "rule__IfElse__Group__3__Impl" + // InternalSolverLanguage.g:3415:1: rule__IfElse__Group__3__Impl : ( ( rule__IfElse__ThenAssignment_3 ) ) ; + public final void rule__IfElse__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3419:1: ( ( ( rule__IfElse__ThenAssignment_3 ) ) ) + // InternalSolverLanguage.g:3420:1: ( ( rule__IfElse__ThenAssignment_3 ) ) + { + // InternalSolverLanguage.g:3420:1: ( ( rule__IfElse__ThenAssignment_3 ) ) + // InternalSolverLanguage.g:3421:2: ( rule__IfElse__ThenAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfElseAccess().getThenAssignment_3()); + } + // InternalSolverLanguage.g:3422:2: ( rule__IfElse__ThenAssignment_3 ) + // InternalSolverLanguage.g:3422:3: rule__IfElse__ThenAssignment_3 + { + pushFollow(FOLLOW_2); + rule__IfElse__ThenAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIfElseAccess().getThenAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElse__Group__3__Impl" + + + // $ANTLR start "rule__IfElse__Group__4" + // InternalSolverLanguage.g:3430:1: rule__IfElse__Group__4 : rule__IfElse__Group__4__Impl rule__IfElse__Group__5 ; + public final void rule__IfElse__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3434:1: ( rule__IfElse__Group__4__Impl rule__IfElse__Group__5 ) + // InternalSolverLanguage.g:3435:2: rule__IfElse__Group__4__Impl rule__IfElse__Group__5 + { + pushFollow(FOLLOW_7); + rule__IfElse__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__IfElse__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElse__Group__4" + + + // $ANTLR start "rule__IfElse__Group__4__Impl" + // InternalSolverLanguage.g:3442:1: rule__IfElse__Group__4__Impl : ( 'else' ) ; + public final void rule__IfElse__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3446:1: ( ( 'else' ) ) + // InternalSolverLanguage.g:3447:1: ( 'else' ) + { + // InternalSolverLanguage.g:3447:1: ( 'else' ) + // InternalSolverLanguage.g:3448:2: 'else' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfElseAccess().getElseKeyword_4()); + } + match(input,53,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfElseAccess().getElseKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElse__Group__4__Impl" + + + // $ANTLR start "rule__IfElse__Group__5" + // InternalSolverLanguage.g:3457:1: rule__IfElse__Group__5 : rule__IfElse__Group__5__Impl ; + public final void rule__IfElse__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3461:1: ( rule__IfElse__Group__5__Impl ) + // InternalSolverLanguage.g:3462:2: rule__IfElse__Group__5__Impl + { + pushFollow(FOLLOW_2); + rule__IfElse__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElse__Group__5" + + + // $ANTLR start "rule__IfElse__Group__5__Impl" + // InternalSolverLanguage.g:3468:1: rule__IfElse__Group__5__Impl : ( ( rule__IfElse__ElseAssignment_5 ) ) ; + public final void rule__IfElse__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3472:1: ( ( ( rule__IfElse__ElseAssignment_5 ) ) ) + // InternalSolverLanguage.g:3473:1: ( ( rule__IfElse__ElseAssignment_5 ) ) + { + // InternalSolverLanguage.g:3473:1: ( ( rule__IfElse__ElseAssignment_5 ) ) + // InternalSolverLanguage.g:3474:2: ( rule__IfElse__ElseAssignment_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfElseAccess().getElseAssignment_5()); + } + // InternalSolverLanguage.g:3475:2: ( rule__IfElse__ElseAssignment_5 ) + // InternalSolverLanguage.g:3475:3: rule__IfElse__ElseAssignment_5 + { + pushFollow(FOLLOW_2); + rule__IfElse__ElseAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIfElseAccess().getElseAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElse__Group__5__Impl" + + + // $ANTLR start "rule__DisjunctiveExpression__Group__0" + // InternalSolverLanguage.g:3484:1: rule__DisjunctiveExpression__Group__0 : rule__DisjunctiveExpression__Group__0__Impl rule__DisjunctiveExpression__Group__1 ; + public final void rule__DisjunctiveExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3488:1: ( rule__DisjunctiveExpression__Group__0__Impl rule__DisjunctiveExpression__Group__1 ) + // InternalSolverLanguage.g:3489:2: rule__DisjunctiveExpression__Group__0__Impl rule__DisjunctiveExpression__Group__1 + { + pushFollow(FOLLOW_18); + rule__DisjunctiveExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group__0" + + + // $ANTLR start "rule__DisjunctiveExpression__Group__0__Impl" + // InternalSolverLanguage.g:3496:1: rule__DisjunctiveExpression__Group__0__Impl : ( ruleConjunctiveExpression ) ; + public final void rule__DisjunctiveExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3500:1: ( ( ruleConjunctiveExpression ) ) + // InternalSolverLanguage.g:3501:1: ( ruleConjunctiveExpression ) + { + // InternalSolverLanguage.g:3501:1: ( ruleConjunctiveExpression ) + // InternalSolverLanguage.g:3502:2: ruleConjunctiveExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleConjunctiveExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group__0__Impl" + + + // $ANTLR start "rule__DisjunctiveExpression__Group__1" + // InternalSolverLanguage.g:3511:1: rule__DisjunctiveExpression__Group__1 : rule__DisjunctiveExpression__Group__1__Impl ; + public final void rule__DisjunctiveExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3515:1: ( rule__DisjunctiveExpression__Group__1__Impl ) + // InternalSolverLanguage.g:3516:2: rule__DisjunctiveExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group__1" + + + // $ANTLR start "rule__DisjunctiveExpression__Group__1__Impl" + // InternalSolverLanguage.g:3522:1: rule__DisjunctiveExpression__Group__1__Impl : ( ( rule__DisjunctiveExpression__Alternatives_1 )? ) ; + public final void rule__DisjunctiveExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3526:1: ( ( ( rule__DisjunctiveExpression__Alternatives_1 )? ) ) + // InternalSolverLanguage.g:3527:1: ( ( rule__DisjunctiveExpression__Alternatives_1 )? ) + { + // InternalSolverLanguage.g:3527:1: ( ( rule__DisjunctiveExpression__Alternatives_1 )? ) + // InternalSolverLanguage.g:3528:2: ( rule__DisjunctiveExpression__Alternatives_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getAlternatives_1()); + } + // InternalSolverLanguage.g:3529:2: ( rule__DisjunctiveExpression__Alternatives_1 )? + int alt30=2; + int LA30_0 = input.LA(1); + + if ( ((LA30_0>=54 && LA30_0<=55)) ) { + alt30=1; + } + switch (alt30) { + case 1 : + // InternalSolverLanguage.g:3529:3: rule__DisjunctiveExpression__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group__1__Impl" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_0__0" + // InternalSolverLanguage.g:3538:1: rule__DisjunctiveExpression__Group_1_0__0 : rule__DisjunctiveExpression__Group_1_0__0__Impl rule__DisjunctiveExpression__Group_1_0__1 ; + public final void rule__DisjunctiveExpression__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3542:1: ( rule__DisjunctiveExpression__Group_1_0__0__Impl rule__DisjunctiveExpression__Group_1_0__1 ) + // InternalSolverLanguage.g:3543:2: rule__DisjunctiveExpression__Group_1_0__0__Impl rule__DisjunctiveExpression__Group_1_0__1 + { + pushFollow(FOLLOW_19); + rule__DisjunctiveExpression__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_0__0" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_0__0__Impl" + // InternalSolverLanguage.g:3550:1: rule__DisjunctiveExpression__Group_1_0__0__Impl : ( () ) ; + public final void rule__DisjunctiveExpression__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3554:1: ( ( () ) ) + // InternalSolverLanguage.g:3555:1: ( () ) + { + // InternalSolverLanguage.g:3555:1: ( () ) + // InternalSolverLanguage.g:3556:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0()); + } + // InternalSolverLanguage.g:3557:2: () + // InternalSolverLanguage.g:3557:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_0__0__Impl" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_0__1" + // InternalSolverLanguage.g:3565:1: rule__DisjunctiveExpression__Group_1_0__1 : rule__DisjunctiveExpression__Group_1_0__1__Impl ; + public final void rule__DisjunctiveExpression__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3569:1: ( rule__DisjunctiveExpression__Group_1_0__1__Impl ) + // InternalSolverLanguage.g:3570:2: rule__DisjunctiveExpression__Group_1_0__1__Impl + { + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_0__1" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_0__1__Impl" + // 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 )* ) ) ; + public final void rule__DisjunctiveExpression__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3580:1: ( ( ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) ) ) + // InternalSolverLanguage.g:3581:1: ( ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) ) + { + // InternalSolverLanguage.g:3581:1: ( ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) ) + // InternalSolverLanguage.g:3582:2: ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) + { + // InternalSolverLanguage.g:3582:2: ( ( rule__DisjunctiveExpression__Group_1_0_1__0 ) ) + // InternalSolverLanguage.g:3583:3: ( rule__DisjunctiveExpression__Group_1_0_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1()); + } + // InternalSolverLanguage.g:3584:3: ( rule__DisjunctiveExpression__Group_1_0_1__0 ) + // InternalSolverLanguage.g:3584:4: rule__DisjunctiveExpression__Group_1_0_1__0 + { + pushFollow(FOLLOW_20); + rule__DisjunctiveExpression__Group_1_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1()); + } + + } + + // InternalSolverLanguage.g:3587:2: ( ( rule__DisjunctiveExpression__Group_1_0_1__0 )* ) + // InternalSolverLanguage.g:3588:3: ( rule__DisjunctiveExpression__Group_1_0_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1()); + } + // InternalSolverLanguage.g:3589:3: ( rule__DisjunctiveExpression__Group_1_0_1__0 )* + loop31: + do { + int alt31=2; + int LA31_0 = input.LA(1); + + if ( (LA31_0==54) ) { + alt31=1; + } + + + switch (alt31) { + case 1 : + // InternalSolverLanguage.g:3589:4: rule__DisjunctiveExpression__Group_1_0_1__0 + { + pushFollow(FOLLOW_20); + rule__DisjunctiveExpression__Group_1_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop31; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_0_1()); + } + + } + + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_0__1__Impl" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_0_1__0" + // 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 ; + public final void rule__DisjunctiveExpression__Group_1_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3603:1: ( rule__DisjunctiveExpression__Group_1_0_1__0__Impl rule__DisjunctiveExpression__Group_1_0_1__1 ) + // InternalSolverLanguage.g:3604:2: rule__DisjunctiveExpression__Group_1_0_1__0__Impl rule__DisjunctiveExpression__Group_1_0_1__1 + { + pushFollow(FOLLOW_7); + rule__DisjunctiveExpression__Group_1_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__Group_1_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_0_1__0" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_0_1__0__Impl" + // InternalSolverLanguage.g:3611:1: rule__DisjunctiveExpression__Group_1_0_1__0__Impl : ( ';' ) ; + public final void rule__DisjunctiveExpression__Group_1_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3615:1: ( ( ';' ) ) + // InternalSolverLanguage.g:3616:1: ( ';' ) + { + // InternalSolverLanguage.g:3616:1: ( ';' ) + // InternalSolverLanguage.g:3617:2: ';' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); + } + match(input,54,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_0_1__0__Impl" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_0_1__1" + // InternalSolverLanguage.g:3626:1: rule__DisjunctiveExpression__Group_1_0_1__1 : rule__DisjunctiveExpression__Group_1_0_1__1__Impl ; + public final void rule__DisjunctiveExpression__Group_1_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3630:1: ( rule__DisjunctiveExpression__Group_1_0_1__1__Impl ) + // InternalSolverLanguage.g:3631:2: rule__DisjunctiveExpression__Group_1_0_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__Group_1_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_0_1__1" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_0_1__1__Impl" + // InternalSolverLanguage.g:3637:1: rule__DisjunctiveExpression__Group_1_0_1__1__Impl : ( ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) ) ; + public final void rule__DisjunctiveExpression__Group_1_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3641:1: ( ( ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) ) ) + // InternalSolverLanguage.g:3642:1: ( ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) ) + { + // InternalSolverLanguage.g:3642:1: ( ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) ) + // InternalSolverLanguage.g:3643:2: ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getChildrenAssignment_1_0_1_1()); + } + // InternalSolverLanguage.g:3644:2: ( rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 ) + // InternalSolverLanguage.g:3644:3: rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 + { + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getChildrenAssignment_1_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_0_1__1__Impl" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__0" + // InternalSolverLanguage.g:3653:1: rule__DisjunctiveExpression__Group_1_1__0 : rule__DisjunctiveExpression__Group_1_1__0__Impl rule__DisjunctiveExpression__Group_1_1__1 ; + public final void rule__DisjunctiveExpression__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3657:1: ( rule__DisjunctiveExpression__Group_1_1__0__Impl rule__DisjunctiveExpression__Group_1_1__1 ) + // InternalSolverLanguage.g:3658:2: rule__DisjunctiveExpression__Group_1_1__0__Impl rule__DisjunctiveExpression__Group_1_1__1 + { + pushFollow(FOLLOW_18); + rule__DisjunctiveExpression__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__0" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__0__Impl" + // InternalSolverLanguage.g:3665:1: rule__DisjunctiveExpression__Group_1_1__0__Impl : ( () ) ; + public final void rule__DisjunctiveExpression__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3669:1: ( ( () ) ) + // InternalSolverLanguage.g:3670:1: ( () ) + { + // InternalSolverLanguage.g:3670:1: ( () ) + // InternalSolverLanguage.g:3671:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0()); + } + // InternalSolverLanguage.g:3672:2: () + // InternalSolverLanguage.g:3672:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__0__Impl" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__1" + // InternalSolverLanguage.g:3680:1: rule__DisjunctiveExpression__Group_1_1__1 : rule__DisjunctiveExpression__Group_1_1__1__Impl rule__DisjunctiveExpression__Group_1_1__2 ; + public final void rule__DisjunctiveExpression__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3684:1: ( rule__DisjunctiveExpression__Group_1_1__1__Impl rule__DisjunctiveExpression__Group_1_1__2 ) + // InternalSolverLanguage.g:3685:2: rule__DisjunctiveExpression__Group_1_1__1__Impl rule__DisjunctiveExpression__Group_1_1__2 + { + pushFollow(FOLLOW_7); + rule__DisjunctiveExpression__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__Group_1_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__1" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__1__Impl" + // InternalSolverLanguage.g:3692:1: rule__DisjunctiveExpression__Group_1_1__1__Impl : ( '->' ) ; + public final void rule__DisjunctiveExpression__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3696:1: ( ( '->' ) ) + // InternalSolverLanguage.g:3697:1: ( '->' ) + { + // InternalSolverLanguage.g:3697:1: ( '->' ) + // InternalSolverLanguage.g:3698:2: '->' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); + } + match(input,55,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__1__Impl" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__2" + // InternalSolverLanguage.g:3707:1: rule__DisjunctiveExpression__Group_1_1__2 : rule__DisjunctiveExpression__Group_1_1__2__Impl rule__DisjunctiveExpression__Group_1_1__3 ; + public final void rule__DisjunctiveExpression__Group_1_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3711:1: ( rule__DisjunctiveExpression__Group_1_1__2__Impl rule__DisjunctiveExpression__Group_1_1__3 ) + // InternalSolverLanguage.g:3712:2: rule__DisjunctiveExpression__Group_1_1__2__Impl rule__DisjunctiveExpression__Group_1_1__3 + { + pushFollow(FOLLOW_19); + rule__DisjunctiveExpression__Group_1_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__Group_1_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__2" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__2__Impl" + // InternalSolverLanguage.g:3719:1: rule__DisjunctiveExpression__Group_1_1__2__Impl : ( ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) ) ; + public final void rule__DisjunctiveExpression__Group_1_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3723:1: ( ( ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) ) ) + // InternalSolverLanguage.g:3724:1: ( ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) ) + { + // InternalSolverLanguage.g:3724:1: ( ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) ) + // InternalSolverLanguage.g:3725:2: ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getBodyAssignment_1_1_2()); + } + // InternalSolverLanguage.g:3726:2: ( rule__DisjunctiveExpression__BodyAssignment_1_1_2 ) + // InternalSolverLanguage.g:3726:3: rule__DisjunctiveExpression__BodyAssignment_1_1_2 + { + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__BodyAssignment_1_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getBodyAssignment_1_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__2__Impl" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__3" + // InternalSolverLanguage.g:3734:1: rule__DisjunctiveExpression__Group_1_1__3 : rule__DisjunctiveExpression__Group_1_1__3__Impl rule__DisjunctiveExpression__Group_1_1__4 ; + public final void rule__DisjunctiveExpression__Group_1_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3738:1: ( rule__DisjunctiveExpression__Group_1_1__3__Impl rule__DisjunctiveExpression__Group_1_1__4 ) + // InternalSolverLanguage.g:3739:2: rule__DisjunctiveExpression__Group_1_1__3__Impl rule__DisjunctiveExpression__Group_1_1__4 + { + pushFollow(FOLLOW_19); + rule__DisjunctiveExpression__Group_1_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__Group_1_1__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__3" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__3__Impl" + // InternalSolverLanguage.g:3746:1: rule__DisjunctiveExpression__Group_1_1__3__Impl : ( () ) ; + public final void rule__DisjunctiveExpression__Group_1_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3750:1: ( ( () ) ) + // InternalSolverLanguage.g:3751:1: ( () ) + { + // InternalSolverLanguage.g:3751:1: ( () ) + // InternalSolverLanguage.g:3752:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3()); + } + // InternalSolverLanguage.g:3753:2: () + // InternalSolverLanguage.g:3753:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__3__Impl" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__4" + // InternalSolverLanguage.g:3761:1: rule__DisjunctiveExpression__Group_1_1__4 : rule__DisjunctiveExpression__Group_1_1__4__Impl ; + public final void rule__DisjunctiveExpression__Group_1_1__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3765:1: ( rule__DisjunctiveExpression__Group_1_1__4__Impl ) + // InternalSolverLanguage.g:3766:2: rule__DisjunctiveExpression__Group_1_1__4__Impl + { + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__Group_1_1__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__4" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_1__4__Impl" + // InternalSolverLanguage.g:3772:1: rule__DisjunctiveExpression__Group_1_1__4__Impl : ( ( rule__DisjunctiveExpression__Group_1_1_4__0 )* ) ; + public final void rule__DisjunctiveExpression__Group_1_1__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3776:1: ( ( ( rule__DisjunctiveExpression__Group_1_1_4__0 )* ) ) + // InternalSolverLanguage.g:3777:1: ( ( rule__DisjunctiveExpression__Group_1_1_4__0 )* ) + { + // InternalSolverLanguage.g:3777:1: ( ( rule__DisjunctiveExpression__Group_1_1_4__0 )* ) + // InternalSolverLanguage.g:3778:2: ( rule__DisjunctiveExpression__Group_1_1_4__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1_4()); + } + // InternalSolverLanguage.g:3779:2: ( rule__DisjunctiveExpression__Group_1_1_4__0 )* + loop32: + do { + int alt32=2; + int LA32_0 = input.LA(1); + + if ( (LA32_0==54) ) { + alt32=1; + } + + + switch (alt32) { + case 1 : + // InternalSolverLanguage.g:3779:3: rule__DisjunctiveExpression__Group_1_1_4__0 + { + pushFollow(FOLLOW_20); + rule__DisjunctiveExpression__Group_1_1_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop32; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getGroup_1_1_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_1__4__Impl" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_1_4__0" + // 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 ; + public final void rule__DisjunctiveExpression__Group_1_1_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3792:1: ( rule__DisjunctiveExpression__Group_1_1_4__0__Impl rule__DisjunctiveExpression__Group_1_1_4__1 ) + // InternalSolverLanguage.g:3793:2: rule__DisjunctiveExpression__Group_1_1_4__0__Impl rule__DisjunctiveExpression__Group_1_1_4__1 + { + pushFollow(FOLLOW_7); + rule__DisjunctiveExpression__Group_1_1_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__Group_1_1_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_1_4__0" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_1_4__0__Impl" + // InternalSolverLanguage.g:3800:1: rule__DisjunctiveExpression__Group_1_1_4__0__Impl : ( ';' ) ; + public final void rule__DisjunctiveExpression__Group_1_1_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3804:1: ( ( ';' ) ) + // InternalSolverLanguage.g:3805:1: ( ';' ) + { + // InternalSolverLanguage.g:3805:1: ( ';' ) + // InternalSolverLanguage.g:3806:2: ';' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); + } + match(input,54,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_1_4__0__Impl" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_1_4__1" + // InternalSolverLanguage.g:3815:1: rule__DisjunctiveExpression__Group_1_1_4__1 : rule__DisjunctiveExpression__Group_1_1_4__1__Impl ; + public final void rule__DisjunctiveExpression__Group_1_1_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3819:1: ( rule__DisjunctiveExpression__Group_1_1_4__1__Impl ) + // InternalSolverLanguage.g:3820:2: rule__DisjunctiveExpression__Group_1_1_4__1__Impl + { + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__Group_1_1_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_1_4__1" + + + // $ANTLR start "rule__DisjunctiveExpression__Group_1_1_4__1__Impl" + // InternalSolverLanguage.g:3826:1: rule__DisjunctiveExpression__Group_1_1_4__1__Impl : ( ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) ) ; + public final void rule__DisjunctiveExpression__Group_1_1_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3830:1: ( ( ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) ) ) + // InternalSolverLanguage.g:3831:1: ( ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) ) + { + // InternalSolverLanguage.g:3831:1: ( ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) ) + // InternalSolverLanguage.g:3832:2: ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getCasesAssignment_1_1_4_1()); + } + // InternalSolverLanguage.g:3833:2: ( rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 ) + // InternalSolverLanguage.g:3833:3: rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 + { + pushFollow(FOLLOW_2); + rule__DisjunctiveExpression__CasesAssignment_1_1_4_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getCasesAssignment_1_1_4_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DisjunctiveExpression__Group_1_1_4__1__Impl" + + + // $ANTLR start "rule__Case__Group__0" + // InternalSolverLanguage.g:3842:1: rule__Case__Group__0 : rule__Case__Group__0__Impl rule__Case__Group__1 ; + public final void rule__Case__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3846:1: ( rule__Case__Group__0__Impl rule__Case__Group__1 ) + // InternalSolverLanguage.g:3847:2: rule__Case__Group__0__Impl rule__Case__Group__1 + { + pushFollow(FOLLOW_21); + rule__Case__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Case__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Case__Group__0" + + + // $ANTLR start "rule__Case__Group__0__Impl" + // InternalSolverLanguage.g:3854:1: rule__Case__Group__0__Impl : ( ( rule__Case__ConditionAssignment_0 ) ) ; + public final void rule__Case__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3858:1: ( ( ( rule__Case__ConditionAssignment_0 ) ) ) + // InternalSolverLanguage.g:3859:1: ( ( rule__Case__ConditionAssignment_0 ) ) + { + // InternalSolverLanguage.g:3859:1: ( ( rule__Case__ConditionAssignment_0 ) ) + // InternalSolverLanguage.g:3860:2: ( rule__Case__ConditionAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseAccess().getConditionAssignment_0()); + } + // InternalSolverLanguage.g:3861:2: ( rule__Case__ConditionAssignment_0 ) + // InternalSolverLanguage.g:3861:3: rule__Case__ConditionAssignment_0 + { + pushFollow(FOLLOW_2); + rule__Case__ConditionAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseAccess().getConditionAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Case__Group__0__Impl" + + + // $ANTLR start "rule__Case__Group__1" + // InternalSolverLanguage.g:3869:1: rule__Case__Group__1 : rule__Case__Group__1__Impl rule__Case__Group__2 ; + public final void rule__Case__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3873:1: ( rule__Case__Group__1__Impl rule__Case__Group__2 ) + // InternalSolverLanguage.g:3874:2: rule__Case__Group__1__Impl rule__Case__Group__2 + { + pushFollow(FOLLOW_7); + rule__Case__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Case__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Case__Group__1" + + + // $ANTLR start "rule__Case__Group__1__Impl" + // InternalSolverLanguage.g:3881:1: rule__Case__Group__1__Impl : ( '->' ) ; + public final void rule__Case__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3885:1: ( ( '->' ) ) + // InternalSolverLanguage.g:3886:1: ( '->' ) + { + // InternalSolverLanguage.g:3886:1: ( '->' ) + // InternalSolverLanguage.g:3887:2: '->' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); + } + match(input,55,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Case__Group__1__Impl" + + + // $ANTLR start "rule__Case__Group__2" + // InternalSolverLanguage.g:3896:1: rule__Case__Group__2 : rule__Case__Group__2__Impl ; + public final void rule__Case__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3900:1: ( rule__Case__Group__2__Impl ) + // InternalSolverLanguage.g:3901:2: rule__Case__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__Case__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Case__Group__2" + + + // $ANTLR start "rule__Case__Group__2__Impl" + // InternalSolverLanguage.g:3907:1: rule__Case__Group__2__Impl : ( ( rule__Case__BodyAssignment_2 ) ) ; + public final void rule__Case__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3911:1: ( ( ( rule__Case__BodyAssignment_2 ) ) ) + // InternalSolverLanguage.g:3912:1: ( ( rule__Case__BodyAssignment_2 ) ) + { + // InternalSolverLanguage.g:3912:1: ( ( rule__Case__BodyAssignment_2 ) ) + // InternalSolverLanguage.g:3913:2: ( rule__Case__BodyAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseAccess().getBodyAssignment_2()); + } + // InternalSolverLanguage.g:3914:2: ( rule__Case__BodyAssignment_2 ) + // InternalSolverLanguage.g:3914:3: rule__Case__BodyAssignment_2 + { + pushFollow(FOLLOW_2); + rule__Case__BodyAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseAccess().getBodyAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Case__Group__2__Impl" + + + // $ANTLR start "rule__ConjunctiveExpression__Group__0" + // InternalSolverLanguage.g:3923:1: rule__ConjunctiveExpression__Group__0 : rule__ConjunctiveExpression__Group__0__Impl rule__ConjunctiveExpression__Group__1 ; + public final void rule__ConjunctiveExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3927:1: ( rule__ConjunctiveExpression__Group__0__Impl rule__ConjunctiveExpression__Group__1 ) + // InternalSolverLanguage.g:3928:2: rule__ConjunctiveExpression__Group__0__Impl rule__ConjunctiveExpression__Group__1 + { + pushFollow(FOLLOW_22); + rule__ConjunctiveExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ConjunctiveExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConjunctiveExpression__Group__0" + + + // $ANTLR start "rule__ConjunctiveExpression__Group__0__Impl" + // InternalSolverLanguage.g:3935:1: rule__ConjunctiveExpression__Group__0__Impl : ( ruleComparisonExpression ) ; + public final void rule__ConjunctiveExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3939:1: ( ( ruleComparisonExpression ) ) + // InternalSolverLanguage.g:3940:1: ( ruleComparisonExpression ) + { + // InternalSolverLanguage.g:3940:1: ( ruleComparisonExpression ) + // InternalSolverLanguage.g:3941:2: ruleComparisonExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleComparisonExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConjunctiveExpression__Group__0__Impl" + + + // $ANTLR start "rule__ConjunctiveExpression__Group__1" + // InternalSolverLanguage.g:3950:1: rule__ConjunctiveExpression__Group__1 : rule__ConjunctiveExpression__Group__1__Impl ; + public final void rule__ConjunctiveExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3954:1: ( rule__ConjunctiveExpression__Group__1__Impl ) + // InternalSolverLanguage.g:3955:2: rule__ConjunctiveExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__ConjunctiveExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConjunctiveExpression__Group__1" + + + // $ANTLR start "rule__ConjunctiveExpression__Group__1__Impl" + // InternalSolverLanguage.g:3961:1: rule__ConjunctiveExpression__Group__1__Impl : ( ( rule__ConjunctiveExpression__Group_1__0 )? ) ; + public final void rule__ConjunctiveExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3965:1: ( ( ( rule__ConjunctiveExpression__Group_1__0 )? ) ) + // InternalSolverLanguage.g:3966:1: ( ( rule__ConjunctiveExpression__Group_1__0 )? ) + { + // InternalSolverLanguage.g:3966:1: ( ( rule__ConjunctiveExpression__Group_1__0 )? ) + // InternalSolverLanguage.g:3967:2: ( rule__ConjunctiveExpression__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1()); + } + // InternalSolverLanguage.g:3968:2: ( rule__ConjunctiveExpression__Group_1__0 )? + int alt33=2; + int LA33_0 = input.LA(1); + + if ( (LA33_0==56) ) { + alt33=1; + } + switch (alt33) { + case 1 : + // InternalSolverLanguage.g:3968:3: rule__ConjunctiveExpression__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__ConjunctiveExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; } break; - case 3 : - // InternalSolverLanguage.g:1211:2: ( ( rule__TruthValue__Group_2__0 ) ) - { - // InternalSolverLanguage.g:1211:2: ( ( rule__TruthValue__Group_2__0 ) ) - // InternalSolverLanguage.g:1212:3: ( rule__TruthValue__Group_2__0 ) - { - before(grammarAccess.getTruthValueAccess().getGroup_2()); - // InternalSolverLanguage.g:1213:3: ( rule__TruthValue__Group_2__0 ) - // InternalSolverLanguage.g:1213:4: rule__TruthValue__Group_2__0 + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctiveExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConjunctiveExpression__Group__1__Impl" + + + // $ANTLR start "rule__ConjunctiveExpression__Group_1__0" + // InternalSolverLanguage.g:3977:1: rule__ConjunctiveExpression__Group_1__0 : rule__ConjunctiveExpression__Group_1__0__Impl rule__ConjunctiveExpression__Group_1__1 ; + public final void rule__ConjunctiveExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3981:1: ( rule__ConjunctiveExpression__Group_1__0__Impl rule__ConjunctiveExpression__Group_1__1 ) + // InternalSolverLanguage.g:3982:2: rule__ConjunctiveExpression__Group_1__0__Impl rule__ConjunctiveExpression__Group_1__1 + { + pushFollow(FOLLOW_22); + rule__ConjunctiveExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ConjunctiveExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConjunctiveExpression__Group_1__0" + + + // $ANTLR start "rule__ConjunctiveExpression__Group_1__0__Impl" + // InternalSolverLanguage.g:3989:1: rule__ConjunctiveExpression__Group_1__0__Impl : ( () ) ; + public final void rule__ConjunctiveExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:3993:1: ( ( () ) ) + // InternalSolverLanguage.g:3994:1: ( () ) + { + // InternalSolverLanguage.g:3994:1: ( () ) + // InternalSolverLanguage.g:3995:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0()); + } + // InternalSolverLanguage.g:3996:2: () + // InternalSolverLanguage.g:3996:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConjunctiveExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__ConjunctiveExpression__Group_1__1" + // InternalSolverLanguage.g:4004:1: rule__ConjunctiveExpression__Group_1__1 : rule__ConjunctiveExpression__Group_1__1__Impl ; + public final void rule__ConjunctiveExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4008:1: ( rule__ConjunctiveExpression__Group_1__1__Impl ) + // InternalSolverLanguage.g:4009:2: rule__ConjunctiveExpression__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__ConjunctiveExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConjunctiveExpression__Group_1__1" + + + // $ANTLR start "rule__ConjunctiveExpression__Group_1__1__Impl" + // InternalSolverLanguage.g:4015:1: rule__ConjunctiveExpression__Group_1__1__Impl : ( ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) ) ; + public final void rule__ConjunctiveExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4019:1: ( ( ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) ) ) + // InternalSolverLanguage.g:4020:1: ( ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) ) + { + // InternalSolverLanguage.g:4020:1: ( ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) ) + // InternalSolverLanguage.g:4021:2: ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) + { + // InternalSolverLanguage.g:4021:2: ( ( rule__ConjunctiveExpression__Group_1_1__0 ) ) + // InternalSolverLanguage.g:4022:3: ( rule__ConjunctiveExpression__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1()); + } + // InternalSolverLanguage.g:4023:3: ( rule__ConjunctiveExpression__Group_1_1__0 ) + // InternalSolverLanguage.g:4023:4: rule__ConjunctiveExpression__Group_1_1__0 + { + pushFollow(FOLLOW_23); + rule__ConjunctiveExpression__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1()); + } + + } + + // InternalSolverLanguage.g:4026:2: ( ( rule__ConjunctiveExpression__Group_1_1__0 )* ) + // InternalSolverLanguage.g:4027:3: ( rule__ConjunctiveExpression__Group_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1()); + } + // InternalSolverLanguage.g:4028:3: ( rule__ConjunctiveExpression__Group_1_1__0 )* + loop34: + do { + int alt34=2; + int LA34_0 = input.LA(1); + + if ( (LA34_0==56) ) { + alt34=1; + } + + + switch (alt34) { + case 1 : + // InternalSolverLanguage.g:4028:4: rule__ConjunctiveExpression__Group_1_1__0 + { + pushFollow(FOLLOW_23); + rule__ConjunctiveExpression__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop34; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctiveExpressionAccess().getGroup_1_1()); + } + + } + + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConjunctiveExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__ConjunctiveExpression__Group_1_1__0" + // InternalSolverLanguage.g:4038:1: rule__ConjunctiveExpression__Group_1_1__0 : rule__ConjunctiveExpression__Group_1_1__0__Impl rule__ConjunctiveExpression__Group_1_1__1 ; + public final void rule__ConjunctiveExpression__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4042:1: ( rule__ConjunctiveExpression__Group_1_1__0__Impl rule__ConjunctiveExpression__Group_1_1__1 ) + // InternalSolverLanguage.g:4043:2: rule__ConjunctiveExpression__Group_1_1__0__Impl rule__ConjunctiveExpression__Group_1_1__1 + { + pushFollow(FOLLOW_7); + rule__ConjunctiveExpression__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ConjunctiveExpression__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConjunctiveExpression__Group_1_1__0" + + + // $ANTLR start "rule__ConjunctiveExpression__Group_1_1__0__Impl" + // InternalSolverLanguage.g:4050:1: rule__ConjunctiveExpression__Group_1_1__0__Impl : ( ',' ) ; + public final void rule__ConjunctiveExpression__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4054:1: ( ( ',' ) ) + // InternalSolverLanguage.g:4055:1: ( ',' ) + { + // InternalSolverLanguage.g:4055:1: ( ',' ) + // InternalSolverLanguage.g:4056:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); + } + match(input,56,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConjunctiveExpression__Group_1_1__0__Impl" + + + // $ANTLR start "rule__ConjunctiveExpression__Group_1_1__1" + // InternalSolverLanguage.g:4065:1: rule__ConjunctiveExpression__Group_1_1__1 : rule__ConjunctiveExpression__Group_1_1__1__Impl ; + public final void rule__ConjunctiveExpression__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4069:1: ( rule__ConjunctiveExpression__Group_1_1__1__Impl ) + // InternalSolverLanguage.g:4070:2: rule__ConjunctiveExpression__Group_1_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__ConjunctiveExpression__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConjunctiveExpression__Group_1_1__1" + + + // $ANTLR start "rule__ConjunctiveExpression__Group_1_1__1__Impl" + // InternalSolverLanguage.g:4076:1: rule__ConjunctiveExpression__Group_1_1__1__Impl : ( ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) ) ; + public final void rule__ConjunctiveExpression__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4080:1: ( ( ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) ) ) + // InternalSolverLanguage.g:4081:1: ( ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) ) + { + // InternalSolverLanguage.g:4081:1: ( ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) ) + // InternalSolverLanguage.g:4082:2: ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctiveExpressionAccess().getChildrenAssignment_1_1_1()); + } + // InternalSolverLanguage.g:4083:2: ( rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 ) + // InternalSolverLanguage.g:4083:3: rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 + { + pushFollow(FOLLOW_2); + rule__ConjunctiveExpression__ChildrenAssignment_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctiveExpressionAccess().getChildrenAssignment_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConjunctiveExpression__Group_1_1__1__Impl" + + + // $ANTLR start "rule__ComparisonExpression__Group__0" + // InternalSolverLanguage.g:4092:1: rule__ComparisonExpression__Group__0 : rule__ComparisonExpression__Group__0__Impl rule__ComparisonExpression__Group__1 ; + public final void rule__ComparisonExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4096:1: ( rule__ComparisonExpression__Group__0__Impl rule__ComparisonExpression__Group__1 ) + // InternalSolverLanguage.g:4097:2: rule__ComparisonExpression__Group__0__Impl rule__ComparisonExpression__Group__1 + { + pushFollow(FOLLOW_24); + rule__ComparisonExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ComparisonExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonExpression__Group__0" + + + // $ANTLR start "rule__ComparisonExpression__Group__0__Impl" + // InternalSolverLanguage.g:4104:1: rule__ComparisonExpression__Group__0__Impl : ( ruleAdditiveExpression ) ; + public final void rule__ComparisonExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4108:1: ( ( ruleAdditiveExpression ) ) + // InternalSolverLanguage.g:4109:1: ( ruleAdditiveExpression ) + { + // InternalSolverLanguage.g:4109:1: ( ruleAdditiveExpression ) + // InternalSolverLanguage.g:4110:2: ruleAdditiveExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleAdditiveExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonExpression__Group__0__Impl" + + + // $ANTLR start "rule__ComparisonExpression__Group__1" + // InternalSolverLanguage.g:4119:1: rule__ComparisonExpression__Group__1 : rule__ComparisonExpression__Group__1__Impl ; + public final void rule__ComparisonExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4123:1: ( rule__ComparisonExpression__Group__1__Impl ) + // InternalSolverLanguage.g:4124:2: rule__ComparisonExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__ComparisonExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonExpression__Group__1" + + + // $ANTLR start "rule__ComparisonExpression__Group__1__Impl" + // InternalSolverLanguage.g:4130:1: rule__ComparisonExpression__Group__1__Impl : ( ( rule__ComparisonExpression__Group_1__0 )? ) ; + public final void rule__ComparisonExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4134:1: ( ( ( rule__ComparisonExpression__Group_1__0 )? ) ) + // InternalSolverLanguage.g:4135:1: ( ( rule__ComparisonExpression__Group_1__0 )? ) + { + // InternalSolverLanguage.g:4135:1: ( ( rule__ComparisonExpression__Group_1__0 )? ) + // InternalSolverLanguage.g:4136:2: ( rule__ComparisonExpression__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonExpressionAccess().getGroup_1()); + } + // InternalSolverLanguage.g:4137:2: ( rule__ComparisonExpression__Group_1__0 )? + int alt35=2; + int LA35_0 = input.LA(1); + + if ( ((LA35_0>=19 && LA35_0<=25)) ) { + alt35=1; + } + switch (alt35) { + case 1 : + // InternalSolverLanguage.g:4137:3: rule__ComparisonExpression__Group_1__0 { pushFollow(FOLLOW_2); - rule__TruthValue__Group_2__0(); + rule__ComparisonExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonExpression__Group__1__Impl" + + + // $ANTLR start "rule__ComparisonExpression__Group_1__0" + // InternalSolverLanguage.g:4146:1: rule__ComparisonExpression__Group_1__0 : rule__ComparisonExpression__Group_1__0__Impl rule__ComparisonExpression__Group_1__1 ; + public final void rule__ComparisonExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4150:1: ( rule__ComparisonExpression__Group_1__0__Impl rule__ComparisonExpression__Group_1__1 ) + // InternalSolverLanguage.g:4151:2: rule__ComparisonExpression__Group_1__0__Impl rule__ComparisonExpression__Group_1__1 + { + pushFollow(FOLLOW_24); + rule__ComparisonExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ComparisonExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonExpression__Group_1__0" + + + // $ANTLR start "rule__ComparisonExpression__Group_1__0__Impl" + // InternalSolverLanguage.g:4158:1: rule__ComparisonExpression__Group_1__0__Impl : ( () ) ; + public final void rule__ComparisonExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4162:1: ( ( () ) ) + // InternalSolverLanguage.g:4163:1: ( () ) + { + // InternalSolverLanguage.g:4163:1: ( () ) + // InternalSolverLanguage.g:4164:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0()); + } + // InternalSolverLanguage.g:4165:2: () + // InternalSolverLanguage.g:4165:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__ComparisonExpression__Group_1__1" + // InternalSolverLanguage.g:4173:1: rule__ComparisonExpression__Group_1__1 : rule__ComparisonExpression__Group_1__1__Impl rule__ComparisonExpression__Group_1__2 ; + public final void rule__ComparisonExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4177:1: ( rule__ComparisonExpression__Group_1__1__Impl rule__ComparisonExpression__Group_1__2 ) + // InternalSolverLanguage.g:4178:2: rule__ComparisonExpression__Group_1__1__Impl rule__ComparisonExpression__Group_1__2 + { + pushFollow(FOLLOW_7); + rule__ComparisonExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ComparisonExpression__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonExpression__Group_1__1" + + + // $ANTLR start "rule__ComparisonExpression__Group_1__1__Impl" + // InternalSolverLanguage.g:4185:1: rule__ComparisonExpression__Group_1__1__Impl : ( ( rule__ComparisonExpression__OpAssignment_1_1 ) ) ; + public final void rule__ComparisonExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4189:1: ( ( ( rule__ComparisonExpression__OpAssignment_1_1 ) ) ) + // InternalSolverLanguage.g:4190:1: ( ( rule__ComparisonExpression__OpAssignment_1_1 ) ) + { + // InternalSolverLanguage.g:4190:1: ( ( rule__ComparisonExpression__OpAssignment_1_1 ) ) + // InternalSolverLanguage.g:4191:2: ( rule__ComparisonExpression__OpAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonExpressionAccess().getOpAssignment_1_1()); + } + // InternalSolverLanguage.g:4192:2: ( rule__ComparisonExpression__OpAssignment_1_1 ) + // InternalSolverLanguage.g:4192:3: rule__ComparisonExpression__OpAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__ComparisonExpression__OpAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonExpressionAccess().getOpAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__ComparisonExpression__Group_1__2" + // InternalSolverLanguage.g:4200:1: rule__ComparisonExpression__Group_1__2 : rule__ComparisonExpression__Group_1__2__Impl ; + public final void rule__ComparisonExpression__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4204:1: ( rule__ComparisonExpression__Group_1__2__Impl ) + // InternalSolverLanguage.g:4205:2: rule__ComparisonExpression__Group_1__2__Impl + { + pushFollow(FOLLOW_2); + rule__ComparisonExpression__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonExpression__Group_1__2" + + + // $ANTLR start "rule__ComparisonExpression__Group_1__2__Impl" + // InternalSolverLanguage.g:4211:1: rule__ComparisonExpression__Group_1__2__Impl : ( ( rule__ComparisonExpression__RightAssignment_1_2 ) ) ; + public final void rule__ComparisonExpression__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4215:1: ( ( ( rule__ComparisonExpression__RightAssignment_1_2 ) ) ) + // InternalSolverLanguage.g:4216:1: ( ( rule__ComparisonExpression__RightAssignment_1_2 ) ) + { + // InternalSolverLanguage.g:4216:1: ( ( rule__ComparisonExpression__RightAssignment_1_2 ) ) + // InternalSolverLanguage.g:4217:2: ( rule__ComparisonExpression__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonExpressionAccess().getRightAssignment_1_2()); + } + // InternalSolverLanguage.g:4218:2: ( rule__ComparisonExpression__RightAssignment_1_2 ) + // InternalSolverLanguage.g:4218:3: rule__ComparisonExpression__RightAssignment_1_2 + { + pushFollow(FOLLOW_2); + rule__ComparisonExpression__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonExpressionAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonExpression__Group_1__2__Impl" + + + // $ANTLR start "rule__AdditiveExpression__Group__0" + // InternalSolverLanguage.g:4227:1: rule__AdditiveExpression__Group__0 : rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ; + public final void rule__AdditiveExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4231:1: ( rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ) + // InternalSolverLanguage.g:4232:2: rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 + { + pushFollow(FOLLOW_25); + rule__AdditiveExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__AdditiveExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveExpression__Group__0" + + + // $ANTLR start "rule__AdditiveExpression__Group__0__Impl" + // InternalSolverLanguage.g:4239:1: rule__AdditiveExpression__Group__0__Impl : ( ruleMultiplicativeExpression ) ; + public final void rule__AdditiveExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4243:1: ( ( ruleMultiplicativeExpression ) ) + // InternalSolverLanguage.g:4244:1: ( ruleMultiplicativeExpression ) + { + // InternalSolverLanguage.g:4244:1: ( ruleMultiplicativeExpression ) + // InternalSolverLanguage.g:4245:2: ruleMultiplicativeExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleMultiplicativeExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveExpression__Group__0__Impl" + + + // $ANTLR start "rule__AdditiveExpression__Group__1" + // InternalSolverLanguage.g:4254:1: rule__AdditiveExpression__Group__1 : rule__AdditiveExpression__Group__1__Impl ; + public final void rule__AdditiveExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4258:1: ( rule__AdditiveExpression__Group__1__Impl ) + // InternalSolverLanguage.g:4259:2: rule__AdditiveExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__AdditiveExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveExpression__Group__1" + + + // $ANTLR start "rule__AdditiveExpression__Group__1__Impl" + // InternalSolverLanguage.g:4265:1: rule__AdditiveExpression__Group__1__Impl : ( ( rule__AdditiveExpression__Group_1__0 )* ) ; + public final void rule__AdditiveExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4269:1: ( ( ( rule__AdditiveExpression__Group_1__0 )* ) ) + // InternalSolverLanguage.g:4270:1: ( ( rule__AdditiveExpression__Group_1__0 )* ) + { + // InternalSolverLanguage.g:4270:1: ( ( rule__AdditiveExpression__Group_1__0 )* ) + // InternalSolverLanguage.g:4271:2: ( rule__AdditiveExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); + } + // InternalSolverLanguage.g:4272:2: ( rule__AdditiveExpression__Group_1__0 )* + loop36: + do { + int alt36=2; + int LA36_0 = input.LA(1); + + if ( ((LA36_0>=26 && LA36_0<=27)) ) { + alt36=1; + } + + + switch (alt36) { + case 1 : + // InternalSolverLanguage.g:4272:3: rule__AdditiveExpression__Group_1__0 + { + pushFollow(FOLLOW_26); + rule__AdditiveExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop36; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveExpression__Group__1__Impl" + + + // $ANTLR start "rule__AdditiveExpression__Group_1__0" + // InternalSolverLanguage.g:4281:1: rule__AdditiveExpression__Group_1__0 : rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ; + public final void rule__AdditiveExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4285:1: ( rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ) + // InternalSolverLanguage.g:4286:2: rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 + { + pushFollow(FOLLOW_25); + rule__AdditiveExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__AdditiveExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveExpression__Group_1__0" + + + // $ANTLR start "rule__AdditiveExpression__Group_1__0__Impl" + // InternalSolverLanguage.g:4293:1: rule__AdditiveExpression__Group_1__0__Impl : ( () ) ; + public final void rule__AdditiveExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4297:1: ( ( () ) ) + // InternalSolverLanguage.g:4298:1: ( () ) + { + // InternalSolverLanguage.g:4298:1: ( () ) + // InternalSolverLanguage.g:4299:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0()); + } + // InternalSolverLanguage.g:4300:2: () + // InternalSolverLanguage.g:4300:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__AdditiveExpression__Group_1__1" + // InternalSolverLanguage.g:4308:1: rule__AdditiveExpression__Group_1__1 : rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ; + public final void rule__AdditiveExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4312:1: ( rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ) + // InternalSolverLanguage.g:4313:2: rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 + { + pushFollow(FOLLOW_7); + rule__AdditiveExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__AdditiveExpression__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveExpression__Group_1__1" + + + // $ANTLR start "rule__AdditiveExpression__Group_1__1__Impl" + // InternalSolverLanguage.g:4320:1: rule__AdditiveExpression__Group_1__1__Impl : ( ( rule__AdditiveExpression__OpAssignment_1_1 ) ) ; + public final void rule__AdditiveExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4324:1: ( ( ( rule__AdditiveExpression__OpAssignment_1_1 ) ) ) + // InternalSolverLanguage.g:4325:1: ( ( rule__AdditiveExpression__OpAssignment_1_1 ) ) + { + // InternalSolverLanguage.g:4325:1: ( ( rule__AdditiveExpression__OpAssignment_1_1 ) ) + // InternalSolverLanguage.g:4326:2: ( rule__AdditiveExpression__OpAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getOpAssignment_1_1()); + } + // InternalSolverLanguage.g:4327:2: ( rule__AdditiveExpression__OpAssignment_1_1 ) + // InternalSolverLanguage.g:4327:3: rule__AdditiveExpression__OpAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__AdditiveExpression__OpAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getOpAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__AdditiveExpression__Group_1__2" + // InternalSolverLanguage.g:4335:1: rule__AdditiveExpression__Group_1__2 : rule__AdditiveExpression__Group_1__2__Impl ; + public final void rule__AdditiveExpression__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4339:1: ( rule__AdditiveExpression__Group_1__2__Impl ) + // InternalSolverLanguage.g:4340:2: rule__AdditiveExpression__Group_1__2__Impl + { + pushFollow(FOLLOW_2); + rule__AdditiveExpression__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveExpression__Group_1__2" + + + // $ANTLR start "rule__AdditiveExpression__Group_1__2__Impl" + // InternalSolverLanguage.g:4346:1: rule__AdditiveExpression__Group_1__2__Impl : ( ( rule__AdditiveExpression__RightAssignment_1_2 ) ) ; + public final void rule__AdditiveExpression__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4350:1: ( ( ( rule__AdditiveExpression__RightAssignment_1_2 ) ) ) + // InternalSolverLanguage.g:4351:1: ( ( rule__AdditiveExpression__RightAssignment_1_2 ) ) + { + // InternalSolverLanguage.g:4351:1: ( ( rule__AdditiveExpression__RightAssignment_1_2 ) ) + // InternalSolverLanguage.g:4352:2: ( rule__AdditiveExpression__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getRightAssignment_1_2()); + } + // InternalSolverLanguage.g:4353:2: ( rule__AdditiveExpression__RightAssignment_1_2 ) + // InternalSolverLanguage.g:4353:3: rule__AdditiveExpression__RightAssignment_1_2 + { + pushFollow(FOLLOW_2); + rule__AdditiveExpression__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AdditiveExpression__Group_1__2__Impl" + + + // $ANTLR start "rule__MultiplicativeExpression__Group__0" + // InternalSolverLanguage.g:4362:1: rule__MultiplicativeExpression__Group__0 : rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ; + public final void rule__MultiplicativeExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4366:1: ( rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ) + // InternalSolverLanguage.g:4367:2: rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 + { + pushFollow(FOLLOW_27); + rule__MultiplicativeExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__Group__0" + + + // $ANTLR start "rule__MultiplicativeExpression__Group__0__Impl" + // InternalSolverLanguage.g:4374:1: rule__MultiplicativeExpression__Group__0__Impl : ( ruleExponentialExpression ) ; + public final void rule__MultiplicativeExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4378:1: ( ( ruleExponentialExpression ) ) + // InternalSolverLanguage.g:4379:1: ( ruleExponentialExpression ) + { + // InternalSolverLanguage.g:4379:1: ( ruleExponentialExpression ) + // InternalSolverLanguage.g:4380:2: ruleExponentialExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleExponentialExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); + } + + } + + + } - state._fsp--; + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__Group__0__Impl" - } - after(grammarAccess.getTruthValueAccess().getGroup_2()); + // $ANTLR start "rule__MultiplicativeExpression__Group__1" + // InternalSolverLanguage.g:4389:1: rule__MultiplicativeExpression__Group__1 : rule__MultiplicativeExpression__Group__1__Impl ; + public final void rule__MultiplicativeExpression__Group__1() throws RecognitionException { - } + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4393:1: ( rule__MultiplicativeExpression__Group__1__Impl ) + // InternalSolverLanguage.g:4394:2: rule__MultiplicativeExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__Group__1__Impl(); + state._fsp--; + if (state.failed) return ; - } - break; - case 4 : - // InternalSolverLanguage.g:1217:2: ( ( rule__TruthValue__Group_3__0 ) ) - { - // InternalSolverLanguage.g:1217:2: ( ( rule__TruthValue__Group_3__0 ) ) - // InternalSolverLanguage.g:1218:3: ( rule__TruthValue__Group_3__0 ) - { - before(grammarAccess.getTruthValueAccess().getGroup_3()); - // InternalSolverLanguage.g:1219:3: ( rule__TruthValue__Group_3__0 ) - // InternalSolverLanguage.g:1219:4: rule__TruthValue__Group_3__0 - { - pushFollow(FOLLOW_2); - rule__TruthValue__Group_3__0(); + } - state._fsp--; + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + restoreStackSize(stackSize); - } + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__Group__1" - after(grammarAccess.getTruthValueAccess().getGroup_3()); - } + // $ANTLR start "rule__MultiplicativeExpression__Group__1__Impl" + // InternalSolverLanguage.g:4400:1: rule__MultiplicativeExpression__Group__1__Impl : ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ; + public final void rule__MultiplicativeExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4404:1: ( ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ) + // InternalSolverLanguage.g:4405:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* ) + { + // InternalSolverLanguage.g:4405:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* ) + // InternalSolverLanguage.g:4406:2: ( rule__MultiplicativeExpression__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); + } + // InternalSolverLanguage.g:4407:2: ( rule__MultiplicativeExpression__Group_1__0 )* + loop37: + do { + int alt37=2; + int LA37_0 = input.LA(1); + if ( (LA37_0==16||LA37_0==28) ) { + alt37=1; + } - } - break; + + switch (alt37) { + case 1 : + // InternalSolverLanguage.g:4407:3: rule__MultiplicativeExpression__Group_1__0 + { + pushFollow(FOLLOW_28); + rule__MultiplicativeExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop37; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); + } } + + + } + } catch (RecognitionException re) { reportError(re); @@ -3814,111 +15203,111 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__TruthValue__Alternatives" + // $ANTLR end "rule__MultiplicativeExpression__Group__1__Impl" - // $ANTLR start "rule__Interpretation__Alternatives" - // InternalSolverLanguage.g:1227:1: rule__Interpretation__Alternatives : ( ( ruleBasicInterpretation ) | ( ruleDefaultInterpretation ) | ( ruleCDInterpretation ) ); - public final void rule__Interpretation__Alternatives() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group_1__0" + // InternalSolverLanguage.g:4416:1: rule__MultiplicativeExpression__Group_1__0 : rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ; + public final void rule__MultiplicativeExpression__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1231:1: ( ( ruleBasicInterpretation ) | ( ruleDefaultInterpretation ) | ( ruleCDInterpretation ) ) - int alt5=3; - switch ( input.LA(1) ) { - case RULE_ID: - case 21: - case 22: - case 23: - case 24: - case 25: - case 26: - { - alt5=1; - } - break; - case 32: - { - alt5=2; - } - break; - case 33: - case 37: - case 38: - case 40: - case 41: - { - alt5=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 5, 0, input); + // InternalSolverLanguage.g:4420:1: ( rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ) + // InternalSolverLanguage.g:4421:2: rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 + { + pushFollow(FOLLOW_27); + rule__MultiplicativeExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; - throw nvae; } - switch (alt5) { - case 1 : - // InternalSolverLanguage.g:1232:2: ( ruleBasicInterpretation ) - { - // InternalSolverLanguage.g:1232:2: ( ruleBasicInterpretation ) - // InternalSolverLanguage.g:1233:3: ruleBasicInterpretation - { - before(grammarAccess.getInterpretationAccess().getBasicInterpretationParserRuleCall_0()); - pushFollow(FOLLOW_2); - ruleBasicInterpretation(); + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - state._fsp--; + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__Group_1__0" - after(grammarAccess.getInterpretationAccess().getBasicInterpretationParserRuleCall_0()); - } + // $ANTLR start "rule__MultiplicativeExpression__Group_1__0__Impl" + // InternalSolverLanguage.g:4428:1: rule__MultiplicativeExpression__Group_1__0__Impl : ( () ) ; + public final void rule__MultiplicativeExpression__Group_1__0__Impl() throws RecognitionException { + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4432:1: ( ( () ) ) + // InternalSolverLanguage.g:4433:1: ( () ) + { + // InternalSolverLanguage.g:4433:1: ( () ) + // InternalSolverLanguage.g:4434:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0()); + } + // InternalSolverLanguage.g:4435:2: () + // InternalSolverLanguage.g:4435:3: + { + } - } - break; - case 2 : - // InternalSolverLanguage.g:1238:2: ( ruleDefaultInterpretation ) - { - // InternalSolverLanguage.g:1238:2: ( ruleDefaultInterpretation ) - // InternalSolverLanguage.g:1239:3: ruleDefaultInterpretation - { - before(grammarAccess.getInterpretationAccess().getDefaultInterpretationParserRuleCall_1()); - pushFollow(FOLLOW_2); - ruleDefaultInterpretation(); + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0()); + } - state._fsp--; + } - after(grammarAccess.getInterpretationAccess().getDefaultInterpretationParserRuleCall_1()); - } + } + } + finally { - } - break; - case 3 : - // InternalSolverLanguage.g:1244:2: ( ruleCDInterpretation ) - { - // InternalSolverLanguage.g:1244:2: ( ruleCDInterpretation ) - // InternalSolverLanguage.g:1245:3: ruleCDInterpretation - { - before(grammarAccess.getInterpretationAccess().getCDInterpretationParserRuleCall_2()); - pushFollow(FOLLOW_2); - ruleCDInterpretation(); + restoreStackSize(stackSize); - state._fsp--; + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__Group_1__0__Impl" - after(grammarAccess.getInterpretationAccess().getCDInterpretationParserRuleCall_2()); - } + // $ANTLR start "rule__MultiplicativeExpression__Group_1__1" + // InternalSolverLanguage.g:4443:1: rule__MultiplicativeExpression__Group_1__1 : rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ; + public final void rule__MultiplicativeExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4447:1: ( rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ) + // InternalSolverLanguage.g:4448:2: rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 + { + pushFollow(FOLLOW_7); + rule__MultiplicativeExpression__Group_1__1__Impl(); + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__Group_1__2(); - } - break; + state._fsp--; + if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); @@ -3931,105 +15320,167 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Interpretation__Alternatives" + // $ANTLR end "rule__MultiplicativeExpression__Group_1__1" - // $ANTLR start "rule__Symbol__Alternatives" - // InternalSolverLanguage.g:1254:1: rule__Symbol__Alternatives : ( ( ruleModelSymbol ) | ( rulePartialitySymbol ) | ( ruleDataSymbol ) ); - public final void rule__Symbol__Alternatives() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__Group_1__1__Impl" + // InternalSolverLanguage.g:4455:1: rule__MultiplicativeExpression__Group_1__1__Impl : ( ( rule__MultiplicativeExpression__OpAssignment_1_1 ) ) ; + public final void rule__MultiplicativeExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1258:1: ( ( ruleModelSymbol ) | ( rulePartialitySymbol ) | ( ruleDataSymbol ) ) - int alt6=3; - switch ( input.LA(1) ) { - case RULE_ID: - { - alt6=1; - } - break; - case 21: - case 22: - { - alt6=2; - } - break; - case 23: - case 24: - case 25: - case 26: - { - alt6=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 6, 0, input); + // InternalSolverLanguage.g:4459:1: ( ( ( rule__MultiplicativeExpression__OpAssignment_1_1 ) ) ) + // InternalSolverLanguage.g:4460:1: ( ( rule__MultiplicativeExpression__OpAssignment_1_1 ) ) + { + // InternalSolverLanguage.g:4460:1: ( ( rule__MultiplicativeExpression__OpAssignment_1_1 ) ) + // InternalSolverLanguage.g:4461:2: ( rule__MultiplicativeExpression__OpAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getOpAssignment_1_1()); + } + // InternalSolverLanguage.g:4462:2: ( rule__MultiplicativeExpression__OpAssignment_1_1 ) + // InternalSolverLanguage.g:4462:3: rule__MultiplicativeExpression__OpAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__OpAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; - throw nvae; } - switch (alt6) { - case 1 : - // InternalSolverLanguage.g:1259:2: ( ruleModelSymbol ) - { - // InternalSolverLanguage.g:1259:2: ( ruleModelSymbol ) - // InternalSolverLanguage.g:1260:3: ruleModelSymbol - { - before(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0()); - pushFollow(FOLLOW_2); - ruleModelSymbol(); + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getOpAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__MultiplicativeExpression__Group_1__2" + // InternalSolverLanguage.g:4470:1: rule__MultiplicativeExpression__Group_1__2 : rule__MultiplicativeExpression__Group_1__2__Impl ; + public final void rule__MultiplicativeExpression__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4474:1: ( rule__MultiplicativeExpression__Group_1__2__Impl ) + // InternalSolverLanguage.g:4475:2: rule__MultiplicativeExpression__Group_1__2__Impl + { + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__Group_1__2" + + + // $ANTLR start "rule__MultiplicativeExpression__Group_1__2__Impl" + // InternalSolverLanguage.g:4481:1: rule__MultiplicativeExpression__Group_1__2__Impl : ( ( rule__MultiplicativeExpression__RightAssignment_1_2 ) ) ; + public final void rule__MultiplicativeExpression__Group_1__2__Impl() throws RecognitionException { - state._fsp--; + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4485:1: ( ( ( rule__MultiplicativeExpression__RightAssignment_1_2 ) ) ) + // InternalSolverLanguage.g:4486:1: ( ( rule__MultiplicativeExpression__RightAssignment_1_2 ) ) + { + // InternalSolverLanguage.g:4486:1: ( ( rule__MultiplicativeExpression__RightAssignment_1_2 ) ) + // InternalSolverLanguage.g:4487:2: ( rule__MultiplicativeExpression__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getRightAssignment_1_2()); + } + // InternalSolverLanguage.g:4488:2: ( rule__MultiplicativeExpression__RightAssignment_1_2 ) + // InternalSolverLanguage.g:4488:3: rule__MultiplicativeExpression__RightAssignment_1_2 + { + pushFollow(FOLLOW_2); + rule__MultiplicativeExpression__RightAssignment_1_2(); - after(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0()); + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getRightAssignment_1_2()); + } - } - break; - case 2 : - // InternalSolverLanguage.g:1265:2: ( rulePartialitySymbol ) - { - // InternalSolverLanguage.g:1265:2: ( rulePartialitySymbol ) - // InternalSolverLanguage.g:1266:3: rulePartialitySymbol - { - before(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1()); - pushFollow(FOLLOW_2); - rulePartialitySymbol(); + } - state._fsp--; - after(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1()); + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + restoreStackSize(stackSize); - } - break; - case 3 : - // InternalSolverLanguage.g:1271:2: ( ruleDataSymbol ) - { - // InternalSolverLanguage.g:1271:2: ( ruleDataSymbol ) - // InternalSolverLanguage.g:1272:3: ruleDataSymbol - { - before(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2()); - pushFollow(FOLLOW_2); - ruleDataSymbol(); + } + return ; + } + // $ANTLR end "rule__MultiplicativeExpression__Group_1__2__Impl" - state._fsp--; - after(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2()); + // $ANTLR start "rule__ExponentialExpression__Group__0" + // InternalSolverLanguage.g:4497:1: rule__ExponentialExpression__Group__0 : rule__ExponentialExpression__Group__0__Impl rule__ExponentialExpression__Group__1 ; + public final void rule__ExponentialExpression__Group__0() throws RecognitionException { - } + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4501:1: ( rule__ExponentialExpression__Group__0__Impl rule__ExponentialExpression__Group__1 ) + // InternalSolverLanguage.g:4502:2: rule__ExponentialExpression__Group__0__Impl rule__ExponentialExpression__Group__1 + { + pushFollow(FOLLOW_29); + rule__ExponentialExpression__Group__0__Impl(); + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ExponentialExpression__Group__1(); - } - break; + state._fsp--; + if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); @@ -4042,73 +15493,72 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Symbol__Alternatives" + // $ANTLR end "rule__ExponentialExpression__Group__0" - // $ANTLR start "rule__PartialitySymbol__Alternatives" - // InternalSolverLanguage.g:1281:1: rule__PartialitySymbol__Alternatives : ( ( ruleExistSymbol ) | ( ruleEqualsSymbol ) ); - public final void rule__PartialitySymbol__Alternatives() throws RecognitionException { + // $ANTLR start "rule__ExponentialExpression__Group__0__Impl" + // InternalSolverLanguage.g:4509:1: rule__ExponentialExpression__Group__0__Impl : ( ruleUnaryExpression ) ; + public final void rule__ExponentialExpression__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1285:1: ( ( ruleExistSymbol ) | ( ruleEqualsSymbol ) ) - int alt7=2; - int LA7_0 = input.LA(1); - - if ( (LA7_0==21) ) { - alt7=1; - } - else if ( (LA7_0==22) ) { - alt7=2; + // InternalSolverLanguage.g:4513:1: ( ( ruleUnaryExpression ) ) + // InternalSolverLanguage.g:4514:1: ( ruleUnaryExpression ) + { + // InternalSolverLanguage.g:4514:1: ( ruleUnaryExpression ) + // InternalSolverLanguage.g:4515:2: ruleUnaryExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); } - else { - NoViableAltException nvae = - new NoViableAltException("", 7, 0, input); + pushFollow(FOLLOW_2); + ruleUnaryExpression(); - throw nvae; + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); } - switch (alt7) { - case 1 : - // InternalSolverLanguage.g:1286:2: ( ruleExistSymbol ) - { - // InternalSolverLanguage.g:1286:2: ( ruleExistSymbol ) - // InternalSolverLanguage.g:1287:3: ruleExistSymbol - { - before(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0()); - pushFollow(FOLLOW_2); - ruleExistSymbol(); - state._fsp--; + } - after(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0()); - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 2 : - // InternalSolverLanguage.g:1292:2: ( ruleEqualsSymbol ) - { - // InternalSolverLanguage.g:1292:2: ( ruleEqualsSymbol ) - // InternalSolverLanguage.g:1293:3: ruleEqualsSymbol - { - before(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1()); - pushFollow(FOLLOW_2); - ruleEqualsSymbol(); + restoreStackSize(stackSize); - state._fsp--; + } + return ; + } + // $ANTLR end "rule__ExponentialExpression__Group__0__Impl" - after(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1()); - } + // $ANTLR start "rule__ExponentialExpression__Group__1" + // InternalSolverLanguage.g:4524:1: rule__ExponentialExpression__Group__1 : rule__ExponentialExpression__Group__1__Impl ; + public final void rule__ExponentialExpression__Group__1() throws RecognitionException { + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4528:1: ( rule__ExponentialExpression__Group__1__Impl ) + // InternalSolverLanguage.g:4529:2: rule__ExponentialExpression__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__ExponentialExpression__Group__1__Impl(); - } - break; + state._fsp--; + if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); @@ -4121,125 +15571,94 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__PartialitySymbol__Alternatives" + // $ANTLR end "rule__ExponentialExpression__Group__1" - // $ANTLR start "rule__DataSymbol__Alternatives" - // InternalSolverLanguage.g:1302:1: rule__DataSymbol__Alternatives : ( ( ruleBooleanSymbol ) | ( ruleIntegerSymbol ) | ( ruleRealSymbol ) | ( ruleStringSymbol ) ); - public final void rule__DataSymbol__Alternatives() throws RecognitionException { + // $ANTLR start "rule__ExponentialExpression__Group__1__Impl" + // InternalSolverLanguage.g:4535:1: rule__ExponentialExpression__Group__1__Impl : ( ( rule__ExponentialExpression__Group_1__0 )? ) ; + public final void rule__ExponentialExpression__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1306:1: ( ( ruleBooleanSymbol ) | ( ruleIntegerSymbol ) | ( ruleRealSymbol ) | ( ruleStringSymbol ) ) - int alt8=4; - switch ( input.LA(1) ) { - case 23: - { - alt8=1; - } - break; - case 24: - { - alt8=2; - } - break; - case 25: - { - alt8=3; - } - break; - case 26: - { - alt8=4; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 8, 0, input); - - throw nvae; + // InternalSolverLanguage.g:4539:1: ( ( ( rule__ExponentialExpression__Group_1__0 )? ) ) + // InternalSolverLanguage.g:4540:1: ( ( rule__ExponentialExpression__Group_1__0 )? ) + { + // InternalSolverLanguage.g:4540:1: ( ( rule__ExponentialExpression__Group_1__0 )? ) + // InternalSolverLanguage.g:4541:2: ( rule__ExponentialExpression__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExponentialExpressionAccess().getGroup_1()); } + // InternalSolverLanguage.g:4542:2: ( rule__ExponentialExpression__Group_1__0 )? + int alt38=2; + int LA38_0 = input.LA(1); - switch (alt8) { + if ( (LA38_0==15) ) { + alt38=1; + } + switch (alt38) { case 1 : - // InternalSolverLanguage.g:1307:2: ( ruleBooleanSymbol ) - { - // InternalSolverLanguage.g:1307:2: ( ruleBooleanSymbol ) - // InternalSolverLanguage.g:1308:3: ruleBooleanSymbol + // InternalSolverLanguage.g:4542:3: rule__ExponentialExpression__Group_1__0 { - before(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0()); pushFollow(FOLLOW_2); - ruleBooleanSymbol(); + rule__ExponentialExpression__Group_1__0(); state._fsp--; - - after(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0()); - - } - + if (state.failed) return ; } break; - case 2 : - // InternalSolverLanguage.g:1313:2: ( ruleIntegerSymbol ) - { - // InternalSolverLanguage.g:1313:2: ( ruleIntegerSymbol ) - // InternalSolverLanguage.g:1314:3: ruleIntegerSymbol - { - before(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1()); - pushFollow(FOLLOW_2); - ruleIntegerSymbol(); - state._fsp--; - - after(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1()); - - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getExponentialExpressionAccess().getGroup_1()); + } - } - break; - case 3 : - // InternalSolverLanguage.g:1319:2: ( ruleRealSymbol ) - { - // InternalSolverLanguage.g:1319:2: ( ruleRealSymbol ) - // InternalSolverLanguage.g:1320:3: ruleRealSymbol - { - before(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2()); - pushFollow(FOLLOW_2); - ruleRealSymbol(); + } - state._fsp--; - after(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2()); + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + restoreStackSize(stackSize); - } - break; - case 4 : - // InternalSolverLanguage.g:1325:2: ( ruleStringSymbol ) - { - // InternalSolverLanguage.g:1325:2: ( ruleStringSymbol ) - // InternalSolverLanguage.g:1326:3: ruleStringSymbol - { - before(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3()); - pushFollow(FOLLOW_2); - ruleStringSymbol(); + } + return ; + } + // $ANTLR end "rule__ExponentialExpression__Group__1__Impl" - state._fsp--; - after(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3()); + // $ANTLR start "rule__ExponentialExpression__Group_1__0" + // InternalSolverLanguage.g:4551:1: rule__ExponentialExpression__Group_1__0 : rule__ExponentialExpression__Group_1__0__Impl rule__ExponentialExpression__Group_1__1 ; + public final void rule__ExponentialExpression__Group_1__0() throws RecognitionException { - } + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4555:1: ( rule__ExponentialExpression__Group_1__0__Impl rule__ExponentialExpression__Group_1__1 ) + // InternalSolverLanguage.g:4556:2: rule__ExponentialExpression__Group_1__0__Impl rule__ExponentialExpression__Group_1__1 + { + pushFollow(FOLLOW_29); + rule__ExponentialExpression__Group_1__0__Impl(); + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ExponentialExpression__Group_1__1(); - } - break; + state._fsp--; + if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); @@ -4252,107 +15671,73 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__DataSymbol__Alternatives" + // $ANTLR end "rule__ExponentialExpression__Group_1__0" - // $ANTLR start "rule__ComplexObject__Alternatives" - // InternalSolverLanguage.g:1335:1: rule__ComplexObject__Alternatives : ( ( ruleObject ) | ( ruleAllInstances ) | ( ruleAllObjects ) ); - public final void rule__ComplexObject__Alternatives() throws RecognitionException { + // $ANTLR start "rule__ExponentialExpression__Group_1__0__Impl" + // InternalSolverLanguage.g:4563:1: rule__ExponentialExpression__Group_1__0__Impl : ( () ) ; + public final void rule__ExponentialExpression__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1339:1: ( ( ruleObject ) | ( ruleAllInstances ) | ( ruleAllObjects ) ) - int alt9=3; - switch ( input.LA(1) ) { - case RULE_INT: - case RULE_ID: - case RULE_STRING: - case 11: - case 12: - case 13: - case 27: - { - alt9=1; - } - break; - case 17: - { - alt9=2; - } - break; - case 31: - { - alt9=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 9, 0, input); - - throw nvae; + // InternalSolverLanguage.g:4567:1: ( ( () ) ) + // InternalSolverLanguage.g:4568:1: ( () ) + { + // InternalSolverLanguage.g:4568:1: ( () ) + // InternalSolverLanguage.g:4569:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0()); + } + // InternalSolverLanguage.g:4570:2: () + // InternalSolverLanguage.g:4570:3: + { } - switch (alt9) { - case 1 : - // InternalSolverLanguage.g:1340:2: ( ruleObject ) - { - // InternalSolverLanguage.g:1340:2: ( ruleObject ) - // InternalSolverLanguage.g:1341:3: ruleObject - { - before(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0()); - pushFollow(FOLLOW_2); - ruleObject(); - - state._fsp--; - - after(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0()); - - } - + if ( state.backtracking==0 ) { + after(grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0()); + } - } - break; - case 2 : - // InternalSolverLanguage.g:1346:2: ( ruleAllInstances ) - { - // InternalSolverLanguage.g:1346:2: ( ruleAllInstances ) - // InternalSolverLanguage.g:1347:3: ruleAllInstances - { - before(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1()); - pushFollow(FOLLOW_2); - ruleAllInstances(); + } - state._fsp--; - after(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1()); + } - } + } + finally { + restoreStackSize(stackSize); - } - break; - case 3 : - // InternalSolverLanguage.g:1352:2: ( ruleAllObjects ) - { - // InternalSolverLanguage.g:1352:2: ( ruleAllObjects ) - // InternalSolverLanguage.g:1353:3: ruleAllObjects - { - before(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2()); - pushFollow(FOLLOW_2); - ruleAllObjects(); + } + return ; + } + // $ANTLR end "rule__ExponentialExpression__Group_1__0__Impl" - state._fsp--; - after(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2()); + // $ANTLR start "rule__ExponentialExpression__Group_1__1" + // InternalSolverLanguage.g:4578:1: rule__ExponentialExpression__Group_1__1 : rule__ExponentialExpression__Group_1__1__Impl rule__ExponentialExpression__Group_1__2 ; + public final void rule__ExponentialExpression__Group_1__1() throws RecognitionException { - } + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4582:1: ( rule__ExponentialExpression__Group_1__1__Impl rule__ExponentialExpression__Group_1__2 ) + // InternalSolverLanguage.g:4583:2: rule__ExponentialExpression__Group_1__1__Impl rule__ExponentialExpression__Group_1__2 + { + pushFollow(FOLLOW_7); + rule__ExponentialExpression__Group_1__1__Impl(); + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ExponentialExpression__Group_1__2(); - } - break; + state._fsp--; + if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); @@ -4365,105 +15750,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ComplexObject__Alternatives" + // $ANTLR end "rule__ExponentialExpression__Group_1__1" - // $ANTLR start "rule__Object__Alternatives" - // InternalSolverLanguage.g:1362:1: rule__Object__Alternatives : ( ( ruleNamedObject ) | ( ruleUnnamedObject ) | ( ruleDataObject ) ); - public final void rule__Object__Alternatives() throws RecognitionException { + // $ANTLR start "rule__ExponentialExpression__Group_1__1__Impl" + // InternalSolverLanguage.g:4590:1: rule__ExponentialExpression__Group_1__1__Impl : ( ( rule__ExponentialExpression__OpAssignment_1_1 ) ) ; + public final void rule__ExponentialExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1366:1: ( ( ruleNamedObject ) | ( ruleUnnamedObject ) | ( ruleDataObject ) ) - int alt10=3; - switch ( input.LA(1) ) { - case 27: - { - alt10=1; - } - break; - case RULE_ID: - { - alt10=2; - } - break; - case RULE_INT: - case RULE_STRING: - case 11: - case 12: - case 13: - { - alt10=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 10, 0, input); - - throw nvae; + // InternalSolverLanguage.g:4594:1: ( ( ( rule__ExponentialExpression__OpAssignment_1_1 ) ) ) + // InternalSolverLanguage.g:4595:1: ( ( rule__ExponentialExpression__OpAssignment_1_1 ) ) + { + // InternalSolverLanguage.g:4595:1: ( ( rule__ExponentialExpression__OpAssignment_1_1 ) ) + // InternalSolverLanguage.g:4596:2: ( rule__ExponentialExpression__OpAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExponentialExpressionAccess().getOpAssignment_1_1()); } + // InternalSolverLanguage.g:4597:2: ( rule__ExponentialExpression__OpAssignment_1_1 ) + // InternalSolverLanguage.g:4597:3: rule__ExponentialExpression__OpAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__ExponentialExpression__OpAssignment_1_1(); - switch (alt10) { - case 1 : - // InternalSolverLanguage.g:1367:2: ( ruleNamedObject ) - { - // InternalSolverLanguage.g:1367:2: ( ruleNamedObject ) - // InternalSolverLanguage.g:1368:3: ruleNamedObject - { - before(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0()); - pushFollow(FOLLOW_2); - ruleNamedObject(); - - state._fsp--; - - after(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0()); - - } + state._fsp--; + if (state.failed) return ; + } - } - break; - case 2 : - // InternalSolverLanguage.g:1373:2: ( ruleUnnamedObject ) - { - // InternalSolverLanguage.g:1373:2: ( ruleUnnamedObject ) - // InternalSolverLanguage.g:1374:3: ruleUnnamedObject - { - before(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1()); - pushFollow(FOLLOW_2); - ruleUnnamedObject(); + if ( state.backtracking==0 ) { + after(grammarAccess.getExponentialExpressionAccess().getOpAssignment_1_1()); + } - state._fsp--; + } - after(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1()); - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 3 : - // InternalSolverLanguage.g:1379:2: ( ruleDataObject ) - { - // InternalSolverLanguage.g:1379:2: ( ruleDataObject ) - // InternalSolverLanguage.g:1380:3: ruleDataObject - { - before(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2()); - pushFollow(FOLLOW_2); - ruleDataObject(); + restoreStackSize(stackSize); - state._fsp--; + } + return ; + } + // $ANTLR end "rule__ExponentialExpression__Group_1__1__Impl" - after(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2()); - } + // $ANTLR start "rule__ExponentialExpression__Group_1__2" + // InternalSolverLanguage.g:4605:1: rule__ExponentialExpression__Group_1__2 : rule__ExponentialExpression__Group_1__2__Impl ; + public final void rule__ExponentialExpression__Group_1__2() throws RecognitionException { + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4609:1: ( rule__ExponentialExpression__Group_1__2__Impl ) + // InternalSolverLanguage.g:4610:2: rule__ExponentialExpression__Group_1__2__Impl + { + pushFollow(FOLLOW_2); + rule__ExponentialExpression__Group_1__2__Impl(); - } - break; + state._fsp--; + if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); @@ -4476,162 +15834,162 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Object__Alternatives" + // $ANTLR end "rule__ExponentialExpression__Group_1__2" - // $ANTLR start "rule__DataObject__Alternatives" - // InternalSolverLanguage.g:1389:1: rule__DataObject__Alternatives : ( ( ruleBooleanObject ) | ( ruleIntObject ) | ( ruleRealObject ) | ( ruleStringObject ) ); - public final void rule__DataObject__Alternatives() throws RecognitionException { + // $ANTLR start "rule__ExponentialExpression__Group_1__2__Impl" + // InternalSolverLanguage.g:4616:1: rule__ExponentialExpression__Group_1__2__Impl : ( ( rule__ExponentialExpression__RightAssignment_1_2 ) ) ; + public final void rule__ExponentialExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1393:1: ( ( ruleBooleanObject ) | ( ruleIntObject ) | ( ruleRealObject ) | ( ruleStringObject ) ) - int alt11=4; - switch ( input.LA(1) ) { - case 11: - case 12: - { - alt11=1; - } - break; - case 13: - { - int LA11_2 = input.LA(2); - - if ( (LA11_2==RULE_INT) ) { - int LA11_3 = input.LA(3); + // InternalSolverLanguage.g:4620:1: ( ( ( rule__ExponentialExpression__RightAssignment_1_2 ) ) ) + // InternalSolverLanguage.g:4621:1: ( ( rule__ExponentialExpression__RightAssignment_1_2 ) ) + { + // InternalSolverLanguage.g:4621:1: ( ( rule__ExponentialExpression__RightAssignment_1_2 ) ) + // InternalSolverLanguage.g:4622:2: ( rule__ExponentialExpression__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExponentialExpressionAccess().getRightAssignment_1_2()); + } + // InternalSolverLanguage.g:4623:2: ( rule__ExponentialExpression__RightAssignment_1_2 ) + // InternalSolverLanguage.g:4623:3: rule__ExponentialExpression__RightAssignment_1_2 + { + pushFollow(FOLLOW_2); + rule__ExponentialExpression__RightAssignment_1_2(); - if ( (LA11_3==EOF||(LA11_3>=19 && LA11_3<=20)) ) { - alt11=2; - } - else if ( (LA11_3==14) ) { - alt11=3; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 11, 3, input); + state._fsp--; + if (state.failed) return ; - throw nvae; - } - } - else { - NoViableAltException nvae = - new NoViableAltException("", 11, 2, input); + } - throw nvae; - } - } - break; - case RULE_INT: - { - int LA11_3 = input.LA(2); + if ( state.backtracking==0 ) { + after(grammarAccess.getExponentialExpressionAccess().getRightAssignment_1_2()); + } - if ( (LA11_3==EOF||(LA11_3>=19 && LA11_3<=20)) ) { - alt11=2; - } - else if ( (LA11_3==14) ) { - alt11=3; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 11, 3, input); + } - throw nvae; - } - } - break; - case RULE_STRING: - { - alt11=4; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 11, 0, input); - throw nvae; } - switch (alt11) { - case 1 : - // InternalSolverLanguage.g:1394:2: ( ruleBooleanObject ) - { - // InternalSolverLanguage.g:1394:2: ( ruleBooleanObject ) - // InternalSolverLanguage.g:1395:3: ruleBooleanObject - { - before(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0()); - pushFollow(FOLLOW_2); - ruleBooleanObject(); + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - state._fsp--; + restoreStackSize(stackSize); - after(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0()); + } + return ; + } + // $ANTLR end "rule__ExponentialExpression__Group_1__2__Impl" - } + // $ANTLR start "rule__UnaryExpression__Group_1__0" + // InternalSolverLanguage.g:4632:1: rule__UnaryExpression__Group_1__0 : rule__UnaryExpression__Group_1__0__Impl rule__UnaryExpression__Group_1__1 ; + public final void rule__UnaryExpression__Group_1__0() throws RecognitionException { - } - break; - case 2 : - // InternalSolverLanguage.g:1400:2: ( ruleIntObject ) - { - // InternalSolverLanguage.g:1400:2: ( ruleIntObject ) - // InternalSolverLanguage.g:1401:3: ruleIntObject - { - before(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1()); - pushFollow(FOLLOW_2); - ruleIntObject(); + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4636:1: ( rule__UnaryExpression__Group_1__0__Impl rule__UnaryExpression__Group_1__1 ) + // InternalSolverLanguage.g:4637:2: rule__UnaryExpression__Group_1__0__Impl rule__UnaryExpression__Group_1__1 + { + pushFollow(FOLLOW_7); + rule__UnaryExpression__Group_1__0__Impl(); - state._fsp--; + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__UnaryExpression__Group_1__1(); - after(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1()); + state._fsp--; + if (state.failed) return ; - } + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; - case 3 : - // InternalSolverLanguage.g:1406:2: ( ruleRealObject ) - { - // InternalSolverLanguage.g:1406:2: ( ruleRealObject ) - // InternalSolverLanguage.g:1407:3: ruleRealObject - { - before(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2()); - pushFollow(FOLLOW_2); - ruleRealObject(); + restoreStackSize(stackSize); - state._fsp--; + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_1__0" - after(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2()); - } + // $ANTLR start "rule__UnaryExpression__Group_1__0__Impl" + // InternalSolverLanguage.g:4644:1: rule__UnaryExpression__Group_1__0__Impl : ( () ) ; + public final void rule__UnaryExpression__Group_1__0__Impl() throws RecognitionException { + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4648:1: ( ( () ) ) + // InternalSolverLanguage.g:4649:1: ( () ) + { + // InternalSolverLanguage.g:4649:1: ( () ) + // InternalSolverLanguage.g:4650:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0()); + } + // InternalSolverLanguage.g:4651:2: () + // InternalSolverLanguage.g:4651:3: + { + } - } - break; - case 4 : - // InternalSolverLanguage.g:1412:2: ( ruleStringObject ) - { - // InternalSolverLanguage.g:1412:2: ( ruleStringObject ) - // InternalSolverLanguage.g:1413:3: ruleStringObject - { - before(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3()); - pushFollow(FOLLOW_2); - ruleStringObject(); + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0()); + } - state._fsp--; + } - after(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3()); - } + } + + } + finally { + restoreStackSize(stackSize); - } - break; + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_1__1" + // InternalSolverLanguage.g:4659:1: rule__UnaryExpression__Group_1__1 : rule__UnaryExpression__Group_1__1__Impl rule__UnaryExpression__Group_1__2 ; + public final void rule__UnaryExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4663:1: ( rule__UnaryExpression__Group_1__1__Impl rule__UnaryExpression__Group_1__2 ) + // InternalSolverLanguage.g:4664:2: rule__UnaryExpression__Group_1__1__Impl rule__UnaryExpression__Group_1__2 + { + pushFollow(FOLLOW_30); + rule__UnaryExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__UnaryExpression__Group_1__2(); + + state._fsp--; + if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); @@ -4644,75 +16002,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__DataObject__Alternatives" + // $ANTLR end "rule__UnaryExpression__Group_1__1" - // $ANTLR start "rule__Predicate__Alternatives_4" - // InternalSolverLanguage.g:1422:1: rule__Predicate__Alternatives_4 : ( ( 'false' ) | ( ( rule__Predicate__Group_4_1__0 ) ) ); - public final void rule__Predicate__Alternatives_4() throws RecognitionException { + // $ANTLR start "rule__UnaryExpression__Group_1__1__Impl" + // InternalSolverLanguage.g:4671:1: rule__UnaryExpression__Group_1__1__Impl : ( ( rule__UnaryExpression__OpAssignment_1_1 ) ) ; + public final void rule__UnaryExpression__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1426:1: ( ( 'false' ) | ( ( rule__Predicate__Group_4_1__0 ) ) ) - int alt12=2; - int LA12_0 = input.LA(1); - - if ( (LA12_0==11) ) { - alt12=1; + // InternalSolverLanguage.g:4675:1: ( ( ( rule__UnaryExpression__OpAssignment_1_1 ) ) ) + // InternalSolverLanguage.g:4676:1: ( ( rule__UnaryExpression__OpAssignment_1_1 ) ) + { + // InternalSolverLanguage.g:4676:1: ( ( rule__UnaryExpression__OpAssignment_1_1 ) ) + // InternalSolverLanguage.g:4677:2: ( rule__UnaryExpression__OpAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getOpAssignment_1_1()); } - else if ( (LA12_0==EOF||LA12_0==RULE_ID||(LA12_0>=12 && LA12_0<=14)||(LA12_0>=29 && LA12_0<=31)) ) { - alt12=2; + // InternalSolverLanguage.g:4678:2: ( rule__UnaryExpression__OpAssignment_1_1 ) + // InternalSolverLanguage.g:4678:3: rule__UnaryExpression__OpAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__UnaryExpression__OpAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + } - else { - NoViableAltException nvae = - new NoViableAltException("", 12, 0, input); - throw nvae; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getOpAssignment_1_1()); } - switch (alt12) { - case 1 : - // InternalSolverLanguage.g:1427:2: ( 'false' ) - { - // InternalSolverLanguage.g:1427:2: ( 'false' ) - // InternalSolverLanguage.g:1428:3: 'false' - { - before(grammarAccess.getPredicateAccess().getFalseKeyword_4_0()); - match(input,11,FOLLOW_2); - after(grammarAccess.getPredicateAccess().getFalseKeyword_4_0()); - } + } - } - break; - case 2 : - // InternalSolverLanguage.g:1433:2: ( ( rule__Predicate__Group_4_1__0 ) ) - { - // InternalSolverLanguage.g:1433:2: ( ( rule__Predicate__Group_4_1__0 ) ) - // InternalSolverLanguage.g:1434:3: ( rule__Predicate__Group_4_1__0 ) - { - before(grammarAccess.getPredicateAccess().getGroup_4_1()); - // InternalSolverLanguage.g:1435:3: ( rule__Predicate__Group_4_1__0 ) - // InternalSolverLanguage.g:1435:4: rule__Predicate__Group_4_1__0 - { - pushFollow(FOLLOW_2); - rule__Predicate__Group_4_1__0(); + } - state._fsp--; + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + restoreStackSize(stackSize); - } + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_1__1__Impl" - after(grammarAccess.getPredicateAccess().getGroup_4_1()); - } + // $ANTLR start "rule__UnaryExpression__Group_1__2" + // InternalSolverLanguage.g:4686:1: rule__UnaryExpression__Group_1__2 : rule__UnaryExpression__Group_1__2__Impl ; + public final void rule__UnaryExpression__Group_1__2() throws RecognitionException { + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4690:1: ( rule__UnaryExpression__Group_1__2__Impl ) + // InternalSolverLanguage.g:4691:2: rule__UnaryExpression__Group_1__2__Impl + { + pushFollow(FOLLOW_2); + rule__UnaryExpression__Group_1__2__Impl(); - } - break; + state._fsp--; + if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); @@ -4725,93 +16086,83 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Alternatives_4" + // $ANTLR end "rule__UnaryExpression__Group_1__2" - // $ANTLR start "rule__PatternBody__Alternatives_1" - // InternalSolverLanguage.g:1443:1: rule__PatternBody__Alternatives_1 : ( ( 'true' ) | ( ( rule__PatternBody__ConstraintsAssignment_1_1 )* ) ); - public final void rule__PatternBody__Alternatives_1() throws RecognitionException { + // $ANTLR start "rule__UnaryExpression__Group_1__2__Impl" + // InternalSolverLanguage.g:4697:1: rule__UnaryExpression__Group_1__2__Impl : ( ( rule__UnaryExpression__BodyAssignment_1_2 ) ) ; + public final void rule__UnaryExpression__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1447:1: ( ( 'true' ) | ( ( rule__PatternBody__ConstraintsAssignment_1_1 )* ) ) - int alt14=2; - int LA14_0 = input.LA(1); - - if ( (LA14_0==12) ) { - alt14=1; - } - else if ( (LA14_0==EOF||LA14_0==RULE_ID||(LA14_0>=13 && LA14_0<=14)||(LA14_0>=29 && LA14_0<=31)) ) { - alt14=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 14, 0, input); - - throw nvae; + // InternalSolverLanguage.g:4701:1: ( ( ( rule__UnaryExpression__BodyAssignment_1_2 ) ) ) + // InternalSolverLanguage.g:4702:1: ( ( rule__UnaryExpression__BodyAssignment_1_2 ) ) + { + // InternalSolverLanguage.g:4702:1: ( ( rule__UnaryExpression__BodyAssignment_1_2 ) ) + // InternalSolverLanguage.g:4703:2: ( rule__UnaryExpression__BodyAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getBodyAssignment_1_2()); } - switch (alt14) { - case 1 : - // InternalSolverLanguage.g:1448:2: ( 'true' ) - { - // InternalSolverLanguage.g:1448:2: ( 'true' ) - // InternalSolverLanguage.g:1449:3: 'true' - { - before(grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); - match(input,12,FOLLOW_2); - after(grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); + // InternalSolverLanguage.g:4704:2: ( rule__UnaryExpression__BodyAssignment_1_2 ) + // InternalSolverLanguage.g:4704:3: rule__UnaryExpression__BodyAssignment_1_2 + { + pushFollow(FOLLOW_2); + rule__UnaryExpression__BodyAssignment_1_2(); - } + state._fsp--; + if (state.failed) return ; + } - } - break; - case 2 : - // InternalSolverLanguage.g:1454:2: ( ( rule__PatternBody__ConstraintsAssignment_1_1 )* ) - { - // InternalSolverLanguage.g:1454:2: ( ( rule__PatternBody__ConstraintsAssignment_1_1 )* ) - // InternalSolverLanguage.g:1455:3: ( rule__PatternBody__ConstraintsAssignment_1_1 )* - { - before(grammarAccess.getPatternBodyAccess().getConstraintsAssignment_1_1()); - // InternalSolverLanguage.g:1456:3: ( rule__PatternBody__ConstraintsAssignment_1_1 )* - loop13: - do { - int alt13=2; - int LA13_0 = input.LA(1); + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getBodyAssignment_1_2()); + } - if ( (LA13_0==RULE_ID||LA13_0==13||(LA13_0>=30 && LA13_0<=31)) ) { - alt13=1; - } + } - switch (alt13) { - case 1 : - // InternalSolverLanguage.g:1456:4: rule__PatternBody__ConstraintsAssignment_1_1 - { - pushFollow(FOLLOW_4); - rule__PatternBody__ConstraintsAssignment_1_1(); + } - state._fsp--; + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + restoreStackSize(stackSize); - } - break; + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_1__2__Impl" - default : - break loop13; - } - } while (true); - after(grammarAccess.getPatternBodyAccess().getConstraintsAssignment_1_1()); + // $ANTLR start "rule__Count__Group__0" + // InternalSolverLanguage.g:4713:1: rule__Count__Group__0 : rule__Count__Group__0__Impl rule__Count__Group__1 ; + public final void rule__Count__Group__0() throws RecognitionException { - } + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4717:1: ( rule__Count__Group__0__Impl rule__Count__Group__1 ) + // InternalSolverLanguage.g:4718:2: rule__Count__Group__0__Impl rule__Count__Group__1 + { + pushFollow(FOLLOW_31); + rule__Count__Group__0__Impl(); + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Count__Group__1(); - } - break; + state._fsp--; + if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); @@ -4824,85 +16175,73 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__PatternBody__Alternatives_1" + // $ANTLR end "rule__Count__Group__0" - // $ANTLR start "rule__Polarity__Alternatives" - // InternalSolverLanguage.g:1464:1: rule__Polarity__Alternatives : ( ( ( rule__Polarity__Group_0__0 ) ) | ( ( rule__Polarity__Group_1__0 ) ) ); - public final void rule__Polarity__Alternatives() throws RecognitionException { + // $ANTLR start "rule__Count__Group__0__Impl" + // InternalSolverLanguage.g:4725:1: rule__Count__Group__0__Impl : ( 'count' ) ; + public final void rule__Count__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1468:1: ( ( ( rule__Polarity__Group_0__0 ) ) | ( ( rule__Polarity__Group_1__0 ) ) ) - int alt15=2; - int LA15_0 = input.LA(1); - - if ( (LA15_0==30) ) { - alt15=1; + // InternalSolverLanguage.g:4729:1: ( ( 'count' ) ) + // InternalSolverLanguage.g:4730:1: ( 'count' ) + { + // InternalSolverLanguage.g:4730:1: ( 'count' ) + // InternalSolverLanguage.g:4731:2: 'count' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCountAccess().getCountKeyword_0()); } - else if ( (LA15_0==13) ) { - alt15=2; + match(input,57,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCountAccess().getCountKeyword_0()); } - else { - NoViableAltException nvae = - new NoViableAltException("", 15, 0, input); - throw nvae; } - switch (alt15) { - case 1 : - // InternalSolverLanguage.g:1469:2: ( ( rule__Polarity__Group_0__0 ) ) - { - // InternalSolverLanguage.g:1469:2: ( ( rule__Polarity__Group_0__0 ) ) - // InternalSolverLanguage.g:1470:3: ( rule__Polarity__Group_0__0 ) - { - before(grammarAccess.getPolarityAccess().getGroup_0()); - // InternalSolverLanguage.g:1471:3: ( rule__Polarity__Group_0__0 ) - // InternalSolverLanguage.g:1471:4: rule__Polarity__Group_0__0 - { - pushFollow(FOLLOW_2); - rule__Polarity__Group_0__0(); - state._fsp--; - - - } - - after(grammarAccess.getPolarityAccess().getGroup_0()); - - } + } - } - break; - case 2 : - // InternalSolverLanguage.g:1475:2: ( ( rule__Polarity__Group_1__0 ) ) - { - // InternalSolverLanguage.g:1475:2: ( ( rule__Polarity__Group_1__0 ) ) - // InternalSolverLanguage.g:1476:3: ( rule__Polarity__Group_1__0 ) - { - before(grammarAccess.getPolarityAccess().getGroup_1()); - // InternalSolverLanguage.g:1477:3: ( rule__Polarity__Group_1__0 ) - // InternalSolverLanguage.g:1477:4: rule__Polarity__Group_1__0 - { - pushFollow(FOLLOW_2); - rule__Polarity__Group_1__0(); + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - state._fsp--; + restoreStackSize(stackSize); + } + return ; + } + // $ANTLR end "rule__Count__Group__0__Impl" - } - after(grammarAccess.getPolarityAccess().getGroup_1()); + // $ANTLR start "rule__Count__Group__1" + // InternalSolverLanguage.g:4740:1: rule__Count__Group__1 : rule__Count__Group__1__Impl rule__Count__Group__2 ; + public final void rule__Count__Group__1() throws RecognitionException { - } + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4744:1: ( rule__Count__Group__1__Impl rule__Count__Group__2 ) + // InternalSolverLanguage.g:4745:2: rule__Count__Group__1__Impl rule__Count__Group__2 + { + pushFollow(FOLLOW_7); + rule__Count__Group__1__Impl(); + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Count__Group__2(); - } - break; + state._fsp--; + if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); @@ -4915,108 +16254,73 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Polarity__Alternatives" + // $ANTLR end "rule__Count__Group__1" - // $ANTLR start "rule__Constraint__Alternatives" - // InternalSolverLanguage.g:1485:1: rule__Constraint__Alternatives : ( ( ( rule__Constraint__Group_0__0 ) ) | ( ( rule__Constraint__Group_1__0 ) ) ); - public final void rule__Constraint__Alternatives() throws RecognitionException { + // $ANTLR start "rule__Count__Group__1__Impl" + // InternalSolverLanguage.g:4752:1: rule__Count__Group__1__Impl : ( '{' ) ; + public final void rule__Count__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1489:1: ( ( ( rule__Constraint__Group_0__0 ) ) | ( ( rule__Constraint__Group_1__0 ) ) ) - int alt16=2; - switch ( input.LA(1) ) { - case 30: - { - int LA16_1 = input.LA(2); - - if ( (LA16_1==RULE_ID) ) { - alt16=1; - } - else if ( (LA16_1==18) ) { - alt16=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 16, 1, input); - - throw nvae; - } - } - break; - case RULE_ID: - case 13: - { - alt16=1; - } - break; - case 31: - { - alt16=2; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 16, 0, input); - - throw nvae; + // InternalSolverLanguage.g:4756:1: ( ( '{' ) ) + // InternalSolverLanguage.g:4757:1: ( '{' ) + { + // InternalSolverLanguage.g:4757:1: ( '{' ) + // InternalSolverLanguage.g:4758:2: '{' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); } - switch (alt16) { - case 1 : - // InternalSolverLanguage.g:1490:2: ( ( rule__Constraint__Group_0__0 ) ) - { - // InternalSolverLanguage.g:1490:2: ( ( rule__Constraint__Group_0__0 ) ) - // InternalSolverLanguage.g:1491:3: ( rule__Constraint__Group_0__0 ) - { - before(grammarAccess.getConstraintAccess().getGroup_0()); - // InternalSolverLanguage.g:1492:3: ( rule__Constraint__Group_0__0 ) - // InternalSolverLanguage.g:1492:4: rule__Constraint__Group_0__0 - { - pushFollow(FOLLOW_2); - rule__Constraint__Group_0__0(); - - state._fsp--; - - - } - - after(grammarAccess.getConstraintAccess().getGroup_0()); + } - } + } - } - break; - case 2 : - // InternalSolverLanguage.g:1496:2: ( ( rule__Constraint__Group_1__0 ) ) - { - // InternalSolverLanguage.g:1496:2: ( ( rule__Constraint__Group_1__0 ) ) - // InternalSolverLanguage.g:1497:3: ( rule__Constraint__Group_1__0 ) - { - before(grammarAccess.getConstraintAccess().getGroup_1()); - // InternalSolverLanguage.g:1498:3: ( rule__Constraint__Group_1__0 ) - // InternalSolverLanguage.g:1498:4: rule__Constraint__Group_1__0 - { - pushFollow(FOLLOW_2); - rule__Constraint__Group_1__0(); + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - state._fsp--; + restoreStackSize(stackSize); + } + return ; + } + // $ANTLR end "rule__Count__Group__1__Impl" - } - after(grammarAccess.getConstraintAccess().getGroup_1()); + // $ANTLR start "rule__Count__Group__2" + // InternalSolverLanguage.g:4767:1: rule__Count__Group__2 : rule__Count__Group__2__Impl rule__Count__Group__3 ; + public final void rule__Count__Group__2() throws RecognitionException { - } + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4771:1: ( rule__Count__Group__2__Impl rule__Count__Group__3 ) + // InternalSolverLanguage.g:4772:2: rule__Count__Group__2__Impl rule__Count__Group__3 + { + pushFollow(FOLLOW_32); + rule__Count__Group__2__Impl(); + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Count__Group__3(); - } - break; + state._fsp--; + if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); @@ -5029,85 +16333,78 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Alternatives" + // $ANTLR end "rule__Count__Group__2" - // $ANTLR start "rule__ClosureType__Alternatives" - // InternalSolverLanguage.g:1506:1: rule__ClosureType__Alternatives : ( ( ( rule__ClosureType__Group_0__0 ) ) | ( ( rule__ClosureType__Group_1__0 ) ) ); - public final void rule__ClosureType__Alternatives() throws RecognitionException { + // $ANTLR start "rule__Count__Group__2__Impl" + // InternalSolverLanguage.g:4779:1: rule__Count__Group__2__Impl : ( ( rule__Count__BodyAssignment_2 ) ) ; + public final void rule__Count__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1510:1: ( ( ( rule__ClosureType__Group_0__0 ) ) | ( ( rule__ClosureType__Group_1__0 ) ) ) - int alt17=2; - int LA17_0 = input.LA(1); - - if ( (LA17_0==31) ) { - alt17=1; - } - else if ( (LA17_0==30) ) { - alt17=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 17, 0, input); - - throw nvae; + // InternalSolverLanguage.g:4783:1: ( ( ( rule__Count__BodyAssignment_2 ) ) ) + // InternalSolverLanguage.g:4784:1: ( ( rule__Count__BodyAssignment_2 ) ) + { + // InternalSolverLanguage.g:4784:1: ( ( rule__Count__BodyAssignment_2 ) ) + // InternalSolverLanguage.g:4785:2: ( rule__Count__BodyAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCountAccess().getBodyAssignment_2()); } - switch (alt17) { - case 1 : - // InternalSolverLanguage.g:1511:2: ( ( rule__ClosureType__Group_0__0 ) ) - { - // InternalSolverLanguage.g:1511:2: ( ( rule__ClosureType__Group_0__0 ) ) - // InternalSolverLanguage.g:1512:3: ( rule__ClosureType__Group_0__0 ) - { - before(grammarAccess.getClosureTypeAccess().getGroup_0()); - // InternalSolverLanguage.g:1513:3: ( rule__ClosureType__Group_0__0 ) - // InternalSolverLanguage.g:1513:4: rule__ClosureType__Group_0__0 - { - pushFollow(FOLLOW_2); - rule__ClosureType__Group_0__0(); - - state._fsp--; + // InternalSolverLanguage.g:4786:2: ( rule__Count__BodyAssignment_2 ) + // InternalSolverLanguage.g:4786:3: rule__Count__BodyAssignment_2 + { + pushFollow(FOLLOW_2); + rule__Count__BodyAssignment_2(); + state._fsp--; + if (state.failed) return ; - } + } - after(grammarAccess.getClosureTypeAccess().getGroup_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getCountAccess().getBodyAssignment_2()); + } - } + } - } - break; - case 2 : - // InternalSolverLanguage.g:1517:2: ( ( rule__ClosureType__Group_1__0 ) ) - { - // InternalSolverLanguage.g:1517:2: ( ( rule__ClosureType__Group_1__0 ) ) - // InternalSolverLanguage.g:1518:3: ( rule__ClosureType__Group_1__0 ) - { - before(grammarAccess.getClosureTypeAccess().getGroup_1()); - // InternalSolverLanguage.g:1519:3: ( rule__ClosureType__Group_1__0 ) - // InternalSolverLanguage.g:1519:4: rule__ClosureType__Group_1__0 - { - pushFollow(FOLLOW_2); - rule__ClosureType__Group_1__0(); + } - state._fsp--; + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + restoreStackSize(stackSize); - } + } + return ; + } + // $ANTLR end "rule__Count__Group__2__Impl" - after(grammarAccess.getClosureTypeAccess().getGroup_1()); - } + // $ANTLR start "rule__Count__Group__3" + // InternalSolverLanguage.g:4794:1: rule__Count__Group__3 : rule__Count__Group__3__Impl ; + public final void rule__Count__Group__3() throws RecognitionException { + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4798:1: ( rule__Count__Group__3__Impl ) + // InternalSolverLanguage.g:4799:2: rule__Count__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__Count__Group__3__Impl(); - } - break; + state._fsp--; + if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); @@ -5120,105 +16417,73 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClosureType__Alternatives" + // $ANTLR end "rule__Count__Group__3" - // $ANTLR start "rule__Literal__Alternatives" - // InternalSolverLanguage.g:1527:1: rule__Literal__Alternatives : ( ( ruleVariable ) | ( ruleDataObject ) | ( ruleNamedObject ) ); - public final void rule__Literal__Alternatives() throws RecognitionException { + // $ANTLR start "rule__Count__Group__3__Impl" + // InternalSolverLanguage.g:4805:1: rule__Count__Group__3__Impl : ( '}' ) ; + public final void rule__Count__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1531:1: ( ( ruleVariable ) | ( ruleDataObject ) | ( ruleNamedObject ) ) - int alt18=3; - switch ( input.LA(1) ) { - case RULE_ID: - { - alt18=1; - } - break; - case RULE_INT: - case RULE_STRING: - case 11: - case 12: - case 13: - { - alt18=2; - } - break; - case 27: - { - alt18=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 18, 0, input); - - throw nvae; + // InternalSolverLanguage.g:4809:1: ( ( '}' ) ) + // InternalSolverLanguage.g:4810:1: ( '}' ) + { + // InternalSolverLanguage.g:4810:1: ( '}' ) + // InternalSolverLanguage.g:4811:2: '}' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); + } + match(input,59,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); } - switch (alt18) { - case 1 : - // InternalSolverLanguage.g:1532:2: ( ruleVariable ) - { - // InternalSolverLanguage.g:1532:2: ( ruleVariable ) - // InternalSolverLanguage.g:1533:3: ruleVariable - { - before(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0()); - pushFollow(FOLLOW_2); - ruleVariable(); - - state._fsp--; - - after(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0()); - - } - - - } - break; - case 2 : - // InternalSolverLanguage.g:1538:2: ( ruleDataObject ) - { - // InternalSolverLanguage.g:1538:2: ( ruleDataObject ) - // InternalSolverLanguage.g:1539:3: ruleDataObject - { - before(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1()); - pushFollow(FOLLOW_2); - ruleDataObject(); + } - state._fsp--; - after(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1()); + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + restoreStackSize(stackSize); - } - break; - case 3 : - // InternalSolverLanguage.g:1544:2: ( ruleNamedObject ) - { - // InternalSolverLanguage.g:1544:2: ( ruleNamedObject ) - // InternalSolverLanguage.g:1545:3: ruleNamedObject - { - before(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2()); - pushFollow(FOLLOW_2); - ruleNamedObject(); + } + return ; + } + // $ANTLR end "rule__Count__Group__3__Impl" - state._fsp--; - after(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2()); + // $ANTLR start "rule__Aggregation__Group__0" + // InternalSolverLanguage.g:4821:1: rule__Aggregation__Group__0 : rule__Aggregation__Group__0__Impl rule__Aggregation__Group__1 ; + public final void rule__Aggregation__Group__0() throws RecognitionException { - } + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4825:1: ( rule__Aggregation__Group__0__Impl rule__Aggregation__Group__1 ) + // InternalSolverLanguage.g:4826:2: rule__Aggregation__Group__0__Impl rule__Aggregation__Group__1 + { + pushFollow(FOLLOW_31); + rule__Aggregation__Group__0__Impl(); + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Aggregation__Group__1(); - } - break; + state._fsp--; + if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); @@ -5231,103 +16496,83 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Literal__Alternatives" + // $ANTLR end "rule__Aggregation__Group__0" - // $ANTLR start "rule__CDInterpretation__Alternatives" - // InternalSolverLanguage.g:1554:1: rule__CDInterpretation__Alternatives : ( ( ruleClassInterpretation ) | ( ruleEnumInterpretation ) | ( ruleGlobalRelationInterpretation ) ); - public final void rule__CDInterpretation__Alternatives() throws RecognitionException { + // $ANTLR start "rule__Aggregation__Group__0__Impl" + // InternalSolverLanguage.g:4833:1: rule__Aggregation__Group__0__Impl : ( ( rule__Aggregation__OpAssignment_0 ) ) ; + public final void rule__Aggregation__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1558:1: ( ( ruleClassInterpretation ) | ( ruleEnumInterpretation ) | ( ruleGlobalRelationInterpretation ) ) - int alt19=3; - switch ( input.LA(1) ) { - case 33: - case 40: - { - alt19=1; - } - break; - case 37: - { - alt19=2; - } - break; - case 38: - case 41: - { - alt19=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 19, 0, input); - - throw nvae; + // InternalSolverLanguage.g:4837:1: ( ( ( rule__Aggregation__OpAssignment_0 ) ) ) + // InternalSolverLanguage.g:4838:1: ( ( rule__Aggregation__OpAssignment_0 ) ) + { + // InternalSolverLanguage.g:4838:1: ( ( rule__Aggregation__OpAssignment_0 ) ) + // InternalSolverLanguage.g:4839:2: ( rule__Aggregation__OpAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationAccess().getOpAssignment_0()); } + // InternalSolverLanguage.g:4840:2: ( rule__Aggregation__OpAssignment_0 ) + // InternalSolverLanguage.g:4840:3: rule__Aggregation__OpAssignment_0 + { + pushFollow(FOLLOW_2); + rule__Aggregation__OpAssignment_0(); - switch (alt19) { - case 1 : - // InternalSolverLanguage.g:1559:2: ( ruleClassInterpretation ) - { - // InternalSolverLanguage.g:1559:2: ( ruleClassInterpretation ) - // InternalSolverLanguage.g:1560:3: ruleClassInterpretation - { - before(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0()); - pushFollow(FOLLOW_2); - ruleClassInterpretation(); - - state._fsp--; - - after(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0()); + state._fsp--; + if (state.failed) return ; - } + } + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationAccess().getOpAssignment_0()); + } - } - break; - case 2 : - // InternalSolverLanguage.g:1565:2: ( ruleEnumInterpretation ) - { - // InternalSolverLanguage.g:1565:2: ( ruleEnumInterpretation ) - // InternalSolverLanguage.g:1566:3: ruleEnumInterpretation - { - before(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1()); - pushFollow(FOLLOW_2); - ruleEnumInterpretation(); + } - state._fsp--; - after(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1()); + } - } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + restoreStackSize(stackSize); - } - break; - case 3 : - // InternalSolverLanguage.g:1571:2: ( ruleGlobalRelationInterpretation ) - { - // InternalSolverLanguage.g:1571:2: ( ruleGlobalRelationInterpretation ) - // InternalSolverLanguage.g:1572:3: ruleGlobalRelationInterpretation - { - before(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2()); - pushFollow(FOLLOW_2); - ruleGlobalRelationInterpretation(); + } + return ; + } + // $ANTLR end "rule__Aggregation__Group__0__Impl" - state._fsp--; - after(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2()); + // $ANTLR start "rule__Aggregation__Group__1" + // InternalSolverLanguage.g:4848:1: rule__Aggregation__Group__1 : rule__Aggregation__Group__1__Impl rule__Aggregation__Group__2 ; + public final void rule__Aggregation__Group__1() throws RecognitionException { - } + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:4852:1: ( rule__Aggregation__Group__1__Impl rule__Aggregation__Group__2 ) + // InternalSolverLanguage.g:4853:2: rule__Aggregation__Group__1__Impl rule__Aggregation__Group__2 + { + pushFollow(FOLLOW_7); + rule__Aggregation__Group__1__Impl(); + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Aggregation__Group__2(); - } - break; + state._fsp--; + if (state.failed) return ; } + } catch (RecognitionException re) { reportError(re); @@ -5340,85 +16585,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__CDInterpretation__Alternatives" + // $ANTLR end "rule__Aggregation__Group__1" - // $ANTLR start "rule__MultiplicityDefinition__Alternatives_2" - // InternalSolverLanguage.g:1581:1: rule__MultiplicityDefinition__Alternatives_2 : ( ( ( rule__MultiplicityDefinition__UpperAssignment_2_0 ) ) | ( ( rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 ) ) ); - public final void rule__MultiplicityDefinition__Alternatives_2() throws RecognitionException { + // $ANTLR start "rule__Aggregation__Group__1__Impl" + // InternalSolverLanguage.g:4860:1: rule__Aggregation__Group__1__Impl : ( '{' ) ; + public final void rule__Aggregation__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1585:1: ( ( ( rule__MultiplicityDefinition__UpperAssignment_2_0 ) ) | ( ( rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 ) ) ) - int alt20=2; - int LA20_0 = input.LA(1); - - if ( (LA20_0==RULE_INT) ) { - alt20=1; + // InternalSolverLanguage.g:4864:1: ( ( '{' ) ) + // InternalSolverLanguage.g:4865:1: ( '{' ) + { + // InternalSolverLanguage.g:4865:1: ( '{' ) + // InternalSolverLanguage.g:4866:2: '{' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); } - else if ( (LA20_0==31) ) { - alt20=2; + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); } - else { - NoViableAltException nvae = - new NoViableAltException("", 20, 0, input); - throw nvae; } - switch (alt20) { - case 1 : - // InternalSolverLanguage.g:1586:2: ( ( rule__MultiplicityDefinition__UpperAssignment_2_0 ) ) - { - // InternalSolverLanguage.g:1586:2: ( ( rule__MultiplicityDefinition__UpperAssignment_2_0 ) ) - // InternalSolverLanguage.g:1587:3: ( rule__MultiplicityDefinition__UpperAssignment_2_0 ) - { - before(grammarAccess.getMultiplicityDefinitionAccess().getUpperAssignment_2_0()); - // InternalSolverLanguage.g:1588:3: ( rule__MultiplicityDefinition__UpperAssignment_2_0 ) - // InternalSolverLanguage.g:1588:4: rule__MultiplicityDefinition__UpperAssignment_2_0 - { - pushFollow(FOLLOW_2); - rule__MultiplicityDefinition__UpperAssignment_2_0(); - - state._fsp--; - - - } - - after(grammarAccess.getMultiplicityDefinitionAccess().getUpperAssignment_2_0()); - - } - - - } - break; - case 2 : - // InternalSolverLanguage.g:1592:2: ( ( rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 ) ) - { - // InternalSolverLanguage.g:1592:2: ( ( rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 ) ) - // InternalSolverLanguage.g:1593:3: ( rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 ) - { - before(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAssignment_2_1()); - // InternalSolverLanguage.g:1594:3: ( rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 ) - // InternalSolverLanguage.g:1594:4: rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 - { - pushFollow(FOLLOW_2); - rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1(); - - state._fsp--; - - - } - - after(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAssignment_2_1()); - - } - } - break; - } + } catch (RecognitionException re) { reportError(re); @@ -5431,29 +16626,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__MultiplicityDefinition__Alternatives_2" + // $ANTLR end "rule__Aggregation__Group__1__Impl" - // $ANTLR start "rule__REALLiteral__Group__0" - // InternalSolverLanguage.g:1602:1: rule__REALLiteral__Group__0 : rule__REALLiteral__Group__0__Impl rule__REALLiteral__Group__1 ; - public final void rule__REALLiteral__Group__0() throws RecognitionException { + // $ANTLR start "rule__Aggregation__Group__2" + // InternalSolverLanguage.g:4875:1: rule__Aggregation__Group__2 : rule__Aggregation__Group__2__Impl rule__Aggregation__Group__3 ; + public final void rule__Aggregation__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1606:1: ( rule__REALLiteral__Group__0__Impl rule__REALLiteral__Group__1 ) - // InternalSolverLanguage.g:1607:2: rule__REALLiteral__Group__0__Impl rule__REALLiteral__Group__1 + // InternalSolverLanguage.g:4879:1: ( rule__Aggregation__Group__2__Impl rule__Aggregation__Group__3 ) + // InternalSolverLanguage.g:4880:2: rule__Aggregation__Group__2__Impl rule__Aggregation__Group__3 { - pushFollow(FOLLOW_5); - rule__REALLiteral__Group__0__Impl(); + pushFollow(FOLLOW_33); + rule__Aggregation__Group__2__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__REALLiteral__Group__1(); + rule__Aggregation__Group__3(); state._fsp--; - + if (state.failed) return ; } @@ -5469,42 +16664,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__REALLiteral__Group__0" + // $ANTLR end "rule__Aggregation__Group__2" - // $ANTLR start "rule__REALLiteral__Group__0__Impl" - // InternalSolverLanguage.g:1614:1: rule__REALLiteral__Group__0__Impl : ( ( '-' )? ) ; - public final void rule__REALLiteral__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Aggregation__Group__2__Impl" + // InternalSolverLanguage.g:4887:1: rule__Aggregation__Group__2__Impl : ( ( rule__Aggregation__BodyAssignment_2 ) ) ; + public final void rule__Aggregation__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1618:1: ( ( ( '-' )? ) ) - // InternalSolverLanguage.g:1619:1: ( ( '-' )? ) + // InternalSolverLanguage.g:4891:1: ( ( ( rule__Aggregation__BodyAssignment_2 ) ) ) + // InternalSolverLanguage.g:4892:1: ( ( rule__Aggregation__BodyAssignment_2 ) ) { - // InternalSolverLanguage.g:1619:1: ( ( '-' )? ) - // InternalSolverLanguage.g:1620:2: ( '-' )? + // InternalSolverLanguage.g:4892:1: ( ( rule__Aggregation__BodyAssignment_2 ) ) + // InternalSolverLanguage.g:4893:2: ( rule__Aggregation__BodyAssignment_2 ) { - before(grammarAccess.getREALLiteralAccess().getHyphenMinusKeyword_0()); - // InternalSolverLanguage.g:1621:2: ( '-' )? - int alt21=2; - int LA21_0 = input.LA(1); - - if ( (LA21_0==13) ) { - alt21=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationAccess().getBodyAssignment_2()); } - switch (alt21) { - case 1 : - // InternalSolverLanguage.g:1621:3: '-' - { - match(input,13,FOLLOW_2); + // InternalSolverLanguage.g:4894:2: ( rule__Aggregation__BodyAssignment_2 ) + // InternalSolverLanguage.g:4894:3: rule__Aggregation__BodyAssignment_2 + { + pushFollow(FOLLOW_2); + rule__Aggregation__BodyAssignment_2(); - } - break; + state._fsp--; + if (state.failed) return ; } - after(grammarAccess.getREALLiteralAccess().getHyphenMinusKeyword_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationAccess().getBodyAssignment_2()); + } } @@ -5523,29 +16715,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__REALLiteral__Group__0__Impl" + // $ANTLR end "rule__Aggregation__Group__2__Impl" - // $ANTLR start "rule__REALLiteral__Group__1" - // InternalSolverLanguage.g:1629:1: rule__REALLiteral__Group__1 : rule__REALLiteral__Group__1__Impl rule__REALLiteral__Group__2 ; - public final void rule__REALLiteral__Group__1() throws RecognitionException { + // $ANTLR start "rule__Aggregation__Group__3" + // InternalSolverLanguage.g:4902:1: rule__Aggregation__Group__3 : rule__Aggregation__Group__3__Impl rule__Aggregation__Group__4 ; + public final void rule__Aggregation__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1633:1: ( rule__REALLiteral__Group__1__Impl rule__REALLiteral__Group__2 ) - // InternalSolverLanguage.g:1634:2: rule__REALLiteral__Group__1__Impl rule__REALLiteral__Group__2 + // InternalSolverLanguage.g:4906:1: ( rule__Aggregation__Group__3__Impl rule__Aggregation__Group__4 ) + // InternalSolverLanguage.g:4907:2: rule__Aggregation__Group__3__Impl rule__Aggregation__Group__4 { - pushFollow(FOLLOW_6); - rule__REALLiteral__Group__1__Impl(); + pushFollow(FOLLOW_7); + rule__Aggregation__Group__3__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__REALLiteral__Group__2(); + rule__Aggregation__Group__4(); state._fsp--; - + if (state.failed) return ; } @@ -5561,25 +16753,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__REALLiteral__Group__1" + // $ANTLR end "rule__Aggregation__Group__3" - // $ANTLR start "rule__REALLiteral__Group__1__Impl" - // InternalSolverLanguage.g:1641:1: rule__REALLiteral__Group__1__Impl : ( RULE_INT ) ; - public final void rule__REALLiteral__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Aggregation__Group__3__Impl" + // InternalSolverLanguage.g:4914:1: rule__Aggregation__Group__3__Impl : ( '|' ) ; + public final void rule__Aggregation__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1645:1: ( ( RULE_INT ) ) - // InternalSolverLanguage.g:1646:1: ( RULE_INT ) + // InternalSolverLanguage.g:4918:1: ( ( '|' ) ) + // InternalSolverLanguage.g:4919:1: ( '|' ) { - // InternalSolverLanguage.g:1646:1: ( RULE_INT ) - // InternalSolverLanguage.g:1647:2: RULE_INT + // InternalSolverLanguage.g:4919:1: ( '|' ) + // InternalSolverLanguage.g:4920:2: '|' { - before(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_1()); - match(input,RULE_INT,FOLLOW_2); - after(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_1()); + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); + } + match(input,60,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); + } } @@ -5598,29 +16794,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__REALLiteral__Group__1__Impl" + // $ANTLR end "rule__Aggregation__Group__3__Impl" - // $ANTLR start "rule__REALLiteral__Group__2" - // InternalSolverLanguage.g:1656:1: rule__REALLiteral__Group__2 : rule__REALLiteral__Group__2__Impl rule__REALLiteral__Group__3 ; - public final void rule__REALLiteral__Group__2() throws RecognitionException { + // $ANTLR start "rule__Aggregation__Group__4" + // InternalSolverLanguage.g:4929:1: rule__Aggregation__Group__4 : rule__Aggregation__Group__4__Impl rule__Aggregation__Group__5 ; + public final void rule__Aggregation__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1660:1: ( rule__REALLiteral__Group__2__Impl rule__REALLiteral__Group__3 ) - // InternalSolverLanguage.g:1661:2: rule__REALLiteral__Group__2__Impl rule__REALLiteral__Group__3 + // InternalSolverLanguage.g:4933:1: ( rule__Aggregation__Group__4__Impl rule__Aggregation__Group__5 ) + // InternalSolverLanguage.g:4934:2: rule__Aggregation__Group__4__Impl rule__Aggregation__Group__5 { - pushFollow(FOLLOW_5); - rule__REALLiteral__Group__2__Impl(); + pushFollow(FOLLOW_32); + rule__Aggregation__Group__4__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__REALLiteral__Group__3(); + rule__Aggregation__Group__5(); state._fsp--; - + if (state.failed) return ; } @@ -5636,25 +16832,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__REALLiteral__Group__2" + // $ANTLR end "rule__Aggregation__Group__4" - // $ANTLR start "rule__REALLiteral__Group__2__Impl" - // InternalSolverLanguage.g:1668:1: rule__REALLiteral__Group__2__Impl : ( '.' ) ; - public final void rule__REALLiteral__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__Aggregation__Group__4__Impl" + // InternalSolverLanguage.g:4941:1: rule__Aggregation__Group__4__Impl : ( ( rule__Aggregation__ConditionAssignment_4 ) ) ; + public final void rule__Aggregation__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1672:1: ( ( '.' ) ) - // InternalSolverLanguage.g:1673:1: ( '.' ) + // InternalSolverLanguage.g:4945:1: ( ( ( rule__Aggregation__ConditionAssignment_4 ) ) ) + // InternalSolverLanguage.g:4946:1: ( ( rule__Aggregation__ConditionAssignment_4 ) ) + { + // InternalSolverLanguage.g:4946:1: ( ( rule__Aggregation__ConditionAssignment_4 ) ) + // InternalSolverLanguage.g:4947:2: ( rule__Aggregation__ConditionAssignment_4 ) { - // InternalSolverLanguage.g:1673:1: ( '.' ) - // InternalSolverLanguage.g:1674:2: '.' + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationAccess().getConditionAssignment_4()); + } + // InternalSolverLanguage.g:4948:2: ( rule__Aggregation__ConditionAssignment_4 ) + // InternalSolverLanguage.g:4948:3: rule__Aggregation__ConditionAssignment_4 { - before(grammarAccess.getREALLiteralAccess().getFullStopKeyword_2()); - match(input,14,FOLLOW_2); - after(grammarAccess.getREALLiteralAccess().getFullStopKeyword_2()); + pushFollow(FOLLOW_2); + rule__Aggregation__ConditionAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationAccess().getConditionAssignment_4()); + } } @@ -5673,24 +16883,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__REALLiteral__Group__2__Impl" + // $ANTLR end "rule__Aggregation__Group__4__Impl" - // $ANTLR start "rule__REALLiteral__Group__3" - // InternalSolverLanguage.g:1683:1: rule__REALLiteral__Group__3 : rule__REALLiteral__Group__3__Impl ; - public final void rule__REALLiteral__Group__3() throws RecognitionException { + // $ANTLR start "rule__Aggregation__Group__5" + // InternalSolverLanguage.g:4956:1: rule__Aggregation__Group__5 : rule__Aggregation__Group__5__Impl ; + public final void rule__Aggregation__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1687:1: ( rule__REALLiteral__Group__3__Impl ) - // InternalSolverLanguage.g:1688:2: rule__REALLiteral__Group__3__Impl + // InternalSolverLanguage.g:4960:1: ( rule__Aggregation__Group__5__Impl ) + // InternalSolverLanguage.g:4961:2: rule__Aggregation__Group__5__Impl { pushFollow(FOLLOW_2); - rule__REALLiteral__Group__3__Impl(); + rule__Aggregation__Group__5__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -5706,25 +16916,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__REALLiteral__Group__3" + // $ANTLR end "rule__Aggregation__Group__5" - // $ANTLR start "rule__REALLiteral__Group__3__Impl" - // InternalSolverLanguage.g:1694:1: rule__REALLiteral__Group__3__Impl : ( RULE_INT ) ; - public final void rule__REALLiteral__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__Aggregation__Group__5__Impl" + // InternalSolverLanguage.g:4967:1: rule__Aggregation__Group__5__Impl : ( '}' ) ; + public final void rule__Aggregation__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1698:1: ( ( RULE_INT ) ) - // InternalSolverLanguage.g:1699:1: ( RULE_INT ) + // InternalSolverLanguage.g:4971:1: ( ( '}' ) ) + // InternalSolverLanguage.g:4972:1: ( '}' ) { - // InternalSolverLanguage.g:1699:1: ( RULE_INT ) - // InternalSolverLanguage.g:1700:2: RULE_INT + // InternalSolverLanguage.g:4972:1: ( '}' ) + // InternalSolverLanguage.g:4973:2: '}' { - before(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_3()); - match(input,RULE_INT,FOLLOW_2); - after(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_3()); + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); + } + match(input,59,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); + } } @@ -5743,29 +16957,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__REALLiteral__Group__3__Impl" + // $ANTLR end "rule__Aggregation__Group__5__Impl" - // $ANTLR start "rule__INTLiteral__Group__0" - // InternalSolverLanguage.g:1710:1: rule__INTLiteral__Group__0 : rule__INTLiteral__Group__0__Impl rule__INTLiteral__Group__1 ; - public final void rule__INTLiteral__Group__0() throws RecognitionException { + // $ANTLR start "rule__AtomicExpression__Group_0__0" + // InternalSolverLanguage.g:4983:1: rule__AtomicExpression__Group_0__0 : rule__AtomicExpression__Group_0__0__Impl rule__AtomicExpression__Group_0__1 ; + public final void rule__AtomicExpression__Group_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1714:1: ( rule__INTLiteral__Group__0__Impl rule__INTLiteral__Group__1 ) - // InternalSolverLanguage.g:1715:2: rule__INTLiteral__Group__0__Impl rule__INTLiteral__Group__1 + // InternalSolverLanguage.g:4987:1: ( rule__AtomicExpression__Group_0__0__Impl rule__AtomicExpression__Group_0__1 ) + // InternalSolverLanguage.g:4988:2: rule__AtomicExpression__Group_0__0__Impl rule__AtomicExpression__Group_0__1 { - pushFollow(FOLLOW_5); - rule__INTLiteral__Group__0__Impl(); + pushFollow(FOLLOW_12); + rule__AtomicExpression__Group_0__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__INTLiteral__Group__1(); + rule__AtomicExpression__Group_0__1(); state._fsp--; - + if (state.failed) return ; } @@ -5781,43 +16995,34 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__INTLiteral__Group__0" + // $ANTLR end "rule__AtomicExpression__Group_0__0" - // $ANTLR start "rule__INTLiteral__Group__0__Impl" - // InternalSolverLanguage.g:1722:1: rule__INTLiteral__Group__0__Impl : ( ( '-' )? ) ; - public final void rule__INTLiteral__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__AtomicExpression__Group_0__0__Impl" + // InternalSolverLanguage.g:4995:1: rule__AtomicExpression__Group_0__0__Impl : ( ruleReference ) ; + public final void rule__AtomicExpression__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1726:1: ( ( ( '-' )? ) ) - // InternalSolverLanguage.g:1727:1: ( ( '-' )? ) + // InternalSolverLanguage.g:4999:1: ( ( ruleReference ) ) + // InternalSolverLanguage.g:5000:1: ( ruleReference ) { - // InternalSolverLanguage.g:1727:1: ( ( '-' )? ) - // InternalSolverLanguage.g:1728:2: ( '-' )? + // InternalSolverLanguage.g:5000:1: ( ruleReference ) + // InternalSolverLanguage.g:5001:2: ruleReference { - before(grammarAccess.getINTLiteralAccess().getHyphenMinusKeyword_0()); - // InternalSolverLanguage.g:1729:2: ( '-' )? - int alt22=2; - int LA22_0 = input.LA(1); - - if ( (LA22_0==13) ) { - alt22=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0_0()); } - switch (alt22) { - case 1 : - // InternalSolverLanguage.g:1729:3: '-' - { - match(input,13,FOLLOW_2); - - } - break; + pushFollow(FOLLOW_2); + ruleReference(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0_0()); } - after(grammarAccess.getINTLiteralAccess().getHyphenMinusKeyword_0()); - } @@ -5835,24 +17040,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__INTLiteral__Group__0__Impl" + // $ANTLR end "rule__AtomicExpression__Group_0__0__Impl" - // $ANTLR start "rule__INTLiteral__Group__1" - // InternalSolverLanguage.g:1737:1: rule__INTLiteral__Group__1 : rule__INTLiteral__Group__1__Impl ; - public final void rule__INTLiteral__Group__1() throws RecognitionException { + // $ANTLR start "rule__AtomicExpression__Group_0__1" + // InternalSolverLanguage.g:5010:1: rule__AtomicExpression__Group_0__1 : rule__AtomicExpression__Group_0__1__Impl ; + public final void rule__AtomicExpression__Group_0__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1741:1: ( rule__INTLiteral__Group__1__Impl ) - // InternalSolverLanguage.g:1742:2: rule__INTLiteral__Group__1__Impl + // InternalSolverLanguage.g:5014:1: ( rule__AtomicExpression__Group_0__1__Impl ) + // InternalSolverLanguage.g:5015:2: rule__AtomicExpression__Group_0__1__Impl { pushFollow(FOLLOW_2); - rule__INTLiteral__Group__1__Impl(); + rule__AtomicExpression__Group_0__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -5868,25 +17073,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__INTLiteral__Group__1" + // $ANTLR end "rule__AtomicExpression__Group_0__1" - // $ANTLR start "rule__INTLiteral__Group__1__Impl" - // InternalSolverLanguage.g:1748:1: rule__INTLiteral__Group__1__Impl : ( RULE_INT ) ; - public final void rule__INTLiteral__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__AtomicExpression__Group_0__1__Impl" + // InternalSolverLanguage.g:5021:1: rule__AtomicExpression__Group_0__1__Impl : ( ( rule__AtomicExpression__Group_0_1__0 )? ) ; + public final void rule__AtomicExpression__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1752:1: ( ( RULE_INT ) ) - // InternalSolverLanguage.g:1753:1: ( RULE_INT ) + // InternalSolverLanguage.g:5025:1: ( ( ( rule__AtomicExpression__Group_0_1__0 )? ) ) + // InternalSolverLanguage.g:5026:1: ( ( rule__AtomicExpression__Group_0_1__0 )? ) { - // InternalSolverLanguage.g:1753:1: ( RULE_INT ) - // InternalSolverLanguage.g:1754:2: RULE_INT + // InternalSolverLanguage.g:5026:1: ( ( rule__AtomicExpression__Group_0_1__0 )? ) + // InternalSolverLanguage.g:5027:2: ( rule__AtomicExpression__Group_0_1__0 )? { - before(grammarAccess.getINTLiteralAccess().getINTTerminalRuleCall_1()); - match(input,RULE_INT,FOLLOW_2); - after(grammarAccess.getINTLiteralAccess().getINTTerminalRuleCall_1()); + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getGroup_0_1()); + } + // InternalSolverLanguage.g:5028:2: ( rule__AtomicExpression__Group_0_1__0 )? + int alt39=2; + int LA39_0 = input.LA(1); + + if ( (LA39_0==61) ) { + alt39=1; + } + switch (alt39) { + case 1 : + // InternalSolverLanguage.g:5028:3: rule__AtomicExpression__Group_0_1__0 + { + pushFollow(FOLLOW_2); + rule__AtomicExpression__Group_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getGroup_0_1()); + } } @@ -5905,29 +17135,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__INTLiteral__Group__1__Impl" + // $ANTLR end "rule__AtomicExpression__Group_0__1__Impl" - // $ANTLR start "rule__BooleanValue__Group_0__0" - // InternalSolverLanguage.g:1764:1: rule__BooleanValue__Group_0__0 : rule__BooleanValue__Group_0__0__Impl rule__BooleanValue__Group_0__1 ; - public final void rule__BooleanValue__Group_0__0() throws RecognitionException { + // $ANTLR start "rule__AtomicExpression__Group_0_1__0" + // InternalSolverLanguage.g:5037:1: rule__AtomicExpression__Group_0_1__0 : rule__AtomicExpression__Group_0_1__0__Impl rule__AtomicExpression__Group_0_1__1 ; + public final void rule__AtomicExpression__Group_0_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1768:1: ( rule__BooleanValue__Group_0__0__Impl rule__BooleanValue__Group_0__1 ) - // InternalSolverLanguage.g:1769:2: rule__BooleanValue__Group_0__0__Impl rule__BooleanValue__Group_0__1 + // InternalSolverLanguage.g:5041:1: ( rule__AtomicExpression__Group_0_1__0__Impl rule__AtomicExpression__Group_0_1__1 ) + // InternalSolverLanguage.g:5042:2: rule__AtomicExpression__Group_0_1__0__Impl rule__AtomicExpression__Group_0_1__1 { - pushFollow(FOLLOW_7); - rule__BooleanValue__Group_0__0__Impl(); + pushFollow(FOLLOW_12); + rule__AtomicExpression__Group_0_1__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__BooleanValue__Group_0__1(); + rule__AtomicExpression__Group_0_1__1(); state._fsp--; - + if (state.failed) return ; } @@ -5943,29 +17173,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BooleanValue__Group_0__0" + // $ANTLR end "rule__AtomicExpression__Group_0_1__0" - // $ANTLR start "rule__BooleanValue__Group_0__0__Impl" - // InternalSolverLanguage.g:1776:1: rule__BooleanValue__Group_0__0__Impl : ( () ) ; - public final void rule__BooleanValue__Group_0__0__Impl() throws RecognitionException { + // $ANTLR start "rule__AtomicExpression__Group_0_1__0__Impl" + // InternalSolverLanguage.g:5049:1: rule__AtomicExpression__Group_0_1__0__Impl : ( () ) ; + public final void rule__AtomicExpression__Group_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1780:1: ( ( () ) ) - // InternalSolverLanguage.g:1781:1: ( () ) + // InternalSolverLanguage.g:5053:1: ( ( () ) ) + // InternalSolverLanguage.g:5054:1: ( () ) { - // InternalSolverLanguage.g:1781:1: ( () ) - // InternalSolverLanguage.g:1782:2: () + // InternalSolverLanguage.g:5054:1: ( () ) + // InternalSolverLanguage.g:5055:2: () { - before(grammarAccess.getBooleanValueAccess().getBooleanTrueAction_0_0()); - // InternalSolverLanguage.g:1783:2: () - // InternalSolverLanguage.g:1783:3: + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getCallFunctorAction_0_1_0()); + } + // InternalSolverLanguage.g:5056:2: () + // InternalSolverLanguage.g:5056:3: { } - after(grammarAccess.getBooleanValueAccess().getBooleanTrueAction_0_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getCallFunctorAction_0_1_0()); + } } @@ -5980,24 +17214,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BooleanValue__Group_0__0__Impl" + // $ANTLR end "rule__AtomicExpression__Group_0_1__0__Impl" - // $ANTLR start "rule__BooleanValue__Group_0__1" - // InternalSolverLanguage.g:1791:1: rule__BooleanValue__Group_0__1 : rule__BooleanValue__Group_0__1__Impl ; - public final void rule__BooleanValue__Group_0__1() throws RecognitionException { + // $ANTLR start "rule__AtomicExpression__Group_0_1__1" + // InternalSolverLanguage.g:5064:1: rule__AtomicExpression__Group_0_1__1 : rule__AtomicExpression__Group_0_1__1__Impl ; + public final void rule__AtomicExpression__Group_0_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1795:1: ( rule__BooleanValue__Group_0__1__Impl ) - // InternalSolverLanguage.g:1796:2: rule__BooleanValue__Group_0__1__Impl + // InternalSolverLanguage.g:5068:1: ( rule__AtomicExpression__Group_0_1__1__Impl ) + // InternalSolverLanguage.g:5069:2: rule__AtomicExpression__Group_0_1__1__Impl { pushFollow(FOLLOW_2); - rule__BooleanValue__Group_0__1__Impl(); + rule__AtomicExpression__Group_0_1__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -6013,25 +17247,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BooleanValue__Group_0__1" + // $ANTLR end "rule__AtomicExpression__Group_0_1__1" - // $ANTLR start "rule__BooleanValue__Group_0__1__Impl" - // InternalSolverLanguage.g:1802:1: rule__BooleanValue__Group_0__1__Impl : ( 'true' ) ; - public final void rule__BooleanValue__Group_0__1__Impl() throws RecognitionException { + // $ANTLR start "rule__AtomicExpression__Group_0_1__1__Impl" + // InternalSolverLanguage.g:5075:1: rule__AtomicExpression__Group_0_1__1__Impl : ( ( rule__AtomicExpression__ArgumentListAssignment_0_1_1 ) ) ; + public final void rule__AtomicExpression__Group_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1806:1: ( ( 'true' ) ) - // InternalSolverLanguage.g:1807:1: ( 'true' ) + // InternalSolverLanguage.g:5079:1: ( ( ( rule__AtomicExpression__ArgumentListAssignment_0_1_1 ) ) ) + // InternalSolverLanguage.g:5080:1: ( ( rule__AtomicExpression__ArgumentListAssignment_0_1_1 ) ) + { + // InternalSolverLanguage.g:5080:1: ( ( rule__AtomicExpression__ArgumentListAssignment_0_1_1 ) ) + // InternalSolverLanguage.g:5081:2: ( rule__AtomicExpression__ArgumentListAssignment_0_1_1 ) { - // InternalSolverLanguage.g:1807:1: ( 'true' ) - // InternalSolverLanguage.g:1808:2: 'true' + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getArgumentListAssignment_0_1_1()); + } + // InternalSolverLanguage.g:5082:2: ( rule__AtomicExpression__ArgumentListAssignment_0_1_1 ) + // InternalSolverLanguage.g:5082:3: rule__AtomicExpression__ArgumentListAssignment_0_1_1 { - before(grammarAccess.getBooleanValueAccess().getTrueKeyword_0_1()); - match(input,12,FOLLOW_2); - after(grammarAccess.getBooleanValueAccess().getTrueKeyword_0_1()); + pushFollow(FOLLOW_2); + rule__AtomicExpression__ArgumentListAssignment_0_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getArgumentListAssignment_0_1_1()); + } } @@ -6050,29 +17298,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BooleanValue__Group_0__1__Impl" + // $ANTLR end "rule__AtomicExpression__Group_0_1__1__Impl" - // $ANTLR start "rule__BooleanValue__Group_1__0" - // InternalSolverLanguage.g:1818:1: rule__BooleanValue__Group_1__0 : rule__BooleanValue__Group_1__0__Impl rule__BooleanValue__Group_1__1 ; - public final void rule__BooleanValue__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__AtomicExpression__Group_3__0" + // InternalSolverLanguage.g:5091:1: rule__AtomicExpression__Group_3__0 : rule__AtomicExpression__Group_3__0__Impl rule__AtomicExpression__Group_3__1 ; + public final void rule__AtomicExpression__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1822:1: ( rule__BooleanValue__Group_1__0__Impl rule__BooleanValue__Group_1__1 ) - // InternalSolverLanguage.g:1823:2: rule__BooleanValue__Group_1__0__Impl rule__BooleanValue__Group_1__1 + // InternalSolverLanguage.g:5095:1: ( rule__AtomicExpression__Group_3__0__Impl rule__AtomicExpression__Group_3__1 ) + // InternalSolverLanguage.g:5096:2: rule__AtomicExpression__Group_3__0__Impl rule__AtomicExpression__Group_3__1 { - pushFollow(FOLLOW_1); - rule__BooleanValue__Group_1__0__Impl(); + pushFollow(FOLLOW_7); + rule__AtomicExpression__Group_3__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__BooleanValue__Group_1__1(); + rule__AtomicExpression__Group_3__1(); state._fsp--; - + if (state.failed) return ; } @@ -6088,25 +17336,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BooleanValue__Group_1__0" + // $ANTLR end "rule__AtomicExpression__Group_3__0" - // $ANTLR start "rule__BooleanValue__Group_1__0__Impl" - // InternalSolverLanguage.g:1830:1: rule__BooleanValue__Group_1__0__Impl : ( 'false' ) ; - public final void rule__BooleanValue__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__AtomicExpression__Group_3__0__Impl" + // InternalSolverLanguage.g:5103:1: rule__AtomicExpression__Group_3__0__Impl : ( '(' ) ; + public final void rule__AtomicExpression__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1834:1: ( ( 'false' ) ) - // InternalSolverLanguage.g:1835:1: ( 'false' ) + // InternalSolverLanguage.g:5107:1: ( ( '(' ) ) + // InternalSolverLanguage.g:5108:1: ( '(' ) { - // InternalSolverLanguage.g:1835:1: ( 'false' ) - // InternalSolverLanguage.g:1836:2: 'false' + // InternalSolverLanguage.g:5108:1: ( '(' ) + // InternalSolverLanguage.g:5109:2: '(' { - before(grammarAccess.getBooleanValueAccess().getFalseKeyword_1_0()); - match(input,11,FOLLOW_2); - after(grammarAccess.getBooleanValueAccess().getFalseKeyword_1_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0()); + } + match(input,61,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0()); + } } @@ -6125,24 +17377,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BooleanValue__Group_1__0__Impl" + // $ANTLR end "rule__AtomicExpression__Group_3__0__Impl" - // $ANTLR start "rule__BooleanValue__Group_1__1" - // InternalSolverLanguage.g:1845:1: rule__BooleanValue__Group_1__1 : rule__BooleanValue__Group_1__1__Impl ; - public final void rule__BooleanValue__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__AtomicExpression__Group_3__1" + // InternalSolverLanguage.g:5118:1: rule__AtomicExpression__Group_3__1 : rule__AtomicExpression__Group_3__1__Impl rule__AtomicExpression__Group_3__2 ; + public final void rule__AtomicExpression__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1849:1: ( rule__BooleanValue__Group_1__1__Impl ) - // InternalSolverLanguage.g:1850:2: rule__BooleanValue__Group_1__1__Impl + // InternalSolverLanguage.g:5122:1: ( rule__AtomicExpression__Group_3__1__Impl rule__AtomicExpression__Group_3__2 ) + // InternalSolverLanguage.g:5123:2: rule__AtomicExpression__Group_3__1__Impl rule__AtomicExpression__Group_3__2 { - pushFollow(FOLLOW_2); - rule__BooleanValue__Group_1__1__Impl(); + pushFollow(FOLLOW_34); + rule__AtomicExpression__Group_3__1__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__AtomicExpression__Group_3__2(); + state._fsp--; + if (state.failed) return ; } @@ -6158,29 +17415,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BooleanValue__Group_1__1" + // $ANTLR end "rule__AtomicExpression__Group_3__1" - // $ANTLR start "rule__BooleanValue__Group_1__1__Impl" - // InternalSolverLanguage.g:1856:1: rule__BooleanValue__Group_1__1__Impl : ( () ) ; - public final void rule__BooleanValue__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__AtomicExpression__Group_3__1__Impl" + // InternalSolverLanguage.g:5130:1: rule__AtomicExpression__Group_3__1__Impl : ( ruleExpression ) ; + public final void rule__AtomicExpression__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1860:1: ( ( () ) ) - // InternalSolverLanguage.g:1861:1: ( () ) + // InternalSolverLanguage.g:5134:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:5135:1: ( ruleExpression ) { - // InternalSolverLanguage.g:1861:1: ( () ) - // InternalSolverLanguage.g:1862:2: () - { - before(grammarAccess.getBooleanValueAccess().getBooleanFalseAction_1_1()); - // InternalSolverLanguage.g:1863:2: () - // InternalSolverLanguage.g:1863:3: + // InternalSolverLanguage.g:5135:1: ( ruleExpression ) + // InternalSolverLanguage.g:5136:2: ruleExpression { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_3_1()); } + pushFollow(FOLLOW_2); + ruleExpression(); - after(grammarAccess.getBooleanValueAccess().getBooleanFalseAction_1_1()); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_3_1()); + } } @@ -6188,6 +17449,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -6195,29 +17460,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BooleanValue__Group_1__1__Impl" + // $ANTLR end "rule__AtomicExpression__Group_3__1__Impl" - // $ANTLR start "rule__TruthValue__Group_0__0" - // InternalSolverLanguage.g:1872:1: rule__TruthValue__Group_0__0 : rule__TruthValue__Group_0__0__Impl rule__TruthValue__Group_0__1 ; - public final void rule__TruthValue__Group_0__0() throws RecognitionException { + // $ANTLR start "rule__AtomicExpression__Group_3__2" + // InternalSolverLanguage.g:5145:1: rule__AtomicExpression__Group_3__2 : rule__AtomicExpression__Group_3__2__Impl ; + public final void rule__AtomicExpression__Group_3__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1876:1: ( rule__TruthValue__Group_0__0__Impl rule__TruthValue__Group_0__1 ) - // InternalSolverLanguage.g:1877:2: rule__TruthValue__Group_0__0__Impl rule__TruthValue__Group_0__1 + // InternalSolverLanguage.g:5149:1: ( rule__AtomicExpression__Group_3__2__Impl ) + // InternalSolverLanguage.g:5150:2: rule__AtomicExpression__Group_3__2__Impl { - pushFollow(FOLLOW_7); - rule__TruthValue__Group_0__0__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__TruthValue__Group_0__1(); + rule__AtomicExpression__Group_3__2__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -6233,29 +17493,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__TruthValue__Group_0__0" + // $ANTLR end "rule__AtomicExpression__Group_3__2" - // $ANTLR start "rule__TruthValue__Group_0__0__Impl" - // InternalSolverLanguage.g:1884:1: rule__TruthValue__Group_0__0__Impl : ( () ) ; - public final void rule__TruthValue__Group_0__0__Impl() throws RecognitionException { + // $ANTLR start "rule__AtomicExpression__Group_3__2__Impl" + // InternalSolverLanguage.g:5156:1: rule__AtomicExpression__Group_3__2__Impl : ( ')' ) ; + public final void rule__AtomicExpression__Group_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1888:1: ( ( () ) ) - // InternalSolverLanguage.g:1889:1: ( () ) - { - // InternalSolverLanguage.g:1889:1: ( () ) - // InternalSolverLanguage.g:1890:2: () + // InternalSolverLanguage.g:5160:1: ( ( ')' ) ) + // InternalSolverLanguage.g:5161:1: ( ')' ) { - before(grammarAccess.getTruthValueAccess().getTrueAction_0_0()); - // InternalSolverLanguage.g:1891:2: () - // InternalSolverLanguage.g:1891:3: + // InternalSolverLanguage.g:5161:1: ( ')' ) + // InternalSolverLanguage.g:5162:2: ')' { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_3_2()); + } + match(input,62,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_3_2()); } - - after(grammarAccess.getTruthValueAccess().getTrueAction_0_0()); } @@ -6263,6 +17523,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -6270,24 +17534,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__TruthValue__Group_0__0__Impl" + // $ANTLR end "rule__AtomicExpression__Group_3__2__Impl" - // $ANTLR start "rule__TruthValue__Group_0__1" - // InternalSolverLanguage.g:1899:1: rule__TruthValue__Group_0__1 : rule__TruthValue__Group_0__1__Impl ; - public final void rule__TruthValue__Group_0__1() throws RecognitionException { + // $ANTLR start "rule__Call__Group__0" + // InternalSolverLanguage.g:5172:1: rule__Call__Group__0 : rule__Call__Group__0__Impl rule__Call__Group__1 ; + public final void rule__Call__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1903:1: ( rule__TruthValue__Group_0__1__Impl ) - // InternalSolverLanguage.g:1904:2: rule__TruthValue__Group_0__1__Impl + // InternalSolverLanguage.g:5176:1: ( rule__Call__Group__0__Impl rule__Call__Group__1 ) + // InternalSolverLanguage.g:5177:2: rule__Call__Group__0__Impl rule__Call__Group__1 { - pushFollow(FOLLOW_2); - rule__TruthValue__Group_0__1__Impl(); + pushFollow(FOLLOW_35); + rule__Call__Group__0__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Call__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -6303,25 +17572,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__TruthValue__Group_0__1" + // $ANTLR end "rule__Call__Group__0" - // $ANTLR start "rule__TruthValue__Group_0__1__Impl" - // InternalSolverLanguage.g:1910:1: rule__TruthValue__Group_0__1__Impl : ( 'true' ) ; - public final void rule__TruthValue__Group_0__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Call__Group__0__Impl" + // InternalSolverLanguage.g:5184:1: rule__Call__Group__0__Impl : ( ( rule__Call__FunctorAssignment_0 ) ) ; + public final void rule__Call__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1914:1: ( ( 'true' ) ) - // InternalSolverLanguage.g:1915:1: ( 'true' ) + // InternalSolverLanguage.g:5188:1: ( ( ( rule__Call__FunctorAssignment_0 ) ) ) + // InternalSolverLanguage.g:5189:1: ( ( rule__Call__FunctorAssignment_0 ) ) { - // InternalSolverLanguage.g:1915:1: ( 'true' ) - // InternalSolverLanguage.g:1916:2: 'true' + // InternalSolverLanguage.g:5189:1: ( ( rule__Call__FunctorAssignment_0 ) ) + // InternalSolverLanguage.g:5190:2: ( rule__Call__FunctorAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCallAccess().getFunctorAssignment_0()); + } + // InternalSolverLanguage.g:5191:2: ( rule__Call__FunctorAssignment_0 ) + // InternalSolverLanguage.g:5191:3: rule__Call__FunctorAssignment_0 { - before(grammarAccess.getTruthValueAccess().getTrueKeyword_0_1()); - match(input,12,FOLLOW_2); - after(grammarAccess.getTruthValueAccess().getTrueKeyword_0_1()); + pushFollow(FOLLOW_2); + rule__Call__FunctorAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCallAccess().getFunctorAssignment_0()); + } } @@ -6340,29 +17623,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__TruthValue__Group_0__1__Impl" + // $ANTLR end "rule__Call__Group__0__Impl" - // $ANTLR start "rule__TruthValue__Group_1__0" - // InternalSolverLanguage.g:1926:1: rule__TruthValue__Group_1__0 : rule__TruthValue__Group_1__0__Impl rule__TruthValue__Group_1__1 ; - public final void rule__TruthValue__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__Call__Group__1" + // InternalSolverLanguage.g:5199:1: rule__Call__Group__1 : rule__Call__Group__1__Impl rule__Call__Group__2 ; + public final void rule__Call__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1930:1: ( rule__TruthValue__Group_1__0__Impl rule__TruthValue__Group_1__1 ) - // InternalSolverLanguage.g:1931:2: rule__TruthValue__Group_1__0__Impl rule__TruthValue__Group_1__1 + // InternalSolverLanguage.g:5203:1: ( rule__Call__Group__1__Impl rule__Call__Group__2 ) + // InternalSolverLanguage.g:5204:2: rule__Call__Group__1__Impl rule__Call__Group__2 { - pushFollow(FOLLOW_8); - rule__TruthValue__Group_1__0__Impl(); + pushFollow(FOLLOW_35); + rule__Call__Group__1__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__TruthValue__Group_1__1(); + rule__Call__Group__2(); state._fsp--; - + if (state.failed) return ; } @@ -6378,29 +17661,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__TruthValue__Group_1__0" + // $ANTLR end "rule__Call__Group__1" - // $ANTLR start "rule__TruthValue__Group_1__0__Impl" - // InternalSolverLanguage.g:1938:1: rule__TruthValue__Group_1__0__Impl : ( () ) ; - public final void rule__TruthValue__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Call__Group__1__Impl" + // InternalSolverLanguage.g:5211:1: rule__Call__Group__1__Impl : ( ( rule__Call__Alternatives_1 )? ) ; + public final void rule__Call__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1942:1: ( ( () ) ) - // InternalSolverLanguage.g:1943:1: ( () ) - { - // InternalSolverLanguage.g:1943:1: ( () ) - // InternalSolverLanguage.g:1944:2: () + // InternalSolverLanguage.g:5215:1: ( ( ( rule__Call__Alternatives_1 )? ) ) + // InternalSolverLanguage.g:5216:1: ( ( rule__Call__Alternatives_1 )? ) { - before(grammarAccess.getTruthValueAccess().getFalseAction_1_0()); - // InternalSolverLanguage.g:1945:2: () - // InternalSolverLanguage.g:1945:3: + // InternalSolverLanguage.g:5216:1: ( ( rule__Call__Alternatives_1 )? ) + // InternalSolverLanguage.g:5217:2: ( rule__Call__Alternatives_1 )? { + if ( state.backtracking==0 ) { + before(grammarAccess.getCallAccess().getAlternatives_1()); + } + // InternalSolverLanguage.g:5218:2: ( rule__Call__Alternatives_1 )? + int alt40=2; + int LA40_0 = input.LA(1); + + if ( ((LA40_0>=RULE_STAR && LA40_0<=RULE_PLUS)) ) { + alt40=1; + } + switch (alt40) { + case 1 : + // InternalSolverLanguage.g:5218:3: rule__Call__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__Call__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + } - after(grammarAccess.getTruthValueAccess().getFalseAction_1_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getCallAccess().getAlternatives_1()); + } } @@ -6408,6 +17712,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -6415,24 +17723,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__TruthValue__Group_1__0__Impl" + // $ANTLR end "rule__Call__Group__1__Impl" - // $ANTLR start "rule__TruthValue__Group_1__1" - // InternalSolverLanguage.g:1953:1: rule__TruthValue__Group_1__1 : rule__TruthValue__Group_1__1__Impl ; - public final void rule__TruthValue__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__Call__Group__2" + // InternalSolverLanguage.g:5226:1: rule__Call__Group__2 : rule__Call__Group__2__Impl ; + public final void rule__Call__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1957:1: ( rule__TruthValue__Group_1__1__Impl ) - // InternalSolverLanguage.g:1958:2: rule__TruthValue__Group_1__1__Impl + // InternalSolverLanguage.g:5230:1: ( rule__Call__Group__2__Impl ) + // InternalSolverLanguage.g:5231:2: rule__Call__Group__2__Impl { pushFollow(FOLLOW_2); - rule__TruthValue__Group_1__1__Impl(); + rule__Call__Group__2__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -6448,25 +17756,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__TruthValue__Group_1__1" + // $ANTLR end "rule__Call__Group__2" - // $ANTLR start "rule__TruthValue__Group_1__1__Impl" - // InternalSolverLanguage.g:1964:1: rule__TruthValue__Group_1__1__Impl : ( 'false' ) ; - public final void rule__TruthValue__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Call__Group__2__Impl" + // InternalSolverLanguage.g:5237:1: rule__Call__Group__2__Impl : ( ( rule__Call__ArgumentListAssignment_2 ) ) ; + public final void rule__Call__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1968:1: ( ( 'false' ) ) - // InternalSolverLanguage.g:1969:1: ( 'false' ) + // InternalSolverLanguage.g:5241:1: ( ( ( rule__Call__ArgumentListAssignment_2 ) ) ) + // InternalSolverLanguage.g:5242:1: ( ( rule__Call__ArgumentListAssignment_2 ) ) { - // InternalSolverLanguage.g:1969:1: ( 'false' ) - // InternalSolverLanguage.g:1970:2: 'false' + // InternalSolverLanguage.g:5242:1: ( ( rule__Call__ArgumentListAssignment_2 ) ) + // InternalSolverLanguage.g:5243:2: ( rule__Call__ArgumentListAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCallAccess().getArgumentListAssignment_2()); + } + // InternalSolverLanguage.g:5244:2: ( rule__Call__ArgumentListAssignment_2 ) + // InternalSolverLanguage.g:5244:3: rule__Call__ArgumentListAssignment_2 { - before(grammarAccess.getTruthValueAccess().getFalseKeyword_1_1()); - match(input,11,FOLLOW_2); - after(grammarAccess.getTruthValueAccess().getFalseKeyword_1_1()); + pushFollow(FOLLOW_2); + rule__Call__ArgumentListAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCallAccess().getArgumentListAssignment_2()); + } } @@ -6485,29 +17807,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__TruthValue__Group_1__1__Impl" + // $ANTLR end "rule__Call__Group__2__Impl" - // $ANTLR start "rule__TruthValue__Group_2__0" - // InternalSolverLanguage.g:1980:1: rule__TruthValue__Group_2__0 : rule__TruthValue__Group_2__0__Impl rule__TruthValue__Group_2__1 ; - public final void rule__TruthValue__Group_2__0() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__Group__0" + // InternalSolverLanguage.g:5253:1: rule__ArgumentList__Group__0 : rule__ArgumentList__Group__0__Impl rule__ArgumentList__Group__1 ; + public final void rule__ArgumentList__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1984:1: ( rule__TruthValue__Group_2__0__Impl rule__TruthValue__Group_2__1 ) - // InternalSolverLanguage.g:1985:2: rule__TruthValue__Group_2__0__Impl rule__TruthValue__Group_2__1 + // InternalSolverLanguage.g:5257:1: ( rule__ArgumentList__Group__0__Impl rule__ArgumentList__Group__1 ) + // InternalSolverLanguage.g:5258:2: rule__ArgumentList__Group__0__Impl rule__ArgumentList__Group__1 { - pushFollow(FOLLOW_9); - rule__TruthValue__Group_2__0__Impl(); + pushFollow(FOLLOW_12); + rule__ArgumentList__Group__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__TruthValue__Group_2__1(); + rule__ArgumentList__Group__1(); state._fsp--; - + if (state.failed) return ; } @@ -6523,29 +17845,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__TruthValue__Group_2__0" + // $ANTLR end "rule__ArgumentList__Group__0" - // $ANTLR start "rule__TruthValue__Group_2__0__Impl" - // InternalSolverLanguage.g:1992:1: rule__TruthValue__Group_2__0__Impl : ( () ) ; - public final void rule__TruthValue__Group_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__Group__0__Impl" + // InternalSolverLanguage.g:5265:1: rule__ArgumentList__Group__0__Impl : ( () ) ; + public final void rule__ArgumentList__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:1996:1: ( ( () ) ) - // InternalSolverLanguage.g:1997:1: ( () ) + // InternalSolverLanguage.g:5269:1: ( ( () ) ) + // InternalSolverLanguage.g:5270:1: ( () ) { - // InternalSolverLanguage.g:1997:1: ( () ) - // InternalSolverLanguage.g:1998:2: () + // InternalSolverLanguage.g:5270:1: ( () ) + // InternalSolverLanguage.g:5271:2: () { - before(grammarAccess.getTruthValueAccess().getUnknownAction_2_0()); - // InternalSolverLanguage.g:1999:2: () - // InternalSolverLanguage.g:1999:3: + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentListAccess().getArgumentListAction_0()); + } + // InternalSolverLanguage.g:5272:2: () + // InternalSolverLanguage.g:5272:3: { } - after(grammarAccess.getTruthValueAccess().getUnknownAction_2_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentListAccess().getArgumentListAction_0()); + } } @@ -6560,24 +17886,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__TruthValue__Group_2__0__Impl" + // $ANTLR end "rule__ArgumentList__Group__0__Impl" - // $ANTLR start "rule__TruthValue__Group_2__1" - // InternalSolverLanguage.g:2007:1: rule__TruthValue__Group_2__1 : rule__TruthValue__Group_2__1__Impl ; - public final void rule__TruthValue__Group_2__1() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__Group__1" + // InternalSolverLanguage.g:5280:1: rule__ArgumentList__Group__1 : rule__ArgumentList__Group__1__Impl rule__ArgumentList__Group__2 ; + public final void rule__ArgumentList__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2011:1: ( rule__TruthValue__Group_2__1__Impl ) - // InternalSolverLanguage.g:2012:2: rule__TruthValue__Group_2__1__Impl + // InternalSolverLanguage.g:5284:1: ( rule__ArgumentList__Group__1__Impl rule__ArgumentList__Group__2 ) + // InternalSolverLanguage.g:5285:2: rule__ArgumentList__Group__1__Impl rule__ArgumentList__Group__2 { - pushFollow(FOLLOW_2); - rule__TruthValue__Group_2__1__Impl(); + pushFollow(FOLLOW_36); + rule__ArgumentList__Group__1__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ArgumentList__Group__2(); + state._fsp--; + if (state.failed) return ; } @@ -6593,25 +17924,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__TruthValue__Group_2__1" + // $ANTLR end "rule__ArgumentList__Group__1" - // $ANTLR start "rule__TruthValue__Group_2__1__Impl" - // InternalSolverLanguage.g:2018:1: rule__TruthValue__Group_2__1__Impl : ( 'unknown' ) ; - public final void rule__TruthValue__Group_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__Group__1__Impl" + // InternalSolverLanguage.g:5292:1: rule__ArgumentList__Group__1__Impl : ( '(' ) ; + public final void rule__ArgumentList__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2022:1: ( ( 'unknown' ) ) - // InternalSolverLanguage.g:2023:1: ( 'unknown' ) + // InternalSolverLanguage.g:5296:1: ( ( '(' ) ) + // InternalSolverLanguage.g:5297:1: ( '(' ) { - // InternalSolverLanguage.g:2023:1: ( 'unknown' ) - // InternalSolverLanguage.g:2024:2: 'unknown' + // InternalSolverLanguage.g:5297:1: ( '(' ) + // InternalSolverLanguage.g:5298:2: '(' { - before(grammarAccess.getTruthValueAccess().getUnknownKeyword_2_1()); - match(input,15,FOLLOW_2); - after(grammarAccess.getTruthValueAccess().getUnknownKeyword_2_1()); + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); + } + match(input,61,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); + } } @@ -6630,29 +17965,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__TruthValue__Group_2__1__Impl" + // $ANTLR end "rule__ArgumentList__Group__1__Impl" - // $ANTLR start "rule__TruthValue__Group_3__0" - // InternalSolverLanguage.g:2034:1: rule__TruthValue__Group_3__0 : rule__TruthValue__Group_3__0__Impl rule__TruthValue__Group_3__1 ; - public final void rule__TruthValue__Group_3__0() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__Group__2" + // InternalSolverLanguage.g:5307:1: rule__ArgumentList__Group__2 : rule__ArgumentList__Group__2__Impl rule__ArgumentList__Group__3 ; + public final void rule__ArgumentList__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2038:1: ( rule__TruthValue__Group_3__0__Impl rule__TruthValue__Group_3__1 ) - // InternalSolverLanguage.g:2039:2: rule__TruthValue__Group_3__0__Impl rule__TruthValue__Group_3__1 + // InternalSolverLanguage.g:5311:1: ( rule__ArgumentList__Group__2__Impl rule__ArgumentList__Group__3 ) + // InternalSolverLanguage.g:5312:2: rule__ArgumentList__Group__2__Impl rule__ArgumentList__Group__3 { - pushFollow(FOLLOW_10); - rule__TruthValue__Group_3__0__Impl(); + pushFollow(FOLLOW_36); + rule__ArgumentList__Group__2__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__TruthValue__Group_3__1(); + rule__ArgumentList__Group__3(); state._fsp--; - + if (state.failed) return ; } @@ -6668,29 +18003,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__TruthValue__Group_3__0" + // $ANTLR end "rule__ArgumentList__Group__2" - // $ANTLR start "rule__TruthValue__Group_3__0__Impl" - // InternalSolverLanguage.g:2046:1: rule__TruthValue__Group_3__0__Impl : ( () ) ; - public final void rule__TruthValue__Group_3__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__Group__2__Impl" + // InternalSolverLanguage.g:5319:1: rule__ArgumentList__Group__2__Impl : ( ( rule__ArgumentList__Group_2__0 )? ) ; + public final void rule__ArgumentList__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2050:1: ( ( () ) ) - // InternalSolverLanguage.g:2051:1: ( () ) - { - // InternalSolverLanguage.g:2051:1: ( () ) - // InternalSolverLanguage.g:2052:2: () + // InternalSolverLanguage.g:5323:1: ( ( ( rule__ArgumentList__Group_2__0 )? ) ) + // InternalSolverLanguage.g:5324:1: ( ( rule__ArgumentList__Group_2__0 )? ) { - before(grammarAccess.getTruthValueAccess().getErrorAction_3_0()); - // InternalSolverLanguage.g:2053:2: () - // InternalSolverLanguage.g:2053:3: + // InternalSolverLanguage.g:5324:1: ( ( rule__ArgumentList__Group_2__0 )? ) + // InternalSolverLanguage.g:5325:2: ( rule__ArgumentList__Group_2__0 )? { + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentListAccess().getGroup_2()); } + // InternalSolverLanguage.g:5326:2: ( rule__ArgumentList__Group_2__0 )? + int alt41=2; + int LA41_0 = input.LA(1); - after(grammarAccess.getTruthValueAccess().getErrorAction_3_0()); + 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)) ) { + alt41=1; + } + switch (alt41) { + case 1 : + // InternalSolverLanguage.g:5326:3: rule__ArgumentList__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__ArgumentList__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentListAccess().getGroup_2()); + } } @@ -6698,6 +18054,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -6705,24 +18065,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__TruthValue__Group_3__0__Impl" + // $ANTLR end "rule__ArgumentList__Group__2__Impl" - // $ANTLR start "rule__TruthValue__Group_3__1" - // InternalSolverLanguage.g:2061:1: rule__TruthValue__Group_3__1 : rule__TruthValue__Group_3__1__Impl ; - public final void rule__TruthValue__Group_3__1() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__Group__3" + // InternalSolverLanguage.g:5334:1: rule__ArgumentList__Group__3 : rule__ArgumentList__Group__3__Impl ; + public final void rule__ArgumentList__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2065:1: ( rule__TruthValue__Group_3__1__Impl ) - // InternalSolverLanguage.g:2066:2: rule__TruthValue__Group_3__1__Impl + // InternalSolverLanguage.g:5338:1: ( rule__ArgumentList__Group__3__Impl ) + // InternalSolverLanguage.g:5339:2: rule__ArgumentList__Group__3__Impl { pushFollow(FOLLOW_2); - rule__TruthValue__Group_3__1__Impl(); + rule__ArgumentList__Group__3__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -6738,25 +18098,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__TruthValue__Group_3__1" + // $ANTLR end "rule__ArgumentList__Group__3" - // $ANTLR start "rule__TruthValue__Group_3__1__Impl" - // InternalSolverLanguage.g:2072:1: rule__TruthValue__Group_3__1__Impl : ( 'error' ) ; - public final void rule__TruthValue__Group_3__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__Group__3__Impl" + // InternalSolverLanguage.g:5345:1: rule__ArgumentList__Group__3__Impl : ( ')' ) ; + public final void rule__ArgumentList__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2076:1: ( ( 'error' ) ) - // InternalSolverLanguage.g:2077:1: ( 'error' ) + // InternalSolverLanguage.g:5349:1: ( ( ')' ) ) + // InternalSolverLanguage.g:5350:1: ( ')' ) { - // InternalSolverLanguage.g:2077:1: ( 'error' ) - // InternalSolverLanguage.g:2078:2: 'error' + // InternalSolverLanguage.g:5350:1: ( ')' ) + // InternalSolverLanguage.g:5351:2: ')' { - before(grammarAccess.getTruthValueAccess().getErrorKeyword_3_1()); - match(input,16,FOLLOW_2); - after(grammarAccess.getTruthValueAccess().getErrorKeyword_3_1()); + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3()); + } + match(input,62,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3()); + } } @@ -6775,29 +18139,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__TruthValue__Group_3__1__Impl" + // $ANTLR end "rule__ArgumentList__Group__3__Impl" - // $ANTLR start "rule__BasicInterpretation__Group__0" - // InternalSolverLanguage.g:2088:1: rule__BasicInterpretation__Group__0 : rule__BasicInterpretation__Group__0__Impl rule__BasicInterpretation__Group__1 ; - public final void rule__BasicInterpretation__Group__0() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__Group_2__0" + // InternalSolverLanguage.g:5361:1: rule__ArgumentList__Group_2__0 : rule__ArgumentList__Group_2__0__Impl rule__ArgumentList__Group_2__1 ; + public final void rule__ArgumentList__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2092:1: ( rule__BasicInterpretation__Group__0__Impl rule__BasicInterpretation__Group__1 ) - // InternalSolverLanguage.g:2093:2: rule__BasicInterpretation__Group__0__Impl rule__BasicInterpretation__Group__1 + // InternalSolverLanguage.g:5365:1: ( rule__ArgumentList__Group_2__0__Impl rule__ArgumentList__Group_2__1 ) + // InternalSolverLanguage.g:5366:2: rule__ArgumentList__Group_2__0__Impl rule__ArgumentList__Group_2__1 { - pushFollow(FOLLOW_11); - rule__BasicInterpretation__Group__0__Impl(); + pushFollow(FOLLOW_22); + rule__ArgumentList__Group_2__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__BasicInterpretation__Group__1(); + rule__ArgumentList__Group_2__1(); state._fsp--; - + if (state.failed) return ; } @@ -6813,35 +18177,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group__0" + // $ANTLR end "rule__ArgumentList__Group_2__0" - // $ANTLR start "rule__BasicInterpretation__Group__0__Impl" - // InternalSolverLanguage.g:2100:1: rule__BasicInterpretation__Group__0__Impl : ( ( rule__BasicInterpretation__SymbolAssignment_0 ) ) ; - public final void rule__BasicInterpretation__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__Group_2__0__Impl" + // InternalSolverLanguage.g:5373:1: rule__ArgumentList__Group_2__0__Impl : ( ( rule__ArgumentList__ArgumentsAssignment_2_0 ) ) ; + public final void rule__ArgumentList__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2104:1: ( ( ( rule__BasicInterpretation__SymbolAssignment_0 ) ) ) - // InternalSolverLanguage.g:2105:1: ( ( rule__BasicInterpretation__SymbolAssignment_0 ) ) + // InternalSolverLanguage.g:5377:1: ( ( ( rule__ArgumentList__ArgumentsAssignment_2_0 ) ) ) + // InternalSolverLanguage.g:5378:1: ( ( rule__ArgumentList__ArgumentsAssignment_2_0 ) ) { - // InternalSolverLanguage.g:2105:1: ( ( rule__BasicInterpretation__SymbolAssignment_0 ) ) - // InternalSolverLanguage.g:2106:2: ( rule__BasicInterpretation__SymbolAssignment_0 ) + // InternalSolverLanguage.g:5378:1: ( ( rule__ArgumentList__ArgumentsAssignment_2_0 ) ) + // InternalSolverLanguage.g:5379:2: ( rule__ArgumentList__ArgumentsAssignment_2_0 ) { - before(grammarAccess.getBasicInterpretationAccess().getSymbolAssignment_0()); - // InternalSolverLanguage.g:2107:2: ( rule__BasicInterpretation__SymbolAssignment_0 ) - // InternalSolverLanguage.g:2107:3: rule__BasicInterpretation__SymbolAssignment_0 + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_0()); + } + // InternalSolverLanguage.g:5380:2: ( rule__ArgumentList__ArgumentsAssignment_2_0 ) + // InternalSolverLanguage.g:5380:3: rule__ArgumentList__ArgumentsAssignment_2_0 { pushFollow(FOLLOW_2); - rule__BasicInterpretation__SymbolAssignment_0(); + rule__ArgumentList__ArgumentsAssignment_2_0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getBasicInterpretationAccess().getSymbolAssignment_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_0()); + } } @@ -6860,29 +18228,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group__0__Impl" + // $ANTLR end "rule__ArgumentList__Group_2__0__Impl" - // $ANTLR start "rule__BasicInterpretation__Group__1" - // InternalSolverLanguage.g:2115:1: rule__BasicInterpretation__Group__1 : rule__BasicInterpretation__Group__1__Impl rule__BasicInterpretation__Group__2 ; - public final void rule__BasicInterpretation__Group__1() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__Group_2__1" + // InternalSolverLanguage.g:5388:1: rule__ArgumentList__Group_2__1 : rule__ArgumentList__Group_2__1__Impl ; + public final void rule__ArgumentList__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2119:1: ( rule__BasicInterpretation__Group__1__Impl rule__BasicInterpretation__Group__2 ) - // InternalSolverLanguage.g:2120:2: rule__BasicInterpretation__Group__1__Impl rule__BasicInterpretation__Group__2 + // InternalSolverLanguage.g:5392:1: ( rule__ArgumentList__Group_2__1__Impl ) + // InternalSolverLanguage.g:5393:2: rule__ArgumentList__Group_2__1__Impl { - pushFollow(FOLLOW_11); - rule__BasicInterpretation__Group__1__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__BasicInterpretation__Group__2(); + rule__ArgumentList__Group_2__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -6898,46 +18261,57 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group__1" + // $ANTLR end "rule__ArgumentList__Group_2__1" - // $ANTLR start "rule__BasicInterpretation__Group__1__Impl" - // InternalSolverLanguage.g:2127:1: rule__BasicInterpretation__Group__1__Impl : ( ( rule__BasicInterpretation__Group_1__0 )? ) ; - public final void rule__BasicInterpretation__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__Group_2__1__Impl" + // InternalSolverLanguage.g:5399:1: rule__ArgumentList__Group_2__1__Impl : ( ( rule__ArgumentList__Group_2_1__0 )* ) ; + public final void rule__ArgumentList__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2131:1: ( ( ( rule__BasicInterpretation__Group_1__0 )? ) ) - // InternalSolverLanguage.g:2132:1: ( ( rule__BasicInterpretation__Group_1__0 )? ) + // InternalSolverLanguage.g:5403:1: ( ( ( rule__ArgumentList__Group_2_1__0 )* ) ) + // InternalSolverLanguage.g:5404:1: ( ( rule__ArgumentList__Group_2_1__0 )* ) { - // InternalSolverLanguage.g:2132:1: ( ( rule__BasicInterpretation__Group_1__0 )? ) - // InternalSolverLanguage.g:2133:2: ( rule__BasicInterpretation__Group_1__0 )? + // InternalSolverLanguage.g:5404:1: ( ( rule__ArgumentList__Group_2_1__0 )* ) + // InternalSolverLanguage.g:5405:2: ( rule__ArgumentList__Group_2_1__0 )* { - before(grammarAccess.getBasicInterpretationAccess().getGroup_1()); - // InternalSolverLanguage.g:2134:2: ( rule__BasicInterpretation__Group_1__0 )? - int alt23=2; - int LA23_0 = input.LA(1); - - if ( (LA23_0==18) ) { - alt23=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentListAccess().getGroup_2_1()); } - switch (alt23) { - case 1 : - // InternalSolverLanguage.g:2134:3: rule__BasicInterpretation__Group_1__0 - { - pushFollow(FOLLOW_2); - rule__BasicInterpretation__Group_1__0(); + // InternalSolverLanguage.g:5406:2: ( rule__ArgumentList__Group_2_1__0 )* + loop42: + do { + int alt42=2; + int LA42_0 = input.LA(1); - state._fsp--; + if ( (LA42_0==56) ) { + alt42=1; + } - } - break; + switch (alt42) { + case 1 : + // InternalSolverLanguage.g:5406:3: rule__ArgumentList__Group_2_1__0 + { + pushFollow(FOLLOW_23); + rule__ArgumentList__Group_2_1__0(); - } + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop42; + } + } while (true); - after(grammarAccess.getBasicInterpretationAccess().getGroup_1()); + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentListAccess().getGroup_2_1()); + } } @@ -6956,29 +18330,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group__1__Impl" + // $ANTLR end "rule__ArgumentList__Group_2__1__Impl" - // $ANTLR start "rule__BasicInterpretation__Group__2" - // InternalSolverLanguage.g:2142:1: rule__BasicInterpretation__Group__2 : rule__BasicInterpretation__Group__2__Impl rule__BasicInterpretation__Group__3 ; - public final void rule__BasicInterpretation__Group__2() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__Group_2_1__0" + // InternalSolverLanguage.g:5415:1: rule__ArgumentList__Group_2_1__0 : rule__ArgumentList__Group_2_1__0__Impl rule__ArgumentList__Group_2_1__1 ; + public final void rule__ArgumentList__Group_2_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2146:1: ( rule__BasicInterpretation__Group__2__Impl rule__BasicInterpretation__Group__3 ) - // InternalSolverLanguage.g:2147:2: rule__BasicInterpretation__Group__2__Impl rule__BasicInterpretation__Group__3 + // InternalSolverLanguage.g:5419:1: ( rule__ArgumentList__Group_2_1__0__Impl rule__ArgumentList__Group_2_1__1 ) + // InternalSolverLanguage.g:5420:2: rule__ArgumentList__Group_2_1__0__Impl rule__ArgumentList__Group_2_1__1 { - pushFollow(FOLLOW_12); - rule__BasicInterpretation__Group__2__Impl(); + pushFollow(FOLLOW_37); + rule__ArgumentList__Group_2_1__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__BasicInterpretation__Group__3(); + rule__ArgumentList__Group_2_1__1(); state._fsp--; - + if (state.failed) return ; } @@ -6994,25 +18368,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group__2" + // $ANTLR end "rule__ArgumentList__Group_2_1__0" - // $ANTLR start "rule__BasicInterpretation__Group__2__Impl" - // InternalSolverLanguage.g:2154:1: rule__BasicInterpretation__Group__2__Impl : ( ':' ) ; - public final void rule__BasicInterpretation__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__Group_2_1__0__Impl" + // InternalSolverLanguage.g:5427:1: rule__ArgumentList__Group_2_1__0__Impl : ( ',' ) ; + public final void rule__ArgumentList__Group_2_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2158:1: ( ( ':' ) ) - // InternalSolverLanguage.g:2159:1: ( ':' ) + // InternalSolverLanguage.g:5431:1: ( ( ',' ) ) + // InternalSolverLanguage.g:5432:1: ( ',' ) { - // InternalSolverLanguage.g:2159:1: ( ':' ) - // InternalSolverLanguage.g:2160:2: ':' + // InternalSolverLanguage.g:5432:1: ( ',' ) + // InternalSolverLanguage.g:5433:2: ',' { - before(grammarAccess.getBasicInterpretationAccess().getColonKeyword_2()); - match(input,17,FOLLOW_2); - after(grammarAccess.getBasicInterpretationAccess().getColonKeyword_2()); + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); + } + match(input,56,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); + } } @@ -7031,24 +18409,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group__2__Impl" + // $ANTLR end "rule__ArgumentList__Group_2_1__0__Impl" - // $ANTLR start "rule__BasicInterpretation__Group__3" - // InternalSolverLanguage.g:2169:1: rule__BasicInterpretation__Group__3 : rule__BasicInterpretation__Group__3__Impl ; - public final void rule__BasicInterpretation__Group__3() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__Group_2_1__1" + // InternalSolverLanguage.g:5442:1: rule__ArgumentList__Group_2_1__1 : rule__ArgumentList__Group_2_1__1__Impl ; + public final void rule__ArgumentList__Group_2_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2173:1: ( rule__BasicInterpretation__Group__3__Impl ) - // InternalSolverLanguage.g:2174:2: rule__BasicInterpretation__Group__3__Impl + // InternalSolverLanguage.g:5446:1: ( rule__ArgumentList__Group_2_1__1__Impl ) + // InternalSolverLanguage.g:5447:2: rule__ArgumentList__Group_2_1__1__Impl { pushFollow(FOLLOW_2); - rule__BasicInterpretation__Group__3__Impl(); + rule__ArgumentList__Group_2_1__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -7064,110 +18442,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group__3" + // $ANTLR end "rule__ArgumentList__Group_2_1__1" - // $ANTLR start "rule__BasicInterpretation__Group__3__Impl" - // InternalSolverLanguage.g:2180:1: rule__BasicInterpretation__Group__3__Impl : ( ( rule__BasicInterpretation__ValueAssignment_3 ) ) ; - public final void rule__BasicInterpretation__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__Group_2_1__1__Impl" + // InternalSolverLanguage.g:5453:1: rule__ArgumentList__Group_2_1__1__Impl : ( ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) ) ; + public final void rule__ArgumentList__Group_2_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2184:1: ( ( ( rule__BasicInterpretation__ValueAssignment_3 ) ) ) - // InternalSolverLanguage.g:2185:1: ( ( rule__BasicInterpretation__ValueAssignment_3 ) ) + // InternalSolverLanguage.g:5457:1: ( ( ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) ) ) + // InternalSolverLanguage.g:5458:1: ( ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) ) { - // InternalSolverLanguage.g:2185:1: ( ( rule__BasicInterpretation__ValueAssignment_3 ) ) - // InternalSolverLanguage.g:2186:2: ( rule__BasicInterpretation__ValueAssignment_3 ) + // InternalSolverLanguage.g:5458:1: ( ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) ) + // InternalSolverLanguage.g:5459:2: ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) { - before(grammarAccess.getBasicInterpretationAccess().getValueAssignment_3()); - // InternalSolverLanguage.g:2187:2: ( rule__BasicInterpretation__ValueAssignment_3 ) - // InternalSolverLanguage.g:2187:3: rule__BasicInterpretation__ValueAssignment_3 - { - pushFollow(FOLLOW_2); - rule__BasicInterpretation__ValueAssignment_3(); - - state._fsp--; - - - } - - after(grammarAccess.getBasicInterpretationAccess().getValueAssignment_3()); - - } - - + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_1_1()); } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__BasicInterpretation__Group__3__Impl" - - - // $ANTLR start "rule__BasicInterpretation__Group_1__0" - // InternalSolverLanguage.g:2196:1: rule__BasicInterpretation__Group_1__0 : rule__BasicInterpretation__Group_1__0__Impl rule__BasicInterpretation__Group_1__1 ; - public final void rule__BasicInterpretation__Group_1__0() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // InternalSolverLanguage.g:2200:1: ( rule__BasicInterpretation__Group_1__0__Impl rule__BasicInterpretation__Group_1__1 ) - // InternalSolverLanguage.g:2201:2: rule__BasicInterpretation__Group_1__0__Impl rule__BasicInterpretation__Group_1__1 + // InternalSolverLanguage.g:5460:2: ( rule__ArgumentList__ArgumentsAssignment_2_1_1 ) + // InternalSolverLanguage.g:5460:3: rule__ArgumentList__ArgumentsAssignment_2_1_1 { - pushFollow(FOLLOW_13); - rule__BasicInterpretation__Group_1__0__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__BasicInterpretation__Group_1__1(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__BasicInterpretation__Group_1__0" - + rule__ArgumentList__ArgumentsAssignment_2_1_1(); - // $ANTLR start "rule__BasicInterpretation__Group_1__0__Impl" - // InternalSolverLanguage.g:2208:1: rule__BasicInterpretation__Group_1__0__Impl : ( '(' ) ; - public final void rule__BasicInterpretation__Group_1__0__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // InternalSolverLanguage.g:2212:1: ( ( '(' ) ) - // InternalSolverLanguage.g:2213:1: ( '(' ) - { - // InternalSolverLanguage.g:2213:1: ( '(' ) - // InternalSolverLanguage.g:2214:2: '(' - { - before(grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()); - match(input,18,FOLLOW_2); - after(grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()); + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentListAccess().getArgumentsAssignment_2_1_1()); + } } @@ -7186,29 +18493,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group_1__0__Impl" + // $ANTLR end "rule__ArgumentList__Group_2_1__1__Impl" - // $ANTLR start "rule__BasicInterpretation__Group_1__1" - // InternalSolverLanguage.g:2223:1: rule__BasicInterpretation__Group_1__1 : rule__BasicInterpretation__Group_1__1__Impl rule__BasicInterpretation__Group_1__2 ; - public final void rule__BasicInterpretation__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__StarArgument__Group__0" + // InternalSolverLanguage.g:5469:1: rule__StarArgument__Group__0 : rule__StarArgument__Group__0__Impl rule__StarArgument__Group__1 ; + public final void rule__StarArgument__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2227:1: ( rule__BasicInterpretation__Group_1__1__Impl rule__BasicInterpretation__Group_1__2 ) - // InternalSolverLanguage.g:2228:2: rule__BasicInterpretation__Group_1__1__Impl rule__BasicInterpretation__Group_1__2 + // InternalSolverLanguage.g:5473:1: ( rule__StarArgument__Group__0__Impl rule__StarArgument__Group__1 ) + // InternalSolverLanguage.g:5474:2: rule__StarArgument__Group__0__Impl rule__StarArgument__Group__1 { - pushFollow(FOLLOW_13); - rule__BasicInterpretation__Group_1__1__Impl(); + pushFollow(FOLLOW_38); + rule__StarArgument__Group__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__BasicInterpretation__Group_1__2(); + rule__StarArgument__Group__1(); state._fsp--; - + if (state.failed) return ; } @@ -7224,46 +18531,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group_1__1" + // $ANTLR end "rule__StarArgument__Group__0" - // $ANTLR start "rule__BasicInterpretation__Group_1__1__Impl" - // InternalSolverLanguage.g:2235:1: rule__BasicInterpretation__Group_1__1__Impl : ( ( rule__BasicInterpretation__Group_1_1__0 )? ) ; - public final void rule__BasicInterpretation__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__StarArgument__Group__0__Impl" + // InternalSolverLanguage.g:5481:1: rule__StarArgument__Group__0__Impl : ( () ) ; + public final void rule__StarArgument__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2239:1: ( ( ( rule__BasicInterpretation__Group_1_1__0 )? ) ) - // InternalSolverLanguage.g:2240:1: ( ( rule__BasicInterpretation__Group_1_1__0 )? ) + // InternalSolverLanguage.g:5485:1: ( ( () ) ) + // InternalSolverLanguage.g:5486:1: ( () ) { - // InternalSolverLanguage.g:2240:1: ( ( rule__BasicInterpretation__Group_1_1__0 )? ) - // InternalSolverLanguage.g:2241:2: ( rule__BasicInterpretation__Group_1_1__0 )? + // InternalSolverLanguage.g:5486:1: ( () ) + // InternalSolverLanguage.g:5487:2: () { - before(grammarAccess.getBasicInterpretationAccess().getGroup_1_1()); - // InternalSolverLanguage.g:2242:2: ( rule__BasicInterpretation__Group_1_1__0 )? - int alt24=2; - int LA24_0 = input.LA(1); - - if ( ((LA24_0>=RULE_INT && LA24_0<=RULE_STRING)||(LA24_0>=11 && LA24_0<=13)||LA24_0==17||LA24_0==27||LA24_0==31) ) { - alt24=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getStarArgumentAccess().getStarArgumentAction_0()); } - switch (alt24) { - case 1 : - // InternalSolverLanguage.g:2242:3: rule__BasicInterpretation__Group_1_1__0 - { - pushFollow(FOLLOW_2); - rule__BasicInterpretation__Group_1_1__0(); - - state._fsp--; - - - } - break; - + // InternalSolverLanguage.g:5488:2: () + // InternalSolverLanguage.g:5488:3: + { } - after(grammarAccess.getBasicInterpretationAccess().getGroup_1_1()); + if ( state.backtracking==0 ) { + after(grammarAccess.getStarArgumentAccess().getStarArgumentAction_0()); + } } @@ -7271,10 +18565,6 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -7282,24 +18572,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group_1__1__Impl" + // $ANTLR end "rule__StarArgument__Group__0__Impl" - // $ANTLR start "rule__BasicInterpretation__Group_1__2" - // InternalSolverLanguage.g:2250:1: rule__BasicInterpretation__Group_1__2 : rule__BasicInterpretation__Group_1__2__Impl ; - public final void rule__BasicInterpretation__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__StarArgument__Group__1" + // InternalSolverLanguage.g:5496:1: rule__StarArgument__Group__1 : rule__StarArgument__Group__1__Impl ; + public final void rule__StarArgument__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2254:1: ( rule__BasicInterpretation__Group_1__2__Impl ) - // InternalSolverLanguage.g:2255:2: rule__BasicInterpretation__Group_1__2__Impl + // InternalSolverLanguage.g:5500:1: ( rule__StarArgument__Group__1__Impl ) + // InternalSolverLanguage.g:5501:2: rule__StarArgument__Group__1__Impl { pushFollow(FOLLOW_2); - rule__BasicInterpretation__Group_1__2__Impl(); + rule__StarArgument__Group__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -7315,25 +18605,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group_1__2" + // $ANTLR end "rule__StarArgument__Group__1" - // $ANTLR start "rule__BasicInterpretation__Group_1__2__Impl" - // InternalSolverLanguage.g:2261:1: rule__BasicInterpretation__Group_1__2__Impl : ( ')' ) ; - public final void rule__BasicInterpretation__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__StarArgument__Group__1__Impl" + // InternalSolverLanguage.g:5507:1: rule__StarArgument__Group__1__Impl : ( '*' ) ; + public final void rule__StarArgument__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2265:1: ( ( ')' ) ) - // InternalSolverLanguage.g:2266:1: ( ')' ) + // InternalSolverLanguage.g:5511:1: ( ( '*' ) ) + // InternalSolverLanguage.g:5512:1: ( '*' ) { - // InternalSolverLanguage.g:2266:1: ( ')' ) - // InternalSolverLanguage.g:2267:2: ')' + // InternalSolverLanguage.g:5512:1: ( '*' ) + // InternalSolverLanguage.g:5513:2: '*' { - before(grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2()); - match(input,19,FOLLOW_2); - after(grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2()); + if ( state.backtracking==0 ) { + before(grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1()); + } + match(input,16,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1()); + } } @@ -7352,29 +18646,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group_1__2__Impl" + // $ANTLR end "rule__StarArgument__Group__1__Impl" - // $ANTLR start "rule__BasicInterpretation__Group_1_1__0" - // InternalSolverLanguage.g:2277:1: rule__BasicInterpretation__Group_1_1__0 : rule__BasicInterpretation__Group_1_1__0__Impl rule__BasicInterpretation__Group_1_1__1 ; - public final void rule__BasicInterpretation__Group_1_1__0() throws RecognitionException { + // $ANTLR start "rule__TypedArgument__Group__0" + // InternalSolverLanguage.g:5523:1: rule__TypedArgument__Group__0 : rule__TypedArgument__Group__0__Impl rule__TypedArgument__Group__1 ; + public final void rule__TypedArgument__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2281:1: ( rule__BasicInterpretation__Group_1_1__0__Impl rule__BasicInterpretation__Group_1_1__1 ) - // InternalSolverLanguage.g:2282:2: rule__BasicInterpretation__Group_1_1__0__Impl rule__BasicInterpretation__Group_1_1__1 + // InternalSolverLanguage.g:5527:1: ( rule__TypedArgument__Group__0__Impl rule__TypedArgument__Group__1 ) + // InternalSolverLanguage.g:5528:2: rule__TypedArgument__Group__0__Impl rule__TypedArgument__Group__1 { - pushFollow(FOLLOW_14); - rule__BasicInterpretation__Group_1_1__0__Impl(); + pushFollow(FOLLOW_9); + rule__TypedArgument__Group__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__BasicInterpretation__Group_1_1__1(); + rule__TypedArgument__Group__1(); state._fsp--; - + if (state.failed) return ; } @@ -7390,35 +18684,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group_1_1__0" + // $ANTLR end "rule__TypedArgument__Group__0" - // $ANTLR start "rule__BasicInterpretation__Group_1_1__0__Impl" - // InternalSolverLanguage.g:2289:1: rule__BasicInterpretation__Group_1_1__0__Impl : ( ( rule__BasicInterpretation__ObjectsAssignment_1_1_0 ) ) ; - public final void rule__BasicInterpretation__Group_1_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__TypedArgument__Group__0__Impl" + // InternalSolverLanguage.g:5535:1: rule__TypedArgument__Group__0__Impl : ( ( rule__TypedArgument__TypeAssignment_0 ) ) ; + public final void rule__TypedArgument__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2293:1: ( ( ( rule__BasicInterpretation__ObjectsAssignment_1_1_0 ) ) ) - // InternalSolverLanguage.g:2294:1: ( ( rule__BasicInterpretation__ObjectsAssignment_1_1_0 ) ) + // InternalSolverLanguage.g:5539:1: ( ( ( rule__TypedArgument__TypeAssignment_0 ) ) ) + // InternalSolverLanguage.g:5540:1: ( ( rule__TypedArgument__TypeAssignment_0 ) ) { - // InternalSolverLanguage.g:2294:1: ( ( rule__BasicInterpretation__ObjectsAssignment_1_1_0 ) ) - // InternalSolverLanguage.g:2295:2: ( rule__BasicInterpretation__ObjectsAssignment_1_1_0 ) + // InternalSolverLanguage.g:5540:1: ( ( rule__TypedArgument__TypeAssignment_0 ) ) + // InternalSolverLanguage.g:5541:2: ( rule__TypedArgument__TypeAssignment_0 ) { - before(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_0()); - // InternalSolverLanguage.g:2296:2: ( rule__BasicInterpretation__ObjectsAssignment_1_1_0 ) - // InternalSolverLanguage.g:2296:3: rule__BasicInterpretation__ObjectsAssignment_1_1_0 + if ( state.backtracking==0 ) { + before(grammarAccess.getTypedArgumentAccess().getTypeAssignment_0()); + } + // InternalSolverLanguage.g:5542:2: ( rule__TypedArgument__TypeAssignment_0 ) + // InternalSolverLanguage.g:5542:3: rule__TypedArgument__TypeAssignment_0 { pushFollow(FOLLOW_2); - rule__BasicInterpretation__ObjectsAssignment_1_1_0(); + rule__TypedArgument__TypeAssignment_0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getTypedArgumentAccess().getTypeAssignment_0()); + } } @@ -7437,24 +18735,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group_1_1__0__Impl" + // $ANTLR end "rule__TypedArgument__Group__0__Impl" - // $ANTLR start "rule__BasicInterpretation__Group_1_1__1" - // InternalSolverLanguage.g:2304:1: rule__BasicInterpretation__Group_1_1__1 : rule__BasicInterpretation__Group_1_1__1__Impl ; - public final void rule__BasicInterpretation__Group_1_1__1() throws RecognitionException { + // $ANTLR start "rule__TypedArgument__Group__1" + // InternalSolverLanguage.g:5550:1: rule__TypedArgument__Group__1 : rule__TypedArgument__Group__1__Impl ; + public final void rule__TypedArgument__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2308:1: ( rule__BasicInterpretation__Group_1_1__1__Impl ) - // InternalSolverLanguage.g:2309:2: rule__BasicInterpretation__Group_1_1__1__Impl + // InternalSolverLanguage.g:5554:1: ( rule__TypedArgument__Group__1__Impl ) + // InternalSolverLanguage.g:5555:2: rule__TypedArgument__Group__1__Impl { pushFollow(FOLLOW_2); - rule__BasicInterpretation__Group_1_1__1__Impl(); + rule__TypedArgument__Group__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -7470,53 +18768,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group_1_1__1" + // $ANTLR end "rule__TypedArgument__Group__1" - // $ANTLR start "rule__BasicInterpretation__Group_1_1__1__Impl" - // InternalSolverLanguage.g:2315:1: rule__BasicInterpretation__Group_1_1__1__Impl : ( ( rule__BasicInterpretation__Group_1_1_1__0 )* ) ; - public final void rule__BasicInterpretation__Group_1_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__TypedArgument__Group__1__Impl" + // InternalSolverLanguage.g:5561:1: rule__TypedArgument__Group__1__Impl : ( ( rule__TypedArgument__VariableAssignment_1 ) ) ; + public final void rule__TypedArgument__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2319:1: ( ( ( rule__BasicInterpretation__Group_1_1_1__0 )* ) ) - // InternalSolverLanguage.g:2320:1: ( ( rule__BasicInterpretation__Group_1_1_1__0 )* ) + // InternalSolverLanguage.g:5565:1: ( ( ( rule__TypedArgument__VariableAssignment_1 ) ) ) + // InternalSolverLanguage.g:5566:1: ( ( rule__TypedArgument__VariableAssignment_1 ) ) { - // InternalSolverLanguage.g:2320:1: ( ( rule__BasicInterpretation__Group_1_1_1__0 )* ) - // InternalSolverLanguage.g:2321:2: ( rule__BasicInterpretation__Group_1_1_1__0 )* + // InternalSolverLanguage.g:5566:1: ( ( rule__TypedArgument__VariableAssignment_1 ) ) + // InternalSolverLanguage.g:5567:2: ( rule__TypedArgument__VariableAssignment_1 ) { - before(grammarAccess.getBasicInterpretationAccess().getGroup_1_1_1()); - // InternalSolverLanguage.g:2322:2: ( rule__BasicInterpretation__Group_1_1_1__0 )* - loop25: - do { - int alt25=2; - int LA25_0 = input.LA(1); - - if ( (LA25_0==20) ) { - alt25=1; - } - - - switch (alt25) { - case 1 : - // InternalSolverLanguage.g:2322:3: rule__BasicInterpretation__Group_1_1_1__0 - { - pushFollow(FOLLOW_15); - rule__BasicInterpretation__Group_1_1_1__0(); - - state._fsp--; - + if ( state.backtracking==0 ) { + before(grammarAccess.getTypedArgumentAccess().getVariableAssignment_1()); + } + // InternalSolverLanguage.g:5568:2: ( rule__TypedArgument__VariableAssignment_1 ) + // InternalSolverLanguage.g:5568:3: rule__TypedArgument__VariableAssignment_1 + { + pushFollow(FOLLOW_2); + rule__TypedArgument__VariableAssignment_1(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop25; - } - } while (true); + } - after(grammarAccess.getBasicInterpretationAccess().getGroup_1_1_1()); + if ( state.backtracking==0 ) { + after(grammarAccess.getTypedArgumentAccess().getVariableAssignment_1()); + } } @@ -7535,29 +18819,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group_1_1__1__Impl" + // $ANTLR end "rule__TypedArgument__Group__1__Impl" - // $ANTLR start "rule__BasicInterpretation__Group_1_1_1__0" - // 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 ; - public final void rule__BasicInterpretation__Group_1_1_1__0() throws RecognitionException { + // $ANTLR start "rule__TypedStarArgument__Group__0" + // InternalSolverLanguage.g:5577:1: rule__TypedStarArgument__Group__0 : rule__TypedStarArgument__Group__0__Impl rule__TypedStarArgument__Group__1 ; + public final void rule__TypedStarArgument__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2335:1: ( rule__BasicInterpretation__Group_1_1_1__0__Impl rule__BasicInterpretation__Group_1_1_1__1 ) - // InternalSolverLanguage.g:2336:2: rule__BasicInterpretation__Group_1_1_1__0__Impl rule__BasicInterpretation__Group_1_1_1__1 + // InternalSolverLanguage.g:5581:1: ( rule__TypedStarArgument__Group__0__Impl rule__TypedStarArgument__Group__1 ) + // InternalSolverLanguage.g:5582:2: rule__TypedStarArgument__Group__0__Impl rule__TypedStarArgument__Group__1 { - pushFollow(FOLLOW_16); - rule__BasicInterpretation__Group_1_1_1__0__Impl(); + pushFollow(FOLLOW_38); + rule__TypedStarArgument__Group__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__BasicInterpretation__Group_1_1_1__1(); + rule__TypedStarArgument__Group__1(); state._fsp--; - + if (state.failed) return ; } @@ -7573,25 +18857,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group_1_1_1__0" + // $ANTLR end "rule__TypedStarArgument__Group__0" - // $ANTLR start "rule__BasicInterpretation__Group_1_1_1__0__Impl" - // InternalSolverLanguage.g:2343:1: rule__BasicInterpretation__Group_1_1_1__0__Impl : ( ',' ) ; - public final void rule__BasicInterpretation__Group_1_1_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__TypedStarArgument__Group__0__Impl" + // InternalSolverLanguage.g:5589:1: rule__TypedStarArgument__Group__0__Impl : ( ( rule__TypedStarArgument__TypeAssignment_0 ) ) ; + public final void rule__TypedStarArgument__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2347:1: ( ( ',' ) ) - // InternalSolverLanguage.g:2348:1: ( ',' ) + // InternalSolverLanguage.g:5593:1: ( ( ( rule__TypedStarArgument__TypeAssignment_0 ) ) ) + // InternalSolverLanguage.g:5594:1: ( ( rule__TypedStarArgument__TypeAssignment_0 ) ) { - // InternalSolverLanguage.g:2348:1: ( ',' ) - // InternalSolverLanguage.g:2349:2: ',' + // InternalSolverLanguage.g:5594:1: ( ( rule__TypedStarArgument__TypeAssignment_0 ) ) + // InternalSolverLanguage.g:5595:2: ( rule__TypedStarArgument__TypeAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypedStarArgumentAccess().getTypeAssignment_0()); + } + // InternalSolverLanguage.g:5596:2: ( rule__TypedStarArgument__TypeAssignment_0 ) + // InternalSolverLanguage.g:5596:3: rule__TypedStarArgument__TypeAssignment_0 { - before(grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0()); - match(input,20,FOLLOW_2); - after(grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0()); + pushFollow(FOLLOW_2); + rule__TypedStarArgument__TypeAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTypedStarArgumentAccess().getTypeAssignment_0()); + } } @@ -7610,24 +18908,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group_1_1_1__0__Impl" + // $ANTLR end "rule__TypedStarArgument__Group__0__Impl" - // $ANTLR start "rule__BasicInterpretation__Group_1_1_1__1" - // InternalSolverLanguage.g:2358:1: rule__BasicInterpretation__Group_1_1_1__1 : rule__BasicInterpretation__Group_1_1_1__1__Impl ; - public final void rule__BasicInterpretation__Group_1_1_1__1() throws RecognitionException { + // $ANTLR start "rule__TypedStarArgument__Group__1" + // InternalSolverLanguage.g:5604:1: rule__TypedStarArgument__Group__1 : rule__TypedStarArgument__Group__1__Impl ; + public final void rule__TypedStarArgument__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2362:1: ( rule__BasicInterpretation__Group_1_1_1__1__Impl ) - // InternalSolverLanguage.g:2363:2: rule__BasicInterpretation__Group_1_1_1__1__Impl + // InternalSolverLanguage.g:5608:1: ( rule__TypedStarArgument__Group__1__Impl ) + // InternalSolverLanguage.g:5609:2: rule__TypedStarArgument__Group__1__Impl { pushFollow(FOLLOW_2); - rule__BasicInterpretation__Group_1_1_1__1__Impl(); + rule__TypedStarArgument__Group__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -7643,35 +18941,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group_1_1_1__1" + // $ANTLR end "rule__TypedStarArgument__Group__1" - // $ANTLR start "rule__BasicInterpretation__Group_1_1_1__1__Impl" - // InternalSolverLanguage.g:2369:1: rule__BasicInterpretation__Group_1_1_1__1__Impl : ( ( rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 ) ) ; - public final void rule__BasicInterpretation__Group_1_1_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__TypedStarArgument__Group__1__Impl" + // InternalSolverLanguage.g:5615:1: rule__TypedStarArgument__Group__1__Impl : ( '*' ) ; + public final void rule__TypedStarArgument__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2373:1: ( ( ( rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 ) ) ) - // InternalSolverLanguage.g:2374:1: ( ( rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 ) ) + // InternalSolverLanguage.g:5619:1: ( ( '*' ) ) + // InternalSolverLanguage.g:5620:1: ( '*' ) { - // InternalSolverLanguage.g:2374:1: ( ( rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 ) ) - // InternalSolverLanguage.g:2375:2: ( rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 ) + // InternalSolverLanguage.g:5620:1: ( '*' ) + // InternalSolverLanguage.g:5621:2: '*' { - before(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_1_1()); - // InternalSolverLanguage.g:2376:2: ( rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 ) - // InternalSolverLanguage.g:2376:3: rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 - { - pushFollow(FOLLOW_2); - rule__BasicInterpretation__ObjectsAssignment_1_1_1_1(); - - state._fsp--; - - + if ( state.backtracking==0 ) { + before(grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1()); + } + match(input,16,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1()); } - - after(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_1_1()); } @@ -7690,29 +18982,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__Group_1_1_1__1__Impl" + // $ANTLR end "rule__TypedStarArgument__Group__1__Impl" - // $ANTLR start "rule__ExistSymbol__Group__0" - // InternalSolverLanguage.g:2385:1: rule__ExistSymbol__Group__0 : rule__ExistSymbol__Group__0__Impl rule__ExistSymbol__Group__1 ; - public final void rule__ExistSymbol__Group__0() throws RecognitionException { + // $ANTLR start "rule__Interval__Group__0" + // InternalSolverLanguage.g:5631:1: rule__Interval__Group__0 : rule__Interval__Group__0__Impl rule__Interval__Group__1 ; + public final void rule__Interval__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2389:1: ( rule__ExistSymbol__Group__0__Impl rule__ExistSymbol__Group__1 ) - // InternalSolverLanguage.g:2390:2: rule__ExistSymbol__Group__0__Impl rule__ExistSymbol__Group__1 + // InternalSolverLanguage.g:5635:1: ( rule__Interval__Group__0__Impl rule__Interval__Group__1 ) + // InternalSolverLanguage.g:5636:2: rule__Interval__Group__0__Impl rule__Interval__Group__1 { - pushFollow(FOLLOW_1); - rule__ExistSymbol__Group__0__Impl(); + pushFollow(FOLLOW_7); + rule__Interval__Group__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ExistSymbol__Group__1(); + rule__Interval__Group__1(); state._fsp--; - + if (state.failed) return ; } @@ -7728,25 +19020,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ExistSymbol__Group__0" + // $ANTLR end "rule__Interval__Group__0" - // $ANTLR start "rule__ExistSymbol__Group__0__Impl" - // InternalSolverLanguage.g:2397:1: rule__ExistSymbol__Group__0__Impl : ( 'exists' ) ; - public final void rule__ExistSymbol__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Interval__Group__0__Impl" + // InternalSolverLanguage.g:5643:1: rule__Interval__Group__0__Impl : ( '[' ) ; + public final void rule__Interval__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2401:1: ( ( 'exists' ) ) - // InternalSolverLanguage.g:2402:1: ( 'exists' ) + // InternalSolverLanguage.g:5647:1: ( ( '[' ) ) + // InternalSolverLanguage.g:5648:1: ( '[' ) { - // InternalSolverLanguage.g:2402:1: ( 'exists' ) - // InternalSolverLanguage.g:2403:2: 'exists' + // InternalSolverLanguage.g:5648:1: ( '[' ) + // InternalSolverLanguage.g:5649:2: '[' { - before(grammarAccess.getExistSymbolAccess().getExistsKeyword_0()); - match(input,21,FOLLOW_2); - after(grammarAccess.getExistSymbolAccess().getExistsKeyword_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); + } + match(input,63,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); + } } @@ -7765,24 +19061,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ExistSymbol__Group__0__Impl" + // $ANTLR end "rule__Interval__Group__0__Impl" - // $ANTLR start "rule__ExistSymbol__Group__1" - // InternalSolverLanguage.g:2412:1: rule__ExistSymbol__Group__1 : rule__ExistSymbol__Group__1__Impl ; - public final void rule__ExistSymbol__Group__1() throws RecognitionException { + // $ANTLR start "rule__Interval__Group__1" + // InternalSolverLanguage.g:5658:1: rule__Interval__Group__1 : rule__Interval__Group__1__Impl rule__Interval__Group__2 ; + public final void rule__Interval__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2416:1: ( rule__ExistSymbol__Group__1__Impl ) - // InternalSolverLanguage.g:2417:2: rule__ExistSymbol__Group__1__Impl + // InternalSolverLanguage.g:5662:1: ( rule__Interval__Group__1__Impl rule__Interval__Group__2 ) + // InternalSolverLanguage.g:5663:2: rule__Interval__Group__1__Impl rule__Interval__Group__2 { - pushFollow(FOLLOW_2); - rule__ExistSymbol__Group__1__Impl(); + pushFollow(FOLLOW_39); + rule__Interval__Group__1__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Interval__Group__2(); + state._fsp--; + if (state.failed) return ; } @@ -7798,29 +19099,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ExistSymbol__Group__1" + // $ANTLR end "rule__Interval__Group__1" - // $ANTLR start "rule__ExistSymbol__Group__1__Impl" - // InternalSolverLanguage.g:2423:1: rule__ExistSymbol__Group__1__Impl : ( () ) ; - public final void rule__ExistSymbol__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Interval__Group__1__Impl" + // InternalSolverLanguage.g:5670:1: rule__Interval__Group__1__Impl : ( ( rule__Interval__LowerBoundAssignment_1 ) ) ; + public final void rule__Interval__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2427:1: ( ( () ) ) - // InternalSolverLanguage.g:2428:1: ( () ) + // InternalSolverLanguage.g:5674:1: ( ( ( rule__Interval__LowerBoundAssignment_1 ) ) ) + // InternalSolverLanguage.g:5675:1: ( ( rule__Interval__LowerBoundAssignment_1 ) ) { - // InternalSolverLanguage.g:2428:1: ( () ) - // InternalSolverLanguage.g:2429:2: () + // InternalSolverLanguage.g:5675:1: ( ( rule__Interval__LowerBoundAssignment_1 ) ) + // InternalSolverLanguage.g:5676:2: ( rule__Interval__LowerBoundAssignment_1 ) { - before(grammarAccess.getExistSymbolAccess().getExistSymbolAction_1()); - // InternalSolverLanguage.g:2430:2: () - // InternalSolverLanguage.g:2430:3: + if ( state.backtracking==0 ) { + before(grammarAccess.getIntervalAccess().getLowerBoundAssignment_1()); + } + // InternalSolverLanguage.g:5677:2: ( rule__Interval__LowerBoundAssignment_1 ) + // InternalSolverLanguage.g:5677:3: rule__Interval__LowerBoundAssignment_1 { + pushFollow(FOLLOW_2); + rule__Interval__LowerBoundAssignment_1(); + + state._fsp--; + if (state.failed) return ; + } - after(grammarAccess.getExistSymbolAccess().getExistSymbolAction_1()); + if ( state.backtracking==0 ) { + after(grammarAccess.getIntervalAccess().getLowerBoundAssignment_1()); + } } @@ -7828,6 +19139,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -7835,29 +19150,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ExistSymbol__Group__1__Impl" + // $ANTLR end "rule__Interval__Group__1__Impl" - // $ANTLR start "rule__EqualsSymbol__Group__0" - // InternalSolverLanguage.g:2439:1: rule__EqualsSymbol__Group__0 : rule__EqualsSymbol__Group__0__Impl rule__EqualsSymbol__Group__1 ; - public final void rule__EqualsSymbol__Group__0() throws RecognitionException { + // $ANTLR start "rule__Interval__Group__2" + // InternalSolverLanguage.g:5685:1: rule__Interval__Group__2 : rule__Interval__Group__2__Impl rule__Interval__Group__3 ; + public final void rule__Interval__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2443:1: ( rule__EqualsSymbol__Group__0__Impl rule__EqualsSymbol__Group__1 ) - // InternalSolverLanguage.g:2444:2: rule__EqualsSymbol__Group__0__Impl rule__EqualsSymbol__Group__1 + // InternalSolverLanguage.g:5689:1: ( rule__Interval__Group__2__Impl rule__Interval__Group__3 ) + // InternalSolverLanguage.g:5690:2: rule__Interval__Group__2__Impl rule__Interval__Group__3 { - pushFollow(FOLLOW_1); - rule__EqualsSymbol__Group__0__Impl(); + pushFollow(FOLLOW_7); + rule__Interval__Group__2__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__EqualsSymbol__Group__1(); + rule__Interval__Group__3(); state._fsp--; - + if (state.failed) return ; } @@ -7873,25 +19188,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__EqualsSymbol__Group__0" + // $ANTLR end "rule__Interval__Group__2" - // $ANTLR start "rule__EqualsSymbol__Group__0__Impl" - // InternalSolverLanguage.g:2451:1: rule__EqualsSymbol__Group__0__Impl : ( 'equals' ) ; - public final void rule__EqualsSymbol__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Interval__Group__2__Impl" + // InternalSolverLanguage.g:5697:1: rule__Interval__Group__2__Impl : ( '..' ) ; + public final void rule__Interval__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2455:1: ( ( 'equals' ) ) - // InternalSolverLanguage.g:2456:1: ( 'equals' ) + // InternalSolverLanguage.g:5701:1: ( ( '..' ) ) + // InternalSolverLanguage.g:5702:1: ( '..' ) { - // InternalSolverLanguage.g:2456:1: ( 'equals' ) - // InternalSolverLanguage.g:2457:2: 'equals' + // InternalSolverLanguage.g:5702:1: ( '..' ) + // InternalSolverLanguage.g:5703:2: '..' { - before(grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0()); - match(input,22,FOLLOW_2); - after(grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); + } + match(input,64,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); + } } @@ -7910,24 +19229,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__EqualsSymbol__Group__0__Impl" + // $ANTLR end "rule__Interval__Group__2__Impl" - // $ANTLR start "rule__EqualsSymbol__Group__1" - // InternalSolverLanguage.g:2466:1: rule__EqualsSymbol__Group__1 : rule__EqualsSymbol__Group__1__Impl ; - public final void rule__EqualsSymbol__Group__1() throws RecognitionException { + // $ANTLR start "rule__Interval__Group__3" + // InternalSolverLanguage.g:5712:1: rule__Interval__Group__3 : rule__Interval__Group__3__Impl rule__Interval__Group__4 ; + public final void rule__Interval__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2470:1: ( rule__EqualsSymbol__Group__1__Impl ) - // InternalSolverLanguage.g:2471:2: rule__EqualsSymbol__Group__1__Impl + // InternalSolverLanguage.g:5716:1: ( rule__Interval__Group__3__Impl rule__Interval__Group__4 ) + // InternalSolverLanguage.g:5717:2: rule__Interval__Group__3__Impl rule__Interval__Group__4 { - pushFollow(FOLLOW_2); - rule__EqualsSymbol__Group__1__Impl(); + pushFollow(FOLLOW_40); + rule__Interval__Group__3__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__Interval__Group__4(); + state._fsp--; + if (state.failed) return ; } @@ -7943,29 +19267,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__EqualsSymbol__Group__1" + // $ANTLR end "rule__Interval__Group__3" - // $ANTLR start "rule__EqualsSymbol__Group__1__Impl" - // InternalSolverLanguage.g:2477:1: rule__EqualsSymbol__Group__1__Impl : ( () ) ; - public final void rule__EqualsSymbol__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Interval__Group__3__Impl" + // InternalSolverLanguage.g:5724:1: rule__Interval__Group__3__Impl : ( ( rule__Interval__UpperBoundAssignment_3 ) ) ; + public final void rule__Interval__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2481:1: ( ( () ) ) - // InternalSolverLanguage.g:2482:1: ( () ) + // InternalSolverLanguage.g:5728:1: ( ( ( rule__Interval__UpperBoundAssignment_3 ) ) ) + // InternalSolverLanguage.g:5729:1: ( ( rule__Interval__UpperBoundAssignment_3 ) ) { - // InternalSolverLanguage.g:2482:1: ( () ) - // InternalSolverLanguage.g:2483:2: () + // InternalSolverLanguage.g:5729:1: ( ( rule__Interval__UpperBoundAssignment_3 ) ) + // InternalSolverLanguage.g:5730:2: ( rule__Interval__UpperBoundAssignment_3 ) { - before(grammarAccess.getEqualsSymbolAccess().getEqualsSymbolAction_1()); - // InternalSolverLanguage.g:2484:2: () - // InternalSolverLanguage.g:2484:3: + if ( state.backtracking==0 ) { + before(grammarAccess.getIntervalAccess().getUpperBoundAssignment_3()); + } + // InternalSolverLanguage.g:5731:2: ( rule__Interval__UpperBoundAssignment_3 ) + // InternalSolverLanguage.g:5731:3: rule__Interval__UpperBoundAssignment_3 { + pushFollow(FOLLOW_2); + rule__Interval__UpperBoundAssignment_3(); + + state._fsp--; + if (state.failed) return ; + } - after(grammarAccess.getEqualsSymbolAccess().getEqualsSymbolAction_1()); + if ( state.backtracking==0 ) { + after(grammarAccess.getIntervalAccess().getUpperBoundAssignment_3()); + } } @@ -7973,6 +19307,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -7980,29 +19318,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__EqualsSymbol__Group__1__Impl" + // $ANTLR end "rule__Interval__Group__3__Impl" - // $ANTLR start "rule__BooleanSymbol__Group__0" - // InternalSolverLanguage.g:2493:1: rule__BooleanSymbol__Group__0 : rule__BooleanSymbol__Group__0__Impl rule__BooleanSymbol__Group__1 ; - public final void rule__BooleanSymbol__Group__0() throws RecognitionException { + // $ANTLR start "rule__Interval__Group__4" + // InternalSolverLanguage.g:5739:1: rule__Interval__Group__4 : rule__Interval__Group__4__Impl ; + public final void rule__Interval__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2497:1: ( rule__BooleanSymbol__Group__0__Impl rule__BooleanSymbol__Group__1 ) - // InternalSolverLanguage.g:2498:2: rule__BooleanSymbol__Group__0__Impl rule__BooleanSymbol__Group__1 + // InternalSolverLanguage.g:5743:1: ( rule__Interval__Group__4__Impl ) + // InternalSolverLanguage.g:5744:2: rule__Interval__Group__4__Impl { - pushFollow(FOLLOW_1); - rule__BooleanSymbol__Group__0__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__BooleanSymbol__Group__1(); + rule__Interval__Group__4__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -8018,25 +19351,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BooleanSymbol__Group__0" + // $ANTLR end "rule__Interval__Group__4" - // $ANTLR start "rule__BooleanSymbol__Group__0__Impl" - // InternalSolverLanguage.g:2505:1: rule__BooleanSymbol__Group__0__Impl : ( 'bool' ) ; - public final void rule__BooleanSymbol__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Interval__Group__4__Impl" + // InternalSolverLanguage.g:5750:1: rule__Interval__Group__4__Impl : ( ']' ) ; + public final void rule__Interval__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2509:1: ( ( 'bool' ) ) - // InternalSolverLanguage.g:2510:1: ( 'bool' ) + // InternalSolverLanguage.g:5754:1: ( ( ']' ) ) + // InternalSolverLanguage.g:5755:1: ( ']' ) { - // InternalSolverLanguage.g:2510:1: ( 'bool' ) - // InternalSolverLanguage.g:2511:2: 'bool' + // InternalSolverLanguage.g:5755:1: ( ']' ) + // InternalSolverLanguage.g:5756:2: ']' { - before(grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0()); - match(input,23,FOLLOW_2); - after(grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4()); + } + match(input,65,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4()); + } } @@ -8055,24 +19392,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BooleanSymbol__Group__0__Impl" + // $ANTLR end "rule__Interval__Group__4__Impl" - // $ANTLR start "rule__BooleanSymbol__Group__1" - // InternalSolverLanguage.g:2520:1: rule__BooleanSymbol__Group__1 : rule__BooleanSymbol__Group__1__Impl ; - public final void rule__BooleanSymbol__Group__1() throws RecognitionException { + // $ANTLR start "rule__InfinityLiteral__Group__0" + // InternalSolverLanguage.g:5766:1: rule__InfinityLiteral__Group__0 : rule__InfinityLiteral__Group__0__Impl rule__InfinityLiteral__Group__1 ; + public final void rule__InfinityLiteral__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2524:1: ( rule__BooleanSymbol__Group__1__Impl ) - // InternalSolverLanguage.g:2525:2: rule__BooleanSymbol__Group__1__Impl + // InternalSolverLanguage.g:5770:1: ( rule__InfinityLiteral__Group__0__Impl rule__InfinityLiteral__Group__1 ) + // InternalSolverLanguage.g:5771:2: rule__InfinityLiteral__Group__0__Impl rule__InfinityLiteral__Group__1 { - pushFollow(FOLLOW_2); - rule__BooleanSymbol__Group__1__Impl(); + pushFollow(FOLLOW_41); + rule__InfinityLiteral__Group__0__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__InfinityLiteral__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -8088,29 +19430,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BooleanSymbol__Group__1" + // $ANTLR end "rule__InfinityLiteral__Group__0" - // $ANTLR start "rule__BooleanSymbol__Group__1__Impl" - // InternalSolverLanguage.g:2531:1: rule__BooleanSymbol__Group__1__Impl : ( () ) ; - public final void rule__BooleanSymbol__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__InfinityLiteral__Group__0__Impl" + // InternalSolverLanguage.g:5778:1: rule__InfinityLiteral__Group__0__Impl : ( () ) ; + public final void rule__InfinityLiteral__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2535:1: ( ( () ) ) - // InternalSolverLanguage.g:2536:1: ( () ) + // InternalSolverLanguage.g:5782:1: ( ( () ) ) + // InternalSolverLanguage.g:5783:1: ( () ) { - // InternalSolverLanguage.g:2536:1: ( () ) - // InternalSolverLanguage.g:2537:2: () + // InternalSolverLanguage.g:5783:1: ( () ) + // InternalSolverLanguage.g:5784:2: () { - before(grammarAccess.getBooleanSymbolAccess().getBooleanSymbolAction_1()); - // InternalSolverLanguage.g:2538:2: () - // InternalSolverLanguage.g:2538:3: + if ( state.backtracking==0 ) { + before(grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0()); + } + // InternalSolverLanguage.g:5785:2: () + // InternalSolverLanguage.g:5785:3: { } - after(grammarAccess.getBooleanSymbolAccess().getBooleanSymbolAction_1()); + if ( state.backtracking==0 ) { + after(grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0()); + } } @@ -8125,29 +19471,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BooleanSymbol__Group__1__Impl" + // $ANTLR end "rule__InfinityLiteral__Group__0__Impl" - // $ANTLR start "rule__IntegerSymbol__Group__0" - // InternalSolverLanguage.g:2547:1: rule__IntegerSymbol__Group__0 : rule__IntegerSymbol__Group__0__Impl rule__IntegerSymbol__Group__1 ; - public final void rule__IntegerSymbol__Group__0() throws RecognitionException { + // $ANTLR start "rule__InfinityLiteral__Group__1" + // InternalSolverLanguage.g:5793:1: rule__InfinityLiteral__Group__1 : rule__InfinityLiteral__Group__1__Impl ; + public final void rule__InfinityLiteral__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2551:1: ( rule__IntegerSymbol__Group__0__Impl rule__IntegerSymbol__Group__1 ) - // InternalSolverLanguage.g:2552:2: rule__IntegerSymbol__Group__0__Impl rule__IntegerSymbol__Group__1 + // InternalSolverLanguage.g:5797:1: ( rule__InfinityLiteral__Group__1__Impl ) + // InternalSolverLanguage.g:5798:2: rule__InfinityLiteral__Group__1__Impl { - pushFollow(FOLLOW_1); - rule__IntegerSymbol__Group__0__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__IntegerSymbol__Group__1(); + rule__InfinityLiteral__Group__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -8163,25 +19504,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__IntegerSymbol__Group__0" + // $ANTLR end "rule__InfinityLiteral__Group__1" - // $ANTLR start "rule__IntegerSymbol__Group__0__Impl" - // InternalSolverLanguage.g:2559:1: rule__IntegerSymbol__Group__0__Impl : ( 'int' ) ; - public final void rule__IntegerSymbol__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__InfinityLiteral__Group__1__Impl" + // InternalSolverLanguage.g:5804:1: rule__InfinityLiteral__Group__1__Impl : ( 'inf' ) ; + public final void rule__InfinityLiteral__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2563:1: ( ( 'int' ) ) - // InternalSolverLanguage.g:2564:1: ( 'int' ) + // InternalSolverLanguage.g:5808:1: ( ( 'inf' ) ) + // InternalSolverLanguage.g:5809:1: ( 'inf' ) { - // InternalSolverLanguage.g:2564:1: ( 'int' ) - // InternalSolverLanguage.g:2565:2: 'int' + // InternalSolverLanguage.g:5809:1: ( 'inf' ) + // InternalSolverLanguage.g:5810:2: 'inf' { - before(grammarAccess.getIntegerSymbolAccess().getIntKeyword_0()); - match(input,24,FOLLOW_2); - after(grammarAccess.getIntegerSymbolAccess().getIntKeyword_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getInfinityLiteralAccess().getInfKeyword_1()); + } + match(input,66,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfinityLiteralAccess().getInfKeyword_1()); + } } @@ -8200,24 +19545,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__IntegerSymbol__Group__0__Impl" + // $ANTLR end "rule__InfinityLiteral__Group__1__Impl" - // $ANTLR start "rule__IntegerSymbol__Group__1" - // InternalSolverLanguage.g:2574:1: rule__IntegerSymbol__Group__1 : rule__IntegerSymbol__Group__1__Impl ; - public final void rule__IntegerSymbol__Group__1() throws RecognitionException { + // $ANTLR start "rule__EmptyIntervalLiteral__Group__0" + // InternalSolverLanguage.g:5820:1: rule__EmptyIntervalLiteral__Group__0 : rule__EmptyIntervalLiteral__Group__0__Impl rule__EmptyIntervalLiteral__Group__1 ; + public final void rule__EmptyIntervalLiteral__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2578:1: ( rule__IntegerSymbol__Group__1__Impl ) - // InternalSolverLanguage.g:2579:2: rule__IntegerSymbol__Group__1__Impl + // InternalSolverLanguage.g:5824:1: ( rule__EmptyIntervalLiteral__Group__0__Impl rule__EmptyIntervalLiteral__Group__1 ) + // InternalSolverLanguage.g:5825:2: rule__EmptyIntervalLiteral__Group__0__Impl rule__EmptyIntervalLiteral__Group__1 { - pushFollow(FOLLOW_2); - rule__IntegerSymbol__Group__1__Impl(); + pushFollow(FOLLOW_42); + rule__EmptyIntervalLiteral__Group__0__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__EmptyIntervalLiteral__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -8233,29 +19583,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__IntegerSymbol__Group__1" + // $ANTLR end "rule__EmptyIntervalLiteral__Group__0" - // $ANTLR start "rule__IntegerSymbol__Group__1__Impl" - // InternalSolverLanguage.g:2585:1: rule__IntegerSymbol__Group__1__Impl : ( () ) ; - public final void rule__IntegerSymbol__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__EmptyIntervalLiteral__Group__0__Impl" + // InternalSolverLanguage.g:5832:1: rule__EmptyIntervalLiteral__Group__0__Impl : ( () ) ; + public final void rule__EmptyIntervalLiteral__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2589:1: ( ( () ) ) - // InternalSolverLanguage.g:2590:1: ( () ) + // InternalSolverLanguage.g:5836:1: ( ( () ) ) + // InternalSolverLanguage.g:5837:1: ( () ) { - // InternalSolverLanguage.g:2590:1: ( () ) - // InternalSolverLanguage.g:2591:2: () + // InternalSolverLanguage.g:5837:1: ( () ) + // InternalSolverLanguage.g:5838:2: () { - before(grammarAccess.getIntegerSymbolAccess().getIntegerSymbolAction_1()); - // InternalSolverLanguage.g:2592:2: () - // InternalSolverLanguage.g:2592:3: + if ( state.backtracking==0 ) { + before(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0()); + } + // InternalSolverLanguage.g:5839:2: () + // InternalSolverLanguage.g:5839:3: { } - after(grammarAccess.getIntegerSymbolAccess().getIntegerSymbolAction_1()); + if ( state.backtracking==0 ) { + after(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0()); + } } @@ -8270,29 +19624,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__IntegerSymbol__Group__1__Impl" + // $ANTLR end "rule__EmptyIntervalLiteral__Group__0__Impl" - // $ANTLR start "rule__RealSymbol__Group__0" - // InternalSolverLanguage.g:2601:1: rule__RealSymbol__Group__0 : rule__RealSymbol__Group__0__Impl rule__RealSymbol__Group__1 ; - public final void rule__RealSymbol__Group__0() throws RecognitionException { + // $ANTLR start "rule__EmptyIntervalLiteral__Group__1" + // InternalSolverLanguage.g:5847:1: rule__EmptyIntervalLiteral__Group__1 : rule__EmptyIntervalLiteral__Group__1__Impl ; + public final void rule__EmptyIntervalLiteral__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2605:1: ( rule__RealSymbol__Group__0__Impl rule__RealSymbol__Group__1 ) - // InternalSolverLanguage.g:2606:2: rule__RealSymbol__Group__0__Impl rule__RealSymbol__Group__1 + // InternalSolverLanguage.g:5851:1: ( rule__EmptyIntervalLiteral__Group__1__Impl ) + // InternalSolverLanguage.g:5852:2: rule__EmptyIntervalLiteral__Group__1__Impl { - pushFollow(FOLLOW_1); - rule__RealSymbol__Group__0__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__RealSymbol__Group__1(); + rule__EmptyIntervalLiteral__Group__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -8308,25 +19657,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__RealSymbol__Group__0" + // $ANTLR end "rule__EmptyIntervalLiteral__Group__1" - // $ANTLR start "rule__RealSymbol__Group__0__Impl" - // InternalSolverLanguage.g:2613:1: rule__RealSymbol__Group__0__Impl : ( 'real' ) ; - public final void rule__RealSymbol__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__EmptyIntervalLiteral__Group__1__Impl" + // InternalSolverLanguage.g:5858:1: rule__EmptyIntervalLiteral__Group__1__Impl : ( 'empty' ) ; + public final void rule__EmptyIntervalLiteral__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2617:1: ( ( 'real' ) ) - // InternalSolverLanguage.g:2618:1: ( 'real' ) + // InternalSolverLanguage.g:5862:1: ( ( 'empty' ) ) + // InternalSolverLanguage.g:5863:1: ( 'empty' ) { - // InternalSolverLanguage.g:2618:1: ( 'real' ) - // InternalSolverLanguage.g:2619:2: 'real' + // InternalSolverLanguage.g:5863:1: ( 'empty' ) + // InternalSolverLanguage.g:5864:2: 'empty' { - before(grammarAccess.getRealSymbolAccess().getRealKeyword_0()); - match(input,25,FOLLOW_2); - after(grammarAccess.getRealSymbolAccess().getRealKeyword_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); + } + match(input,67,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); + } } @@ -8345,24 +19698,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__RealSymbol__Group__0__Impl" + // $ANTLR end "rule__EmptyIntervalLiteral__Group__1__Impl" - // $ANTLR start "rule__RealSymbol__Group__1" - // InternalSolverLanguage.g:2628:1: rule__RealSymbol__Group__1 : rule__RealSymbol__Group__1__Impl ; - public final void rule__RealSymbol__Group__1() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group__0" + // InternalSolverLanguage.g:5874:1: rule__ClassDefinition__Group__0 : rule__ClassDefinition__Group__0__Impl rule__ClassDefinition__Group__1 ; + public final void rule__ClassDefinition__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2632:1: ( rule__RealSymbol__Group__1__Impl ) - // InternalSolverLanguage.g:2633:2: rule__RealSymbol__Group__1__Impl + // InternalSolverLanguage.g:5878:1: ( rule__ClassDefinition__Group__0__Impl rule__ClassDefinition__Group__1 ) + // InternalSolverLanguage.g:5879:2: rule__ClassDefinition__Group__0__Impl rule__ClassDefinition__Group__1 { - pushFollow(FOLLOW_2); - rule__RealSymbol__Group__1__Impl(); + pushFollow(FOLLOW_43); + rule__ClassDefinition__Group__0__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ClassDefinition__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -8378,29 +19736,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__RealSymbol__Group__1" + // $ANTLR end "rule__ClassDefinition__Group__0" - // $ANTLR start "rule__RealSymbol__Group__1__Impl" - // InternalSolverLanguage.g:2639:1: rule__RealSymbol__Group__1__Impl : ( () ) ; - public final void rule__RealSymbol__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group__0__Impl" + // InternalSolverLanguage.g:5886:1: rule__ClassDefinition__Group__0__Impl : ( ( rule__ClassDefinition__AbstractAssignment_0 )? ) ; + public final void rule__ClassDefinition__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2643:1: ( ( () ) ) - // InternalSolverLanguage.g:2644:1: ( () ) - { - // InternalSolverLanguage.g:2644:1: ( () ) - // InternalSolverLanguage.g:2645:2: () + // InternalSolverLanguage.g:5890:1: ( ( ( rule__ClassDefinition__AbstractAssignment_0 )? ) ) + // InternalSolverLanguage.g:5891:1: ( ( rule__ClassDefinition__AbstractAssignment_0 )? ) { - before(grammarAccess.getRealSymbolAccess().getRealSymbolAction_1()); - // InternalSolverLanguage.g:2646:2: () - // InternalSolverLanguage.g:2646:3: + // InternalSolverLanguage.g:5891:1: ( ( rule__ClassDefinition__AbstractAssignment_0 )? ) + // InternalSolverLanguage.g:5892:2: ( rule__ClassDefinition__AbstractAssignment_0 )? { + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getAbstractAssignment_0()); + } + // InternalSolverLanguage.g:5893:2: ( rule__ClassDefinition__AbstractAssignment_0 )? + int alt43=2; + int LA43_0 = input.LA(1); + + if ( (LA43_0==73) ) { + alt43=1; + } + switch (alt43) { + case 1 : + // InternalSolverLanguage.g:5893:3: rule__ClassDefinition__AbstractAssignment_0 + { + pushFollow(FOLLOW_2); + rule__ClassDefinition__AbstractAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + } - after(grammarAccess.getRealSymbolAccess().getRealSymbolAction_1()); + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getAbstractAssignment_0()); + } } @@ -8408,6 +19787,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -8415,29 +19798,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__RealSymbol__Group__1__Impl" + // $ANTLR end "rule__ClassDefinition__Group__0__Impl" - // $ANTLR start "rule__StringSymbol__Group__0" - // InternalSolverLanguage.g:2655:1: rule__StringSymbol__Group__0 : rule__StringSymbol__Group__0__Impl rule__StringSymbol__Group__1 ; - public final void rule__StringSymbol__Group__0() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group__1" + // InternalSolverLanguage.g:5901:1: rule__ClassDefinition__Group__1 : rule__ClassDefinition__Group__1__Impl rule__ClassDefinition__Group__2 ; + public final void rule__ClassDefinition__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2659:1: ( rule__StringSymbol__Group__0__Impl rule__StringSymbol__Group__1 ) - // InternalSolverLanguage.g:2660:2: rule__StringSymbol__Group__0__Impl rule__StringSymbol__Group__1 + // InternalSolverLanguage.g:5905:1: ( rule__ClassDefinition__Group__1__Impl rule__ClassDefinition__Group__2 ) + // InternalSolverLanguage.g:5906:2: rule__ClassDefinition__Group__1__Impl rule__ClassDefinition__Group__2 { - pushFollow(FOLLOW_1); - rule__StringSymbol__Group__0__Impl(); + pushFollow(FOLLOW_44); + rule__ClassDefinition__Group__1__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__StringSymbol__Group__1(); + rule__ClassDefinition__Group__2(); state._fsp--; - + if (state.failed) return ; } @@ -8453,25 +19836,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__StringSymbol__Group__0" + // $ANTLR end "rule__ClassDefinition__Group__1" - // $ANTLR start "rule__StringSymbol__Group__0__Impl" - // InternalSolverLanguage.g:2667:1: rule__StringSymbol__Group__0__Impl : ( 'string' ) ; - public final void rule__StringSymbol__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group__1__Impl" + // InternalSolverLanguage.g:5913:1: rule__ClassDefinition__Group__1__Impl : ( 'class' ) ; + public final void rule__ClassDefinition__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2671:1: ( ( 'string' ) ) - // InternalSolverLanguage.g:2672:1: ( 'string' ) + // InternalSolverLanguage.g:5917:1: ( ( 'class' ) ) + // InternalSolverLanguage.g:5918:1: ( 'class' ) { - // InternalSolverLanguage.g:2672:1: ( 'string' ) - // InternalSolverLanguage.g:2673:2: 'string' + // InternalSolverLanguage.g:5918:1: ( 'class' ) + // InternalSolverLanguage.g:5919:2: 'class' { - before(grammarAccess.getStringSymbolAccess().getStringKeyword_0()); - match(input,26,FOLLOW_2); - after(grammarAccess.getStringSymbolAccess().getStringKeyword_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); + } + match(input,68,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); + } } @@ -8490,24 +19877,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__StringSymbol__Group__0__Impl" + // $ANTLR end "rule__ClassDefinition__Group__1__Impl" - // $ANTLR start "rule__StringSymbol__Group__1" - // InternalSolverLanguage.g:2682:1: rule__StringSymbol__Group__1 : rule__StringSymbol__Group__1__Impl ; - public final void rule__StringSymbol__Group__1() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group__2" + // InternalSolverLanguage.g:5928:1: rule__ClassDefinition__Group__2 : rule__ClassDefinition__Group__2__Impl rule__ClassDefinition__Group__3 ; + public final void rule__ClassDefinition__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2686:1: ( rule__StringSymbol__Group__1__Impl ) - // InternalSolverLanguage.g:2687:2: rule__StringSymbol__Group__1__Impl + // InternalSolverLanguage.g:5932:1: ( rule__ClassDefinition__Group__2__Impl rule__ClassDefinition__Group__3 ) + // InternalSolverLanguage.g:5933:2: rule__ClassDefinition__Group__2__Impl rule__ClassDefinition__Group__3 { - pushFollow(FOLLOW_2); - rule__StringSymbol__Group__1__Impl(); + pushFollow(FOLLOW_45); + rule__ClassDefinition__Group__2__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ClassDefinition__Group__3(); + state._fsp--; + if (state.failed) return ; } @@ -8523,100 +19915,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__StringSymbol__Group__1" + // $ANTLR end "rule__ClassDefinition__Group__2" - // $ANTLR start "rule__StringSymbol__Group__1__Impl" - // InternalSolverLanguage.g:2693:1: rule__StringSymbol__Group__1__Impl : ( () ) ; - public final void rule__StringSymbol__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group__2__Impl" + // InternalSolverLanguage.g:5940:1: rule__ClassDefinition__Group__2__Impl : ( ( rule__ClassDefinition__NameAssignment_2 ) ) ; + public final void rule__ClassDefinition__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2697:1: ( ( () ) ) - // InternalSolverLanguage.g:2698:1: ( () ) - { - // InternalSolverLanguage.g:2698:1: ( () ) - // InternalSolverLanguage.g:2699:2: () + // InternalSolverLanguage.g:5944:1: ( ( ( rule__ClassDefinition__NameAssignment_2 ) ) ) + // InternalSolverLanguage.g:5945:1: ( ( rule__ClassDefinition__NameAssignment_2 ) ) { - before(grammarAccess.getStringSymbolAccess().getStringSymbolAction_1()); - // InternalSolverLanguage.g:2700:2: () - // InternalSolverLanguage.g:2700:3: + // InternalSolverLanguage.g:5945:1: ( ( rule__ClassDefinition__NameAssignment_2 ) ) + // InternalSolverLanguage.g:5946:2: ( rule__ClassDefinition__NameAssignment_2 ) { + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getNameAssignment_2()); } - - after(grammarAccess.getStringSymbolAccess().getStringSymbolAction_1()); - - } - - - } - - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__StringSymbol__Group__1__Impl" - - - // $ANTLR start "rule__NamedObject__Group__0" - // InternalSolverLanguage.g:2709:1: rule__NamedObject__Group__0 : rule__NamedObject__Group__0__Impl rule__NamedObject__Group__1 ; - public final void rule__NamedObject__Group__0() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // InternalSolverLanguage.g:2713:1: ( rule__NamedObject__Group__0__Impl rule__NamedObject__Group__1 ) - // InternalSolverLanguage.g:2714:2: rule__NamedObject__Group__0__Impl rule__NamedObject__Group__1 + // InternalSolverLanguage.g:5947:2: ( rule__ClassDefinition__NameAssignment_2 ) + // InternalSolverLanguage.g:5947:3: rule__ClassDefinition__NameAssignment_2 { - pushFollow(FOLLOW_17); - rule__NamedObject__Group__0__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__NamedObject__Group__1(); + rule__ClassDefinition__NameAssignment_2(); state._fsp--; - + if (state.failed) return ; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__NamedObject__Group__0" - - - // $ANTLR start "rule__NamedObject__Group__0__Impl" - // InternalSolverLanguage.g:2721:1: rule__NamedObject__Group__0__Impl : ( '\\'' ) ; - public final void rule__NamedObject__Group__0__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // InternalSolverLanguage.g:2725:1: ( ( '\\'' ) ) - // InternalSolverLanguage.g:2726:1: ( '\\'' ) - { - // InternalSolverLanguage.g:2726:1: ( '\\'' ) - // InternalSolverLanguage.g:2727:2: '\\'' - { - before(grammarAccess.getNamedObjectAccess().getApostropheKeyword_0()); - match(input,27,FOLLOW_2); - after(grammarAccess.getNamedObjectAccess().getApostropheKeyword_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getNameAssignment_2()); + } } @@ -8635,29 +19966,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__NamedObject__Group__0__Impl" + // $ANTLR end "rule__ClassDefinition__Group__2__Impl" - // $ANTLR start "rule__NamedObject__Group__1" - // InternalSolverLanguage.g:2736:1: rule__NamedObject__Group__1 : rule__NamedObject__Group__1__Impl rule__NamedObject__Group__2 ; - public final void rule__NamedObject__Group__1() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group__3" + // InternalSolverLanguage.g:5955:1: rule__ClassDefinition__Group__3 : rule__ClassDefinition__Group__3__Impl rule__ClassDefinition__Group__4 ; + public final void rule__ClassDefinition__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2740:1: ( rule__NamedObject__Group__1__Impl rule__NamedObject__Group__2 ) - // InternalSolverLanguage.g:2741:2: rule__NamedObject__Group__1__Impl rule__NamedObject__Group__2 + // InternalSolverLanguage.g:5959:1: ( rule__ClassDefinition__Group__3__Impl rule__ClassDefinition__Group__4 ) + // InternalSolverLanguage.g:5960:2: rule__ClassDefinition__Group__3__Impl rule__ClassDefinition__Group__4 { - pushFollow(FOLLOW_18); - rule__NamedObject__Group__1__Impl(); + pushFollow(FOLLOW_45); + rule__ClassDefinition__Group__3__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__NamedObject__Group__2(); + rule__ClassDefinition__Group__4(); state._fsp--; - + if (state.failed) return ; } @@ -8673,35 +20004,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__NamedObject__Group__1" + // $ANTLR end "rule__ClassDefinition__Group__3" - // $ANTLR start "rule__NamedObject__Group__1__Impl" - // InternalSolverLanguage.g:2748:1: rule__NamedObject__Group__1__Impl : ( ( rule__NamedObject__NameAssignment_1 ) ) ; - public final void rule__NamedObject__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group__3__Impl" + // InternalSolverLanguage.g:5967:1: rule__ClassDefinition__Group__3__Impl : ( ( rule__ClassDefinition__Group_3__0 )? ) ; + public final void rule__ClassDefinition__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2752:1: ( ( ( rule__NamedObject__NameAssignment_1 ) ) ) - // InternalSolverLanguage.g:2753:1: ( ( rule__NamedObject__NameAssignment_1 ) ) - { - // InternalSolverLanguage.g:2753:1: ( ( rule__NamedObject__NameAssignment_1 ) ) - // InternalSolverLanguage.g:2754:2: ( rule__NamedObject__NameAssignment_1 ) + // InternalSolverLanguage.g:5971:1: ( ( ( rule__ClassDefinition__Group_3__0 )? ) ) + // InternalSolverLanguage.g:5972:1: ( ( rule__ClassDefinition__Group_3__0 )? ) { - before(grammarAccess.getNamedObjectAccess().getNameAssignment_1()); - // InternalSolverLanguage.g:2755:2: ( rule__NamedObject__NameAssignment_1 ) - // InternalSolverLanguage.g:2755:3: rule__NamedObject__NameAssignment_1 + // InternalSolverLanguage.g:5972:1: ( ( rule__ClassDefinition__Group_3__0 )? ) + // InternalSolverLanguage.g:5973:2: ( rule__ClassDefinition__Group_3__0 )? { - pushFollow(FOLLOW_2); - rule__NamedObject__NameAssignment_1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getGroup_3()); + } + // InternalSolverLanguage.g:5974:2: ( rule__ClassDefinition__Group_3__0 )? + int alt44=2; + int LA44_0 = input.LA(1); - state._fsp--; + if ( (LA44_0==69) ) { + alt44=1; + } + switch (alt44) { + case 1 : + // InternalSolverLanguage.g:5974:3: rule__ClassDefinition__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__ClassDefinition__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + } + break; } - after(grammarAccess.getNamedObjectAccess().getNameAssignment_1()); + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getGroup_3()); + } } @@ -8720,24 +20066,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__NamedObject__Group__1__Impl" + // $ANTLR end "rule__ClassDefinition__Group__3__Impl" - // $ANTLR start "rule__NamedObject__Group__2" - // InternalSolverLanguage.g:2763:1: rule__NamedObject__Group__2 : rule__NamedObject__Group__2__Impl ; - public final void rule__NamedObject__Group__2() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group__4" + // InternalSolverLanguage.g:5982:1: rule__ClassDefinition__Group__4 : rule__ClassDefinition__Group__4__Impl rule__ClassDefinition__Group__5 ; + public final void rule__ClassDefinition__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2767:1: ( rule__NamedObject__Group__2__Impl ) - // InternalSolverLanguage.g:2768:2: rule__NamedObject__Group__2__Impl + // InternalSolverLanguage.g:5986:1: ( rule__ClassDefinition__Group__4__Impl rule__ClassDefinition__Group__5 ) + // InternalSolverLanguage.g:5987:2: rule__ClassDefinition__Group__4__Impl rule__ClassDefinition__Group__5 { - pushFollow(FOLLOW_2); - rule__NamedObject__Group__2__Impl(); + pushFollow(FOLLOW_46); + rule__ClassDefinition__Group__4__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ClassDefinition__Group__5(); + state._fsp--; + if (state.failed) return ; } @@ -8753,25 +20104,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__NamedObject__Group__2" + // $ANTLR end "rule__ClassDefinition__Group__4" - // $ANTLR start "rule__NamedObject__Group__2__Impl" - // InternalSolverLanguage.g:2774:1: rule__NamedObject__Group__2__Impl : ( '\\'' ) ; - public final void rule__NamedObject__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group__4__Impl" + // InternalSolverLanguage.g:5994:1: rule__ClassDefinition__Group__4__Impl : ( '{' ) ; + public final void rule__ClassDefinition__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2778:1: ( ( '\\'' ) ) - // InternalSolverLanguage.g:2779:1: ( '\\'' ) + // InternalSolverLanguage.g:5998:1: ( ( '{' ) ) + // InternalSolverLanguage.g:5999:1: ( '{' ) { - // InternalSolverLanguage.g:2779:1: ( '\\'' ) - // InternalSolverLanguage.g:2780:2: '\\'' + // InternalSolverLanguage.g:5999:1: ( '{' ) + // InternalSolverLanguage.g:6000:2: '{' { - before(grammarAccess.getNamedObjectAccess().getApostropheKeyword_2()); - match(input,27,FOLLOW_2); - after(grammarAccess.getNamedObjectAccess().getApostropheKeyword_2()); + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); + } + match(input,58,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); + } } @@ -8790,29 +20145,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__NamedObject__Group__2__Impl" + // $ANTLR end "rule__ClassDefinition__Group__4__Impl" - // $ANTLR start "rule__Predicate__Group__0" - // InternalSolverLanguage.g:2790:1: rule__Predicate__Group__0 : rule__Predicate__Group__0__Impl rule__Predicate__Group__1 ; - public final void rule__Predicate__Group__0() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group__5" + // InternalSolverLanguage.g:6009:1: rule__ClassDefinition__Group__5 : rule__ClassDefinition__Group__5__Impl rule__ClassDefinition__Group__6 ; + public final void rule__ClassDefinition__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2794:1: ( rule__Predicate__Group__0__Impl rule__Predicate__Group__1 ) - // InternalSolverLanguage.g:2795:2: rule__Predicate__Group__0__Impl rule__Predicate__Group__1 + // InternalSolverLanguage.g:6013:1: ( rule__ClassDefinition__Group__5__Impl rule__ClassDefinition__Group__6 ) + // InternalSolverLanguage.g:6014:2: rule__ClassDefinition__Group__5__Impl rule__ClassDefinition__Group__6 { - pushFollow(FOLLOW_19); - rule__Predicate__Group__0__Impl(); + pushFollow(FOLLOW_46); + rule__ClassDefinition__Group__5__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Predicate__Group__1(); + rule__ClassDefinition__Group__6(); state._fsp--; - + if (state.failed) return ; } @@ -8828,46 +20183,57 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group__0" + // $ANTLR end "rule__ClassDefinition__Group__5" - // $ANTLR start "rule__Predicate__Group__0__Impl" - // InternalSolverLanguage.g:2802:1: rule__Predicate__Group__0__Impl : ( ( rule__Predicate__IsErrorAssignment_0 )? ) ; - public final void rule__Predicate__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group__5__Impl" + // InternalSolverLanguage.g:6021:1: rule__ClassDefinition__Group__5__Impl : ( ( rule__ClassDefinition__MembersAssignment_5 )* ) ; + public final void rule__ClassDefinition__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2806:1: ( ( ( rule__Predicate__IsErrorAssignment_0 )? ) ) - // InternalSolverLanguage.g:2807:1: ( ( rule__Predicate__IsErrorAssignment_0 )? ) + // InternalSolverLanguage.g:6025:1: ( ( ( rule__ClassDefinition__MembersAssignment_5 )* ) ) + // InternalSolverLanguage.g:6026:1: ( ( rule__ClassDefinition__MembersAssignment_5 )* ) { - // InternalSolverLanguage.g:2807:1: ( ( rule__Predicate__IsErrorAssignment_0 )? ) - // InternalSolverLanguage.g:2808:2: ( rule__Predicate__IsErrorAssignment_0 )? + // InternalSolverLanguage.g:6026:1: ( ( rule__ClassDefinition__MembersAssignment_5 )* ) + // InternalSolverLanguage.g:6027:2: ( rule__ClassDefinition__MembersAssignment_5 )* { - before(grammarAccess.getPredicateAccess().getIsErrorAssignment_0()); - // InternalSolverLanguage.g:2809:2: ( rule__Predicate__IsErrorAssignment_0 )? - int alt26=2; - int LA26_0 = input.LA(1); - - if ( (LA26_0==16) ) { - alt26=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getMembersAssignment_5()); } - switch (alt26) { - case 1 : - // InternalSolverLanguage.g:2809:3: rule__Predicate__IsErrorAssignment_0 - { - pushFollow(FOLLOW_2); - rule__Predicate__IsErrorAssignment_0(); + // InternalSolverLanguage.g:6028:2: ( rule__ClassDefinition__MembersAssignment_5 )* + loop45: + do { + int alt45=2; + int LA45_0 = input.LA(1); - state._fsp--; + if ( (LA45_0==RULE_QUOTED_ID||LA45_0==RULE_ID||LA45_0==74) ) { + alt45=1; + } - } - break; + switch (alt45) { + case 1 : + // InternalSolverLanguage.g:6028:3: rule__ClassDefinition__MembersAssignment_5 + { + pushFollow(FOLLOW_47); + rule__ClassDefinition__MembersAssignment_5(); - } + state._fsp--; + if (state.failed) return ; + + } + break; - after(grammarAccess.getPredicateAccess().getIsErrorAssignment_0()); + default : + break loop45; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getMembersAssignment_5()); + } } @@ -8886,29 +20252,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group__0__Impl" + // $ANTLR end "rule__ClassDefinition__Group__5__Impl" - // $ANTLR start "rule__Predicate__Group__1" - // InternalSolverLanguage.g:2817:1: rule__Predicate__Group__1 : rule__Predicate__Group__1__Impl rule__Predicate__Group__2 ; - public final void rule__Predicate__Group__1() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group__6" + // InternalSolverLanguage.g:6036:1: rule__ClassDefinition__Group__6 : rule__ClassDefinition__Group__6__Impl ; + public final void rule__ClassDefinition__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2821:1: ( rule__Predicate__Group__1__Impl rule__Predicate__Group__2 ) - // InternalSolverLanguage.g:2822:2: rule__Predicate__Group__1__Impl rule__Predicate__Group__2 + // InternalSolverLanguage.g:6040:1: ( rule__ClassDefinition__Group__6__Impl ) + // InternalSolverLanguage.g:6041:2: rule__ClassDefinition__Group__6__Impl { - pushFollow(FOLLOW_20); - rule__Predicate__Group__1__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__Predicate__Group__2(); + rule__ClassDefinition__Group__6__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -8924,35 +20285,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group__1" + // $ANTLR end "rule__ClassDefinition__Group__6" - // $ANTLR start "rule__Predicate__Group__1__Impl" - // InternalSolverLanguage.g:2829:1: rule__Predicate__Group__1__Impl : ( ( rule__Predicate__SymbolAssignment_1 ) ) ; - public final void rule__Predicate__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group__6__Impl" + // InternalSolverLanguage.g:6047:1: rule__ClassDefinition__Group__6__Impl : ( '}' ) ; + public final void rule__ClassDefinition__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2833:1: ( ( ( rule__Predicate__SymbolAssignment_1 ) ) ) - // InternalSolverLanguage.g:2834:1: ( ( rule__Predicate__SymbolAssignment_1 ) ) + // InternalSolverLanguage.g:6051:1: ( ( '}' ) ) + // InternalSolverLanguage.g:6052:1: ( '}' ) { - // InternalSolverLanguage.g:2834:1: ( ( rule__Predicate__SymbolAssignment_1 ) ) - // InternalSolverLanguage.g:2835:2: ( rule__Predicate__SymbolAssignment_1 ) + // InternalSolverLanguage.g:6052:1: ( '}' ) + // InternalSolverLanguage.g:6053:2: '}' { - before(grammarAccess.getPredicateAccess().getSymbolAssignment_1()); - // InternalSolverLanguage.g:2836:2: ( rule__Predicate__SymbolAssignment_1 ) - // InternalSolverLanguage.g:2836:3: rule__Predicate__SymbolAssignment_1 - { - pushFollow(FOLLOW_2); - rule__Predicate__SymbolAssignment_1(); - - state._fsp--; - - + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6()); + } + match(input,59,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6()); } - - after(grammarAccess.getPredicateAccess().getSymbolAssignment_1()); } @@ -8971,29 +20326,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group__1__Impl" + // $ANTLR end "rule__ClassDefinition__Group__6__Impl" - // $ANTLR start "rule__Predicate__Group__2" - // InternalSolverLanguage.g:2844:1: rule__Predicate__Group__2 : rule__Predicate__Group__2__Impl rule__Predicate__Group__3 ; - public final void rule__Predicate__Group__2() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group_3__0" + // InternalSolverLanguage.g:6063:1: rule__ClassDefinition__Group_3__0 : rule__ClassDefinition__Group_3__0__Impl rule__ClassDefinition__Group_3__1 ; + public final void rule__ClassDefinition__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2848:1: ( rule__Predicate__Group__2__Impl rule__Predicate__Group__3 ) - // InternalSolverLanguage.g:2849:2: rule__Predicate__Group__2__Impl rule__Predicate__Group__3 + // InternalSolverLanguage.g:6067:1: ( rule__ClassDefinition__Group_3__0__Impl rule__ClassDefinition__Group_3__1 ) + // InternalSolverLanguage.g:6068:2: rule__ClassDefinition__Group_3__0__Impl rule__ClassDefinition__Group_3__1 { - pushFollow(FOLLOW_20); - rule__Predicate__Group__2__Impl(); + pushFollow(FOLLOW_9); + rule__ClassDefinition__Group_3__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Predicate__Group__3(); + rule__ClassDefinition__Group_3__1(); state._fsp--; - + if (state.failed) return ; } @@ -9009,47 +20364,30 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group__2" + // $ANTLR end "rule__ClassDefinition__Group_3__0" - // $ANTLR start "rule__Predicate__Group__2__Impl" - // InternalSolverLanguage.g:2856:1: rule__Predicate__Group__2__Impl : ( ( rule__Predicate__Group_2__0 )? ) ; - public final void rule__Predicate__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group_3__0__Impl" + // InternalSolverLanguage.g:6075:1: rule__ClassDefinition__Group_3__0__Impl : ( 'extends' ) ; + public final void rule__ClassDefinition__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2860:1: ( ( ( rule__Predicate__Group_2__0 )? ) ) - // InternalSolverLanguage.g:2861:1: ( ( rule__Predicate__Group_2__0 )? ) + // InternalSolverLanguage.g:6079:1: ( ( 'extends' ) ) + // InternalSolverLanguage.g:6080:1: ( 'extends' ) { - // InternalSolverLanguage.g:2861:1: ( ( rule__Predicate__Group_2__0 )? ) - // InternalSolverLanguage.g:2862:2: ( rule__Predicate__Group_2__0 )? + // InternalSolverLanguage.g:6080:1: ( 'extends' ) + // InternalSolverLanguage.g:6081:2: 'extends' { - before(grammarAccess.getPredicateAccess().getGroup_2()); - // InternalSolverLanguage.g:2863:2: ( rule__Predicate__Group_2__0 )? - int alt27=2; - int LA27_0 = input.LA(1); - - if ( (LA27_0==18) ) { - alt27=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); } - switch (alt27) { - case 1 : - // InternalSolverLanguage.g:2863:3: rule__Predicate__Group_2__0 - { - pushFollow(FOLLOW_2); - rule__Predicate__Group_2__0(); - - state._fsp--; - - - } - break; - + match(input,69,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); } - after(grammarAccess.getPredicateAccess().getGroup_2()); - } @@ -9067,29 +20405,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group__2__Impl" + // $ANTLR end "rule__ClassDefinition__Group_3__0__Impl" - // $ANTLR start "rule__Predicate__Group__3" - // InternalSolverLanguage.g:2871:1: rule__Predicate__Group__3 : rule__Predicate__Group__3__Impl rule__Predicate__Group__4 ; - public final void rule__Predicate__Group__3() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group_3__1" + // InternalSolverLanguage.g:6090:1: rule__ClassDefinition__Group_3__1 : rule__ClassDefinition__Group_3__1__Impl rule__ClassDefinition__Group_3__2 ; + public final void rule__ClassDefinition__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2875:1: ( rule__Predicate__Group__3__Impl rule__Predicate__Group__4 ) - // InternalSolverLanguage.g:2876:2: rule__Predicate__Group__3__Impl rule__Predicate__Group__4 + // InternalSolverLanguage.g:6094:1: ( rule__ClassDefinition__Group_3__1__Impl rule__ClassDefinition__Group_3__2 ) + // InternalSolverLanguage.g:6095:2: rule__ClassDefinition__Group_3__1__Impl rule__ClassDefinition__Group_3__2 { - pushFollow(FOLLOW_21); - rule__Predicate__Group__3__Impl(); + pushFollow(FOLLOW_22); + rule__ClassDefinition__Group_3__1__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Predicate__Group__4(); + rule__ClassDefinition__Group_3__2(); state._fsp--; - + if (state.failed) return ; } @@ -9105,25 +20443,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group__3" + // $ANTLR end "rule__ClassDefinition__Group_3__1" - // $ANTLR start "rule__Predicate__Group__3__Impl" - // InternalSolverLanguage.g:2883:1: rule__Predicate__Group__3__Impl : ( ':-' ) ; - public final void rule__Predicate__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group_3__1__Impl" + // InternalSolverLanguage.g:6102:1: rule__ClassDefinition__Group_3__1__Impl : ( ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) ) ; + public final void rule__ClassDefinition__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2887:1: ( ( ':-' ) ) - // InternalSolverLanguage.g:2888:1: ( ':-' ) + // InternalSolverLanguage.g:6106:1: ( ( ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) ) ) + // InternalSolverLanguage.g:6107:1: ( ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) ) { - // InternalSolverLanguage.g:2888:1: ( ':-' ) - // InternalSolverLanguage.g:2889:2: ':-' + // InternalSolverLanguage.g:6107:1: ( ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) ) + // InternalSolverLanguage.g:6108:2: ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_1()); + } + // InternalSolverLanguage.g:6109:2: ( rule__ClassDefinition__SuperclassesAssignment_3_1 ) + // InternalSolverLanguage.g:6109:3: rule__ClassDefinition__SuperclassesAssignment_3_1 { - before(grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3()); - match(input,28,FOLLOW_2); - after(grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3()); + pushFollow(FOLLOW_2); + rule__ClassDefinition__SuperclassesAssignment_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_1()); + } } @@ -9142,29 +20494,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group__3__Impl" + // $ANTLR end "rule__ClassDefinition__Group_3__1__Impl" - // $ANTLR start "rule__Predicate__Group__4" - // InternalSolverLanguage.g:2898:1: rule__Predicate__Group__4 : rule__Predicate__Group__4__Impl rule__Predicate__Group__5 ; - public final void rule__Predicate__Group__4() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group_3__2" + // InternalSolverLanguage.g:6117:1: rule__ClassDefinition__Group_3__2 : rule__ClassDefinition__Group_3__2__Impl ; + public final void rule__ClassDefinition__Group_3__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2902:1: ( rule__Predicate__Group__4__Impl rule__Predicate__Group__5 ) - // InternalSolverLanguage.g:2903:2: rule__Predicate__Group__4__Impl rule__Predicate__Group__5 + // InternalSolverLanguage.g:6121:1: ( rule__ClassDefinition__Group_3__2__Impl ) + // InternalSolverLanguage.g:6122:2: rule__ClassDefinition__Group_3__2__Impl { - pushFollow(FOLLOW_6); - rule__Predicate__Group__4__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__Predicate__Group__5(); + rule__ClassDefinition__Group_3__2__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -9180,35 +20527,57 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group__4" + // $ANTLR end "rule__ClassDefinition__Group_3__2" - // $ANTLR start "rule__Predicate__Group__4__Impl" - // InternalSolverLanguage.g:2910:1: rule__Predicate__Group__4__Impl : ( ( rule__Predicate__Alternatives_4 ) ) ; - public final void rule__Predicate__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group_3__2__Impl" + // InternalSolverLanguage.g:6128:1: rule__ClassDefinition__Group_3__2__Impl : ( ( rule__ClassDefinition__Group_3_2__0 )* ) ; + public final void rule__ClassDefinition__Group_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2914:1: ( ( ( rule__Predicate__Alternatives_4 ) ) ) - // InternalSolverLanguage.g:2915:1: ( ( rule__Predicate__Alternatives_4 ) ) + // InternalSolverLanguage.g:6132:1: ( ( ( rule__ClassDefinition__Group_3_2__0 )* ) ) + // InternalSolverLanguage.g:6133:1: ( ( rule__ClassDefinition__Group_3_2__0 )* ) { - // InternalSolverLanguage.g:2915:1: ( ( rule__Predicate__Alternatives_4 ) ) - // InternalSolverLanguage.g:2916:2: ( rule__Predicate__Alternatives_4 ) + // InternalSolverLanguage.g:6133:1: ( ( rule__ClassDefinition__Group_3_2__0 )* ) + // InternalSolverLanguage.g:6134:2: ( rule__ClassDefinition__Group_3_2__0 )* { - before(grammarAccess.getPredicateAccess().getAlternatives_4()); - // InternalSolverLanguage.g:2917:2: ( rule__Predicate__Alternatives_4 ) - // InternalSolverLanguage.g:2917:3: rule__Predicate__Alternatives_4 - { - pushFollow(FOLLOW_2); - rule__Predicate__Alternatives_4(); + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getGroup_3_2()); + } + // InternalSolverLanguage.g:6135:2: ( rule__ClassDefinition__Group_3_2__0 )* + loop46: + do { + int alt46=2; + int LA46_0 = input.LA(1); - state._fsp--; + if ( (LA46_0==56) ) { + alt46=1; + } - } + switch (alt46) { + case 1 : + // InternalSolverLanguage.g:6135:3: rule__ClassDefinition__Group_3_2__0 + { + pushFollow(FOLLOW_23); + rule__ClassDefinition__Group_3_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop46; + } + } while (true); - after(grammarAccess.getPredicateAccess().getAlternatives_4()); + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getGroup_3_2()); + } } @@ -9227,24 +20596,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group__4__Impl" + // $ANTLR end "rule__ClassDefinition__Group_3__2__Impl" - // $ANTLR start "rule__Predicate__Group__5" - // InternalSolverLanguage.g:2925:1: rule__Predicate__Group__5 : rule__Predicate__Group__5__Impl ; - public final void rule__Predicate__Group__5() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group_3_2__0" + // InternalSolverLanguage.g:6144:1: rule__ClassDefinition__Group_3_2__0 : rule__ClassDefinition__Group_3_2__0__Impl rule__ClassDefinition__Group_3_2__1 ; + public final void rule__ClassDefinition__Group_3_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2929:1: ( rule__Predicate__Group__5__Impl ) - // InternalSolverLanguage.g:2930:2: rule__Predicate__Group__5__Impl + // InternalSolverLanguage.g:6148:1: ( rule__ClassDefinition__Group_3_2__0__Impl rule__ClassDefinition__Group_3_2__1 ) + // InternalSolverLanguage.g:6149:2: rule__ClassDefinition__Group_3_2__0__Impl rule__ClassDefinition__Group_3_2__1 { - pushFollow(FOLLOW_2); - rule__Predicate__Group__5__Impl(); + pushFollow(FOLLOW_9); + rule__ClassDefinition__Group_3_2__0__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ClassDefinition__Group_3_2__1(); + state._fsp--; + if (state.failed) return ; } @@ -9260,25 +20634,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group__5" + // $ANTLR end "rule__ClassDefinition__Group_3_2__0" - // $ANTLR start "rule__Predicate__Group__5__Impl" - // InternalSolverLanguage.g:2936:1: rule__Predicate__Group__5__Impl : ( '.' ) ; - public final void rule__Predicate__Group__5__Impl() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group_3_2__0__Impl" + // InternalSolverLanguage.g:6156:1: rule__ClassDefinition__Group_3_2__0__Impl : ( ',' ) ; + public final void rule__ClassDefinition__Group_3_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2940:1: ( ( '.' ) ) - // InternalSolverLanguage.g:2941:1: ( '.' ) + // InternalSolverLanguage.g:6160:1: ( ( ',' ) ) + // InternalSolverLanguage.g:6161:1: ( ',' ) { - // InternalSolverLanguage.g:2941:1: ( '.' ) - // InternalSolverLanguage.g:2942:2: '.' + // InternalSolverLanguage.g:6161:1: ( ',' ) + // InternalSolverLanguage.g:6162:2: ',' { - before(grammarAccess.getPredicateAccess().getFullStopKeyword_5()); - match(input,14,FOLLOW_2); - after(grammarAccess.getPredicateAccess().getFullStopKeyword_5()); + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); + } + match(input,56,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); + } } @@ -9297,29 +20675,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group__5__Impl" + // $ANTLR end "rule__ClassDefinition__Group_3_2__0__Impl" - // $ANTLR start "rule__Predicate__Group_2__0" - // InternalSolverLanguage.g:2952:1: rule__Predicate__Group_2__0 : rule__Predicate__Group_2__0__Impl rule__Predicate__Group_2__1 ; - public final void rule__Predicate__Group_2__0() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group_3_2__1" + // InternalSolverLanguage.g:6171:1: rule__ClassDefinition__Group_3_2__1 : rule__ClassDefinition__Group_3_2__1__Impl ; + public final void rule__ClassDefinition__Group_3_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2956:1: ( rule__Predicate__Group_2__0__Impl rule__Predicate__Group_2__1 ) - // InternalSolverLanguage.g:2957:2: rule__Predicate__Group_2__0__Impl rule__Predicate__Group_2__1 + // InternalSolverLanguage.g:6175:1: ( rule__ClassDefinition__Group_3_2__1__Impl ) + // InternalSolverLanguage.g:6176:2: rule__ClassDefinition__Group_3_2__1__Impl { - pushFollow(FOLLOW_22); - rule__Predicate__Group_2__0__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__Predicate__Group_2__1(); + rule__ClassDefinition__Group_3_2__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -9335,25 +20708,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_2__0" + // $ANTLR end "rule__ClassDefinition__Group_3_2__1" - // $ANTLR start "rule__Predicate__Group_2__0__Impl" - // InternalSolverLanguage.g:2964:1: rule__Predicate__Group_2__0__Impl : ( '(' ) ; - public final void rule__Predicate__Group_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__Group_3_2__1__Impl" + // InternalSolverLanguage.g:6182:1: rule__ClassDefinition__Group_3_2__1__Impl : ( ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) ) ; + public final void rule__ClassDefinition__Group_3_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2968:1: ( ( '(' ) ) - // InternalSolverLanguage.g:2969:1: ( '(' ) + // InternalSolverLanguage.g:6186:1: ( ( ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) ) ) + // InternalSolverLanguage.g:6187:1: ( ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) ) { - // InternalSolverLanguage.g:2969:1: ( '(' ) - // InternalSolverLanguage.g:2970:2: '(' + // InternalSolverLanguage.g:6187:1: ( ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) ) + // InternalSolverLanguage.g:6188:2: ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_2_1()); + } + // InternalSolverLanguage.g:6189:2: ( rule__ClassDefinition__SuperclassesAssignment_3_2_1 ) + // InternalSolverLanguage.g:6189:3: rule__ClassDefinition__SuperclassesAssignment_3_2_1 { - before(grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()); - match(input,18,FOLLOW_2); - after(grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()); + pushFollow(FOLLOW_2); + rule__ClassDefinition__SuperclassesAssignment_3_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getSuperclassesAssignment_3_2_1()); + } } @@ -9372,29 +20759,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_2__0__Impl" + // $ANTLR end "rule__ClassDefinition__Group_3_2__1__Impl" - // $ANTLR start "rule__Predicate__Group_2__1" - // InternalSolverLanguage.g:2979:1: rule__Predicate__Group_2__1 : rule__Predicate__Group_2__1__Impl rule__Predicate__Group_2__2 ; - public final void rule__Predicate__Group_2__1() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__Group__0" + // InternalSolverLanguage.g:6198:1: rule__MemberDefinition__Group__0 : rule__MemberDefinition__Group__0__Impl rule__MemberDefinition__Group__1 ; + public final void rule__MemberDefinition__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2983:1: ( rule__Predicate__Group_2__1__Impl rule__Predicate__Group_2__2 ) - // InternalSolverLanguage.g:2984:2: rule__Predicate__Group_2__1__Impl rule__Predicate__Group_2__2 + // InternalSolverLanguage.g:6202:1: ( rule__MemberDefinition__Group__0__Impl rule__MemberDefinition__Group__1 ) + // InternalSolverLanguage.g:6203:2: rule__MemberDefinition__Group__0__Impl rule__MemberDefinition__Group__1 { - pushFollow(FOLLOW_22); - rule__Predicate__Group_2__1__Impl(); + pushFollow(FOLLOW_48); + rule__MemberDefinition__Group__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Predicate__Group_2__2(); + rule__MemberDefinition__Group__1(); state._fsp--; - + if (state.failed) return ; } @@ -9410,46 +20797,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_2__1" + // $ANTLR end "rule__MemberDefinition__Group__0" - // $ANTLR start "rule__Predicate__Group_2__1__Impl" - // InternalSolverLanguage.g:2991:1: rule__Predicate__Group_2__1__Impl : ( ( rule__Predicate__Group_2_1__0 )? ) ; - public final void rule__Predicate__Group_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__Group__0__Impl" + // InternalSolverLanguage.g:6210:1: rule__MemberDefinition__Group__0__Impl : ( ( rule__MemberDefinition__ContainmentAssignment_0 )? ) ; + public final void rule__MemberDefinition__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:2995:1: ( ( ( rule__Predicate__Group_2_1__0 )? ) ) - // InternalSolverLanguage.g:2996:1: ( ( rule__Predicate__Group_2_1__0 )? ) + // InternalSolverLanguage.g:6214:1: ( ( ( rule__MemberDefinition__ContainmentAssignment_0 )? ) ) + // InternalSolverLanguage.g:6215:1: ( ( rule__MemberDefinition__ContainmentAssignment_0 )? ) { - // InternalSolverLanguage.g:2996:1: ( ( rule__Predicate__Group_2_1__0 )? ) - // InternalSolverLanguage.g:2997:2: ( rule__Predicate__Group_2_1__0 )? + // InternalSolverLanguage.g:6215:1: ( ( rule__MemberDefinition__ContainmentAssignment_0 )? ) + // InternalSolverLanguage.g:6216:2: ( rule__MemberDefinition__ContainmentAssignment_0 )? { - before(grammarAccess.getPredicateAccess().getGroup_2_1()); - // InternalSolverLanguage.g:2998:2: ( rule__Predicate__Group_2_1__0 )? - int alt28=2; - int LA28_0 = input.LA(1); + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionAccess().getContainmentAssignment_0()); + } + // InternalSolverLanguage.g:6217:2: ( rule__MemberDefinition__ContainmentAssignment_0 )? + int alt47=2; + int LA47_0 = input.LA(1); - if ( (LA28_0==RULE_ID) ) { - alt28=1; + if ( (LA47_0==74) ) { + alt47=1; } - switch (alt28) { + switch (alt47) { case 1 : - // InternalSolverLanguage.g:2998:3: rule__Predicate__Group_2_1__0 + // InternalSolverLanguage.g:6217:3: rule__MemberDefinition__ContainmentAssignment_0 { pushFollow(FOLLOW_2); - rule__Predicate__Group_2_1__0(); + rule__MemberDefinition__ContainmentAssignment_0(); state._fsp--; - + if (state.failed) return ; } break; } - after(grammarAccess.getPredicateAccess().getGroup_2_1()); + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionAccess().getContainmentAssignment_0()); + } } @@ -9468,24 +20859,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_2__1__Impl" + // $ANTLR end "rule__MemberDefinition__Group__0__Impl" - // $ANTLR start "rule__Predicate__Group_2__2" - // InternalSolverLanguage.g:3006:1: rule__Predicate__Group_2__2 : rule__Predicate__Group_2__2__Impl ; - public final void rule__Predicate__Group_2__2() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__Group__1" + // InternalSolverLanguage.g:6225:1: rule__MemberDefinition__Group__1 : rule__MemberDefinition__Group__1__Impl rule__MemberDefinition__Group__2 ; + public final void rule__MemberDefinition__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3010:1: ( rule__Predicate__Group_2__2__Impl ) - // InternalSolverLanguage.g:3011:2: rule__Predicate__Group_2__2__Impl + // InternalSolverLanguage.g:6229:1: ( rule__MemberDefinition__Group__1__Impl rule__MemberDefinition__Group__2 ) + // InternalSolverLanguage.g:6230:2: rule__MemberDefinition__Group__1__Impl rule__MemberDefinition__Group__2 { - pushFollow(FOLLOW_2); - rule__Predicate__Group_2__2__Impl(); + pushFollow(FOLLOW_49); + rule__MemberDefinition__Group__1__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__MemberDefinition__Group__2(); + state._fsp--; + if (state.failed) return ; } @@ -9501,25 +20897,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_2__2" + // $ANTLR end "rule__MemberDefinition__Group__1" - // $ANTLR start "rule__Predicate__Group_2__2__Impl" - // InternalSolverLanguage.g:3017:1: rule__Predicate__Group_2__2__Impl : ( ')' ) ; - public final void rule__Predicate__Group_2__2__Impl() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__Group__1__Impl" + // InternalSolverLanguage.g:6237:1: rule__MemberDefinition__Group__1__Impl : ( ( rule__MemberDefinition__TypeAssignment_1 ) ) ; + public final void rule__MemberDefinition__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3021:1: ( ( ')' ) ) - // InternalSolverLanguage.g:3022:1: ( ')' ) + // InternalSolverLanguage.g:6241:1: ( ( ( rule__MemberDefinition__TypeAssignment_1 ) ) ) + // InternalSolverLanguage.g:6242:1: ( ( rule__MemberDefinition__TypeAssignment_1 ) ) { - // InternalSolverLanguage.g:3022:1: ( ')' ) - // InternalSolverLanguage.g:3023:2: ')' + // InternalSolverLanguage.g:6242:1: ( ( rule__MemberDefinition__TypeAssignment_1 ) ) + // InternalSolverLanguage.g:6243:2: ( rule__MemberDefinition__TypeAssignment_1 ) { - before(grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2()); - match(input,19,FOLLOW_2); - after(grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2()); + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionAccess().getTypeAssignment_1()); + } + // InternalSolverLanguage.g:6244:2: ( rule__MemberDefinition__TypeAssignment_1 ) + // InternalSolverLanguage.g:6244:3: rule__MemberDefinition__TypeAssignment_1 + { + pushFollow(FOLLOW_2); + rule__MemberDefinition__TypeAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionAccess().getTypeAssignment_1()); + } } @@ -9538,29 +20948,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_2__2__Impl" + // $ANTLR end "rule__MemberDefinition__Group__1__Impl" - // $ANTLR start "rule__Predicate__Group_2_1__0" - // InternalSolverLanguage.g:3033:1: rule__Predicate__Group_2_1__0 : rule__Predicate__Group_2_1__0__Impl rule__Predicate__Group_2_1__1 ; - public final void rule__Predicate__Group_2_1__0() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__Group__2" + // InternalSolverLanguage.g:6252:1: rule__MemberDefinition__Group__2 : rule__MemberDefinition__Group__2__Impl rule__MemberDefinition__Group__3 ; + public final void rule__MemberDefinition__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3037:1: ( rule__Predicate__Group_2_1__0__Impl rule__Predicate__Group_2_1__1 ) - // InternalSolverLanguage.g:3038:2: rule__Predicate__Group_2_1__0__Impl rule__Predicate__Group_2_1__1 + // InternalSolverLanguage.g:6256:1: ( rule__MemberDefinition__Group__2__Impl rule__MemberDefinition__Group__3 ) + // InternalSolverLanguage.g:6257:2: rule__MemberDefinition__Group__2__Impl rule__MemberDefinition__Group__3 { - pushFollow(FOLLOW_14); - rule__Predicate__Group_2_1__0__Impl(); + pushFollow(FOLLOW_49); + rule__MemberDefinition__Group__2__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Predicate__Group_2_1__1(); + rule__MemberDefinition__Group__3(); state._fsp--; - + if (state.failed) return ; } @@ -9576,35 +20986,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_2_1__0" + // $ANTLR end "rule__MemberDefinition__Group__2" - // $ANTLR start "rule__Predicate__Group_2_1__0__Impl" - // InternalSolverLanguage.g:3045:1: rule__Predicate__Group_2_1__0__Impl : ( ( rule__Predicate__ParametersAssignment_2_1_0 ) ) ; - public final void rule__Predicate__Group_2_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__Group__2__Impl" + // InternalSolverLanguage.g:6264:1: rule__MemberDefinition__Group__2__Impl : ( ( rule__MemberDefinition__MultiplicityAssignment_2 )? ) ; + public final void rule__MemberDefinition__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3049:1: ( ( ( rule__Predicate__ParametersAssignment_2_1_0 ) ) ) - // InternalSolverLanguage.g:3050:1: ( ( rule__Predicate__ParametersAssignment_2_1_0 ) ) + // InternalSolverLanguage.g:6268:1: ( ( ( rule__MemberDefinition__MultiplicityAssignment_2 )? ) ) + // InternalSolverLanguage.g:6269:1: ( ( rule__MemberDefinition__MultiplicityAssignment_2 )? ) { - // InternalSolverLanguage.g:3050:1: ( ( rule__Predicate__ParametersAssignment_2_1_0 ) ) - // InternalSolverLanguage.g:3051:2: ( rule__Predicate__ParametersAssignment_2_1_0 ) + // InternalSolverLanguage.g:6269:1: ( ( rule__MemberDefinition__MultiplicityAssignment_2 )? ) + // InternalSolverLanguage.g:6270:2: ( rule__MemberDefinition__MultiplicityAssignment_2 )? { - before(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_0()); - // InternalSolverLanguage.g:3052:2: ( rule__Predicate__ParametersAssignment_2_1_0 ) - // InternalSolverLanguage.g:3052:3: rule__Predicate__ParametersAssignment_2_1_0 - { - pushFollow(FOLLOW_2); - rule__Predicate__ParametersAssignment_2_1_0(); + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionAccess().getMultiplicityAssignment_2()); + } + // InternalSolverLanguage.g:6271:2: ( rule__MemberDefinition__MultiplicityAssignment_2 )? + int alt48=2; + int LA48_0 = input.LA(1); - state._fsp--; + if ( (LA48_0==63) ) { + alt48=1; + } + switch (alt48) { + case 1 : + // InternalSolverLanguage.g:6271:3: rule__MemberDefinition__MultiplicityAssignment_2 + { + pushFollow(FOLLOW_2); + rule__MemberDefinition__MultiplicityAssignment_2(); + state._fsp--; + if (state.failed) return ; + + } + break; } - after(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionAccess().getMultiplicityAssignment_2()); + } } @@ -9623,24 +21048,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_2_1__0__Impl" + // $ANTLR end "rule__MemberDefinition__Group__2__Impl" - // $ANTLR start "rule__Predicate__Group_2_1__1" - // InternalSolverLanguage.g:3060:1: rule__Predicate__Group_2_1__1 : rule__Predicate__Group_2_1__1__Impl ; - public final void rule__Predicate__Group_2_1__1() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__Group__3" + // InternalSolverLanguage.g:6279:1: rule__MemberDefinition__Group__3 : rule__MemberDefinition__Group__3__Impl rule__MemberDefinition__Group__4 ; + public final void rule__MemberDefinition__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3064:1: ( rule__Predicate__Group_2_1__1__Impl ) - // InternalSolverLanguage.g:3065:2: rule__Predicate__Group_2_1__1__Impl + // InternalSolverLanguage.g:6283:1: ( rule__MemberDefinition__Group__3__Impl rule__MemberDefinition__Group__4 ) + // InternalSolverLanguage.g:6284:2: rule__MemberDefinition__Group__3__Impl rule__MemberDefinition__Group__4 { - pushFollow(FOLLOW_2); - rule__Predicate__Group_2_1__1__Impl(); + pushFollow(FOLLOW_50); + rule__MemberDefinition__Group__3__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__MemberDefinition__Group__4(); + state._fsp--; + if (state.failed) return ; } @@ -9656,53 +21086,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_2_1__1" + // $ANTLR end "rule__MemberDefinition__Group__3" - // $ANTLR start "rule__Predicate__Group_2_1__1__Impl" - // InternalSolverLanguage.g:3071:1: rule__Predicate__Group_2_1__1__Impl : ( ( rule__Predicate__Group_2_1_1__0 )* ) ; - public final void rule__Predicate__Group_2_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__Group__3__Impl" + // InternalSolverLanguage.g:6291:1: rule__MemberDefinition__Group__3__Impl : ( ( rule__MemberDefinition__NameAssignment_3 ) ) ; + public final void rule__MemberDefinition__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3075:1: ( ( ( rule__Predicate__Group_2_1_1__0 )* ) ) - // InternalSolverLanguage.g:3076:1: ( ( rule__Predicate__Group_2_1_1__0 )* ) + // InternalSolverLanguage.g:6295:1: ( ( ( rule__MemberDefinition__NameAssignment_3 ) ) ) + // InternalSolverLanguage.g:6296:1: ( ( rule__MemberDefinition__NameAssignment_3 ) ) { - // InternalSolverLanguage.g:3076:1: ( ( rule__Predicate__Group_2_1_1__0 )* ) - // InternalSolverLanguage.g:3077:2: ( rule__Predicate__Group_2_1_1__0 )* + // InternalSolverLanguage.g:6296:1: ( ( rule__MemberDefinition__NameAssignment_3 ) ) + // InternalSolverLanguage.g:6297:2: ( rule__MemberDefinition__NameAssignment_3 ) { - before(grammarAccess.getPredicateAccess().getGroup_2_1_1()); - // InternalSolverLanguage.g:3078:2: ( rule__Predicate__Group_2_1_1__0 )* - loop29: - do { - int alt29=2; - int LA29_0 = input.LA(1); - - if ( (LA29_0==20) ) { - alt29=1; - } - - - switch (alt29) { - case 1 : - // InternalSolverLanguage.g:3078:3: rule__Predicate__Group_2_1_1__0 - { - pushFollow(FOLLOW_15); - rule__Predicate__Group_2_1_1__0(); - - state._fsp--; - + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionAccess().getNameAssignment_3()); + } + // InternalSolverLanguage.g:6298:2: ( rule__MemberDefinition__NameAssignment_3 ) + // InternalSolverLanguage.g:6298:3: rule__MemberDefinition__NameAssignment_3 + { + pushFollow(FOLLOW_2); + rule__MemberDefinition__NameAssignment_3(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop29; - } - } while (true); + } - after(grammarAccess.getPredicateAccess().getGroup_2_1_1()); + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionAccess().getNameAssignment_3()); + } } @@ -9721,29 +21137,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_2_1__1__Impl" + // $ANTLR end "rule__MemberDefinition__Group__3__Impl" - // $ANTLR start "rule__Predicate__Group_2_1_1__0" - // 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 ; - public final void rule__Predicate__Group_2_1_1__0() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__Group__4" + // InternalSolverLanguage.g:6306:1: rule__MemberDefinition__Group__4 : rule__MemberDefinition__Group__4__Impl rule__MemberDefinition__Group__5 ; + public final void rule__MemberDefinition__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3091:1: ( rule__Predicate__Group_2_1_1__0__Impl rule__Predicate__Group_2_1_1__1 ) - // InternalSolverLanguage.g:3092:2: rule__Predicate__Group_2_1_1__0__Impl rule__Predicate__Group_2_1_1__1 + // InternalSolverLanguage.g:6310:1: ( rule__MemberDefinition__Group__4__Impl rule__MemberDefinition__Group__5 ) + // InternalSolverLanguage.g:6311:2: rule__MemberDefinition__Group__4__Impl rule__MemberDefinition__Group__5 { - pushFollow(FOLLOW_17); - rule__Predicate__Group_2_1_1__0__Impl(); + pushFollow(FOLLOW_50); + rule__MemberDefinition__Group__4__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Predicate__Group_2_1_1__1(); + rule__MemberDefinition__Group__5(); state._fsp--; - + if (state.failed) return ; } @@ -9759,25 +21175,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_2_1_1__0" + // $ANTLR end "rule__MemberDefinition__Group__4" - // $ANTLR start "rule__Predicate__Group_2_1_1__0__Impl" - // InternalSolverLanguage.g:3099:1: rule__Predicate__Group_2_1_1__0__Impl : ( ',' ) ; - public final void rule__Predicate__Group_2_1_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__Group__4__Impl" + // InternalSolverLanguage.g:6318:1: rule__MemberDefinition__Group__4__Impl : ( ( rule__MemberDefinition__Group_4__0 )? ) ; + public final void rule__MemberDefinition__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3103:1: ( ( ',' ) ) - // InternalSolverLanguage.g:3104:1: ( ',' ) + // InternalSolverLanguage.g:6322:1: ( ( ( rule__MemberDefinition__Group_4__0 )? ) ) + // InternalSolverLanguage.g:6323:1: ( ( rule__MemberDefinition__Group_4__0 )? ) { - // InternalSolverLanguage.g:3104:1: ( ',' ) - // InternalSolverLanguage.g:3105:2: ',' + // InternalSolverLanguage.g:6323:1: ( ( rule__MemberDefinition__Group_4__0 )? ) + // InternalSolverLanguage.g:6324:2: ( rule__MemberDefinition__Group_4__0 )? { - before(grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0()); - match(input,20,FOLLOW_2); - after(grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionAccess().getGroup_4()); + } + // InternalSolverLanguage.g:6325:2: ( rule__MemberDefinition__Group_4__0 )? + int alt49=2; + int LA49_0 = input.LA(1); + + if ( (LA49_0==70) ) { + alt49=1; + } + switch (alt49) { + case 1 : + // InternalSolverLanguage.g:6325:3: rule__MemberDefinition__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__MemberDefinition__Group_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionAccess().getGroup_4()); + } } @@ -9796,24 +21237,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_2_1_1__0__Impl" + // $ANTLR end "rule__MemberDefinition__Group__4__Impl" - // $ANTLR start "rule__Predicate__Group_2_1_1__1" - // InternalSolverLanguage.g:3114:1: rule__Predicate__Group_2_1_1__1 : rule__Predicate__Group_2_1_1__1__Impl ; - public final void rule__Predicate__Group_2_1_1__1() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__Group__5" + // InternalSolverLanguage.g:6333:1: rule__MemberDefinition__Group__5 : rule__MemberDefinition__Group__5__Impl ; + public final void rule__MemberDefinition__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3118:1: ( rule__Predicate__Group_2_1_1__1__Impl ) - // InternalSolverLanguage.g:3119:2: rule__Predicate__Group_2_1_1__1__Impl + // InternalSolverLanguage.g:6337:1: ( rule__MemberDefinition__Group__5__Impl ) + // InternalSolverLanguage.g:6338:2: rule__MemberDefinition__Group__5__Impl { pushFollow(FOLLOW_2); - rule__Predicate__Group_2_1_1__1__Impl(); + rule__MemberDefinition__Group__5__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -9829,35 +21270,46 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_2_1_1__1" + // $ANTLR end "rule__MemberDefinition__Group__5" - // $ANTLR start "rule__Predicate__Group_2_1_1__1__Impl" - // InternalSolverLanguage.g:3125:1: rule__Predicate__Group_2_1_1__1__Impl : ( ( rule__Predicate__ParametersAssignment_2_1_1_1 ) ) ; - public final void rule__Predicate__Group_2_1_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__Group__5__Impl" + // InternalSolverLanguage.g:6344:1: rule__MemberDefinition__Group__5__Impl : ( ( ';' )? ) ; + public final void rule__MemberDefinition__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3129:1: ( ( ( rule__Predicate__ParametersAssignment_2_1_1_1 ) ) ) - // InternalSolverLanguage.g:3130:1: ( ( rule__Predicate__ParametersAssignment_2_1_1_1 ) ) + // InternalSolverLanguage.g:6348:1: ( ( ( ';' )? ) ) + // InternalSolverLanguage.g:6349:1: ( ( ';' )? ) { - // InternalSolverLanguage.g:3130:1: ( ( rule__Predicate__ParametersAssignment_2_1_1_1 ) ) - // InternalSolverLanguage.g:3131:2: ( rule__Predicate__ParametersAssignment_2_1_1_1 ) + // InternalSolverLanguage.g:6349:1: ( ( ';' )? ) + // InternalSolverLanguage.g:6350:2: ( ';' )? { - before(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_1_1()); - // InternalSolverLanguage.g:3132:2: ( rule__Predicate__ParametersAssignment_2_1_1_1 ) - // InternalSolverLanguage.g:3132:3: rule__Predicate__ParametersAssignment_2_1_1_1 - { - pushFollow(FOLLOW_2); - rule__Predicate__ParametersAssignment_2_1_1_1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); + } + // InternalSolverLanguage.g:6351:2: ( ';' )? + int alt50=2; + int LA50_0 = input.LA(1); - state._fsp--; + if ( (LA50_0==54) ) { + alt50=1; + } + switch (alt50) { + case 1 : + // InternalSolverLanguage.g:6351:3: ';' + { + match(input,54,FOLLOW_2); if (state.failed) return ; + } + break; } - after(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_1_1()); + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); + } } @@ -9876,29 +21328,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_2_1_1__1__Impl" + // $ANTLR end "rule__MemberDefinition__Group__5__Impl" - // $ANTLR start "rule__Predicate__Group_4_1__0" - // InternalSolverLanguage.g:3141:1: rule__Predicate__Group_4_1__0 : rule__Predicate__Group_4_1__0__Impl rule__Predicate__Group_4_1__1 ; - public final void rule__Predicate__Group_4_1__0() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__Group_4__0" + // InternalSolverLanguage.g:6360:1: rule__MemberDefinition__Group_4__0 : rule__MemberDefinition__Group_4__0__Impl rule__MemberDefinition__Group_4__1 ; + public final void rule__MemberDefinition__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3145:1: ( rule__Predicate__Group_4_1__0__Impl rule__Predicate__Group_4_1__1 ) - // InternalSolverLanguage.g:3146:2: rule__Predicate__Group_4_1__0__Impl rule__Predicate__Group_4_1__1 + // InternalSolverLanguage.g:6364:1: ( rule__MemberDefinition__Group_4__0__Impl rule__MemberDefinition__Group_4__1 ) + // InternalSolverLanguage.g:6365:2: rule__MemberDefinition__Group_4__0__Impl rule__MemberDefinition__Group_4__1 { - pushFollow(FOLLOW_23); - rule__Predicate__Group_4_1__0__Impl(); + pushFollow(FOLLOW_9); + rule__MemberDefinition__Group_4__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Predicate__Group_4_1__1(); + rule__MemberDefinition__Group_4__1(); state._fsp--; - + if (state.failed) return ; } @@ -9914,35 +21366,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_4_1__0" + // $ANTLR end "rule__MemberDefinition__Group_4__0" - // $ANTLR start "rule__Predicate__Group_4_1__0__Impl" - // InternalSolverLanguage.g:3153:1: rule__Predicate__Group_4_1__0__Impl : ( ( rule__Predicate__BodiesAssignment_4_1_0 ) ) ; - public final void rule__Predicate__Group_4_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__Group_4__0__Impl" + // InternalSolverLanguage.g:6372:1: rule__MemberDefinition__Group_4__0__Impl : ( 'opposite' ) ; + public final void rule__MemberDefinition__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3157:1: ( ( ( rule__Predicate__BodiesAssignment_4_1_0 ) ) ) - // InternalSolverLanguage.g:3158:1: ( ( rule__Predicate__BodiesAssignment_4_1_0 ) ) + // InternalSolverLanguage.g:6376:1: ( ( 'opposite' ) ) + // InternalSolverLanguage.g:6377:1: ( 'opposite' ) { - // InternalSolverLanguage.g:3158:1: ( ( rule__Predicate__BodiesAssignment_4_1_0 ) ) - // InternalSolverLanguage.g:3159:2: ( rule__Predicate__BodiesAssignment_4_1_0 ) + // InternalSolverLanguage.g:6377:1: ( 'opposite' ) + // InternalSolverLanguage.g:6378:2: 'opposite' { - before(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_0()); - // InternalSolverLanguage.g:3160:2: ( rule__Predicate__BodiesAssignment_4_1_0 ) - // InternalSolverLanguage.g:3160:3: rule__Predicate__BodiesAssignment_4_1_0 - { - pushFollow(FOLLOW_2); - rule__Predicate__BodiesAssignment_4_1_0(); - - state._fsp--; - - + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); + } + match(input,70,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); } - - after(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_0()); } @@ -9961,24 +21407,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_4_1__0__Impl" + // $ANTLR end "rule__MemberDefinition__Group_4__0__Impl" - // $ANTLR start "rule__Predicate__Group_4_1__1" - // InternalSolverLanguage.g:3168:1: rule__Predicate__Group_4_1__1 : rule__Predicate__Group_4_1__1__Impl ; - public final void rule__Predicate__Group_4_1__1() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__Group_4__1" + // InternalSolverLanguage.g:6387:1: rule__MemberDefinition__Group_4__1 : rule__MemberDefinition__Group_4__1__Impl ; + public final void rule__MemberDefinition__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3172:1: ( rule__Predicate__Group_4_1__1__Impl ) - // InternalSolverLanguage.g:3173:2: rule__Predicate__Group_4_1__1__Impl + // InternalSolverLanguage.g:6391:1: ( rule__MemberDefinition__Group_4__1__Impl ) + // InternalSolverLanguage.g:6392:2: rule__MemberDefinition__Group_4__1__Impl { pushFollow(FOLLOW_2); - rule__Predicate__Group_4_1__1__Impl(); + rule__MemberDefinition__Group_4__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -9994,53 +21440,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_4_1__1" + // $ANTLR end "rule__MemberDefinition__Group_4__1" - // $ANTLR start "rule__Predicate__Group_4_1__1__Impl" - // InternalSolverLanguage.g:3179:1: rule__Predicate__Group_4_1__1__Impl : ( ( rule__Predicate__Group_4_1_1__0 )* ) ; - public final void rule__Predicate__Group_4_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__Group_4__1__Impl" + // InternalSolverLanguage.g:6398:1: rule__MemberDefinition__Group_4__1__Impl : ( ( rule__MemberDefinition__OppositeAssignment_4_1 ) ) ; + public final void rule__MemberDefinition__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3183:1: ( ( ( rule__Predicate__Group_4_1_1__0 )* ) ) - // InternalSolverLanguage.g:3184:1: ( ( rule__Predicate__Group_4_1_1__0 )* ) + // InternalSolverLanguage.g:6402:1: ( ( ( rule__MemberDefinition__OppositeAssignment_4_1 ) ) ) + // InternalSolverLanguage.g:6403:1: ( ( rule__MemberDefinition__OppositeAssignment_4_1 ) ) { - // InternalSolverLanguage.g:3184:1: ( ( rule__Predicate__Group_4_1_1__0 )* ) - // InternalSolverLanguage.g:3185:2: ( rule__Predicate__Group_4_1_1__0 )* + // InternalSolverLanguage.g:6403:1: ( ( rule__MemberDefinition__OppositeAssignment_4_1 ) ) + // InternalSolverLanguage.g:6404:2: ( rule__MemberDefinition__OppositeAssignment_4_1 ) { - before(grammarAccess.getPredicateAccess().getGroup_4_1_1()); - // InternalSolverLanguage.g:3186:2: ( rule__Predicate__Group_4_1_1__0 )* - loop30: - do { - int alt30=2; - int LA30_0 = input.LA(1); - - if ( (LA30_0==29) ) { - alt30=1; - } - - - switch (alt30) { - case 1 : - // InternalSolverLanguage.g:3186:3: rule__Predicate__Group_4_1_1__0 - { - pushFollow(FOLLOW_24); - rule__Predicate__Group_4_1_1__0(); - - state._fsp--; - + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionAccess().getOppositeAssignment_4_1()); + } + // InternalSolverLanguage.g:6405:2: ( rule__MemberDefinition__OppositeAssignment_4_1 ) + // InternalSolverLanguage.g:6405:3: rule__MemberDefinition__OppositeAssignment_4_1 + { + pushFollow(FOLLOW_2); + rule__MemberDefinition__OppositeAssignment_4_1(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop30; - } - } while (true); + } - after(grammarAccess.getPredicateAccess().getGroup_4_1_1()); + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionAccess().getOppositeAssignment_4_1()); + } } @@ -10059,29 +21491,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_4_1__1__Impl" + // $ANTLR end "rule__MemberDefinition__Group_4__1__Impl" - // $ANTLR start "rule__Predicate__Group_4_1_1__0" - // 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 ; - public final void rule__Predicate__Group_4_1_1__0() throws RecognitionException { + // $ANTLR start "rule__ManyMultiplicity__Group__0" + // InternalSolverLanguage.g:6414:1: rule__ManyMultiplicity__Group__0 : rule__ManyMultiplicity__Group__0__Impl rule__ManyMultiplicity__Group__1 ; + public final void rule__ManyMultiplicity__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3199:1: ( rule__Predicate__Group_4_1_1__0__Impl rule__Predicate__Group_4_1_1__1 ) - // InternalSolverLanguage.g:3200:2: rule__Predicate__Group_4_1_1__0__Impl rule__Predicate__Group_4_1_1__1 + // InternalSolverLanguage.g:6418:1: ( rule__ManyMultiplicity__Group__0__Impl rule__ManyMultiplicity__Group__1 ) + // InternalSolverLanguage.g:6419:2: rule__ManyMultiplicity__Group__0__Impl rule__ManyMultiplicity__Group__1 { - pushFollow(FOLLOW_21); - rule__Predicate__Group_4_1_1__0__Impl(); + pushFollow(FOLLOW_51); + rule__ManyMultiplicity__Group__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Predicate__Group_4_1_1__1(); + rule__ManyMultiplicity__Group__1(); state._fsp--; - + if (state.failed) return ; } @@ -10097,25 +21529,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_4_1_1__0" + // $ANTLR end "rule__ManyMultiplicity__Group__0" - // $ANTLR start "rule__Predicate__Group_4_1_1__0__Impl" - // InternalSolverLanguage.g:3207:1: rule__Predicate__Group_4_1_1__0__Impl : ( '|' ) ; - public final void rule__Predicate__Group_4_1_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ManyMultiplicity__Group__0__Impl" + // InternalSolverLanguage.g:6426:1: rule__ManyMultiplicity__Group__0__Impl : ( () ) ; + public final void rule__ManyMultiplicity__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3211:1: ( ( '|' ) ) - // InternalSolverLanguage.g:3212:1: ( '|' ) + // InternalSolverLanguage.g:6430:1: ( ( () ) ) + // InternalSolverLanguage.g:6431:1: ( () ) + { + // InternalSolverLanguage.g:6431:1: ( () ) + // InternalSolverLanguage.g:6432:2: () { - // InternalSolverLanguage.g:3212:1: ( '|' ) - // InternalSolverLanguage.g:3213:2: '|' + if ( state.backtracking==0 ) { + before(grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0()); + } + // InternalSolverLanguage.g:6433:2: () + // InternalSolverLanguage.g:6433:3: { - before(grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0()); - match(input,29,FOLLOW_2); - after(grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0()); + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0()); + } } @@ -10123,10 +21563,6 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } finally { restoreStackSize(stackSize); @@ -10134,24 +21570,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_4_1_1__0__Impl" + // $ANTLR end "rule__ManyMultiplicity__Group__0__Impl" - // $ANTLR start "rule__Predicate__Group_4_1_1__1" - // InternalSolverLanguage.g:3222:1: rule__Predicate__Group_4_1_1__1 : rule__Predicate__Group_4_1_1__1__Impl ; - public final void rule__Predicate__Group_4_1_1__1() throws RecognitionException { + // $ANTLR start "rule__ManyMultiplicity__Group__1" + // InternalSolverLanguage.g:6441:1: rule__ManyMultiplicity__Group__1 : rule__ManyMultiplicity__Group__1__Impl rule__ManyMultiplicity__Group__2 ; + public final void rule__ManyMultiplicity__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3226:1: ( rule__Predicate__Group_4_1_1__1__Impl ) - // InternalSolverLanguage.g:3227:2: rule__Predicate__Group_4_1_1__1__Impl + // InternalSolverLanguage.g:6445:1: ( rule__ManyMultiplicity__Group__1__Impl rule__ManyMultiplicity__Group__2 ) + // InternalSolverLanguage.g:6446:2: rule__ManyMultiplicity__Group__1__Impl rule__ManyMultiplicity__Group__2 { - pushFollow(FOLLOW_2); - rule__Predicate__Group_4_1_1__1__Impl(); + pushFollow(FOLLOW_40); + rule__ManyMultiplicity__Group__1__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ManyMultiplicity__Group__2(); + state._fsp--; + if (state.failed) return ; } @@ -10167,35 +21608,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_4_1_1__1" + // $ANTLR end "rule__ManyMultiplicity__Group__1" - // $ANTLR start "rule__Predicate__Group_4_1_1__1__Impl" - // InternalSolverLanguage.g:3233:1: rule__Predicate__Group_4_1_1__1__Impl : ( ( rule__Predicate__BodiesAssignment_4_1_1_1 ) ) ; - public final void rule__Predicate__Group_4_1_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ManyMultiplicity__Group__1__Impl" + // InternalSolverLanguage.g:6453:1: rule__ManyMultiplicity__Group__1__Impl : ( '[' ) ; + public final void rule__ManyMultiplicity__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3237:1: ( ( ( rule__Predicate__BodiesAssignment_4_1_1_1 ) ) ) - // InternalSolverLanguage.g:3238:1: ( ( rule__Predicate__BodiesAssignment_4_1_1_1 ) ) + // InternalSolverLanguage.g:6457:1: ( ( '[' ) ) + // InternalSolverLanguage.g:6458:1: ( '[' ) { - // InternalSolverLanguage.g:3238:1: ( ( rule__Predicate__BodiesAssignment_4_1_1_1 ) ) - // InternalSolverLanguage.g:3239:2: ( rule__Predicate__BodiesAssignment_4_1_1_1 ) + // InternalSolverLanguage.g:6458:1: ( '[' ) + // InternalSolverLanguage.g:6459:2: '[' { - before(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_1_1()); - // InternalSolverLanguage.g:3240:2: ( rule__Predicate__BodiesAssignment_4_1_1_1 ) - // InternalSolverLanguage.g:3240:3: rule__Predicate__BodiesAssignment_4_1_1_1 - { - pushFollow(FOLLOW_2); - rule__Predicate__BodiesAssignment_4_1_1_1(); - - state._fsp--; - - + if ( state.backtracking==0 ) { + before(grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); + } + match(input,63,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); } - - after(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_1_1()); } @@ -10214,29 +21649,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__Group_4_1_1__1__Impl" + // $ANTLR end "rule__ManyMultiplicity__Group__1__Impl" - // $ANTLR start "rule__Parameter__Group__0" - // InternalSolverLanguage.g:3249:1: rule__Parameter__Group__0 : rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ; - public final void rule__Parameter__Group__0() throws RecognitionException { + // $ANTLR start "rule__ManyMultiplicity__Group__2" + // InternalSolverLanguage.g:6468:1: rule__ManyMultiplicity__Group__2 : rule__ManyMultiplicity__Group__2__Impl ; + public final void rule__ManyMultiplicity__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3253:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ) - // InternalSolverLanguage.g:3254:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1 + // InternalSolverLanguage.g:6472:1: ( rule__ManyMultiplicity__Group__2__Impl ) + // InternalSolverLanguage.g:6473:2: rule__ManyMultiplicity__Group__2__Impl { - pushFollow(FOLLOW_25); - rule__Parameter__Group__0__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__Parameter__Group__1(); + rule__ManyMultiplicity__Group__2__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -10252,35 +21682,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Parameter__Group__0" + // $ANTLR end "rule__ManyMultiplicity__Group__2" - // $ANTLR start "rule__Parameter__Group__0__Impl" - // InternalSolverLanguage.g:3261:1: rule__Parameter__Group__0__Impl : ( ( rule__Parameter__VariableAssignment_0 ) ) ; - public final void rule__Parameter__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ManyMultiplicity__Group__2__Impl" + // InternalSolverLanguage.g:6479:1: rule__ManyMultiplicity__Group__2__Impl : ( ']' ) ; + public final void rule__ManyMultiplicity__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3265:1: ( ( ( rule__Parameter__VariableAssignment_0 ) ) ) - // InternalSolverLanguage.g:3266:1: ( ( rule__Parameter__VariableAssignment_0 ) ) - { - // InternalSolverLanguage.g:3266:1: ( ( rule__Parameter__VariableAssignment_0 ) ) - // InternalSolverLanguage.g:3267:2: ( rule__Parameter__VariableAssignment_0 ) + // InternalSolverLanguage.g:6483:1: ( ( ']' ) ) + // InternalSolverLanguage.g:6484:1: ( ']' ) { - before(grammarAccess.getParameterAccess().getVariableAssignment_0()); - // InternalSolverLanguage.g:3268:2: ( rule__Parameter__VariableAssignment_0 ) - // InternalSolverLanguage.g:3268:3: rule__Parameter__VariableAssignment_0 + // InternalSolverLanguage.g:6484:1: ( ']' ) + // InternalSolverLanguage.g:6485:2: ']' { - pushFollow(FOLLOW_2); - rule__Parameter__VariableAssignment_0(); - - state._fsp--; - - + if ( state.backtracking==0 ) { + before(grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); + } + match(input,65,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); } - - after(grammarAccess.getParameterAccess().getVariableAssignment_0()); } @@ -10299,24 +21723,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Parameter__Group__0__Impl" + // $ANTLR end "rule__ManyMultiplicity__Group__2__Impl" - // $ANTLR start "rule__Parameter__Group__1" - // InternalSolverLanguage.g:3276:1: rule__Parameter__Group__1 : rule__Parameter__Group__1__Impl ; - public final void rule__Parameter__Group__1() throws RecognitionException { + // $ANTLR start "rule__ExactMultiplicity__Group__0" + // InternalSolverLanguage.g:6495:1: rule__ExactMultiplicity__Group__0 : rule__ExactMultiplicity__Group__0__Impl rule__ExactMultiplicity__Group__1 ; + public final void rule__ExactMultiplicity__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3280:1: ( rule__Parameter__Group__1__Impl ) - // InternalSolverLanguage.g:3281:2: rule__Parameter__Group__1__Impl + // InternalSolverLanguage.g:6499:1: ( rule__ExactMultiplicity__Group__0__Impl rule__ExactMultiplicity__Group__1 ) + // InternalSolverLanguage.g:6500:2: rule__ExactMultiplicity__Group__0__Impl rule__ExactMultiplicity__Group__1 { - pushFollow(FOLLOW_2); - rule__Parameter__Group__1__Impl(); + pushFollow(FOLLOW_52); + rule__ExactMultiplicity__Group__0__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ExactMultiplicity__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -10332,47 +21761,30 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Parameter__Group__1" + // $ANTLR end "rule__ExactMultiplicity__Group__0" - // $ANTLR start "rule__Parameter__Group__1__Impl" - // InternalSolverLanguage.g:3287:1: rule__Parameter__Group__1__Impl : ( ( rule__Parameter__Group_1__0 )? ) ; - public final void rule__Parameter__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ExactMultiplicity__Group__0__Impl" + // InternalSolverLanguage.g:6507:1: rule__ExactMultiplicity__Group__0__Impl : ( '[' ) ; + public final void rule__ExactMultiplicity__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3291:1: ( ( ( rule__Parameter__Group_1__0 )? ) ) - // InternalSolverLanguage.g:3292:1: ( ( rule__Parameter__Group_1__0 )? ) + // InternalSolverLanguage.g:6511:1: ( ( '[' ) ) + // InternalSolverLanguage.g:6512:1: ( '[' ) { - // InternalSolverLanguage.g:3292:1: ( ( rule__Parameter__Group_1__0 )? ) - // InternalSolverLanguage.g:3293:2: ( rule__Parameter__Group_1__0 )? + // InternalSolverLanguage.g:6512:1: ( '[' ) + // InternalSolverLanguage.g:6513:2: '[' { - before(grammarAccess.getParameterAccess().getGroup_1()); - // InternalSolverLanguage.g:3294:2: ( rule__Parameter__Group_1__0 )? - int alt31=2; - int LA31_0 = input.LA(1); - - if ( (LA31_0==17) ) { - alt31=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); } - switch (alt31) { - case 1 : - // InternalSolverLanguage.g:3294:3: rule__Parameter__Group_1__0 - { - pushFollow(FOLLOW_2); - rule__Parameter__Group_1__0(); - - state._fsp--; - - - } - break; - + match(input,63,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); } - after(grammarAccess.getParameterAccess().getGroup_1()); - } @@ -10390,29 +21802,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Parameter__Group__1__Impl" + // $ANTLR end "rule__ExactMultiplicity__Group__0__Impl" - // $ANTLR start "rule__Parameter__Group_1__0" - // InternalSolverLanguage.g:3303:1: rule__Parameter__Group_1__0 : rule__Parameter__Group_1__0__Impl rule__Parameter__Group_1__1 ; - public final void rule__Parameter__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__ExactMultiplicity__Group__1" + // InternalSolverLanguage.g:6522:1: rule__ExactMultiplicity__Group__1 : rule__ExactMultiplicity__Group__1__Impl rule__ExactMultiplicity__Group__2 ; + public final void rule__ExactMultiplicity__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3307:1: ( rule__Parameter__Group_1__0__Impl rule__Parameter__Group_1__1 ) - // InternalSolverLanguage.g:3308:2: rule__Parameter__Group_1__0__Impl rule__Parameter__Group_1__1 + // InternalSolverLanguage.g:6526:1: ( rule__ExactMultiplicity__Group__1__Impl rule__ExactMultiplicity__Group__2 ) + // InternalSolverLanguage.g:6527:2: rule__ExactMultiplicity__Group__1__Impl rule__ExactMultiplicity__Group__2 { - pushFollow(FOLLOW_26); - rule__Parameter__Group_1__0__Impl(); + pushFollow(FOLLOW_40); + rule__ExactMultiplicity__Group__1__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Parameter__Group_1__1(); + rule__ExactMultiplicity__Group__2(); state._fsp--; - + if (state.failed) return ; } @@ -10428,25 +21840,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Parameter__Group_1__0" + // $ANTLR end "rule__ExactMultiplicity__Group__1" - // $ANTLR start "rule__Parameter__Group_1__0__Impl" - // InternalSolverLanguage.g:3315:1: rule__Parameter__Group_1__0__Impl : ( ':' ) ; - public final void rule__Parameter__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ExactMultiplicity__Group__1__Impl" + // InternalSolverLanguage.g:6534:1: rule__ExactMultiplicity__Group__1__Impl : ( ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) ) ; + public final void rule__ExactMultiplicity__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3319:1: ( ( ':' ) ) - // InternalSolverLanguage.g:3320:1: ( ':' ) + // InternalSolverLanguage.g:6538:1: ( ( ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) ) ) + // InternalSolverLanguage.g:6539:1: ( ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) ) + { + // InternalSolverLanguage.g:6539:1: ( ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) ) + // InternalSolverLanguage.g:6540:2: ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) { - // InternalSolverLanguage.g:3320:1: ( ':' ) - // InternalSolverLanguage.g:3321:2: ':' + if ( state.backtracking==0 ) { + before(grammarAccess.getExactMultiplicityAccess().getMultiplicityAssignment_1()); + } + // InternalSolverLanguage.g:6541:2: ( rule__ExactMultiplicity__MultiplicityAssignment_1 ) + // InternalSolverLanguage.g:6541:3: rule__ExactMultiplicity__MultiplicityAssignment_1 { - before(grammarAccess.getParameterAccess().getColonKeyword_1_0()); - match(input,17,FOLLOW_2); - after(grammarAccess.getParameterAccess().getColonKeyword_1_0()); + pushFollow(FOLLOW_2); + rule__ExactMultiplicity__MultiplicityAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getExactMultiplicityAccess().getMultiplicityAssignment_1()); + } } @@ -10465,24 +21891,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Parameter__Group_1__0__Impl" + // $ANTLR end "rule__ExactMultiplicity__Group__1__Impl" - // $ANTLR start "rule__Parameter__Group_1__1" - // InternalSolverLanguage.g:3330:1: rule__Parameter__Group_1__1 : rule__Parameter__Group_1__1__Impl ; - public final void rule__Parameter__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__ExactMultiplicity__Group__2" + // InternalSolverLanguage.g:6549:1: rule__ExactMultiplicity__Group__2 : rule__ExactMultiplicity__Group__2__Impl ; + public final void rule__ExactMultiplicity__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3334:1: ( rule__Parameter__Group_1__1__Impl ) - // InternalSolverLanguage.g:3335:2: rule__Parameter__Group_1__1__Impl + // InternalSolverLanguage.g:6553:1: ( rule__ExactMultiplicity__Group__2__Impl ) + // InternalSolverLanguage.g:6554:2: rule__ExactMultiplicity__Group__2__Impl { pushFollow(FOLLOW_2); - rule__Parameter__Group_1__1__Impl(); + rule__ExactMultiplicity__Group__2__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -10498,35 +21924,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Parameter__Group_1__1" + // $ANTLR end "rule__ExactMultiplicity__Group__2" - // $ANTLR start "rule__Parameter__Group_1__1__Impl" - // InternalSolverLanguage.g:3341:1: rule__Parameter__Group_1__1__Impl : ( ( rule__Parameter__TypeAssignment_1_1 ) ) ; - public final void rule__Parameter__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ExactMultiplicity__Group__2__Impl" + // InternalSolverLanguage.g:6560:1: rule__ExactMultiplicity__Group__2__Impl : ( ']' ) ; + public final void rule__ExactMultiplicity__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3345:1: ( ( ( rule__Parameter__TypeAssignment_1_1 ) ) ) - // InternalSolverLanguage.g:3346:1: ( ( rule__Parameter__TypeAssignment_1_1 ) ) - { - // InternalSolverLanguage.g:3346:1: ( ( rule__Parameter__TypeAssignment_1_1 ) ) - // InternalSolverLanguage.g:3347:2: ( rule__Parameter__TypeAssignment_1_1 ) + // InternalSolverLanguage.g:6564:1: ( ( ']' ) ) + // InternalSolverLanguage.g:6565:1: ( ']' ) { - before(grammarAccess.getParameterAccess().getTypeAssignment_1_1()); - // InternalSolverLanguage.g:3348:2: ( rule__Parameter__TypeAssignment_1_1 ) - // InternalSolverLanguage.g:3348:3: rule__Parameter__TypeAssignment_1_1 + // InternalSolverLanguage.g:6565:1: ( ']' ) + // InternalSolverLanguage.g:6566:2: ']' { - pushFollow(FOLLOW_2); - rule__Parameter__TypeAssignment_1_1(); - - state._fsp--; - - + if ( state.backtracking==0 ) { + before(grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2()); + } + match(input,65,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2()); } - - after(grammarAccess.getParameterAccess().getTypeAssignment_1_1()); } @@ -10545,29 +21965,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Parameter__Group_1__1__Impl" + // $ANTLR end "rule__ExactMultiplicity__Group__2__Impl" - // $ANTLR start "rule__PatternBody__Group__0" - // InternalSolverLanguage.g:3357:1: rule__PatternBody__Group__0 : rule__PatternBody__Group__0__Impl rule__PatternBody__Group__1 ; - public final void rule__PatternBody__Group__0() throws RecognitionException { + // $ANTLR start "rule__BoundedMultiplicity__Group__0" + // InternalSolverLanguage.g:6576:1: rule__BoundedMultiplicity__Group__0 : rule__BoundedMultiplicity__Group__0__Impl rule__BoundedMultiplicity__Group__1 ; + public final void rule__BoundedMultiplicity__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3361:1: ( rule__PatternBody__Group__0__Impl rule__PatternBody__Group__1 ) - // InternalSolverLanguage.g:3362:2: rule__PatternBody__Group__0__Impl rule__PatternBody__Group__1 + // InternalSolverLanguage.g:6580:1: ( rule__BoundedMultiplicity__Group__0__Impl rule__BoundedMultiplicity__Group__1 ) + // InternalSolverLanguage.g:6581:2: rule__BoundedMultiplicity__Group__0__Impl rule__BoundedMultiplicity__Group__1 { - pushFollow(FOLLOW_21); - rule__PatternBody__Group__0__Impl(); + pushFollow(FOLLOW_53); + rule__BoundedMultiplicity__Group__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__PatternBody__Group__1(); + rule__BoundedMultiplicity__Group__1(); state._fsp--; - + if (state.failed) return ; } @@ -10583,29 +22003,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__PatternBody__Group__0" + // $ANTLR end "rule__BoundedMultiplicity__Group__0" - // $ANTLR start "rule__PatternBody__Group__0__Impl" - // InternalSolverLanguage.g:3369:1: rule__PatternBody__Group__0__Impl : ( () ) ; - public final void rule__PatternBody__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedMultiplicity__Group__0__Impl" + // InternalSolverLanguage.g:6588:1: rule__BoundedMultiplicity__Group__0__Impl : ( '[' ) ; + public final void rule__BoundedMultiplicity__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3373:1: ( ( () ) ) - // InternalSolverLanguage.g:3374:1: ( () ) + // InternalSolverLanguage.g:6592:1: ( ( '[' ) ) + // InternalSolverLanguage.g:6593:1: ( '[' ) { - // InternalSolverLanguage.g:3374:1: ( () ) - // InternalSolverLanguage.g:3375:2: () - { - before(grammarAccess.getPatternBodyAccess().getPatternBodyAction_0()); - // InternalSolverLanguage.g:3376:2: () - // InternalSolverLanguage.g:3376:3: + // InternalSolverLanguage.g:6593:1: ( '[' ) + // InternalSolverLanguage.g:6594:2: '[' { + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); + } + match(input,63,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); } - - after(grammarAccess.getPatternBodyAccess().getPatternBodyAction_0()); } @@ -10613,6 +22033,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -10620,24 +22044,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__PatternBody__Group__0__Impl" + // $ANTLR end "rule__BoundedMultiplicity__Group__0__Impl" - // $ANTLR start "rule__PatternBody__Group__1" - // InternalSolverLanguage.g:3384:1: rule__PatternBody__Group__1 : rule__PatternBody__Group__1__Impl ; - public final void rule__PatternBody__Group__1() throws RecognitionException { + // $ANTLR start "rule__BoundedMultiplicity__Group__1" + // InternalSolverLanguage.g:6603:1: rule__BoundedMultiplicity__Group__1 : rule__BoundedMultiplicity__Group__1__Impl rule__BoundedMultiplicity__Group__2 ; + public final void rule__BoundedMultiplicity__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3388:1: ( rule__PatternBody__Group__1__Impl ) - // InternalSolverLanguage.g:3389:2: rule__PatternBody__Group__1__Impl + // InternalSolverLanguage.g:6607:1: ( rule__BoundedMultiplicity__Group__1__Impl rule__BoundedMultiplicity__Group__2 ) + // InternalSolverLanguage.g:6608:2: rule__BoundedMultiplicity__Group__1__Impl rule__BoundedMultiplicity__Group__2 { - pushFollow(FOLLOW_2); - rule__PatternBody__Group__1__Impl(); + pushFollow(FOLLOW_39); + rule__BoundedMultiplicity__Group__1__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__BoundedMultiplicity__Group__2(); + state._fsp--; + if (state.failed) return ; } @@ -10653,35 +22082,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__PatternBody__Group__1" + // $ANTLR end "rule__BoundedMultiplicity__Group__1" - // $ANTLR start "rule__PatternBody__Group__1__Impl" - // InternalSolverLanguage.g:3395:1: rule__PatternBody__Group__1__Impl : ( ( rule__PatternBody__Alternatives_1 ) ) ; - public final void rule__PatternBody__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedMultiplicity__Group__1__Impl" + // InternalSolverLanguage.g:6615:1: rule__BoundedMultiplicity__Group__1__Impl : ( ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) ) ; + public final void rule__BoundedMultiplicity__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3399:1: ( ( ( rule__PatternBody__Alternatives_1 ) ) ) - // InternalSolverLanguage.g:3400:1: ( ( rule__PatternBody__Alternatives_1 ) ) + // InternalSolverLanguage.g:6619:1: ( ( ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) ) ) + // InternalSolverLanguage.g:6620:1: ( ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) ) { - // InternalSolverLanguage.g:3400:1: ( ( rule__PatternBody__Alternatives_1 ) ) - // InternalSolverLanguage.g:3401:2: ( rule__PatternBody__Alternatives_1 ) + // InternalSolverLanguage.g:6620:1: ( ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) ) + // InternalSolverLanguage.g:6621:2: ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) { - before(grammarAccess.getPatternBodyAccess().getAlternatives_1()); - // InternalSolverLanguage.g:3402:2: ( rule__PatternBody__Alternatives_1 ) - // InternalSolverLanguage.g:3402:3: rule__PatternBody__Alternatives_1 + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundAssignment_1()); + } + // InternalSolverLanguage.g:6622:2: ( rule__BoundedMultiplicity__LowerBoundAssignment_1 ) + // InternalSolverLanguage.g:6622:3: rule__BoundedMultiplicity__LowerBoundAssignment_1 { pushFollow(FOLLOW_2); - rule__PatternBody__Alternatives_1(); + rule__BoundedMultiplicity__LowerBoundAssignment_1(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getPatternBodyAccess().getAlternatives_1()); + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundAssignment_1()); + } } @@ -10700,29 +22133,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__PatternBody__Group__1__Impl" + // $ANTLR end "rule__BoundedMultiplicity__Group__1__Impl" - // $ANTLR start "rule__Polarity__Group_0__0" - // InternalSolverLanguage.g:3411:1: rule__Polarity__Group_0__0 : rule__Polarity__Group_0__0__Impl rule__Polarity__Group_0__1 ; - public final void rule__Polarity__Group_0__0() throws RecognitionException { + // $ANTLR start "rule__BoundedMultiplicity__Group__2" + // InternalSolverLanguage.g:6630:1: rule__BoundedMultiplicity__Group__2 : rule__BoundedMultiplicity__Group__2__Impl rule__BoundedMultiplicity__Group__3 ; + public final void rule__BoundedMultiplicity__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3415:1: ( rule__Polarity__Group_0__0__Impl rule__Polarity__Group_0__1 ) - // InternalSolverLanguage.g:3416:2: rule__Polarity__Group_0__0__Impl rule__Polarity__Group_0__1 + // InternalSolverLanguage.g:6634:1: ( rule__BoundedMultiplicity__Group__2__Impl rule__BoundedMultiplicity__Group__3 ) + // InternalSolverLanguage.g:6635:2: rule__BoundedMultiplicity__Group__2__Impl rule__BoundedMultiplicity__Group__3 { - pushFollow(FOLLOW_27); - rule__Polarity__Group_0__0__Impl(); + pushFollow(FOLLOW_52); + rule__BoundedMultiplicity__Group__2__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Polarity__Group_0__1(); + rule__BoundedMultiplicity__Group__3(); state._fsp--; - + if (state.failed) return ; } @@ -10738,29 +22171,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Polarity__Group_0__0" + // $ANTLR end "rule__BoundedMultiplicity__Group__2" - // $ANTLR start "rule__Polarity__Group_0__0__Impl" - // InternalSolverLanguage.g:3423:1: rule__Polarity__Group_0__0__Impl : ( () ) ; - public final void rule__Polarity__Group_0__0__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedMultiplicity__Group__2__Impl" + // InternalSolverLanguage.g:6642:1: rule__BoundedMultiplicity__Group__2__Impl : ( '..' ) ; + public final void rule__BoundedMultiplicity__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3427:1: ( ( () ) ) - // InternalSolverLanguage.g:3428:1: ( () ) - { - // InternalSolverLanguage.g:3428:1: ( () ) - // InternalSolverLanguage.g:3429:2: () + // InternalSolverLanguage.g:6646:1: ( ( '..' ) ) + // InternalSolverLanguage.g:6647:1: ( '..' ) { - before(grammarAccess.getPolarityAccess().getPositiveAction_0_0()); - // InternalSolverLanguage.g:3430:2: () - // InternalSolverLanguage.g:3430:3: + // InternalSolverLanguage.g:6647:1: ( '..' ) + // InternalSolverLanguage.g:6648:2: '..' { + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); + } + match(input,64,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); } - - after(grammarAccess.getPolarityAccess().getPositiveAction_0_0()); } @@ -10768,6 +22201,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -10775,24 +22212,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Polarity__Group_0__0__Impl" + // $ANTLR end "rule__BoundedMultiplicity__Group__2__Impl" - // $ANTLR start "rule__Polarity__Group_0__1" - // InternalSolverLanguage.g:3438:1: rule__Polarity__Group_0__1 : rule__Polarity__Group_0__1__Impl ; - public final void rule__Polarity__Group_0__1() throws RecognitionException { + // $ANTLR start "rule__BoundedMultiplicity__Group__3" + // InternalSolverLanguage.g:6657:1: rule__BoundedMultiplicity__Group__3 : rule__BoundedMultiplicity__Group__3__Impl rule__BoundedMultiplicity__Group__4 ; + public final void rule__BoundedMultiplicity__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3442:1: ( rule__Polarity__Group_0__1__Impl ) - // InternalSolverLanguage.g:3443:2: rule__Polarity__Group_0__1__Impl + // InternalSolverLanguage.g:6661:1: ( rule__BoundedMultiplicity__Group__3__Impl rule__BoundedMultiplicity__Group__4 ) + // InternalSolverLanguage.g:6662:2: rule__BoundedMultiplicity__Group__3__Impl rule__BoundedMultiplicity__Group__4 { - pushFollow(FOLLOW_2); - rule__Polarity__Group_0__1__Impl(); + pushFollow(FOLLOW_40); + rule__BoundedMultiplicity__Group__3__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__BoundedMultiplicity__Group__4(); + state._fsp--; + if (state.failed) return ; } @@ -10808,25 +22250,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Polarity__Group_0__1" + // $ANTLR end "rule__BoundedMultiplicity__Group__3" - // $ANTLR start "rule__Polarity__Group_0__1__Impl" - // InternalSolverLanguage.g:3449:1: rule__Polarity__Group_0__1__Impl : ( '+' ) ; - public final void rule__Polarity__Group_0__1__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedMultiplicity__Group__3__Impl" + // InternalSolverLanguage.g:6669:1: rule__BoundedMultiplicity__Group__3__Impl : ( ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) ) ; + public final void rule__BoundedMultiplicity__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3453:1: ( ( '+' ) ) - // InternalSolverLanguage.g:3454:1: ( '+' ) + // InternalSolverLanguage.g:6673:1: ( ( ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) ) ) + // InternalSolverLanguage.g:6674:1: ( ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) ) { - // InternalSolverLanguage.g:3454:1: ( '+' ) - // InternalSolverLanguage.g:3455:2: '+' + // InternalSolverLanguage.g:6674:1: ( ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) ) + // InternalSolverLanguage.g:6675:2: ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) { - before(grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1()); - match(input,30,FOLLOW_2); - after(grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1()); + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundAssignment_3()); + } + // InternalSolverLanguage.g:6676:2: ( rule__BoundedMultiplicity__UpperBoundAssignment_3 ) + // InternalSolverLanguage.g:6676:3: rule__BoundedMultiplicity__UpperBoundAssignment_3 + { + pushFollow(FOLLOW_2); + rule__BoundedMultiplicity__UpperBoundAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundAssignment_3()); + } } @@ -10845,29 +22301,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Polarity__Group_0__1__Impl" + // $ANTLR end "rule__BoundedMultiplicity__Group__3__Impl" - // $ANTLR start "rule__Polarity__Group_1__0" - // InternalSolverLanguage.g:3465:1: rule__Polarity__Group_1__0 : rule__Polarity__Group_1__0__Impl rule__Polarity__Group_1__1 ; - public final void rule__Polarity__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__BoundedMultiplicity__Group__4" + // InternalSolverLanguage.g:6684:1: rule__BoundedMultiplicity__Group__4 : rule__BoundedMultiplicity__Group__4__Impl ; + public final void rule__BoundedMultiplicity__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3469:1: ( rule__Polarity__Group_1__0__Impl rule__Polarity__Group_1__1 ) - // InternalSolverLanguage.g:3470:2: rule__Polarity__Group_1__0__Impl rule__Polarity__Group_1__1 + // InternalSolverLanguage.g:6688:1: ( rule__BoundedMultiplicity__Group__4__Impl ) + // InternalSolverLanguage.g:6689:2: rule__BoundedMultiplicity__Group__4__Impl { - pushFollow(FOLLOW_28); - rule__Polarity__Group_1__0__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__Polarity__Group_1__1(); + rule__BoundedMultiplicity__Group__4__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -10883,29 +22334,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Polarity__Group_1__0" + // $ANTLR end "rule__BoundedMultiplicity__Group__4" - // $ANTLR start "rule__Polarity__Group_1__0__Impl" - // InternalSolverLanguage.g:3477:1: rule__Polarity__Group_1__0__Impl : ( () ) ; - public final void rule__Polarity__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedMultiplicity__Group__4__Impl" + // InternalSolverLanguage.g:6695:1: rule__BoundedMultiplicity__Group__4__Impl : ( ']' ) ; + public final void rule__BoundedMultiplicity__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3481:1: ( ( () ) ) - // InternalSolverLanguage.g:3482:1: ( () ) - { - // InternalSolverLanguage.g:3482:1: ( () ) - // InternalSolverLanguage.g:3483:2: () + // InternalSolverLanguage.g:6699:1: ( ( ']' ) ) + // InternalSolverLanguage.g:6700:1: ( ']' ) { - before(grammarAccess.getPolarityAccess().getNegativeAction_1_0()); - // InternalSolverLanguage.g:3484:2: () - // InternalSolverLanguage.g:3484:3: + // InternalSolverLanguage.g:6700:1: ( ']' ) + // InternalSolverLanguage.g:6701:2: ']' { + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4()); + } + match(input,65,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4()); } - - after(grammarAccess.getPolarityAccess().getNegativeAction_1_0()); } @@ -10913,6 +22364,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -10920,24 +22375,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Polarity__Group_1__0__Impl" + // $ANTLR end "rule__BoundedMultiplicity__Group__4__Impl" - // $ANTLR start "rule__Polarity__Group_1__1" - // InternalSolverLanguage.g:3492:1: rule__Polarity__Group_1__1 : rule__Polarity__Group_1__1__Impl ; - public final void rule__Polarity__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__ExactScopeDefinition__Group__0" + // InternalSolverLanguage.g:6711:1: rule__ExactScopeDefinition__Group__0 : rule__ExactScopeDefinition__Group__0__Impl rule__ExactScopeDefinition__Group__1 ; + public final void rule__ExactScopeDefinition__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3496:1: ( rule__Polarity__Group_1__1__Impl ) - // InternalSolverLanguage.g:3497:2: rule__Polarity__Group_1__1__Impl + // InternalSolverLanguage.g:6715:1: ( rule__ExactScopeDefinition__Group__0__Impl rule__ExactScopeDefinition__Group__1 ) + // InternalSolverLanguage.g:6716:2: rule__ExactScopeDefinition__Group__0__Impl rule__ExactScopeDefinition__Group__1 { - pushFollow(FOLLOW_2); - rule__Polarity__Group_1__1__Impl(); + pushFollow(FOLLOW_9); + rule__ExactScopeDefinition__Group__0__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__ExactScopeDefinition__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -10953,25 +22413,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Polarity__Group_1__1" + // $ANTLR end "rule__ExactScopeDefinition__Group__0" - // $ANTLR start "rule__Polarity__Group_1__1__Impl" - // InternalSolverLanguage.g:3503:1: rule__Polarity__Group_1__1__Impl : ( '-' ) ; - public final void rule__Polarity__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ExactScopeDefinition__Group__0__Impl" + // InternalSolverLanguage.g:6723:1: rule__ExactScopeDefinition__Group__0__Impl : ( 'scope' ) ; + public final void rule__ExactScopeDefinition__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3507:1: ( ( '-' ) ) - // InternalSolverLanguage.g:3508:1: ( '-' ) + // InternalSolverLanguage.g:6727:1: ( ( 'scope' ) ) + // InternalSolverLanguage.g:6728:1: ( 'scope' ) { - // InternalSolverLanguage.g:3508:1: ( '-' ) - // InternalSolverLanguage.g:3509:2: '-' + // InternalSolverLanguage.g:6728:1: ( 'scope' ) + // InternalSolverLanguage.g:6729:2: 'scope' { - before(grammarAccess.getPolarityAccess().getHyphenMinusKeyword_1_1()); - match(input,13,FOLLOW_2); - after(grammarAccess.getPolarityAccess().getHyphenMinusKeyword_1_1()); + if ( state.backtracking==0 ) { + before(grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); + } + match(input,71,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); + } } @@ -10990,29 +22454,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Polarity__Group_1__1__Impl" + // $ANTLR end "rule__ExactScopeDefinition__Group__0__Impl" - // $ANTLR start "rule__Constraint__Group_0__0" - // InternalSolverLanguage.g:3519:1: rule__Constraint__Group_0__0 : rule__Constraint__Group_0__0__Impl rule__Constraint__Group_0__1 ; - public final void rule__Constraint__Group_0__0() throws RecognitionException { + // $ANTLR start "rule__ExactScopeDefinition__Group__1" + // InternalSolverLanguage.g:6738:1: rule__ExactScopeDefinition__Group__1 : rule__ExactScopeDefinition__Group__1__Impl rule__ExactScopeDefinition__Group__2 ; + public final void rule__ExactScopeDefinition__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3523:1: ( rule__Constraint__Group_0__0__Impl rule__Constraint__Group_0__1 ) - // InternalSolverLanguage.g:3524:2: rule__Constraint__Group_0__0__Impl rule__Constraint__Group_0__1 + // InternalSolverLanguage.g:6742:1: ( rule__ExactScopeDefinition__Group__1__Impl rule__ExactScopeDefinition__Group__2 ) + // InternalSolverLanguage.g:6743:2: rule__ExactScopeDefinition__Group__1__Impl rule__ExactScopeDefinition__Group__2 { - pushFollow(FOLLOW_29); - rule__Constraint__Group_0__0__Impl(); + pushFollow(FOLLOW_54); + rule__ExactScopeDefinition__Group__1__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Constraint__Group_0__1(); + rule__ExactScopeDefinition__Group__2(); state._fsp--; - + if (state.failed) return ; } @@ -11028,46 +22492,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0__0" + // $ANTLR end "rule__ExactScopeDefinition__Group__1" - // $ANTLR start "rule__Constraint__Group_0__0__Impl" - // InternalSolverLanguage.g:3531:1: rule__Constraint__Group_0__0__Impl : ( ( rule__Constraint__PolarityAssignment_0_0 )? ) ; - public final void rule__Constraint__Group_0__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ExactScopeDefinition__Group__1__Impl" + // InternalSolverLanguage.g:6750:1: rule__ExactScopeDefinition__Group__1__Impl : ( ( rule__ExactScopeDefinition__TypeAssignment_1 ) ) ; + public final void rule__ExactScopeDefinition__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3535:1: ( ( ( rule__Constraint__PolarityAssignment_0_0 )? ) ) - // InternalSolverLanguage.g:3536:1: ( ( rule__Constraint__PolarityAssignment_0_0 )? ) + // InternalSolverLanguage.g:6754:1: ( ( ( rule__ExactScopeDefinition__TypeAssignment_1 ) ) ) + // InternalSolverLanguage.g:6755:1: ( ( rule__ExactScopeDefinition__TypeAssignment_1 ) ) { - // InternalSolverLanguage.g:3536:1: ( ( rule__Constraint__PolarityAssignment_0_0 )? ) - // InternalSolverLanguage.g:3537:2: ( rule__Constraint__PolarityAssignment_0_0 )? + // InternalSolverLanguage.g:6755:1: ( ( rule__ExactScopeDefinition__TypeAssignment_1 ) ) + // InternalSolverLanguage.g:6756:2: ( rule__ExactScopeDefinition__TypeAssignment_1 ) { - before(grammarAccess.getConstraintAccess().getPolarityAssignment_0_0()); - // InternalSolverLanguage.g:3538:2: ( rule__Constraint__PolarityAssignment_0_0 )? - int alt32=2; - int LA32_0 = input.LA(1); - - if ( (LA32_0==13||LA32_0==30) ) { - alt32=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getExactScopeDefinitionAccess().getTypeAssignment_1()); } - switch (alt32) { - case 1 : - // InternalSolverLanguage.g:3538:3: rule__Constraint__PolarityAssignment_0_0 - { - pushFollow(FOLLOW_2); - rule__Constraint__PolarityAssignment_0_0(); - - state._fsp--; - + // InternalSolverLanguage.g:6757:2: ( rule__ExactScopeDefinition__TypeAssignment_1 ) + // InternalSolverLanguage.g:6757:3: rule__ExactScopeDefinition__TypeAssignment_1 + { + pushFollow(FOLLOW_2); + rule__ExactScopeDefinition__TypeAssignment_1(); - } - break; + state._fsp--; + if (state.failed) return ; } - after(grammarAccess.getConstraintAccess().getPolarityAssignment_0_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getExactScopeDefinitionAccess().getTypeAssignment_1()); + } } @@ -11086,29 +22543,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0__0__Impl" + // $ANTLR end "rule__ExactScopeDefinition__Group__1__Impl" - // $ANTLR start "rule__Constraint__Group_0__1" - // InternalSolverLanguage.g:3546:1: rule__Constraint__Group_0__1 : rule__Constraint__Group_0__1__Impl rule__Constraint__Group_0__2 ; - public final void rule__Constraint__Group_0__1() throws RecognitionException { + // $ANTLR start "rule__ExactScopeDefinition__Group__2" + // InternalSolverLanguage.g:6765:1: rule__ExactScopeDefinition__Group__2 : rule__ExactScopeDefinition__Group__2__Impl rule__ExactScopeDefinition__Group__3 ; + public final void rule__ExactScopeDefinition__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3550:1: ( rule__Constraint__Group_0__1__Impl rule__Constraint__Group_0__2 ) - // InternalSolverLanguage.g:3551:2: rule__Constraint__Group_0__1__Impl rule__Constraint__Group_0__2 + // InternalSolverLanguage.g:6769:1: ( rule__ExactScopeDefinition__Group__2__Impl rule__ExactScopeDefinition__Group__3 ) + // InternalSolverLanguage.g:6770:2: rule__ExactScopeDefinition__Group__2__Impl rule__ExactScopeDefinition__Group__3 { - pushFollow(FOLLOW_30); - rule__Constraint__Group_0__1__Impl(); + pushFollow(FOLLOW_53); + rule__ExactScopeDefinition__Group__2__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Constraint__Group_0__2(); + rule__ExactScopeDefinition__Group__3(); state._fsp--; - + if (state.failed) return ; } @@ -11124,35 +22581,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0__1" + // $ANTLR end "rule__ExactScopeDefinition__Group__2" - // $ANTLR start "rule__Constraint__Group_0__1__Impl" - // InternalSolverLanguage.g:3558:1: rule__Constraint__Group_0__1__Impl : ( ( rule__Constraint__SymbolAssignment_0_1 ) ) ; - public final void rule__Constraint__Group_0__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ExactScopeDefinition__Group__2__Impl" + // InternalSolverLanguage.g:6777:1: rule__ExactScopeDefinition__Group__2__Impl : ( '==' ) ; + public final void rule__ExactScopeDefinition__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3562:1: ( ( ( rule__Constraint__SymbolAssignment_0_1 ) ) ) - // InternalSolverLanguage.g:3563:1: ( ( rule__Constraint__SymbolAssignment_0_1 ) ) - { - // InternalSolverLanguage.g:3563:1: ( ( rule__Constraint__SymbolAssignment_0_1 ) ) - // InternalSolverLanguage.g:3564:2: ( rule__Constraint__SymbolAssignment_0_1 ) + // InternalSolverLanguage.g:6781:1: ( ( '==' ) ) + // InternalSolverLanguage.g:6782:1: ( '==' ) { - before(grammarAccess.getConstraintAccess().getSymbolAssignment_0_1()); - // InternalSolverLanguage.g:3565:2: ( rule__Constraint__SymbolAssignment_0_1 ) - // InternalSolverLanguage.g:3565:3: rule__Constraint__SymbolAssignment_0_1 + // InternalSolverLanguage.g:6782:1: ( '==' ) + // InternalSolverLanguage.g:6783:2: '==' { - pushFollow(FOLLOW_2); - rule__Constraint__SymbolAssignment_0_1(); - - state._fsp--; - - + if ( state.backtracking==0 ) { + before(grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); + } + match(input,19,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); } - - after(grammarAccess.getConstraintAccess().getSymbolAssignment_0_1()); } @@ -11171,24 +22622,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0__1__Impl" + // $ANTLR end "rule__ExactScopeDefinition__Group__2__Impl" - // $ANTLR start "rule__Constraint__Group_0__2" - // InternalSolverLanguage.g:3573:1: rule__Constraint__Group_0__2 : rule__Constraint__Group_0__2__Impl ; - public final void rule__Constraint__Group_0__2() throws RecognitionException { + // $ANTLR start "rule__ExactScopeDefinition__Group__3" + // InternalSolverLanguage.g:6792:1: rule__ExactScopeDefinition__Group__3 : rule__ExactScopeDefinition__Group__3__Impl ; + public final void rule__ExactScopeDefinition__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3577:1: ( rule__Constraint__Group_0__2__Impl ) - // InternalSolverLanguage.g:3578:2: rule__Constraint__Group_0__2__Impl + // InternalSolverLanguage.g:6796:1: ( rule__ExactScopeDefinition__Group__3__Impl ) + // InternalSolverLanguage.g:6797:2: rule__ExactScopeDefinition__Group__3__Impl { pushFollow(FOLLOW_2); - rule__Constraint__Group_0__2__Impl(); + rule__ExactScopeDefinition__Group__3__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -11204,46 +22655,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0__2" + // $ANTLR end "rule__ExactScopeDefinition__Group__3" - // $ANTLR start "rule__Constraint__Group_0__2__Impl" - // InternalSolverLanguage.g:3584:1: rule__Constraint__Group_0__2__Impl : ( ( rule__Constraint__Group_0_2__0 )? ) ; - public final void rule__Constraint__Group_0__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ExactScopeDefinition__Group__3__Impl" + // InternalSolverLanguage.g:6803:1: rule__ExactScopeDefinition__Group__3__Impl : ( ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) ) ; + public final void rule__ExactScopeDefinition__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3588:1: ( ( ( rule__Constraint__Group_0_2__0 )? ) ) - // InternalSolverLanguage.g:3589:1: ( ( rule__Constraint__Group_0_2__0 )? ) + // InternalSolverLanguage.g:6807:1: ( ( ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) ) ) + // InternalSolverLanguage.g:6808:1: ( ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) ) { - // InternalSolverLanguage.g:3589:1: ( ( rule__Constraint__Group_0_2__0 )? ) - // InternalSolverLanguage.g:3590:2: ( rule__Constraint__Group_0_2__0 )? + // InternalSolverLanguage.g:6808:1: ( ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) ) + // InternalSolverLanguage.g:6809:2: ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) { - before(grammarAccess.getConstraintAccess().getGroup_0_2()); - // InternalSolverLanguage.g:3591:2: ( rule__Constraint__Group_0_2__0 )? - int alt33=2; - int LA33_0 = input.LA(1); - - if ( (LA33_0==18) ) { - alt33=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getExactScopeDefinitionAccess().getExactScopeAssignment_3()); } - switch (alt33) { - case 1 : - // InternalSolverLanguage.g:3591:3: rule__Constraint__Group_0_2__0 - { - pushFollow(FOLLOW_2); - rule__Constraint__Group_0_2__0(); - - state._fsp--; - + // InternalSolverLanguage.g:6810:2: ( rule__ExactScopeDefinition__ExactScopeAssignment_3 ) + // InternalSolverLanguage.g:6810:3: rule__ExactScopeDefinition__ExactScopeAssignment_3 + { + pushFollow(FOLLOW_2); + rule__ExactScopeDefinition__ExactScopeAssignment_3(); - } - break; + state._fsp--; + if (state.failed) return ; } - after(grammarAccess.getConstraintAccess().getGroup_0_2()); + if ( state.backtracking==0 ) { + after(grammarAccess.getExactScopeDefinitionAccess().getExactScopeAssignment_3()); + } } @@ -11262,29 +22706,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0__2__Impl" + // $ANTLR end "rule__ExactScopeDefinition__Group__3__Impl" - // $ANTLR start "rule__Constraint__Group_0_2__0" - // InternalSolverLanguage.g:3600:1: rule__Constraint__Group_0_2__0 : rule__Constraint__Group_0_2__0__Impl rule__Constraint__Group_0_2__1 ; - public final void rule__Constraint__Group_0_2__0() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group__0" + // InternalSolverLanguage.g:6819:1: rule__BoundedScopeDefinition__Group__0 : rule__BoundedScopeDefinition__Group__0__Impl rule__BoundedScopeDefinition__Group__1 ; + public final void rule__BoundedScopeDefinition__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3604:1: ( rule__Constraint__Group_0_2__0__Impl rule__Constraint__Group_0_2__1 ) - // InternalSolverLanguage.g:3605:2: rule__Constraint__Group_0_2__0__Impl rule__Constraint__Group_0_2__1 + // InternalSolverLanguage.g:6823:1: ( rule__BoundedScopeDefinition__Group__0__Impl rule__BoundedScopeDefinition__Group__1 ) + // InternalSolverLanguage.g:6824:2: rule__BoundedScopeDefinition__Group__0__Impl rule__BoundedScopeDefinition__Group__1 { - pushFollow(FOLLOW_31); - rule__Constraint__Group_0_2__0__Impl(); + pushFollow(FOLLOW_55); + rule__BoundedScopeDefinition__Group__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Constraint__Group_0_2__1(); + rule__BoundedScopeDefinition__Group__1(); state._fsp--; - + if (state.failed) return ; } @@ -11300,25 +22744,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0_2__0" + // $ANTLR end "rule__BoundedScopeDefinition__Group__0" - // $ANTLR start "rule__Constraint__Group_0_2__0__Impl" - // InternalSolverLanguage.g:3612:1: rule__Constraint__Group_0_2__0__Impl : ( '(' ) ; - public final void rule__Constraint__Group_0_2__0__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group__0__Impl" + // InternalSolverLanguage.g:6831:1: rule__BoundedScopeDefinition__Group__0__Impl : ( 'scope' ) ; + public final void rule__BoundedScopeDefinition__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3616:1: ( ( '(' ) ) - // InternalSolverLanguage.g:3617:1: ( '(' ) + // InternalSolverLanguage.g:6835:1: ( ( 'scope' ) ) + // InternalSolverLanguage.g:6836:1: ( 'scope' ) { - // InternalSolverLanguage.g:3617:1: ( '(' ) - // InternalSolverLanguage.g:3618:2: '(' + // InternalSolverLanguage.g:6836:1: ( 'scope' ) + // InternalSolverLanguage.g:6837:2: 'scope' { - before(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()); - match(input,18,FOLLOW_2); - after(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); + } + match(input,71,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); + } } @@ -11337,29 +22785,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0_2__0__Impl" + // $ANTLR end "rule__BoundedScopeDefinition__Group__0__Impl" - // $ANTLR start "rule__Constraint__Group_0_2__1" - // InternalSolverLanguage.g:3627:1: rule__Constraint__Group_0_2__1 : rule__Constraint__Group_0_2__1__Impl rule__Constraint__Group_0_2__2 ; - public final void rule__Constraint__Group_0_2__1() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group__1" + // InternalSolverLanguage.g:6846:1: rule__BoundedScopeDefinition__Group__1 : rule__BoundedScopeDefinition__Group__1__Impl rule__BoundedScopeDefinition__Group__2 ; + public final void rule__BoundedScopeDefinition__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3631:1: ( rule__Constraint__Group_0_2__1__Impl rule__Constraint__Group_0_2__2 ) - // InternalSolverLanguage.g:3632:2: rule__Constraint__Group_0_2__1__Impl rule__Constraint__Group_0_2__2 + // InternalSolverLanguage.g:6850:1: ( rule__BoundedScopeDefinition__Group__1__Impl rule__BoundedScopeDefinition__Group__2 ) + // InternalSolverLanguage.g:6851:2: rule__BoundedScopeDefinition__Group__1__Impl rule__BoundedScopeDefinition__Group__2 { - pushFollow(FOLLOW_31); - rule__Constraint__Group_0_2__1__Impl(); + pushFollow(FOLLOW_13); + rule__BoundedScopeDefinition__Group__1__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Constraint__Group_0_2__2(); + rule__BoundedScopeDefinition__Group__2(); state._fsp--; - + if (state.failed) return ; } @@ -11375,46 +22823,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0_2__1" + // $ANTLR end "rule__BoundedScopeDefinition__Group__1" - // $ANTLR start "rule__Constraint__Group_0_2__1__Impl" - // InternalSolverLanguage.g:3639:1: rule__Constraint__Group_0_2__1__Impl : ( ( rule__Constraint__ParamsAssignment_0_2_1 )? ) ; - public final void rule__Constraint__Group_0_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group__1__Impl" + // InternalSolverLanguage.g:6858:1: rule__BoundedScopeDefinition__Group__1__Impl : ( ( rule__BoundedScopeDefinition__Alternatives_1 ) ) ; + public final void rule__BoundedScopeDefinition__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3643:1: ( ( ( rule__Constraint__ParamsAssignment_0_2_1 )? ) ) - // InternalSolverLanguage.g:3644:1: ( ( rule__Constraint__ParamsAssignment_0_2_1 )? ) + // InternalSolverLanguage.g:6862:1: ( ( ( rule__BoundedScopeDefinition__Alternatives_1 ) ) ) + // InternalSolverLanguage.g:6863:1: ( ( rule__BoundedScopeDefinition__Alternatives_1 ) ) { - // InternalSolverLanguage.g:3644:1: ( ( rule__Constraint__ParamsAssignment_0_2_1 )? ) - // InternalSolverLanguage.g:3645:2: ( rule__Constraint__ParamsAssignment_0_2_1 )? + // InternalSolverLanguage.g:6863:1: ( ( rule__BoundedScopeDefinition__Alternatives_1 ) ) + // InternalSolverLanguage.g:6864:2: ( rule__BoundedScopeDefinition__Alternatives_1 ) { - before(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_1()); - // InternalSolverLanguage.g:3646:2: ( rule__Constraint__ParamsAssignment_0_2_1 )? - int alt34=2; - int LA34_0 = input.LA(1); - - if ( ((LA34_0>=RULE_INT && LA34_0<=RULE_STRING)||(LA34_0>=11 && LA34_0<=13)||LA34_0==27) ) { - alt34=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getAlternatives_1()); } - switch (alt34) { - case 1 : - // InternalSolverLanguage.g:3646:3: rule__Constraint__ParamsAssignment_0_2_1 - { - pushFollow(FOLLOW_2); - rule__Constraint__ParamsAssignment_0_2_1(); - - state._fsp--; - + // InternalSolverLanguage.g:6865:2: ( rule__BoundedScopeDefinition__Alternatives_1 ) + // InternalSolverLanguage.g:6865:3: rule__BoundedScopeDefinition__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__BoundedScopeDefinition__Alternatives_1(); - } - break; + state._fsp--; + if (state.failed) return ; } - after(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_1()); + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getAlternatives_1()); + } } @@ -11433,29 +22874,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0_2__1__Impl" + // $ANTLR end "rule__BoundedScopeDefinition__Group__1__Impl" - // $ANTLR start "rule__Constraint__Group_0_2__2" - // InternalSolverLanguage.g:3654:1: rule__Constraint__Group_0_2__2 : rule__Constraint__Group_0_2__2__Impl rule__Constraint__Group_0_2__3 ; - public final void rule__Constraint__Group_0_2__2() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group__2" + // InternalSolverLanguage.g:6873:1: rule__BoundedScopeDefinition__Group__2 : rule__BoundedScopeDefinition__Group__2__Impl ; + public final void rule__BoundedScopeDefinition__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3658:1: ( rule__Constraint__Group_0_2__2__Impl rule__Constraint__Group_0_2__3 ) - // InternalSolverLanguage.g:3659:2: rule__Constraint__Group_0_2__2__Impl rule__Constraint__Group_0_2__3 + // InternalSolverLanguage.g:6877:1: ( rule__BoundedScopeDefinition__Group__2__Impl ) + // InternalSolverLanguage.g:6878:2: rule__BoundedScopeDefinition__Group__2__Impl { - pushFollow(FOLLOW_31); - rule__Constraint__Group_0_2__2__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__Constraint__Group_0_2__3(); + rule__BoundedScopeDefinition__Group__2__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -11471,53 +22907,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0_2__2" + // $ANTLR end "rule__BoundedScopeDefinition__Group__2" - // $ANTLR start "rule__Constraint__Group_0_2__2__Impl" - // InternalSolverLanguage.g:3666:1: rule__Constraint__Group_0_2__2__Impl : ( ( rule__Constraint__Group_0_2_2__0 )* ) ; - public final void rule__Constraint__Group_0_2__2__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group__2__Impl" + // InternalSolverLanguage.g:6884:1: rule__BoundedScopeDefinition__Group__2__Impl : ( '.' ) ; + public final void rule__BoundedScopeDefinition__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3670:1: ( ( ( rule__Constraint__Group_0_2_2__0 )* ) ) - // InternalSolverLanguage.g:3671:1: ( ( rule__Constraint__Group_0_2_2__0 )* ) + // InternalSolverLanguage.g:6888:1: ( ( '.' ) ) + // InternalSolverLanguage.g:6889:1: ( '.' ) { - // InternalSolverLanguage.g:3671:1: ( ( rule__Constraint__Group_0_2_2__0 )* ) - // InternalSolverLanguage.g:3672:2: ( rule__Constraint__Group_0_2_2__0 )* + // InternalSolverLanguage.g:6889:1: ( '.' ) + // InternalSolverLanguage.g:6890:2: '.' { - before(grammarAccess.getConstraintAccess().getGroup_0_2_2()); - // InternalSolverLanguage.g:3673:2: ( rule__Constraint__Group_0_2_2__0 )* - loop35: - do { - int alt35=2; - int LA35_0 = input.LA(1); - - if ( (LA35_0==20) ) { - alt35=1; - } - - - switch (alt35) { - case 1 : - // InternalSolverLanguage.g:3673:3: rule__Constraint__Group_0_2_2__0 - { - pushFollow(FOLLOW_15); - rule__Constraint__Group_0_2_2__0(); - - state._fsp--; - - - } - break; - - default : - break loop35; - } - } while (true); - - after(grammarAccess.getConstraintAccess().getGroup_0_2_2()); + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getFullStopKeyword_2()); + } + match(input,50,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getFullStopKeyword_2()); + } } @@ -11536,24 +22948,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0_2__2__Impl" + // $ANTLR end "rule__BoundedScopeDefinition__Group__2__Impl" - // $ANTLR start "rule__Constraint__Group_0_2__3" - // InternalSolverLanguage.g:3681:1: rule__Constraint__Group_0_2__3 : rule__Constraint__Group_0_2__3__Impl ; - public final void rule__Constraint__Group_0_2__3() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__0" + // InternalSolverLanguage.g:6900:1: rule__BoundedScopeDefinition__Group_1_0__0 : rule__BoundedScopeDefinition__Group_1_0__0__Impl rule__BoundedScopeDefinition__Group_1_0__1 ; + public final void rule__BoundedScopeDefinition__Group_1_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3685:1: ( rule__Constraint__Group_0_2__3__Impl ) - // InternalSolverLanguage.g:3686:2: rule__Constraint__Group_0_2__3__Impl + // InternalSolverLanguage.g:6904:1: ( rule__BoundedScopeDefinition__Group_1_0__0__Impl rule__BoundedScopeDefinition__Group_1_0__1 ) + // InternalSolverLanguage.g:6905:2: rule__BoundedScopeDefinition__Group_1_0__0__Impl rule__BoundedScopeDefinition__Group_1_0__1 { - pushFollow(FOLLOW_2); - rule__Constraint__Group_0_2__3__Impl(); + pushFollow(FOLLOW_55); + rule__BoundedScopeDefinition__Group_1_0__0__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__BoundedScopeDefinition__Group_1_0__1(); + state._fsp--; + if (state.failed) return ; } @@ -11569,25 +22986,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0_2__3" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0__0" - // $ANTLR start "rule__Constraint__Group_0_2__3__Impl" - // InternalSolverLanguage.g:3692:1: rule__Constraint__Group_0_2__3__Impl : ( ')' ) ; - public final void rule__Constraint__Group_0_2__3__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__0__Impl" + // InternalSolverLanguage.g:6912:1: rule__BoundedScopeDefinition__Group_1_0__0__Impl : ( ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? ) ; + public final void rule__BoundedScopeDefinition__Group_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3696:1: ( ( ')' ) ) - // InternalSolverLanguage.g:3697:1: ( ')' ) + // InternalSolverLanguage.g:6916:1: ( ( ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? ) ) + // InternalSolverLanguage.g:6917:1: ( ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? ) { - // InternalSolverLanguage.g:3697:1: ( ')' ) - // InternalSolverLanguage.g:3698:2: ')' + // InternalSolverLanguage.g:6917:1: ( ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? ) + // InternalSolverLanguage.g:6918:2: ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? { - before(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3()); - match(input,19,FOLLOW_2); - after(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3()); + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0_0()); + } + // InternalSolverLanguage.g:6919:2: ( rule__BoundedScopeDefinition__Group_1_0_0__0 )? + int alt51=2; + int LA51_0 = input.LA(1); + + if ( (LA51_0==RULE_INT) ) { + alt51=1; + } + switch (alt51) { + case 1 : + // InternalSolverLanguage.g:6919:3: rule__BoundedScopeDefinition__Group_1_0_0__0 + { + pushFollow(FOLLOW_2); + rule__BoundedScopeDefinition__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_0_0()); + } } @@ -11606,29 +23048,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0_2__3__Impl" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0__0__Impl" - // $ANTLR start "rule__Constraint__Group_0_2_2__0" - // 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 ; - public final void rule__Constraint__Group_0_2_2__0() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__1" + // InternalSolverLanguage.g:6927:1: rule__BoundedScopeDefinition__Group_1_0__1 : rule__BoundedScopeDefinition__Group_1_0__1__Impl rule__BoundedScopeDefinition__Group_1_0__2 ; + public final void rule__BoundedScopeDefinition__Group_1_0__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3712:1: ( rule__Constraint__Group_0_2_2__0__Impl rule__Constraint__Group_0_2_2__1 ) - // InternalSolverLanguage.g:3713:2: rule__Constraint__Group_0_2_2__0__Impl rule__Constraint__Group_0_2_2__1 + // InternalSolverLanguage.g:6931:1: ( rule__BoundedScopeDefinition__Group_1_0__1__Impl rule__BoundedScopeDefinition__Group_1_0__2 ) + // InternalSolverLanguage.g:6932:2: rule__BoundedScopeDefinition__Group_1_0__1__Impl rule__BoundedScopeDefinition__Group_1_0__2 { - pushFollow(FOLLOW_32); - rule__Constraint__Group_0_2_2__0__Impl(); + pushFollow(FOLLOW_56); + rule__BoundedScopeDefinition__Group_1_0__1__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Constraint__Group_0_2_2__1(); + rule__BoundedScopeDefinition__Group_1_0__2(); state._fsp--; - + if (state.failed) return ; } @@ -11644,25 +23086,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0_2_2__0" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0__1" + + + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__1__Impl" + // InternalSolverLanguage.g:6939:1: rule__BoundedScopeDefinition__Group_1_0__1__Impl : ( ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) ) ; + public final void rule__BoundedScopeDefinition__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSolverLanguage.g:6943:1: ( ( ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) ) ) + // InternalSolverLanguage.g:6944:1: ( ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) ) + { + // InternalSolverLanguage.g:6944:1: ( ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) ) + // InternalSolverLanguage.g:6945:2: ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_0_1()); + } + // InternalSolverLanguage.g:6946:2: ( rule__BoundedScopeDefinition__TypeAssignment_1_0_1 ) + // InternalSolverLanguage.g:6946:3: rule__BoundedScopeDefinition__TypeAssignment_1_0_1 + { + pushFollow(FOLLOW_2); + rule__BoundedScopeDefinition__TypeAssignment_1_0_1(); + state._fsp--; + if (state.failed) return ; - // $ANTLR start "rule__Constraint__Group_0_2_2__0__Impl" - // InternalSolverLanguage.g:3720:1: rule__Constraint__Group_0_2_2__0__Impl : ( ',' ) ; - public final void rule__Constraint__Group_0_2_2__0__Impl() throws RecognitionException { + } - int stackSize = keepStackSize(); - - try { - // InternalSolverLanguage.g:3724:1: ( ( ',' ) ) - // InternalSolverLanguage.g:3725:1: ( ',' ) - { - // InternalSolverLanguage.g:3725:1: ( ',' ) - // InternalSolverLanguage.g:3726:2: ',' - { - before(grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0()); - match(input,20,FOLLOW_2); - after(grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_0_1()); + } } @@ -11681,24 +23137,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0_2_2__0__Impl" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0__1__Impl" - // $ANTLR start "rule__Constraint__Group_0_2_2__1" - // InternalSolverLanguage.g:3735:1: rule__Constraint__Group_0_2_2__1 : rule__Constraint__Group_0_2_2__1__Impl ; - public final void rule__Constraint__Group_0_2_2__1() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__2" + // InternalSolverLanguage.g:6954:1: rule__BoundedScopeDefinition__Group_1_0__2 : rule__BoundedScopeDefinition__Group_1_0__2__Impl rule__BoundedScopeDefinition__Group_1_0__3 ; + public final void rule__BoundedScopeDefinition__Group_1_0__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3739:1: ( rule__Constraint__Group_0_2_2__1__Impl ) - // InternalSolverLanguage.g:3740:2: rule__Constraint__Group_0_2_2__1__Impl + // InternalSolverLanguage.g:6958:1: ( rule__BoundedScopeDefinition__Group_1_0__2__Impl rule__BoundedScopeDefinition__Group_1_0__3 ) + // InternalSolverLanguage.g:6959:2: rule__BoundedScopeDefinition__Group_1_0__2__Impl rule__BoundedScopeDefinition__Group_1_0__3 { - pushFollow(FOLLOW_2); - rule__Constraint__Group_0_2_2__1__Impl(); + pushFollow(FOLLOW_53); + rule__BoundedScopeDefinition__Group_1_0__2__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__BoundedScopeDefinition__Group_1_0__3(); + state._fsp--; + if (state.failed) return ; } @@ -11714,35 +23175,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0_2_2__1" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0__2" - // $ANTLR start "rule__Constraint__Group_0_2_2__1__Impl" - // InternalSolverLanguage.g:3746:1: rule__Constraint__Group_0_2_2__1__Impl : ( ( rule__Constraint__ParamsAssignment_0_2_2_1 ) ) ; - public final void rule__Constraint__Group_0_2_2__1__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__2__Impl" + // InternalSolverLanguage.g:6966:1: rule__BoundedScopeDefinition__Group_1_0__2__Impl : ( '<=' ) ; + public final void rule__BoundedScopeDefinition__Group_1_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3750:1: ( ( ( rule__Constraint__ParamsAssignment_0_2_2_1 ) ) ) - // InternalSolverLanguage.g:3751:1: ( ( rule__Constraint__ParamsAssignment_0_2_2_1 ) ) - { - // InternalSolverLanguage.g:3751:1: ( ( rule__Constraint__ParamsAssignment_0_2_2_1 ) ) - // InternalSolverLanguage.g:3752:2: ( rule__Constraint__ParamsAssignment_0_2_2_1 ) + // InternalSolverLanguage.g:6970:1: ( ( '<=' ) ) + // InternalSolverLanguage.g:6971:1: ( '<=' ) { - before(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_2_1()); - // InternalSolverLanguage.g:3753:2: ( rule__Constraint__ParamsAssignment_0_2_2_1 ) - // InternalSolverLanguage.g:3753:3: rule__Constraint__ParamsAssignment_0_2_2_1 + // InternalSolverLanguage.g:6971:1: ( '<=' ) + // InternalSolverLanguage.g:6972:2: '<=' { - pushFollow(FOLLOW_2); - rule__Constraint__ParamsAssignment_0_2_2_1(); - - state._fsp--; - - + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); } - - after(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_2_1()); } @@ -11761,29 +23216,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_0_2_2__1__Impl" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0__2__Impl" - // $ANTLR start "rule__Constraint__Group_1__0" - // InternalSolverLanguage.g:3762:1: rule__Constraint__Group_1__0 : rule__Constraint__Group_1__0__Impl rule__Constraint__Group_1__1 ; - public final void rule__Constraint__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__3" + // InternalSolverLanguage.g:6981:1: rule__BoundedScopeDefinition__Group_1_0__3 : rule__BoundedScopeDefinition__Group_1_0__3__Impl ; + public final void rule__BoundedScopeDefinition__Group_1_0__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3766:1: ( rule__Constraint__Group_1__0__Impl rule__Constraint__Group_1__1 ) - // InternalSolverLanguage.g:3767:2: rule__Constraint__Group_1__0__Impl rule__Constraint__Group_1__1 + // InternalSolverLanguage.g:6985:1: ( rule__BoundedScopeDefinition__Group_1_0__3__Impl ) + // InternalSolverLanguage.g:6986:2: rule__BoundedScopeDefinition__Group_1_0__3__Impl { - pushFollow(FOLLOW_30); - rule__Constraint__Group_1__0__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__Constraint__Group_1__1(); + rule__BoundedScopeDefinition__Group_1_0__3__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -11799,35 +23249,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_1__0" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0__3" - // $ANTLR start "rule__Constraint__Group_1__0__Impl" - // InternalSolverLanguage.g:3774:1: rule__Constraint__Group_1__0__Impl : ( ( rule__Constraint__ClosureTypeAssignment_1_0 ) ) ; - public final void rule__Constraint__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0__3__Impl" + // InternalSolverLanguage.g:6992:1: rule__BoundedScopeDefinition__Group_1_0__3__Impl : ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) ) ; + public final void rule__BoundedScopeDefinition__Group_1_0__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3778:1: ( ( ( rule__Constraint__ClosureTypeAssignment_1_0 ) ) ) - // InternalSolverLanguage.g:3779:1: ( ( rule__Constraint__ClosureTypeAssignment_1_0 ) ) + // InternalSolverLanguage.g:6996:1: ( ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) ) ) + // InternalSolverLanguage.g:6997:1: ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) ) { - // InternalSolverLanguage.g:3779:1: ( ( rule__Constraint__ClosureTypeAssignment_1_0 ) ) - // InternalSolverLanguage.g:3780:2: ( rule__Constraint__ClosureTypeAssignment_1_0 ) + // InternalSolverLanguage.g:6997:1: ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) ) + // InternalSolverLanguage.g:6998:2: ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) { - before(grammarAccess.getConstraintAccess().getClosureTypeAssignment_1_0()); - // InternalSolverLanguage.g:3781:2: ( rule__Constraint__ClosureTypeAssignment_1_0 ) - // InternalSolverLanguage.g:3781:3: rule__Constraint__ClosureTypeAssignment_1_0 + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_0_3()); + } + // InternalSolverLanguage.g:6999:2: ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 ) + // InternalSolverLanguage.g:6999:3: rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 { pushFollow(FOLLOW_2); - rule__Constraint__ClosureTypeAssignment_1_0(); + rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getConstraintAccess().getClosureTypeAssignment_1_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_0_3()); + } } @@ -11846,29 +23300,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_1__0__Impl" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0__3__Impl" - // $ANTLR start "rule__Constraint__Group_1__1" - // InternalSolverLanguage.g:3789:1: rule__Constraint__Group_1__1 : rule__Constraint__Group_1__1__Impl rule__Constraint__Group_1__2 ; - public final void rule__Constraint__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0_0__0" + // 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 ; + public final void rule__BoundedScopeDefinition__Group_1_0_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3793:1: ( rule__Constraint__Group_1__1__Impl rule__Constraint__Group_1__2 ) - // InternalSolverLanguage.g:3794:2: rule__Constraint__Group_1__1__Impl rule__Constraint__Group_1__2 + // InternalSolverLanguage.g:7012:1: ( rule__BoundedScopeDefinition__Group_1_0_0__0__Impl rule__BoundedScopeDefinition__Group_1_0_0__1 ) + // InternalSolverLanguage.g:7013:2: rule__BoundedScopeDefinition__Group_1_0_0__0__Impl rule__BoundedScopeDefinition__Group_1_0_0__1 { - pushFollow(FOLLOW_31); - rule__Constraint__Group_1__1__Impl(); + pushFollow(FOLLOW_56); + rule__BoundedScopeDefinition__Group_1_0_0__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Constraint__Group_1__2(); + rule__BoundedScopeDefinition__Group_1_0_0__1(); state._fsp--; - + if (state.failed) return ; } @@ -11884,25 +23338,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_1__1" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0_0__0" - // $ANTLR start "rule__Constraint__Group_1__1__Impl" - // InternalSolverLanguage.g:3801:1: rule__Constraint__Group_1__1__Impl : ( '(' ) ; - public final void rule__Constraint__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0_0__0__Impl" + // InternalSolverLanguage.g:7020:1: rule__BoundedScopeDefinition__Group_1_0_0__0__Impl : ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) ) ; + public final void rule__BoundedScopeDefinition__Group_1_0_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3805:1: ( ( '(' ) ) - // InternalSolverLanguage.g:3806:1: ( '(' ) + // InternalSolverLanguage.g:7024:1: ( ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) ) ) + // InternalSolverLanguage.g:7025:1: ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) ) { - // InternalSolverLanguage.g:3806:1: ( '(' ) - // InternalSolverLanguage.g:3807:2: '(' + // InternalSolverLanguage.g:7025:1: ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) ) + // InternalSolverLanguage.g:7026:2: ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) { - before(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1()); - match(input,18,FOLLOW_2); - after(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1()); + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0_0()); + } + // InternalSolverLanguage.g:7027:2: ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 ) + // InternalSolverLanguage.g:7027:3: rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 + { + pushFollow(FOLLOW_2); + rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0_0()); + } } @@ -11921,29 +23389,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_1__1__Impl" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0_0__0__Impl" - // $ANTLR start "rule__Constraint__Group_1__2" - // InternalSolverLanguage.g:3816:1: rule__Constraint__Group_1__2 : rule__Constraint__Group_1__2__Impl rule__Constraint__Group_1__3 ; - public final void rule__Constraint__Group_1__2() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0_0__1" + // InternalSolverLanguage.g:7035:1: rule__BoundedScopeDefinition__Group_1_0_0__1 : rule__BoundedScopeDefinition__Group_1_0_0__1__Impl ; + public final void rule__BoundedScopeDefinition__Group_1_0_0__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3820:1: ( rule__Constraint__Group_1__2__Impl rule__Constraint__Group_1__3 ) - // InternalSolverLanguage.g:3821:2: rule__Constraint__Group_1__2__Impl rule__Constraint__Group_1__3 + // InternalSolverLanguage.g:7039:1: ( rule__BoundedScopeDefinition__Group_1_0_0__1__Impl ) + // InternalSolverLanguage.g:7040:2: rule__BoundedScopeDefinition__Group_1_0_0__1__Impl { - pushFollow(FOLLOW_31); - rule__Constraint__Group_1__2__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__Constraint__Group_1__3(); + rule__BoundedScopeDefinition__Group_1_0_0__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -11959,47 +23422,30 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_1__2" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0_0__1" - // $ANTLR start "rule__Constraint__Group_1__2__Impl" - // InternalSolverLanguage.g:3828:1: rule__Constraint__Group_1__2__Impl : ( ( rule__Constraint__ParamsAssignment_1_2 )? ) ; - public final void rule__Constraint__Group_1__2__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_0_0__1__Impl" + // InternalSolverLanguage.g:7046:1: rule__BoundedScopeDefinition__Group_1_0_0__1__Impl : ( '<=' ) ; + public final void rule__BoundedScopeDefinition__Group_1_0_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3832:1: ( ( ( rule__Constraint__ParamsAssignment_1_2 )? ) ) - // InternalSolverLanguage.g:3833:1: ( ( rule__Constraint__ParamsAssignment_1_2 )? ) + // InternalSolverLanguage.g:7050:1: ( ( '<=' ) ) + // InternalSolverLanguage.g:7051:1: ( '<=' ) { - // InternalSolverLanguage.g:3833:1: ( ( rule__Constraint__ParamsAssignment_1_2 )? ) - // InternalSolverLanguage.g:3834:2: ( rule__Constraint__ParamsAssignment_1_2 )? + // InternalSolverLanguage.g:7051:1: ( '<=' ) + // InternalSolverLanguage.g:7052:2: '<=' { - before(grammarAccess.getConstraintAccess().getParamsAssignment_1_2()); - // InternalSolverLanguage.g:3835:2: ( rule__Constraint__ParamsAssignment_1_2 )? - int alt36=2; - int LA36_0 = input.LA(1); - - if ( ((LA36_0>=RULE_INT && LA36_0<=RULE_STRING)||(LA36_0>=11 && LA36_0<=13)||LA36_0==27) ) { - alt36=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); } - switch (alt36) { - case 1 : - // InternalSolverLanguage.g:3835:3: rule__Constraint__ParamsAssignment_1_2 - { - pushFollow(FOLLOW_2); - rule__Constraint__ParamsAssignment_1_2(); - - state._fsp--; - - - } - break; - + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); } - after(grammarAccess.getConstraintAccess().getParamsAssignment_1_2()); - } @@ -12017,29 +23463,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_1__2__Impl" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_0_0__1__Impl" - // $ANTLR start "rule__Constraint__Group_1__3" - // InternalSolverLanguage.g:3843:1: rule__Constraint__Group_1__3 : rule__Constraint__Group_1__3__Impl rule__Constraint__Group_1__4 ; - public final void rule__Constraint__Group_1__3() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__0" + // InternalSolverLanguage.g:7062:1: rule__BoundedScopeDefinition__Group_1_1__0 : rule__BoundedScopeDefinition__Group_1_1__0__Impl rule__BoundedScopeDefinition__Group_1_1__1 ; + public final void rule__BoundedScopeDefinition__Group_1_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3847:1: ( rule__Constraint__Group_1__3__Impl rule__Constraint__Group_1__4 ) - // InternalSolverLanguage.g:3848:2: rule__Constraint__Group_1__3__Impl rule__Constraint__Group_1__4 + // InternalSolverLanguage.g:7066:1: ( rule__BoundedScopeDefinition__Group_1_1__0__Impl rule__BoundedScopeDefinition__Group_1_1__1 ) + // InternalSolverLanguage.g:7067:2: rule__BoundedScopeDefinition__Group_1_1__0__Impl rule__BoundedScopeDefinition__Group_1_1__1 { - pushFollow(FOLLOW_31); - rule__Constraint__Group_1__3__Impl(); + pushFollow(FOLLOW_57); + rule__BoundedScopeDefinition__Group_1_1__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Constraint__Group_1__4(); + rule__BoundedScopeDefinition__Group_1_1__1(); state._fsp--; - + if (state.failed) return ; } @@ -12055,53 +23501,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_1__3" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1__0" - // $ANTLR start "rule__Constraint__Group_1__3__Impl" - // InternalSolverLanguage.g:3855:1: rule__Constraint__Group_1__3__Impl : ( ( rule__Constraint__Group_1_3__0 )* ) ; - public final void rule__Constraint__Group_1__3__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__0__Impl" + // InternalSolverLanguage.g:7074:1: rule__BoundedScopeDefinition__Group_1_1__0__Impl : ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) ) ; + public final void rule__BoundedScopeDefinition__Group_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3859:1: ( ( ( rule__Constraint__Group_1_3__0 )* ) ) - // InternalSolverLanguage.g:3860:1: ( ( rule__Constraint__Group_1_3__0 )* ) + // InternalSolverLanguage.g:7078:1: ( ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) ) ) + // InternalSolverLanguage.g:7079:1: ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) ) { - // InternalSolverLanguage.g:3860:1: ( ( rule__Constraint__Group_1_3__0 )* ) - // InternalSolverLanguage.g:3861:2: ( rule__Constraint__Group_1_3__0 )* + // InternalSolverLanguage.g:7079:1: ( ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) ) + // InternalSolverLanguage.g:7080:2: ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) { - before(grammarAccess.getConstraintAccess().getGroup_1_3()); - // InternalSolverLanguage.g:3862:2: ( rule__Constraint__Group_1_3__0 )* - loop37: - do { - int alt37=2; - int LA37_0 = input.LA(1); - - if ( (LA37_0==20) ) { - alt37=1; - } - - - switch (alt37) { - case 1 : - // InternalSolverLanguage.g:3862:3: rule__Constraint__Group_1_3__0 - { - pushFollow(FOLLOW_15); - rule__Constraint__Group_1_3__0(); - - state._fsp--; - + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_1_0()); + } + // InternalSolverLanguage.g:7081:2: ( rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 ) + // InternalSolverLanguage.g:7081:3: rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 + { + pushFollow(FOLLOW_2); + rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0(); - } - break; + state._fsp--; + if (state.failed) return ; - default : - break loop37; - } - } while (true); + } - after(grammarAccess.getConstraintAccess().getGroup_1_3()); + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundAssignment_1_1_0()); + } } @@ -12120,24 +23552,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_1__3__Impl" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1__0__Impl" - // $ANTLR start "rule__Constraint__Group_1__4" - // InternalSolverLanguage.g:3870:1: rule__Constraint__Group_1__4 : rule__Constraint__Group_1__4__Impl ; - public final void rule__Constraint__Group_1__4() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__1" + // InternalSolverLanguage.g:7089:1: rule__BoundedScopeDefinition__Group_1_1__1 : rule__BoundedScopeDefinition__Group_1_1__1__Impl rule__BoundedScopeDefinition__Group_1_1__2 ; + public final void rule__BoundedScopeDefinition__Group_1_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3874:1: ( rule__Constraint__Group_1__4__Impl ) - // InternalSolverLanguage.g:3875:2: rule__Constraint__Group_1__4__Impl + // InternalSolverLanguage.g:7093:1: ( rule__BoundedScopeDefinition__Group_1_1__1__Impl rule__BoundedScopeDefinition__Group_1_1__2 ) + // InternalSolverLanguage.g:7094:2: rule__BoundedScopeDefinition__Group_1_1__1__Impl rule__BoundedScopeDefinition__Group_1_1__2 { - pushFollow(FOLLOW_2); - rule__Constraint__Group_1__4__Impl(); + pushFollow(FOLLOW_9); + rule__BoundedScopeDefinition__Group_1_1__1__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__BoundedScopeDefinition__Group_1_1__2(); + state._fsp--; + if (state.failed) return ; } @@ -12153,25 +23590,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_1__4" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1__1" - // $ANTLR start "rule__Constraint__Group_1__4__Impl" - // InternalSolverLanguage.g:3881:1: rule__Constraint__Group_1__4__Impl : ( ')' ) ; - public final void rule__Constraint__Group_1__4__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__1__Impl" + // InternalSolverLanguage.g:7101:1: rule__BoundedScopeDefinition__Group_1_1__1__Impl : ( '>=' ) ; + public final void rule__BoundedScopeDefinition__Group_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3885:1: ( ( ')' ) ) - // InternalSolverLanguage.g:3886:1: ( ')' ) + // InternalSolverLanguage.g:7105:1: ( ( '>=' ) ) + // InternalSolverLanguage.g:7106:1: ( '>=' ) { - // InternalSolverLanguage.g:3886:1: ( ')' ) - // InternalSolverLanguage.g:3887:2: ')' + // InternalSolverLanguage.g:7106:1: ( '>=' ) + // InternalSolverLanguage.g:7107:2: '>=' { - before(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4()); - match(input,19,FOLLOW_2); - after(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4()); + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); + } + match(input,24,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); + } } @@ -12190,29 +23631,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_1__4__Impl" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1__1__Impl" - // $ANTLR start "rule__Constraint__Group_1_3__0" - // InternalSolverLanguage.g:3897:1: rule__Constraint__Group_1_3__0 : rule__Constraint__Group_1_3__0__Impl rule__Constraint__Group_1_3__1 ; - public final void rule__Constraint__Group_1_3__0() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__2" + // InternalSolverLanguage.g:7116:1: rule__BoundedScopeDefinition__Group_1_1__2 : rule__BoundedScopeDefinition__Group_1_1__2__Impl rule__BoundedScopeDefinition__Group_1_1__3 ; + public final void rule__BoundedScopeDefinition__Group_1_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3901:1: ( rule__Constraint__Group_1_3__0__Impl rule__Constraint__Group_1_3__1 ) - // InternalSolverLanguage.g:3902:2: rule__Constraint__Group_1_3__0__Impl rule__Constraint__Group_1_3__1 + // InternalSolverLanguage.g:7120:1: ( rule__BoundedScopeDefinition__Group_1_1__2__Impl rule__BoundedScopeDefinition__Group_1_1__3 ) + // InternalSolverLanguage.g:7121:2: rule__BoundedScopeDefinition__Group_1_1__2__Impl rule__BoundedScopeDefinition__Group_1_1__3 { - pushFollow(FOLLOW_32); - rule__Constraint__Group_1_3__0__Impl(); + pushFollow(FOLLOW_57); + rule__BoundedScopeDefinition__Group_1_1__2__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__Constraint__Group_1_3__1(); + rule__BoundedScopeDefinition__Group_1_1__3(); state._fsp--; - + if (state.failed) return ; } @@ -12228,25 +23669,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_1_3__0" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1__2" - // $ANTLR start "rule__Constraint__Group_1_3__0__Impl" - // InternalSolverLanguage.g:3909:1: rule__Constraint__Group_1_3__0__Impl : ( ',' ) ; - public final void rule__Constraint__Group_1_3__0__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__2__Impl" + // InternalSolverLanguage.g:7128:1: rule__BoundedScopeDefinition__Group_1_1__2__Impl : ( ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) ) ; + public final void rule__BoundedScopeDefinition__Group_1_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3913:1: ( ( ',' ) ) - // InternalSolverLanguage.g:3914:1: ( ',' ) + // InternalSolverLanguage.g:7132:1: ( ( ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) ) ) + // InternalSolverLanguage.g:7133:1: ( ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) ) + { + // InternalSolverLanguage.g:7133:1: ( ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) ) + // InternalSolverLanguage.g:7134:2: ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) { - // InternalSolverLanguage.g:3914:1: ( ',' ) - // InternalSolverLanguage.g:3915:2: ',' + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_1_2()); + } + // InternalSolverLanguage.g:7135:2: ( rule__BoundedScopeDefinition__TypeAssignment_1_1_2 ) + // InternalSolverLanguage.g:7135:3: rule__BoundedScopeDefinition__TypeAssignment_1_1_2 { - before(grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0()); - match(input,20,FOLLOW_2); - after(grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0()); + pushFollow(FOLLOW_2); + rule__BoundedScopeDefinition__TypeAssignment_1_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeAssignment_1_1_2()); + } } @@ -12265,24 +23720,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_1_3__0__Impl" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1__2__Impl" - // $ANTLR start "rule__Constraint__Group_1_3__1" - // InternalSolverLanguage.g:3924:1: rule__Constraint__Group_1_3__1 : rule__Constraint__Group_1_3__1__Impl ; - public final void rule__Constraint__Group_1_3__1() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__3" + // InternalSolverLanguage.g:7143:1: rule__BoundedScopeDefinition__Group_1_1__3 : rule__BoundedScopeDefinition__Group_1_1__3__Impl ; + public final void rule__BoundedScopeDefinition__Group_1_1__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3928:1: ( rule__Constraint__Group_1_3__1__Impl ) - // InternalSolverLanguage.g:3929:2: rule__Constraint__Group_1_3__1__Impl + // InternalSolverLanguage.g:7147:1: ( rule__BoundedScopeDefinition__Group_1_1__3__Impl ) + // InternalSolverLanguage.g:7148:2: rule__BoundedScopeDefinition__Group_1_1__3__Impl { pushFollow(FOLLOW_2); - rule__Constraint__Group_1_3__1__Impl(); + rule__BoundedScopeDefinition__Group_1_1__3__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -12298,35 +23753,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_1_3__1" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1__3" - // $ANTLR start "rule__Constraint__Group_1_3__1__Impl" - // InternalSolverLanguage.g:3935:1: rule__Constraint__Group_1_3__1__Impl : ( ( rule__Constraint__ParamsAssignment_1_3_1 ) ) ; - public final void rule__Constraint__Group_1_3__1__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1__3__Impl" + // InternalSolverLanguage.g:7154:1: rule__BoundedScopeDefinition__Group_1_1__3__Impl : ( ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? ) ; + public final void rule__BoundedScopeDefinition__Group_1_1__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3939:1: ( ( ( rule__Constraint__ParamsAssignment_1_3_1 ) ) ) - // InternalSolverLanguage.g:3940:1: ( ( rule__Constraint__ParamsAssignment_1_3_1 ) ) - { - // InternalSolverLanguage.g:3940:1: ( ( rule__Constraint__ParamsAssignment_1_3_1 ) ) - // InternalSolverLanguage.g:3941:2: ( rule__Constraint__ParamsAssignment_1_3_1 ) + // InternalSolverLanguage.g:7158:1: ( ( ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? ) ) + // InternalSolverLanguage.g:7159:1: ( ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? ) { - before(grammarAccess.getConstraintAccess().getParamsAssignment_1_3_1()); - // InternalSolverLanguage.g:3942:2: ( rule__Constraint__ParamsAssignment_1_3_1 ) - // InternalSolverLanguage.g:3942:3: rule__Constraint__ParamsAssignment_1_3_1 + // InternalSolverLanguage.g:7159:1: ( ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? ) + // InternalSolverLanguage.g:7160:2: ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? { - pushFollow(FOLLOW_2); - rule__Constraint__ParamsAssignment_1_3_1(); + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1_3()); + } + // InternalSolverLanguage.g:7161:2: ( rule__BoundedScopeDefinition__Group_1_1_3__0 )? + int alt52=2; + int LA52_0 = input.LA(1); - state._fsp--; + if ( (LA52_0==24) ) { + alt52=1; + } + switch (alt52) { + case 1 : + // InternalSolverLanguage.g:7161:3: rule__BoundedScopeDefinition__Group_1_1_3__0 + { + pushFollow(FOLLOW_2); + rule__BoundedScopeDefinition__Group_1_1_3__0(); + + state._fsp--; + if (state.failed) return ; + } + break; } - after(grammarAccess.getConstraintAccess().getParamsAssignment_1_3_1()); + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getGroup_1_1_3()); + } } @@ -12345,29 +23815,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__Group_1_3__1__Impl" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1__3__Impl" - // $ANTLR start "rule__ClosureType__Group_0__0" - // InternalSolverLanguage.g:3951:1: rule__ClosureType__Group_0__0 : rule__ClosureType__Group_0__0__Impl rule__ClosureType__Group_0__1 ; - public final void rule__ClosureType__Group_0__0() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1_3__0" + // 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 ; + public final void rule__BoundedScopeDefinition__Group_1_1_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3955:1: ( rule__ClosureType__Group_0__0__Impl rule__ClosureType__Group_0__1 ) - // InternalSolverLanguage.g:3956:2: rule__ClosureType__Group_0__0__Impl rule__ClosureType__Group_0__1 + // InternalSolverLanguage.g:7174:1: ( rule__BoundedScopeDefinition__Group_1_1_3__0__Impl rule__BoundedScopeDefinition__Group_1_1_3__1 ) + // InternalSolverLanguage.g:7175:2: rule__BoundedScopeDefinition__Group_1_1_3__0__Impl rule__BoundedScopeDefinition__Group_1_1_3__1 { - pushFollow(FOLLOW_33); - rule__ClosureType__Group_0__0__Impl(); + pushFollow(FOLLOW_53); + rule__BoundedScopeDefinition__Group_1_1_3__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ClosureType__Group_0__1(); + rule__BoundedScopeDefinition__Group_1_1_3__1(); state._fsp--; - + if (state.failed) return ; } @@ -12383,29 +23853,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClosureType__Group_0__0" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1_3__0" - // $ANTLR start "rule__ClosureType__Group_0__0__Impl" - // InternalSolverLanguage.g:3963:1: rule__ClosureType__Group_0__0__Impl : ( () ) ; - public final void rule__ClosureType__Group_0__0__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1_3__0__Impl" + // InternalSolverLanguage.g:7182:1: rule__BoundedScopeDefinition__Group_1_1_3__0__Impl : ( '>=' ) ; + public final void rule__BoundedScopeDefinition__Group_1_1_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3967:1: ( ( () ) ) - // InternalSolverLanguage.g:3968:1: ( () ) - { - // InternalSolverLanguage.g:3968:1: ( () ) - // InternalSolverLanguage.g:3969:2: () + // InternalSolverLanguage.g:7186:1: ( ( '>=' ) ) + // InternalSolverLanguage.g:7187:1: ( '>=' ) { - before(grammarAccess.getClosureTypeAccess().getReflexiveClosureAction_0_0()); - // InternalSolverLanguage.g:3970:2: () - // InternalSolverLanguage.g:3970:3: + // InternalSolverLanguage.g:7187:1: ( '>=' ) + // InternalSolverLanguage.g:7188:2: '>=' { + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); + } + match(input,24,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); } - - after(grammarAccess.getClosureTypeAccess().getReflexiveClosureAction_0_0()); } @@ -12413,6 +23883,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -12420,24 +23894,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClosureType__Group_0__0__Impl" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1_3__0__Impl" - // $ANTLR start "rule__ClosureType__Group_0__1" - // InternalSolverLanguage.g:3978:1: rule__ClosureType__Group_0__1 : rule__ClosureType__Group_0__1__Impl ; - public final void rule__ClosureType__Group_0__1() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1_3__1" + // InternalSolverLanguage.g:7197:1: rule__BoundedScopeDefinition__Group_1_1_3__1 : rule__BoundedScopeDefinition__Group_1_1_3__1__Impl ; + public final void rule__BoundedScopeDefinition__Group_1_1_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3982:1: ( rule__ClosureType__Group_0__1__Impl ) - // InternalSolverLanguage.g:3983:2: rule__ClosureType__Group_0__1__Impl + // InternalSolverLanguage.g:7201:1: ( rule__BoundedScopeDefinition__Group_1_1_3__1__Impl ) + // InternalSolverLanguage.g:7202:2: rule__BoundedScopeDefinition__Group_1_1_3__1__Impl { pushFollow(FOLLOW_2); - rule__ClosureType__Group_0__1__Impl(); + rule__BoundedScopeDefinition__Group_1_1_3__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -12453,25 +23927,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClosureType__Group_0__1" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1_3__1" - // $ANTLR start "rule__ClosureType__Group_0__1__Impl" - // InternalSolverLanguage.g:3989:1: rule__ClosureType__Group_0__1__Impl : ( '*' ) ; - public final void rule__ClosureType__Group_0__1__Impl() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__Group_1_1_3__1__Impl" + // InternalSolverLanguage.g:7208:1: rule__BoundedScopeDefinition__Group_1_1_3__1__Impl : ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) ) ; + public final void rule__BoundedScopeDefinition__Group_1_1_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:3993:1: ( ( '*' ) ) - // InternalSolverLanguage.g:3994:1: ( '*' ) + // InternalSolverLanguage.g:7212:1: ( ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) ) ) + // InternalSolverLanguage.g:7213:1: ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) ) + { + // InternalSolverLanguage.g:7213:1: ( ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) ) + // InternalSolverLanguage.g:7214:2: ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) { - // InternalSolverLanguage.g:3994:1: ( '*' ) - // InternalSolverLanguage.g:3995:2: '*' + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_3_1()); + } + // InternalSolverLanguage.g:7215:2: ( rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 ) + // InternalSolverLanguage.g:7215:3: rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 { - before(grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1()); - match(input,31,FOLLOW_2); - after(grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1()); + pushFollow(FOLLOW_2); + rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_3_1()); + } } @@ -12490,29 +23978,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClosureType__Group_0__1__Impl" + // $ANTLR end "rule__BoundedScopeDefinition__Group_1_1_3__1__Impl" - // $ANTLR start "rule__ClosureType__Group_1__0" - // InternalSolverLanguage.g:4005:1: rule__ClosureType__Group_1__0 : rule__ClosureType__Group_1__0__Impl rule__ClosureType__Group_1__1 ; - public final void rule__ClosureType__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__0" + // InternalSolverLanguage.g:7224:1: rule__LowerBoundedScopeDefinition__Group__0 : rule__LowerBoundedScopeDefinition__Group__0__Impl rule__LowerBoundedScopeDefinition__Group__1 ; + public final void rule__LowerBoundedScopeDefinition__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4009:1: ( rule__ClosureType__Group_1__0__Impl rule__ClosureType__Group_1__1 ) - // InternalSolverLanguage.g:4010:2: rule__ClosureType__Group_1__0__Impl rule__ClosureType__Group_1__1 + // InternalSolverLanguage.g:7228:1: ( rule__LowerBoundedScopeDefinition__Group__0__Impl rule__LowerBoundedScopeDefinition__Group__1 ) + // InternalSolverLanguage.g:7229:2: rule__LowerBoundedScopeDefinition__Group__0__Impl rule__LowerBoundedScopeDefinition__Group__1 { - pushFollow(FOLLOW_34); - rule__ClosureType__Group_1__0__Impl(); + pushFollow(FOLLOW_55); + rule__LowerBoundedScopeDefinition__Group__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ClosureType__Group_1__1(); + rule__LowerBoundedScopeDefinition__Group__1(); state._fsp--; - + if (state.failed) return ; } @@ -12528,29 +24016,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClosureType__Group_1__0" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group__0" - // $ANTLR start "rule__ClosureType__Group_1__0__Impl" - // InternalSolverLanguage.g:4017:1: rule__ClosureType__Group_1__0__Impl : ( () ) ; - public final void rule__ClosureType__Group_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__0__Impl" + // InternalSolverLanguage.g:7236:1: rule__LowerBoundedScopeDefinition__Group__0__Impl : ( 'scope' ) ; + public final void rule__LowerBoundedScopeDefinition__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4021:1: ( ( () ) ) - // InternalSolverLanguage.g:4022:1: ( () ) - { - // InternalSolverLanguage.g:4022:1: ( () ) - // InternalSolverLanguage.g:4023:2: () + // InternalSolverLanguage.g:7240:1: ( ( 'scope' ) ) + // InternalSolverLanguage.g:7241:1: ( 'scope' ) { - before(grammarAccess.getClosureTypeAccess().getIrreflexiveClosureAction_1_0()); - // InternalSolverLanguage.g:4024:2: () - // InternalSolverLanguage.g:4024:3: + // InternalSolverLanguage.g:7241:1: ( 'scope' ) + // InternalSolverLanguage.g:7242:2: 'scope' { + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); + } + match(input,71,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); } - - after(grammarAccess.getClosureTypeAccess().getIrreflexiveClosureAction_1_0()); } @@ -12558,6 +24046,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -12565,24 +24057,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClosureType__Group_1__0__Impl" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group__0__Impl" - // $ANTLR start "rule__ClosureType__Group_1__1" - // InternalSolverLanguage.g:4032:1: rule__ClosureType__Group_1__1 : rule__ClosureType__Group_1__1__Impl ; - public final void rule__ClosureType__Group_1__1() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__1" + // InternalSolverLanguage.g:7251:1: rule__LowerBoundedScopeDefinition__Group__1 : rule__LowerBoundedScopeDefinition__Group__1__Impl rule__LowerBoundedScopeDefinition__Group__2 ; + public final void rule__LowerBoundedScopeDefinition__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4036:1: ( rule__ClosureType__Group_1__1__Impl ) - // InternalSolverLanguage.g:4037:2: rule__ClosureType__Group_1__1__Impl + // InternalSolverLanguage.g:7255:1: ( rule__LowerBoundedScopeDefinition__Group__1__Impl rule__LowerBoundedScopeDefinition__Group__2 ) + // InternalSolverLanguage.g:7256:2: rule__LowerBoundedScopeDefinition__Group__1__Impl rule__LowerBoundedScopeDefinition__Group__2 { - pushFollow(FOLLOW_2); - rule__ClosureType__Group_1__1__Impl(); + pushFollow(FOLLOW_13); + rule__LowerBoundedScopeDefinition__Group__1__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__LowerBoundedScopeDefinition__Group__2(); + state._fsp--; + if (state.failed) return ; } @@ -12598,25 +24095,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClosureType__Group_1__1" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group__1" - // $ANTLR start "rule__ClosureType__Group_1__1__Impl" - // InternalSolverLanguage.g:4043:1: rule__ClosureType__Group_1__1__Impl : ( '+' ) ; - public final void rule__ClosureType__Group_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__1__Impl" + // InternalSolverLanguage.g:7263:1: rule__LowerBoundedScopeDefinition__Group__1__Impl : ( ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) ) ; + public final void rule__LowerBoundedScopeDefinition__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4047:1: ( ( '+' ) ) - // InternalSolverLanguage.g:4048:1: ( '+' ) + // InternalSolverLanguage.g:7267:1: ( ( ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) ) ) + // InternalSolverLanguage.g:7268:1: ( ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) ) { - // InternalSolverLanguage.g:4048:1: ( '+' ) - // InternalSolverLanguage.g:4049:2: '+' + // InternalSolverLanguage.g:7268:1: ( ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) ) + // InternalSolverLanguage.g:7269:2: ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getAlternatives_1()); + } + // InternalSolverLanguage.g:7270:2: ( rule__LowerBoundedScopeDefinition__Alternatives_1 ) + // InternalSolverLanguage.g:7270:3: rule__LowerBoundedScopeDefinition__Alternatives_1 { - before(grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1()); - match(input,30,FOLLOW_2); - after(grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1()); + pushFollow(FOLLOW_2); + rule__LowerBoundedScopeDefinition__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getAlternatives_1()); + } } @@ -12635,29 +24146,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClosureType__Group_1__1__Impl" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group__1__Impl" - // $ANTLR start "rule__AllInstances__Group__0" - // InternalSolverLanguage.g:4059:1: rule__AllInstances__Group__0 : rule__AllInstances__Group__0__Impl rule__AllInstances__Group__1 ; - public final void rule__AllInstances__Group__0() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__2" + // InternalSolverLanguage.g:7278:1: rule__LowerBoundedScopeDefinition__Group__2 : rule__LowerBoundedScopeDefinition__Group__2__Impl ; + public final void rule__LowerBoundedScopeDefinition__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4063:1: ( rule__AllInstances__Group__0__Impl rule__AllInstances__Group__1 ) - // InternalSolverLanguage.g:4064:2: rule__AllInstances__Group__0__Impl rule__AllInstances__Group__1 + // InternalSolverLanguage.g:7282:1: ( rule__LowerBoundedScopeDefinition__Group__2__Impl ) + // InternalSolverLanguage.g:7283:2: rule__LowerBoundedScopeDefinition__Group__2__Impl { - pushFollow(FOLLOW_26); - rule__AllInstances__Group__0__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__AllInstances__Group__1(); + rule__LowerBoundedScopeDefinition__Group__2__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -12673,25 +24179,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__AllInstances__Group__0" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group__2" - // $ANTLR start "rule__AllInstances__Group__0__Impl" - // InternalSolverLanguage.g:4071:1: rule__AllInstances__Group__0__Impl : ( ':' ) ; - public final void rule__AllInstances__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group__2__Impl" + // InternalSolverLanguage.g:7289:1: rule__LowerBoundedScopeDefinition__Group__2__Impl : ( '.' ) ; + public final void rule__LowerBoundedScopeDefinition__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4075:1: ( ( ':' ) ) - // InternalSolverLanguage.g:4076:1: ( ':' ) + // InternalSolverLanguage.g:7293:1: ( ( '.' ) ) + // InternalSolverLanguage.g:7294:1: ( '.' ) { - // InternalSolverLanguage.g:4076:1: ( ':' ) - // InternalSolverLanguage.g:4077:2: ':' + // InternalSolverLanguage.g:7294:1: ( '.' ) + // InternalSolverLanguage.g:7295:2: '.' { - before(grammarAccess.getAllInstancesAccess().getColonKeyword_0()); - match(input,17,FOLLOW_2); - after(grammarAccess.getAllInstancesAccess().getColonKeyword_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getFullStopKeyword_2()); + } + match(input,50,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getFullStopKeyword_2()); + } } @@ -12710,24 +24220,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__AllInstances__Group__0__Impl" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group__2__Impl" - // $ANTLR start "rule__AllInstances__Group__1" - // InternalSolverLanguage.g:4086:1: rule__AllInstances__Group__1 : rule__AllInstances__Group__1__Impl ; - public final void rule__AllInstances__Group__1() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__0" + // InternalSolverLanguage.g:7305:1: rule__LowerBoundedScopeDefinition__Group_1_0__0 : rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl rule__LowerBoundedScopeDefinition__Group_1_0__1 ; + public final void rule__LowerBoundedScopeDefinition__Group_1_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4090:1: ( rule__AllInstances__Group__1__Impl ) - // InternalSolverLanguage.g:4091:2: rule__AllInstances__Group__1__Impl + // InternalSolverLanguage.g:7309:1: ( rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl rule__LowerBoundedScopeDefinition__Group_1_0__1 ) + // InternalSolverLanguage.g:7310:2: rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl rule__LowerBoundedScopeDefinition__Group_1_0__1 { - pushFollow(FOLLOW_2); - rule__AllInstances__Group__1__Impl(); + pushFollow(FOLLOW_56); + rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__LowerBoundedScopeDefinition__Group_1_0__1(); + state._fsp--; + if (state.failed) return ; } @@ -12743,35 +24258,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__AllInstances__Group__1" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_0__0" - // $ANTLR start "rule__AllInstances__Group__1__Impl" - // InternalSolverLanguage.g:4097:1: rule__AllInstances__Group__1__Impl : ( ( rule__AllInstances__SymbolAssignment_1 ) ) ; - public final void rule__AllInstances__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl" + // InternalSolverLanguage.g:7317:1: rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl : ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) ) ; + public final void rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4101:1: ( ( ( rule__AllInstances__SymbolAssignment_1 ) ) ) - // InternalSolverLanguage.g:4102:1: ( ( rule__AllInstances__SymbolAssignment_1 ) ) + // InternalSolverLanguage.g:7321:1: ( ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) ) ) + // InternalSolverLanguage.g:7322:1: ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) ) { - // InternalSolverLanguage.g:4102:1: ( ( rule__AllInstances__SymbolAssignment_1 ) ) - // InternalSolverLanguage.g:4103:2: ( rule__AllInstances__SymbolAssignment_1 ) + // InternalSolverLanguage.g:7322:1: ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) ) + // InternalSolverLanguage.g:7323:2: ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) { - before(grammarAccess.getAllInstancesAccess().getSymbolAssignment_1()); - // InternalSolverLanguage.g:4104:2: ( rule__AllInstances__SymbolAssignment_1 ) - // InternalSolverLanguage.g:4104:3: rule__AllInstances__SymbolAssignment_1 + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0()); + } + // InternalSolverLanguage.g:7324:2: ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 ) + // InternalSolverLanguage.g:7324:3: rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 { pushFollow(FOLLOW_2); - rule__AllInstances__SymbolAssignment_1(); + rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getAllInstancesAccess().getSymbolAssignment_1()); + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_0_0()); + } } @@ -12790,29 +24309,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__AllInstances__Group__1__Impl" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_0__0__Impl" - // $ANTLR start "rule__AllObjects__Group__0" - // InternalSolverLanguage.g:4113:1: rule__AllObjects__Group__0 : rule__AllObjects__Group__0__Impl rule__AllObjects__Group__1 ; - public final void rule__AllObjects__Group__0() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__1" + // InternalSolverLanguage.g:7332:1: rule__LowerBoundedScopeDefinition__Group_1_0__1 : rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl rule__LowerBoundedScopeDefinition__Group_1_0__2 ; + public final void rule__LowerBoundedScopeDefinition__Group_1_0__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4117:1: ( rule__AllObjects__Group__0__Impl rule__AllObjects__Group__1 ) - // InternalSolverLanguage.g:4118:2: rule__AllObjects__Group__0__Impl rule__AllObjects__Group__1 + // InternalSolverLanguage.g:7336:1: ( rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl rule__LowerBoundedScopeDefinition__Group_1_0__2 ) + // InternalSolverLanguage.g:7337:2: rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl rule__LowerBoundedScopeDefinition__Group_1_0__2 { - pushFollow(FOLLOW_16); - rule__AllObjects__Group__0__Impl(); + pushFollow(FOLLOW_9); + rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__AllObjects__Group__1(); + rule__LowerBoundedScopeDefinition__Group_1_0__2(); state._fsp--; - + if (state.failed) return ; } @@ -12828,29 +24347,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__AllObjects__Group__0" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_0__1" - // $ANTLR start "rule__AllObjects__Group__0__Impl" - // InternalSolverLanguage.g:4125:1: rule__AllObjects__Group__0__Impl : ( () ) ; - public final void rule__AllObjects__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl" + // InternalSolverLanguage.g:7344:1: rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl : ( '<=' ) ; + public final void rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4129:1: ( ( () ) ) - // InternalSolverLanguage.g:4130:1: ( () ) - { - // InternalSolverLanguage.g:4130:1: ( () ) - // InternalSolverLanguage.g:4131:2: () + // InternalSolverLanguage.g:7348:1: ( ( '<=' ) ) + // InternalSolverLanguage.g:7349:1: ( '<=' ) { - before(grammarAccess.getAllObjectsAccess().getAllObjectsAction_0()); - // InternalSolverLanguage.g:4132:2: () - // InternalSolverLanguage.g:4132:3: + // InternalSolverLanguage.g:7349:1: ( '<=' ) + // InternalSolverLanguage.g:7350:2: '<=' { + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); + } + match(input,22,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); } - - after(grammarAccess.getAllObjectsAccess().getAllObjectsAction_0()); } @@ -12858,6 +24377,10 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -12865,24 +24388,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__AllObjects__Group__0__Impl" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_0__1__Impl" - // $ANTLR start "rule__AllObjects__Group__1" - // InternalSolverLanguage.g:4140:1: rule__AllObjects__Group__1 : rule__AllObjects__Group__1__Impl ; - public final void rule__AllObjects__Group__1() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__2" + // InternalSolverLanguage.g:7359:1: rule__LowerBoundedScopeDefinition__Group_1_0__2 : rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl ; + public final void rule__LowerBoundedScopeDefinition__Group_1_0__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4144:1: ( rule__AllObjects__Group__1__Impl ) - // InternalSolverLanguage.g:4145:2: rule__AllObjects__Group__1__Impl + // InternalSolverLanguage.g:7363:1: ( rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl ) + // InternalSolverLanguage.g:7364:2: rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl { pushFollow(FOLLOW_2); - rule__AllObjects__Group__1__Impl(); + rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -12898,25 +24421,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__AllObjects__Group__1" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_0__2" - // $ANTLR start "rule__AllObjects__Group__1__Impl" - // InternalSolverLanguage.g:4151:1: rule__AllObjects__Group__1__Impl : ( '*' ) ; - public final void rule__AllObjects__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl" + // InternalSolverLanguage.g:7370:1: rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl : ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) ) ; + public final void rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4155:1: ( ( '*' ) ) - // InternalSolverLanguage.g:4156:1: ( '*' ) + // InternalSolverLanguage.g:7374:1: ( ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) ) ) + // InternalSolverLanguage.g:7375:1: ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) ) + { + // InternalSolverLanguage.g:7375:1: ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) ) + // InternalSolverLanguage.g:7376:2: ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) { - // InternalSolverLanguage.g:4156:1: ( '*' ) - // InternalSolverLanguage.g:4157:2: '*' + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_0_2()); + } + // InternalSolverLanguage.g:7377:2: ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 ) + // InternalSolverLanguage.g:7377:3: rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 { - before(grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1()); - match(input,31,FOLLOW_2); - after(grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1()); + pushFollow(FOLLOW_2); + rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_0_2()); + } } @@ -12935,29 +24472,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__AllObjects__Group__1__Impl" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_0__2__Impl" - // $ANTLR start "rule__DefaultInterpretation__Group__0" - // InternalSolverLanguage.g:4167:1: rule__DefaultInterpretation__Group__0 : rule__DefaultInterpretation__Group__0__Impl rule__DefaultInterpretation__Group__1 ; - public final void rule__DefaultInterpretation__Group__0() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__0" + // InternalSolverLanguage.g:7386:1: rule__LowerBoundedScopeDefinition__Group_1_1__0 : rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl rule__LowerBoundedScopeDefinition__Group_1_1__1 ; + public final void rule__LowerBoundedScopeDefinition__Group_1_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4171:1: ( rule__DefaultInterpretation__Group__0__Impl rule__DefaultInterpretation__Group__1 ) - // InternalSolverLanguage.g:4172:2: rule__DefaultInterpretation__Group__0__Impl rule__DefaultInterpretation__Group__1 + // InternalSolverLanguage.g:7390:1: ( rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl rule__LowerBoundedScopeDefinition__Group_1_1__1 ) + // InternalSolverLanguage.g:7391:2: rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl rule__LowerBoundedScopeDefinition__Group_1_1__1 { - pushFollow(FOLLOW_26); - rule__DefaultInterpretation__Group__0__Impl(); + pushFollow(FOLLOW_57); + rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__DefaultInterpretation__Group__1(); + rule__LowerBoundedScopeDefinition__Group_1_1__1(); state._fsp--; - + if (state.failed) return ; } @@ -12973,25 +24510,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__DefaultInterpretation__Group__0" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_1__0" - // $ANTLR start "rule__DefaultInterpretation__Group__0__Impl" - // InternalSolverLanguage.g:4179:1: rule__DefaultInterpretation__Group__0__Impl : ( 'default' ) ; - public final void rule__DefaultInterpretation__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl" + // InternalSolverLanguage.g:7398:1: rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl : ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) ) ; + public final void rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4183:1: ( ( 'default' ) ) - // InternalSolverLanguage.g:4184:1: ( 'default' ) + // InternalSolverLanguage.g:7402:1: ( ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) ) ) + // InternalSolverLanguage.g:7403:1: ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) ) { - // InternalSolverLanguage.g:4184:1: ( 'default' ) - // InternalSolverLanguage.g:4185:2: 'default' + // InternalSolverLanguage.g:7403:1: ( ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) ) + // InternalSolverLanguage.g:7404:2: ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_1_0()); + } + // InternalSolverLanguage.g:7405:2: ( rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 ) + // InternalSolverLanguage.g:7405:3: rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 { - before(grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0()); - match(input,32,FOLLOW_2); - after(grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0()); + pushFollow(FOLLOW_2); + rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeAssignment_1_1_0()); + } } @@ -13010,24 +24561,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__DefaultInterpretation__Group__0__Impl" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_1__0__Impl" - // $ANTLR start "rule__DefaultInterpretation__Group__1" - // InternalSolverLanguage.g:4194:1: rule__DefaultInterpretation__Group__1 : rule__DefaultInterpretation__Group__1__Impl ; - public final void rule__DefaultInterpretation__Group__1() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__1" + // InternalSolverLanguage.g:7413:1: rule__LowerBoundedScopeDefinition__Group_1_1__1 : rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl rule__LowerBoundedScopeDefinition__Group_1_1__2 ; + public final void rule__LowerBoundedScopeDefinition__Group_1_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4198:1: ( rule__DefaultInterpretation__Group__1__Impl ) - // InternalSolverLanguage.g:4199:2: rule__DefaultInterpretation__Group__1__Impl + // InternalSolverLanguage.g:7417:1: ( rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl rule__LowerBoundedScopeDefinition__Group_1_1__2 ) + // InternalSolverLanguage.g:7418:2: rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl rule__LowerBoundedScopeDefinition__Group_1_1__2 { - pushFollow(FOLLOW_2); - rule__DefaultInterpretation__Group__1__Impl(); + pushFollow(FOLLOW_53); + rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl(); state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__LowerBoundedScopeDefinition__Group_1_1__2(); + state._fsp--; + if (state.failed) return ; } @@ -13043,35 +24599,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__DefaultInterpretation__Group__1" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_1__1" - // $ANTLR start "rule__DefaultInterpretation__Group__1__Impl" - // InternalSolverLanguage.g:4205:1: rule__DefaultInterpretation__Group__1__Impl : ( ( rule__DefaultInterpretation__InterpretationAssignment_1 ) ) ; - public final void rule__DefaultInterpretation__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl" + // InternalSolverLanguage.g:7425:1: rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl : ( '>=' ) ; + public final void rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4209:1: ( ( ( rule__DefaultInterpretation__InterpretationAssignment_1 ) ) ) - // InternalSolverLanguage.g:4210:1: ( ( rule__DefaultInterpretation__InterpretationAssignment_1 ) ) + // InternalSolverLanguage.g:7429:1: ( ( '>=' ) ) + // InternalSolverLanguage.g:7430:1: ( '>=' ) { - // InternalSolverLanguage.g:4210:1: ( ( rule__DefaultInterpretation__InterpretationAssignment_1 ) ) - // InternalSolverLanguage.g:4211:2: ( rule__DefaultInterpretation__InterpretationAssignment_1 ) + // InternalSolverLanguage.g:7430:1: ( '>=' ) + // InternalSolverLanguage.g:7431:2: '>=' { - before(grammarAccess.getDefaultInterpretationAccess().getInterpretationAssignment_1()); - // InternalSolverLanguage.g:4212:2: ( rule__DefaultInterpretation__InterpretationAssignment_1 ) - // InternalSolverLanguage.g:4212:3: rule__DefaultInterpretation__InterpretationAssignment_1 - { - pushFollow(FOLLOW_2); - rule__DefaultInterpretation__InterpretationAssignment_1(); - - state._fsp--; - - + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); + } + match(input,24,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); } - - after(grammarAccess.getDefaultInterpretationAccess().getInterpretationAssignment_1()); } @@ -13090,29 +24640,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__DefaultInterpretation__Group__1__Impl" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_1__1__Impl" - // $ANTLR start "rule__ClassInterpretation__Group__0" - // InternalSolverLanguage.g:4221:1: rule__ClassInterpretation__Group__0 : rule__ClassInterpretation__Group__0__Impl rule__ClassInterpretation__Group__1 ; - public final void rule__ClassInterpretation__Group__0() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__2" + // InternalSolverLanguage.g:7440:1: rule__LowerBoundedScopeDefinition__Group_1_1__2 : rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl ; + public final void rule__LowerBoundedScopeDefinition__Group_1_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4225:1: ( rule__ClassInterpretation__Group__0__Impl rule__ClassInterpretation__Group__1 ) - // InternalSolverLanguage.g:4226:2: rule__ClassInterpretation__Group__0__Impl rule__ClassInterpretation__Group__1 + // InternalSolverLanguage.g:7444:1: ( rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl ) + // InternalSolverLanguage.g:7445:2: rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl { - pushFollow(FOLLOW_35); - rule__ClassInterpretation__Group__0__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__ClassInterpretation__Group__1(); + rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -13128,46 +24673,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group__0" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_1__2" - // $ANTLR start "rule__ClassInterpretation__Group__0__Impl" - // InternalSolverLanguage.g:4233:1: rule__ClassInterpretation__Group__0__Impl : ( ( rule__ClassInterpretation__AbstractAssignment_0 )? ) ; - public final void rule__ClassInterpretation__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl" + // InternalSolverLanguage.g:7451:1: rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl : ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) ) ; + public final void rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4237:1: ( ( ( rule__ClassInterpretation__AbstractAssignment_0 )? ) ) - // InternalSolverLanguage.g:4238:1: ( ( rule__ClassInterpretation__AbstractAssignment_0 )? ) + // InternalSolverLanguage.g:7455:1: ( ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) ) ) + // InternalSolverLanguage.g:7456:1: ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) ) { - // InternalSolverLanguage.g:4238:1: ( ( rule__ClassInterpretation__AbstractAssignment_0 )? ) - // InternalSolverLanguage.g:4239:2: ( rule__ClassInterpretation__AbstractAssignment_0 )? + // InternalSolverLanguage.g:7456:1: ( ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) ) + // InternalSolverLanguage.g:7457:2: ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) { - before(grammarAccess.getClassInterpretationAccess().getAbstractAssignment_0()); - // InternalSolverLanguage.g:4240:2: ( rule__ClassInterpretation__AbstractAssignment_0 )? - int alt38=2; - int LA38_0 = input.LA(1); - - if ( (LA38_0==40) ) { - alt38=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_2()); } - switch (alt38) { - case 1 : - // InternalSolverLanguage.g:4240:3: rule__ClassInterpretation__AbstractAssignment_0 - { - pushFollow(FOLLOW_2); - rule__ClassInterpretation__AbstractAssignment_0(); - - state._fsp--; - + // InternalSolverLanguage.g:7458:2: ( rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 ) + // InternalSolverLanguage.g:7458:3: rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 + { + pushFollow(FOLLOW_2); + rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2(); - } - break; + state._fsp--; + if (state.failed) return ; } - after(grammarAccess.getClassInterpretationAccess().getAbstractAssignment_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundAssignment_1_1_2()); + } } @@ -13186,29 +24724,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group__0__Impl" + // $ANTLR end "rule__LowerBoundedScopeDefinition__Group_1_1__2__Impl" - // $ANTLR start "rule__ClassInterpretation__Group__1" - // InternalSolverLanguage.g:4248:1: rule__ClassInterpretation__Group__1 : rule__ClassInterpretation__Group__1__Impl rule__ClassInterpretation__Group__2 ; - public final void rule__ClassInterpretation__Group__1() throws RecognitionException { + // $ANTLR start "rule__ObjectiveDefinition__Group__0" + // InternalSolverLanguage.g:7467:1: rule__ObjectiveDefinition__Group__0 : rule__ObjectiveDefinition__Group__0__Impl rule__ObjectiveDefinition__Group__1 ; + public final void rule__ObjectiveDefinition__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4252:1: ( rule__ClassInterpretation__Group__1__Impl rule__ClassInterpretation__Group__2 ) - // InternalSolverLanguage.g:4253:2: rule__ClassInterpretation__Group__1__Impl rule__ClassInterpretation__Group__2 + // InternalSolverLanguage.g:7471:1: ( rule__ObjectiveDefinition__Group__0__Impl rule__ObjectiveDefinition__Group__1 ) + // InternalSolverLanguage.g:7472:2: rule__ObjectiveDefinition__Group__0__Impl rule__ObjectiveDefinition__Group__1 { - pushFollow(FOLLOW_17); - rule__ClassInterpretation__Group__1__Impl(); + pushFollow(FOLLOW_7); + rule__ObjectiveDefinition__Group__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ClassInterpretation__Group__2(); + rule__ObjectiveDefinition__Group__1(); state._fsp--; - + if (state.failed) return ; } @@ -13224,25 +24762,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group__1" + // $ANTLR end "rule__ObjectiveDefinition__Group__0" - // $ANTLR start "rule__ClassInterpretation__Group__1__Impl" - // InternalSolverLanguage.g:4260:1: rule__ClassInterpretation__Group__1__Impl : ( 'class' ) ; - public final void rule__ClassInterpretation__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ObjectiveDefinition__Group__0__Impl" + // InternalSolverLanguage.g:7479:1: rule__ObjectiveDefinition__Group__0__Impl : ( ( rule__ObjectiveDefinition__KindAssignment_0 ) ) ; + public final void rule__ObjectiveDefinition__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4264:1: ( ( 'class' ) ) - // InternalSolverLanguage.g:4265:1: ( 'class' ) + // InternalSolverLanguage.g:7483:1: ( ( ( rule__ObjectiveDefinition__KindAssignment_0 ) ) ) + // InternalSolverLanguage.g:7484:1: ( ( rule__ObjectiveDefinition__KindAssignment_0 ) ) { - // InternalSolverLanguage.g:4265:1: ( 'class' ) - // InternalSolverLanguage.g:4266:2: 'class' + // InternalSolverLanguage.g:7484:1: ( ( rule__ObjectiveDefinition__KindAssignment_0 ) ) + // InternalSolverLanguage.g:7485:2: ( rule__ObjectiveDefinition__KindAssignment_0 ) { - before(grammarAccess.getClassInterpretationAccess().getClassKeyword_1()); - match(input,33,FOLLOW_2); - after(grammarAccess.getClassInterpretationAccess().getClassKeyword_1()); + if ( state.backtracking==0 ) { + before(grammarAccess.getObjectiveDefinitionAccess().getKindAssignment_0()); + } + // InternalSolverLanguage.g:7486:2: ( rule__ObjectiveDefinition__KindAssignment_0 ) + // InternalSolverLanguage.g:7486:3: rule__ObjectiveDefinition__KindAssignment_0 + { + pushFollow(FOLLOW_2); + rule__ObjectiveDefinition__KindAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObjectiveDefinitionAccess().getKindAssignment_0()); + } } @@ -13261,29 +24813,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group__1__Impl" + // $ANTLR end "rule__ObjectiveDefinition__Group__0__Impl" - // $ANTLR start "rule__ClassInterpretation__Group__2" - // InternalSolverLanguage.g:4275:1: rule__ClassInterpretation__Group__2 : rule__ClassInterpretation__Group__2__Impl rule__ClassInterpretation__Group__3 ; - public final void rule__ClassInterpretation__Group__2() throws RecognitionException { + // $ANTLR start "rule__ObjectiveDefinition__Group__1" + // InternalSolverLanguage.g:7494:1: rule__ObjectiveDefinition__Group__1 : rule__ObjectiveDefinition__Group__1__Impl ; + public final void rule__ObjectiveDefinition__Group__1() throws RecognitionException { int stackSize = keepStackSize(); - - try { - // InternalSolverLanguage.g:4279:1: ( rule__ClassInterpretation__Group__2__Impl rule__ClassInterpretation__Group__3 ) - // InternalSolverLanguage.g:4280:2: rule__ClassInterpretation__Group__2__Impl rule__ClassInterpretation__Group__3 - { - pushFollow(FOLLOW_36); - rule__ClassInterpretation__Group__2__Impl(); - - state._fsp--; - + + try { + // InternalSolverLanguage.g:7498:1: ( rule__ObjectiveDefinition__Group__1__Impl ) + // InternalSolverLanguage.g:7499:2: rule__ObjectiveDefinition__Group__1__Impl + { pushFollow(FOLLOW_2); - rule__ClassInterpretation__Group__3(); + rule__ObjectiveDefinition__Group__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -13299,35 +24846,39 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group__2" + // $ANTLR end "rule__ObjectiveDefinition__Group__1" - // $ANTLR start "rule__ClassInterpretation__Group__2__Impl" - // InternalSolverLanguage.g:4287:1: rule__ClassInterpretation__Group__2__Impl : ( ( rule__ClassInterpretation__SymbolAssignment_2 ) ) ; - public final void rule__ClassInterpretation__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ObjectiveDefinition__Group__1__Impl" + // InternalSolverLanguage.g:7505:1: rule__ObjectiveDefinition__Group__1__Impl : ( ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) ) ; + public final void rule__ObjectiveDefinition__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4291:1: ( ( ( rule__ClassInterpretation__SymbolAssignment_2 ) ) ) - // InternalSolverLanguage.g:4292:1: ( ( rule__ClassInterpretation__SymbolAssignment_2 ) ) + // InternalSolverLanguage.g:7509:1: ( ( ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) ) ) + // InternalSolverLanguage.g:7510:1: ( ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) ) { - // InternalSolverLanguage.g:4292:1: ( ( rule__ClassInterpretation__SymbolAssignment_2 ) ) - // InternalSolverLanguage.g:4293:2: ( rule__ClassInterpretation__SymbolAssignment_2 ) + // InternalSolverLanguage.g:7510:1: ( ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) ) + // InternalSolverLanguage.g:7511:2: ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) { - before(grammarAccess.getClassInterpretationAccess().getSymbolAssignment_2()); - // InternalSolverLanguage.g:4294:2: ( rule__ClassInterpretation__SymbolAssignment_2 ) - // InternalSolverLanguage.g:4294:3: rule__ClassInterpretation__SymbolAssignment_2 + if ( state.backtracking==0 ) { + before(grammarAccess.getObjectiveDefinitionAccess().getObjectiveAssignment_1()); + } + // InternalSolverLanguage.g:7512:2: ( rule__ObjectiveDefinition__ObjectiveAssignment_1 ) + // InternalSolverLanguage.g:7512:3: rule__ObjectiveDefinition__ObjectiveAssignment_1 { pushFollow(FOLLOW_2); - rule__ClassInterpretation__SymbolAssignment_2(); + rule__ObjectiveDefinition__ObjectiveAssignment_1(); state._fsp--; - + if (state.failed) return ; } - after(grammarAccess.getClassInterpretationAccess().getSymbolAssignment_2()); + if ( state.backtracking==0 ) { + after(grammarAccess.getObjectiveDefinitionAccess().getObjectiveAssignment_1()); + } } @@ -13346,29 +24897,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group__2__Impl" + // $ANTLR end "rule__ObjectiveDefinition__Group__1__Impl" - // $ANTLR start "rule__ClassInterpretation__Group__3" - // InternalSolverLanguage.g:4302:1: rule__ClassInterpretation__Group__3 : rule__ClassInterpretation__Group__3__Impl rule__ClassInterpretation__Group__4 ; - public final void rule__ClassInterpretation__Group__3() throws RecognitionException { + // $ANTLR start "rule__Real__Group__0" + // InternalSolverLanguage.g:7521:1: rule__Real__Group__0 : rule__Real__Group__0__Impl rule__Real__Group__1 ; + public final void rule__Real__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4306:1: ( rule__ClassInterpretation__Group__3__Impl rule__ClassInterpretation__Group__4 ) - // InternalSolverLanguage.g:4307:2: rule__ClassInterpretation__Group__3__Impl rule__ClassInterpretation__Group__4 + // InternalSolverLanguage.g:7525:1: ( rule__Real__Group__0__Impl rule__Real__Group__1 ) + // InternalSolverLanguage.g:7526:2: rule__Real__Group__0__Impl rule__Real__Group__1 { - pushFollow(FOLLOW_36); - rule__ClassInterpretation__Group__3__Impl(); + pushFollow(FOLLOW_13); + rule__Real__Group__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ClassInterpretation__Group__4(); + rule__Real__Group__1(); state._fsp--; - + if (state.failed) return ; } @@ -13384,47 +24935,30 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group__3" + // $ANTLR end "rule__Real__Group__0" - // $ANTLR start "rule__ClassInterpretation__Group__3__Impl" - // InternalSolverLanguage.g:4314:1: rule__ClassInterpretation__Group__3__Impl : ( ( rule__ClassInterpretation__Group_3__0 )? ) ; - public final void rule__ClassInterpretation__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__Real__Group__0__Impl" + // InternalSolverLanguage.g:7533:1: rule__Real__Group__0__Impl : ( RULE_INT ) ; + public final void rule__Real__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4318:1: ( ( ( rule__ClassInterpretation__Group_3__0 )? ) ) - // InternalSolverLanguage.g:4319:1: ( ( rule__ClassInterpretation__Group_3__0 )? ) + // InternalSolverLanguage.g:7537:1: ( ( RULE_INT ) ) + // InternalSolverLanguage.g:7538:1: ( RULE_INT ) { - // InternalSolverLanguage.g:4319:1: ( ( rule__ClassInterpretation__Group_3__0 )? ) - // InternalSolverLanguage.g:4320:2: ( rule__ClassInterpretation__Group_3__0 )? + // InternalSolverLanguage.g:7538:1: ( RULE_INT ) + // InternalSolverLanguage.g:7539:2: RULE_INT { - before(grammarAccess.getClassInterpretationAccess().getGroup_3()); - // InternalSolverLanguage.g:4321:2: ( rule__ClassInterpretation__Group_3__0 )? - int alt39=2; - int LA39_0 = input.LA(1); - - if ( (LA39_0==36) ) { - alt39=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); } - switch (alt39) { - case 1 : - // InternalSolverLanguage.g:4321:3: rule__ClassInterpretation__Group_3__0 - { - pushFollow(FOLLOW_2); - rule__ClassInterpretation__Group_3__0(); - - state._fsp--; - - - } - break; - + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); } - after(grammarAccess.getClassInterpretationAccess().getGroup_3()); - } @@ -13442,29 +24976,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group__3__Impl" + // $ANTLR end "rule__Real__Group__0__Impl" - // $ANTLR start "rule__ClassInterpretation__Group__4" - // InternalSolverLanguage.g:4329:1: rule__ClassInterpretation__Group__4 : rule__ClassInterpretation__Group__4__Impl rule__ClassInterpretation__Group__5 ; - public final void rule__ClassInterpretation__Group__4() throws RecognitionException { + // $ANTLR start "rule__Real__Group__1" + // InternalSolverLanguage.g:7548:1: rule__Real__Group__1 : rule__Real__Group__1__Impl ; + public final void rule__Real__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4333:1: ( rule__ClassInterpretation__Group__4__Impl rule__ClassInterpretation__Group__5 ) - // InternalSolverLanguage.g:4334:2: rule__ClassInterpretation__Group__4__Impl rule__ClassInterpretation__Group__5 + // InternalSolverLanguage.g:7552:1: ( rule__Real__Group__1__Impl ) + // InternalSolverLanguage.g:7553:2: rule__Real__Group__1__Impl { - pushFollow(FOLLOW_37); - rule__ClassInterpretation__Group__4__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__ClassInterpretation__Group__5(); + rule__Real__Group__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -13480,25 +25009,50 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group__4" + // $ANTLR end "rule__Real__Group__1" - // $ANTLR start "rule__ClassInterpretation__Group__4__Impl" - // InternalSolverLanguage.g:4341:1: rule__ClassInterpretation__Group__4__Impl : ( '{' ) ; - public final void rule__ClassInterpretation__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__Real__Group__1__Impl" + // InternalSolverLanguage.g:7559:1: rule__Real__Group__1__Impl : ( ( rule__Real__Group_1__0 )? ) ; + public final void rule__Real__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4345:1: ( ( '{' ) ) - // InternalSolverLanguage.g:4346:1: ( '{' ) + // InternalSolverLanguage.g:7563:1: ( ( ( rule__Real__Group_1__0 )? ) ) + // InternalSolverLanguage.g:7564:1: ( ( rule__Real__Group_1__0 )? ) { - // InternalSolverLanguage.g:4346:1: ( '{' ) - // InternalSolverLanguage.g:4347:2: '{' + // InternalSolverLanguage.g:7564:1: ( ( rule__Real__Group_1__0 )? ) + // InternalSolverLanguage.g:7565:2: ( rule__Real__Group_1__0 )? { - before(grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4()); - match(input,34,FOLLOW_2); - after(grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4()); + if ( state.backtracking==0 ) { + before(grammarAccess.getRealAccess().getGroup_1()); + } + // InternalSolverLanguage.g:7566:2: ( rule__Real__Group_1__0 )? + int alt53=2; + int LA53_0 = input.LA(1); + + if ( (LA53_0==50) ) { + alt53=1; + } + switch (alt53) { + case 1 : + // InternalSolverLanguage.g:7566:3: rule__Real__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__Real__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRealAccess().getGroup_1()); + } } @@ -13517,29 +25071,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group__4__Impl" + // $ANTLR end "rule__Real__Group__1__Impl" - // $ANTLR start "rule__ClassInterpretation__Group__5" - // InternalSolverLanguage.g:4356:1: rule__ClassInterpretation__Group__5 : rule__ClassInterpretation__Group__5__Impl rule__ClassInterpretation__Group__6 ; - public final void rule__ClassInterpretation__Group__5() throws RecognitionException { + // $ANTLR start "rule__Real__Group_1__0" + // InternalSolverLanguage.g:7575:1: rule__Real__Group_1__0 : rule__Real__Group_1__0__Impl rule__Real__Group_1__1 ; + public final void rule__Real__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4360:1: ( rule__ClassInterpretation__Group__5__Impl rule__ClassInterpretation__Group__6 ) - // InternalSolverLanguage.g:4361:2: rule__ClassInterpretation__Group__5__Impl rule__ClassInterpretation__Group__6 + // InternalSolverLanguage.g:7579:1: ( rule__Real__Group_1__0__Impl rule__Real__Group_1__1 ) + // InternalSolverLanguage.g:7580:2: rule__Real__Group_1__0__Impl rule__Real__Group_1__1 { - pushFollow(FOLLOW_37); - rule__ClassInterpretation__Group__5__Impl(); + pushFollow(FOLLOW_53); + rule__Real__Group_1__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ClassInterpretation__Group__6(); + rule__Real__Group_1__1(); state._fsp--; - + if (state.failed) return ; } @@ -13555,53 +25109,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group__5" + // $ANTLR end "rule__Real__Group_1__0" - // $ANTLR start "rule__ClassInterpretation__Group__5__Impl" - // InternalSolverLanguage.g:4368:1: rule__ClassInterpretation__Group__5__Impl : ( ( rule__ClassInterpretation__FieltAssignment_5 )* ) ; - public final void rule__ClassInterpretation__Group__5__Impl() throws RecognitionException { + // $ANTLR start "rule__Real__Group_1__0__Impl" + // InternalSolverLanguage.g:7587:1: rule__Real__Group_1__0__Impl : ( '.' ) ; + public final void rule__Real__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4372:1: ( ( ( rule__ClassInterpretation__FieltAssignment_5 )* ) ) - // InternalSolverLanguage.g:4373:1: ( ( rule__ClassInterpretation__FieltAssignment_5 )* ) + // InternalSolverLanguage.g:7591:1: ( ( '.' ) ) + // InternalSolverLanguage.g:7592:1: ( '.' ) { - // InternalSolverLanguage.g:4373:1: ( ( rule__ClassInterpretation__FieltAssignment_5 )* ) - // InternalSolverLanguage.g:4374:2: ( rule__ClassInterpretation__FieltAssignment_5 )* + // InternalSolverLanguage.g:7592:1: ( '.' ) + // InternalSolverLanguage.g:7593:2: '.' { - before(grammarAccess.getClassInterpretationAccess().getFieltAssignment_5()); - // InternalSolverLanguage.g:4375:2: ( rule__ClassInterpretation__FieltAssignment_5 )* - loop40: - do { - int alt40=2; - int LA40_0 = input.LA(1); - - if ( (LA40_0==RULE_ID||LA40_0==41) ) { - alt40=1; - } - - - switch (alt40) { - case 1 : - // InternalSolverLanguage.g:4375:3: rule__ClassInterpretation__FieltAssignment_5 - { - pushFollow(FOLLOW_38); - rule__ClassInterpretation__FieltAssignment_5(); - - state._fsp--; - - - } - break; - - default : - break loop40; - } - } while (true); - - after(grammarAccess.getClassInterpretationAccess().getFieltAssignment_5()); + if ( state.backtracking==0 ) { + before(grammarAccess.getRealAccess().getFullStopKeyword_1_0()); + } + match(input,50,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRealAccess().getFullStopKeyword_1_0()); + } } @@ -13620,24 +25150,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group__5__Impl" + // $ANTLR end "rule__Real__Group_1__0__Impl" - // $ANTLR start "rule__ClassInterpretation__Group__6" - // InternalSolverLanguage.g:4383:1: rule__ClassInterpretation__Group__6 : rule__ClassInterpretation__Group__6__Impl ; - public final void rule__ClassInterpretation__Group__6() throws RecognitionException { + // $ANTLR start "rule__Real__Group_1__1" + // InternalSolverLanguage.g:7602:1: rule__Real__Group_1__1 : rule__Real__Group_1__1__Impl ; + public final void rule__Real__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4387:1: ( rule__ClassInterpretation__Group__6__Impl ) - // InternalSolverLanguage.g:4388:2: rule__ClassInterpretation__Group__6__Impl + // InternalSolverLanguage.g:7606:1: ( rule__Real__Group_1__1__Impl ) + // InternalSolverLanguage.g:7607:2: rule__Real__Group_1__1__Impl { pushFollow(FOLLOW_2); - rule__ClassInterpretation__Group__6__Impl(); + rule__Real__Group_1__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -13653,25 +25183,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group__6" + // $ANTLR end "rule__Real__Group_1__1" - // $ANTLR start "rule__ClassInterpretation__Group__6__Impl" - // InternalSolverLanguage.g:4394:1: rule__ClassInterpretation__Group__6__Impl : ( '}' ) ; - public final void rule__ClassInterpretation__Group__6__Impl() throws RecognitionException { + // $ANTLR start "rule__Real__Group_1__1__Impl" + // InternalSolverLanguage.g:7613:1: rule__Real__Group_1__1__Impl : ( RULE_INT ) ; + public final void rule__Real__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4398:1: ( ( '}' ) ) - // InternalSolverLanguage.g:4399:1: ( '}' ) + // InternalSolverLanguage.g:7617:1: ( ( RULE_INT ) ) + // InternalSolverLanguage.g:7618:1: ( RULE_INT ) { - // InternalSolverLanguage.g:4399:1: ( '}' ) - // InternalSolverLanguage.g:4400:2: '}' + // InternalSolverLanguage.g:7618:1: ( RULE_INT ) + // InternalSolverLanguage.g:7619:2: RULE_INT { - before(grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6()); - match(input,35,FOLLOW_2); - after(grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6()); + if ( state.backtracking==0 ) { + before(grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); + } } @@ -13690,29 +25224,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group__6__Impl" + // $ANTLR end "rule__Real__Group_1__1__Impl" - // $ANTLR start "rule__ClassInterpretation__Group_3__0" - // InternalSolverLanguage.g:4410:1: rule__ClassInterpretation__Group_3__0 : rule__ClassInterpretation__Group_3__0__Impl rule__ClassInterpretation__Group_3__1 ; - public final void rule__ClassInterpretation__Group_3__0() throws RecognitionException { + // $ANTLR start "rule__QualifiedName__Group_0__0" + // InternalSolverLanguage.g:7629:1: rule__QualifiedName__Group_0__0 : rule__QualifiedName__Group_0__0__Impl rule__QualifiedName__Group_0__1 ; + public final void rule__QualifiedName__Group_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4414:1: ( rule__ClassInterpretation__Group_3__0__Impl rule__ClassInterpretation__Group_3__1 ) - // InternalSolverLanguage.g:4415:2: rule__ClassInterpretation__Group_3__0__Impl rule__ClassInterpretation__Group_3__1 + // InternalSolverLanguage.g:7633:1: ( rule__QualifiedName__Group_0__0__Impl rule__QualifiedName__Group_0__1 ) + // InternalSolverLanguage.g:7634:2: rule__QualifiedName__Group_0__0__Impl rule__QualifiedName__Group_0__1 { - pushFollow(FOLLOW_17); - rule__ClassInterpretation__Group_3__0__Impl(); + pushFollow(FOLLOW_13); + rule__QualifiedName__Group_0__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ClassInterpretation__Group_3__1(); + rule__QualifiedName__Group_0__1(); state._fsp--; - + if (state.failed) return ; } @@ -13728,25 +25262,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group_3__0" + // $ANTLR end "rule__QualifiedName__Group_0__0" - // $ANTLR start "rule__ClassInterpretation__Group_3__0__Impl" - // InternalSolverLanguage.g:4422:1: rule__ClassInterpretation__Group_3__0__Impl : ( 'extends' ) ; - public final void rule__ClassInterpretation__Group_3__0__Impl() throws RecognitionException { + // $ANTLR start "rule__QualifiedName__Group_0__0__Impl" + // InternalSolverLanguage.g:7641:1: rule__QualifiedName__Group_0__0__Impl : ( RULE_ID ) ; + public final void rule__QualifiedName__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4426:1: ( ( 'extends' ) ) - // InternalSolverLanguage.g:4427:1: ( 'extends' ) + // InternalSolverLanguage.g:7645:1: ( ( RULE_ID ) ) + // InternalSolverLanguage.g:7646:1: ( RULE_ID ) { - // InternalSolverLanguage.g:4427:1: ( 'extends' ) - // InternalSolverLanguage.g:4428:2: 'extends' + // InternalSolverLanguage.g:7646:1: ( RULE_ID ) + // InternalSolverLanguage.g:7647:2: RULE_ID { - before(grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0()); - match(input,36,FOLLOW_2); - after(grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); + } + match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); + } } @@ -13765,24 +25303,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group_3__0__Impl" + // $ANTLR end "rule__QualifiedName__Group_0__0__Impl" - // $ANTLR start "rule__ClassInterpretation__Group_3__1" - // InternalSolverLanguage.g:4437:1: rule__ClassInterpretation__Group_3__1 : rule__ClassInterpretation__Group_3__1__Impl ; - public final void rule__ClassInterpretation__Group_3__1() throws RecognitionException { + // $ANTLR start "rule__QualifiedName__Group_0__1" + // InternalSolverLanguage.g:7656:1: rule__QualifiedName__Group_0__1 : rule__QualifiedName__Group_0__1__Impl ; + public final void rule__QualifiedName__Group_0__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4441:1: ( rule__ClassInterpretation__Group_3__1__Impl ) - // InternalSolverLanguage.g:4442:2: rule__ClassInterpretation__Group_3__1__Impl + // InternalSolverLanguage.g:7660:1: ( rule__QualifiedName__Group_0__1__Impl ) + // InternalSolverLanguage.g:7661:2: rule__QualifiedName__Group_0__1__Impl { pushFollow(FOLLOW_2); - rule__ClassInterpretation__Group_3__1__Impl(); + rule__QualifiedName__Group_0__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -13798,79 +25336,64 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group_3__1" + // $ANTLR end "rule__QualifiedName__Group_0__1" - // $ANTLR start "rule__ClassInterpretation__Group_3__1__Impl" - // InternalSolverLanguage.g:4448:1: rule__ClassInterpretation__Group_3__1__Impl : ( ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 ) ) ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 )* ) ) ; - public final void rule__ClassInterpretation__Group_3__1__Impl() throws RecognitionException { + // $ANTLR start "rule__QualifiedName__Group_0__1__Impl" + // InternalSolverLanguage.g:7667:1: rule__QualifiedName__Group_0__1__Impl : ( ( rule__QualifiedName__Group_0_1__0 )* ) ; + public final void rule__QualifiedName__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4452:1: ( ( ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 ) ) ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 )* ) ) ) - // InternalSolverLanguage.g:4453:1: ( ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 ) ) ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 )* ) ) + // InternalSolverLanguage.g:7671:1: ( ( ( rule__QualifiedName__Group_0_1__0 )* ) ) + // InternalSolverLanguage.g:7672:1: ( ( rule__QualifiedName__Group_0_1__0 )* ) { - // InternalSolverLanguage.g:4453:1: ( ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 ) ) ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 )* ) ) - // InternalSolverLanguage.g:4454:2: ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 ) ) ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 )* ) + // InternalSolverLanguage.g:7672:1: ( ( rule__QualifiedName__Group_0_1__0 )* ) + // InternalSolverLanguage.g:7673:2: ( rule__QualifiedName__Group_0_1__0 )* { - // InternalSolverLanguage.g:4454:2: ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 ) ) - // InternalSolverLanguage.g:4455:3: ( rule__ClassInterpretation__SupertypesAssignment_3_1 ) - { - before(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); - // InternalSolverLanguage.g:4456:3: ( rule__ClassInterpretation__SupertypesAssignment_3_1 ) - // InternalSolverLanguage.g:4456:4: rule__ClassInterpretation__SupertypesAssignment_3_1 - { - pushFollow(FOLLOW_39); - rule__ClassInterpretation__SupertypesAssignment_3_1(); - - state._fsp--; - - + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getGroup_0_1()); } + // InternalSolverLanguage.g:7674:2: ( rule__QualifiedName__Group_0_1__0 )* + loop54: + do { + int alt54=2; + int LA54_0 = input.LA(1); - after(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); + if ( (LA54_0==50) ) { + int LA54_2 = input.LA(2); - } + if ( (LA54_2==RULE_ID) ) { + alt54=1; + } - // InternalSolverLanguage.g:4459:2: ( ( rule__ClassInterpretation__SupertypesAssignment_3_1 )* ) - // InternalSolverLanguage.g:4460:3: ( rule__ClassInterpretation__SupertypesAssignment_3_1 )* - { - before(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); - // InternalSolverLanguage.g:4461:3: ( rule__ClassInterpretation__SupertypesAssignment_3_1 )* - loop41: - do { - int alt41=2; - int LA41_0 = input.LA(1); - if ( (LA41_0==RULE_ID) ) { - alt41=1; } - switch (alt41) { + switch (alt54) { case 1 : - // InternalSolverLanguage.g:4461:4: rule__ClassInterpretation__SupertypesAssignment_3_1 + // InternalSolverLanguage.g:7674:3: rule__QualifiedName__Group_0_1__0 { - pushFollow(FOLLOW_39); - rule__ClassInterpretation__SupertypesAssignment_3_1(); + pushFollow(FOLLOW_58); + rule__QualifiedName__Group_0_1__0(); state._fsp--; - + if (state.failed) return ; } break; default : - break loop41; + break loop54; } } while (true); - after(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); - + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getGroup_0_1()); } - } @@ -13888,29 +25411,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__Group_3__1__Impl" + // $ANTLR end "rule__QualifiedName__Group_0__1__Impl" - // $ANTLR start "rule__EnumInterpretation__Group__0" - // InternalSolverLanguage.g:4471:1: rule__EnumInterpretation__Group__0 : rule__EnumInterpretation__Group__0__Impl rule__EnumInterpretation__Group__1 ; - public final void rule__EnumInterpretation__Group__0() throws RecognitionException { + // $ANTLR start "rule__QualifiedName__Group_0_1__0" + // InternalSolverLanguage.g:7683:1: rule__QualifiedName__Group_0_1__0 : rule__QualifiedName__Group_0_1__0__Impl rule__QualifiedName__Group_0_1__1 ; + public final void rule__QualifiedName__Group_0_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4475:1: ( rule__EnumInterpretation__Group__0__Impl rule__EnumInterpretation__Group__1 ) - // InternalSolverLanguage.g:4476:2: rule__EnumInterpretation__Group__0__Impl rule__EnumInterpretation__Group__1 + // InternalSolverLanguage.g:7687:1: ( rule__QualifiedName__Group_0_1__0__Impl rule__QualifiedName__Group_0_1__1 ) + // InternalSolverLanguage.g:7688:2: rule__QualifiedName__Group_0_1__0__Impl rule__QualifiedName__Group_0_1__1 { - pushFollow(FOLLOW_17); - rule__EnumInterpretation__Group__0__Impl(); + pushFollow(FOLLOW_44); + rule__QualifiedName__Group_0_1__0__Impl(); state._fsp--; - + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__EnumInterpretation__Group__1(); + rule__QualifiedName__Group_0_1__1(); state._fsp--; - + if (state.failed) return ; } @@ -13926,25 +25449,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__EnumInterpretation__Group__0" + // $ANTLR end "rule__QualifiedName__Group_0_1__0" - // $ANTLR start "rule__EnumInterpretation__Group__0__Impl" - // InternalSolverLanguage.g:4483:1: rule__EnumInterpretation__Group__0__Impl : ( 'enum' ) ; - public final void rule__EnumInterpretation__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__QualifiedName__Group_0_1__0__Impl" + // InternalSolverLanguage.g:7695:1: rule__QualifiedName__Group_0_1__0__Impl : ( '.' ) ; + public final void rule__QualifiedName__Group_0_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4487:1: ( ( 'enum' ) ) - // InternalSolverLanguage.g:4488:1: ( 'enum' ) + // InternalSolverLanguage.g:7699:1: ( ( '.' ) ) + // InternalSolverLanguage.g:7700:1: ( '.' ) { - // InternalSolverLanguage.g:4488:1: ( 'enum' ) - // InternalSolverLanguage.g:4489:2: 'enum' + // InternalSolverLanguage.g:7700:1: ( '.' ) + // InternalSolverLanguage.g:7701:2: '.' { - before(grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0()); - match(input,37,FOLLOW_2); - after(grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); + } + match(input,50,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); + } } @@ -13963,29 +25490,24 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__EnumInterpretation__Group__0__Impl" + // $ANTLR end "rule__QualifiedName__Group_0_1__0__Impl" - // $ANTLR start "rule__EnumInterpretation__Group__1" - // InternalSolverLanguage.g:4498:1: rule__EnumInterpretation__Group__1 : rule__EnumInterpretation__Group__1__Impl rule__EnumInterpretation__Group__2 ; - public final void rule__EnumInterpretation__Group__1() throws RecognitionException { + // $ANTLR start "rule__QualifiedName__Group_0_1__1" + // InternalSolverLanguage.g:7710:1: rule__QualifiedName__Group_0_1__1 : rule__QualifiedName__Group_0_1__1__Impl ; + public final void rule__QualifiedName__Group_0_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4502:1: ( rule__EnumInterpretation__Group__1__Impl rule__EnumInterpretation__Group__2 ) - // InternalSolverLanguage.g:4503:2: rule__EnumInterpretation__Group__1__Impl rule__EnumInterpretation__Group__2 + // InternalSolverLanguage.g:7714:1: ( rule__QualifiedName__Group_0_1__1__Impl ) + // InternalSolverLanguage.g:7715:2: rule__QualifiedName__Group_0_1__1__Impl { - pushFollow(FOLLOW_40); - rule__EnumInterpretation__Group__1__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__EnumInterpretation__Group__2(); + rule__QualifiedName__Group_0_1__1__Impl(); state._fsp--; - + if (state.failed) return ; } @@ -14001,35 +25523,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__EnumInterpretation__Group__1" + // $ANTLR end "rule__QualifiedName__Group_0_1__1" - // $ANTLR start "rule__EnumInterpretation__Group__1__Impl" - // InternalSolverLanguage.g:4510:1: rule__EnumInterpretation__Group__1__Impl : ( ( rule__EnumInterpretation__SymbolAssignment_1 ) ) ; - public final void rule__EnumInterpretation__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__QualifiedName__Group_0_1__1__Impl" + // InternalSolverLanguage.g:7721:1: rule__QualifiedName__Group_0_1__1__Impl : ( RULE_ID ) ; + public final void rule__QualifiedName__Group_0_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4514:1: ( ( ( rule__EnumInterpretation__SymbolAssignment_1 ) ) ) - // InternalSolverLanguage.g:4515:1: ( ( rule__EnumInterpretation__SymbolAssignment_1 ) ) + // InternalSolverLanguage.g:7725:1: ( ( RULE_ID ) ) + // InternalSolverLanguage.g:7726:1: ( RULE_ID ) { - // InternalSolverLanguage.g:4515:1: ( ( rule__EnumInterpretation__SymbolAssignment_1 ) ) - // InternalSolverLanguage.g:4516:2: ( rule__EnumInterpretation__SymbolAssignment_1 ) + // InternalSolverLanguage.g:7726:1: ( RULE_ID ) + // InternalSolverLanguage.g:7727:2: RULE_ID { - before(grammarAccess.getEnumInterpretationAccess().getSymbolAssignment_1()); - // InternalSolverLanguage.g:4517:2: ( rule__EnumInterpretation__SymbolAssignment_1 ) - // InternalSolverLanguage.g:4517:3: rule__EnumInterpretation__SymbolAssignment_1 - { - pushFollow(FOLLOW_2); - rule__EnumInterpretation__SymbolAssignment_1(); - - state._fsp--; - - + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1()); + } + match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1()); } - - after(grammarAccess.getEnumInterpretationAccess().getSymbolAssignment_1()); } @@ -14048,64 +25564,34 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__EnumInterpretation__Group__1__Impl" + // $ANTLR end "rule__QualifiedName__Group_0_1__1__Impl" - // $ANTLR start "rule__EnumInterpretation__Group__2" - // InternalSolverLanguage.g:4525:1: rule__EnumInterpretation__Group__2 : rule__EnumInterpretation__Group__2__Impl rule__EnumInterpretation__Group__3 ; - public final void rule__EnumInterpretation__Group__2() throws RecognitionException { + // $ANTLR start "rule__Problem__StatementsAssignment" + // InternalSolverLanguage.g:7737:1: rule__Problem__StatementsAssignment : ( ruleStatement ) ; + public final void rule__Problem__StatementsAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4529:1: ( rule__EnumInterpretation__Group__2__Impl rule__EnumInterpretation__Group__3 ) - // InternalSolverLanguage.g:4530:2: rule__EnumInterpretation__Group__2__Impl rule__EnumInterpretation__Group__3 + // InternalSolverLanguage.g:7741:1: ( ( ruleStatement ) ) + // InternalSolverLanguage.g:7742:2: ( ruleStatement ) { - pushFollow(FOLLOW_18); - rule__EnumInterpretation__Group__2__Impl(); - - state._fsp--; - + // InternalSolverLanguage.g:7742:2: ( ruleStatement ) + // InternalSolverLanguage.g:7743:3: ruleStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); + } pushFollow(FOLLOW_2); - rule__EnumInterpretation__Group__3(); + ruleStatement(); state._fsp--; - - + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__EnumInterpretation__Group__2" - - - // $ANTLR start "rule__EnumInterpretation__Group__2__Impl" - // InternalSolverLanguage.g:4537:1: rule__EnumInterpretation__Group__2__Impl : ( '{' ) ; - public final void rule__EnumInterpretation__Group__2__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // InternalSolverLanguage.g:4541:1: ( ( '{' ) ) - // InternalSolverLanguage.g:4542:1: ( '{' ) - { - // InternalSolverLanguage.g:4542:1: ( '{' ) - // InternalSolverLanguage.g:4543:2: '{' - { - before(grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2()); - match(input,34,FOLLOW_2); - after(grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2()); - } @@ -14123,28 +25609,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__EnumInterpretation__Group__2__Impl" + // $ANTLR end "rule__Problem__StatementsAssignment" - // $ANTLR start "rule__EnumInterpretation__Group__3" - // InternalSolverLanguage.g:4552:1: rule__EnumInterpretation__Group__3 : rule__EnumInterpretation__Group__3__Impl rule__EnumInterpretation__Group__4 ; - public final void rule__EnumInterpretation__Group__3() throws RecognitionException { + // $ANTLR start "rule__AssertionOrDefinition__RangeAssignment_1_0_1_1" + // InternalSolverLanguage.g:7752:1: rule__AssertionOrDefinition__RangeAssignment_1_0_1_1 : ( ruleExpression ) ; + public final void rule__AssertionOrDefinition__RangeAssignment_1_0_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4556:1: ( rule__EnumInterpretation__Group__3__Impl rule__EnumInterpretation__Group__4 ) - // InternalSolverLanguage.g:4557:2: rule__EnumInterpretation__Group__3__Impl rule__EnumInterpretation__Group__4 + // InternalSolverLanguage.g:7756:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:7757:2: ( ruleExpression ) { - pushFollow(FOLLOW_41); - rule__EnumInterpretation__Group__3__Impl(); - - state._fsp--; - + // InternalSolverLanguage.g:7757:2: ( ruleExpression ) + // InternalSolverLanguage.g:7758:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); + } pushFollow(FOLLOW_2); - rule__EnumInterpretation__Group__4(); + ruleExpression(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); + } + + } } @@ -14161,79 +25654,34 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__EnumInterpretation__Group__3" + // $ANTLR end "rule__AssertionOrDefinition__RangeAssignment_1_0_1_1" - // $ANTLR start "rule__EnumInterpretation__Group__3__Impl" - // InternalSolverLanguage.g:4564:1: rule__EnumInterpretation__Group__3__Impl : ( ( ( rule__EnumInterpretation__ObjectsAssignment_3 ) ) ( ( rule__EnumInterpretation__ObjectsAssignment_3 )* ) ) ; - public final void rule__EnumInterpretation__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__AssertionOrDefinition__BodyAssignment_1_1_2" + // InternalSolverLanguage.g:7767:1: rule__AssertionOrDefinition__BodyAssignment_1_1_2 : ( ruleExpression ) ; + public final void rule__AssertionOrDefinition__BodyAssignment_1_1_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4568:1: ( ( ( ( rule__EnumInterpretation__ObjectsAssignment_3 ) ) ( ( rule__EnumInterpretation__ObjectsAssignment_3 )* ) ) ) - // InternalSolverLanguage.g:4569:1: ( ( ( rule__EnumInterpretation__ObjectsAssignment_3 ) ) ( ( rule__EnumInterpretation__ObjectsAssignment_3 )* ) ) + // InternalSolverLanguage.g:7771:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:7772:2: ( ruleExpression ) { - // InternalSolverLanguage.g:4569:1: ( ( ( rule__EnumInterpretation__ObjectsAssignment_3 ) ) ( ( rule__EnumInterpretation__ObjectsAssignment_3 )* ) ) - // InternalSolverLanguage.g:4570:2: ( ( rule__EnumInterpretation__ObjectsAssignment_3 ) ) ( ( rule__EnumInterpretation__ObjectsAssignment_3 )* ) + // InternalSolverLanguage.g:7772:2: ( ruleExpression ) + // InternalSolverLanguage.g:7773:3: ruleExpression { - // InternalSolverLanguage.g:4570:2: ( ( rule__EnumInterpretation__ObjectsAssignment_3 ) ) - // InternalSolverLanguage.g:4571:3: ( rule__EnumInterpretation__ObjectsAssignment_3 ) - { - before(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); - // InternalSolverLanguage.g:4572:3: ( rule__EnumInterpretation__ObjectsAssignment_3 ) - // InternalSolverLanguage.g:4572:4: rule__EnumInterpretation__ObjectsAssignment_3 - { - pushFollow(FOLLOW_42); - rule__EnumInterpretation__ObjectsAssignment_3(); - - state._fsp--; - - - } - - after(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); - + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); } + pushFollow(FOLLOW_2); + ruleExpression(); - // InternalSolverLanguage.g:4575:2: ( ( rule__EnumInterpretation__ObjectsAssignment_3 )* ) - // InternalSolverLanguage.g:4576:3: ( rule__EnumInterpretation__ObjectsAssignment_3 )* - { - before(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); - // InternalSolverLanguage.g:4577:3: ( rule__EnumInterpretation__ObjectsAssignment_3 )* - loop42: - do { - int alt42=2; - int LA42_0 = input.LA(1); - - if ( (LA42_0==27) ) { - alt42=1; - } - - - switch (alt42) { - case 1 : - // InternalSolverLanguage.g:4577:4: rule__EnumInterpretation__ObjectsAssignment_3 - { - pushFollow(FOLLOW_42); - rule__EnumInterpretation__ObjectsAssignment_3(); - - state._fsp--; - - - } - break; - - default : - break loop42; - } - } while (true); - - after(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); - + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); } - } @@ -14251,23 +25699,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__EnumInterpretation__Group__3__Impl" + // $ANTLR end "rule__AssertionOrDefinition__BodyAssignment_1_1_2" - // $ANTLR start "rule__EnumInterpretation__Group__4" - // InternalSolverLanguage.g:4586:1: rule__EnumInterpretation__Group__4 : rule__EnumInterpretation__Group__4__Impl ; - public final void rule__EnumInterpretation__Group__4() throws RecognitionException { + // $ANTLR start "rule__AssertionOrDefinition__BodyAssignment_1_2_2" + // InternalSolverLanguage.g:7782:1: rule__AssertionOrDefinition__BodyAssignment_1_2_2 : ( ruleExpression ) ; + public final void rule__AssertionOrDefinition__BodyAssignment_1_2_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4590:1: ( rule__EnumInterpretation__Group__4__Impl ) - // InternalSolverLanguage.g:4591:2: rule__EnumInterpretation__Group__4__Impl + // InternalSolverLanguage.g:7786:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:7787:2: ( ruleExpression ) + { + // InternalSolverLanguage.g:7787:2: ( ruleExpression ) + // InternalSolverLanguage.g:7788:3: ruleExpression { + if ( state.backtracking==0 ) { + before(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); + } pushFollow(FOLLOW_2); - rule__EnumInterpretation__Group__4__Impl(); + ruleExpression(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); + } + + } } @@ -14284,25 +25744,41 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__EnumInterpretation__Group__4" + // $ANTLR end "rule__AssertionOrDefinition__BodyAssignment_1_2_2" - // $ANTLR start "rule__EnumInterpretation__Group__4__Impl" - // InternalSolverLanguage.g:4597:1: rule__EnumInterpretation__Group__4__Impl : ( '}' ) ; - public final void rule__EnumInterpretation__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__PredicateDefinition__FunctionalAssignment_0_0_0" + // InternalSolverLanguage.g:7797:1: rule__PredicateDefinition__FunctionalAssignment_0_0_0 : ( ( 'functional' ) ) ; + public final void rule__PredicateDefinition__FunctionalAssignment_0_0_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4601:1: ( ( '}' ) ) - // InternalSolverLanguage.g:4602:1: ( '}' ) + // InternalSolverLanguage.g:7801:1: ( ( ( 'functional' ) ) ) + // InternalSolverLanguage.g:7802:2: ( ( 'functional' ) ) { - // InternalSolverLanguage.g:4602:1: ( '}' ) - // InternalSolverLanguage.g:4603:2: '}' + // InternalSolverLanguage.g:7802:2: ( ( 'functional' ) ) + // InternalSolverLanguage.g:7803:3: ( 'functional' ) { - before(grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4()); - match(input,35,FOLLOW_2); - after(grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4()); + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); + } + // InternalSolverLanguage.g:7804:3: ( 'functional' ) + // InternalSolverLanguage.g:7805:4: 'functional' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); + } + match(input,72,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); + } } @@ -14321,28 +25797,43 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__EnumInterpretation__Group__4__Impl" + // $ANTLR end "rule__PredicateDefinition__FunctionalAssignment_0_0_0" - // $ANTLR start "rule__FieldRelationInterpretation__Group__0" - // InternalSolverLanguage.g:4613:1: rule__FieldRelationInterpretation__Group__0 : rule__FieldRelationInterpretation__Group__0__Impl rule__FieldRelationInterpretation__Group__1 ; - public final void rule__FieldRelationInterpretation__Group__0() throws RecognitionException { + // $ANTLR start "rule__PredicateDefinition__ErrorAssignment_0_0_1" + // InternalSolverLanguage.g:7816:1: rule__PredicateDefinition__ErrorAssignment_0_0_1 : ( ( 'error' ) ) ; + public final void rule__PredicateDefinition__ErrorAssignment_0_0_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4617:1: ( rule__FieldRelationInterpretation__Group__0__Impl rule__FieldRelationInterpretation__Group__1 ) - // InternalSolverLanguage.g:4618:2: rule__FieldRelationInterpretation__Group__0__Impl rule__FieldRelationInterpretation__Group__1 + // InternalSolverLanguage.g:7820:1: ( ( ( 'error' ) ) ) + // InternalSolverLanguage.g:7821:2: ( ( 'error' ) ) { - pushFollow(FOLLOW_43); - rule__FieldRelationInterpretation__Group__0__Impl(); + // InternalSolverLanguage.g:7821:2: ( ( 'error' ) ) + // InternalSolverLanguage.g:7822:3: ( 'error' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); + } + // InternalSolverLanguage.g:7823:3: ( 'error' ) + // InternalSolverLanguage.g:7824:4: 'error' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); + } + match(input,42,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); + } - state._fsp--; + } - pushFollow(FOLLOW_2); - rule__FieldRelationInterpretation__Group__1(); + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); + } - state._fsp--; + } } @@ -14359,46 +25850,41 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__FieldRelationInterpretation__Group__0" + // $ANTLR end "rule__PredicateDefinition__ErrorAssignment_0_0_1" - // $ANTLR start "rule__FieldRelationInterpretation__Group__0__Impl" - // InternalSolverLanguage.g:4625:1: rule__FieldRelationInterpretation__Group__0__Impl : ( ( rule__FieldRelationInterpretation__ContainmentAssignment_0 )? ) ; - public final void rule__FieldRelationInterpretation__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__PredicateDefinition__ErrorAssignment_0_1_0" + // InternalSolverLanguage.g:7835:1: rule__PredicateDefinition__ErrorAssignment_0_1_0 : ( ( 'error' ) ) ; + public final void rule__PredicateDefinition__ErrorAssignment_0_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4629:1: ( ( ( rule__FieldRelationInterpretation__ContainmentAssignment_0 )? ) ) - // InternalSolverLanguage.g:4630:1: ( ( rule__FieldRelationInterpretation__ContainmentAssignment_0 )? ) + // InternalSolverLanguage.g:7839:1: ( ( ( 'error' ) ) ) + // InternalSolverLanguage.g:7840:2: ( ( 'error' ) ) { - // InternalSolverLanguage.g:4630:1: ( ( rule__FieldRelationInterpretation__ContainmentAssignment_0 )? ) - // InternalSolverLanguage.g:4631:2: ( rule__FieldRelationInterpretation__ContainmentAssignment_0 )? + // InternalSolverLanguage.g:7840:2: ( ( 'error' ) ) + // InternalSolverLanguage.g:7841:3: ( 'error' ) { - before(grammarAccess.getFieldRelationInterpretationAccess().getContainmentAssignment_0()); - // InternalSolverLanguage.g:4632:2: ( rule__FieldRelationInterpretation__ContainmentAssignment_0 )? - int alt43=2; - int LA43_0 = input.LA(1); - - if ( (LA43_0==41) ) { - alt43=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); + } + // InternalSolverLanguage.g:7842:3: ( 'error' ) + // InternalSolverLanguage.g:7843:4: 'error' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); + } + match(input,42,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); } - switch (alt43) { - case 1 : - // InternalSolverLanguage.g:4632:3: rule__FieldRelationInterpretation__ContainmentAssignment_0 - { - pushFollow(FOLLOW_2); - rule__FieldRelationInterpretation__ContainmentAssignment_0(); - - state._fsp--; - - - } - break; } - after(grammarAccess.getFieldRelationInterpretationAccess().getContainmentAssignment_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); + } } @@ -14417,28 +25903,43 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__FieldRelationInterpretation__Group__0__Impl" + // $ANTLR end "rule__PredicateDefinition__ErrorAssignment_0_1_0" - // $ANTLR start "rule__FieldRelationInterpretation__Group__1" - // InternalSolverLanguage.g:4640:1: rule__FieldRelationInterpretation__Group__1 : rule__FieldRelationInterpretation__Group__1__Impl rule__FieldRelationInterpretation__Group__2 ; - public final void rule__FieldRelationInterpretation__Group__1() throws RecognitionException { + // $ANTLR start "rule__PredicateDefinition__FunctionalAssignment_0_1_1" + // InternalSolverLanguage.g:7854:1: rule__PredicateDefinition__FunctionalAssignment_0_1_1 : ( ( 'functional' ) ) ; + public final void rule__PredicateDefinition__FunctionalAssignment_0_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4644:1: ( rule__FieldRelationInterpretation__Group__1__Impl rule__FieldRelationInterpretation__Group__2 ) - // InternalSolverLanguage.g:4645:2: rule__FieldRelationInterpretation__Group__1__Impl rule__FieldRelationInterpretation__Group__2 + // InternalSolverLanguage.g:7858:1: ( ( ( 'functional' ) ) ) + // InternalSolverLanguage.g:7859:2: ( ( 'functional' ) ) { - pushFollow(FOLLOW_25); - rule__FieldRelationInterpretation__Group__1__Impl(); + // InternalSolverLanguage.g:7859:2: ( ( 'functional' ) ) + // InternalSolverLanguage.g:7860:3: ( 'functional' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); + } + // InternalSolverLanguage.g:7861:3: ( 'functional' ) + // InternalSolverLanguage.g:7862:4: 'functional' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); + } + match(input,72,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); + } - state._fsp--; + } - pushFollow(FOLLOW_2); - rule__FieldRelationInterpretation__Group__2(); + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); + } - state._fsp--; + } } @@ -14455,36 +25956,34 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__FieldRelationInterpretation__Group__1" + // $ANTLR end "rule__PredicateDefinition__FunctionalAssignment_0_1_1" - // $ANTLR start "rule__FieldRelationInterpretation__Group__1__Impl" - // InternalSolverLanguage.g:4652:1: rule__FieldRelationInterpretation__Group__1__Impl : ( ( rule__FieldRelationInterpretation__SymbolAssignment_1 ) ) ; - public final void rule__FieldRelationInterpretation__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__PredicateDefinition__HeadAssignment_1" + // InternalSolverLanguage.g:7873:1: rule__PredicateDefinition__HeadAssignment_1 : ( ruleCall ) ; + public final void rule__PredicateDefinition__HeadAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4656:1: ( ( ( rule__FieldRelationInterpretation__SymbolAssignment_1 ) ) ) - // InternalSolverLanguage.g:4657:1: ( ( rule__FieldRelationInterpretation__SymbolAssignment_1 ) ) + // InternalSolverLanguage.g:7877:1: ( ( ruleCall ) ) + // InternalSolverLanguage.g:7878:2: ( ruleCall ) { - // InternalSolverLanguage.g:4657:1: ( ( rule__FieldRelationInterpretation__SymbolAssignment_1 ) ) - // InternalSolverLanguage.g:4658:2: ( rule__FieldRelationInterpretation__SymbolAssignment_1 ) - { - before(grammarAccess.getFieldRelationInterpretationAccess().getSymbolAssignment_1()); - // InternalSolverLanguage.g:4659:2: ( rule__FieldRelationInterpretation__SymbolAssignment_1 ) - // InternalSolverLanguage.g:4659:3: rule__FieldRelationInterpretation__SymbolAssignment_1 + // InternalSolverLanguage.g:7878:2: ( ruleCall ) + // InternalSolverLanguage.g:7879:3: ruleCall { + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); + } pushFollow(FOLLOW_2); - rule__FieldRelationInterpretation__SymbolAssignment_1(); + ruleCall(); state._fsp--; - - + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); } - after(grammarAccess.getFieldRelationInterpretationAccess().getSymbolAssignment_1()); - } @@ -14502,28 +26001,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__FieldRelationInterpretation__Group__1__Impl" + // $ANTLR end "rule__PredicateDefinition__HeadAssignment_1" - // $ANTLR start "rule__FieldRelationInterpretation__Group__2" - // InternalSolverLanguage.g:4667:1: rule__FieldRelationInterpretation__Group__2 : rule__FieldRelationInterpretation__Group__2__Impl rule__FieldRelationInterpretation__Group__3 ; - public final void rule__FieldRelationInterpretation__Group__2() throws RecognitionException { + // $ANTLR start "rule__PredicateDefinition__BodyAssignment_3" + // InternalSolverLanguage.g:7888:1: rule__PredicateDefinition__BodyAssignment_3 : ( ruleExpression ) ; + public final void rule__PredicateDefinition__BodyAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4671:1: ( rule__FieldRelationInterpretation__Group__2__Impl rule__FieldRelationInterpretation__Group__3 ) - // InternalSolverLanguage.g:4672:2: rule__FieldRelationInterpretation__Group__2__Impl rule__FieldRelationInterpretation__Group__3 + // InternalSolverLanguage.g:7892:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:7893:2: ( ruleExpression ) + { + // InternalSolverLanguage.g:7893:2: ( ruleExpression ) + // InternalSolverLanguage.g:7894:3: ruleExpression { - pushFollow(FOLLOW_44); - rule__FieldRelationInterpretation__Group__2__Impl(); - - state._fsp--; - + if ( state.backtracking==0 ) { + before(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + } pushFollow(FOLLOW_2); - rule__FieldRelationInterpretation__Group__3(); + ruleExpression(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + } + + } } @@ -14540,25 +26046,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__FieldRelationInterpretation__Group__2" + // $ANTLR end "rule__PredicateDefinition__BodyAssignment_3" - // $ANTLR start "rule__FieldRelationInterpretation__Group__2__Impl" - // InternalSolverLanguage.g:4679:1: rule__FieldRelationInterpretation__Group__2__Impl : ( ':' ) ; - public final void rule__FieldRelationInterpretation__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1" + // InternalSolverLanguage.g:7903:1: rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1 : ( ruleArgumentList ) ; + public final void rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4683:1: ( ( ':' ) ) - // InternalSolverLanguage.g:4684:1: ( ':' ) + // InternalSolverLanguage.g:7907:1: ( ( ruleArgumentList ) ) + // InternalSolverLanguage.g:7908:2: ( ruleArgumentList ) { - // InternalSolverLanguage.g:4684:1: ( ':' ) - // InternalSolverLanguage.g:4685:2: ':' + // InternalSolverLanguage.g:7908:2: ( ruleArgumentList ) + // InternalSolverLanguage.g:7909:3: ruleArgumentList { - before(grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2()); - match(input,17,FOLLOW_2); - after(grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2()); + if ( state.backtracking==0 ) { + before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleArgumentList(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); + } } @@ -14577,28 +26091,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__FieldRelationInterpretation__Group__2__Impl" + // $ANTLR end "rule__UnnamedErrorPrediateDefinition__ArgumentListAssignment_1" - // $ANTLR start "rule__FieldRelationInterpretation__Group__3" - // InternalSolverLanguage.g:4694:1: rule__FieldRelationInterpretation__Group__3 : rule__FieldRelationInterpretation__Group__3__Impl rule__FieldRelationInterpretation__Group__4 ; - public final void rule__FieldRelationInterpretation__Group__3() throws RecognitionException { + // $ANTLR start "rule__UnnamedErrorPrediateDefinition__BodyAssignment_3" + // InternalSolverLanguage.g:7918:1: rule__UnnamedErrorPrediateDefinition__BodyAssignment_3 : ( ruleExpression ) ; + public final void rule__UnnamedErrorPrediateDefinition__BodyAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4698:1: ( rule__FieldRelationInterpretation__Group__3__Impl rule__FieldRelationInterpretation__Group__4 ) - // InternalSolverLanguage.g:4699:2: rule__FieldRelationInterpretation__Group__3__Impl rule__FieldRelationInterpretation__Group__4 + // InternalSolverLanguage.g:7922:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:7923:2: ( ruleExpression ) { - pushFollow(FOLLOW_44); - rule__FieldRelationInterpretation__Group__3__Impl(); - - state._fsp--; - + // InternalSolverLanguage.g:7923:2: ( ruleExpression ) + // InternalSolverLanguage.g:7924:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + } pushFollow(FOLLOW_2); - rule__FieldRelationInterpretation__Group__4(); + ruleExpression(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + } + + } } @@ -14615,47 +26136,34 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__FieldRelationInterpretation__Group__3" + // $ANTLR end "rule__UnnamedErrorPrediateDefinition__BodyAssignment_3" - // $ANTLR start "rule__FieldRelationInterpretation__Group__3__Impl" - // InternalSolverLanguage.g:4706:1: rule__FieldRelationInterpretation__Group__3__Impl : ( ( rule__FieldRelationInterpretation__MultiplicityAssignment_3 )? ) ; - public final void rule__FieldRelationInterpretation__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__DefaultDefinition__HeadAssignment_1" + // InternalSolverLanguage.g:7933:1: rule__DefaultDefinition__HeadAssignment_1 : ( ruleCall ) ; + public final void rule__DefaultDefinition__HeadAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4710:1: ( ( ( rule__FieldRelationInterpretation__MultiplicityAssignment_3 )? ) ) - // InternalSolverLanguage.g:4711:1: ( ( rule__FieldRelationInterpretation__MultiplicityAssignment_3 )? ) + // InternalSolverLanguage.g:7937:1: ( ( ruleCall ) ) + // InternalSolverLanguage.g:7938:2: ( ruleCall ) { - // InternalSolverLanguage.g:4711:1: ( ( rule__FieldRelationInterpretation__MultiplicityAssignment_3 )? ) - // InternalSolverLanguage.g:4712:2: ( rule__FieldRelationInterpretation__MultiplicityAssignment_3 )? + // InternalSolverLanguage.g:7938:2: ( ruleCall ) + // InternalSolverLanguage.g:7939:3: ruleCall { - before(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityAssignment_3()); - // InternalSolverLanguage.g:4713:2: ( rule__FieldRelationInterpretation__MultiplicityAssignment_3 )? - int alt44=2; - int LA44_0 = input.LA(1); - - if ( (LA44_0==RULE_INT) ) { - alt44=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); } - switch (alt44) { - case 1 : - // InternalSolverLanguage.g:4713:3: rule__FieldRelationInterpretation__MultiplicityAssignment_3 - { - pushFollow(FOLLOW_2); - rule__FieldRelationInterpretation__MultiplicityAssignment_3(); - - state._fsp--; - - - } - break; + pushFollow(FOLLOW_2); + ruleCall(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); } - after(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityAssignment_3()); - } @@ -14673,23 +26181,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__FieldRelationInterpretation__Group__3__Impl" + // $ANTLR end "rule__DefaultDefinition__HeadAssignment_1" - // $ANTLR start "rule__FieldRelationInterpretation__Group__4" - // InternalSolverLanguage.g:4721:1: rule__FieldRelationInterpretation__Group__4 : rule__FieldRelationInterpretation__Group__4__Impl ; - public final void rule__FieldRelationInterpretation__Group__4() throws RecognitionException { + // $ANTLR start "rule__DefaultDefinition__RangeAssignment_3" + // InternalSolverLanguage.g:7948:1: rule__DefaultDefinition__RangeAssignment_3 : ( ruleExpression ) ; + public final void rule__DefaultDefinition__RangeAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4725:1: ( rule__FieldRelationInterpretation__Group__4__Impl ) - // InternalSolverLanguage.g:4726:2: rule__FieldRelationInterpretation__Group__4__Impl + // InternalSolverLanguage.g:7952:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:7953:2: ( ruleExpression ) + { + // InternalSolverLanguage.g:7953:2: ( ruleExpression ) + // InternalSolverLanguage.g:7954:3: ruleExpression { + if ( state.backtracking==0 ) { + before(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); + } pushFollow(FOLLOW_2); - rule__FieldRelationInterpretation__Group__4__Impl(); + ruleExpression(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); + } + + } } @@ -14706,36 +26226,34 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__FieldRelationInterpretation__Group__4" + // $ANTLR end "rule__DefaultDefinition__RangeAssignment_3" - // $ANTLR start "rule__FieldRelationInterpretation__Group__4__Impl" - // InternalSolverLanguage.g:4732:1: rule__FieldRelationInterpretation__Group__4__Impl : ( ( rule__FieldRelationInterpretation__TargetAssignment_4 ) ) ; - public final void rule__FieldRelationInterpretation__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__ExternPredicateDefinition__HeadAssignment_1" + // InternalSolverLanguage.g:7963:1: rule__ExternPredicateDefinition__HeadAssignment_1 : ( ruleCall ) ; + public final void rule__ExternPredicateDefinition__HeadAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4736:1: ( ( ( rule__FieldRelationInterpretation__TargetAssignment_4 ) ) ) - // InternalSolverLanguage.g:4737:1: ( ( rule__FieldRelationInterpretation__TargetAssignment_4 ) ) + // InternalSolverLanguage.g:7967:1: ( ( ruleCall ) ) + // InternalSolverLanguage.g:7968:2: ( ruleCall ) { - // InternalSolverLanguage.g:4737:1: ( ( rule__FieldRelationInterpretation__TargetAssignment_4 ) ) - // InternalSolverLanguage.g:4738:2: ( rule__FieldRelationInterpretation__TargetAssignment_4 ) - { - before(grammarAccess.getFieldRelationInterpretationAccess().getTargetAssignment_4()); - // InternalSolverLanguage.g:4739:2: ( rule__FieldRelationInterpretation__TargetAssignment_4 ) - // InternalSolverLanguage.g:4739:3: rule__FieldRelationInterpretation__TargetAssignment_4 + // InternalSolverLanguage.g:7968:2: ( ruleCall ) + // InternalSolverLanguage.g:7969:3: ruleCall { + if ( state.backtracking==0 ) { + before(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); + } pushFollow(FOLLOW_2); - rule__FieldRelationInterpretation__TargetAssignment_4(); + ruleCall(); state._fsp--; - - + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); } - after(grammarAccess.getFieldRelationInterpretationAccess().getTargetAssignment_4()); - } @@ -14753,28 +26271,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__FieldRelationInterpretation__Group__4__Impl" + // $ANTLR end "rule__ExternPredicateDefinition__HeadAssignment_1" - // $ANTLR start "rule__GlobalRelationInterpretation__Group__0" - // InternalSolverLanguage.g:4748:1: rule__GlobalRelationInterpretation__Group__0 : rule__GlobalRelationInterpretation__Group__0__Impl rule__GlobalRelationInterpretation__Group__1 ; - public final void rule__GlobalRelationInterpretation__Group__0() throws RecognitionException { + // $ANTLR start "rule__MetricDefinition__TypeAssignment_0" + // InternalSolverLanguage.g:7978:1: rule__MetricDefinition__TypeAssignment_0 : ( ruleMetricType ) ; + public final void rule__MetricDefinition__TypeAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4752:1: ( rule__GlobalRelationInterpretation__Group__0__Impl rule__GlobalRelationInterpretation__Group__1 ) - // InternalSolverLanguage.g:4753:2: rule__GlobalRelationInterpretation__Group__0__Impl rule__GlobalRelationInterpretation__Group__1 + // InternalSolverLanguage.g:7982:1: ( ( ruleMetricType ) ) + // InternalSolverLanguage.g:7983:2: ( ruleMetricType ) { - pushFollow(FOLLOW_45); - rule__GlobalRelationInterpretation__Group__0__Impl(); - - state._fsp--; - + // InternalSolverLanguage.g:7983:2: ( ruleMetricType ) + // InternalSolverLanguage.g:7984:3: ruleMetricType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); + } pushFollow(FOLLOW_2); - rule__GlobalRelationInterpretation__Group__1(); + ruleMetricType(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); + } + + } } @@ -14791,47 +26316,34 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__Group__0" + // $ANTLR end "rule__MetricDefinition__TypeAssignment_0" - // $ANTLR start "rule__GlobalRelationInterpretation__Group__0__Impl" - // InternalSolverLanguage.g:4760:1: rule__GlobalRelationInterpretation__Group__0__Impl : ( ( rule__GlobalRelationInterpretation__ContainmentAssignment_0 )? ) ; - public final void rule__GlobalRelationInterpretation__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__MetricDefinition__HeadAssignment_1" + // InternalSolverLanguage.g:7993:1: rule__MetricDefinition__HeadAssignment_1 : ( ruleExpression ) ; + public final void rule__MetricDefinition__HeadAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4764:1: ( ( ( rule__GlobalRelationInterpretation__ContainmentAssignment_0 )? ) ) - // InternalSolverLanguage.g:4765:1: ( ( rule__GlobalRelationInterpretation__ContainmentAssignment_0 )? ) + // InternalSolverLanguage.g:7997:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:7998:2: ( ruleExpression ) { - // InternalSolverLanguage.g:4765:1: ( ( rule__GlobalRelationInterpretation__ContainmentAssignment_0 )? ) - // InternalSolverLanguage.g:4766:2: ( rule__GlobalRelationInterpretation__ContainmentAssignment_0 )? + // InternalSolverLanguage.g:7998:2: ( ruleExpression ) + // InternalSolverLanguage.g:7999:3: ruleExpression { - before(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentAssignment_0()); - // InternalSolverLanguage.g:4767:2: ( rule__GlobalRelationInterpretation__ContainmentAssignment_0 )? - int alt45=2; - int LA45_0 = input.LA(1); - - if ( (LA45_0==41) ) { - alt45=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); } - switch (alt45) { - case 1 : - // InternalSolverLanguage.g:4767:3: rule__GlobalRelationInterpretation__ContainmentAssignment_0 - { - pushFollow(FOLLOW_2); - rule__GlobalRelationInterpretation__ContainmentAssignment_0(); - - state._fsp--; - - - } - break; + pushFollow(FOLLOW_2); + ruleExpression(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); } - after(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentAssignment_0()); - } @@ -14849,28 +26361,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__Group__0__Impl" + // $ANTLR end "rule__MetricDefinition__HeadAssignment_1" - // $ANTLR start "rule__GlobalRelationInterpretation__Group__1" - // InternalSolverLanguage.g:4775:1: rule__GlobalRelationInterpretation__Group__1 : rule__GlobalRelationInterpretation__Group__1__Impl rule__GlobalRelationInterpretation__Group__2 ; - public final void rule__GlobalRelationInterpretation__Group__1() throws RecognitionException { + // $ANTLR start "rule__MetricDefinition__BodyAssignment_3" + // InternalSolverLanguage.g:8008:1: rule__MetricDefinition__BodyAssignment_3 : ( ruleExpression ) ; + public final void rule__MetricDefinition__BodyAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4779:1: ( rule__GlobalRelationInterpretation__Group__1__Impl rule__GlobalRelationInterpretation__Group__2 ) - // InternalSolverLanguage.g:4780:2: rule__GlobalRelationInterpretation__Group__1__Impl rule__GlobalRelationInterpretation__Group__2 + // InternalSolverLanguage.g:8012:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:8013:2: ( ruleExpression ) { - pushFollow(FOLLOW_17); - rule__GlobalRelationInterpretation__Group__1__Impl(); - - state._fsp--; - + // InternalSolverLanguage.g:8013:2: ( ruleExpression ) + // InternalSolverLanguage.g:8014:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + } pushFollow(FOLLOW_2); - rule__GlobalRelationInterpretation__Group__2(); + ruleExpression(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + } + + } } @@ -14887,25 +26406,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__Group__1" + // $ANTLR end "rule__MetricDefinition__BodyAssignment_3" - // $ANTLR start "rule__GlobalRelationInterpretation__Group__1__Impl" - // InternalSolverLanguage.g:4787:1: rule__GlobalRelationInterpretation__Group__1__Impl : ( 'relation' ) ; - public final void rule__GlobalRelationInterpretation__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ExternMetricDefinition__TypeAssignment_1" + // InternalSolverLanguage.g:8023:1: rule__ExternMetricDefinition__TypeAssignment_1 : ( ruleMetricType ) ; + public final void rule__ExternMetricDefinition__TypeAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4791:1: ( ( 'relation' ) ) - // InternalSolverLanguage.g:4792:1: ( 'relation' ) + // InternalSolverLanguage.g:8027:1: ( ( ruleMetricType ) ) + // InternalSolverLanguage.g:8028:2: ( ruleMetricType ) { - // InternalSolverLanguage.g:4792:1: ( 'relation' ) - // InternalSolverLanguage.g:4793:2: 'relation' + // InternalSolverLanguage.g:8028:2: ( ruleMetricType ) + // InternalSolverLanguage.g:8029:3: ruleMetricType { - before(grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); - match(input,38,FOLLOW_2); - after(grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); + if ( state.backtracking==0 ) { + before(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleMetricType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); + } } @@ -14924,28 +26451,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__Group__1__Impl" + // $ANTLR end "rule__ExternMetricDefinition__TypeAssignment_1" - // $ANTLR start "rule__GlobalRelationInterpretation__Group__2" - // InternalSolverLanguage.g:4802:1: rule__GlobalRelationInterpretation__Group__2 : rule__GlobalRelationInterpretation__Group__2__Impl rule__GlobalRelationInterpretation__Group__3 ; - public final void rule__GlobalRelationInterpretation__Group__2() throws RecognitionException { + // $ANTLR start "rule__ExternMetricDefinition__HeadAssignment_2" + // InternalSolverLanguage.g:8038:1: rule__ExternMetricDefinition__HeadAssignment_2 : ( ruleCall ) ; + public final void rule__ExternMetricDefinition__HeadAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4806:1: ( rule__GlobalRelationInterpretation__Group__2__Impl rule__GlobalRelationInterpretation__Group__3 ) - // InternalSolverLanguage.g:4807:2: rule__GlobalRelationInterpretation__Group__2__Impl rule__GlobalRelationInterpretation__Group__3 + // InternalSolverLanguage.g:8042:1: ( ( ruleCall ) ) + // InternalSolverLanguage.g:8043:2: ( ruleCall ) { - pushFollow(FOLLOW_25); - rule__GlobalRelationInterpretation__Group__2__Impl(); - - state._fsp--; - + // InternalSolverLanguage.g:8043:2: ( ruleCall ) + // InternalSolverLanguage.g:8044:3: ruleCall + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); + } pushFollow(FOLLOW_2); - rule__GlobalRelationInterpretation__Group__3(); + ruleCall(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); + } + + } } @@ -14962,36 +26496,34 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__Group__2" + // $ANTLR end "rule__ExternMetricDefinition__HeadAssignment_2" - // $ANTLR start "rule__GlobalRelationInterpretation__Group__2__Impl" - // InternalSolverLanguage.g:4814:1: rule__GlobalRelationInterpretation__Group__2__Impl : ( ( rule__GlobalRelationInterpretation__SymbolAssignment_2 ) ) ; - public final void rule__GlobalRelationInterpretation__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__IfElse__ConditionAssignment_1" + // InternalSolverLanguage.g:8053:1: rule__IfElse__ConditionAssignment_1 : ( ruleExpression ) ; + public final void rule__IfElse__ConditionAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4818:1: ( ( ( rule__GlobalRelationInterpretation__SymbolAssignment_2 ) ) ) - // InternalSolverLanguage.g:4819:1: ( ( rule__GlobalRelationInterpretation__SymbolAssignment_2 ) ) + // InternalSolverLanguage.g:8057:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:8058:2: ( ruleExpression ) { - // InternalSolverLanguage.g:4819:1: ( ( rule__GlobalRelationInterpretation__SymbolAssignment_2 ) ) - // InternalSolverLanguage.g:4820:2: ( rule__GlobalRelationInterpretation__SymbolAssignment_2 ) - { - before(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolAssignment_2()); - // InternalSolverLanguage.g:4821:2: ( rule__GlobalRelationInterpretation__SymbolAssignment_2 ) - // InternalSolverLanguage.g:4821:3: rule__GlobalRelationInterpretation__SymbolAssignment_2 + // InternalSolverLanguage.g:8058:2: ( ruleExpression ) + // InternalSolverLanguage.g:8059:3: ruleExpression { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); + } pushFollow(FOLLOW_2); - rule__GlobalRelationInterpretation__SymbolAssignment_2(); + ruleExpression(); state._fsp--; - - + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); } - after(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolAssignment_2()); - } @@ -15009,28 +26541,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__Group__2__Impl" + // $ANTLR end "rule__IfElse__ConditionAssignment_1" - // $ANTLR start "rule__GlobalRelationInterpretation__Group__3" - // InternalSolverLanguage.g:4829:1: rule__GlobalRelationInterpretation__Group__3 : rule__GlobalRelationInterpretation__Group__3__Impl rule__GlobalRelationInterpretation__Group__4 ; - public final void rule__GlobalRelationInterpretation__Group__3() throws RecognitionException { + // $ANTLR start "rule__IfElse__ThenAssignment_3" + // InternalSolverLanguage.g:8068:1: rule__IfElse__ThenAssignment_3 : ( ruleExpression ) ; + public final void rule__IfElse__ThenAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4833:1: ( rule__GlobalRelationInterpretation__Group__3__Impl rule__GlobalRelationInterpretation__Group__4 ) - // InternalSolverLanguage.g:4834:2: rule__GlobalRelationInterpretation__Group__3__Impl rule__GlobalRelationInterpretation__Group__4 + // InternalSolverLanguage.g:8072:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:8073:2: ( ruleExpression ) { - pushFollow(FOLLOW_44); - rule__GlobalRelationInterpretation__Group__3__Impl(); - - state._fsp--; - + // InternalSolverLanguage.g:8073:2: ( ruleExpression ) + // InternalSolverLanguage.g:8074:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); + } pushFollow(FOLLOW_2); - rule__GlobalRelationInterpretation__Group__4(); + ruleExpression(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); + } + + } } @@ -15047,25 +26586,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__Group__3" + // $ANTLR end "rule__IfElse__ThenAssignment_3" - // $ANTLR start "rule__GlobalRelationInterpretation__Group__3__Impl" - // InternalSolverLanguage.g:4841:1: rule__GlobalRelationInterpretation__Group__3__Impl : ( ':' ) ; - public final void rule__GlobalRelationInterpretation__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__IfElse__ElseAssignment_5" + // InternalSolverLanguage.g:8083:1: rule__IfElse__ElseAssignment_5 : ( ruleExpression ) ; + public final void rule__IfElse__ElseAssignment_5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4845:1: ( ( ':' ) ) - // InternalSolverLanguage.g:4846:1: ( ':' ) + // InternalSolverLanguage.g:8087:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:8088:2: ( ruleExpression ) { - // InternalSolverLanguage.g:4846:1: ( ':' ) - // InternalSolverLanguage.g:4847:2: ':' + // InternalSolverLanguage.g:8088:2: ( ruleExpression ) + // InternalSolverLanguage.g:8089:3: ruleExpression { - before(grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3()); - match(input,17,FOLLOW_2); - after(grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3()); + if ( state.backtracking==0 ) { + before(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); + } } @@ -15084,28 +26631,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__Group__3__Impl" + // $ANTLR end "rule__IfElse__ElseAssignment_5" - // $ANTLR start "rule__GlobalRelationInterpretation__Group__4" - // InternalSolverLanguage.g:4856:1: rule__GlobalRelationInterpretation__Group__4 : rule__GlobalRelationInterpretation__Group__4__Impl rule__GlobalRelationInterpretation__Group__5 ; - public final void rule__GlobalRelationInterpretation__Group__4() throws RecognitionException { + // $ANTLR start "rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1" + // InternalSolverLanguage.g:8098:1: rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1 : ( ruleConjunctiveExpression ) ; + public final void rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4860:1: ( rule__GlobalRelationInterpretation__Group__4__Impl rule__GlobalRelationInterpretation__Group__5 ) - // InternalSolverLanguage.g:4861:2: rule__GlobalRelationInterpretation__Group__4__Impl rule__GlobalRelationInterpretation__Group__5 + // InternalSolverLanguage.g:8102:1: ( ( ruleConjunctiveExpression ) ) + // InternalSolverLanguage.g:8103:2: ( ruleConjunctiveExpression ) { - pushFollow(FOLLOW_44); - rule__GlobalRelationInterpretation__Group__4__Impl(); - - state._fsp--; - + // InternalSolverLanguage.g:8103:2: ( ruleConjunctiveExpression ) + // InternalSolverLanguage.g:8104:3: ruleConjunctiveExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); + } pushFollow(FOLLOW_2); - rule__GlobalRelationInterpretation__Group__5(); + ruleConjunctiveExpression(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); + } + + } } @@ -15122,47 +26676,34 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__Group__4" + // $ANTLR end "rule__DisjunctiveExpression__ChildrenAssignment_1_0_1_1" - // $ANTLR start "rule__GlobalRelationInterpretation__Group__4__Impl" - // InternalSolverLanguage.g:4868:1: rule__GlobalRelationInterpretation__Group__4__Impl : ( ( rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 )? ) ; - public final void rule__GlobalRelationInterpretation__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__DisjunctiveExpression__BodyAssignment_1_1_2" + // InternalSolverLanguage.g:8113:1: rule__DisjunctiveExpression__BodyAssignment_1_1_2 : ( ruleConjunctiveExpression ) ; + public final void rule__DisjunctiveExpression__BodyAssignment_1_1_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4872:1: ( ( ( rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 )? ) ) - // InternalSolverLanguage.g:4873:1: ( ( rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 )? ) + // InternalSolverLanguage.g:8117:1: ( ( ruleConjunctiveExpression ) ) + // InternalSolverLanguage.g:8118:2: ( ruleConjunctiveExpression ) { - // InternalSolverLanguage.g:4873:1: ( ( rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 )? ) - // InternalSolverLanguage.g:4874:2: ( rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 )? + // InternalSolverLanguage.g:8118:2: ( ruleConjunctiveExpression ) + // InternalSolverLanguage.g:8119:3: ruleConjunctiveExpression { - before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityAssignment_4()); - // InternalSolverLanguage.g:4875:2: ( rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 )? - int alt46=2; - int LA46_0 = input.LA(1); - - if ( (LA46_0==RULE_INT) ) { - alt46=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); } - switch (alt46) { - case 1 : - // InternalSolverLanguage.g:4875:3: rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 - { - pushFollow(FOLLOW_2); - rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4(); - - state._fsp--; - - - } - break; + pushFollow(FOLLOW_2); + ruleConjunctiveExpression(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); } - after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityAssignment_4()); - } @@ -15180,28 +26721,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__Group__4__Impl" + // $ANTLR end "rule__DisjunctiveExpression__BodyAssignment_1_1_2" - // $ANTLR start "rule__GlobalRelationInterpretation__Group__5" - // InternalSolverLanguage.g:4883:1: rule__GlobalRelationInterpretation__Group__5 : rule__GlobalRelationInterpretation__Group__5__Impl rule__GlobalRelationInterpretation__Group__6 ; - public final void rule__GlobalRelationInterpretation__Group__5() throws RecognitionException { + // $ANTLR start "rule__DisjunctiveExpression__CasesAssignment_1_1_4_1" + // InternalSolverLanguage.g:8128:1: rule__DisjunctiveExpression__CasesAssignment_1_1_4_1 : ( ruleCase ) ; + public final void rule__DisjunctiveExpression__CasesAssignment_1_1_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4887:1: ( rule__GlobalRelationInterpretation__Group__5__Impl rule__GlobalRelationInterpretation__Group__6 ) - // InternalSolverLanguage.g:4888:2: rule__GlobalRelationInterpretation__Group__5__Impl rule__GlobalRelationInterpretation__Group__6 + // InternalSolverLanguage.g:8132:1: ( ( ruleCase ) ) + // InternalSolverLanguage.g:8133:2: ( ruleCase ) { - pushFollow(FOLLOW_44); - rule__GlobalRelationInterpretation__Group__5__Impl(); - - state._fsp--; - + // InternalSolverLanguage.g:8133:2: ( ruleCase ) + // InternalSolverLanguage.g:8134:3: ruleCase + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); + } pushFollow(FOLLOW_2); - rule__GlobalRelationInterpretation__Group__6(); + ruleCase(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); + } + + } } @@ -15218,36 +26766,34 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__Group__5" + // $ANTLR end "rule__DisjunctiveExpression__CasesAssignment_1_1_4_1" - // $ANTLR start "rule__GlobalRelationInterpretation__Group__5__Impl" - // InternalSolverLanguage.g:4895:1: rule__GlobalRelationInterpretation__Group__5__Impl : ( ( rule__GlobalRelationInterpretation__SourceAssignment_5 ) ) ; - public final void rule__GlobalRelationInterpretation__Group__5__Impl() throws RecognitionException { + // $ANTLR start "rule__Case__ConditionAssignment_0" + // InternalSolverLanguage.g:8143:1: rule__Case__ConditionAssignment_0 : ( ruleConjunctiveExpression ) ; + public final void rule__Case__ConditionAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4899:1: ( ( ( rule__GlobalRelationInterpretation__SourceAssignment_5 ) ) ) - // InternalSolverLanguage.g:4900:1: ( ( rule__GlobalRelationInterpretation__SourceAssignment_5 ) ) + // InternalSolverLanguage.g:8147:1: ( ( ruleConjunctiveExpression ) ) + // InternalSolverLanguage.g:8148:2: ( ruleConjunctiveExpression ) { - // InternalSolverLanguage.g:4900:1: ( ( rule__GlobalRelationInterpretation__SourceAssignment_5 ) ) - // InternalSolverLanguage.g:4901:2: ( rule__GlobalRelationInterpretation__SourceAssignment_5 ) - { - before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceAssignment_5()); - // InternalSolverLanguage.g:4902:2: ( rule__GlobalRelationInterpretation__SourceAssignment_5 ) - // InternalSolverLanguage.g:4902:3: rule__GlobalRelationInterpretation__SourceAssignment_5 + // InternalSolverLanguage.g:8148:2: ( ruleConjunctiveExpression ) + // InternalSolverLanguage.g:8149:3: ruleConjunctiveExpression { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); + } pushFollow(FOLLOW_2); - rule__GlobalRelationInterpretation__SourceAssignment_5(); + ruleConjunctiveExpression(); state._fsp--; - - + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); } - after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceAssignment_5()); - } @@ -15265,28 +26811,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__Group__5__Impl" + // $ANTLR end "rule__Case__ConditionAssignment_0" - // $ANTLR start "rule__GlobalRelationInterpretation__Group__6" - // InternalSolverLanguage.g:4910:1: rule__GlobalRelationInterpretation__Group__6 : rule__GlobalRelationInterpretation__Group__6__Impl rule__GlobalRelationInterpretation__Group__7 ; - public final void rule__GlobalRelationInterpretation__Group__6() throws RecognitionException { + // $ANTLR start "rule__Case__BodyAssignment_2" + // InternalSolverLanguage.g:8158:1: rule__Case__BodyAssignment_2 : ( ruleConjunctiveExpression ) ; + public final void rule__Case__BodyAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4914:1: ( rule__GlobalRelationInterpretation__Group__6__Impl rule__GlobalRelationInterpretation__Group__7 ) - // InternalSolverLanguage.g:4915:2: rule__GlobalRelationInterpretation__Group__6__Impl rule__GlobalRelationInterpretation__Group__7 + // InternalSolverLanguage.g:8162:1: ( ( ruleConjunctiveExpression ) ) + // InternalSolverLanguage.g:8163:2: ( ruleConjunctiveExpression ) { - pushFollow(FOLLOW_44); - rule__GlobalRelationInterpretation__Group__6__Impl(); - - state._fsp--; - + // InternalSolverLanguage.g:8163:2: ( ruleConjunctiveExpression ) + // InternalSolverLanguage.g:8164:3: ruleConjunctiveExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); + } pushFollow(FOLLOW_2); - rule__GlobalRelationInterpretation__Group__7(); + ruleConjunctiveExpression(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); + } + + } } @@ -15303,47 +26856,34 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__Group__6" + // $ANTLR end "rule__Case__BodyAssignment_2" - // $ANTLR start "rule__GlobalRelationInterpretation__Group__6__Impl" - // InternalSolverLanguage.g:4922:1: rule__GlobalRelationInterpretation__Group__6__Impl : ( ( rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 )? ) ; - public final void rule__GlobalRelationInterpretation__Group__6__Impl() throws RecognitionException { + // $ANTLR start "rule__ConjunctiveExpression__ChildrenAssignment_1_1_1" + // InternalSolverLanguage.g:8173:1: rule__ConjunctiveExpression__ChildrenAssignment_1_1_1 : ( ruleComparisonExpression ) ; + public final void rule__ConjunctiveExpression__ChildrenAssignment_1_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4926:1: ( ( ( rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 )? ) ) - // InternalSolverLanguage.g:4927:1: ( ( rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 )? ) + // InternalSolverLanguage.g:8177:1: ( ( ruleComparisonExpression ) ) + // InternalSolverLanguage.g:8178:2: ( ruleComparisonExpression ) { - // InternalSolverLanguage.g:4927:1: ( ( rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 )? ) - // InternalSolverLanguage.g:4928:2: ( rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 )? + // InternalSolverLanguage.g:8178:2: ( ruleComparisonExpression ) + // InternalSolverLanguage.g:8179:3: ruleComparisonExpression { - before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityAssignment_6()); - // InternalSolverLanguage.g:4929:2: ( rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 )? - int alt47=2; - int LA47_0 = input.LA(1); - - if ( (LA47_0==RULE_INT) ) { - alt47=1; + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); } - switch (alt47) { - case 1 : - // InternalSolverLanguage.g:4929:3: rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 - { - pushFollow(FOLLOW_2); - rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6(); - - state._fsp--; - - - } - break; + pushFollow(FOLLOW_2); + ruleComparisonExpression(); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); } - after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityAssignment_6()); - } @@ -15361,23 +26901,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__Group__6__Impl" + // $ANTLR end "rule__ConjunctiveExpression__ChildrenAssignment_1_1_1" - // $ANTLR start "rule__GlobalRelationInterpretation__Group__7" - // InternalSolverLanguage.g:4937:1: rule__GlobalRelationInterpretation__Group__7 : rule__GlobalRelationInterpretation__Group__7__Impl ; - public final void rule__GlobalRelationInterpretation__Group__7() throws RecognitionException { + // $ANTLR start "rule__ComparisonExpression__OpAssignment_1_1" + // InternalSolverLanguage.g:8188:1: rule__ComparisonExpression__OpAssignment_1_1 : ( ruleComparisonOperator ) ; + public final void rule__ComparisonExpression__OpAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4941:1: ( rule__GlobalRelationInterpretation__Group__7__Impl ) - // InternalSolverLanguage.g:4942:2: rule__GlobalRelationInterpretation__Group__7__Impl + // InternalSolverLanguage.g:8192:1: ( ( ruleComparisonOperator ) ) + // InternalSolverLanguage.g:8193:2: ( ruleComparisonOperator ) + { + // InternalSolverLanguage.g:8193:2: ( ruleComparisonOperator ) + // InternalSolverLanguage.g:8194:3: ruleComparisonOperator { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); + } pushFollow(FOLLOW_2); - rule__GlobalRelationInterpretation__Group__7__Impl(); + ruleComparisonOperator(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); + } + + } } @@ -15394,36 +26946,34 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__Group__7" + // $ANTLR end "rule__ComparisonExpression__OpAssignment_1_1" - // $ANTLR start "rule__GlobalRelationInterpretation__Group__7__Impl" - // InternalSolverLanguage.g:4948:1: rule__GlobalRelationInterpretation__Group__7__Impl : ( ( rule__GlobalRelationInterpretation__TargetAssignment_7 ) ) ; - public final void rule__GlobalRelationInterpretation__Group__7__Impl() throws RecognitionException { + // $ANTLR start "rule__ComparisonExpression__RightAssignment_1_2" + // InternalSolverLanguage.g:8203:1: rule__ComparisonExpression__RightAssignment_1_2 : ( ruleAdditiveExpression ) ; + public final void rule__ComparisonExpression__RightAssignment_1_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4952:1: ( ( ( rule__GlobalRelationInterpretation__TargetAssignment_7 ) ) ) - // InternalSolverLanguage.g:4953:1: ( ( rule__GlobalRelationInterpretation__TargetAssignment_7 ) ) + // InternalSolverLanguage.g:8207:1: ( ( ruleAdditiveExpression ) ) + // InternalSolverLanguage.g:8208:2: ( ruleAdditiveExpression ) { - // InternalSolverLanguage.g:4953:1: ( ( rule__GlobalRelationInterpretation__TargetAssignment_7 ) ) - // InternalSolverLanguage.g:4954:2: ( rule__GlobalRelationInterpretation__TargetAssignment_7 ) - { - before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetAssignment_7()); - // InternalSolverLanguage.g:4955:2: ( rule__GlobalRelationInterpretation__TargetAssignment_7 ) - // InternalSolverLanguage.g:4955:3: rule__GlobalRelationInterpretation__TargetAssignment_7 + // InternalSolverLanguage.g:8208:2: ( ruleAdditiveExpression ) + // InternalSolverLanguage.g:8209:3: ruleAdditiveExpression { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); + } pushFollow(FOLLOW_2); - rule__GlobalRelationInterpretation__TargetAssignment_7(); + ruleAdditiveExpression(); state._fsp--; - - + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); } - after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetAssignment_7()); - } @@ -15441,28 +26991,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__Group__7__Impl" + // $ANTLR end "rule__ComparisonExpression__RightAssignment_1_2" - // $ANTLR start "rule__MultiplicityDefinition__Group__0" - // InternalSolverLanguage.g:4964:1: rule__MultiplicityDefinition__Group__0 : rule__MultiplicityDefinition__Group__0__Impl rule__MultiplicityDefinition__Group__1 ; - public final void rule__MultiplicityDefinition__Group__0() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__OpAssignment_1_1" + // InternalSolverLanguage.g:8218:1: rule__AdditiveExpression__OpAssignment_1_1 : ( ruleAdditiveBinaryOperator ) ; + public final void rule__AdditiveExpression__OpAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4968:1: ( rule__MultiplicityDefinition__Group__0__Impl rule__MultiplicityDefinition__Group__1 ) - // InternalSolverLanguage.g:4969:2: rule__MultiplicityDefinition__Group__0__Impl rule__MultiplicityDefinition__Group__1 + // InternalSolverLanguage.g:8222:1: ( ( ruleAdditiveBinaryOperator ) ) + // InternalSolverLanguage.g:8223:2: ( ruleAdditiveBinaryOperator ) { - pushFollow(FOLLOW_46); - rule__MultiplicityDefinition__Group__0__Impl(); - - state._fsp--; - + // InternalSolverLanguage.g:8223:2: ( ruleAdditiveBinaryOperator ) + // InternalSolverLanguage.g:8224:3: ruleAdditiveBinaryOperator + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); + } pushFollow(FOLLOW_2); - rule__MultiplicityDefinition__Group__1(); + ruleAdditiveBinaryOperator(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); + } + + } } @@ -15479,36 +27036,34 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__MultiplicityDefinition__Group__0" + // $ANTLR end "rule__AdditiveExpression__OpAssignment_1_1" - // $ANTLR start "rule__MultiplicityDefinition__Group__0__Impl" - // InternalSolverLanguage.g:4976:1: rule__MultiplicityDefinition__Group__0__Impl : ( ( rule__MultiplicityDefinition__LowerAssignment_0 ) ) ; - public final void rule__MultiplicityDefinition__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__AdditiveExpression__RightAssignment_1_2" + // InternalSolverLanguage.g:8233:1: rule__AdditiveExpression__RightAssignment_1_2 : ( ruleMultiplicativeExpression ) ; + public final void rule__AdditiveExpression__RightAssignment_1_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4980:1: ( ( ( rule__MultiplicityDefinition__LowerAssignment_0 ) ) ) - // InternalSolverLanguage.g:4981:1: ( ( rule__MultiplicityDefinition__LowerAssignment_0 ) ) + // InternalSolverLanguage.g:8237:1: ( ( ruleMultiplicativeExpression ) ) + // InternalSolverLanguage.g:8238:2: ( ruleMultiplicativeExpression ) { - // InternalSolverLanguage.g:4981:1: ( ( rule__MultiplicityDefinition__LowerAssignment_0 ) ) - // InternalSolverLanguage.g:4982:2: ( rule__MultiplicityDefinition__LowerAssignment_0 ) - { - before(grammarAccess.getMultiplicityDefinitionAccess().getLowerAssignment_0()); - // InternalSolverLanguage.g:4983:2: ( rule__MultiplicityDefinition__LowerAssignment_0 ) - // InternalSolverLanguage.g:4983:3: rule__MultiplicityDefinition__LowerAssignment_0 + // InternalSolverLanguage.g:8238:2: ( ruleMultiplicativeExpression ) + // InternalSolverLanguage.g:8239:3: ruleMultiplicativeExpression { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); + } pushFollow(FOLLOW_2); - rule__MultiplicityDefinition__LowerAssignment_0(); + ruleMultiplicativeExpression(); state._fsp--; - - + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); } - after(grammarAccess.getMultiplicityDefinitionAccess().getLowerAssignment_0()); - } @@ -15526,28 +27081,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__MultiplicityDefinition__Group__0__Impl" + // $ANTLR end "rule__AdditiveExpression__RightAssignment_1_2" - // $ANTLR start "rule__MultiplicityDefinition__Group__1" - // InternalSolverLanguage.g:4991:1: rule__MultiplicityDefinition__Group__1 : rule__MultiplicityDefinition__Group__1__Impl rule__MultiplicityDefinition__Group__2 ; - public final void rule__MultiplicityDefinition__Group__1() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__OpAssignment_1_1" + // InternalSolverLanguage.g:8248:1: rule__MultiplicativeExpression__OpAssignment_1_1 : ( ruleMultiplicativeBinaryOperator ) ; + public final void rule__MultiplicativeExpression__OpAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:4995:1: ( rule__MultiplicityDefinition__Group__1__Impl rule__MultiplicityDefinition__Group__2 ) - // InternalSolverLanguage.g:4996:2: rule__MultiplicityDefinition__Group__1__Impl rule__MultiplicityDefinition__Group__2 + // InternalSolverLanguage.g:8252:1: ( ( ruleMultiplicativeBinaryOperator ) ) + // InternalSolverLanguage.g:8253:2: ( ruleMultiplicativeBinaryOperator ) { - pushFollow(FOLLOW_47); - rule__MultiplicityDefinition__Group__1__Impl(); - - state._fsp--; - + // InternalSolverLanguage.g:8253:2: ( ruleMultiplicativeBinaryOperator ) + // InternalSolverLanguage.g:8254:3: ruleMultiplicativeBinaryOperator + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); + } pushFollow(FOLLOW_2); - rule__MultiplicityDefinition__Group__2(); + ruleMultiplicativeBinaryOperator(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); + } + + } } @@ -15564,25 +27126,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__MultiplicityDefinition__Group__1" + // $ANTLR end "rule__MultiplicativeExpression__OpAssignment_1_1" - // $ANTLR start "rule__MultiplicityDefinition__Group__1__Impl" - // InternalSolverLanguage.g:5003:1: rule__MultiplicityDefinition__Group__1__Impl : ( '..' ) ; - public final void rule__MultiplicityDefinition__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__MultiplicativeExpression__RightAssignment_1_2" + // InternalSolverLanguage.g:8263:1: rule__MultiplicativeExpression__RightAssignment_1_2 : ( ruleExponentialExpression ) ; + public final void rule__MultiplicativeExpression__RightAssignment_1_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5007:1: ( ( '..' ) ) - // InternalSolverLanguage.g:5008:1: ( '..' ) + // InternalSolverLanguage.g:8267:1: ( ( ruleExponentialExpression ) ) + // InternalSolverLanguage.g:8268:2: ( ruleExponentialExpression ) { - // InternalSolverLanguage.g:5008:1: ( '..' ) - // InternalSolverLanguage.g:5009:2: '..' + // InternalSolverLanguage.g:8268:2: ( ruleExponentialExpression ) + // InternalSolverLanguage.g:8269:3: ruleExponentialExpression { - before(grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1()); - match(input,39,FOLLOW_2); - after(grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1()); + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); + } + pushFollow(FOLLOW_2); + ruleExponentialExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); + } } @@ -15601,23 +27171,35 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__MultiplicityDefinition__Group__1__Impl" + // $ANTLR end "rule__MultiplicativeExpression__RightAssignment_1_2" - // $ANTLR start "rule__MultiplicityDefinition__Group__2" - // InternalSolverLanguage.g:5018:1: rule__MultiplicityDefinition__Group__2 : rule__MultiplicityDefinition__Group__2__Impl ; - public final void rule__MultiplicityDefinition__Group__2() throws RecognitionException { + // $ANTLR start "rule__ExponentialExpression__OpAssignment_1_1" + // InternalSolverLanguage.g:8278:1: rule__ExponentialExpression__OpAssignment_1_1 : ( ruleExponentialOp ) ; + public final void rule__ExponentialExpression__OpAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5022:1: ( rule__MultiplicityDefinition__Group__2__Impl ) - // InternalSolverLanguage.g:5023:2: rule__MultiplicityDefinition__Group__2__Impl + // InternalSolverLanguage.g:8282:1: ( ( ruleExponentialOp ) ) + // InternalSolverLanguage.g:8283:2: ( ruleExponentialOp ) { + // InternalSolverLanguage.g:8283:2: ( ruleExponentialOp ) + // InternalSolverLanguage.g:8284:3: ruleExponentialOp + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); + } pushFollow(FOLLOW_2); - rule__MultiplicityDefinition__Group__2__Impl(); + ruleExponentialOp(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); + } + + } } @@ -15634,36 +27216,34 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__MultiplicityDefinition__Group__2" + // $ANTLR end "rule__ExponentialExpression__OpAssignment_1_1" - // $ANTLR start "rule__MultiplicityDefinition__Group__2__Impl" - // InternalSolverLanguage.g:5029:1: rule__MultiplicityDefinition__Group__2__Impl : ( ( rule__MultiplicityDefinition__Alternatives_2 ) ) ; - public final void rule__MultiplicityDefinition__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ExponentialExpression__RightAssignment_1_2" + // InternalSolverLanguage.g:8293:1: rule__ExponentialExpression__RightAssignment_1_2 : ( ruleExponentialExpression ) ; + public final void rule__ExponentialExpression__RightAssignment_1_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5033:1: ( ( ( rule__MultiplicityDefinition__Alternatives_2 ) ) ) - // InternalSolverLanguage.g:5034:1: ( ( rule__MultiplicityDefinition__Alternatives_2 ) ) - { - // InternalSolverLanguage.g:5034:1: ( ( rule__MultiplicityDefinition__Alternatives_2 ) ) - // InternalSolverLanguage.g:5035:2: ( rule__MultiplicityDefinition__Alternatives_2 ) + // InternalSolverLanguage.g:8297:1: ( ( ruleExponentialExpression ) ) + // InternalSolverLanguage.g:8298:2: ( ruleExponentialExpression ) { - before(grammarAccess.getMultiplicityDefinitionAccess().getAlternatives_2()); - // InternalSolverLanguage.g:5036:2: ( rule__MultiplicityDefinition__Alternatives_2 ) - // InternalSolverLanguage.g:5036:3: rule__MultiplicityDefinition__Alternatives_2 + // InternalSolverLanguage.g:8298:2: ( ruleExponentialExpression ) + // InternalSolverLanguage.g:8299:3: ruleExponentialExpression { + if ( state.backtracking==0 ) { + before(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); + } pushFollow(FOLLOW_2); - rule__MultiplicityDefinition__Alternatives_2(); + ruleExponentialExpression(); state._fsp--; - - + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); } - after(grammarAccess.getMultiplicityDefinitionAccess().getAlternatives_2()); - } @@ -15681,29 +27261,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__MultiplicityDefinition__Group__2__Impl" + // $ANTLR end "rule__ExponentialExpression__RightAssignment_1_2" - // $ANTLR start "rule__Problem__StatementsAssignment" - // InternalSolverLanguage.g:5045:1: rule__Problem__StatementsAssignment : ( ruleStatement ) ; - public final void rule__Problem__StatementsAssignment() throws RecognitionException { + // $ANTLR start "rule__UnaryExpression__OpAssignment_1_1" + // InternalSolverLanguage.g:8308:1: rule__UnaryExpression__OpAssignment_1_1 : ( ruleUnaryOp ) ; + public final void rule__UnaryExpression__OpAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5049:1: ( ( ruleStatement ) ) - // InternalSolverLanguage.g:5050:2: ( ruleStatement ) + // InternalSolverLanguage.g:8312:1: ( ( ruleUnaryOp ) ) + // InternalSolverLanguage.g:8313:2: ( ruleUnaryOp ) { - // InternalSolverLanguage.g:5050:2: ( ruleStatement ) - // InternalSolverLanguage.g:5051:3: ruleStatement + // InternalSolverLanguage.g:8313:2: ( ruleUnaryOp ) + // InternalSolverLanguage.g:8314:3: ruleUnaryOp { - before(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); + } pushFollow(FOLLOW_2); - ruleStatement(); + ruleUnaryOp(); state._fsp--; - - after(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); + } } @@ -15722,29 +27306,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Problem__StatementsAssignment" + // $ANTLR end "rule__UnaryExpression__OpAssignment_1_1" - // $ANTLR start "rule__BasicInterpretation__SymbolAssignment_0" - // InternalSolverLanguage.g:5060:1: rule__BasicInterpretation__SymbolAssignment_0 : ( ruleSymbol ) ; - public final void rule__BasicInterpretation__SymbolAssignment_0() throws RecognitionException { + // $ANTLR start "rule__UnaryExpression__BodyAssignment_1_2" + // InternalSolverLanguage.g:8323:1: rule__UnaryExpression__BodyAssignment_1_2 : ( ruleAggregationExpression ) ; + public final void rule__UnaryExpression__BodyAssignment_1_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5064:1: ( ( ruleSymbol ) ) - // InternalSolverLanguage.g:5065:2: ( ruleSymbol ) + // InternalSolverLanguage.g:8327:1: ( ( ruleAggregationExpression ) ) + // InternalSolverLanguage.g:8328:2: ( ruleAggregationExpression ) { - // InternalSolverLanguage.g:5065:2: ( ruleSymbol ) - // InternalSolverLanguage.g:5066:3: ruleSymbol + // InternalSolverLanguage.g:8328:2: ( ruleAggregationExpression ) + // InternalSolverLanguage.g:8329:3: ruleAggregationExpression { - before(grammarAccess.getBasicInterpretationAccess().getSymbolSymbolParserRuleCall_0_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); + } pushFollow(FOLLOW_2); - ruleSymbol(); + ruleAggregationExpression(); state._fsp--; - - after(grammarAccess.getBasicInterpretationAccess().getSymbolSymbolParserRuleCall_0_0()); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); + } } @@ -15763,29 +27351,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__SymbolAssignment_0" + // $ANTLR end "rule__UnaryExpression__BodyAssignment_1_2" - // $ANTLR start "rule__BasicInterpretation__ObjectsAssignment_1_1_0" - // InternalSolverLanguage.g:5075:1: rule__BasicInterpretation__ObjectsAssignment_1_1_0 : ( ruleComplexObject ) ; - public final void rule__BasicInterpretation__ObjectsAssignment_1_1_0() throws RecognitionException { + // $ANTLR start "rule__Count__BodyAssignment_2" + // InternalSolverLanguage.g:8338:1: rule__Count__BodyAssignment_2 : ( ruleExpression ) ; + public final void rule__Count__BodyAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5079:1: ( ( ruleComplexObject ) ) - // InternalSolverLanguage.g:5080:2: ( ruleComplexObject ) + // InternalSolverLanguage.g:8342:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:8343:2: ( ruleExpression ) { - // InternalSolverLanguage.g:5080:2: ( ruleComplexObject ) - // InternalSolverLanguage.g:5081:3: ruleComplexObject + // InternalSolverLanguage.g:8343:2: ( ruleExpression ) + // InternalSolverLanguage.g:8344:3: ruleExpression { - before(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); + } pushFollow(FOLLOW_2); - ruleComplexObject(); + ruleExpression(); state._fsp--; - - after(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0()); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); + } } @@ -15804,29 +27396,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__ObjectsAssignment_1_1_0" + // $ANTLR end "rule__Count__BodyAssignment_2" - // $ANTLR start "rule__BasicInterpretation__ObjectsAssignment_1_1_1_1" - // InternalSolverLanguage.g:5090:1: rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 : ( ruleComplexObject ) ; - public final void rule__BasicInterpretation__ObjectsAssignment_1_1_1_1() throws RecognitionException { + // $ANTLR start "rule__Aggregation__OpAssignment_0" + // InternalSolverLanguage.g:8353:1: rule__Aggregation__OpAssignment_0 : ( ruleAggregationOp ) ; + public final void rule__Aggregation__OpAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5094:1: ( ( ruleComplexObject ) ) - // InternalSolverLanguage.g:5095:2: ( ruleComplexObject ) + // InternalSolverLanguage.g:8357:1: ( ( ruleAggregationOp ) ) + // InternalSolverLanguage.g:8358:2: ( ruleAggregationOp ) { - // InternalSolverLanguage.g:5095:2: ( ruleComplexObject ) - // InternalSolverLanguage.g:5096:3: ruleComplexObject + // InternalSolverLanguage.g:8358:2: ( ruleAggregationOp ) + // InternalSolverLanguage.g:8359:3: ruleAggregationOp { - before(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); + } pushFollow(FOLLOW_2); - ruleComplexObject(); + ruleAggregationOp(); state._fsp--; - - after(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0()); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); + } } @@ -15845,29 +27441,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__ObjectsAssignment_1_1_1_1" + // $ANTLR end "rule__Aggregation__OpAssignment_0" - // $ANTLR start "rule__BasicInterpretation__ValueAssignment_3" - // InternalSolverLanguage.g:5105:1: rule__BasicInterpretation__ValueAssignment_3 : ( ruleTruthValue ) ; - public final void rule__BasicInterpretation__ValueAssignment_3() throws RecognitionException { + // $ANTLR start "rule__Aggregation__BodyAssignment_2" + // InternalSolverLanguage.g:8368:1: rule__Aggregation__BodyAssignment_2 : ( ruleExpression ) ; + public final void rule__Aggregation__BodyAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5109:1: ( ( ruleTruthValue ) ) - // InternalSolverLanguage.g:5110:2: ( ruleTruthValue ) + // InternalSolverLanguage.g:8372:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:8373:2: ( ruleExpression ) { - // InternalSolverLanguage.g:5110:2: ( ruleTruthValue ) - // InternalSolverLanguage.g:5111:3: ruleTruthValue + // InternalSolverLanguage.g:8373:2: ( ruleExpression ) + // InternalSolverLanguage.g:8374:3: ruleExpression { - before(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); + } pushFollow(FOLLOW_2); - ruleTruthValue(); + ruleExpression(); state._fsp--; - - after(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0()); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); + } } @@ -15886,25 +27486,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BasicInterpretation__ValueAssignment_3" + // $ANTLR end "rule__Aggregation__BodyAssignment_2" - // $ANTLR start "rule__ModelSymbol__NameAssignment" - // InternalSolverLanguage.g:5120:1: rule__ModelSymbol__NameAssignment : ( RULE_ID ) ; - public final void rule__ModelSymbol__NameAssignment() throws RecognitionException { + // $ANTLR start "rule__Aggregation__ConditionAssignment_4" + // InternalSolverLanguage.g:8383:1: rule__Aggregation__ConditionAssignment_4 : ( ruleExpression ) ; + public final void rule__Aggregation__ConditionAssignment_4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5124:1: ( ( RULE_ID ) ) - // InternalSolverLanguage.g:5125:2: ( RULE_ID ) + // InternalSolverLanguage.g:8387:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:8388:2: ( ruleExpression ) { - // InternalSolverLanguage.g:5125:2: ( RULE_ID ) - // InternalSolverLanguage.g:5126:3: RULE_ID + // InternalSolverLanguage.g:8388:2: ( ruleExpression ) + // InternalSolverLanguage.g:8389:3: ruleExpression { - before(grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0()); - match(input,RULE_ID,FOLLOW_2); - after(grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); + } + pushFollow(FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); + } } @@ -15923,25 +27531,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ModelSymbol__NameAssignment" + // $ANTLR end "rule__Aggregation__ConditionAssignment_4" - // $ANTLR start "rule__NamedObject__NameAssignment_1" - // InternalSolverLanguage.g:5135:1: rule__NamedObject__NameAssignment_1 : ( RULE_ID ) ; - public final void rule__NamedObject__NameAssignment_1() throws RecognitionException { + // $ANTLR start "rule__AtomicExpression__ArgumentListAssignment_0_1_1" + // InternalSolverLanguage.g:8398:1: rule__AtomicExpression__ArgumentListAssignment_0_1_1 : ( ruleArgumentList ) ; + public final void rule__AtomicExpression__ArgumentListAssignment_0_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5139:1: ( ( RULE_ID ) ) - // InternalSolverLanguage.g:5140:2: ( RULE_ID ) + // InternalSolverLanguage.g:8402:1: ( ( ruleArgumentList ) ) + // InternalSolverLanguage.g:8403:2: ( ruleArgumentList ) { - // InternalSolverLanguage.g:5140:2: ( RULE_ID ) - // InternalSolverLanguage.g:5141:3: RULE_ID + // InternalSolverLanguage.g:8403:2: ( ruleArgumentList ) + // InternalSolverLanguage.g:8404:3: ruleArgumentList { - before(grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0()); - match(input,RULE_ID,FOLLOW_2); - after(grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getArgumentListArgumentListParserRuleCall_0_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleArgumentList(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getArgumentListArgumentListParserRuleCall_0_1_1_0()); + } } @@ -15960,25 +27576,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__NamedObject__NameAssignment_1" + // $ANTLR end "rule__AtomicExpression__ArgumentListAssignment_0_1_1" - // $ANTLR start "rule__UnnamedObject__NameAssignment" - // InternalSolverLanguage.g:5150:1: rule__UnnamedObject__NameAssignment : ( RULE_ID ) ; - public final void rule__UnnamedObject__NameAssignment() throws RecognitionException { + // $ANTLR start "rule__Call__FunctorAssignment_0" + // InternalSolverLanguage.g:8413:1: rule__Call__FunctorAssignment_0 : ( ruleReference ) ; + public final void rule__Call__FunctorAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5154:1: ( ( RULE_ID ) ) - // InternalSolverLanguage.g:5155:2: ( RULE_ID ) + // InternalSolverLanguage.g:8417:1: ( ( ruleReference ) ) + // InternalSolverLanguage.g:8418:2: ( ruleReference ) { - // InternalSolverLanguage.g:5155:2: ( RULE_ID ) - // InternalSolverLanguage.g:5156:3: RULE_ID + // InternalSolverLanguage.g:8418:2: ( ruleReference ) + // InternalSolverLanguage.g:8419:3: ruleReference { - before(grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0()); - match(input,RULE_ID,FOLLOW_2); - after(grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleReference(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); + } } @@ -15997,29 +27621,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__UnnamedObject__NameAssignment" + // $ANTLR end "rule__Call__FunctorAssignment_0" - // $ANTLR start "rule__BooleanObject__ValueAssignment" - // InternalSolverLanguage.g:5165:1: rule__BooleanObject__ValueAssignment : ( ruleBooleanValue ) ; - public final void rule__BooleanObject__ValueAssignment() throws RecognitionException { + // $ANTLR start "rule__Call__TransitiveClosureAssignment_1_0" + // InternalSolverLanguage.g:8428:1: rule__Call__TransitiveClosureAssignment_1_0 : ( RULE_STAR ) ; + public final void rule__Call__TransitiveClosureAssignment_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5169:1: ( ( ruleBooleanValue ) ) - // InternalSolverLanguage.g:5170:2: ( ruleBooleanValue ) + // InternalSolverLanguage.g:8432:1: ( ( RULE_STAR ) ) + // InternalSolverLanguage.g:8433:2: ( RULE_STAR ) { - // InternalSolverLanguage.g:5170:2: ( ruleBooleanValue ) - // InternalSolverLanguage.g:5171:3: ruleBooleanValue + // InternalSolverLanguage.g:8433:2: ( RULE_STAR ) + // InternalSolverLanguage.g:8434:3: RULE_STAR { - before(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0()); - pushFollow(FOLLOW_2); - ruleBooleanValue(); - - state._fsp--; - - after(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getCallAccess().getTransitiveClosureSTARTerminalRuleCall_1_0_0()); + } + match(input,RULE_STAR,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCallAccess().getTransitiveClosureSTARTerminalRuleCall_1_0_0()); + } } @@ -16038,29 +27662,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__BooleanObject__ValueAssignment" + // $ANTLR end "rule__Call__TransitiveClosureAssignment_1_0" - // $ANTLR start "rule__IntObject__ValueAssignment" - // InternalSolverLanguage.g:5180:1: rule__IntObject__ValueAssignment : ( ruleINTLiteral ) ; - public final void rule__IntObject__ValueAssignment() throws RecognitionException { + // $ANTLR start "rule__Call__ReflexiveTransitiveClosureAssignment_1_1" + // InternalSolverLanguage.g:8443:1: rule__Call__ReflexiveTransitiveClosureAssignment_1_1 : ( RULE_PLUS ) ; + public final void rule__Call__ReflexiveTransitiveClosureAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5184:1: ( ( ruleINTLiteral ) ) - // InternalSolverLanguage.g:5185:2: ( ruleINTLiteral ) + // InternalSolverLanguage.g:8447:1: ( ( RULE_PLUS ) ) + // InternalSolverLanguage.g:8448:2: ( RULE_PLUS ) { - // InternalSolverLanguage.g:5185:2: ( ruleINTLiteral ) - // InternalSolverLanguage.g:5186:3: ruleINTLiteral + // InternalSolverLanguage.g:8448:2: ( RULE_PLUS ) + // InternalSolverLanguage.g:8449:3: RULE_PLUS { - before(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0()); - pushFollow(FOLLOW_2); - ruleINTLiteral(); - - state._fsp--; - - after(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getCallAccess().getReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0()); + } + match(input,RULE_PLUS,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCallAccess().getReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0()); + } } @@ -16079,29 +27703,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__IntObject__ValueAssignment" + // $ANTLR end "rule__Call__ReflexiveTransitiveClosureAssignment_1_1" - // $ANTLR start "rule__RealObject__ValueAssignment" - // InternalSolverLanguage.g:5195:1: rule__RealObject__ValueAssignment : ( ruleREALLiteral ) ; - public final void rule__RealObject__ValueAssignment() throws RecognitionException { + // $ANTLR start "rule__Call__ArgumentListAssignment_2" + // InternalSolverLanguage.g:8458:1: rule__Call__ArgumentListAssignment_2 : ( ruleArgumentList ) ; + public final void rule__Call__ArgumentListAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5199:1: ( ( ruleREALLiteral ) ) - // InternalSolverLanguage.g:5200:2: ( ruleREALLiteral ) + // InternalSolverLanguage.g:8462:1: ( ( ruleArgumentList ) ) + // InternalSolverLanguage.g:8463:2: ( ruleArgumentList ) { - // InternalSolverLanguage.g:5200:2: ( ruleREALLiteral ) - // InternalSolverLanguage.g:5201:3: ruleREALLiteral + // InternalSolverLanguage.g:8463:2: ( ruleArgumentList ) + // InternalSolverLanguage.g:8464:3: ruleArgumentList { - before(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); + } pushFollow(FOLLOW_2); - ruleREALLiteral(); + ruleArgumentList(); state._fsp--; - - after(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0()); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); + } } @@ -16120,25 +27748,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__RealObject__ValueAssignment" + // $ANTLR end "rule__Call__ArgumentListAssignment_2" - // $ANTLR start "rule__StringObject__ValueAssignment" - // InternalSolverLanguage.g:5210:1: rule__StringObject__ValueAssignment : ( RULE_STRING ) ; - public final void rule__StringObject__ValueAssignment() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__ArgumentsAssignment_2_0" + // InternalSolverLanguage.g:8473:1: rule__ArgumentList__ArgumentsAssignment_2_0 : ( ruleArgument ) ; + public final void rule__ArgumentList__ArgumentsAssignment_2_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5214:1: ( ( RULE_STRING ) ) - // InternalSolverLanguage.g:5215:2: ( RULE_STRING ) + // InternalSolverLanguage.g:8477:1: ( ( ruleArgument ) ) + // InternalSolverLanguage.g:8478:2: ( ruleArgument ) { - // InternalSolverLanguage.g:5215:2: ( RULE_STRING ) - // InternalSolverLanguage.g:5216:3: RULE_STRING + // InternalSolverLanguage.g:8478:2: ( ruleArgument ) + // InternalSolverLanguage.g:8479:3: ruleArgument { - before(grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0()); - match(input,RULE_STRING,FOLLOW_2); - after(grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); + } + pushFollow(FOLLOW_2); + ruleArgument(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); + } } @@ -16157,33 +27793,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__StringObject__ValueAssignment" + // $ANTLR end "rule__ArgumentList__ArgumentsAssignment_2_0" - // $ANTLR start "rule__Predicate__IsErrorAssignment_0" - // InternalSolverLanguage.g:5225:1: rule__Predicate__IsErrorAssignment_0 : ( ( 'error' ) ) ; - public final void rule__Predicate__IsErrorAssignment_0() throws RecognitionException { + // $ANTLR start "rule__ArgumentList__ArgumentsAssignment_2_1_1" + // InternalSolverLanguage.g:8488:1: rule__ArgumentList__ArgumentsAssignment_2_1_1 : ( ruleArgument ) ; + public final void rule__ArgumentList__ArgumentsAssignment_2_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5229:1: ( ( ( 'error' ) ) ) - // InternalSolverLanguage.g:5230:2: ( ( 'error' ) ) + // InternalSolverLanguage.g:8492:1: ( ( ruleArgument ) ) + // InternalSolverLanguage.g:8493:2: ( ruleArgument ) { - // InternalSolverLanguage.g:5230:2: ( ( 'error' ) ) - // InternalSolverLanguage.g:5231:3: ( 'error' ) + // InternalSolverLanguage.g:8493:2: ( ruleArgument ) + // InternalSolverLanguage.g:8494:3: ruleArgument { - before(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); - // InternalSolverLanguage.g:5232:3: ( 'error' ) - // InternalSolverLanguage.g:5233:4: 'error' - { - before(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); - match(input,16,FOLLOW_2); - after(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); - + if ( state.backtracking==0 ) { + before(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); } + pushFollow(FOLLOW_2); + ruleArgument(); - after(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); + } } @@ -16202,29 +27838,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__IsErrorAssignment_0" + // $ANTLR end "rule__ArgumentList__ArgumentsAssignment_2_1_1" - // $ANTLR start "rule__Predicate__SymbolAssignment_1" - // InternalSolverLanguage.g:5244:1: rule__Predicate__SymbolAssignment_1 : ( ruleModelSymbol ) ; - public final void rule__Predicate__SymbolAssignment_1() throws RecognitionException { + // $ANTLR start "rule__ExpressionArgument__BodyAssignment" + // InternalSolverLanguage.g:8503:1: rule__ExpressionArgument__BodyAssignment : ( ruleComparisonExpression ) ; + public final void rule__ExpressionArgument__BodyAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5248:1: ( ( ruleModelSymbol ) ) - // InternalSolverLanguage.g:5249:2: ( ruleModelSymbol ) + // InternalSolverLanguage.g:8507:1: ( ( ruleComparisonExpression ) ) + // InternalSolverLanguage.g:8508:2: ( ruleComparisonExpression ) { - // InternalSolverLanguage.g:5249:2: ( ruleModelSymbol ) - // InternalSolverLanguage.g:5250:3: ruleModelSymbol + // InternalSolverLanguage.g:8508:2: ( ruleComparisonExpression ) + // InternalSolverLanguage.g:8509:3: ruleComparisonExpression { - before(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); + } pushFollow(FOLLOW_2); - ruleModelSymbol(); + ruleComparisonExpression(); state._fsp--; - - after(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0()); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); + } } @@ -16243,29 +27883,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__SymbolAssignment_1" + // $ANTLR end "rule__ExpressionArgument__BodyAssignment" - // $ANTLR start "rule__Predicate__ParametersAssignment_2_1_0" - // InternalSolverLanguage.g:5259:1: rule__Predicate__ParametersAssignment_2_1_0 : ( ruleParameter ) ; - public final void rule__Predicate__ParametersAssignment_2_1_0() throws RecognitionException { + // $ANTLR start "rule__TypedArgument__TypeAssignment_0" + // InternalSolverLanguage.g:8518:1: rule__TypedArgument__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ; + public final void rule__TypedArgument__TypeAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5263:1: ( ( ruleParameter ) ) - // InternalSolverLanguage.g:5264:2: ( ruleParameter ) + // InternalSolverLanguage.g:8522:1: ( ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguage.g:8523:2: ( ( ruleQualifiedName ) ) { - // InternalSolverLanguage.g:5264:2: ( ruleParameter ) - // InternalSolverLanguage.g:5265:3: ruleParameter + // InternalSolverLanguage.g:8523:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:8524:3: ( ruleQualifiedName ) { - before(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0()); + } + // InternalSolverLanguage.g:8525:3: ( ruleQualifiedName ) + // InternalSolverLanguage.g:8526:4: ruleQualifiedName + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypedArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); + } pushFollow(FOLLOW_2); - ruleParameter(); + ruleQualifiedName(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypedArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); + } - after(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0()); + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0()); + } } @@ -16284,29 +27940,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__ParametersAssignment_2_1_0" + // $ANTLR end "rule__TypedArgument__TypeAssignment_0" - // $ANTLR start "rule__Predicate__ParametersAssignment_2_1_1_1" - // InternalSolverLanguage.g:5274:1: rule__Predicate__ParametersAssignment_2_1_1_1 : ( ruleParameter ) ; - public final void rule__Predicate__ParametersAssignment_2_1_1_1() throws RecognitionException { + // $ANTLR start "rule__TypedArgument__VariableAssignment_1" + // InternalSolverLanguage.g:8537:1: rule__TypedArgument__VariableAssignment_1 : ( ( ruleQualifiedName ) ) ; + public final void rule__TypedArgument__VariableAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5278:1: ( ( ruleParameter ) ) - // InternalSolverLanguage.g:5279:2: ( ruleParameter ) + // InternalSolverLanguage.g:8541:1: ( ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguage.g:8542:2: ( ( ruleQualifiedName ) ) + { + // InternalSolverLanguage.g:8542:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:8543:3: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:5279:2: ( ruleParameter ) - // InternalSolverLanguage.g:5280:3: ruleParameter + if ( state.backtracking==0 ) { + before(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0()); + } + // InternalSolverLanguage.g:8544:3: ( ruleQualifiedName ) + // InternalSolverLanguage.g:8545:4: ruleQualifiedName { - before(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getTypedArgumentAccess().getVariableNamedElementQualifiedNameParserRuleCall_1_0_1()); + } pushFollow(FOLLOW_2); - ruleParameter(); + ruleQualifiedName(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypedArgumentAccess().getVariableNamedElementQualifiedNameParserRuleCall_1_0_1()); + } + + } - after(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0()); + } } @@ -16325,29 +27997,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__ParametersAssignment_2_1_1_1" + // $ANTLR end "rule__TypedArgument__VariableAssignment_1" - // $ANTLR start "rule__Predicate__BodiesAssignment_4_1_0" - // InternalSolverLanguage.g:5289:1: rule__Predicate__BodiesAssignment_4_1_0 : ( rulePatternBody ) ; - public final void rule__Predicate__BodiesAssignment_4_1_0() throws RecognitionException { + // $ANTLR start "rule__TypedStarArgument__TypeAssignment_0" + // InternalSolverLanguage.g:8556:1: rule__TypedStarArgument__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ; + public final void rule__TypedStarArgument__TypeAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5293:1: ( ( rulePatternBody ) ) - // InternalSolverLanguage.g:5294:2: ( rulePatternBody ) + // InternalSolverLanguage.g:8560:1: ( ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguage.g:8561:2: ( ( ruleQualifiedName ) ) { - // InternalSolverLanguage.g:5294:2: ( rulePatternBody ) - // InternalSolverLanguage.g:5295:3: rulePatternBody + // InternalSolverLanguage.g:8561:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:8562:3: ( ruleQualifiedName ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); + } + // InternalSolverLanguage.g:8563:3: ( ruleQualifiedName ) + // InternalSolverLanguage.g:8564:4: ruleQualifiedName { - before(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); + } pushFollow(FOLLOW_2); - rulePatternBody(); + ruleQualifiedName(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1()); + } + + } - after(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); + } } @@ -16366,29 +28054,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__BodiesAssignment_4_1_0" + // $ANTLR end "rule__TypedStarArgument__TypeAssignment_0" - // $ANTLR start "rule__Predicate__BodiesAssignment_4_1_1_1" - // InternalSolverLanguage.g:5304:1: rule__Predicate__BodiesAssignment_4_1_1_1 : ( rulePatternBody ) ; - public final void rule__Predicate__BodiesAssignment_4_1_1_1() throws RecognitionException { + // $ANTLR start "rule__Reference__ReferredAssignment" + // InternalSolverLanguage.g:8575:1: rule__Reference__ReferredAssignment : ( ( ruleQualifiedName ) ) ; + public final void rule__Reference__ReferredAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5308:1: ( ( rulePatternBody ) ) - // InternalSolverLanguage.g:5309:2: ( rulePatternBody ) + // InternalSolverLanguage.g:8579:1: ( ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguage.g:8580:2: ( ( ruleQualifiedName ) ) + { + // InternalSolverLanguage.g:8580:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:8581:3: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:5309:2: ( rulePatternBody ) - // InternalSolverLanguage.g:5310:3: rulePatternBody + if ( state.backtracking==0 ) { + before(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); + } + // InternalSolverLanguage.g:8582:3: ( ruleQualifiedName ) + // InternalSolverLanguage.g:8583:4: ruleQualifiedName { - before(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getReferenceAccess().getReferredNamedElementQualifiedNameParserRuleCall_0_1()); + } pushFollow(FOLLOW_2); - rulePatternBody(); + ruleQualifiedName(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getReferenceAccess().getReferredNamedElementQualifiedNameParserRuleCall_0_1()); + } + + } - after(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); + } } @@ -16407,29 +28111,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Predicate__BodiesAssignment_4_1_1_1" + // $ANTLR end "rule__Reference__ReferredAssignment" - // $ANTLR start "rule__Parameter__VariableAssignment_0" - // InternalSolverLanguage.g:5319:1: rule__Parameter__VariableAssignment_0 : ( ruleVariable ) ; - public final void rule__Parameter__VariableAssignment_0() throws RecognitionException { + // $ANTLR start "rule__Interval__LowerBoundAssignment_1" + // InternalSolverLanguage.g:8594:1: rule__Interval__LowerBoundAssignment_1 : ( ruleExpression ) ; + public final void rule__Interval__LowerBoundAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5323:1: ( ( ruleVariable ) ) - // InternalSolverLanguage.g:5324:2: ( ruleVariable ) + // InternalSolverLanguage.g:8598:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:8599:2: ( ruleExpression ) { - // InternalSolverLanguage.g:5324:2: ( ruleVariable ) - // InternalSolverLanguage.g:5325:3: ruleVariable + // InternalSolverLanguage.g:8599:2: ( ruleExpression ) + // InternalSolverLanguage.g:8600:3: ruleExpression { - before(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); + } pushFollow(FOLLOW_2); - ruleVariable(); + ruleExpression(); state._fsp--; - - after(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0()); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); + } } @@ -16448,29 +28156,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Parameter__VariableAssignment_0" + // $ANTLR end "rule__Interval__LowerBoundAssignment_1" - // $ANTLR start "rule__Parameter__TypeAssignment_1_1" - // InternalSolverLanguage.g:5334:1: rule__Parameter__TypeAssignment_1_1 : ( ruleSymbol ) ; - public final void rule__Parameter__TypeAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__Interval__UpperBoundAssignment_3" + // InternalSolverLanguage.g:8609:1: rule__Interval__UpperBoundAssignment_3 : ( ruleExpression ) ; + public final void rule__Interval__UpperBoundAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5338:1: ( ( ruleSymbol ) ) - // InternalSolverLanguage.g:5339:2: ( ruleSymbol ) + // InternalSolverLanguage.g:8613:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:8614:2: ( ruleExpression ) { - // InternalSolverLanguage.g:5339:2: ( ruleSymbol ) - // InternalSolverLanguage.g:5340:3: ruleSymbol + // InternalSolverLanguage.g:8614:2: ( ruleExpression ) + // InternalSolverLanguage.g:8615:3: ruleExpression { - before(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); + } pushFollow(FOLLOW_2); - ruleSymbol(); + ruleExpression(); state._fsp--; - - after(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0()); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); + } } @@ -16489,29 +28201,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Parameter__TypeAssignment_1_1" + // $ANTLR end "rule__Interval__UpperBoundAssignment_3" - // $ANTLR start "rule__PatternBody__ConstraintsAssignment_1_1" - // InternalSolverLanguage.g:5349:1: rule__PatternBody__ConstraintsAssignment_1_1 : ( ruleConstraint ) ; - public final void rule__PatternBody__ConstraintsAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__LogicLiteral__ValueAssignment" + // InternalSolverLanguage.g:8624:1: rule__LogicLiteral__ValueAssignment : ( ruleLogicValue ) ; + public final void rule__LogicLiteral__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5353:1: ( ( ruleConstraint ) ) - // InternalSolverLanguage.g:5354:2: ( ruleConstraint ) + // InternalSolverLanguage.g:8628:1: ( ( ruleLogicValue ) ) + // InternalSolverLanguage.g:8629:2: ( ruleLogicValue ) { - // InternalSolverLanguage.g:5354:2: ( ruleConstraint ) - // InternalSolverLanguage.g:5355:3: ruleConstraint + // InternalSolverLanguage.g:8629:2: ( ruleLogicValue ) + // InternalSolverLanguage.g:8630:3: ruleLogicValue { - before(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); + } pushFollow(FOLLOW_2); - ruleConstraint(); + ruleLogicValue(); state._fsp--; - - after(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0()); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); + } } @@ -16530,29 +28246,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__PatternBody__ConstraintsAssignment_1_1" + // $ANTLR end "rule__LogicLiteral__ValueAssignment" - // $ANTLR start "rule__Constraint__PolarityAssignment_0_0" - // InternalSolverLanguage.g:5364:1: rule__Constraint__PolarityAssignment_0_0 : ( rulePolarity ) ; - public final void rule__Constraint__PolarityAssignment_0_0() throws RecognitionException { + // $ANTLR start "rule__NumericLiteral__ValueAssignment" + // InternalSolverLanguage.g:8639:1: rule__NumericLiteral__ValueAssignment : ( ruleReal ) ; + public final void rule__NumericLiteral__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5368:1: ( ( rulePolarity ) ) - // InternalSolverLanguage.g:5369:2: ( rulePolarity ) + // InternalSolverLanguage.g:8643:1: ( ( ruleReal ) ) + // InternalSolverLanguage.g:8644:2: ( ruleReal ) { - // InternalSolverLanguage.g:5369:2: ( rulePolarity ) - // InternalSolverLanguage.g:5370:3: rulePolarity + // InternalSolverLanguage.g:8644:2: ( ruleReal ) + // InternalSolverLanguage.g:8645:3: ruleReal { - before(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); + } pushFollow(FOLLOW_2); - rulePolarity(); + ruleReal(); state._fsp--; - - after(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0()); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); + } } @@ -16571,29 +28291,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__PolarityAssignment_0_0" + // $ANTLR end "rule__NumericLiteral__ValueAssignment" - // $ANTLR start "rule__Constraint__SymbolAssignment_0_1" - // InternalSolverLanguage.g:5379:1: rule__Constraint__SymbolAssignment_0_1 : ( ruleModelSymbol ) ; - public final void rule__Constraint__SymbolAssignment_0_1() throws RecognitionException { + // $ANTLR start "rule__StringLiteral__ValueAssignment" + // InternalSolverLanguage.g:8654:1: rule__StringLiteral__ValueAssignment : ( RULE_STRING ) ; + public final void rule__StringLiteral__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5383:1: ( ( ruleModelSymbol ) ) - // InternalSolverLanguage.g:5384:2: ( ruleModelSymbol ) + // InternalSolverLanguage.g:8658:1: ( ( RULE_STRING ) ) + // InternalSolverLanguage.g:8659:2: ( RULE_STRING ) { - // InternalSolverLanguage.g:5384:2: ( ruleModelSymbol ) - // InternalSolverLanguage.g:5385:3: ruleModelSymbol + // InternalSolverLanguage.g:8659:2: ( RULE_STRING ) + // InternalSolverLanguage.g:8660:3: RULE_STRING { - before(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0()); - pushFollow(FOLLOW_2); - ruleModelSymbol(); - - state._fsp--; - - after(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0()); + } + match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0()); + } } @@ -16612,29 +28332,41 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__SymbolAssignment_0_1" + // $ANTLR end "rule__StringLiteral__ValueAssignment" - // $ANTLR start "rule__Constraint__ParamsAssignment_0_2_1" - // InternalSolverLanguage.g:5394:1: rule__Constraint__ParamsAssignment_0_2_1 : ( ruleLiteral ) ; - public final void rule__Constraint__ParamsAssignment_0_2_1() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__AbstractAssignment_0" + // InternalSolverLanguage.g:8669:1: rule__ClassDefinition__AbstractAssignment_0 : ( ( 'abstract' ) ) ; + public final void rule__ClassDefinition__AbstractAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5398:1: ( ( ruleLiteral ) ) - // InternalSolverLanguage.g:5399:2: ( ruleLiteral ) + // InternalSolverLanguage.g:8673:1: ( ( ( 'abstract' ) ) ) + // InternalSolverLanguage.g:8674:2: ( ( 'abstract' ) ) { - // InternalSolverLanguage.g:5399:2: ( ruleLiteral ) - // InternalSolverLanguage.g:5400:3: ruleLiteral + // InternalSolverLanguage.g:8674:2: ( ( 'abstract' ) ) + // InternalSolverLanguage.g:8675:3: ( 'abstract' ) { - before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0()); - pushFollow(FOLLOW_2); - ruleLiteral(); + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); + } + // InternalSolverLanguage.g:8676:3: ( 'abstract' ) + // InternalSolverLanguage.g:8677:4: 'abstract' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); + } + match(input,73,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); + } - state._fsp--; + } - after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); + } } @@ -16653,29 +28385,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__ParamsAssignment_0_2_1" + // $ANTLR end "rule__ClassDefinition__AbstractAssignment_0" - // $ANTLR start "rule__Constraint__ParamsAssignment_0_2_2_1" - // InternalSolverLanguage.g:5409:1: rule__Constraint__ParamsAssignment_0_2_2_1 : ( ruleLiteral ) ; - public final void rule__Constraint__ParamsAssignment_0_2_2_1() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__NameAssignment_2" + // InternalSolverLanguage.g:8688:1: rule__ClassDefinition__NameAssignment_2 : ( RULE_ID ) ; + public final void rule__ClassDefinition__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5413:1: ( ( ruleLiteral ) ) - // InternalSolverLanguage.g:5414:2: ( ruleLiteral ) + // InternalSolverLanguage.g:8692:1: ( ( RULE_ID ) ) + // InternalSolverLanguage.g:8693:2: ( RULE_ID ) { - // InternalSolverLanguage.g:5414:2: ( ruleLiteral ) - // InternalSolverLanguage.g:5415:3: ruleLiteral + // InternalSolverLanguage.g:8693:2: ( RULE_ID ) + // InternalSolverLanguage.g:8694:3: RULE_ID { - before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0()); - pushFollow(FOLLOW_2); - ruleLiteral(); - - state._fsp--; - - after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); + } + match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); + } } @@ -16694,29 +28426,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__ParamsAssignment_0_2_2_1" + // $ANTLR end "rule__ClassDefinition__NameAssignment_2" - // $ANTLR start "rule__Constraint__ClosureTypeAssignment_1_0" - // InternalSolverLanguage.g:5424:1: rule__Constraint__ClosureTypeAssignment_1_0 : ( ruleClosureType ) ; - public final void rule__Constraint__ClosureTypeAssignment_1_0() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__SuperclassesAssignment_3_1" + // InternalSolverLanguage.g:8703:1: rule__ClassDefinition__SuperclassesAssignment_3_1 : ( ( ruleQualifiedName ) ) ; + public final void rule__ClassDefinition__SuperclassesAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5428:1: ( ( ruleClosureType ) ) - // InternalSolverLanguage.g:5429:2: ( ruleClosureType ) + // InternalSolverLanguage.g:8707:1: ( ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguage.g:8708:2: ( ( ruleQualifiedName ) ) { - // InternalSolverLanguage.g:5429:2: ( ruleClosureType ) - // InternalSolverLanguage.g:5430:3: ruleClosureType + // InternalSolverLanguage.g:8708:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:8709:3: ( ruleQualifiedName ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); + } + // InternalSolverLanguage.g:8710:3: ( ruleQualifiedName ) + // InternalSolverLanguage.g:8711:4: ruleQualifiedName { - before(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1()); + } pushFollow(FOLLOW_2); - ruleClosureType(); + ruleQualifiedName(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1()); + } + + } - after(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); + } } @@ -16735,29 +28483,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__ClosureTypeAssignment_1_0" + // $ANTLR end "rule__ClassDefinition__SuperclassesAssignment_3_1" - // $ANTLR start "rule__Constraint__ParamsAssignment_1_2" - // InternalSolverLanguage.g:5439:1: rule__Constraint__ParamsAssignment_1_2 : ( ruleLiteral ) ; - public final void rule__Constraint__ParamsAssignment_1_2() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__SuperclassesAssignment_3_2_1" + // InternalSolverLanguage.g:8722:1: rule__ClassDefinition__SuperclassesAssignment_3_2_1 : ( ( ruleQualifiedName ) ) ; + public final void rule__ClassDefinition__SuperclassesAssignment_3_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5443:1: ( ( ruleLiteral ) ) - // InternalSolverLanguage.g:5444:2: ( ruleLiteral ) + // InternalSolverLanguage.g:8726:1: ( ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguage.g:8727:2: ( ( ruleQualifiedName ) ) + { + // InternalSolverLanguage.g:8727:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:8728:3: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:5444:2: ( ruleLiteral ) - // InternalSolverLanguage.g:5445:3: ruleLiteral + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); + } + // InternalSolverLanguage.g:8729:3: ( ruleQualifiedName ) + // InternalSolverLanguage.g:8730:4: ruleQualifiedName { - before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1()); + } pushFollow(FOLLOW_2); - ruleLiteral(); + ruleQualifiedName(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1()); + } + + } - after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); + } } @@ -16776,29 +28540,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__ParamsAssignment_1_2" + // $ANTLR end "rule__ClassDefinition__SuperclassesAssignment_3_2_1" - // $ANTLR start "rule__Constraint__ParamsAssignment_1_3_1" - // InternalSolverLanguage.g:5454:1: rule__Constraint__ParamsAssignment_1_3_1 : ( ruleLiteral ) ; - public final void rule__Constraint__ParamsAssignment_1_3_1() throws RecognitionException { + // $ANTLR start "rule__ClassDefinition__MembersAssignment_5" + // InternalSolverLanguage.g:8741:1: rule__ClassDefinition__MembersAssignment_5 : ( ruleMemberDefinition ) ; + public final void rule__ClassDefinition__MembersAssignment_5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5458:1: ( ( ruleLiteral ) ) - // InternalSolverLanguage.g:5459:2: ( ruleLiteral ) + // InternalSolverLanguage.g:8745:1: ( ( ruleMemberDefinition ) ) + // InternalSolverLanguage.g:8746:2: ( ruleMemberDefinition ) { - // InternalSolverLanguage.g:5459:2: ( ruleLiteral ) - // InternalSolverLanguage.g:5460:3: ruleLiteral + // InternalSolverLanguage.g:8746:2: ( ruleMemberDefinition ) + // InternalSolverLanguage.g:8747:3: ruleMemberDefinition { - before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); + } pushFollow(FOLLOW_2); - ruleLiteral(); + ruleMemberDefinition(); state._fsp--; - - after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0()); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); + } } @@ -16817,25 +28585,41 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Constraint__ParamsAssignment_1_3_1" + // $ANTLR end "rule__ClassDefinition__MembersAssignment_5" - // $ANTLR start "rule__Variable__NameAssignment" - // InternalSolverLanguage.g:5469:1: rule__Variable__NameAssignment : ( RULE_ID ) ; - public final void rule__Variable__NameAssignment() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__ContainmentAssignment_0" + // InternalSolverLanguage.g:8756:1: rule__MemberDefinition__ContainmentAssignment_0 : ( ( 'contains' ) ) ; + public final void rule__MemberDefinition__ContainmentAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5473:1: ( ( RULE_ID ) ) - // InternalSolverLanguage.g:5474:2: ( RULE_ID ) + // InternalSolverLanguage.g:8760:1: ( ( ( 'contains' ) ) ) + // InternalSolverLanguage.g:8761:2: ( ( 'contains' ) ) + { + // InternalSolverLanguage.g:8761:2: ( ( 'contains' ) ) + // InternalSolverLanguage.g:8762:3: ( 'contains' ) { - // InternalSolverLanguage.g:5474:2: ( RULE_ID ) - // InternalSolverLanguage.g:5475:3: RULE_ID + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); + } + // InternalSolverLanguage.g:8763:3: ( 'contains' ) + // InternalSolverLanguage.g:8764:4: 'contains' { - before(grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0()); - match(input,RULE_ID,FOLLOW_2); - after(grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); + } + match(input,74,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); + } } @@ -16854,29 +28638,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__Variable__NameAssignment" + // $ANTLR end "rule__MemberDefinition__ContainmentAssignment_0" - // $ANTLR start "rule__AllInstances__SymbolAssignment_1" - // InternalSolverLanguage.g:5484:1: rule__AllInstances__SymbolAssignment_1 : ( ruleSymbol ) ; - public final void rule__AllInstances__SymbolAssignment_1() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__TypeAssignment_1" + // InternalSolverLanguage.g:8775:1: rule__MemberDefinition__TypeAssignment_1 : ( ( ruleQualifiedName ) ) ; + public final void rule__MemberDefinition__TypeAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5488:1: ( ( ruleSymbol ) ) - // InternalSolverLanguage.g:5489:2: ( ruleSymbol ) + // InternalSolverLanguage.g:8779:1: ( ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguage.g:8780:2: ( ( ruleQualifiedName ) ) + { + // InternalSolverLanguage.g:8780:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:8781:3: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:5489:2: ( ruleSymbol ) - // InternalSolverLanguage.g:5490:3: ruleSymbol + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + } + // InternalSolverLanguage.g:8782:3: ( ruleQualifiedName ) + // InternalSolverLanguage.g:8783:4: ruleQualifiedName { - before(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); + } pushFollow(FOLLOW_2); - ruleSymbol(); + ruleQualifiedName(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); + } + + } - after(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + } } @@ -16895,29 +28695,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__AllInstances__SymbolAssignment_1" + // $ANTLR end "rule__MemberDefinition__TypeAssignment_1" - // $ANTLR start "rule__DefaultInterpretation__InterpretationAssignment_1" - // InternalSolverLanguage.g:5499:1: rule__DefaultInterpretation__InterpretationAssignment_1 : ( ruleBasicInterpretation ) ; - public final void rule__DefaultInterpretation__InterpretationAssignment_1() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__MultiplicityAssignment_2" + // InternalSolverLanguage.g:8794:1: rule__MemberDefinition__MultiplicityAssignment_2 : ( ruleMultiplicity ) ; + public final void rule__MemberDefinition__MultiplicityAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5503:1: ( ( ruleBasicInterpretation ) ) - // InternalSolverLanguage.g:5504:2: ( ruleBasicInterpretation ) + // InternalSolverLanguage.g:8798:1: ( ( ruleMultiplicity ) ) + // InternalSolverLanguage.g:8799:2: ( ruleMultiplicity ) { - // InternalSolverLanguage.g:5504:2: ( ruleBasicInterpretation ) - // InternalSolverLanguage.g:5505:3: ruleBasicInterpretation + // InternalSolverLanguage.g:8799:2: ( ruleMultiplicity ) + // InternalSolverLanguage.g:8800:3: ruleMultiplicity { - before(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); + } pushFollow(FOLLOW_2); - ruleBasicInterpretation(); + ruleMultiplicity(); state._fsp--; - - after(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0()); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); + } } @@ -16936,33 +28740,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__DefaultInterpretation__InterpretationAssignment_1" + // $ANTLR end "rule__MemberDefinition__MultiplicityAssignment_2" - // $ANTLR start "rule__ClassInterpretation__AbstractAssignment_0" - // InternalSolverLanguage.g:5514:1: rule__ClassInterpretation__AbstractAssignment_0 : ( ( 'abstract' ) ) ; - public final void rule__ClassInterpretation__AbstractAssignment_0() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__NameAssignment_3" + // InternalSolverLanguage.g:8809:1: rule__MemberDefinition__NameAssignment_3 : ( RULE_ID ) ; + public final void rule__MemberDefinition__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5518:1: ( ( ( 'abstract' ) ) ) - // InternalSolverLanguage.g:5519:2: ( ( 'abstract' ) ) - { - // InternalSolverLanguage.g:5519:2: ( ( 'abstract' ) ) - // InternalSolverLanguage.g:5520:3: ( 'abstract' ) + // InternalSolverLanguage.g:8813:1: ( ( RULE_ID ) ) + // InternalSolverLanguage.g:8814:2: ( RULE_ID ) { - before(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); - // InternalSolverLanguage.g:5521:3: ( 'abstract' ) - // InternalSolverLanguage.g:5522:4: 'abstract' + // InternalSolverLanguage.g:8814:2: ( RULE_ID ) + // InternalSolverLanguage.g:8815:3: RULE_ID { - before(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); - match(input,40,FOLLOW_2); - after(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); - + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); + } + match(input,RULE_ID,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); } - - after(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); } @@ -16981,29 +28781,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__AbstractAssignment_0" + // $ANTLR end "rule__MemberDefinition__NameAssignment_3" - // $ANTLR start "rule__ClassInterpretation__SymbolAssignment_2" - // InternalSolverLanguage.g:5533:1: rule__ClassInterpretation__SymbolAssignment_2 : ( ruleModelSymbol ) ; - public final void rule__ClassInterpretation__SymbolAssignment_2() throws RecognitionException { + // $ANTLR start "rule__MemberDefinition__OppositeAssignment_4_1" + // InternalSolverLanguage.g:8824:1: rule__MemberDefinition__OppositeAssignment_4_1 : ( ( ruleQualifiedName ) ) ; + public final void rule__MemberDefinition__OppositeAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5537:1: ( ( ruleModelSymbol ) ) - // InternalSolverLanguage.g:5538:2: ( ruleModelSymbol ) + // InternalSolverLanguage.g:8828:1: ( ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguage.g:8829:2: ( ( ruleQualifiedName ) ) + { + // InternalSolverLanguage.g:8829:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:8830:3: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:5538:2: ( ruleModelSymbol ) - // InternalSolverLanguage.g:5539:3: ruleModelSymbol + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); + } + // InternalSolverLanguage.g:8831:3: ( ruleQualifiedName ) + // InternalSolverLanguage.g:8832:4: ruleQualifiedName { - before(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1()); + } pushFollow(FOLLOW_2); - ruleModelSymbol(); + ruleQualifiedName(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1()); + } + + } - after(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); + } } @@ -17022,29 +28838,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__SymbolAssignment_2" + // $ANTLR end "rule__MemberDefinition__OppositeAssignment_4_1" - // $ANTLR start "rule__ClassInterpretation__SupertypesAssignment_3_1" - // InternalSolverLanguage.g:5548:1: rule__ClassInterpretation__SupertypesAssignment_3_1 : ( ruleModelSymbol ) ; - public final void rule__ClassInterpretation__SupertypesAssignment_3_1() throws RecognitionException { + // $ANTLR start "rule__ExactMultiplicity__MultiplicityAssignment_1" + // InternalSolverLanguage.g:8843:1: rule__ExactMultiplicity__MultiplicityAssignment_1 : ( ruleUpperMultiplicty ) ; + public final void rule__ExactMultiplicity__MultiplicityAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5552:1: ( ( ruleModelSymbol ) ) - // InternalSolverLanguage.g:5553:2: ( ruleModelSymbol ) + // InternalSolverLanguage.g:8847:1: ( ( ruleUpperMultiplicty ) ) + // InternalSolverLanguage.g:8848:2: ( ruleUpperMultiplicty ) { - // InternalSolverLanguage.g:5553:2: ( ruleModelSymbol ) - // InternalSolverLanguage.g:5554:3: ruleModelSymbol + // InternalSolverLanguage.g:8848:2: ( ruleUpperMultiplicty ) + // InternalSolverLanguage.g:8849:3: ruleUpperMultiplicty { - before(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); + } pushFollow(FOLLOW_2); - ruleModelSymbol(); + ruleUpperMultiplicty(); state._fsp--; - - after(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0()); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); + } } @@ -17063,29 +28883,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__SupertypesAssignment_3_1" + // $ANTLR end "rule__ExactMultiplicity__MultiplicityAssignment_1" - // $ANTLR start "rule__ClassInterpretation__FieltAssignment_5" - // InternalSolverLanguage.g:5563:1: rule__ClassInterpretation__FieltAssignment_5 : ( ruleFieldRelationInterpretation ) ; - public final void rule__ClassInterpretation__FieltAssignment_5() throws RecognitionException { + // $ANTLR start "rule__BoundedMultiplicity__LowerBoundAssignment_1" + // InternalSolverLanguage.g:8858:1: rule__BoundedMultiplicity__LowerBoundAssignment_1 : ( RULE_INT ) ; + public final void rule__BoundedMultiplicity__LowerBoundAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5567:1: ( ( ruleFieldRelationInterpretation ) ) - // InternalSolverLanguage.g:5568:2: ( ruleFieldRelationInterpretation ) + // InternalSolverLanguage.g:8862:1: ( ( RULE_INT ) ) + // InternalSolverLanguage.g:8863:2: ( RULE_INT ) { - // InternalSolverLanguage.g:5568:2: ( ruleFieldRelationInterpretation ) - // InternalSolverLanguage.g:5569:3: ruleFieldRelationInterpretation + // InternalSolverLanguage.g:8863:2: ( RULE_INT ) + // InternalSolverLanguage.g:8864:3: RULE_INT { - before(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0()); - pushFollow(FOLLOW_2); - ruleFieldRelationInterpretation(); - - state._fsp--; - - after(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); + } } @@ -17104,29 +28924,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__ClassInterpretation__FieltAssignment_5" + // $ANTLR end "rule__BoundedMultiplicity__LowerBoundAssignment_1" - // $ANTLR start "rule__EnumInterpretation__SymbolAssignment_1" - // InternalSolverLanguage.g:5578:1: rule__EnumInterpretation__SymbolAssignment_1 : ( ruleModelSymbol ) ; - public final void rule__EnumInterpretation__SymbolAssignment_1() throws RecognitionException { + // $ANTLR start "rule__BoundedMultiplicity__UpperBoundAssignment_3" + // InternalSolverLanguage.g:8873:1: rule__BoundedMultiplicity__UpperBoundAssignment_3 : ( ruleUpperMultiplicty ) ; + public final void rule__BoundedMultiplicity__UpperBoundAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5582:1: ( ( ruleModelSymbol ) ) - // InternalSolverLanguage.g:5583:2: ( ruleModelSymbol ) + // InternalSolverLanguage.g:8877:1: ( ( ruleUpperMultiplicty ) ) + // InternalSolverLanguage.g:8878:2: ( ruleUpperMultiplicty ) { - // InternalSolverLanguage.g:5583:2: ( ruleModelSymbol ) - // InternalSolverLanguage.g:5584:3: ruleModelSymbol + // InternalSolverLanguage.g:8878:2: ( ruleUpperMultiplicty ) + // InternalSolverLanguage.g:8879:3: ruleUpperMultiplicty { - before(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); + } pushFollow(FOLLOW_2); - ruleModelSymbol(); + ruleUpperMultiplicty(); state._fsp--; - - after(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); + } } @@ -17145,29 +28969,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__EnumInterpretation__SymbolAssignment_1" + // $ANTLR end "rule__BoundedMultiplicity__UpperBoundAssignment_3" - // $ANTLR start "rule__EnumInterpretation__ObjectsAssignment_3" - // InternalSolverLanguage.g:5593:1: rule__EnumInterpretation__ObjectsAssignment_3 : ( ruleNamedObject ) ; - public final void rule__EnumInterpretation__ObjectsAssignment_3() throws RecognitionException { + // $ANTLR start "rule__ExactScopeDefinition__TypeAssignment_1" + // InternalSolverLanguage.g:8888:1: rule__ExactScopeDefinition__TypeAssignment_1 : ( ( ruleQualifiedName ) ) ; + public final void rule__ExactScopeDefinition__TypeAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5597:1: ( ( ruleNamedObject ) ) - // InternalSolverLanguage.g:5598:2: ( ruleNamedObject ) + // InternalSolverLanguage.g:8892:1: ( ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguage.g:8893:2: ( ( ruleQualifiedName ) ) { - // InternalSolverLanguage.g:5598:2: ( ruleNamedObject ) - // InternalSolverLanguage.g:5599:3: ruleNamedObject + // InternalSolverLanguage.g:8893:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:8894:3: ( ruleQualifiedName ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + } + // InternalSolverLanguage.g:8895:3: ( ruleQualifiedName ) + // InternalSolverLanguage.g:8896:4: ruleQualifiedName { - before(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); + } pushFollow(FOLLOW_2); - ruleNamedObject(); + ruleQualifiedName(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1()); + } + + } - after(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + } } @@ -17186,33 +29026,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__EnumInterpretation__ObjectsAssignment_3" + // $ANTLR end "rule__ExactScopeDefinition__TypeAssignment_1" - // $ANTLR start "rule__FieldRelationInterpretation__ContainmentAssignment_0" - // InternalSolverLanguage.g:5608:1: rule__FieldRelationInterpretation__ContainmentAssignment_0 : ( ( 'containment' ) ) ; - public final void rule__FieldRelationInterpretation__ContainmentAssignment_0() throws RecognitionException { + // $ANTLR start "rule__ExactScopeDefinition__ExactScopeAssignment_3" + // InternalSolverLanguage.g:8907:1: rule__ExactScopeDefinition__ExactScopeAssignment_3 : ( RULE_INT ) ; + public final void rule__ExactScopeDefinition__ExactScopeAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5612:1: ( ( ( 'containment' ) ) ) - // InternalSolverLanguage.g:5613:2: ( ( 'containment' ) ) - { - // InternalSolverLanguage.g:5613:2: ( ( 'containment' ) ) - // InternalSolverLanguage.g:5614:3: ( 'containment' ) + // InternalSolverLanguage.g:8911:1: ( ( RULE_INT ) ) + // InternalSolverLanguage.g:8912:2: ( RULE_INT ) { - before(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); - // InternalSolverLanguage.g:5615:3: ( 'containment' ) - // InternalSolverLanguage.g:5616:4: 'containment' + // InternalSolverLanguage.g:8912:2: ( RULE_INT ) + // InternalSolverLanguage.g:8913:3: RULE_INT { - before(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); - match(input,41,FOLLOW_2); - after(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); - + if ( state.backtracking==0 ) { + before(grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); } - - after(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } @@ -17231,29 +29067,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__FieldRelationInterpretation__ContainmentAssignment_0" + // $ANTLR end "rule__ExactScopeDefinition__ExactScopeAssignment_3" - // $ANTLR start "rule__FieldRelationInterpretation__SymbolAssignment_1" - // InternalSolverLanguage.g:5627:1: rule__FieldRelationInterpretation__SymbolAssignment_1 : ( ruleModelSymbol ) ; - public final void rule__FieldRelationInterpretation__SymbolAssignment_1() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0" + // InternalSolverLanguage.g:8922:1: rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0 : ( RULE_INT ) ; + public final void rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5631:1: ( ( ruleModelSymbol ) ) - // InternalSolverLanguage.g:5632:2: ( ruleModelSymbol ) + // InternalSolverLanguage.g:8926:1: ( ( RULE_INT ) ) + // InternalSolverLanguage.g:8927:2: ( RULE_INT ) { - // InternalSolverLanguage.g:5632:2: ( ruleModelSymbol ) - // InternalSolverLanguage.g:5633:3: ruleModelSymbol + // InternalSolverLanguage.g:8927:2: ( RULE_INT ) + // InternalSolverLanguage.g:8928:3: RULE_INT { - before(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); - pushFollow(FOLLOW_2); - ruleModelSymbol(); - - state._fsp--; - - after(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); + } } @@ -17272,29 +29108,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__FieldRelationInterpretation__SymbolAssignment_1" + // $ANTLR end "rule__BoundedScopeDefinition__LowerBoundAssignment_1_0_0_0" - // $ANTLR start "rule__FieldRelationInterpretation__MultiplicityAssignment_3" - // InternalSolverLanguage.g:5642:1: rule__FieldRelationInterpretation__MultiplicityAssignment_3 : ( ruleMultiplicityDefinition ) ; - public final void rule__FieldRelationInterpretation__MultiplicityAssignment_3() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__TypeAssignment_1_0_1" + // InternalSolverLanguage.g:8937:1: rule__BoundedScopeDefinition__TypeAssignment_1_0_1 : ( ( ruleQualifiedName ) ) ; + public final void rule__BoundedScopeDefinition__TypeAssignment_1_0_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5646:1: ( ( ruleMultiplicityDefinition ) ) - // InternalSolverLanguage.g:5647:2: ( ruleMultiplicityDefinition ) + // InternalSolverLanguage.g:8941:1: ( ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguage.g:8942:2: ( ( ruleQualifiedName ) ) + { + // InternalSolverLanguage.g:8942:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:8943:3: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:5647:2: ( ruleMultiplicityDefinition ) - // InternalSolverLanguage.g:5648:3: ruleMultiplicityDefinition + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); + } + // InternalSolverLanguage.g:8944:3: ( ruleQualifiedName ) + // InternalSolverLanguage.g:8945:4: ruleQualifiedName { - before(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1()); + } pushFollow(FOLLOW_2); - ruleMultiplicityDefinition(); + ruleQualifiedName(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1()); + } + + } - after(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); + } } @@ -17313,29 +29165,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__FieldRelationInterpretation__MultiplicityAssignment_3" + // $ANTLR end "rule__BoundedScopeDefinition__TypeAssignment_1_0_1" - // $ANTLR start "rule__FieldRelationInterpretation__TargetAssignment_4" - // InternalSolverLanguage.g:5657:1: rule__FieldRelationInterpretation__TargetAssignment_4 : ( ruleSymbol ) ; - public final void rule__FieldRelationInterpretation__TargetAssignment_4() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3" + // InternalSolverLanguage.g:8956:1: rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3 : ( RULE_INT ) ; + public final void rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5661:1: ( ( ruleSymbol ) ) - // InternalSolverLanguage.g:5662:2: ( ruleSymbol ) + // InternalSolverLanguage.g:8960:1: ( ( RULE_INT ) ) + // InternalSolverLanguage.g:8961:2: ( RULE_INT ) { - // InternalSolverLanguage.g:5662:2: ( ruleSymbol ) - // InternalSolverLanguage.g:5663:3: ruleSymbol + // InternalSolverLanguage.g:8961:2: ( RULE_INT ) + // InternalSolverLanguage.g:8962:3: RULE_INT { - before(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0()); - pushFollow(FOLLOW_2); - ruleSymbol(); - - state._fsp--; - - after(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); + } } @@ -17354,33 +29206,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__FieldRelationInterpretation__TargetAssignment_4" + // $ANTLR end "rule__BoundedScopeDefinition__UpperBoundAssignment_1_0_3" - // $ANTLR start "rule__GlobalRelationInterpretation__ContainmentAssignment_0" - // InternalSolverLanguage.g:5672:1: rule__GlobalRelationInterpretation__ContainmentAssignment_0 : ( ( 'containment' ) ) ; - public final void rule__GlobalRelationInterpretation__ContainmentAssignment_0() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0" + // InternalSolverLanguage.g:8971:1: rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0 : ( RULE_INT ) ; + public final void rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5676:1: ( ( ( 'containment' ) ) ) - // InternalSolverLanguage.g:5677:2: ( ( 'containment' ) ) + // InternalSolverLanguage.g:8975:1: ( ( RULE_INT ) ) + // InternalSolverLanguage.g:8976:2: ( RULE_INT ) { - // InternalSolverLanguage.g:5677:2: ( ( 'containment' ) ) - // InternalSolverLanguage.g:5678:3: ( 'containment' ) + // InternalSolverLanguage.g:8976:2: ( RULE_INT ) + // InternalSolverLanguage.g:8977:3: RULE_INT { - before(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); - // InternalSolverLanguage.g:5679:3: ( 'containment' ) - // InternalSolverLanguage.g:5680:4: 'containment' - { - before(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); - match(input,41,FOLLOW_2); - after(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); - + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); } - - after(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } @@ -17399,29 +29247,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__ContainmentAssignment_0" + // $ANTLR end "rule__BoundedScopeDefinition__UpperBoundAssignment_1_1_0" - // $ANTLR start "rule__GlobalRelationInterpretation__SymbolAssignment_2" - // InternalSolverLanguage.g:5691:1: rule__GlobalRelationInterpretation__SymbolAssignment_2 : ( ruleModelSymbol ) ; - public final void rule__GlobalRelationInterpretation__SymbolAssignment_2() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__TypeAssignment_1_1_2" + // InternalSolverLanguage.g:8986:1: rule__BoundedScopeDefinition__TypeAssignment_1_1_2 : ( ( ruleQualifiedName ) ) ; + public final void rule__BoundedScopeDefinition__TypeAssignment_1_1_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5695:1: ( ( ruleModelSymbol ) ) - // InternalSolverLanguage.g:5696:2: ( ruleModelSymbol ) + // InternalSolverLanguage.g:8990:1: ( ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguage.g:8991:2: ( ( ruleQualifiedName ) ) { - // InternalSolverLanguage.g:5696:2: ( ruleModelSymbol ) - // InternalSolverLanguage.g:5697:3: ruleModelSymbol + // InternalSolverLanguage.g:8991:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:8992:3: ( ruleQualifiedName ) { - before(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); + } + // InternalSolverLanguage.g:8993:3: ( ruleQualifiedName ) + // InternalSolverLanguage.g:8994:4: ruleQualifiedName + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1()); + } pushFollow(FOLLOW_2); - ruleModelSymbol(); + ruleQualifiedName(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1()); + } - after(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); + } } @@ -17440,29 +29304,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__SymbolAssignment_2" + // $ANTLR end "rule__BoundedScopeDefinition__TypeAssignment_1_1_2" - // $ANTLR start "rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4" - // InternalSolverLanguage.g:5706:1: rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 : ( ruleMultiplicityDefinition ) ; - public final void rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4() throws RecognitionException { + // $ANTLR start "rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1" + // InternalSolverLanguage.g:9005:1: rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1 : ( RULE_INT ) ; + public final void rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5710:1: ( ( ruleMultiplicityDefinition ) ) - // InternalSolverLanguage.g:5711:2: ( ruleMultiplicityDefinition ) + // InternalSolverLanguage.g:9009:1: ( ( RULE_INT ) ) + // InternalSolverLanguage.g:9010:2: ( RULE_INT ) { - // InternalSolverLanguage.g:5711:2: ( ruleMultiplicityDefinition ) - // InternalSolverLanguage.g:5712:3: ruleMultiplicityDefinition + // InternalSolverLanguage.g:9010:2: ( RULE_INT ) + // InternalSolverLanguage.g:9011:3: RULE_INT { - before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0()); - pushFollow(FOLLOW_2); - ruleMultiplicityDefinition(); - - state._fsp--; - - after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); + } } @@ -17481,29 +29345,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4" + // $ANTLR end "rule__BoundedScopeDefinition__LowerBoundAssignment_1_1_3_1" - // $ANTLR start "rule__GlobalRelationInterpretation__SourceAssignment_5" - // InternalSolverLanguage.g:5721:1: rule__GlobalRelationInterpretation__SourceAssignment_5 : ( ruleSymbol ) ; - public final void rule__GlobalRelationInterpretation__SourceAssignment_5() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0" + // InternalSolverLanguage.g:9020:1: rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0 : ( RULE_INT ) ; + public final void rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5725:1: ( ( ruleSymbol ) ) - // InternalSolverLanguage.g:5726:2: ( ruleSymbol ) + // InternalSolverLanguage.g:9024:1: ( ( RULE_INT ) ) + // InternalSolverLanguage.g:9025:2: ( RULE_INT ) { - // InternalSolverLanguage.g:5726:2: ( ruleSymbol ) - // InternalSolverLanguage.g:5727:3: ruleSymbol + // InternalSolverLanguage.g:9025:2: ( RULE_INT ) + // InternalSolverLanguage.g:9026:3: RULE_INT { - before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0()); - pushFollow(FOLLOW_2); - ruleSymbol(); - - state._fsp--; - - after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); + } } @@ -17522,29 +29386,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__SourceAssignment_5" + // $ANTLR end "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_0_0" - // $ANTLR start "rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6" - // InternalSolverLanguage.g:5736:1: rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 : ( ruleMultiplicityDefinition ) ; - public final void rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2" + // InternalSolverLanguage.g:9035:1: rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2 : ( ( ruleQualifiedName ) ) ; + public final void rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5740:1: ( ( ruleMultiplicityDefinition ) ) - // InternalSolverLanguage.g:5741:2: ( ruleMultiplicityDefinition ) + // InternalSolverLanguage.g:9039:1: ( ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguage.g:9040:2: ( ( ruleQualifiedName ) ) + { + // InternalSolverLanguage.g:9040:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:9041:3: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:5741:2: ( ruleMultiplicityDefinition ) - // InternalSolverLanguage.g:5742:3: ruleMultiplicityDefinition + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); + } + // InternalSolverLanguage.g:9042:3: ( ruleQualifiedName ) + // InternalSolverLanguage.g:9043:4: ruleQualifiedName { - before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1()); + } pushFollow(FOLLOW_2); - ruleMultiplicityDefinition(); + ruleQualifiedName(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1()); + } + + } - after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); + } } @@ -17563,29 +29443,45 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6" + // $ANTLR end "rule__LowerBoundedScopeDefinition__TypeAssignment_1_0_2" - // $ANTLR start "rule__GlobalRelationInterpretation__TargetAssignment_7" - // InternalSolverLanguage.g:5751:1: rule__GlobalRelationInterpretation__TargetAssignment_7 : ( ruleSymbol ) ; - public final void rule__GlobalRelationInterpretation__TargetAssignment_7() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0" + // InternalSolverLanguage.g:9054:1: rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0 : ( ( ruleQualifiedName ) ) ; + public final void rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5755:1: ( ( ruleSymbol ) ) - // InternalSolverLanguage.g:5756:2: ( ruleSymbol ) + // InternalSolverLanguage.g:9058:1: ( ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguage.g:9059:2: ( ( ruleQualifiedName ) ) { - // InternalSolverLanguage.g:5756:2: ( ruleSymbol ) - // InternalSolverLanguage.g:5757:3: ruleSymbol + // InternalSolverLanguage.g:9059:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:9060:3: ( ruleQualifiedName ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); + } + // InternalSolverLanguage.g:9061:3: ( ruleQualifiedName ) + // InternalSolverLanguage.g:9062:4: ruleQualifiedName { - before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1()); + } pushFollow(FOLLOW_2); - ruleSymbol(); + ruleQualifiedName(); state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1()); + } + + } - after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0()); + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); + } } @@ -17604,25 +29500,29 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__GlobalRelationInterpretation__TargetAssignment_7" + // $ANTLR end "rule__LowerBoundedScopeDefinition__TypeAssignment_1_1_0" - // $ANTLR start "rule__MultiplicityDefinition__LowerAssignment_0" - // InternalSolverLanguage.g:5766:1: rule__MultiplicityDefinition__LowerAssignment_0 : ( RULE_INT ) ; - public final void rule__MultiplicityDefinition__LowerAssignment_0() throws RecognitionException { + // $ANTLR start "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2" + // InternalSolverLanguage.g:9073:1: rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2 : ( RULE_INT ) ; + public final void rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5770:1: ( ( RULE_INT ) ) - // InternalSolverLanguage.g:5771:2: ( RULE_INT ) + // InternalSolverLanguage.g:9077:1: ( ( RULE_INT ) ) + // InternalSolverLanguage.g:9078:2: ( RULE_INT ) { - // InternalSolverLanguage.g:5771:2: ( RULE_INT ) - // InternalSolverLanguage.g:5772:3: RULE_INT + // InternalSolverLanguage.g:9078:2: ( RULE_INT ) + // InternalSolverLanguage.g:9079:3: RULE_INT { - before(grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0()); - match(input,RULE_INT,FOLLOW_2); - after(grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); + } + match(input,RULE_INT,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); + } } @@ -17641,25 +29541,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__MultiplicityDefinition__LowerAssignment_0" + // $ANTLR end "rule__LowerBoundedScopeDefinition__LowerBoundAssignment_1_1_2" - // $ANTLR start "rule__MultiplicityDefinition__UpperAssignment_2_0" - // InternalSolverLanguage.g:5781:1: rule__MultiplicityDefinition__UpperAssignment_2_0 : ( RULE_INT ) ; - public final void rule__MultiplicityDefinition__UpperAssignment_2_0() throws RecognitionException { + // $ANTLR start "rule__ObjectiveDefinition__KindAssignment_0" + // InternalSolverLanguage.g:9088:1: rule__ObjectiveDefinition__KindAssignment_0 : ( ruleObjectiveKind ) ; + public final void rule__ObjectiveDefinition__KindAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5785:1: ( ( RULE_INT ) ) - // InternalSolverLanguage.g:5786:2: ( RULE_INT ) + // InternalSolverLanguage.g:9092:1: ( ( ruleObjectiveKind ) ) + // InternalSolverLanguage.g:9093:2: ( ruleObjectiveKind ) { - // InternalSolverLanguage.g:5786:2: ( RULE_INT ) - // InternalSolverLanguage.g:5787:3: RULE_INT + // InternalSolverLanguage.g:9093:2: ( ruleObjectiveKind ) + // InternalSolverLanguage.g:9094:3: ruleObjectiveKind { - before(grammarAccess.getMultiplicityDefinitionAccess().getUpperINTTerminalRuleCall_2_0_0()); - match(input,RULE_INT,FOLLOW_2); - after(grammarAccess.getMultiplicityDefinitionAccess().getUpperINTTerminalRuleCall_2_0_0()); + if ( state.backtracking==0 ) { + before(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleObjectiveKind(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); + } } @@ -17678,33 +29586,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__MultiplicityDefinition__UpperAssignment_2_0" + // $ANTLR end "rule__ObjectiveDefinition__KindAssignment_0" - // $ANTLR start "rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1" - // InternalSolverLanguage.g:5796:1: rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 : ( ( '*' ) ) ; - public final void rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1() throws RecognitionException { + // $ANTLR start "rule__ObjectiveDefinition__ObjectiveAssignment_1" + // InternalSolverLanguage.g:9103:1: rule__ObjectiveDefinition__ObjectiveAssignment_1 : ( ruleExpression ) ; + public final void rule__ObjectiveDefinition__ObjectiveAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSolverLanguage.g:5800:1: ( ( ( '*' ) ) ) - // InternalSolverLanguage.g:5801:2: ( ( '*' ) ) + // InternalSolverLanguage.g:9107:1: ( ( ruleExpression ) ) + // InternalSolverLanguage.g:9108:2: ( ruleExpression ) { - // InternalSolverLanguage.g:5801:2: ( ( '*' ) ) - // InternalSolverLanguage.g:5802:3: ( '*' ) + // InternalSolverLanguage.g:9108:2: ( ruleExpression ) + // InternalSolverLanguage.g:9109:3: ruleExpression { - before(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); - // InternalSolverLanguage.g:5803:3: ( '*' ) - // InternalSolverLanguage.g:5804:4: '*' - { - before(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); - match(input,31,FOLLOW_2); - after(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); - + if ( state.backtracking==0 ) { + before(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); } + pushFollow(FOLLOW_2); + ruleExpression(); - after(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); + } } @@ -17723,27 +29631,33 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP } return ; } - // $ANTLR end "rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1" + // $ANTLR end "rule__ObjectiveDefinition__ObjectiveAssignment_1" // Delegated rules protected DFA2 dfa2 = new DFA2(this); - static final String dfa_1s = "\11\uffff"; - static final String dfa_2s = "\1\5\1\21\2\uffff\1\4\2\21\1\4\1\21"; - static final String dfa_3s = "\1\51\1\34\2\uffff\1\37\1\24\1\34\1\37\1\24"; - static final String dfa_4s = "\2\uffff\1\1\1\2\5\uffff"; - static final String dfa_5s = "\11\uffff}>"; + protected DFA11 dfa11 = new DFA11(this); + protected DFA14 dfa14 = new DFA14(this); + static final String dfa_1s = "\15\uffff"; + static final String dfa_2s = "\1\4\1\uffff\1\5\2\uffff\1\5\7\uffff"; + static final String dfa_3s = "\1\111\1\uffff\1\110\2\uffff\1\22\7\uffff"; + 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"; + static final String dfa_5s = "\15\uffff}>"; static final String[] dfa_6s = { - "\1\1\12\uffff\1\3\4\uffff\6\2\5\uffff\2\2\3\uffff\2\2\1\uffff\2\2", - "\1\2\1\4\11\uffff\1\3", + "\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", + "", + "\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", + "", + "", + "\1\13\1\uffff\1\13\11\uffff\2\14", "", "", - "\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", - "\1\3\1\uffff\1\6\1\7", - "\1\2\12\uffff\1\3", - "\1\2\1\10\1\2\4\uffff\3\2\3\uffff\1\2\11\uffff\1\2\3\uffff\1\2", - "\1\3\1\uffff\1\6\1\7" + "", + "", + "", + "", + "" }; static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); @@ -17767,57 +29681,161 @@ public class InternalSolverLanguageParser extends AbstractInternalContentAssistP this.transition = dfa_6; } public String getDescription() { - return "1152:1: rule__Statement__Alternatives : ( ( ruleInterpretation ) | ( rulePredicate ) );"; + return "1513:1: rule__Statement__Alternatives_0 : ( ( ruleAssertionOrDefinition ) | ( rulePredicateDefinition ) | ( ruleUnnamedErrorPrediateDefinition ) | ( ruleDefaultDefinition ) | ( ruleExternPredicateDefinition ) | ( ruleMetricDefinition ) | ( ruleExternMetricDefinition ) | ( ruleClassDefinition ) | ( ruleScopeDefinition ) | ( ruleObjectiveDefinition ) );"; + } + } + static final String dfa_7s = "\12\uffff"; + static final String dfa_8s = "\1\uffff\2\3\4\uffff\1\11\1\3\1\uffff"; + static final String dfa_9s = "\1\4\2\5\2\uffff\1\7\1\uffff\1\4\1\5\1\uffff"; + static final String dfa_10s = "\1\103\2\76\2\uffff\1\7\1\uffff\1\103\1\76\1\uffff"; + static final String dfa_11s = "\3\uffff\1\1\1\2\1\uffff\1\3\2\uffff\1\4"; + static final String dfa_12s = "\12\uffff}>"; + static final String[] dfa_13s = { + "\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", + "\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", + "\1\6\1\uffff\1\6\7\uffff\1\3\1\7\2\uffff\12\3\33\uffff\1\3\4\uffff\2\3", + "", + "", + "\1\10", + "", + "\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", + "\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", + "" + }; + + static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); + static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s); + static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s); + static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s); + static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s); + static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); + static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s); + + class DFA11 extends DFA { + + public DFA11(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 11; + this.eot = dfa_7; + this.eof = dfa_8; + this.min = dfa_9; + this.max = dfa_10; + this.accept = dfa_11; + this.special = dfa_12; + this.transition = dfa_13; + } + public String getDescription() { + return "1774:1: rule__Argument__Alternatives : ( ( ruleExpressionArgument ) | ( ruleStarArgument ) | ( ruleTypedArgument ) | ( ruleTypedStarArgument ) );"; + } + } + static final String dfa_14s = "\17\uffff"; + static final String dfa_15s = "\15\uffff\1\6\1\uffff"; + 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"; + 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"; + static final String dfa_18s = "\6\uffff\1\3\1\2\1\1\6\uffff"; + static final String dfa_19s = "\17\uffff}>"; + static final String[] dfa_20s = { + "\1\1", + "\1\4\1\3\1\uffff\1\2", + "\1\10\2\uffff\1\7\1\uffff\1\6\31\uffff\1\5", + "\1\10\2\uffff\1\7\1\uffff\1\6", + "\1\11\1\uffff\1\7", + "\1\12", + "", + "", + "", + "\1\14\1\uffff\1\13", + "\1\10\2\uffff\1\7\1\uffff\1\6\31\uffff\1\5", + "\1\7\33\uffff\1\15", + "\1\7\33\uffff\1\6", + "\1\6\1\16", + "\1\7\33\uffff\1\15" + }; + + static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s); + static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s); + static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s); + static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s); + static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s); + static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); + static final short[][] dfa_20 = unpackEncodedStringArray(dfa_20s); + + class DFA14 extends DFA { + + public DFA14(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 14; + this.eot = dfa_14; + this.eof = dfa_15; + this.min = dfa_16; + this.max = dfa_17; + this.accept = dfa_18; + this.special = dfa_19; + this.transition = dfa_20; + } + public String getDescription() { + return "1873:1: rule__ScopeDefinition__Alternatives : ( ( ruleExactScopeDefinition ) | ( ruleBoundedScopeDefinition ) | ( ruleLowerBoundedScopeDefinition ) );"; } } public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000036307E10022L}); - public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x00000000C0002022L}); - public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000004000L}); - public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000001000L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000800L}); - public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000008000L}); - public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000010000L}); - public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000060000L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000019800L}); - public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x00000000880A3870L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000100000L}); - public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000100002L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000088023870L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000008000000L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000036307E10020L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000010040000L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x00000000C0003820L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000080020L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000020000000L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000020000002L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000000020000L}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000007E00020L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000040000000L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000040002000L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000040002020L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000000040000L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000008183870L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000008003870L}); - public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x00000000C0002020L}); - public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000010200000000L}); - public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000001400000000L}); - public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000020800000020L}); - public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000020000000022L}); - public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000022L}); - public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000400000000L}); - public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000800000000L}); - public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000008000002L}); - public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000020000000020L}); - public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000007E00030L}); - public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000036307E00020L}); - public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000008000000000L}); - public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000080000010L}); + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0xA20B1FFFEC0604B2L,0x000000000000039CL}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000E00000000000L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000200000000000L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0xA20807FFEC0004B0L,0x000000000000000CL}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x00000000000000A0L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x2000000000000000L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0004000000000000L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000800000000000L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000060000L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0010000000000000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0020000000000000L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x00C0000000000000L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0040000000000000L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0040000000000002L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0080000000000000L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0100000000000000L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0100000000000002L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000003F80000L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x000000000C000000L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x000000000C000002L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000010010000L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000010010002L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000008000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0xA20007FE000004B0L,0x000000000000000CL}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0400000000000000L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0800000000000000L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x1000000000000000L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x4000000000000000L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x2000000000000300L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0xE20807FFEC0104B0L,0x000000000000000CL}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0xA20807FFEC0104B0L,0x000000000000000CL}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000210L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0400000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x08000000000000A0L,0x0000000000000400L}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x00000000000000A2L,0x0000000000000400L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x00000000000000A0L,0x0000000000000400L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x8000000000000080L}); + public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0040000000000000L,0x0000000000000040L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x8000000000000000L}); + public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000010010L}); + public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000080000L}); + public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x00000000000000B0L}); + public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000000400000L}); + public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0004000000000002L}); } \ 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.tests; 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, org.eclipse.xtext.junit4, org.eclipse.xtext.xbase.junit, org.eclipse.core.runtime, - org.eclipse.ui.workbench;resolution:=optional + org.eclipse.ui.workbench;resolution:=optional, + org.eclipse.xtext.ui.testing Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.ui.tests; 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, org.eclipse.xtend.lib;bundle-version="2.14.0";resolution:=optional Import-Package: org.apache.log4j Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Export-Package: org.eclipse.viatra.solver.language.ui.quickfix, - org.eclipse.viatra.solver.language.ui.contentassist, - org.eclipse.viatra.solver.language.ui.internal +Export-Package: org.eclipse.viatra.solver.language.ui.contentassist, + org.eclipse.viatra.solver.language.ui.internal, + org.eclipse.viatra.solver.language.ui.quickfix, + org.eclipse.viatra.solver.language.validation Bundle-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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.ui; 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.ui; 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.ui.contentassist; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.Assignment; +import org.eclipse.xtext.CrossReference; import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider; import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext; @@ -20,135 +21,237 @@ public abstract class AbstractSolverLanguageProposalProvider extends TerminalsPr public void completeProblem_Statements(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeBasicInterpretation_Symbol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeAssertionOrDefinition_Range(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeBasicInterpretation_Objects(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeAssertionOrDefinition_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeBasicInterpretation_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completePredicateDefinition_Functional(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completePredicateDefinition_Error(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completePredicateDefinition_Head(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeModelSymbol_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completePredicateDefinition_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeNamedObject_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeUnnamedErrorPrediateDefinition_ArgumentList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeUnnamedObject_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeUnnamedErrorPrediateDefinition_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeBooleanObject_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeDefaultDefinition_Head(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeIntObject_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeDefaultDefinition_Range(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeRealObject_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeExternPredicateDefinition_Head(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeStringObject_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeMetricDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completePredicate_IsError(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { - // subclasses may override + public void completeMetricDefinition_Head(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completePredicate_Symbol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeMetricDefinition_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completePredicate_Parameters(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeExternMetricDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completePredicate_Bodies(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeExternMetricDefinition_Head(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeParameter_Variable(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeIfElse_Condition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeParameter_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeIfElse_Then(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completePatternBody_Constraints(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeIfElse_Else(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeConstraint_Polarity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeDisjunctiveExpression_Children(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeConstraint_Symbol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeDisjunctiveExpression_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeConstraint_Params(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeDisjunctiveExpression_Cases(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeConstraint_ClosureType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeCase_Condition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeVariable_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeCase_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeAllInstances_Symbol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeConjunctiveExpression_Children(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeDefaultInterpretation_Interpretation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeComparisonExpression_Op(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeClassInterpretation_Abstract(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { - // subclasses may override + public void completeComparisonExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeClassInterpretation_Symbol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeAdditiveExpression_Op(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeClassInterpretation_Supertypes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeAdditiveExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeClassInterpretation_Fielt(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeMultiplicativeExpression_Op(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeEnumInterpretation_Symbol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeMultiplicativeExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeEnumInterpretation_Objects(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeExponentialExpression_Op(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeFieldRelationInterpretation_Containment(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { - // subclasses may override + public void completeExponentialExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeFieldRelationInterpretation_Symbol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeUnaryExpression_Op(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeFieldRelationInterpretation_Multiplicity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeUnaryExpression_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeFieldRelationInterpretation_Target(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeCount_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeGlobalRelationInterpretation_Containment(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { - // subclasses may override + public void completeAggregation_Op(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeGlobalRelationInterpretation_Symbol(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeAggregation_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeGlobalRelationInterpretation_SourceMultiplicity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeAggregation_Condition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeGlobalRelationInterpretation_Source(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeAtomicExpression_ArgumentList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeGlobalRelationInterpretation_TargetMultiplicity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeCall_Functor(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeGlobalRelationInterpretation_Target(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeCall_TransitiveClosure(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeMultiplicityDefinition_Lower(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeCall_ReflexiveTransitiveClosure(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeMultiplicityDefinition_Upper(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeCall_ArgumentList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeMultiplicityDefinition_UnlimitedUpper(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeArgumentList_Arguments(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeExpressionArgument_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTypedArgument_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeTypedArgument_Variable(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeTypedStarArgument_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeReference_Referred(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeInterval_LowerBound(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeInterval_UpperBound(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLogicLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeNumericLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeStringLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeClassDefinition_Abstract(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeClassDefinition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeClassDefinition_Superclasses(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeClassDefinition_Members(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeMemberDefinition_Containment(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } + public void completeMemberDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeMemberDefinition_Multiplicity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeMemberDefinition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeMemberDefinition_Opposite(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeExactMultiplicity_Multiplicity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeBoundedMultiplicity_LowerBound(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeBoundedMultiplicity_UpperBound(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeExactScopeDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeExactScopeDefinition_ExactScope(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeBoundedScopeDefinition_LowerBound(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeBoundedScopeDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeBoundedScopeDefinition_UpperBound(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLowerBoundedScopeDefinition_LowerBound(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLowerBoundedScopeDefinition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeObjectiveDefinition_Kind(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeObjectiveDefinition_Objective(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeNamedElement_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } public void complete_Problem(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override @@ -156,133 +259,202 @@ public abstract class AbstractSolverLanguageProposalProvider extends TerminalsPr public void complete_Statement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_STRING(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_AssertionOrDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PredicateDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_REALLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_UnnamedErrorPrediateDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_INTLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_DefaultDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_BooleanValue(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_ExternPredicateDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_TruthValue(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_MetricType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_Interpretation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_MetricDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_BasicInterpretation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_ExternMetricDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_Symbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_Expression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_ModelSymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_IfElse(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_PartialitySymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_DisjunctiveExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_ExistSymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_Case(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_EqualsSymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_ConjunctiveExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_DataSymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_BinaryOperator(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_BooleanSymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_ComparisonOperator(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_IntegerSymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_ComparisonExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_RealSymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_AdditiveBinaryOperator(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_StringSymbol(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_AdditiveExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_ComplexObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_MultiplicativeBinaryOperator(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_Object(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_MultiplicativeExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_NamedObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_ExponentialOp(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_UnnamedObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_ExponentialExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_DataObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_UnaryOp(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_BooleanObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_UnaryExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_IntObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_AggregationExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_RealObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_Count(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_StringObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_AggregationOp(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_Predicate(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_Aggregation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_Parameter(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_AtomicExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_PatternBody(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_Call(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_Polarity(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_ArgumentList(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_Constraint(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_Argument(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_ClosureType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_ExpressionArgument(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_StarArgument(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_TypedArgument(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_TypedStarArgument(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Reference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Interval(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } public void complete_Literal(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_Variable(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_LogicValue(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_AllInstances(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_LogicLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_AllObjects(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_NumericLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_DefaultInterpretation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_InfinityLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_CDInterpretation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_EmptyIntervalLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_StringLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ClassDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_MemberDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Multiplicity(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ManyMultiplicity(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ExactMultiplicity(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_BoundedMultiplicity(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ScopeDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ExactScopeDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_BoundedScopeDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_LowerBoundedScopeDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ObjectiveKind(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ObjectiveDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_UpperMultiplicty(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Real(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_QualifiedName(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_STRING(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_ClassInterpretation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_QUOTED_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_EnumInterpretation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_PLUS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_FieldRelationInterpretation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_STAR(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_GlobalRelationInterpretation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_DOT(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_MultiplicityDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_NamedElement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } } 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.ui.internal; 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.validation; 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 @@ package org.eclipse.viatra.solver.language.ui import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor -import org.eclipse.xtext.ide.editor.syntaxcoloring.ISemanticHighlightingCalculator -import org.eclipse.xtext.ui.editor.syntaxcoloring.ITextAttributeProvider -import org.eclipse.viatra.solver.language.ui.highlight.SolverSemanticHighlightCalculator -import org.eclipse.viatra.solver.language.ui.highlight.SolverSemanticTextAttributeProvider /** * Use this class to register components to be used within the Eclipse IDE. */ @FinalFieldsConstructor class SolverLanguageUiModule extends AbstractSolverLanguageUiModule { - def Class bindISemanticHighlightingCalculator() { - SolverSemanticHighlightCalculator - } - - def Class bindITextAttributeProvider() { - SolverSemanticTextAttributeProvider - } +// def Class bindISemanticHighlightingCalculator() { +// SolverSemanticHighlightCalculator +// } +// +// def Class bindITextAttributeProvider() { +// SolverSemanticTextAttributeProvider +// } } 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/highlight/SolverSemanticHighlightCalculator.xtend deleted file mode 100644 index cb10ebf4..00000000 --- a/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/highlight/SolverSemanticHighlightCalculator.xtend +++ /dev/null @@ -1,58 +0,0 @@ -package org.eclipse.viatra.solver.language.ui.highlight - -import java.util.Random -import java.util.WeakHashMap -import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol -import org.eclipse.xtext.ide.editor.syntaxcoloring.DefaultSemanticHighlightingCalculator -import org.eclipse.xtext.ide.editor.syntaxcoloring.IHighlightedPositionAcceptor -import org.eclipse.xtext.nodemodel.util.NodeModelUtils -import org.eclipse.xtext.resource.XtextResource -import org.eclipse.xtext.util.CancelIndicator - -class SolverSemanticHighlightCalculator extends DefaultSemanticHighlightingCalculator { - public static val SmybolCode = "SymbolCode" - - val symbolName2ID = new WeakHashMap - - override provideHighlightingFor(XtextResource resource, IHighlightedPositionAcceptor acceptor, CancelIndicator cancelIndicator) { - if (resource === null || resource.getParseResult() === null) { - return - } else { - val modelSymbols = resource.allContents.filter(ModelSymbol) - while(modelSymbols.hasNext) { - val symbolElement = modelSymbols.next - val node = NodeModelUtils::getNode(symbolElement) - acceptor.addPosition( - node.getOffset(), - node.getLength(), - getSymbolCode(symbolElement.name) - ) - } - } - } - - def getSymbolCode(String name) { - if(symbolName2ID.containsKey(name)) { - return symbolName2ID.get(name) - } else { - val id = calculateSymbolCode(name) - symbolName2ID.put(name,id) - return id - } - } - - def String calculateSymbolCode(String name) { - val Random random = new Random(name.hashCode) - val hue = huePick(random.nextFloat) - val saturation = 0.2+random.nextFloat*0.3 - val brightness = random.nextFloat*0.2+0.7f - return '''«SmybolCode» «hue» «saturation» «brightness»''' - } - private def huePick(float random) { - val pink = 300 - val tolerance = 10 - val degree = random*(360-2*tolerance) - if(degree - - @Inject - new(IHighlightingConfiguration highlightingConfig, IPreferenceStoreAccess preferenceStoreAccess, PreferenceStoreAccessor prefStoreAccessor) { - super(highlightingConfig, preferenceStoreAccess, prefStoreAccessor) - } - - - override getAttribute(String id) { - if(isMetamodelElementColorID(id)) { - if(colorID2TextAttribute.containsKey(id)) { - return colorID2TextAttribute.get(id) - } else { - val style = metamodelElementTextStyle(id) - colorID2TextAttribute.put(id,style) - return style - } - } else { - super.getAttribute(id) - } - } - - private def isMetamodelElementColorID(String id) { - id.startsWith(SolverSemanticHighlightCalculator::SmybolCode) - } - - private def TextAttribute metamodelElementTextStyle(String id) { - val texts = id.split(' ') - val backgroundColor = new RGB( - Float.parseFloat(texts.get(1)), - Float.parseFloat(texts.get(2)), - Float.parseFloat(texts.get(3)) - ) - return new TextAttribute( - EditorUtils.colorFromRGB(defaultTextStyle.color), - EditorUtils.colorFromRGB(backgroundColor), - defaultTextStyle.style, - EditorUtils.fontFromFontData(defaultTextStyle.getFontData())); - } - -} \ No newline at end of file diff --git a/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticHighlightCalculator.xtend b/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticHighlightCalculator.xtend new file mode 100644 index 00000000..5242a82e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticHighlightCalculator.xtend @@ -0,0 +1,59 @@ +package org.eclipse.viatra.solver.language.ui.syntaxcoloring + +import java.util.Random +import java.util.WeakHashMap +import org.eclipse.viatra.solver.language.solverLanguage.Reference +import org.eclipse.xtext.ide.editor.syntaxcoloring.DefaultSemanticHighlightingCalculator +import org.eclipse.xtext.ide.editor.syntaxcoloring.IHighlightedPositionAcceptor +import org.eclipse.xtext.nodemodel.util.NodeModelUtils +import org.eclipse.xtext.resource.XtextResource +import org.eclipse.xtext.util.CancelIndicator + +class SolverSemanticHighlightCalculator extends DefaultSemanticHighlightingCalculator { + public static val SYMBOL_CODE = "SymbolCode::" + + val symbolName2ID = new WeakHashMap + + override provideHighlightingFor(XtextResource resource, IHighlightedPositionAcceptor acceptor, + CancelIndicator cancelIndicator) { + if (resource === null || resource.getParseResult() === null) { + return + } else { + val modelSymbols = resource.allContents.filter(Reference) + while (modelSymbols.hasNext) { + val symbolElement = modelSymbols.next + val node = NodeModelUtils.getNode(symbolElement) + acceptor.addPosition( + node.getOffset(), + node.getLength(), + getSymbolCode(node.text) + ) + } + } + } + + def getSymbolCode(String name) { + if (symbolName2ID.containsKey(name)) { + return symbolName2ID.get(name) + } else { + val id = calculateSymbolCode(name) + symbolName2ID.put(name, id) + return id + } + } + + def String calculateSymbolCode(String name) { + val Random random = new Random(name.hashCode) + val hue = huePick(random.nextFloat) + val saturation = 0.2 + random.nextFloat * 0.3 + val brightness = random.nextFloat * 0.2 + 0.7f + return '''«SYMBOL_CODE» «hue» «saturation» «brightness»''' + } + + private def huePick(float random) { + val pink = 300 + val tolerance = 10 + val degree = random * (360 - 2 * tolerance) + if(degree < pink - tolerance) return degree else return degree + 2 * tolerance + } +} diff --git a/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticTextAttributeProvider.xtend b/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticTextAttributeProvider.xtend new file mode 100644 index 00000000..ca74a9a2 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.ui/src/org/eclipse/viatra/solver/language/ui/syntaxcoloring/SolverSemanticTextAttributeProvider.xtend @@ -0,0 +1,55 @@ +package org.eclipse.viatra.solver.language.ui.syntaxcoloring + +import com.google.inject.Inject +import java.util.WeakHashMap +import org.eclipse.jface.text.TextAttribute +import org.eclipse.swt.graphics.RGB +import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreAccess +import org.eclipse.xtext.ui.editor.syntaxcoloring.IHighlightingConfiguration +import org.eclipse.xtext.ui.editor.syntaxcoloring.PreferenceStoreAccessor +import org.eclipse.xtext.ui.editor.syntaxcoloring.TextAttributeProvider +import org.eclipse.xtext.ui.editor.utils.EditorUtils +import org.eclipse.xtext.ui.editor.utils.TextStyle + +class SolverSemanticTextAttributeProvider extends TextAttributeProvider { + + val defaultTextStyle = new TextStyle + val colorID2TextAttribute = new WeakHashMap + + @Inject + new(IHighlightingConfiguration highlightingConfig, IPreferenceStoreAccess preferenceStoreAccess, + PreferenceStoreAccessor prefStoreAccessor) { + super(highlightingConfig, preferenceStoreAccess, prefStoreAccessor) + } + + override getAttribute(String id) { + if (isMetamodelElementColorID(id)) { + if (colorID2TextAttribute.containsKey(id)) { + return colorID2TextAttribute.get(id) + } else { + val style = metamodelElementTextStyle(id) + colorID2TextAttribute.put(id, style) + return style + } + } else { + super.getAttribute(id) + } + } + + private def isMetamodelElementColorID(String id) { + id.startsWith(SolverSemanticHighlightCalculator.SYMBOL_CODE) + } + + private def TextAttribute metamodelElementTextStyle(String id) { + val texts = id.split(' ') + val backgroundColor = new RGB( + Float.parseFloat(texts.get(1)), + Float.parseFloat(texts.get(2)), + Float.parseFloat(texts.get(3)) + ) + return new TextAttribute(EditorUtils.colorFromRGB(defaultTextStyle.color), + EditorUtils.colorFromRGB(backgroundColor), defaultTextStyle.style, + EditorUtils.fontFromFontData(defaultTextStyle.getFontData())); + } + +} 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 @@ +/* + * generated by Xtext 2.18.0.M3 + */ +package org.eclipse.viatra.solver.language.validation + + +/** + * This class contains custom validation rules. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation + */ +class SolverLanguageValidator extends AbstractSolverLanguageValidator { + +// public static val INVALID_NAME = 'invalidName' +// +// @Check +// def checkGreetingStartsWithCapital(Greeting greeting) { +// if (!Character.isUpperCase(greeting.name.charAt(0))) { +// warning('Name should start with a capital', +// SolverLanguagePackage.Literals.GREETING__NAME, +// INVALID_NAME) +// } +// } + +} 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 Binary files /dev/null and b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticHighlightCalculator.xtendbin 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 Binary files /dev/null and b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/ui/syntaxcoloring/.SolverSemanticTextAttributeProvider.xtendbin 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 @@ +/.SolverSemanticHighlightCalculator.java._trace +/.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 @@ +package org.eclipse.viatra.solver.language.ui.syntaxcoloring; + +import com.google.common.collect.Iterators; +import java.util.Iterator; +import java.util.Random; +import java.util.WeakHashMap; +import org.eclipse.viatra.solver.language.solverLanguage.Reference; +import org.eclipse.xtend2.lib.StringConcatenation; +import org.eclipse.xtext.ide.editor.syntaxcoloring.DefaultSemanticHighlightingCalculator; +import org.eclipse.xtext.ide.editor.syntaxcoloring.IHighlightedPositionAcceptor; +import org.eclipse.xtext.nodemodel.ICompositeNode; +import org.eclipse.xtext.nodemodel.util.NodeModelUtils; +import org.eclipse.xtext.resource.XtextResource; +import org.eclipse.xtext.util.CancelIndicator; + +@SuppressWarnings("all") +public class SolverSemanticHighlightCalculator extends DefaultSemanticHighlightingCalculator { + public static final String SYMBOL_CODE = "SymbolCode::"; + + private final WeakHashMap symbolName2ID = new WeakHashMap(); + + @Override + public void provideHighlightingFor(final XtextResource resource, final IHighlightedPositionAcceptor acceptor, final CancelIndicator cancelIndicator) { + if (((resource == null) || (resource.getParseResult() == null))) { + return; + } else { + final Iterator modelSymbols = Iterators.filter(resource.getAllContents(), Reference.class); + while (modelSymbols.hasNext()) { + { + final Reference symbolElement = modelSymbols.next(); + final ICompositeNode node = NodeModelUtils.getNode(symbolElement); + acceptor.addPosition( + node.getOffset(), + node.getLength(), + this.getSymbolCode(node.getText())); + } + } + } + } + + public String getSymbolCode(final String name) { + boolean _containsKey = this.symbolName2ID.containsKey(name); + if (_containsKey) { + return this.symbolName2ID.get(name); + } else { + final String id = this.calculateSymbolCode(name); + this.symbolName2ID.put(name, id); + return id; + } + } + + public String calculateSymbolCode(final String name) { + int _hashCode = name.hashCode(); + final Random random = new Random(_hashCode); + final float hue = this.huePick(random.nextFloat()); + float _nextFloat = random.nextFloat(); + double _multiply = (_nextFloat * 0.3); + final double saturation = (0.2 + _multiply); + float _nextFloat_1 = random.nextFloat(); + double _multiply_1 = (_nextFloat_1 * 0.2); + final double brightness = (_multiply_1 + 0.7f); + StringConcatenation _builder = new StringConcatenation(); + _builder.append(SolverSemanticHighlightCalculator.SYMBOL_CODE); + _builder.append(" "); + _builder.append(hue); + _builder.append(" "); + _builder.append(saturation); + _builder.append(" "); + _builder.append(brightness); + return _builder.toString(); + } + + private float huePick(final float random) { + final int pink = 300; + final int tolerance = 10; + final float degree = (random * (360 - (2 * tolerance))); + if ((degree < (pink - tolerance))) { + return degree; + } else { + return (degree + (2 * tolerance)); + } + } +} 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 @@ +package org.eclipse.viatra.solver.language.ui.syntaxcoloring; + +import com.google.inject.Inject; +import java.util.WeakHashMap; +import org.eclipse.jface.text.TextAttribute; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.graphics.RGB; +import org.eclipse.viatra.solver.language.ui.syntaxcoloring.SolverSemanticHighlightCalculator; +import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreAccess; +import org.eclipse.xtext.ui.editor.syntaxcoloring.IHighlightingConfiguration; +import org.eclipse.xtext.ui.editor.syntaxcoloring.PreferenceStoreAccessor; +import org.eclipse.xtext.ui.editor.syntaxcoloring.TextAttributeProvider; +import org.eclipse.xtext.ui.editor.utils.EditorUtils; +import org.eclipse.xtext.ui.editor.utils.TextStyle; + +@SuppressWarnings("all") +public class SolverSemanticTextAttributeProvider extends TextAttributeProvider { + private final TextStyle defaultTextStyle = new TextStyle(); + + private final WeakHashMap colorID2TextAttribute = new WeakHashMap(); + + @Inject + public SolverSemanticTextAttributeProvider(final IHighlightingConfiguration highlightingConfig, final IPreferenceStoreAccess preferenceStoreAccess, final PreferenceStoreAccessor prefStoreAccessor) { + super(highlightingConfig, preferenceStoreAccess, prefStoreAccessor); + } + + @Override + public TextAttribute getAttribute(final String id) { + TextAttribute _xifexpression = null; + boolean _isMetamodelElementColorID = this.isMetamodelElementColorID(id); + if (_isMetamodelElementColorID) { + boolean _containsKey = this.colorID2TextAttribute.containsKey(id); + if (_containsKey) { + return this.colorID2TextAttribute.get(id); + } else { + final TextAttribute style = this.metamodelElementTextStyle(id); + this.colorID2TextAttribute.put(id, style); + return style; + } + } else { + _xifexpression = super.getAttribute(id); + } + return _xifexpression; + } + + private boolean isMetamodelElementColorID(final String id) { + return id.startsWith(SolverSemanticHighlightCalculator.SYMBOL_CODE); + } + + private TextAttribute metamodelElementTextStyle(final String id) { + final String[] texts = id.split(" "); + float _parseFloat = Float.parseFloat(texts[1]); + float _parseFloat_1 = Float.parseFloat(texts[2]); + float _parseFloat_2 = Float.parseFloat(texts[3]); + final RGB backgroundColor = new RGB(_parseFloat, _parseFloat_1, _parseFloat_2); + Color _colorFromRGB = EditorUtils.colorFromRGB(this.defaultTextStyle.getColor()); + Color _colorFromRGB_1 = EditorUtils.colorFromRGB(backgroundColor); + int _style = this.defaultTextStyle.getStyle(); + Font _fontFromFontData = EditorUtils.fontFromFontData(this.defaultTextStyle.getFontData()); + return new TextAttribute(_colorFromRGB, _colorFromRGB_1, _style, _fontFromFontData); + } +} 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 Binary files /dev/null and b/Application/org.eclipse.viatra.solver.language.ui/xtend-gen/org/eclipse/viatra/solver/language/validation/.SolverLanguageValidator.xtendbin 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 @@ +/** + * generated by Xtext 2.18.0.M3 + */ +package org.eclipse.viatra.solver.language.validation; + +import org.eclipse.viatra.solver.language.validation.AbstractSolverLanguageValidator; + +/** + * This class contains custom validation rules. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation + */ +@SuppressWarnings("all") +public class SolverLanguageValidator extends AbstractSolverLanguageValidator { +} 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, org.eclipse.xtend.lib;bundle-version="2.14.0", org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Export-Package: org.eclipse.viatra.solver.language.validation, - org.eclipse.viatra.solver.language, +Export-Package: org.eclipse.viatra.solver.language, org.eclipse.viatra.solver.language.generator, - org.eclipse.viatra.solver.language.services, - org.eclipse.viatra.solver.language.solverLanguage.impl, - org.eclipse.viatra.solver.language.parser.antlr.internal, org.eclipse.viatra.solver.language.parser.antlr, + org.eclipse.viatra.solver.language.parser.antlr.internal, + org.eclipse.viatra.solver.language.scoping, org.eclipse.viatra.solver.language.serializer, + org.eclipse.viatra.solver.language.services, org.eclipse.viatra.solver.language.solverLanguage, + org.eclipse.viatra.solver.language.solverLanguage.impl, org.eclipse.viatra.solver.language.solverLanguage.util, - org.eclipse.viatra.solver.language.scoping + org.eclipse.viatra.solver.language.validation Import-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 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - + + + + + - - - + + - - + + + - - + + - - + + + - - - + + - - + - - + + + + + + - + - - - - - - + - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + - - + + + - - - + + + + - - - - + + + + + - - - - + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + - - + + + + + + + + + + + - + - + + + + - - - - + + + - - - - - - - - - - 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 @@ + complianceLevel="8.0" copyrightFields="false" runtimeVersion="2.20"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language; 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 Binary files a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin and b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language; 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.parser.antlr; 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.parser.antlr; 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ grammar InternalSolverLanguage; @@ -23,6 +23,7 @@ import org.eclipse.xtext.parser.*; import org.eclipse.xtext.parser.impl.*; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.common.util.Enumerator; import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; @@ -112,35 +113,113 @@ ruleStatement returns [EObject current=null] leaveRule(); }: ( + ( + { + newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); + } + this_AssertionOrDefinition_0=ruleAssertionOrDefinition + { + $current = $this_AssertionOrDefinition_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1()); + } + this_PredicateDefinition_1=rulePredicateDefinition + { + $current = $this_PredicateDefinition_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2()); + } + this_UnnamedErrorPrediateDefinition_2=ruleUnnamedErrorPrediateDefinition + { + $current = $this_UnnamedErrorPrediateDefinition_2.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3()); + } + this_DefaultDefinition_3=ruleDefaultDefinition + { + $current = $this_DefaultDefinition_3.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); + } + this_ExternPredicateDefinition_4=ruleExternPredicateDefinition + { + $current = $this_ExternPredicateDefinition_4.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); + } + this_MetricDefinition_5=ruleMetricDefinition + { + $current = $this_MetricDefinition_5.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6()); + } + this_ExternMetricDefinition_6=ruleExternMetricDefinition + { + $current = $this_ExternMetricDefinition_6.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); + } + this_ClassDefinition_7=ruleClassDefinition + { + $current = $this_ClassDefinition_7.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); + } + this_ScopeDefinition_8=ruleScopeDefinition + { + $current = $this_ScopeDefinition_8.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); + } + this_ObjectiveDefinition_9=ruleObjectiveDefinition + { + $current = $this_ObjectiveDefinition_9.current; + afterParserOrEnumRuleCall(); + } + ) + this_DOT_10=RULE_DOT { - newCompositeNode(grammarAccess.getStatementAccess().getInterpretationParserRuleCall_0()); - } - this_Interpretation_0=ruleInterpretation - { - $current = $this_Interpretation_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getPredicateParserRuleCall_1()); - } - this_Predicate_1=rulePredicate - { - $current = $this_Predicate_1.current; - afterParserOrEnumRuleCall(); + newLeafNode(this_DOT_10, grammarAccess.getStatementAccess().getDOTTerminalRuleCall_1()); } ) ; -// Entry rule entryRuleREALLiteral -entryRuleREALLiteral returns [String current=null]: - { newCompositeNode(grammarAccess.getREALLiteralRule()); } - iv_ruleREALLiteral=ruleREALLiteral - { $current=$iv_ruleREALLiteral.current.getText(); } +// Entry rule entryRuleAssertionOrDefinition +entryRuleAssertionOrDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAssertionOrDefinitionRule()); } + iv_ruleAssertionOrDefinition=ruleAssertionOrDefinition + { $current=$iv_ruleAssertionOrDefinition.current; } EOF; -// Rule REALLiteral -ruleREALLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +// Rule AssertionOrDefinition +ruleAssertionOrDefinition returns [EObject current=null] @init { enterRule(); } @@ -148,44 +227,128 @@ ruleREALLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleTok leaveRule(); }: ( - ( - kw='-' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getREALLiteralAccess().getHyphenMinusKeyword_0()); - } - )? - this_INT_1=RULE_INT - { - $current.merge(this_INT_1); - } - { - newLeafNode(this_INT_1, grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_1()); - } - kw='.' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getREALLiteralAccess().getFullStopKeyword_2()); - } - this_INT_3=RULE_INT { - $current.merge(this_INT_3); + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); } + this_Expression_0=ruleExpression { - newLeafNode(this_INT_3, grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_3()); + $current = $this_Expression_0.current; + afterParserOrEnumRuleCall(); } + ( + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0(), + $current); + } + ) + ( + otherlv_2=':' + { + newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); + } + lv_range_3_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); + } + set( + $current, + "range", + lv_range_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) + | + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0(), + $current); + } + ) + otherlv_5=':-' + { + newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); + } + lv_body_6_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); + } + set( + $current, + "body", + lv_body_6_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0(), + $current); + } + ) + otherlv_8='=' + { + newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); + } + lv_body_9_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); + } + set( + $current, + "body", + lv_body_9_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) ) ; -// Entry rule entryRuleINTLiteral -entryRuleINTLiteral returns [String current=null]: - { newCompositeNode(grammarAccess.getINTLiteralRule()); } - iv_ruleINTLiteral=ruleINTLiteral - { $current=$iv_ruleINTLiteral.current.getText(); } +// Entry rule entryRulePredicateDefinition +entryRulePredicateDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPredicateDefinitionRule()); } + iv_rulePredicateDefinition=rulePredicateDefinition + { $current=$iv_rulePredicateDefinition.current; } EOF; -// Rule INTLiteral -ruleINTLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +// Rule PredicateDefinition +rulePredicateDefinition returns [EObject current=null] @init { enterRule(); } @@ -194,31 +357,122 @@ ruleINTLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToke }: ( ( - kw='-' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getINTLiteralAccess().getHyphenMinusKeyword_0()); - } - )? - this_INT_1=RULE_INT - { - $current.merge(this_INT_1); - } + ( + ( + ( + lv_functional_0_0='functional' + { + newLeafNode(lv_functional_0_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPredicateDefinitionRule()); + } + setWithLastConsumed($current, "functional", true, "functional"); + } + ) + ) + ( + ( + lv_error_1_0='error' + { + newLeafNode(lv_error_1_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPredicateDefinitionRule()); + } + setWithLastConsumed($current, "error", true, "error"); + } + ) + )? + ) + | + ( + ( + ( + lv_error_2_0='error' + { + newLeafNode(lv_error_2_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPredicateDefinitionRule()); + } + setWithLastConsumed($current, "error", true, "error"); + } + ) + ) + ( + ( + lv_functional_3_0='functional' + { + newLeafNode(lv_functional_3_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPredicateDefinitionRule()); + } + setWithLastConsumed($current, "functional", true, "functional"); + } + ) + )? + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); + } + lv_head_4_0=ruleCall + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); + } + set( + $current, + "head", + lv_head_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_5=':-' { - newLeafNode(this_INT_1, grammarAccess.getINTLiteralAccess().getINTTerminalRuleCall_1()); + newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); } + ( + ( + { + newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + } + lv_body_6_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); + } + set( + $current, + "body", + lv_body_6_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) ) ; -// Entry rule entryRuleBooleanValue -entryRuleBooleanValue returns [EObject current=null]: - { newCompositeNode(grammarAccess.getBooleanValueRule()); } - iv_ruleBooleanValue=ruleBooleanValue - { $current=$iv_ruleBooleanValue.current; } +// Entry rule entryRuleUnnamedErrorPrediateDefinition +entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); } + iv_ruleUnnamedErrorPrediateDefinition=ruleUnnamedErrorPrediateDefinition + { $current=$iv_ruleUnnamedErrorPrediateDefinition.current; } EOF; -// Rule BooleanValue -ruleBooleanValue returns [EObject current=null] +// Rule UnnamedErrorPrediateDefinition +ruleUnnamedErrorPrediateDefinition returns [EObject current=null] @init { enterRule(); } @@ -226,45 +480,64 @@ ruleBooleanValue returns [EObject current=null] leaveRule(); }: ( + otherlv_0='error' + { + newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); + } ( ( { - $current = forceCreateModelElement( - grammarAccess.getBooleanValueAccess().getBooleanTrueAction_0_0(), - $current); + newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); + } + lv_argumentList_1_0=ruleArgumentList + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); + } + set( + $current, + "argumentList", + lv_argumentList_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); + afterParserOrEnumRuleCall(); } ) - otherlv_1='true' - { - newLeafNode(otherlv_1, grammarAccess.getBooleanValueAccess().getTrueKeyword_0_1()); - } ) - | + otherlv_2=':-' + { + newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); + } ( - otherlv_2='false' - { - newLeafNode(otherlv_2, grammarAccess.getBooleanValueAccess().getFalseKeyword_1_0()); - } ( { - $current = forceCreateModelElement( - grammarAccess.getBooleanValueAccess().getBooleanFalseAction_1_1(), - $current); + newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + } + lv_body_3_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); + } + set( + $current, + "body", + lv_body_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); } ) ) ) ; -// Entry rule entryRuleTruthValue -entryRuleTruthValue returns [EObject current=null]: - { newCompositeNode(grammarAccess.getTruthValueRule()); } - iv_ruleTruthValue=ruleTruthValue - { $current=$iv_ruleTruthValue.current; } +// Entry rule entryRuleDefaultDefinition +entryRuleDefaultDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getDefaultDefinitionRule()); } + iv_ruleDefaultDefinition=ruleDefaultDefinition + { $current=$iv_ruleDefaultDefinition.current; } EOF; -// Rule TruthValue -ruleTruthValue returns [EObject current=null] +// Rule DefaultDefinition +ruleDefaultDefinition returns [EObject current=null] @init { enterRule(); } @@ -272,73 +545,64 @@ ruleTruthValue returns [EObject current=null] leaveRule(); }: ( + otherlv_0='default' + { + newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); + } ( ( { - $current = forceCreateModelElement( - grammarAccess.getTruthValueAccess().getTrueAction_0_0(), - $current); - } - ) - otherlv_1='true' - { - newLeafNode(otherlv_1, grammarAccess.getTruthValueAccess().getTrueKeyword_0_1()); - } - ) - | - ( - ( - { - $current = forceCreateModelElement( - grammarAccess.getTruthValueAccess().getFalseAction_1_0(), - $current); + newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); } - ) - otherlv_3='false' - { - newLeafNode(otherlv_3, grammarAccess.getTruthValueAccess().getFalseKeyword_1_1()); - } - ) - | - ( - ( + lv_head_1_0=ruleCall { - $current = forceCreateModelElement( - grammarAccess.getTruthValueAccess().getUnknownAction_2_0(), - $current); + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); + } + set( + $current, + "head", + lv_head_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); } ) - otherlv_5='unknown' - { - newLeafNode(otherlv_5, grammarAccess.getTruthValueAccess().getUnknownKeyword_2_1()); - } ) - | + otherlv_2=':' + { + newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); + } ( ( { - $current = forceCreateModelElement( - grammarAccess.getTruthValueAccess().getErrorAction_3_0(), - $current); + newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); + } + lv_range_3_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); + } + set( + $current, + "range", + lv_range_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); } ) - otherlv_7='error' - { - newLeafNode(otherlv_7, grammarAccess.getTruthValueAccess().getErrorKeyword_3_1()); - } ) ) ; -// Entry rule entryRuleInterpretation -entryRuleInterpretation returns [EObject current=null]: - { newCompositeNode(grammarAccess.getInterpretationRule()); } - iv_ruleInterpretation=ruleInterpretation - { $current=$iv_ruleInterpretation.current; } +// Entry rule entryRuleExternPredicateDefinition +entryRuleExternPredicateDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); } + iv_ruleExternPredicateDefinition=ruleExternPredicateDefinition + { $current=$iv_ruleExternPredicateDefinition.current; } EOF; -// Rule Interpretation -ruleInterpretation returns [EObject current=null] +// Rule ExternPredicateDefinition +ruleExternPredicateDefinition returns [EObject current=null] @init { enterRule(); } @@ -346,44 +610,45 @@ ruleInterpretation returns [EObject current=null] leaveRule(); }: ( + otherlv_0='extern' { - newCompositeNode(grammarAccess.getInterpretationAccess().getBasicInterpretationParserRuleCall_0()); - } - this_BasicInterpretation_0=ruleBasicInterpretation - { - $current = $this_BasicInterpretation_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getInterpretationAccess().getDefaultInterpretationParserRuleCall_1()); - } - this_DefaultInterpretation_1=ruleDefaultInterpretation - { - $current = $this_DefaultInterpretation_1.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getInterpretationAccess().getCDInterpretationParserRuleCall_2()); + newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); } - this_CDInterpretation_2=ruleCDInterpretation + ( + ( + { + newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); + } + lv_head_1_0=ruleCall + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); + } + set( + $current, + "head", + lv_head_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2='.' { - $current = $this_CDInterpretation_2.current; - afterParserOrEnumRuleCall(); + newLeafNode(otherlv_2, grammarAccess.getExternPredicateDefinitionAccess().getFullStopKeyword_2()); } ) ; -// Entry rule entryRuleBasicInterpretation -entryRuleBasicInterpretation returns [EObject current=null]: - { newCompositeNode(grammarAccess.getBasicInterpretationRule()); } - iv_ruleBasicInterpretation=ruleBasicInterpretation - { $current=$iv_ruleBasicInterpretation.current; } +// Entry rule entryRuleMetricDefinition +entryRuleMetricDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getMetricDefinitionRule()); } + iv_ruleMetricDefinition=ruleMetricDefinition + { $current=$iv_ruleMetricDefinition.current; } EOF; -// Rule BasicInterpretation -ruleBasicInterpretation returns [EObject current=null] +// Rule MetricDefinition +ruleMetricDefinition returns [EObject current=null] @init { enterRule(); } @@ -394,97 +659,60 @@ ruleBasicInterpretation returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getBasicInterpretationAccess().getSymbolSymbolParserRuleCall_0_0()); + newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); } - lv_symbol_0_0=ruleSymbol + lv_type_0_0=ruleMetricType { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); + $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); } set( $current, - "symbol", - lv_symbol_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); + "type", + lv_type_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); afterParserOrEnumRuleCall(); } ) ) ( - otherlv_1='(' - { - newLeafNode(otherlv_1, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()); - } ( - ( - ( - { - newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0()); - } - lv_objects_2_0=ruleComplexObject - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); - } - add( - $current, - "objects", - lv_objects_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_3=',' - { - newLeafNode(otherlv_3, grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0()); + { + newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); + } + lv_head_1_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); } - ( - ( - { - newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0()); - } - lv_objects_4_0=ruleComplexObject - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); - } - add( - $current, - "objects", - lv_objects_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject"); - afterParserOrEnumRuleCall(); - } - ) - ) - )* - )? - otherlv_5=')' - { - newLeafNode(otherlv_5, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2()); - } - )? - otherlv_6=':' + set( + $current, + "head", + lv_head_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2='=' { - newLeafNode(otherlv_6, grammarAccess.getBasicInterpretationAccess().getColonKeyword_2()); + newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); } ( ( { - newCompositeNode(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0()); + newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); } - lv_value_7_0=ruleTruthValue + lv_body_3_0=ruleExpression { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); + $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); } set( $current, - "value", - lv_value_7_0, - "org.eclipse.viatra.solver.language.SolverLanguage.TruthValue"); + "body", + lv_body_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); afterParserOrEnumRuleCall(); } ) @@ -492,15 +720,15 @@ ruleBasicInterpretation returns [EObject current=null] ) ; -// Entry rule entryRuleSymbol -entryRuleSymbol returns [EObject current=null]: - { newCompositeNode(grammarAccess.getSymbolRule()); } - iv_ruleSymbol=ruleSymbol - { $current=$iv_ruleSymbol.current; } +// Entry rule entryRuleExternMetricDefinition +entryRuleExternMetricDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); } + iv_ruleExternMetricDefinition=ruleExternMetricDefinition + { $current=$iv_ruleExternMetricDefinition.current; } EOF; -// Rule Symbol -ruleSymbol returns [EObject current=null] +// Rule ExternMetricDefinition +ruleExternMetricDefinition returns [EObject current=null] @init { enterRule(); } @@ -508,79 +736,60 @@ ruleSymbol returns [EObject current=null] leaveRule(); }: ( + otherlv_0='extern' { - newCompositeNode(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0()); - } - this_ModelSymbol_0=ruleModelSymbol - { - $current = $this_ModelSymbol_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1()); - } - this_PartialitySymbol_1=rulePartialitySymbol - { - $current = $this_PartialitySymbol_1.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2()); + newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); } - this_DataSymbol_2=ruleDataSymbol - { - $current = $this_DataSymbol_2.current; - afterParserOrEnumRuleCall(); - } - ) -; - -// Entry rule entryRuleModelSymbol -entryRuleModelSymbol returns [EObject current=null]: - { newCompositeNode(grammarAccess.getModelSymbolRule()); } - iv_ruleModelSymbol=ruleModelSymbol - { $current=$iv_ruleModelSymbol.current; } - EOF; - -// Rule ModelSymbol -ruleModelSymbol returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( ( - lv_name_0_0=RULE_ID - { - newLeafNode(lv_name_0_0, grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getModelSymbolRule()); + ( + { + newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); } - setWithLastConsumed( - $current, - "name", - lv_name_0_0, - "org.eclipse.xtext.common.Terminals.ID"); - } + lv_type_1_0=ruleMetricType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + } + set( + $current, + "type", + lv_type_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); + } + lv_head_2_0=ruleCall + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + } + set( + $current, + "head", + lv_head_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); + } + ) ) ) ; -// Entry rule entryRulePartialitySymbol -entryRulePartialitySymbol returns [EObject current=null]: - { newCompositeNode(grammarAccess.getPartialitySymbolRule()); } - iv_rulePartialitySymbol=rulePartialitySymbol - { $current=$iv_rulePartialitySymbol.current; } +// Entry rule entryRuleExpression +entryRuleExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExpressionRule()); } + iv_ruleExpression=ruleExpression + { $current=$iv_ruleExpression.current; } EOF; -// Rule PartialitySymbol -rulePartialitySymbol returns [EObject current=null] +// Rule Expression +ruleExpression returns [EObject current=null] @init { enterRule(); } @@ -589,34 +798,34 @@ rulePartialitySymbol returns [EObject current=null] }: ( { - newCompositeNode(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0()); + newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); } - this_ExistSymbol_0=ruleExistSymbol + this_IfElse_0=ruleIfElse { - $current = $this_ExistSymbol_0.current; + $current = $this_IfElse_0.current; afterParserOrEnumRuleCall(); } | { - newCompositeNode(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1()); + newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); } - this_EqualsSymbol_1=ruleEqualsSymbol + this_DisjunctiveExpression_1=ruleDisjunctiveExpression { - $current = $this_EqualsSymbol_1.current; + $current = $this_DisjunctiveExpression_1.current; afterParserOrEnumRuleCall(); } ) ; -// Entry rule entryRuleExistSymbol -entryRuleExistSymbol returns [EObject current=null]: - { newCompositeNode(grammarAccess.getExistSymbolRule()); } - iv_ruleExistSymbol=ruleExistSymbol - { $current=$iv_ruleExistSymbol.current; } +// Entry rule entryRuleIfElse +entryRuleIfElse returns [EObject current=null]: + { newCompositeNode(grammarAccess.getIfElseRule()); } + iv_ruleIfElse=ruleIfElse + { $current=$iv_ruleIfElse.current; } EOF; -// Rule ExistSymbol -ruleExistSymbol returns [EObject current=null] +// Rule IfElse +ruleIfElse returns [EObject current=null] @init { enterRule(); } @@ -624,59 +833,87 @@ ruleExistSymbol returns [EObject current=null] leaveRule(); }: ( - otherlv_0='exists' + otherlv_0='if' { - newLeafNode(otherlv_0, grammarAccess.getExistSymbolAccess().getExistsKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0()); } ( - { - $current = forceCreateModelElement( - grammarAccess.getExistSymbolAccess().getExistSymbolAction_1(), - $current); - } + ( + { + newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); + } + lv_condition_1_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIfElseRule()); + } + set( + $current, + "condition", + lv_condition_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) ) - ) -; - -// Entry rule entryRuleEqualsSymbol -entryRuleEqualsSymbol returns [EObject current=null]: - { newCompositeNode(grammarAccess.getEqualsSymbolRule()); } - iv_ruleEqualsSymbol=ruleEqualsSymbol - { $current=$iv_ruleEqualsSymbol.current; } - EOF; - -// Rule EqualsSymbol -ruleEqualsSymbol returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='equals' + otherlv_2='then' { - newLeafNode(otherlv_0, grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0()); + newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2()); } ( - { - $current = forceCreateModelElement( - grammarAccess.getEqualsSymbolAccess().getEqualsSymbolAction_1(), - $current); - } + ( + { + newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); + } + lv_then_3_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIfElseRule()); + } + set( + $current, + "then", + lv_then_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4='else' + { + newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); + } + lv_else_5_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIfElseRule()); + } + set( + $current, + "else", + lv_else_5_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) ) ) ; -// Entry rule entryRuleDataSymbol -entryRuleDataSymbol returns [EObject current=null]: - { newCompositeNode(grammarAccess.getDataSymbolRule()); } - iv_ruleDataSymbol=ruleDataSymbol - { $current=$iv_ruleDataSymbol.current; } +// Entry rule entryRuleDisjunctiveExpression +entryRuleDisjunctiveExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); } + iv_ruleDisjunctiveExpression=ruleDisjunctiveExpression + { $current=$iv_ruleDisjunctiveExpression.current; } EOF; -// Rule DataSymbol -ruleDataSymbol returns [EObject current=null] +// Rule DisjunctiveExpression +ruleDisjunctiveExpression returns [EObject current=null] @init { enterRule(); } @@ -685,82 +922,126 @@ ruleDataSymbol returns [EObject current=null] }: ( { - newCompositeNode(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0()); - } - this_BooleanSymbol_0=ruleBooleanSymbol - { - $current = $this_BooleanSymbol_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1()); - } - this_IntegerSymbol_1=ruleIntegerSymbol - { - $current = $this_IntegerSymbol_1.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2()); - } - this_RealSymbol_2=ruleRealSymbol - { - $current = $this_RealSymbol_2.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3()); + newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); } - this_StringSymbol_3=ruleStringSymbol + this_ConjunctiveExpression_0=ruleConjunctiveExpression { - $current = $this_StringSymbol_3.current; + $current = $this_ConjunctiveExpression_0.current; afterParserOrEnumRuleCall(); } - ) -; - -// Entry rule entryRuleBooleanSymbol -entryRuleBooleanSymbol returns [EObject current=null]: - { newCompositeNode(grammarAccess.getBooleanSymbolRule()); } - iv_ruleBooleanSymbol=ruleBooleanSymbol - { $current=$iv_ruleBooleanSymbol.current; } - EOF; - -// Rule BooleanSymbol -ruleBooleanSymbol returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='bool' - { - newLeafNode(otherlv_0, grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0()); - } ( - { - $current = forceCreateModelElement( - grammarAccess.getBooleanSymbolAccess().getBooleanSymbolAction_1(), - $current); - } - ) + ( + ( + { + $current = forceCreateModelElementAndAdd( + grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0(), + $current); + } + ) + ( + otherlv_2=';' + { + newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); + } + lv_children_3_0=ruleConjunctiveExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); + } + add( + $current, + "children", + lv_children_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )+ + ) + | + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0(), + $current); + } + ) + otherlv_5='->' + { + newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); + } + lv_body_6_0=ruleConjunctiveExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); + } + set( + $current, + "body", + lv_body_6_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + { + $current = forceCreateModelElementAndAdd( + grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3(), + $current); + } + ) + ( + otherlv_8=';' + { + newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); + } + lv_cases_9_0=ruleCase + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); + } + add( + $current, + "cases", + lv_cases_9_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Case"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) + )? ) ; -// Entry rule entryRuleIntegerSymbol -entryRuleIntegerSymbol returns [EObject current=null]: - { newCompositeNode(grammarAccess.getIntegerSymbolRule()); } - iv_ruleIntegerSymbol=ruleIntegerSymbol - { $current=$iv_ruleIntegerSymbol.current; } +// Entry rule entryRuleCase +entryRuleCase returns [EObject current=null]: + { newCompositeNode(grammarAccess.getCaseRule()); } + iv_ruleCase=ruleCase + { $current=$iv_ruleCase.current; } EOF; -// Rule IntegerSymbol -ruleIntegerSymbol returns [EObject current=null] +// Rule Case +ruleCase returns [EObject current=null] @init { enterRule(); } @@ -768,59 +1049,60 @@ ruleIntegerSymbol returns [EObject current=null] leaveRule(); }: ( - otherlv_0='int' - { - newLeafNode(otherlv_0, grammarAccess.getIntegerSymbolAccess().getIntKeyword_0()); - } ( - { - $current = forceCreateModelElement( - grammarAccess.getIntegerSymbolAccess().getIntegerSymbolAction_1(), - $current); - } + ( + { + newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); + } + lv_condition_0_0=ruleConjunctiveExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCaseRule()); + } + set( + $current, + "condition", + lv_condition_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); + afterParserOrEnumRuleCall(); + } + ) ) - ) -; - -// Entry rule entryRuleRealSymbol -entryRuleRealSymbol returns [EObject current=null]: - { newCompositeNode(grammarAccess.getRealSymbolRule()); } - iv_ruleRealSymbol=ruleRealSymbol - { $current=$iv_ruleRealSymbol.current; } - EOF; - -// Rule RealSymbol -ruleRealSymbol returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='real' + otherlv_1='->' { - newLeafNode(otherlv_0, grammarAccess.getRealSymbolAccess().getRealKeyword_0()); + newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); } ( - { - $current = forceCreateModelElement( - grammarAccess.getRealSymbolAccess().getRealSymbolAction_1(), - $current); - } + ( + { + newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); + } + lv_body_2_0=ruleConjunctiveExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCaseRule()); + } + set( + $current, + "body", + lv_body_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); + afterParserOrEnumRuleCall(); + } + ) ) ) ; -// Entry rule entryRuleStringSymbol -entryRuleStringSymbol returns [EObject current=null]: - { newCompositeNode(grammarAccess.getStringSymbolRule()); } - iv_ruleStringSymbol=ruleStringSymbol - { $current=$iv_ruleStringSymbol.current; } +// Entry rule entryRuleConjunctiveExpression +entryRuleConjunctiveExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getConjunctiveExpressionRule()); } + iv_ruleConjunctiveExpression=ruleConjunctiveExpression + { $current=$iv_ruleConjunctiveExpression.current; } EOF; -// Rule StringSymbol -ruleStringSymbol returns [EObject current=null] +// Rule ConjunctiveExpression +ruleConjunctiveExpression returns [EObject current=null] @init { enterRule(); } @@ -828,29 +1110,60 @@ ruleStringSymbol returns [EObject current=null] leaveRule(); }: ( - otherlv_0='string' { - newLeafNode(otherlv_0, grammarAccess.getStringSymbolAccess().getStringKeyword_0()); + newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); + } + this_ComparisonExpression_0=ruleComparisonExpression + { + $current = $this_ComparisonExpression_0.current; + afterParserOrEnumRuleCall(); } ( - { - $current = forceCreateModelElement( - grammarAccess.getStringSymbolAccess().getStringSymbolAction_1(), - $current); - } - ) + ( + { + $current = forceCreateModelElementAndAdd( + grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0(), + $current); + } + ) + ( + otherlv_2=',' + { + newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); + } + lv_children_3_0=ruleComparisonExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConjunctiveExpressionRule()); + } + add( + $current, + "children", + lv_children_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )+ + )? ) ; -// Entry rule entryRuleComplexObject -entryRuleComplexObject returns [EObject current=null]: - { newCompositeNode(grammarAccess.getComplexObjectRule()); } - iv_ruleComplexObject=ruleComplexObject - { $current=$iv_ruleComplexObject.current; } +// Entry rule entryRuleComparisonExpression +entryRuleComparisonExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getComparisonExpressionRule()); } + iv_ruleComparisonExpression=ruleComparisonExpression + { $current=$iv_ruleComparisonExpression.current; } EOF; -// Rule ComplexObject -ruleComplexObject returns [EObject current=null] +// Rule ComparisonExpression +ruleComparisonExpression returns [EObject current=null] @init { enterRule(); } @@ -859,43 +1172,72 @@ ruleComplexObject returns [EObject current=null] }: ( { - newCompositeNode(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0()); - } - this_Object_0=ruleObject - { - $current = $this_Object_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1()); - } - this_AllInstances_1=ruleAllInstances - { - $current = $this_AllInstances_1.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2()); + newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); } - this_AllObjects_2=ruleAllObjects + this_AdditiveExpression_0=ruleAdditiveExpression { - $current = $this_AllObjects_2.current; + $current = $this_AdditiveExpression_0.current; afterParserOrEnumRuleCall(); } + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); + } + lv_op_2_0=ruleComparisonOperator + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComparisonExpressionRule()); + } + set( + $current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleAdditiveExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComparisonExpressionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? ) ; -// Entry rule entryRuleObject -entryRuleObject returns [EObject current=null]: - { newCompositeNode(grammarAccess.getObjectRule()); } - iv_ruleObject=ruleObject - { $current=$iv_ruleObject.current; } +// Entry rule entryRuleAdditiveExpression +entryRuleAdditiveExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAdditiveExpressionRule()); } + iv_ruleAdditiveExpression=ruleAdditiveExpression + { $current=$iv_ruleAdditiveExpression.current; } EOF; -// Rule Object -ruleObject returns [EObject current=null] +// Rule AdditiveExpression +ruleAdditiveExpression returns [EObject current=null] @init { enterRule(); } @@ -904,43 +1246,72 @@ ruleObject returns [EObject current=null] }: ( { - newCompositeNode(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0()); - } - this_NamedObject_0=ruleNamedObject - { - $current = $this_NamedObject_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1()); - } - this_UnnamedObject_1=ruleUnnamedObject - { - $current = $this_UnnamedObject_1.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2()); + newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); } - this_DataObject_2=ruleDataObject + this_MultiplicativeExpression_0=ruleMultiplicativeExpression { - $current = $this_DataObject_2.current; + $current = $this_MultiplicativeExpression_0.current; afterParserOrEnumRuleCall(); } + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); + } + lv_op_2_0=ruleAdditiveBinaryOperator + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule()); + } + set( + $current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveBinaryOperator"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleMultiplicativeExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* ) ; -// Entry rule entryRuleNamedObject -entryRuleNamedObject returns [EObject current=null]: - { newCompositeNode(grammarAccess.getNamedObjectRule()); } - iv_ruleNamedObject=ruleNamedObject - { $current=$iv_ruleNamedObject.current; } +// Entry rule entryRuleMultiplicativeExpression +entryRuleMultiplicativeExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getMultiplicativeExpressionRule()); } + iv_ruleMultiplicativeExpression=ruleMultiplicativeExpression + { $current=$iv_ruleMultiplicativeExpression.current; } EOF; -// Rule NamedObject -ruleNamedObject returns [EObject current=null] +// Rule MultiplicativeExpression +ruleMultiplicativeExpression returns [EObject current=null] @init { enterRule(); } @@ -948,44 +1319,73 @@ ruleNamedObject returns [EObject current=null] leaveRule(); }: ( - otherlv_0='\'' { - newLeafNode(otherlv_0, grammarAccess.getNamedObjectAccess().getApostropheKeyword_0()); + newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); + } + this_ExponentialExpression_0=ruleExponentialExpression + { + $current = $this_ExponentialExpression_0.current; + afterParserOrEnumRuleCall(); } ( ( - lv_name_1_0=RULE_ID { - newLeafNode(lv_name_1_0, grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getNamedObjectRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "org.eclipse.xtext.common.Terminals.ID"); + $current = forceCreateModelElementAndSet( + grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0(), + $current); } ) - ) - otherlv_2='\'' - { - newLeafNode(otherlv_2, grammarAccess.getNamedObjectAccess().getApostropheKeyword_2()); - } + ( + ( + { + newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); + } + lv_op_2_0=ruleMultiplicativeBinaryOperator + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule()); + } + set( + $current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeBinaryOperator"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleExponentialExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* ) ; -// Entry rule entryRuleUnnamedObject -entryRuleUnnamedObject returns [EObject current=null]: - { newCompositeNode(grammarAccess.getUnnamedObjectRule()); } - iv_ruleUnnamedObject=ruleUnnamedObject - { $current=$iv_ruleUnnamedObject.current; } +// Entry rule entryRuleExponentialExpression +entryRuleExponentialExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExponentialExpressionRule()); } + iv_ruleExponentialExpression=ruleExponentialExpression + { $current=$iv_ruleExponentialExpression.current; } EOF; -// Rule UnnamedObject -ruleUnnamedObject returns [EObject current=null] +// Rule ExponentialExpression +ruleExponentialExpression returns [EObject current=null] @init { enterRule(); } @@ -993,34 +1393,73 @@ ruleUnnamedObject returns [EObject current=null] leaveRule(); }: ( + { + newCompositeNode(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); + } + this_UnaryExpression_0=ruleUnaryExpression + { + $current = $this_UnaryExpression_0.current; + afterParserOrEnumRuleCall(); + } ( - lv_name_0_0=RULE_ID - { - newLeafNode(lv_name_0_0, grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getUnnamedObjectRule()); + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0(), + $current); } - setWithLastConsumed( - $current, - "name", - lv_name_0_0, - "org.eclipse.xtext.common.Terminals.ID"); - } - ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); + } + lv_op_2_0=ruleExponentialOp + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExponentialExpressionRule()); + } + set( + $current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialOp"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleExponentialExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExponentialExpressionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? ) ; -// Entry rule entryRuleDataObject -entryRuleDataObject returns [EObject current=null]: - { newCompositeNode(grammarAccess.getDataObjectRule()); } - iv_ruleDataObject=ruleDataObject - { $current=$iv_ruleDataObject.current; } +// Entry rule entryRuleUnaryExpression +entryRuleUnaryExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getUnaryExpressionRule()); } + iv_ruleUnaryExpression=ruleUnaryExpression + { $current=$iv_ruleUnaryExpression.current; } EOF; -// Rule DataObject -ruleDataObject returns [EObject current=null] +// Rule UnaryExpression +ruleUnaryExpression returns [EObject current=null] @init { enterRule(); } @@ -1029,52 +1468,118 @@ ruleDataObject returns [EObject current=null] }: ( { - newCompositeNode(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0()); + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); } - this_BooleanObject_0=ruleBooleanObject + this_AggregationExpression_0=ruleAggregationExpression { - $current = $this_BooleanObject_0.current; + $current = $this_AggregationExpression_0.current; afterParserOrEnumRuleCall(); } | + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); + } + lv_op_2_0=ruleUnaryOp + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); + } + set( + $current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); + } + lv_body_3_0=ruleAggregationExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); + } + set( + $current, + "body", + lv_body_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) +; + +// Entry rule entryRuleAggregationExpression +entryRuleAggregationExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAggregationExpressionRule()); } + iv_ruleAggregationExpression=ruleAggregationExpression + { $current=$iv_ruleAggregationExpression.current; } + EOF; + +// Rule AggregationExpression +ruleAggregationExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( { - newCompositeNode(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1()); + newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); } - this_IntObject_1=ruleIntObject + this_AtomicExpression_0=ruleAtomicExpression { - $current = $this_IntObject_1.current; + $current = $this_AtomicExpression_0.current; afterParserOrEnumRuleCall(); } | { - newCompositeNode(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2()); + newCompositeNode(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); } - this_RealObject_2=ruleRealObject + this_Count_1=ruleCount { - $current = $this_RealObject_2.current; + $current = $this_Count_1.current; afterParserOrEnumRuleCall(); } | { - newCompositeNode(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3()); + newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); } - this_StringObject_3=ruleStringObject + this_Aggregation_2=ruleAggregation { - $current = $this_StringObject_3.current; + $current = $this_Aggregation_2.current; afterParserOrEnumRuleCall(); } ) ; -// Entry rule entryRuleBooleanObject -entryRuleBooleanObject returns [EObject current=null]: - { newCompositeNode(grammarAccess.getBooleanObjectRule()); } - iv_ruleBooleanObject=ruleBooleanObject - { $current=$iv_ruleBooleanObject.current; } +// Entry rule entryRuleCount +entryRuleCount returns [EObject current=null]: + { newCompositeNode(grammarAccess.getCountRule()); } + iv_ruleCount=ruleCount + { $current=$iv_ruleCount.current; } EOF; -// Rule BooleanObject -ruleBooleanObject returns [EObject current=null] +// Rule Count +ruleCount returns [EObject current=null] @init { enterRule(); } @@ -1082,71 +1587,49 @@ ruleBooleanObject returns [EObject current=null] leaveRule(); }: ( + otherlv_0='count' + { + newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); + } ( - { - newCompositeNode(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0()); - } - lv_value_0_0=ruleBooleanValue - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getBooleanObjectRule()); + ( + { + newCompositeNode(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); } - set( - $current, - "value", - lv_value_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.BooleanValue"); - afterParserOrEnumRuleCall(); - } - ) - ) -; - -// Entry rule entryRuleIntObject -entryRuleIntObject returns [EObject current=null]: - { newCompositeNode(grammarAccess.getIntObjectRule()); } - iv_ruleIntObject=ruleIntObject - { $current=$iv_ruleIntObject.current; } - EOF; - -// Rule IntObject -ruleIntObject returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - { - newCompositeNode(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0()); - } - lv_value_0_0=ruleINTLiteral - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getIntObjectRule()); + lv_body_2_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCountRule()); + } + set( + $current, + "body", + lv_body_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); } - set( - $current, - "value", - lv_value_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.INTLiteral"); - afterParserOrEnumRuleCall(); - } + ) ) + otherlv_3='}' + { + newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); + } ) ; -// Entry rule entryRuleRealObject -entryRuleRealObject returns [EObject current=null]: - { newCompositeNode(grammarAccess.getRealObjectRule()); } - iv_ruleRealObject=ruleRealObject - { $current=$iv_ruleRealObject.current; } +// Entry rule entryRuleAggregation +entryRuleAggregation returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAggregationRule()); } + iv_ruleAggregation=ruleAggregation + { $current=$iv_ruleAggregation.current; } EOF; -// Rule RealObject -ruleRealObject returns [EObject current=null] +// Rule Aggregation +ruleAggregation returns [EObject current=null] @init { enterRule(); } @@ -1155,238 +1638,181 @@ ruleRealObject returns [EObject current=null] }: ( ( - { - newCompositeNode(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0()); - } - lv_value_0_0=ruleREALLiteral - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getRealObjectRule()); + ( + { + newCompositeNode(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); } - set( - $current, - "value", - lv_value_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.REALLiteral"); - afterParserOrEnumRuleCall(); - } - ) - ) -; - -// Entry rule entryRuleStringObject -entryRuleStringObject returns [EObject current=null]: - { newCompositeNode(grammarAccess.getStringObjectRule()); } - iv_ruleStringObject=ruleStringObject - { $current=$iv_ruleStringObject.current; } - EOF; - -// Rule StringObject -ruleStringObject returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - lv_value_0_0=RULE_STRING - { - newLeafNode(lv_value_0_0, grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getStringObjectRule()); + lv_op_0_0=ruleAggregationOp + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAggregationRule()); + } + set( + $current, + "op", + lv_op_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp"); + afterParserOrEnumRuleCall(); } - setWithLastConsumed( - $current, - "value", - lv_value_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); - } + ) ) - ) -; - -// Entry rule entryRulePredicate -entryRulePredicate returns [EObject current=null]: - { newCompositeNode(grammarAccess.getPredicateRule()); } - iv_rulePredicate=rulePredicate - { $current=$iv_rulePredicate.current; } - EOF; - -// Rule Predicate -rulePredicate returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); + } ( ( - lv_isError_0_0='error' { - newLeafNode(lv_isError_0_0, grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); + newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); } + lv_body_2_0=ruleExpression { if ($current==null) { - $current = createModelElement(grammarAccess.getPredicateRule()); + $current = createModelElementForParent(grammarAccess.getAggregationRule()); } - setWithLastConsumed($current, "isError", true, "error"); + set( + $current, + "body", + lv_body_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); } ) - )? + ) + otherlv_3='|' + { + newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); + } ( ( { - newCompositeNode(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); } - lv_symbol_1_0=ruleModelSymbol + lv_condition_4_0=ruleExpression { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPredicateRule()); + $current = createModelElementForParent(grammarAccess.getAggregationRule()); } set( $current, - "symbol", - lv_symbol_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); + "condition", + lv_condition_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); afterParserOrEnumRuleCall(); } ) ) + otherlv_5='}' + { + newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); + } + ) +; + +// Entry rule entryRuleAtomicExpression +entryRuleAtomicExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAtomicExpressionRule()); } + iv_ruleAtomicExpression=ruleAtomicExpression + { $current=$iv_ruleAtomicExpression.current; } + EOF; + +// Rule AtomicExpression +ruleAtomicExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( ( - otherlv_2='(' { - newLeafNode(otherlv_2, grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()); + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0_0()); + } + this_Reference_0=ruleReference + { + $current = $this_Reference_0.current; + afterParserOrEnumRuleCall(); } ( ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getAtomicExpressionAccess().getCallFunctorAction_0_1_0(), + $current); + } + ) + ( + ('(')=> ( { - newCompositeNode(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0()); + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getArgumentListArgumentListParserRuleCall_0_1_1_0()); } - lv_parameters_3_0=ruleParameter + lv_argumentList_2_0=ruleArgumentList { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPredicateRule()); + $current = createModelElementForParent(grammarAccess.getAtomicExpressionRule()); } - add( + set( $current, - "parameters", - lv_parameters_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); + "argumentList", + lv_argumentList_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); afterParserOrEnumRuleCall(); } ) ) - ( - otherlv_4=',' - { - newLeafNode(otherlv_4, grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0()); - } - lv_parameters_5_0=ruleParameter - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPredicateRule()); - } - add( - $current, - "parameters", - lv_parameters_5_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); - afterParserOrEnumRuleCall(); - } - ) - ) - )* )? - otherlv_6=')' - { - newLeafNode(otherlv_6, grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2()); - } - )? - otherlv_7=':-' + ) + | + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_1()); + } + this_Interval_3=ruleInterval + { + $current = $this_Interval_3.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_2()); + } + this_Literal_4=ruleLiteral { - newLeafNode(otherlv_7, grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3()); + $current = $this_Literal_4.current; + afterParserOrEnumRuleCall(); } + | ( - otherlv_8='false' + otherlv_5='(' { - newLeafNode(otherlv_8, grammarAccess.getPredicateAccess().getFalseKeyword_4_0()); + newLeafNode(otherlv_5, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0()); + } + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_3_1()); + } + this_Expression_6=ruleExpression + { + $current = $this_Expression_6.current; + afterParserOrEnumRuleCall(); + } + otherlv_7=')' + { + newLeafNode(otherlv_7, grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_3_2()); } - | - ( - ( - ( - { - newCompositeNode(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0()); - } - lv_bodies_9_0=rulePatternBody - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPredicateRule()); - } - add( - $current, - "bodies", - lv_bodies_9_0, - "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_10='|' - { - newLeafNode(otherlv_10, grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0()); - } - lv_bodies_11_0=rulePatternBody - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPredicateRule()); - } - add( - $current, - "bodies", - lv_bodies_11_0, - "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); - afterParserOrEnumRuleCall(); - } - ) - ) - )* - ) ) - otherlv_12='.' - { - newLeafNode(otherlv_12, grammarAccess.getPredicateAccess().getFullStopKeyword_5()); - } ) ; -// Entry rule entryRuleParameter -entryRuleParameter returns [EObject current=null]: - { newCompositeNode(grammarAccess.getParameterRule()); } - iv_ruleParameter=ruleParameter - { $current=$iv_ruleParameter.current; } +// Entry rule entryRuleCall +entryRuleCall returns [EObject current=null]: + { newCompositeNode(grammarAccess.getCallRule()); } + iv_ruleCall=ruleCall + { $current=$iv_ruleCall.current; } EOF; -// Rule Parameter -ruleParameter returns [EObject current=null] +// Rule Call +ruleCall returns [EObject current=null] @init { enterRule(); } @@ -1397,157 +1823,92 @@ ruleParameter returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0()); + newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); } - lv_variable_0_0=ruleVariable + lv_functor_0_0=ruleReference { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getParameterRule()); + $current = createModelElementForParent(grammarAccess.getCallRule()); } set( $current, - "variable", - lv_variable_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); + "functor", + lv_functor_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Reference"); afterParserOrEnumRuleCall(); } ) ) ( - otherlv_1=':' - { - newLeafNode(otherlv_1, grammarAccess.getParameterAccess().getColonKeyword_1_0()); - } ( ( + lv_transitiveClosure_1_0=RULE_STAR { - newCompositeNode(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0()); + newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getCallAccess().getTransitiveClosureSTARTerminalRuleCall_1_0_0()); } - lv_type_2_0=ruleSymbol { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getParameterRule()); + $current = createModelElement(grammarAccess.getCallRule()); } - set( + setWithLastConsumed( $current, - "type", - lv_type_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); - afterParserOrEnumRuleCall(); + "transitiveClosure", + true, + "org.eclipse.viatra.solver.language.SolverLanguage.STAR"); } ) ) - )? - ) -; - -// Entry rule entryRulePatternBody -entryRulePatternBody returns [EObject current=null]: - { newCompositeNode(grammarAccess.getPatternBodyRule()); } - iv_rulePatternBody=rulePatternBody - { $current=$iv_rulePatternBody.current; } - EOF; - -// Rule PatternBody -rulePatternBody returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - { - $current = forceCreateModelElement( - grammarAccess.getPatternBodyAccess().getPatternBodyAction_0(), - $current); - } - ) - ( - otherlv_1='true' - { - newLeafNode(otherlv_1, grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); - } | ( ( + lv_reflexiveTransitiveClosure_2_0=RULE_PLUS { - newCompositeNode(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0()); + newLeafNode(lv_reflexiveTransitiveClosure_2_0, grammarAccess.getCallAccess().getReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0()); } - lv_constraints_2_0=ruleConstraint { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPatternBodyRule()); + $current = createModelElement(grammarAccess.getCallRule()); } - add( + setWithLastConsumed( $current, - "constraints", - lv_constraints_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Constraint"); - afterParserOrEnumRuleCall(); + "reflexiveTransitiveClosure", + true, + "org.eclipse.viatra.solver.language.SolverLanguage.PLUS"); } ) - )* - ) - ) -; - -// Entry rule entryRulePolarity -entryRulePolarity returns [EObject current=null]: - { newCompositeNode(grammarAccess.getPolarityRule()); } - iv_rulePolarity=rulePolarity - { $current=$iv_rulePolarity.current; } - EOF; - -// Rule Polarity -rulePolarity returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( + ) + )? ( ( { - $current = forceCreateModelElement( - grammarAccess.getPolarityAccess().getPositiveAction_0_0(), - $current); + newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); } - ) - otherlv_1='+' - { - newLeafNode(otherlv_1, grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1()); - } - ) - | - ( - ( + lv_argumentList_3_0=ruleArgumentList { - $current = forceCreateModelElement( - grammarAccess.getPolarityAccess().getNegativeAction_1_0(), - $current); + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCallRule()); + } + set( + $current, + "argumentList", + lv_argumentList_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); + afterParserOrEnumRuleCall(); } ) - otherlv_3='-' - { - newLeafNode(otherlv_3, grammarAccess.getPolarityAccess().getHyphenMinusKeyword_1_1()); - } ) ) ; -// Entry rule entryRuleConstraint -entryRuleConstraint returns [EObject current=null]: - { newCompositeNode(grammarAccess.getConstraintRule()); } - iv_ruleConstraint=ruleConstraint - { $current=$iv_ruleConstraint.current; } +// Entry rule entryRuleArgumentList +entryRuleArgumentList returns [EObject current=null]: + { newCompositeNode(grammarAccess.getArgumentListRule()); } + iv_ruleArgumentList=ruleArgumentList + { $current=$iv_ruleArgumentList.current; } EOF; -// Rule Constraint -ruleConstraint returns [EObject current=null] +// Rule ArgumentList +ruleArgumentList returns [EObject current=null] @init { enterRule(); } @@ -1556,185 +1917,78 @@ ruleConstraint returns [EObject current=null] }: ( ( - ( - ( - { - newCompositeNode(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0()); - } - lv_polarity_0_0=rulePolarity - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - set( - $current, - "polarity", - lv_polarity_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Polarity"); - afterParserOrEnumRuleCall(); - } - ) - )? - ( - ( - { - newCompositeNode(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0()); - } - lv_symbol_1_0=ruleModelSymbol - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - set( - $current, - "symbol", - lv_symbol_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_2='(' - { - newLeafNode(otherlv_2, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0()); - } - lv_params_3_0=ruleLiteral - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - add( - $current, - "params", - lv_params_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); - afterParserOrEnumRuleCall(); - } - ) - )? - ( - otherlv_4=',' - { - newLeafNode(otherlv_4, grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0()); - } - lv_params_5_0=ruleLiteral - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - add( - $current, - "params", - lv_params_5_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); - afterParserOrEnumRuleCall(); - } - ) - ) - )* - otherlv_6=')' - { - newLeafNode(otherlv_6, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3()); - } - )? - ) - | - ( - ( - ( - { - newCompositeNode(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0()); - } - lv_closureType_7_0=ruleClosureType - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - set( - $current, - "closureType", - lv_closureType_7_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_8='(' { - newLeafNode(otherlv_8, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1()); + $current = forceCreateModelElement( + grammarAccess.getArgumentListAccess().getArgumentListAction_0(), + $current); } + ) + otherlv_1='(' + { + newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); + } + ( ( ( { - newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0()); + newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); } - lv_params_9_0=ruleLiteral + lv_arguments_2_0=ruleArgument { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getConstraintRule()); + $current = createModelElementForParent(grammarAccess.getArgumentListRule()); } add( $current, - "params", - lv_params_9_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); + "arguments", + lv_arguments_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Argument"); afterParserOrEnumRuleCall(); } ) - )? + ) ( - otherlv_10=',' + otherlv_3=',' { - newLeafNode(otherlv_10, grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0()); + newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); } ( ( { - newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0()); + newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); } - lv_params_11_0=ruleLiteral + lv_arguments_4_0=ruleArgument { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getConstraintRule()); + $current = createModelElementForParent(grammarAccess.getArgumentListRule()); } add( $current, - "params", - lv_params_11_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); + "arguments", + lv_arguments_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Argument"); afterParserOrEnumRuleCall(); } ) ) )* - otherlv_12=')' - { - newLeafNode(otherlv_12, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4()); - } - ) + )? + otherlv_5=')' + { + newLeafNode(otherlv_5, grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3()); + } ) ; -// Entry rule entryRuleClosureType -entryRuleClosureType returns [EObject current=null]: - { newCompositeNode(grammarAccess.getClosureTypeRule()); } - iv_ruleClosureType=ruleClosureType - { $current=$iv_ruleClosureType.current; } +// Entry rule entryRuleArgument +entryRuleArgument returns [EObject current=null]: + { newCompositeNode(grammarAccess.getArgumentRule()); } + iv_ruleArgument=ruleArgument + { $current=$iv_ruleArgument.current; } EOF; -// Rule ClosureType -ruleClosureType returns [EObject current=null] +// Rule Argument +ruleArgument returns [EObject current=null] @init { enterRule(); } @@ -1742,90 +1996,53 @@ ruleClosureType returns [EObject current=null] leaveRule(); }: ( - ( - ( - { - $current = forceCreateModelElement( - grammarAccess.getClosureTypeAccess().getReflexiveClosureAction_0_0(), - $current); - } - ) - otherlv_1='*' - { - newLeafNode(otherlv_1, grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1()); - } - ) + { + newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); + } + this_ExpressionArgument_0=ruleExpressionArgument + { + $current = $this_ExpressionArgument_0.current; + afterParserOrEnumRuleCall(); + } | - ( - ( - { - $current = forceCreateModelElement( - grammarAccess.getClosureTypeAccess().getIrreflexiveClosureAction_1_0(), - $current); - } - ) - otherlv_3='+' - { - newLeafNode(otherlv_3, grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1()); - } - ) - ) -; - -// Entry rule entryRuleLiteral -entryRuleLiteral returns [EObject current=null]: - { newCompositeNode(grammarAccess.getLiteralRule()); } - iv_ruleLiteral=ruleLiteral - { $current=$iv_ruleLiteral.current; } - EOF; - -// Rule Literal -ruleLiteral returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( { - newCompositeNode(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0()); + newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); } - this_Variable_0=ruleVariable + this_StarArgument_1=ruleStarArgument { - $current = $this_Variable_0.current; + $current = $this_StarArgument_1.current; afterParserOrEnumRuleCall(); } | { - newCompositeNode(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1()); + newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); } - this_DataObject_1=ruleDataObject + this_TypedArgument_2=ruleTypedArgument { - $current = $this_DataObject_1.current; + $current = $this_TypedArgument_2.current; afterParserOrEnumRuleCall(); } | { - newCompositeNode(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2()); + newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); } - this_NamedObject_2=ruleNamedObject + this_TypedStarArgument_3=ruleTypedStarArgument { - $current = $this_NamedObject_2.current; + $current = $this_TypedStarArgument_3.current; afterParserOrEnumRuleCall(); } ) ; -// Entry rule entryRuleVariable -entryRuleVariable returns [EObject current=null]: - { newCompositeNode(grammarAccess.getVariableRule()); } - iv_ruleVariable=ruleVariable - { $current=$iv_ruleVariable.current; } +// Entry rule entryRuleExpressionArgument +entryRuleExpressionArgument returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExpressionArgumentRule()); } + iv_ruleExpressionArgument=ruleExpressionArgument + { $current=$iv_ruleExpressionArgument.current; } EOF; -// Rule Variable -ruleVariable returns [EObject current=null] +// Rule ExpressionArgument +ruleExpressionArgument returns [EObject current=null] @init { enterRule(); } @@ -1834,33 +2051,34 @@ ruleVariable returns [EObject current=null] }: ( ( - lv_name_0_0=RULE_ID { - newLeafNode(lv_name_0_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0()); + newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); } + lv_body_0_0=ruleComparisonExpression { if ($current==null) { - $current = createModelElement(grammarAccess.getVariableRule()); + $current = createModelElementForParent(grammarAccess.getExpressionArgumentRule()); } - setWithLastConsumed( + set( $current, - "name", - lv_name_0_0, - "org.eclipse.xtext.common.Terminals.ID"); + "body", + lv_body_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); + afterParserOrEnumRuleCall(); } ) ) ; -// Entry rule entryRuleAllInstances -entryRuleAllInstances returns [EObject current=null]: - { newCompositeNode(grammarAccess.getAllInstancesRule()); } - iv_ruleAllInstances=ruleAllInstances - { $current=$iv_ruleAllInstances.current; } +// Entry rule entryRuleStarArgument +entryRuleStarArgument returns [EObject current=null]: + { newCompositeNode(grammarAccess.getStarArgumentRule()); } + iv_ruleStarArgument=ruleStarArgument + { $current=$iv_ruleStarArgument.current; } EOF; -// Rule AllInstances -ruleAllInstances returns [EObject current=null] +// Rule StarArgument +ruleStarArgument returns [EObject current=null] @init { enterRule(); } @@ -1868,25 +2086,64 @@ ruleAllInstances returns [EObject current=null] leaveRule(); }: ( - otherlv_0=':' + ( + { + $current = forceCreateModelElement( + grammarAccess.getStarArgumentAccess().getStarArgumentAction_0(), + $current); + } + ) + otherlv_1='*' { - newLeafNode(otherlv_0, grammarAccess.getAllInstancesAccess().getColonKeyword_0()); + newLeafNode(otherlv_1, grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1()); } + ) +; + +// Entry rule entryRuleTypedArgument +entryRuleTypedArgument returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTypedArgumentRule()); } + iv_ruleTypedArgument=ruleTypedArgument + { $current=$iv_ruleTypedArgument.current; } + EOF; + +// Rule TypedArgument +ruleTypedArgument returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( ( ( { - newCompositeNode(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0()); + if ($current==null) { + $current = createModelElement(grammarAccess.getTypedArgumentRule()); + } + } + { + newCompositeNode(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); } - lv_symbol_1_0=ruleSymbol + ) + ) + ( + ( { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAllInstancesRule()); + $current = createModelElement(grammarAccess.getTypedArgumentRule()); } - set( - $current, - "symbol", - lv_symbol_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); + } + { + newCompositeNode(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0()); + } + ruleQualifiedName + { afterParserOrEnumRuleCall(); } ) @@ -1894,15 +2151,15 @@ ruleAllInstances returns [EObject current=null] ) ; -// Entry rule entryRuleAllObjects -entryRuleAllObjects returns [EObject current=null]: - { newCompositeNode(grammarAccess.getAllObjectsRule()); } - iv_ruleAllObjects=ruleAllObjects - { $current=$iv_ruleAllObjects.current; } +// Entry rule entryRuleTypedStarArgument +entryRuleTypedStarArgument returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTypedStarArgumentRule()); } + iv_ruleTypedStarArgument=ruleTypedStarArgument + { $current=$iv_ruleTypedStarArgument.current; } EOF; -// Rule AllObjects -ruleAllObjects returns [EObject current=null] +// Rule TypedStarArgument +ruleTypedStarArgument returns [EObject current=null] @init { enterRule(); } @@ -1911,28 +2168,37 @@ ruleAllObjects returns [EObject current=null] }: ( ( - { - $current = forceCreateModelElement( - grammarAccess.getAllObjectsAccess().getAllObjectsAction_0(), - $current); - } + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getTypedStarArgumentRule()); + } + } + { + newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) ) otherlv_1='*' { - newLeafNode(otherlv_1, grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1()); + newLeafNode(otherlv_1, grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1()); } ) ; -// Entry rule entryRuleDefaultInterpretation -entryRuleDefaultInterpretation returns [EObject current=null]: - { newCompositeNode(grammarAccess.getDefaultInterpretationRule()); } - iv_ruleDefaultInterpretation=ruleDefaultInterpretation - { $current=$iv_ruleDefaultInterpretation.current; } +// Entry rule entryRuleReference +entryRuleReference returns [EObject current=null]: + { newCompositeNode(grammarAccess.getReferenceRule()); } + iv_ruleReference=ruleReference + { $current=$iv_ruleReference.current; } EOF; -// Rule DefaultInterpretation -ruleDefaultInterpretation returns [EObject current=null] +// Rule Reference +ruleReference returns [EObject current=null] @init { enterRule(); } @@ -1940,41 +2206,101 @@ ruleDefaultInterpretation returns [EObject current=null] leaveRule(); }: ( - otherlv_0='default' + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getReferenceRule()); + } + } + { + newCompositeNode(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) +; + +// Entry rule entryRuleInterval +entryRuleInterval returns [EObject current=null]: + { newCompositeNode(grammarAccess.getIntervalRule()); } + iv_ruleInterval=ruleInterval + { $current=$iv_ruleInterval.current; } + EOF; + +// Rule Interval +ruleInterval returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='[' + { + newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); + } + lv_lowerBound_1_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIntervalRule()); + } + set( + $current, + "lowerBound", + lv_lowerBound_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2='..' { - newLeafNode(otherlv_0, grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0()); + newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); } ( ( { - newCompositeNode(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); } - lv_interpretation_1_0=ruleBasicInterpretation + lv_upperBound_3_0=ruleExpression { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getDefaultInterpretationRule()); + $current = createModelElementForParent(grammarAccess.getIntervalRule()); } set( $current, - "interpretation", - lv_interpretation_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.BasicInterpretation"); + "upperBound", + lv_upperBound_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); afterParserOrEnumRuleCall(); } ) ) + otherlv_4=']' + { + newLeafNode(otherlv_4, grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4()); + } ) ; -// Entry rule entryRuleCDInterpretation -entryRuleCDInterpretation returns [EObject current=null]: - { newCompositeNode(grammarAccess.getCDInterpretationRule()); } - iv_ruleCDInterpretation=ruleCDInterpretation - { $current=$iv_ruleCDInterpretation.current; } +// Entry rule entryRuleLiteral +entryRuleLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLiteralRule()); } + iv_ruleLiteral=ruleLiteral + { $current=$iv_ruleLiteral.current; } EOF; -// Rule CDInterpretation -ruleCDInterpretation returns [EObject current=null] +// Rule Literal +ruleLiteral returns [EObject current=null] @init { enterRule(); } @@ -1983,43 +2309,61 @@ ruleCDInterpretation returns [EObject current=null] }: ( { - newCompositeNode(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0()); + newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); + } + this_LogicLiteral_0=ruleLogicLiteral + { + $current = $this_LogicLiteral_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); + } + this_NumericLiteral_1=ruleNumericLiteral + { + $current = $this_NumericLiteral_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); } - this_ClassInterpretation_0=ruleClassInterpretation + this_InfinityLiteral_2=ruleInfinityLiteral { - $current = $this_ClassInterpretation_0.current; + $current = $this_InfinityLiteral_2.current; afterParserOrEnumRuleCall(); } | { - newCompositeNode(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1()); + newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); } - this_EnumInterpretation_1=ruleEnumInterpretation + this_EmptyIntervalLiteral_3=ruleEmptyIntervalLiteral { - $current = $this_EnumInterpretation_1.current; + $current = $this_EmptyIntervalLiteral_3.current; afterParserOrEnumRuleCall(); } | { - newCompositeNode(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2()); + newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); } - this_GlobalRelationInterpretation_2=ruleGlobalRelationInterpretation + this_StringLiteral_4=ruleStringLiteral { - $current = $this_GlobalRelationInterpretation_2.current; + $current = $this_StringLiteral_4.current; afterParserOrEnumRuleCall(); } ) ; -// Entry rule entryRuleClassInterpretation -entryRuleClassInterpretation returns [EObject current=null]: - { newCompositeNode(grammarAccess.getClassInterpretationRule()); } - iv_ruleClassInterpretation=ruleClassInterpretation - { $current=$iv_ruleClassInterpretation.current; } +// Entry rule entryRuleLogicLiteral +entryRuleLogicLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLogicLiteralRule()); } + iv_ruleLogicLiteral=ruleLogicLiteral + { $current=$iv_ruleLogicLiteral.current; } EOF; -// Rule ClassInterpretation -ruleClassInterpretation returns [EObject current=null] +// Rule LogicLiteral +ruleLogicLiteral returns [EObject current=null] @init { enterRule(); } @@ -2028,106 +2372,70 @@ ruleClassInterpretation returns [EObject current=null] }: ( ( - ( - lv_abstract_0_0='abstract' - { - newLeafNode(lv_abstract_0_0, grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getClassInterpretationRule()); - } - setWithLastConsumed($current, "abstract", true, "abstract"); - } - ) - )? - otherlv_1='class' - { - newLeafNode(otherlv_1, grammarAccess.getClassInterpretationAccess().getClassKeyword_1()); - } - ( - ( - { - newCompositeNode(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); - } - lv_symbol_2_0=ruleModelSymbol - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getClassInterpretationRule()); - } - set( - $current, - "symbol", - lv_symbol_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); - afterParserOrEnumRuleCall(); + { + newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); + } + lv_value_0_0=ruleLogicValue + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLogicLiteralRule()); } - ) + set( + $current, + "value", + lv_value_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue"); + afterParserOrEnumRuleCall(); + } ) + ) +; + +// Entry rule entryRuleNumericLiteral +entryRuleNumericLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getNumericLiteralRule()); } + iv_ruleNumericLiteral=ruleNumericLiteral + { $current=$iv_ruleNumericLiteral.current; } + EOF; + +// Rule NumericLiteral +ruleNumericLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( ( - otherlv_3='extends' { - newLeafNode(otherlv_3, grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0()); + newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); } - ( - ( - { - newCompositeNode(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0()); - } - lv_supertypes_4_0=ruleModelSymbol - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getClassInterpretationRule()); - } - add( - $current, - "supertypes", - lv_supertypes_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); - afterParserOrEnumRuleCall(); - } - ) - )+ - )? - otherlv_5='{' - { - newLeafNode(otherlv_5, grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4()); - } - ( - ( - { - newCompositeNode(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0()); - } - lv_fielt_6_0=ruleFieldRelationInterpretation - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getClassInterpretationRule()); - } - add( - $current, - "fielt", - lv_fielt_6_0, - "org.eclipse.viatra.solver.language.SolverLanguage.FieldRelationInterpretation"); - afterParserOrEnumRuleCall(); + lv_value_0_0=ruleReal + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getNumericLiteralRule()); } - ) - )* - otherlv_7='}' - { - newLeafNode(otherlv_7, grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6()); - } + set( + $current, + "value", + lv_value_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Real"); + afterParserOrEnumRuleCall(); + } + ) ) ; -// Entry rule entryRuleEnumInterpretation -entryRuleEnumInterpretation returns [EObject current=null]: - { newCompositeNode(grammarAccess.getEnumInterpretationRule()); } - iv_ruleEnumInterpretation=ruleEnumInterpretation - { $current=$iv_ruleEnumInterpretation.current; } +// Entry rule entryRuleInfinityLiteral +entryRuleInfinityLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getInfinityLiteralRule()); } + iv_ruleInfinityLiteral=ruleInfinityLiteral + { $current=$iv_ruleInfinityLiteral.current; } EOF; -// Rule EnumInterpretation -ruleEnumInterpretation returns [EObject current=null] +// Rule InfinityLiteral +ruleInfinityLiteral returns [EObject current=null] @init { enterRule(); } @@ -2135,68 +2443,29 @@ ruleEnumInterpretation returns [EObject current=null] leaveRule(); }: ( - otherlv_0='enum' - { - newLeafNode(otherlv_0, grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0()); - } ( - ( - { - newCompositeNode(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); - } - lv_Symbol_1_0=ruleModelSymbol - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getEnumInterpretationRule()); - } - set( - $current, - "Symbol", - lv_Symbol_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); - afterParserOrEnumRuleCall(); - } - ) + { + $current = forceCreateModelElement( + grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0(), + $current); + } ) - otherlv_2='{' - { - newLeafNode(otherlv_2, grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2()); - } - ( - ( - { - newCompositeNode(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0()); - } - lv_objects_3_0=ruleNamedObject - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getEnumInterpretationRule()); - } - add( - $current, - "objects", - lv_objects_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.NamedObject"); - afterParserOrEnumRuleCall(); - } - ) - )+ - otherlv_4='}' + otherlv_1='inf' { - newLeafNode(otherlv_4, grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4()); + newLeafNode(otherlv_1, grammarAccess.getInfinityLiteralAccess().getInfKeyword_1()); } ) ; -// Entry rule entryRuleFieldRelationInterpretation -entryRuleFieldRelationInterpretation returns [EObject current=null]: - { newCompositeNode(grammarAccess.getFieldRelationInterpretationRule()); } - iv_ruleFieldRelationInterpretation=ruleFieldRelationInterpretation - { $current=$iv_ruleFieldRelationInterpretation.current; } +// Entry rule entryRuleEmptyIntervalLiteral +entryRuleEmptyIntervalLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule()); } + iv_ruleEmptyIntervalLiteral=ruleEmptyIntervalLiteral + { $current=$iv_ruleEmptyIntervalLiteral.current; } EOF; -// Rule FieldRelationInterpretation -ruleFieldRelationInterpretation returns [EObject current=null] +// Rule EmptyIntervalLiteral +ruleEmptyIntervalLiteral returns [EObject current=null] @init { enterRule(); } @@ -2205,92 +2474,189 @@ ruleFieldRelationInterpretation returns [EObject current=null] }: ( ( - ( - lv_containment_0_0='containment' - { - newLeafNode(lv_containment_0_0, grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getFieldRelationInterpretationRule()); - } - setWithLastConsumed($current, "containment", true, "containment"); - } - ) - )? + { + $current = forceCreateModelElement( + grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0(), + $current); + } + ) + otherlv_1='empty' + { + newLeafNode(otherlv_1, grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); + } + ) +; + +// Entry rule entryRuleStringLiteral +entryRuleStringLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getStringLiteralRule()); } + iv_ruleStringLiteral=ruleStringLiteral + { $current=$iv_ruleStringLiteral.current; } + EOF; + +// Rule StringLiteral +ruleStringLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + lv_value_0_0=RULE_STRING + { + newLeafNode(lv_value_0_0, grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getStringLiteralRule()); + } + setWithLastConsumed( + $current, + "value", + lv_value_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); + } + ) + ) +; + +// Entry rule entryRuleClassDefinition +entryRuleClassDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getClassDefinitionRule()); } + iv_ruleClassDefinition=ruleClassDefinition + { $current=$iv_ruleClassDefinition.current; } + EOF; + +// Rule ClassDefinition +ruleClassDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( ( ( + lv_abstract_0_0='abstract' { - newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); + newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); } - lv_symbol_1_0=ruleModelSymbol { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule()); + $current = createModelElement(grammarAccess.getClassDefinitionRule()); } - set( - $current, - "symbol", - lv_symbol_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); - afterParserOrEnumRuleCall(); + setWithLastConsumed($current, "abstract", true, "abstract"); } ) - ) - otherlv_2=':' + )? + otherlv_1='class' { - newLeafNode(otherlv_2, grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2()); + newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); } ( ( + lv_name_2_0=RULE_ID { - newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0()); + newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); } - lv_multiplicity_3_0=ruleMultiplicityDefinition { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule()); + $current = createModelElement(grammarAccess.getClassDefinitionRule()); } - set( + setWithLastConsumed( $current, - "multiplicity", - lv_multiplicity_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition"); - afterParserOrEnumRuleCall(); + "name", + lv_name_2_0, + "org.eclipse.xtext.common.Terminals.ID"); } ) + ) + ( + otherlv_3='extends' + { + newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getClassDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_5=',' + { + newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getClassDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + )* )? + otherlv_7='{' + { + newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); + } ( ( { - newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0()); + newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); } - lv_target_4_0=ruleSymbol + lv_members_8_0=ruleMemberDefinition { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule()); + $current = createModelElementForParent(grammarAccess.getClassDefinitionRule()); } - set( + add( $current, - "target", - lv_target_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); + "members", + lv_members_8_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition"); afterParserOrEnumRuleCall(); } ) - ) + )* + otherlv_9='}' + { + newLeafNode(otherlv_9, grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6()); + } ) ; -// Entry rule entryRuleGlobalRelationInterpretation -entryRuleGlobalRelationInterpretation returns [EObject current=null]: - { newCompositeNode(grammarAccess.getGlobalRelationInterpretationRule()); } - iv_ruleGlobalRelationInterpretation=ruleGlobalRelationInterpretation - { $current=$iv_ruleGlobalRelationInterpretation.current; } +// Entry rule entryRuleMemberDefinition +entryRuleMemberDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getMemberDefinitionRule()); } + iv_ruleMemberDefinition=ruleMemberDefinition + { $current=$iv_ruleMemberDefinition.current; } EOF; -// Rule GlobalRelationInterpretation -ruleGlobalRelationInterpretation returns [EObject current=null] +// Rule MemberDefinition +ruleMemberDefinition returns [EObject current=null] @init { enterRule(); } @@ -2300,133 +2666,236 @@ ruleGlobalRelationInterpretation returns [EObject current=null] ( ( ( - lv_containment_0_0='containment' + lv_containment_0_0='contains' { - newLeafNode(lv_containment_0_0, grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); + newLeafNode(lv_containment_0_0, grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); } { if ($current==null) { - $current = createModelElement(grammarAccess.getGlobalRelationInterpretationRule()); + $current = createModelElement(grammarAccess.getMemberDefinitionRule()); } - setWithLastConsumed($current, "containment", true, "containment"); + setWithLastConsumed($current, "containment", true, "contains"); } ) )? - otherlv_1='relation' - { - newLeafNode(otherlv_1, grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); - } ( ( - { - newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); - } - lv_symbol_2_0=ruleModelSymbol { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); + $current = createModelElement(grammarAccess.getMemberDefinitionRule()); } - set( - $current, - "symbol", - lv_symbol_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); + } + { + newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + } + ruleQualifiedName + { afterParserOrEnumRuleCall(); } ) ) - otherlv_3=':' - { - newLeafNode(otherlv_3, grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3()); - } ( ( { - newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0()); + newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); } - lv_sourceMultiplicity_4_0=ruleMultiplicityDefinition + lv_multiplicity_2_0=ruleMultiplicity { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); + $current = createModelElementForParent(grammarAccess.getMemberDefinitionRule()); } set( $current, - "sourceMultiplicity", - lv_sourceMultiplicity_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition"); + "multiplicity", + lv_multiplicity_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity"); afterParserOrEnumRuleCall(); } ) )? ( ( + lv_name_3_0=RULE_ID { - newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0()); + newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); } - lv_source_5_0=ruleSymbol { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); + $current = createModelElement(grammarAccess.getMemberDefinitionRule()); } - set( + setWithLastConsumed( $current, - "source", - lv_source_5_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); - afterParserOrEnumRuleCall(); + "name", + lv_name_3_0, + "org.eclipse.xtext.common.Terminals.ID"); } ) ) ( + otherlv_4='opposite' + { + newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); + } ( - { - newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0()); - } - lv_targetMultiplicity_6_0=ruleMultiplicityDefinition - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getMemberDefinitionRule()); + } } - set( - $current, - "targetMultiplicity", - lv_targetMultiplicity_6_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition"); - afterParserOrEnumRuleCall(); - } + { + newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) ) )? + ( + otherlv_6=';' + { + newLeafNode(otherlv_6, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); + } + )? + ) +; + +// Entry rule entryRuleMultiplicity +entryRuleMultiplicity returns [EObject current=null]: + { newCompositeNode(grammarAccess.getMultiplicityRule()); } + iv_ruleMultiplicity=ruleMultiplicity + { $current=$iv_ruleMultiplicity.current; } + EOF; + +// Rule Multiplicity +ruleMultiplicity returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); + } + this_ManyMultiplicity_0=ruleManyMultiplicity + { + $current = $this_ManyMultiplicity_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); + } + this_ExactMultiplicity_1=ruleExactMultiplicity + { + $current = $this_ExactMultiplicity_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); + } + this_BoundedMultiplicity_2=ruleBoundedMultiplicity + { + $current = $this_BoundedMultiplicity_2.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleManyMultiplicity +entryRuleManyMultiplicity returns [EObject current=null]: + { newCompositeNode(grammarAccess.getManyMultiplicityRule()); } + iv_ruleManyMultiplicity=ruleManyMultiplicity + { $current=$iv_ruleManyMultiplicity.current; } + EOF; + +// Rule ManyMultiplicity +ruleManyMultiplicity returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0(), + $current); + } + ) + otherlv_1='[' + { + newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); + } + otherlv_2=']' + { + newLeafNode(otherlv_2, grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); + } + ) +; + +// Entry rule entryRuleExactMultiplicity +entryRuleExactMultiplicity returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExactMultiplicityRule()); } + iv_ruleExactMultiplicity=ruleExactMultiplicity + { $current=$iv_ruleExactMultiplicity.current; } + EOF; + +// Rule ExactMultiplicity +ruleExactMultiplicity returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='[' + { + newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); + } ( ( { - newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0()); + newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); } - lv_target_7_0=ruleSymbol + lv_multiplicity_1_0=ruleUpperMultiplicty { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); + $current = createModelElementForParent(grammarAccess.getExactMultiplicityRule()); } set( $current, - "target", - lv_target_7_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); + "multiplicity", + lv_multiplicity_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); afterParserOrEnumRuleCall(); } ) ) + otherlv_2=']' + { + newLeafNode(otherlv_2, grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2()); + } ) ; -// Entry rule entryRuleMultiplicityDefinition -entryRuleMultiplicityDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getMultiplicityDefinitionRule()); } - iv_ruleMultiplicityDefinition=ruleMultiplicityDefinition - { $current=$iv_ruleMultiplicityDefinition.current; } +// Entry rule entryRuleBoundedMultiplicity +entryRuleBoundedMultiplicity returns [EObject current=null]: + { newCompositeNode(grammarAccess.getBoundedMultiplicityRule()); } + iv_ruleBoundedMultiplicity=ruleBoundedMultiplicity + { $current=$iv_ruleBoundedMultiplicity.current; } EOF; -// Rule MultiplicityDefinition -ruleMultiplicityDefinition returns [EObject current=null] +// Rule BoundedMultiplicity +ruleBoundedMultiplicity returns [EObject current=null] @init { enterRule(); } @@ -2434,67 +2903,991 @@ ruleMultiplicityDefinition returns [EObject current=null] leaveRule(); }: ( + otherlv_0='[' + { + newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); + } ( ( - lv_lower_0_0=RULE_INT + lv_lowerBound_1_0=RULE_INT { - newLeafNode(lv_lower_0_0, grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0()); + newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); } { if ($current==null) { - $current = createModelElement(grammarAccess.getMultiplicityDefinitionRule()); + $current = createModelElement(grammarAccess.getBoundedMultiplicityRule()); } setWithLastConsumed( $current, - "lower", - lv_lower_0_0, + "lowerBound", + lv_lowerBound_1_0, "org.eclipse.xtext.common.Terminals.INT"); } ) ) - otherlv_1='..' + otherlv_2='..' { - newLeafNode(otherlv_1, grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1()); + newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); } ( ( - ( - lv_upper_2_0=RULE_INT - { - newLeafNode(lv_upper_2_0, grammarAccess.getMultiplicityDefinitionAccess().getUpperINTTerminalRuleCall_2_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getMultiplicityDefinitionRule()); - } - setWithLastConsumed( - $current, - "upper", - lv_upper_2_0, - "org.eclipse.xtext.common.Terminals.INT"); - } - ) - ) - | - ( - ( - lv_unlimitedUpper_3_0='*' - { - newLeafNode(lv_unlimitedUpper_3_0, grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getMultiplicityDefinitionRule()); - } - setWithLastConsumed($current, "unlimitedUpper", true, "*"); + { + newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); + } + lv_upperBound_3_0=ruleUpperMultiplicty + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBoundedMultiplicityRule()); } - ) + set( + $current, + "upperBound", + lv_upperBound_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); + afterParserOrEnumRuleCall(); + } ) ) + otherlv_4=']' + { + newLeafNode(otherlv_4, grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4()); + } ) ; -RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"'; +// Entry rule entryRuleScopeDefinition +entryRuleScopeDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getScopeDefinitionRule()); } + iv_ruleScopeDefinition=ruleScopeDefinition + { $current=$iv_ruleScopeDefinition.current; } + EOF; + +// Rule ScopeDefinition +ruleScopeDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); + } + this_ExactScopeDefinition_0=ruleExactScopeDefinition + { + $current = $this_ExactScopeDefinition_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); + } + this_BoundedScopeDefinition_1=ruleBoundedScopeDefinition + { + $current = $this_BoundedScopeDefinition_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); + } + this_LowerBoundedScopeDefinition_2=ruleLowerBoundedScopeDefinition + { + $current = $this_LowerBoundedScopeDefinition_2.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleExactScopeDefinition +entryRuleExactScopeDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExactScopeDefinitionRule()); } + iv_ruleExactScopeDefinition=ruleExactScopeDefinition + { $current=$iv_ruleExactScopeDefinition.current; } + EOF; + +// Rule ExactScopeDefinition +ruleExactScopeDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='scope' + { + newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2='==' + { + newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); + } + ( + ( + lv_exactScope_3_0=RULE_INT + { + newLeafNode(lv_exactScope_3_0, grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); + } + setWithLastConsumed( + $current, + "exactScope", + lv_exactScope_3_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + ) +; + +// Entry rule entryRuleBoundedScopeDefinition +entryRuleBoundedScopeDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule()); } + iv_ruleBoundedScopeDefinition=ruleBoundedScopeDefinition + { $current=$iv_ruleBoundedScopeDefinition.current; } + EOF; + +// Rule BoundedScopeDefinition +ruleBoundedScopeDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='scope' + { + newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); + } + ( + ( + ( + ( + ( + lv_lowerBound_1_0=RULE_INT + { + newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + $current, + "lowerBound", + lv_lowerBound_1_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + otherlv_2='<=' + { + newLeafNode(otherlv_2, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); + } + )? + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4='<=' + { + newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); + } + ( + ( + lv_upperBound_5_0=RULE_INT + { + newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + $current, + "upperBound", + lv_upperBound_5_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + ) + | + ( + ( + ( + lv_upperBound_6_0=RULE_INT + { + newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + $current, + "upperBound", + lv_upperBound_6_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + otherlv_7='>=' + { + newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_9='>=' + { + newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); + } + ( + ( + lv_lowerBound_10_0=RULE_INT + { + newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + $current, + "lowerBound", + lv_lowerBound_10_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + )? + ) + ) + otherlv_11='.' + { + newLeafNode(otherlv_11, grammarAccess.getBoundedScopeDefinitionAccess().getFullStopKeyword_2()); + } + ) +; + +// Entry rule entryRuleLowerBoundedScopeDefinition +entryRuleLowerBoundedScopeDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule()); } + iv_ruleLowerBoundedScopeDefinition=ruleLowerBoundedScopeDefinition + { $current=$iv_ruleLowerBoundedScopeDefinition.current; } + EOF; + +// Rule LowerBoundedScopeDefinition +ruleLowerBoundedScopeDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='scope' + { + newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); + } + ( + ( + ( + ( + lv_lowerBound_1_0=RULE_INT + { + newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + $current, + "lowerBound", + lv_lowerBound_1_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + otherlv_2='<=' + { + newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_5='>=' + { + newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); + } + ( + ( + lv_lowerBound_6_0=RULE_INT + { + newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + $current, + "lowerBound", + lv_lowerBound_6_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + ) + ) + otherlv_7='.' + { + newLeafNode(otherlv_7, grammarAccess.getLowerBoundedScopeDefinitionAccess().getFullStopKeyword_2()); + } + ) +; + +// Entry rule entryRuleObjectiveDefinition +entryRuleObjectiveDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getObjectiveDefinitionRule()); } + iv_ruleObjectiveDefinition=ruleObjectiveDefinition + { $current=$iv_ruleObjectiveDefinition.current; } + EOF; + +// Rule ObjectiveDefinition +ruleObjectiveDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); + } + lv_kind_0_0=ruleObjectiveKind + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); + } + set( + $current, + "kind", + lv_kind_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveKind"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); + } + lv_objective_1_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); + } + set( + $current, + "objective", + lv_objective_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleUpperMultiplicty +entryRuleUpperMultiplicty returns [String current=null]: + { newCompositeNode(grammarAccess.getUpperMultiplictyRule()); } + iv_ruleUpperMultiplicty=ruleUpperMultiplicty + { $current=$iv_ruleUpperMultiplicty.current.getText(); } + EOF; + +// Rule UpperMultiplicty +ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + this_INT_0=RULE_INT + { + $current.merge(this_INT_0); + } + { + newLeafNode(this_INT_0, grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0()); + } + | + kw='*' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1()); + } + ) +; + +// Entry rule entryRuleReal +entryRuleReal returns [String current=null]@init { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +}: + { newCompositeNode(grammarAccess.getRealRule()); } + iv_ruleReal=ruleReal + { $current=$iv_ruleReal.current.getText(); } + EOF; +finally { + myHiddenTokenState.restore(); +} + +// Rule Real +ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +} +@after { + leaveRule(); +}: + ( + this_INT_0=RULE_INT + { + $current.merge(this_INT_0); + } + { + newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); + } + ( + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0()); + } + this_INT_2=RULE_INT + { + $current.merge(this_INT_2); + } + { + newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); + } + )? + ) +; +finally { + myHiddenTokenState.restore(); +} + +// Entry rule entryRuleQualifiedName +entryRuleQualifiedName returns [String current=null]@init { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +}: + { newCompositeNode(grammarAccess.getQualifiedNameRule()); } + iv_ruleQualifiedName=ruleQualifiedName + { $current=$iv_ruleQualifiedName.current.getText(); } + EOF; +finally { + myHiddenTokenState.restore(); +} + +// Rule QualifiedName +ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +} +@after { + leaveRule(); +}: + ( + ( + this_ID_0=RULE_ID + { + $current.merge(this_ID_0); + } + { + newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); + } + ( + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); + } + this_ID_2=RULE_ID + { + $current.merge(this_ID_2); + } + { + newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1()); + } + )* + ) + | + this_QUOTED_ID_3=RULE_QUOTED_ID + { + $current.merge(this_QUOTED_ID_3); + } + { + newLeafNode(this_QUOTED_ID_3, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1()); + } + ) +; +finally { + myHiddenTokenState.restore(); +} + +// Rule MetricType +ruleMetricType returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0='int' + { + $current = grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1='real' + { + $current = grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1()); + } + ) + ) +; + +// Rule ComparisonOperator +ruleComparisonOperator returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0='==' + { + $current = grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1='!=' + { + $current = grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); + } + ) + | + ( + enumLiteral_2='<' + { + $current = grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2()); + } + ) + | + ( + enumLiteral_3='<=' + { + $current = grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); + } + ) + | + ( + enumLiteral_4='>' + { + $current = grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4()); + } + ) + | + ( + enumLiteral_5='>=' + { + $current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); + } + ) + | + ( + enumLiteral_6='in' + { + $current = grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_6, grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6()); + } + ) + ) +; + +// Rule AdditiveBinaryOperator +ruleAdditiveBinaryOperator returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0='+' + { + $current = grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1='-' + { + $current = grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); + } + ) + ) +; + +// Rule MultiplicativeBinaryOperator +ruleMultiplicativeBinaryOperator returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0='*' + { + $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1='/' + { + $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); + } + ) + ) +; + +// Rule ExponentialOp +ruleExponentialOp returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + enumLiteral_0='^' + { + $current = grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration()); + } + ) +; + +// Rule UnaryOp +ruleUnaryOp returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0='!' + { + $current = grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1='+' + { + $current = grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); + } + ) + | + ( + enumLiteral_2='-' + { + $current = grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); + } + ) + | + ( + enumLiteral_3='may' + { + $current = grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3()); + } + ) + | + ( + enumLiteral_4='must' + { + $current = grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4()); + } + ) + | + ( + enumLiteral_5='current' + { + $current = grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5()); + } + ) + ) +; + +// Rule AggregationOp +ruleAggregationOp returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0='only' + { + $current = grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1='sum' + { + $current = grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); + } + ) + | + ( + enumLiteral_2='prod' + { + $current = grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2()); + } + ) + | + ( + enumLiteral_3='avg' + { + $current = grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); + } + ) + | + ( + enumLiteral_4='min' + { + $current = grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); + } + ) + | + ( + enumLiteral_5='max' + { + $current = grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); + } + ) + ) +; + +// Rule LogicValue +ruleLogicValue returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0='true' + { + $current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1='false' + { + $current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); + } + ) + | + ( + enumLiteral_2='unknown' + { + $current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); + } + ) + | + ( + enumLiteral_3='error' + { + $current = grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3()); + } + ) + ) +; + +// Rule ObjectiveKind +ruleObjectiveKind returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0='minimize' + { + $current = grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1='maximize' + { + $current = grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); + } + ) + ) +; + +RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"'; + +RULE_QUOTED_ID : '\'' ('\\' .|~(('\\'|'\'')))* '\''; + +RULE_PLUS : 'synthetic::plus'; + +RULE_STAR : 'synthetic::star'; + +RULE_DOT : 'synthetic::dot'; RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'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 @@ -'('=17 -')'=19 -'*'=31 -'+'=30 -','=18 -'-'=11 -'.'=12 -'..'=41 -':'=20 -':-'=28 -'\''=27 -'abstract'=33 -'bool'=23 -'class'=34 -'containment'=39 -'default'=32 -'enum'=38 -'equals'=22 -'error'=16 -'exists'=21 -'extends'=35 -'false'=14 -'int'=24 -'real'=25 -'relation'=40 -'string'=26 -'true'=13 -'unknown'=15 -'{'=36 -'|'=29 -'}'=37 -RULE_ANY_OTHER=10 -RULE_ID=5 -RULE_INT=4 -RULE_ML_COMMENT=7 -RULE_SL_COMMENT=8 -RULE_STRING=6 -RULE_WS=9 -T__11=11 -T__12=12 -T__13=13 -T__14=14 +'!'=60 +'!='=52 +'('=33 +')'=34 +'*'=35 +'+'=56 +','=28 +'-'=57 +'->'=27 +'.'=22 +'..'=37 +'/'=58 +':'=15 +':-'=16 +';'=26 +'<'=53 +'<='=48 +'='=17 +'=='=47 +'>'=54 +'>='=49 +'['=36 +']'=38 +'^'=59 +'abstract'=41 +'avg'=67 +'class'=42 +'contains'=44 +'count'=29 +'current'=63 +'default'=20 +'else'=25 +'empty'=40 +'error'=19 +'extends'=43 +'extern'=21 +'false'=71 +'functional'=18 +'if'=23 +'in'=55 +'inf'=39 +'int'=50 +'max'=69 +'maximize'=74 +'may'=61 +'min'=68 +'minimize'=73 +'must'=62 +'only'=64 +'opposite'=45 +'prod'=66 +'real'=51 +'scope'=46 +'sum'=65 +'then'=24 +'true'=70 +'unknown'=72 +'{'=30 +'|'=32 +'}'=31 +RULE_ANY_OTHER=14 +RULE_DOT=4 +RULE_ID=8 +RULE_INT=9 +RULE_ML_COMMENT=11 +RULE_PLUS=6 +RULE_QUOTED_ID=10 +RULE_SL_COMMENT=12 +RULE_STAR=5 +RULE_STRING=7 +RULE_WS=13 T__15=15 T__16=16 T__17=17 @@ -67,3 +96,36 @@ T__38=38 T__39=39 T__40=40 T__41=41 +T__42=42 +T__43=43 +T__44=44 +T__45=45 +T__46=46 +T__47=47 +T__48=48 +T__49=49 +T__50=50 +T__51=51 +T__52=52 +T__53=53 +T__54=54 +T__55=55 +T__56=56 +T__57=57 +T__58=58 +T__59=59 +T__60=60 +T__61=61 +T__62=62 +T__63=63 +T__64=64 +T__65=65 +T__66=66 +T__67=67 +T__68=68 +T__69=69 +T__70=70 +T__71=71 +T__72=72 +T__73=73 +T__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; @SuppressWarnings("all") public class InternalSolverLanguageLexer extends Lexer { - public static final int RULE_STRING=6; - public static final int RULE_SL_COMMENT=8; + public static final int T__50=50; public static final int T__19=19; public static final int T__15=15; - public static final int T__37=37; + public static final int T__59=59; public static final int T__16=16; - public static final int T__38=38; public static final int T__17=17; - public static final int T__39=39; public static final int T__18=18; - public static final int T__11=11; - public static final int T__33=33; - public static final int T__12=12; - public static final int T__34=34; - public static final int T__13=13; - public static final int T__35=35; - public static final int T__14=14; - public static final int T__36=36; - public static final int EOF=-1; - public static final int T__30=30; - public static final int T__31=31; - public static final int T__32=32; - public static final int RULE_ID=5; - public static final int RULE_WS=9; - public static final int RULE_ANY_OTHER=10; + public static final int T__55=55; + public static final int T__56=56; + public static final int T__57=57; + public static final int T__58=58; + public static final int T__51=51; + public static final int RULE_STAR=5; + public static final int T__52=52; + public static final int T__53=53; + public static final int T__54=54; + public static final int T__60=60; + public static final int T__61=61; + public static final int RULE_ID=8; + public static final int RULE_QUOTED_ID=10; public static final int T__26=26; public static final int T__27=27; public static final int T__28=28; - public static final int RULE_INT=4; + public static final int RULE_INT=9; public static final int T__29=29; public static final int T__22=22; - public static final int RULE_ML_COMMENT=7; + public static final int T__66=66; + public static final int RULE_ML_COMMENT=11; public static final int T__23=23; + public static final int T__67=67; public static final int T__24=24; + public static final int T__68=68; public static final int T__25=25; - public static final int T__40=40; - public static final int T__41=41; + public static final int T__69=69; + public static final int T__62=62; + public static final int T__63=63; public static final int T__20=20; + public static final int T__64=64; public static final int T__21=21; + public static final int T__65=65; + public static final int T__70=70; + public static final int T__71=71; + public static final int T__72=72; + public static final int RULE_STRING=7; + public static final int RULE_SL_COMMENT=12; + public static final int T__37=37; + public static final int T__38=38; + public static final int T__39=39; + public static final int T__33=33; + public static final int T__34=34; + public static final int T__35=35; + public static final int RULE_PLUS=6; + public static final int T__36=36; + public static final int T__73=73; + public static final int RULE_DOT=4; + public static final int EOF=-1; + public static final int T__30=30; + public static final int T__74=74; + public static final int T__31=31; + public static final int T__32=32; + public static final int RULE_WS=13; + public static final int RULE_ANY_OTHER=14; + public static final int T__48=48; + public static final int T__49=49; + public static final int T__44=44; + public static final int T__45=45; + public static final int T__46=46; + public static final int T__47=47; + public static final int T__40=40; + public static final int T__41=41; + public static final int T__42=42; + public static final int T__43=43; // delegates // delegators @@ -65,98 +98,15 @@ public class InternalSolverLanguageLexer extends Lexer { } public String getGrammarFileName() { return "InternalSolverLanguage.g"; } - // $ANTLR start "T__11" - public final void mT__11() throws RecognitionException { - try { - int _type = T__11; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:11:7: ( '-' ) - // InternalSolverLanguage.g:11:9: '-' - { - match('-'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__11" - - // $ANTLR start "T__12" - public final void mT__12() throws RecognitionException { - try { - int _type = T__12; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:12:7: ( '.' ) - // InternalSolverLanguage.g:12:9: '.' - { - match('.'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__12" - - // $ANTLR start "T__13" - public final void mT__13() throws RecognitionException { - try { - int _type = T__13; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:13:7: ( 'true' ) - // InternalSolverLanguage.g:13:9: 'true' - { - match("true"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__13" - - // $ANTLR start "T__14" - public final void mT__14() throws RecognitionException { - try { - int _type = T__14; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:14:7: ( 'false' ) - // InternalSolverLanguage.g:14:9: 'false' - { - match("false"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__14" - // $ANTLR start "T__15" public final void mT__15() throws RecognitionException { try { int _type = T__15; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:15:7: ( 'unknown' ) - // InternalSolverLanguage.g:15:9: 'unknown' + // InternalSolverLanguage.g:11:7: ( ':' ) + // InternalSolverLanguage.g:11:9: ':' { - match("unknown"); - + match(':'); } @@ -173,10 +123,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__16; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:16:7: ( 'error' ) - // InternalSolverLanguage.g:16:9: 'error' + // InternalSolverLanguage.g:12:7: ( ':-' ) + // InternalSolverLanguage.g:12:9: ':-' { - match("error"); + match(":-"); } @@ -194,10 +144,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__17; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:17:7: ( '(' ) - // InternalSolverLanguage.g:17:9: '(' + // InternalSolverLanguage.g:13:7: ( '=' ) + // InternalSolverLanguage.g:13:9: '=' { - match('('); + match('='); } @@ -214,10 +164,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__18; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:18:7: ( ',' ) - // InternalSolverLanguage.g:18:9: ',' + // InternalSolverLanguage.g:14:7: ( 'functional' ) + // InternalSolverLanguage.g:14:9: 'functional' { - match(','); + match("functional"); + } @@ -234,10 +185,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__19; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:19:7: ( ')' ) - // InternalSolverLanguage.g:19:9: ')' + // InternalSolverLanguage.g:15:7: ( 'error' ) + // InternalSolverLanguage.g:15:9: 'error' { - match(')'); + match("error"); + } @@ -254,10 +206,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__20; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:20:7: ( ':' ) - // InternalSolverLanguage.g:20:9: ':' + // InternalSolverLanguage.g:16:7: ( 'default' ) + // InternalSolverLanguage.g:16:9: 'default' { - match(':'); + match("default"); + } @@ -274,10 +227,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__21; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:21:7: ( 'exists' ) - // InternalSolverLanguage.g:21:9: 'exists' + // InternalSolverLanguage.g:17:7: ( 'extern' ) + // InternalSolverLanguage.g:17:9: 'extern' { - match("exists"); + match("extern"); } @@ -295,11 +248,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__22; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:22:7: ( 'equals' ) - // InternalSolverLanguage.g:22:9: 'equals' + // InternalSolverLanguage.g:18:7: ( '.' ) + // InternalSolverLanguage.g:18:9: '.' { - match("equals"); - + match('.'); } @@ -316,10 +268,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__23; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:23:7: ( 'bool' ) - // InternalSolverLanguage.g:23:9: 'bool' + // InternalSolverLanguage.g:19:7: ( 'if' ) + // InternalSolverLanguage.g:19:9: 'if' { - match("bool"); + match("if"); } @@ -337,10 +289,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__24; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:24:7: ( 'int' ) - // InternalSolverLanguage.g:24:9: 'int' + // InternalSolverLanguage.g:20:7: ( 'then' ) + // InternalSolverLanguage.g:20:9: 'then' { - match("int"); + match("then"); } @@ -358,10 +310,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__25; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:25:7: ( 'real' ) - // InternalSolverLanguage.g:25:9: 'real' + // InternalSolverLanguage.g:21:7: ( 'else' ) + // InternalSolverLanguage.g:21:9: 'else' { - match("real"); + match("else"); } @@ -379,11 +331,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__26; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:26:7: ( 'string' ) - // InternalSolverLanguage.g:26:9: 'string' + // InternalSolverLanguage.g:22:7: ( ';' ) + // InternalSolverLanguage.g:22:9: ';' { - match("string"); - + match(';'); } @@ -400,10 +351,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__27; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:27:7: ( '\\'' ) - // InternalSolverLanguage.g:27:9: '\\'' + // InternalSolverLanguage.g:23:7: ( '->' ) + // InternalSolverLanguage.g:23:9: '->' { - match('\''); + match("->"); + } @@ -420,11 +372,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__28; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:28:7: ( ':-' ) - // InternalSolverLanguage.g:28:9: ':-' + // InternalSolverLanguage.g:24:7: ( ',' ) + // InternalSolverLanguage.g:24:9: ',' { - match(":-"); - + match(','); } @@ -441,10 +392,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__29; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:29:7: ( '|' ) - // InternalSolverLanguage.g:29:9: '|' + // InternalSolverLanguage.g:25:7: ( 'count' ) + // InternalSolverLanguage.g:25:9: 'count' { - match('|'); + match("count"); + } @@ -461,10 +413,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__30; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:30:7: ( '+' ) - // InternalSolverLanguage.g:30:9: '+' + // InternalSolverLanguage.g:26:7: ( '{' ) + // InternalSolverLanguage.g:26:9: '{' { - match('+'); + match('{'); } @@ -481,10 +433,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__31; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:31:7: ( '*' ) - // InternalSolverLanguage.g:31:9: '*' + // InternalSolverLanguage.g:27:7: ( '}' ) + // InternalSolverLanguage.g:27:9: '}' { - match('*'); + match('}'); } @@ -501,11 +453,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__32; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:32:7: ( 'default' ) - // InternalSolverLanguage.g:32:9: 'default' + // InternalSolverLanguage.g:28:7: ( '|' ) + // InternalSolverLanguage.g:28:9: '|' { - match("default"); - + match('|'); } @@ -522,11 +473,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__33; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:33:7: ( 'abstract' ) - // InternalSolverLanguage.g:33:9: 'abstract' + // InternalSolverLanguage.g:29:7: ( '(' ) + // InternalSolverLanguage.g:29:9: '(' { - match("abstract"); - + match('('); } @@ -543,11 +493,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__34; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:34:7: ( 'class' ) - // InternalSolverLanguage.g:34:9: 'class' + // InternalSolverLanguage.g:30:7: ( ')' ) + // InternalSolverLanguage.g:30:9: ')' { - match("class"); - + match(')'); } @@ -564,11 +513,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__35; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:35:7: ( 'extends' ) - // InternalSolverLanguage.g:35:9: 'extends' + // InternalSolverLanguage.g:31:7: ( '*' ) + // InternalSolverLanguage.g:31:9: '*' { - match("extends"); - + match('*'); } @@ -585,10 +533,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__36; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:36:7: ( '{' ) - // InternalSolverLanguage.g:36:9: '{' + // InternalSolverLanguage.g:32:7: ( '[' ) + // InternalSolverLanguage.g:32:9: '[' { - match('{'); + match('['); } @@ -605,10 +553,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__37; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:37:7: ( '}' ) - // InternalSolverLanguage.g:37:9: '}' + // InternalSolverLanguage.g:33:7: ( '..' ) + // InternalSolverLanguage.g:33:9: '..' { - match('}'); + match(".."); + } @@ -625,11 +574,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__38; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:38:7: ( 'enum' ) - // InternalSolverLanguage.g:38:9: 'enum' + // InternalSolverLanguage.g:34:7: ( ']' ) + // InternalSolverLanguage.g:34:9: ']' { - match("enum"); - + match(']'); } @@ -646,10 +594,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__39; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:39:7: ( 'containment' ) - // InternalSolverLanguage.g:39:9: 'containment' + // InternalSolverLanguage.g:35:7: ( 'inf' ) + // InternalSolverLanguage.g:35:9: 'inf' { - match("containment"); + match("inf"); } @@ -667,10 +615,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__40; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:40:7: ( 'relation' ) - // InternalSolverLanguage.g:40:9: 'relation' + // InternalSolverLanguage.g:36:7: ( 'empty' ) + // InternalSolverLanguage.g:36:9: 'empty' { - match("relation"); + match("empty"); } @@ -688,10 +636,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__41; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:41:7: ( '..' ) - // InternalSolverLanguage.g:41:9: '..' + // InternalSolverLanguage.g:37:7: ( 'abstract' ) + // InternalSolverLanguage.g:37:9: 'abstract' { - match(".."); + match("abstract"); } @@ -704,60 +652,16 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "T__41" - // $ANTLR start "RULE_STRING" - public final void mRULE_STRING() throws RecognitionException { + // $ANTLR start "T__42" + public final void mT__42() throws RecognitionException { try { - int _type = RULE_STRING; + int _type = T__42; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:2497:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) - // InternalSolverLanguage.g:2497:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + // InternalSolverLanguage.g:38:7: ( 'class' ) + // InternalSolverLanguage.g:38:9: 'class' { - match('\"'); - // InternalSolverLanguage.g:2497:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* - loop1: - do { - int alt1=3; - int LA1_0 = input.LA(1); - - if ( (LA1_0=='\\') ) { - alt1=1; - } - else if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) { - alt1=2; - } - - - switch (alt1) { - case 1 : - // InternalSolverLanguage.g:2497:20: '\\\\' . - { - match('\\'); - matchAny(); - - } - break; - case 2 : - // InternalSolverLanguage.g:2497:27: ~ ( ( '\\\\' | '\"' ) ) - { - if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - break loop1; - } - } while (true); + match("class"); - match('\"'); } @@ -767,75 +671,80 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "RULE_STRING" + // $ANTLR end "T__42" - // $ANTLR start "RULE_ID" - public final void mRULE_ID() throws RecognitionException { + // $ANTLR start "T__43" + public final void mT__43() throws RecognitionException { try { - int _type = RULE_ID; + int _type = T__43; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:2499:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalSolverLanguage.g:2499:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalSolverLanguage.g:39:7: ( 'extends' ) + // InternalSolverLanguage.g:39:9: 'extends' { - // InternalSolverLanguage.g:2499:11: ( '^' )? - int alt2=2; - int LA2_0 = input.LA(1); - - if ( (LA2_0=='^') ) { - alt2=1; - } - switch (alt2) { - case 1 : - // InternalSolverLanguage.g:2499:11: '^' - { - match('^'); + match("extends"); - } - break; } - if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { - input.consume(); + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__43" - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} + // $ANTLR start "T__44" + public final void mT__44() throws RecognitionException { + try { + int _type = T__44; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:40:7: ( 'contains' ) + // InternalSolverLanguage.g:40:9: 'contains' + { + match("contains"); - // InternalSolverLanguage.g:2499:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* - loop3: - do { - int alt3=2; - int LA3_0 = input.LA(1); - if ( ((LA3_0>='0' && LA3_0<='9')||(LA3_0>='A' && LA3_0<='Z')||LA3_0=='_'||(LA3_0>='a' && LA3_0<='z')) ) { - alt3=1; - } + } + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__44" - switch (alt3) { - case 1 : - // InternalSolverLanguage.g: - { - if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { - input.consume(); + // $ANTLR start "T__45" + public final void mT__45() throws RecognitionException { + try { + int _type = T__45; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:41:7: ( 'opposite' ) + // InternalSolverLanguage.g:41:9: 'opposite' + { + match("opposite"); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} + } - } - break; + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__45" - default : - break loop3; - } - } while (true); + // $ANTLR start "T__46" + public final void mT__46() throws RecognitionException { + try { + int _type = T__46; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:42:7: ( 'scope' ) + // InternalSolverLanguage.g:42:9: 'scope' + { + match("scope"); } @@ -846,31 +755,884 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "RULE_ID" + // $ANTLR end "T__46" - // $ANTLR start "RULE_INT" - public final void mRULE_INT() throws RecognitionException { + // $ANTLR start "T__47" + public final void mT__47() throws RecognitionException { try { - int _type = RULE_INT; + int _type = T__47; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:2501:10: ( ( '0' .. '9' )+ ) - // InternalSolverLanguage.g:2501:12: ( '0' .. '9' )+ + // InternalSolverLanguage.g:43:7: ( '==' ) + // InternalSolverLanguage.g:43:9: '==' { - // InternalSolverLanguage.g:2501:12: ( '0' .. '9' )+ - int cnt4=0; - loop4: - do { - int alt4=2; - int LA4_0 = input.LA(1); + match("=="); - if ( ((LA4_0>='0' && LA4_0<='9')) ) { + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__47" + + // $ANTLR start "T__48" + public final void mT__48() throws RecognitionException { + try { + int _type = T__48; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:44:7: ( '<=' ) + // InternalSolverLanguage.g:44:9: '<=' + { + match("<="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__48" + + // $ANTLR start "T__49" + public final void mT__49() throws RecognitionException { + try { + int _type = T__49; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:45:7: ( '>=' ) + // InternalSolverLanguage.g:45:9: '>=' + { + match(">="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__49" + + // $ANTLR start "T__50" + public final void mT__50() throws RecognitionException { + try { + int _type = T__50; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:46:7: ( 'int' ) + // InternalSolverLanguage.g:46:9: 'int' + { + match("int"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__50" + + // $ANTLR start "T__51" + public final void mT__51() throws RecognitionException { + try { + int _type = T__51; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:47:7: ( 'real' ) + // InternalSolverLanguage.g:47:9: 'real' + { + match("real"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__51" + + // $ANTLR start "T__52" + public final void mT__52() throws RecognitionException { + try { + int _type = T__52; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:48:7: ( '!=' ) + // InternalSolverLanguage.g:48:9: '!=' + { + match("!="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__52" + + // $ANTLR start "T__53" + public final void mT__53() throws RecognitionException { + try { + int _type = T__53; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:49:7: ( '<' ) + // InternalSolverLanguage.g:49:9: '<' + { + match('<'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__53" + + // $ANTLR start "T__54" + public final void mT__54() throws RecognitionException { + try { + int _type = T__54; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:50:7: ( '>' ) + // InternalSolverLanguage.g:50:9: '>' + { + match('>'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__54" + + // $ANTLR start "T__55" + public final void mT__55() throws RecognitionException { + try { + int _type = T__55; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:51:7: ( 'in' ) + // InternalSolverLanguage.g:51:9: 'in' + { + match("in"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__55" + + // $ANTLR start "T__56" + public final void mT__56() throws RecognitionException { + try { + int _type = T__56; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:52:7: ( '+' ) + // InternalSolverLanguage.g:52:9: '+' + { + match('+'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__56" + + // $ANTLR start "T__57" + public final void mT__57() throws RecognitionException { + try { + int _type = T__57; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:53:7: ( '-' ) + // InternalSolverLanguage.g:53:9: '-' + { + match('-'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__57" + + // $ANTLR start "T__58" + public final void mT__58() throws RecognitionException { + try { + int _type = T__58; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:54:7: ( '/' ) + // InternalSolverLanguage.g:54:9: '/' + { + match('/'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__58" + + // $ANTLR start "T__59" + public final void mT__59() throws RecognitionException { + try { + int _type = T__59; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:55:7: ( '^' ) + // InternalSolverLanguage.g:55:9: '^' + { + match('^'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__59" + + // $ANTLR start "T__60" + public final void mT__60() throws RecognitionException { + try { + int _type = T__60; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:56:7: ( '!' ) + // InternalSolverLanguage.g:56:9: '!' + { + match('!'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__60" + + // $ANTLR start "T__61" + public final void mT__61() throws RecognitionException { + try { + int _type = T__61; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:57:7: ( 'may' ) + // InternalSolverLanguage.g:57:9: 'may' + { + match("may"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__61" + + // $ANTLR start "T__62" + public final void mT__62() throws RecognitionException { + try { + int _type = T__62; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:58:7: ( 'must' ) + // InternalSolverLanguage.g:58:9: 'must' + { + match("must"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__62" + + // $ANTLR start "T__63" + public final void mT__63() throws RecognitionException { + try { + int _type = T__63; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:59:7: ( 'current' ) + // InternalSolverLanguage.g:59:9: 'current' + { + match("current"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__63" + + // $ANTLR start "T__64" + public final void mT__64() throws RecognitionException { + try { + int _type = T__64; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:60:7: ( 'only' ) + // InternalSolverLanguage.g:60:9: 'only' + { + match("only"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__64" + + // $ANTLR start "T__65" + public final void mT__65() throws RecognitionException { + try { + int _type = T__65; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:61:7: ( 'sum' ) + // InternalSolverLanguage.g:61:9: 'sum' + { + match("sum"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__65" + + // $ANTLR start "T__66" + public final void mT__66() throws RecognitionException { + try { + int _type = T__66; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:62:7: ( 'prod' ) + // InternalSolverLanguage.g:62:9: 'prod' + { + match("prod"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__66" + + // $ANTLR start "T__67" + public final void mT__67() throws RecognitionException { + try { + int _type = T__67; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:63:7: ( 'avg' ) + // InternalSolverLanguage.g:63:9: 'avg' + { + match("avg"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__67" + + // $ANTLR start "T__68" + public final void mT__68() throws RecognitionException { + try { + int _type = T__68; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:64:7: ( 'min' ) + // InternalSolverLanguage.g:64:9: 'min' + { + match("min"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__68" + + // $ANTLR start "T__69" + public final void mT__69() throws RecognitionException { + try { + int _type = T__69; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:65:7: ( 'max' ) + // InternalSolverLanguage.g:65:9: 'max' + { + match("max"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__69" + + // $ANTLR start "T__70" + public final void mT__70() throws RecognitionException { + try { + int _type = T__70; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:66:7: ( 'true' ) + // InternalSolverLanguage.g:66:9: 'true' + { + match("true"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__70" + + // $ANTLR start "T__71" + public final void mT__71() throws RecognitionException { + try { + int _type = T__71; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:67:7: ( 'false' ) + // InternalSolverLanguage.g:67:9: 'false' + { + match("false"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__71" + + // $ANTLR start "T__72" + public final void mT__72() throws RecognitionException { + try { + int _type = T__72; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:68:7: ( 'unknown' ) + // InternalSolverLanguage.g:68:9: 'unknown' + { + match("unknown"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__72" + + // $ANTLR start "T__73" + public final void mT__73() throws RecognitionException { + try { + int _type = T__73; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:69:7: ( 'minimize' ) + // InternalSolverLanguage.g:69:9: 'minimize' + { + match("minimize"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__73" + + // $ANTLR start "T__74" + public final void mT__74() throws RecognitionException { + try { + int _type = T__74; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:70:7: ( 'maximize' ) + // InternalSolverLanguage.g:70:9: 'maximize' + { + match("maximize"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__74" + + // $ANTLR start "RULE_STRING" + public final void mRULE_STRING() throws RecognitionException { + try { + int _type = RULE_STRING; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:3882:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) + // InternalSolverLanguage.g:3882:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + { + match('\"'); + // InternalSolverLanguage.g:3882:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + loop1: + do { + int alt1=3; + int LA1_0 = input.LA(1); + + if ( (LA1_0=='\\') ) { + alt1=1; + } + else if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) { + alt1=2; + } + + + switch (alt1) { + case 1 : + // InternalSolverLanguage.g:3882:20: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalSolverLanguage.g:3882:27: ~ ( ( '\\\\' | '\"' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop1; + } + } while (true); + + match('\"'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_STRING" + + // $ANTLR start "RULE_QUOTED_ID" + public final void mRULE_QUOTED_ID() throws RecognitionException { + try { + int _type = RULE_QUOTED_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:3884:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalSolverLanguage.g:3884:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + { + match('\''); + // InternalSolverLanguage.g:3884:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + loop2: + do { + int alt2=3; + int LA2_0 = input.LA(1); + + if ( (LA2_0=='\\') ) { + alt2=1; + } + else if ( ((LA2_0>='\u0000' && LA2_0<='&')||(LA2_0>='(' && LA2_0<='[')||(LA2_0>=']' && LA2_0<='\uFFFF')) ) { + alt2=2; + } + + + switch (alt2) { + case 1 : + // InternalSolverLanguage.g:3884:24: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalSolverLanguage.g:3884:31: ~ ( ( '\\\\' | '\\'' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop2; + } + } while (true); + + match('\''); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_QUOTED_ID" + + // $ANTLR start "RULE_PLUS" + public final void mRULE_PLUS() throws RecognitionException { + try { + int _type = RULE_PLUS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:3886:11: ( 'synthetic::plus' ) + // InternalSolverLanguage.g:3886:13: 'synthetic::plus' + { + match("synthetic::plus"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_PLUS" + + // $ANTLR start "RULE_STAR" + public final void mRULE_STAR() throws RecognitionException { + try { + int _type = RULE_STAR; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:3888:11: ( 'synthetic::star' ) + // InternalSolverLanguage.g:3888:13: 'synthetic::star' + { + match("synthetic::star"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_STAR" + + // $ANTLR start "RULE_DOT" + public final void mRULE_DOT() throws RecognitionException { + try { + int _type = RULE_DOT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:3890:10: ( 'synthetic::dot' ) + // InternalSolverLanguage.g:3890:12: 'synthetic::dot' + { + match("synthetic::dot"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_DOT" + + // $ANTLR start "RULE_ID" + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:3892:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalSolverLanguage.g:3892:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + { + // InternalSolverLanguage.g:3892:11: ( '^' )? + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0=='^') ) { + alt3=1; + } + switch (alt3) { + case 1 : + // InternalSolverLanguage.g:3892:11: '^' + { + match('^'); + + } + break; + + } + + if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // InternalSolverLanguage.g:3892:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + loop4: + do { + int alt4=2; + int LA4_0 = input.LA(1); + + if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) { alt4=1; } switch (alt4) { case 1 : - // InternalSolverLanguage.g:2501:13: '0' .. '9' + // InternalSolverLanguage.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop4; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ID" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + int _type = RULE_INT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:3894:10: ( ( '0' .. '9' )+ ) + // InternalSolverLanguage.g:3894:12: ( '0' .. '9' )+ + { + // InternalSolverLanguage.g:3894:12: ( '0' .. '9' )+ + int cnt5=0; + loop5: + do { + int alt5=2; + int LA5_0 = input.LA(1); + + if ( ((LA5_0>='0' && LA5_0<='9')) ) { + alt5=1; + } + + + switch (alt5) { + case 1 : + // InternalSolverLanguage.g:3894:13: '0' .. '9' { matchRange('0','9'); @@ -878,12 +1640,12 @@ public class InternalSolverLanguageLexer extends Lexer { break; default : - if ( cnt4 >= 1 ) break loop4; + if ( cnt5 >= 1 ) break loop5; EarlyExitException eee = - new EarlyExitException(4, input); + new EarlyExitException(5, input); throw eee; } - cnt4++; + cnt5++; } while (true); @@ -902,37 +1664,37 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:2503:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalSolverLanguage.g:2503:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalSolverLanguage.g:3896:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalSolverLanguage.g:3896:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalSolverLanguage.g:2503:24: ( options {greedy=false; } : . )* - loop5: + // InternalSolverLanguage.g:3896:24: ( options {greedy=false; } : . )* + loop6: do { - int alt5=2; - int LA5_0 = input.LA(1); + int alt6=2; + int LA6_0 = input.LA(1); - if ( (LA5_0=='*') ) { - int LA5_1 = input.LA(2); + if ( (LA6_0=='*') ) { + int LA6_1 = input.LA(2); - if ( (LA5_1=='/') ) { - alt5=2; + if ( (LA6_1=='/') ) { + alt6=2; } - else if ( ((LA5_1>='\u0000' && LA5_1<='.')||(LA5_1>='0' && LA5_1<='\uFFFF')) ) { - alt5=1; + else if ( ((LA6_1>='\u0000' && LA6_1<='.')||(LA6_1>='0' && LA6_1<='\uFFFF')) ) { + alt6=1; } } - else if ( ((LA5_0>='\u0000' && LA5_0<=')')||(LA5_0>='+' && LA5_0<='\uFFFF')) ) { - alt5=1; + else if ( ((LA6_0>='\u0000' && LA6_0<=')')||(LA6_0>='+' && LA6_0<='\uFFFF')) ) { + alt6=1; } - switch (alt5) { + switch (alt6) { case 1 : - // InternalSolverLanguage.g:2503:52: . + // InternalSolverLanguage.g:3896:52: . { matchAny(); @@ -940,7 +1702,7 @@ public class InternalSolverLanguageLexer extends Lexer { break; default : - break loop5; + break loop6; } } while (true); @@ -962,25 +1724,25 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:2505:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalSolverLanguage.g:2505:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalSolverLanguage.g:3898:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalSolverLanguage.g:3898:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // InternalSolverLanguage.g:2505:24: (~ ( ( '\\n' | '\\r' ) ) )* - loop6: + // InternalSolverLanguage.g:3898:24: (~ ( ( '\\n' | '\\r' ) ) )* + loop7: do { - int alt6=2; - int LA6_0 = input.LA(1); + int alt7=2; + int LA7_0 = input.LA(1); - if ( ((LA6_0>='\u0000' && LA6_0<='\t')||(LA6_0>='\u000B' && LA6_0<='\f')||(LA6_0>='\u000E' && LA6_0<='\uFFFF')) ) { - alt6=1; + if ( ((LA7_0>='\u0000' && LA7_0<='\t')||(LA7_0>='\u000B' && LA7_0<='\f')||(LA7_0>='\u000E' && LA7_0<='\uFFFF')) ) { + alt7=1; } - switch (alt6) { + switch (alt7) { case 1 : - // InternalSolverLanguage.g:2505:24: ~ ( ( '\\n' | '\\r' ) ) + // InternalSolverLanguage.g:3898:24: ~ ( ( '\\n' | '\\r' ) ) { 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') ) { input.consume(); @@ -996,31 +1758,31 @@ public class InternalSolverLanguageLexer extends Lexer { break; default : - break loop6; + break loop7; } } while (true); - // InternalSolverLanguage.g:2505:40: ( ( '\\r' )? '\\n' )? - int alt8=2; - int LA8_0 = input.LA(1); + // InternalSolverLanguage.g:3898:40: ( ( '\\r' )? '\\n' )? + int alt9=2; + int LA9_0 = input.LA(1); - if ( (LA8_0=='\n'||LA8_0=='\r') ) { - alt8=1; + if ( (LA9_0=='\n'||LA9_0=='\r') ) { + alt9=1; } - switch (alt8) { + switch (alt9) { case 1 : - // InternalSolverLanguage.g:2505:41: ( '\\r' )? '\\n' + // InternalSolverLanguage.g:3898:41: ( '\\r' )? '\\n' { - // InternalSolverLanguage.g:2505:41: ( '\\r' )? - int alt7=2; - int LA7_0 = input.LA(1); + // InternalSolverLanguage.g:3898:41: ( '\\r' )? + int alt8=2; + int LA8_0 = input.LA(1); - if ( (LA7_0=='\r') ) { - alt7=1; + if ( (LA8_0=='\r') ) { + alt8=1; } - switch (alt7) { + switch (alt8) { case 1 : - // InternalSolverLanguage.g:2505:41: '\\r' + // InternalSolverLanguage.g:3898:41: '\\r' { match('\r'); @@ -1052,344 +1814,575 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:2507:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalSolverLanguage.g:2507:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalSolverLanguage.g:3900:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalSolverLanguage.g:3900:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // InternalSolverLanguage.g:2507:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - int cnt9=0; - loop9: + // InternalSolverLanguage.g:3900:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt10=0; + loop10: do { - int alt9=2; - int LA9_0 = input.LA(1); + int alt10=2; + int LA10_0 = input.LA(1); - if ( ((LA9_0>='\t' && LA9_0<='\n')||LA9_0=='\r'||LA9_0==' ') ) { - alt9=1; + if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) { + alt10=1; } - switch (alt9) { + switch (alt10) { case 1 : // InternalSolverLanguage.g: { if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { input.consume(); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + if ( cnt10 >= 1 ) break loop10; + EarlyExitException eee = + new EarlyExitException(10, input); + throw eee; + } + cnt10++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_WS" + + // $ANTLR start "RULE_ANY_OTHER" + public final void mRULE_ANY_OTHER() throws RecognitionException { + try { + int _type = RULE_ANY_OTHER; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguage.g:3902:16: ( . ) + // InternalSolverLanguage.g:3902:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // 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 ) + int alt11=71; + alt11 = dfa11.predict(input); + switch (alt11) { + case 1 : + // InternalSolverLanguage.g:1:10: T__15 + { + mT__15(); + + } + break; + case 2 : + // InternalSolverLanguage.g:1:16: T__16 + { + mT__16(); + + } + break; + case 3 : + // InternalSolverLanguage.g:1:22: T__17 + { + mT__17(); + + } + break; + case 4 : + // InternalSolverLanguage.g:1:28: T__18 + { + mT__18(); + + } + break; + case 5 : + // InternalSolverLanguage.g:1:34: T__19 + { + mT__19(); + + } + break; + case 6 : + // InternalSolverLanguage.g:1:40: T__20 + { + mT__20(); + + } + break; + case 7 : + // InternalSolverLanguage.g:1:46: T__21 + { + mT__21(); + + } + break; + case 8 : + // InternalSolverLanguage.g:1:52: T__22 + { + mT__22(); + + } + break; + case 9 : + // InternalSolverLanguage.g:1:58: T__23 + { + mT__23(); + + } + break; + case 10 : + // InternalSolverLanguage.g:1:64: T__24 + { + mT__24(); + + } + break; + case 11 : + // InternalSolverLanguage.g:1:70: T__25 + { + mT__25(); + + } + break; + case 12 : + // InternalSolverLanguage.g:1:76: T__26 + { + mT__26(); + + } + break; + case 13 : + // InternalSolverLanguage.g:1:82: T__27 + { + mT__27(); + + } + break; + case 14 : + // InternalSolverLanguage.g:1:88: T__28 + { + mT__28(); + + } + break; + case 15 : + // InternalSolverLanguage.g:1:94: T__29 + { + mT__29(); + + } + break; + case 16 : + // InternalSolverLanguage.g:1:100: T__30 + { + mT__30(); + + } + break; + case 17 : + // InternalSolverLanguage.g:1:106: T__31 + { + mT__31(); + + } + break; + case 18 : + // InternalSolverLanguage.g:1:112: T__32 + { + mT__32(); + + } + break; + case 19 : + // InternalSolverLanguage.g:1:118: T__33 + { + mT__33(); + + } + break; + case 20 : + // InternalSolverLanguage.g:1:124: T__34 + { + mT__34(); + + } + break; + case 21 : + // InternalSolverLanguage.g:1:130: T__35 + { + mT__35(); + + } + break; + case 22 : + // InternalSolverLanguage.g:1:136: T__36 + { + mT__36(); + + } + break; + case 23 : + // InternalSolverLanguage.g:1:142: T__37 + { + mT__37(); + + } + break; + case 24 : + // InternalSolverLanguage.g:1:148: T__38 + { + mT__38(); + } + break; + case 25 : + // InternalSolverLanguage.g:1:154: T__39 + { + mT__39(); - } - break; + } + break; + case 26 : + // InternalSolverLanguage.g:1:160: T__40 + { + mT__40(); - default : - if ( cnt9 >= 1 ) break loop9; - EarlyExitException eee = - new EarlyExitException(9, input); - throw eee; } - cnt9++; - } while (true); + break; + case 27 : + // InternalSolverLanguage.g:1:166: T__41 + { + mT__41(); + } + break; + case 28 : + // InternalSolverLanguage.g:1:172: T__42 + { + mT__42(); - } + } + break; + case 29 : + // InternalSolverLanguage.g:1:178: T__43 + { + mT__43(); - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_WS" + } + break; + case 30 : + // InternalSolverLanguage.g:1:184: T__44 + { + mT__44(); - // $ANTLR start "RULE_ANY_OTHER" - public final void mRULE_ANY_OTHER() throws RecognitionException { - try { - int _type = RULE_ANY_OTHER; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:2509:16: ( . ) - // InternalSolverLanguage.g:2509:18: . - { - matchAny(); + } + break; + case 31 : + // InternalSolverLanguage.g:1:190: T__45 + { + mT__45(); - } + } + break; + case 32 : + // InternalSolverLanguage.g:1:196: T__46 + { + mT__46(); - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ANY_OTHER" + } + break; + case 33 : + // InternalSolverLanguage.g:1:202: T__47 + { + mT__47(); - public void mTokens() throws RecognitionException { - // 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 ) - int alt10=38; - alt10 = dfa10.predict(input); - switch (alt10) { - case 1 : - // InternalSolverLanguage.g:1:10: T__11 + } + break; + case 34 : + // InternalSolverLanguage.g:1:208: T__48 { - mT__11(); + mT__48(); } break; - case 2 : - // InternalSolverLanguage.g:1:16: T__12 + case 35 : + // InternalSolverLanguage.g:1:214: T__49 { - mT__12(); + mT__49(); } break; - case 3 : - // InternalSolverLanguage.g:1:22: T__13 + case 36 : + // InternalSolverLanguage.g:1:220: T__50 { - mT__13(); + mT__50(); } break; - case 4 : - // InternalSolverLanguage.g:1:28: T__14 + case 37 : + // InternalSolverLanguage.g:1:226: T__51 { - mT__14(); + mT__51(); } break; - case 5 : - // InternalSolverLanguage.g:1:34: T__15 + case 38 : + // InternalSolverLanguage.g:1:232: T__52 { - mT__15(); + mT__52(); } break; - case 6 : - // InternalSolverLanguage.g:1:40: T__16 + case 39 : + // InternalSolverLanguage.g:1:238: T__53 { - mT__16(); + mT__53(); } break; - case 7 : - // InternalSolverLanguage.g:1:46: T__17 + case 40 : + // InternalSolverLanguage.g:1:244: T__54 { - mT__17(); + mT__54(); } break; - case 8 : - // InternalSolverLanguage.g:1:52: T__18 + case 41 : + // InternalSolverLanguage.g:1:250: T__55 { - mT__18(); + mT__55(); } break; - case 9 : - // InternalSolverLanguage.g:1:58: T__19 + case 42 : + // InternalSolverLanguage.g:1:256: T__56 { - mT__19(); + mT__56(); } break; - case 10 : - // InternalSolverLanguage.g:1:64: T__20 + case 43 : + // InternalSolverLanguage.g:1:262: T__57 { - mT__20(); + mT__57(); } break; - case 11 : - // InternalSolverLanguage.g:1:70: T__21 + case 44 : + // InternalSolverLanguage.g:1:268: T__58 { - mT__21(); + mT__58(); } break; - case 12 : - // InternalSolverLanguage.g:1:76: T__22 + case 45 : + // InternalSolverLanguage.g:1:274: T__59 { - mT__22(); + mT__59(); } break; - case 13 : - // InternalSolverLanguage.g:1:82: T__23 + case 46 : + // InternalSolverLanguage.g:1:280: T__60 { - mT__23(); + mT__60(); } break; - case 14 : - // InternalSolverLanguage.g:1:88: T__24 + case 47 : + // InternalSolverLanguage.g:1:286: T__61 { - mT__24(); + mT__61(); } break; - case 15 : - // InternalSolverLanguage.g:1:94: T__25 + case 48 : + // InternalSolverLanguage.g:1:292: T__62 { - mT__25(); + mT__62(); } break; - case 16 : - // InternalSolverLanguage.g:1:100: T__26 + case 49 : + // InternalSolverLanguage.g:1:298: T__63 { - mT__26(); + mT__63(); } break; - case 17 : - // InternalSolverLanguage.g:1:106: T__27 + case 50 : + // InternalSolverLanguage.g:1:304: T__64 { - mT__27(); + mT__64(); } break; - case 18 : - // InternalSolverLanguage.g:1:112: T__28 + case 51 : + // InternalSolverLanguage.g:1:310: T__65 { - mT__28(); + mT__65(); } break; - case 19 : - // InternalSolverLanguage.g:1:118: T__29 + case 52 : + // InternalSolverLanguage.g:1:316: T__66 { - mT__29(); + mT__66(); } break; - case 20 : - // InternalSolverLanguage.g:1:124: T__30 + case 53 : + // InternalSolverLanguage.g:1:322: T__67 { - mT__30(); + mT__67(); } break; - case 21 : - // InternalSolverLanguage.g:1:130: T__31 + case 54 : + // InternalSolverLanguage.g:1:328: T__68 { - mT__31(); + mT__68(); } break; - case 22 : - // InternalSolverLanguage.g:1:136: T__32 + case 55 : + // InternalSolverLanguage.g:1:334: T__69 { - mT__32(); + mT__69(); } break; - case 23 : - // InternalSolverLanguage.g:1:142: T__33 + case 56 : + // InternalSolverLanguage.g:1:340: T__70 { - mT__33(); + mT__70(); } break; - case 24 : - // InternalSolverLanguage.g:1:148: T__34 + case 57 : + // InternalSolverLanguage.g:1:346: T__71 { - mT__34(); + mT__71(); } break; - case 25 : - // InternalSolverLanguage.g:1:154: T__35 + case 58 : + // InternalSolverLanguage.g:1:352: T__72 { - mT__35(); + mT__72(); } break; - case 26 : - // InternalSolverLanguage.g:1:160: T__36 + case 59 : + // InternalSolverLanguage.g:1:358: T__73 { - mT__36(); + mT__73(); } break; - case 27 : - // InternalSolverLanguage.g:1:166: T__37 + case 60 : + // InternalSolverLanguage.g:1:364: T__74 { - mT__37(); + mT__74(); } break; - case 28 : - // InternalSolverLanguage.g:1:172: T__38 + case 61 : + // InternalSolverLanguage.g:1:370: RULE_STRING { - mT__38(); + mRULE_STRING(); } break; - case 29 : - // InternalSolverLanguage.g:1:178: T__39 + case 62 : + // InternalSolverLanguage.g:1:382: RULE_QUOTED_ID { - mT__39(); + mRULE_QUOTED_ID(); } break; - case 30 : - // InternalSolverLanguage.g:1:184: T__40 + case 63 : + // InternalSolverLanguage.g:1:397: RULE_PLUS { - mT__40(); + mRULE_PLUS(); } break; - case 31 : - // InternalSolverLanguage.g:1:190: T__41 + case 64 : + // InternalSolverLanguage.g:1:407: RULE_STAR { - mT__41(); + mRULE_STAR(); } break; - case 32 : - // InternalSolverLanguage.g:1:196: RULE_STRING + case 65 : + // InternalSolverLanguage.g:1:417: RULE_DOT { - mRULE_STRING(); + mRULE_DOT(); } break; - case 33 : - // InternalSolverLanguage.g:1:208: RULE_ID + case 66 : + // InternalSolverLanguage.g:1:426: RULE_ID { mRULE_ID(); } break; - case 34 : - // InternalSolverLanguage.g:1:216: RULE_INT + case 67 : + // InternalSolverLanguage.g:1:434: RULE_INT { mRULE_INT(); } break; - case 35 : - // InternalSolverLanguage.g:1:225: RULE_ML_COMMENT + case 68 : + // InternalSolverLanguage.g:1:443: RULE_ML_COMMENT { mRULE_ML_COMMENT(); } break; - case 36 : - // InternalSolverLanguage.g:1:241: RULE_SL_COMMENT + case 69 : + // InternalSolverLanguage.g:1:459: RULE_SL_COMMENT { mRULE_SL_COMMENT(); } break; - case 37 : - // InternalSolverLanguage.g:1:257: RULE_WS + case 70 : + // InternalSolverLanguage.g:1:475: RULE_WS { mRULE_WS(); } break; - case 38 : - // InternalSolverLanguage.g:1:265: RULE_ANY_OTHER + case 71 : + // InternalSolverLanguage.g:1:483: RULE_ANY_OTHER { mRULE_ANY_OTHER(); @@ -1401,286 +2394,408 @@ public class InternalSolverLanguageLexer extends Lexer { } - protected DFA10 dfa10 = new DFA10(this); - static final String DFA10_eotS = - "\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"; - static final String DFA10_eofS = - "\u0095\uffff"; - static final String DFA10_minS = - "\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"; - static final String DFA10_maxS = - "\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"; - static final String DFA10_acceptS = - "\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"; - static final String DFA10_specialS = - "\1\0\27\uffff\1\1\174\uffff}>"; - static final String[] DFA10_transitionS = { - "\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", - "", - "\1\40", - "\1\42", - "\1\44", - "\1\45", - "\1\51\2\uffff\1\50\1\46\5\uffff\1\47", + protected DFA11 dfa11 = new DFA11(this); + static final String DFA11_eotS = + "\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"; + static final String DFA11_eofS = + "\u00f3\uffff"; + static final String DFA11_minS = + "\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"; + static final String DFA11_maxS = + "\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"; + static final String DFA11_acceptS = + "\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"; + static final String DFA11_specialS = + "\1\1\41\uffff\1\2\1\0\u00cf\uffff}>"; + static final String[] DFA11_transitionS = { + "\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", + "\1\50", + "\1\52", + "\1\55\23\uffff\1\54", + "\1\61\1\62\4\uffff\1\57\5\uffff\1\60", + "\1\63", + "\1\64", + "\1\66\7\uffff\1\67", + "\1\70\11\uffff\1\71", "", + "\1\73", "", + "\1\77\2\uffff\1\76\5\uffff\1\100", "", - "\1\55", - "\1\57", - "\1\60", - "\1\61", - "\1\62", "", "", "", "", - "\1\67", - "\1\70", - "\1\71\2\uffff\1\72", "", "", - "\0\75", - "\32\43\4\uffff\1\43\1\uffff\32\43", "", + "\1\111\23\uffff\1\112", + "\1\114\1\uffff\1\113", + "\1\115\21\uffff\1\116\3\uffff\1\117", + "\1\120", + "\1\122", + "\1\124", + "\1\125", "", - "\1\77\4\uffff\1\100", - "", + "\1\130\4\uffff\1\131", + "\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\134\7\uffff\1\136\13\uffff\1\135", + "\1\137", + "\1\140", + "\0\141", + "\0\142", "", "", "", "", - "\1\102", "", - "\1\103", - "\1\104", - "\1\105", - "\1\106\12\uffff\1\107", - "\1\110", - "\1\111", "", "", "", + "\1\145", + "\1\146", "", + "\1\147", + "\1\150", + "\1\151", + "\1\152", + "\1\153", "", - "\1\112", - "\1\113", - "\1\114\12\uffff\1\115", - "\1\116", "", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\5\56\1\155\15\56\1\156\6\56", + "\1\160", + "\1\161", "", "", "", - "\1\117", - "\1\120", - "\1\121", - "\1\122", "", + "\1\163\6\uffff\1\162", + "\1\164", + "\1\165", "", "", "", "", "", "", - "\1\123", - "\1\124", - "\1\125", - "\1\126", - "\1\127", - "\1\130", - "\1\131", - "\1\132", - "\1\133", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\135", - "\1\136", - "\1\137", - "\1\140", - "\1\141", - "\1\142", - "\1\143", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\145", - "\1\146", - "\1\147", - "\1\150", - "\1\151", - "\1\152", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", "", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\156", - "\1\157", - "\1\160", - "\1\161", - "\1\162", - "\1\163", "", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\165", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", + "\1\166", "\1\167", "\1\170", "\1\171", - "", - "", - "", "\1\172", "\1\173", "\1\174", + "", + "", + "", + "", "\1\175", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\177", "", - "\1\u0080", "", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", + "", + "", + "", + "", + "", + "\1\177\1\176", + "\1\u0080", + "\1\u0081", "\1\u0082", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", + "\1\u0083", + "", + "", + "", + "", "\1\u0084", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", + "\1\u0085", "\1\u0086", "\1\u0087", - "", "\1\u0088", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", + "\1\u0089", + "\1\u008a", "", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", "", - "\1\u008b", - "", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", "\1\u008d", "\1\u008e", + "\1\u008f", + "\1\u0090", + "\1\u0091", + "\1\u0092", + "\1\u0093", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u0095", + "\1\u0096", + "\1\u0097", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u0099", + "\1\u009a", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\10\56\1\u009c\21\56", + "\1\u009e", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\10\56\1\u009f\21\56", + "\1\u00a1", + "\1\u00a2", + "\1\u00a3", + "\1\u00a4", + "\1\u00a5", + "\1\u00a7\3\uffff\1\u00a6", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00a9", + "\1\u00aa", "", "", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00ad", + "\1\u00ae", + "\1\u00af", + "\1\u00b0", + "\1\u00b1", "", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\u0091", + "\1\u00b2", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00b4", + "", + "\1\u00b5", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "", + "\1\u00b7", + "", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00b9", + "", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00bb", + "\1\u00bc", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00bf", + "\1\u00c0", + "", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00c2", + "", + "", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00c4", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00c6", + "\1\u00c7", + "\1\u00c8", + "", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00ca", + "", + "\1\u00cb", + "", + "\1\u00cc", + "", + "\1\u00cd", + "\1\u00ce", + "", + "", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00d0", + "", + "\1\u00d1", + "", + "\1\u00d2", + "", + "\1\u00d3", + "\1\u00d4", + "\1\u00d5", + "", + "\1\u00d6", + "\1\u00d7", + "\1\u00d8", + "\1\u00d9", + "\1\u00da", + "", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00dd", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00df", + "\1\u00e0", + "\1\u00e1", + "\1\u00e2", + "\1\u00e3", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00e5", + "", + "", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00e9", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "", + "\1\u00ec", + "", + "", + "", + "\1\u00ed", + "", + "", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00ef", + "", + "\1\u00f2\13\uffff\1\u00f0\2\uffff\1\u00f1", "", "", - "\1\u0092", - "\1\u0093", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", "" }; - static final short[] DFA10_eot = DFA.unpackEncodedString(DFA10_eotS); - static final short[] DFA10_eof = DFA.unpackEncodedString(DFA10_eofS); - static final char[] DFA10_min = DFA.unpackEncodedStringToUnsignedChars(DFA10_minS); - static final char[] DFA10_max = DFA.unpackEncodedStringToUnsignedChars(DFA10_maxS); - static final short[] DFA10_accept = DFA.unpackEncodedString(DFA10_acceptS); - static final short[] DFA10_special = DFA.unpackEncodedString(DFA10_specialS); - static final short[][] DFA10_transition; + static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS); + static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS); + static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS); + static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS); + static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS); + static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS); + static final short[][] DFA11_transition; static { - int numStates = DFA10_transitionS.length; - DFA10_transition = new short[numStates][]; + int numStates = DFA11_transitionS.length; + DFA11_transition = new short[numStates][]; for (int i=0; i='\u0000' && LA11_35<='\uFFFF')) ) {s = 98;} + + else s = 39; + + if ( s>=0 ) return s; + break; + case 1 : + int LA11_0 = input.LA(1); s = -1; - if ( (LA10_0=='-') ) {s = 1;} + if ( (LA11_0==':') ) {s = 1;} + + else if ( (LA11_0=='=') ) {s = 2;} + + else if ( (LA11_0=='f') ) {s = 3;} - else if ( (LA10_0=='.') ) {s = 2;} + else if ( (LA11_0=='e') ) {s = 4;} - else if ( (LA10_0=='t') ) {s = 3;} + else if ( (LA11_0=='d') ) {s = 5;} - else if ( (LA10_0=='f') ) {s = 4;} + else if ( (LA11_0=='.') ) {s = 6;} - else if ( (LA10_0=='u') ) {s = 5;} + else if ( (LA11_0=='i') ) {s = 7;} - else if ( (LA10_0=='e') ) {s = 6;} + else if ( (LA11_0=='t') ) {s = 8;} - else if ( (LA10_0=='(') ) {s = 7;} + else if ( (LA11_0==';') ) {s = 9;} - else if ( (LA10_0==',') ) {s = 8;} + else if ( (LA11_0=='-') ) {s = 10;} - else if ( (LA10_0==')') ) {s = 9;} + else if ( (LA11_0==',') ) {s = 11;} - else if ( (LA10_0==':') ) {s = 10;} + else if ( (LA11_0=='c') ) {s = 12;} - else if ( (LA10_0=='b') ) {s = 11;} + else if ( (LA11_0=='{') ) {s = 13;} - else if ( (LA10_0=='i') ) {s = 12;} + else if ( (LA11_0=='}') ) {s = 14;} - else if ( (LA10_0=='r') ) {s = 13;} + else if ( (LA11_0=='|') ) {s = 15;} - else if ( (LA10_0=='s') ) {s = 14;} + else if ( (LA11_0=='(') ) {s = 16;} - else if ( (LA10_0=='\'') ) {s = 15;} + else if ( (LA11_0==')') ) {s = 17;} - else if ( (LA10_0=='|') ) {s = 16;} + else if ( (LA11_0=='*') ) {s = 18;} - else if ( (LA10_0=='+') ) {s = 17;} + else if ( (LA11_0=='[') ) {s = 19;} - else if ( (LA10_0=='*') ) {s = 18;} + else if ( (LA11_0==']') ) {s = 20;} - else if ( (LA10_0=='d') ) {s = 19;} + else if ( (LA11_0=='a') ) {s = 21;} - else if ( (LA10_0=='a') ) {s = 20;} + else if ( (LA11_0=='o') ) {s = 22;} - else if ( (LA10_0=='c') ) {s = 21;} + else if ( (LA11_0=='s') ) {s = 23;} - else if ( (LA10_0=='{') ) {s = 22;} + else if ( (LA11_0=='<') ) {s = 24;} - else if ( (LA10_0=='}') ) {s = 23;} + else if ( (LA11_0=='>') ) {s = 25;} - else if ( (LA10_0=='\"') ) {s = 24;} + else if ( (LA11_0=='r') ) {s = 26;} - else if ( (LA10_0=='^') ) {s = 25;} + else if ( (LA11_0=='!') ) {s = 27;} - 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;} + else if ( (LA11_0=='+') ) {s = 28;} - else if ( ((LA10_0>='0' && LA10_0<='9')) ) {s = 27;} + else if ( (LA11_0=='/') ) {s = 29;} - else if ( (LA10_0=='/') ) {s = 28;} + else if ( (LA11_0=='^') ) {s = 30;} - else if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) {s = 29;} + else if ( (LA11_0=='m') ) {s = 31;} - 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;} + else if ( (LA11_0=='p') ) {s = 32;} + + else if ( (LA11_0=='u') ) {s = 33;} + + else if ( (LA11_0=='\"') ) {s = 34;} + + else if ( (LA11_0=='\'') ) {s = 35;} + + 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;} + + else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 37;} + + else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 38;} + + 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;} if ( s>=0 ) return s; break; - case 1 : - int LA10_24 = input.LA(1); + case 2 : + int LA11_34 = input.LA(1); s = -1; - if ( ((LA10_24>='\u0000' && LA10_24<='\uFFFF')) ) {s = 61;} + if ( ((LA11_34>='\u0000' && LA11_34<='\uFFFF')) ) {s = 97;} - else s = 30; + else s = 39; if ( s>=0 ) return s; break; } NoViableAltException nvae = - new NoViableAltException(getDescription(), 10, _s, input); + new NoViableAltException(getDescription(), 11, _s, input); error(nvae); throw nvae; } 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.*; import org.eclipse.xtext.parser.impl.*; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.common.util.Enumerator; import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; @@ -17,51 +18,85 @@ import org.antlr.runtime.*; import java.util.Stack; import java.util.List; import java.util.ArrayList; - +import java.util.Map; +import java.util.HashMap; @SuppressWarnings("all") public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "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'", "'..'" + "", "", "", "", "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'" }; - public static final int RULE_STRING=6; - public static final int RULE_SL_COMMENT=8; + public static final int T__50=50; public static final int T__19=19; public static final int T__15=15; - public static final int T__37=37; + public static final int T__59=59; public static final int T__16=16; - public static final int T__38=38; public static final int T__17=17; - public static final int T__39=39; public static final int T__18=18; - public static final int T__11=11; - public static final int T__33=33; - public static final int T__12=12; - public static final int T__34=34; - public static final int T__13=13; - public static final int T__35=35; - public static final int T__14=14; - public static final int T__36=36; - public static final int EOF=-1; - public static final int T__30=30; - public static final int T__31=31; - public static final int T__32=32; - public static final int RULE_ID=5; - public static final int RULE_WS=9; - public static final int RULE_ANY_OTHER=10; + public static final int T__55=55; + public static final int T__56=56; + public static final int T__57=57; + public static final int T__58=58; + public static final int T__51=51; + public static final int RULE_STAR=5; + public static final int T__52=52; + public static final int T__53=53; + public static final int T__54=54; + public static final int T__60=60; + public static final int T__61=61; + public static final int RULE_ID=8; + public static final int RULE_QUOTED_ID=10; public static final int T__26=26; public static final int T__27=27; public static final int T__28=28; - public static final int RULE_INT=4; + public static final int RULE_INT=9; public static final int T__29=29; public static final int T__22=22; - public static final int RULE_ML_COMMENT=7; + public static final int T__66=66; + public static final int RULE_ML_COMMENT=11; public static final int T__23=23; + public static final int T__67=67; public static final int T__24=24; + public static final int T__68=68; public static final int T__25=25; - public static final int T__40=40; - public static final int T__41=41; + public static final int T__69=69; + public static final int T__62=62; + public static final int T__63=63; public static final int T__20=20; + public static final int T__64=64; public static final int T__21=21; + public static final int T__65=65; + public static final int T__70=70; + public static final int T__71=71; + public static final int T__72=72; + public static final int RULE_STRING=7; + public static final int RULE_SL_COMMENT=12; + public static final int T__37=37; + public static final int T__38=38; + public static final int T__39=39; + public static final int T__33=33; + public static final int T__34=34; + public static final int T__35=35; + public static final int RULE_PLUS=6; + public static final int T__36=36; + public static final int T__73=73; + public static final int RULE_DOT=4; + public static final int EOF=-1; + public static final int T__30=30; + public static final int T__74=74; + public static final int T__31=31; + public static final int T__32=32; + public static final int RULE_WS=13; + public static final int RULE_ANY_OTHER=14; + public static final int T__48=48; + public static final int T__49=49; + public static final int T__44=44; + public static final int T__45=45; + public static final int T__46=46; + public static final int T__47=47; + public static final int T__40=40; + public static final int T__41=41; + public static final int T__42=42; + public static final int T__43=43; // delegates // delegators @@ -103,7 +138,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleProblem" - // InternalSolverLanguage.g:64:1: entryRuleProblem returns [EObject current=null] : iv_ruleProblem= ruleProblem EOF ; + // InternalSolverLanguage.g:65:1: entryRuleProblem returns [EObject current=null] : iv_ruleProblem= ruleProblem EOF ; public final EObject entryRuleProblem() throws RecognitionException { EObject current = null; @@ -111,17 +146,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:64:48: (iv_ruleProblem= ruleProblem EOF ) - // InternalSolverLanguage.g:65:2: iv_ruleProblem= ruleProblem EOF + // InternalSolverLanguage.g:65:48: (iv_ruleProblem= ruleProblem EOF ) + // InternalSolverLanguage.g:66:2: iv_ruleProblem= ruleProblem EOF { - newCompositeNode(grammarAccess.getProblemRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getProblemRule()); + } pushFollow(FOLLOW_1); iv_ruleProblem=ruleProblem(); state._fsp--; - - current =iv_ruleProblem; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleProblem; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -139,7 +178,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleProblem" - // InternalSolverLanguage.g:71:1: ruleProblem returns [EObject current=null] : ( (lv_statements_0_0= ruleStatement ) )* ; + // InternalSolverLanguage.g:72:1: ruleProblem returns [EObject current=null] : ( (lv_statements_0_0= ruleStatement ) )* ; public final EObject ruleProblem() throws RecognitionException { EObject current = null; @@ -150,46 +189,50 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:77:2: ( ( (lv_statements_0_0= ruleStatement ) )* ) - // InternalSolverLanguage.g:78:2: ( (lv_statements_0_0= ruleStatement ) )* + // InternalSolverLanguage.g:78:2: ( ( (lv_statements_0_0= ruleStatement ) )* ) + // InternalSolverLanguage.g:79:2: ( (lv_statements_0_0= ruleStatement ) )* { - // InternalSolverLanguage.g:78:2: ( (lv_statements_0_0= ruleStatement ) )* + // InternalSolverLanguage.g:79:2: ( (lv_statements_0_0= ruleStatement ) )* loop1: do { int alt1=2; int LA1_0 = input.LA(1); - 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)) ) { + 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)) ) { alt1=1; } switch (alt1) { case 1 : - // InternalSolverLanguage.g:79:3: (lv_statements_0_0= ruleStatement ) + // InternalSolverLanguage.g:80:3: (lv_statements_0_0= ruleStatement ) { - // InternalSolverLanguage.g:79:3: (lv_statements_0_0= ruleStatement ) - // InternalSolverLanguage.g:80:4: lv_statements_0_0= ruleStatement + // InternalSolverLanguage.g:80:3: (lv_statements_0_0= ruleStatement ) + // InternalSolverLanguage.g:81:4: lv_statements_0_0= ruleStatement { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); - + newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); + + } pushFollow(FOLLOW_3); lv_statements_0_0=ruleStatement(); state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getProblemRule()); - } - add( - current, - "statements", - lv_statements_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); - afterParserOrEnumRuleCall(); - + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProblemRule()); + } + add( + current, + "statements", + lv_statements_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); + afterParserOrEnumRuleCall(); + + } } @@ -205,9 +248,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -222,7 +267,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleStatement" - // InternalSolverLanguage.g:100:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ; + // InternalSolverLanguage.g:101:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ; public final EObject entryRuleStatement() throws RecognitionException { EObject current = null; @@ -230,17 +275,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:100:50: (iv_ruleStatement= ruleStatement EOF ) - // InternalSolverLanguage.g:101:2: iv_ruleStatement= ruleStatement EOF + // InternalSolverLanguage.g:101:50: (iv_ruleStatement= ruleStatement EOF ) + // InternalSolverLanguage.g:102:2: iv_ruleStatement= ruleStatement EOF { - newCompositeNode(grammarAccess.getStatementRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getStatementRule()); + } pushFollow(FOLLOW_1); iv_ruleStatement=ruleStatement(); state._fsp--; - - current =iv_ruleStatement; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleStatement; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -258,189 +307,286 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleStatement" - // InternalSolverLanguage.g:107:1: ruleStatement returns [EObject current=null] : (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate ) ; + // 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 ) ; public final EObject ruleStatement() throws RecognitionException { EObject current = null; - EObject this_Interpretation_0 = null; + Token this_DOT_10=null; + EObject this_AssertionOrDefinition_0 = null; + + EObject this_PredicateDefinition_1 = null; + + EObject this_UnnamedErrorPrediateDefinition_2 = null; - EObject this_Predicate_1 = null; + EObject this_DefaultDefinition_3 = null; + + EObject this_ExternPredicateDefinition_4 = null; + + EObject this_MetricDefinition_5 = null; + + EObject this_ExternMetricDefinition_6 = null; + + EObject this_ClassDefinition_7 = null; + + EObject this_ScopeDefinition_8 = null; + + EObject this_ObjectiveDefinition_9 = null; enterRule(); try { - // InternalSolverLanguage.g:113:2: ( (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate ) ) - // InternalSolverLanguage.g:114:2: (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate ) + // 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 ) ) + // 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 ) { - // InternalSolverLanguage.g:114:2: (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate ) - int alt2=2; + // 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 ) + // 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 + { + // 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 ) + int alt2=10; alt2 = dfa2.predict(input); switch (alt2) { case 1 : - // InternalSolverLanguage.g:115:3: this_Interpretation_0= ruleInterpretation + // InternalSolverLanguage.g:117:4: this_AssertionOrDefinition_0= ruleAssertionOrDefinition { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getStatementAccess().getInterpretationParserRuleCall_0()); - - pushFollow(FOLLOW_2); - this_Interpretation_0=ruleInterpretation(); + newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); + + } + pushFollow(FOLLOW_4); + this_AssertionOrDefinition_0=ruleAssertionOrDefinition(); state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - - current = this_Interpretation_0; - afterParserOrEnumRuleCall(); - + current = this_AssertionOrDefinition_0; + afterParserOrEnumRuleCall(); + + } } break; case 2 : - // InternalSolverLanguage.g:124:3: this_Predicate_1= rulePredicate + // InternalSolverLanguage.g:126:4: this_PredicateDefinition_1= rulePredicateDefinition { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getStatementAccess().getPredicateParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_Predicate_1=rulePredicate(); + newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1()); + + } + pushFollow(FOLLOW_4); + this_PredicateDefinition_1=rulePredicateDefinition(); state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - - current = this_Predicate_1; - afterParserOrEnumRuleCall(); - + current = this_PredicateDefinition_1; + afterParserOrEnumRuleCall(); + + } } break; + case 3 : + // InternalSolverLanguage.g:135:4: this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition + { + if ( state.backtracking==0 ) { - } + newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2()); + + } + pushFollow(FOLLOW_4); + this_UnnamedErrorPrediateDefinition_2=ruleUnnamedErrorPrediateDefinition(); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - } + current = this_UnnamedErrorPrediateDefinition_2; + afterParserOrEnumRuleCall(); + + } + } + break; + case 4 : + // InternalSolverLanguage.g:144:4: this_DefaultDefinition_3= ruleDefaultDefinition + { + if ( state.backtracking==0 ) { - leaveRule(); + newCompositeNode(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3()); + + } + pushFollow(FOLLOW_4); + this_DefaultDefinition_3=ruleDefaultDefinition(); - } + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleStatement" + current = this_DefaultDefinition_3; + afterParserOrEnumRuleCall(); + + } + } + break; + case 5 : + // InternalSolverLanguage.g:153:4: this_ExternPredicateDefinition_4= ruleExternPredicateDefinition + { + if ( state.backtracking==0 ) { - // $ANTLR start "entryRuleREALLiteral" - // InternalSolverLanguage.g:136:1: entryRuleREALLiteral returns [String current=null] : iv_ruleREALLiteral= ruleREALLiteral EOF ; - public final String entryRuleREALLiteral() throws RecognitionException { - String current = null; + newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); + + } + pushFollow(FOLLOW_4); + this_ExternPredicateDefinition_4=ruleExternPredicateDefinition(); - AntlrDatatypeRuleToken iv_ruleREALLiteral = null; + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current = this_ExternPredicateDefinition_4; + afterParserOrEnumRuleCall(); + + } - try { - // InternalSolverLanguage.g:136:51: (iv_ruleREALLiteral= ruleREALLiteral EOF ) - // InternalSolverLanguage.g:137:2: iv_ruleREALLiteral= ruleREALLiteral EOF - { - newCompositeNode(grammarAccess.getREALLiteralRule()); - pushFollow(FOLLOW_1); - iv_ruleREALLiteral=ruleREALLiteral(); + } + break; + case 6 : + // InternalSolverLanguage.g:162:4: this_MetricDefinition_5= ruleMetricDefinition + { + if ( state.backtracking==0 ) { - state._fsp--; + newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); + + } + pushFollow(FOLLOW_4); + this_MetricDefinition_5=ruleMetricDefinition(); - current =iv_ruleREALLiteral.getText(); - match(input,EOF,FOLLOW_2); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - } + current = this_MetricDefinition_5; + afterParserOrEnumRuleCall(); + + } - } + } + break; + case 7 : + // InternalSolverLanguage.g:171:4: this_ExternMetricDefinition_6= ruleExternMetricDefinition + { + if ( state.backtracking==0 ) { - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleREALLiteral" + newCompositeNode(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6()); + + } + pushFollow(FOLLOW_4); + this_ExternMetricDefinition_6=ruleExternMetricDefinition(); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - // $ANTLR start "ruleREALLiteral" - // InternalSolverLanguage.g:143:1: ruleREALLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) ; - public final AntlrDatatypeRuleToken ruleREALLiteral() throws RecognitionException { - AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + current = this_ExternMetricDefinition_6; + afterParserOrEnumRuleCall(); + + } - Token kw=null; - Token this_INT_1=null; - Token this_INT_3=null; + } + break; + case 8 : + // InternalSolverLanguage.g:180:4: this_ClassDefinition_7= ruleClassDefinition + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); + + } + pushFollow(FOLLOW_4); + this_ClassDefinition_7=ruleClassDefinition(); - enterRule(); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - try { - // InternalSolverLanguage.g:149:2: ( ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) ) - // InternalSolverLanguage.g:150:2: ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) - { - // InternalSolverLanguage.g:150:2: ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) - // InternalSolverLanguage.g:151:3: (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT - { - // InternalSolverLanguage.g:151:3: (kw= '-' )? - int alt3=2; - int LA3_0 = input.LA(1); + current = this_ClassDefinition_7; + afterParserOrEnumRuleCall(); + + } - if ( (LA3_0==11) ) { - alt3=1; - } - switch (alt3) { - case 1 : - // InternalSolverLanguage.g:152:4: kw= '-' + } + break; + case 9 : + // InternalSolverLanguage.g:189:4: this_ScopeDefinition_8= ruleScopeDefinition { - kw=(Token)match(input,11,FOLLOW_4); + if ( state.backtracking==0 ) { - current.merge(kw); - newLeafNode(kw, grammarAccess.getREALLiteralAccess().getHyphenMinusKeyword_0()); - + newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); + + } + pushFollow(FOLLOW_4); + this_ScopeDefinition_8=ruleScopeDefinition(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ScopeDefinition_8; + afterParserOrEnumRuleCall(); + + } } break; + case 10 : + // InternalSolverLanguage.g:198:4: this_ObjectiveDefinition_9= ruleObjectiveDefinition + { + if ( state.backtracking==0 ) { - } + newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); + + } + pushFollow(FOLLOW_4); + this_ObjectiveDefinition_9=ruleObjectiveDefinition(); - this_INT_1=(Token)match(input,RULE_INT,FOLLOW_5); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - current.merge(this_INT_1); - + current = this_ObjectiveDefinition_9; + afterParserOrEnumRuleCall(); + + } - newLeafNode(this_INT_1, grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_1()); - - kw=(Token)match(input,12,FOLLOW_4); + } + break; - current.merge(kw); - newLeafNode(kw, grammarAccess.getREALLiteralAccess().getFullStopKeyword_2()); - - this_INT_3=(Token)match(input,RULE_INT,FOLLOW_2); + } - current.merge(this_INT_3); - + this_DOT_10=(Token)match(input,RULE_DOT,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - newLeafNode(this_INT_3, grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_3()); - + newLeafNode(this_DOT_10, grammarAccess.getStatementAccess().getDOTTerminalRuleCall_1()); + + } } } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -451,29 +597,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleREALLiteral" + // $ANTLR end "ruleStatement" - // $ANTLR start "entryRuleINTLiteral" - // InternalSolverLanguage.g:181:1: entryRuleINTLiteral returns [String current=null] : iv_ruleINTLiteral= ruleINTLiteral EOF ; - public final String entryRuleINTLiteral() throws RecognitionException { - String current = null; + // $ANTLR start "entryRuleAssertionOrDefinition" + // InternalSolverLanguage.g:215:1: entryRuleAssertionOrDefinition returns [EObject current=null] : iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ; + public final EObject entryRuleAssertionOrDefinition() throws RecognitionException { + EObject current = null; - AntlrDatatypeRuleToken iv_ruleINTLiteral = null; + EObject iv_ruleAssertionOrDefinition = null; try { - // InternalSolverLanguage.g:181:50: (iv_ruleINTLiteral= ruleINTLiteral EOF ) - // InternalSolverLanguage.g:182:2: iv_ruleINTLiteral= ruleINTLiteral EOF + // InternalSolverLanguage.g:215:62: (iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ) + // InternalSolverLanguage.g:216:2: iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF { - newCompositeNode(grammarAccess.getINTLiteralRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAssertionOrDefinitionRule()); + } pushFollow(FOLLOW_1); - iv_ruleINTLiteral=ruleINTLiteral(); + iv_ruleAssertionOrDefinition=ruleAssertionOrDefinition(); state._fsp--; - - current =iv_ruleINTLiteral.getText(); - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleAssertionOrDefinition; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -487,191 +637,287 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleINTLiteral" + // $ANTLR end "entryRuleAssertionOrDefinition" - // $ANTLR start "ruleINTLiteral" - // InternalSolverLanguage.g:188:1: ruleINTLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT ) ; - public final AntlrDatatypeRuleToken ruleINTLiteral() throws RecognitionException { - AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + // $ANTLR start "ruleAssertionOrDefinition" + // 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 ) ) ) ) ) ; + public final EObject ruleAssertionOrDefinition() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + Token otherlv_5=null; + Token otherlv_8=null; + EObject this_Expression_0 = null; + + EObject lv_range_3_0 = null; + + EObject lv_body_6_0 = null; + + EObject lv_body_9_0 = null; - Token kw=null; - Token this_INT_1=null; enterRule(); try { - // InternalSolverLanguage.g:194:2: ( ( (kw= '-' )? this_INT_1= RULE_INT ) ) - // InternalSolverLanguage.g:195:2: ( (kw= '-' )? this_INT_1= RULE_INT ) + // 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 ) ) ) ) ) ) + // 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 ) ) ) ) ) { - // InternalSolverLanguage.g:195:2: ( (kw= '-' )? this_INT_1= RULE_INT ) - // InternalSolverLanguage.g:196:3: (kw= '-' )? this_INT_1= RULE_INT + // 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 ) ) ) ) ) + // 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 ) ) ) ) { - // InternalSolverLanguage.g:196:3: (kw= '-' )? - int alt4=2; - int LA4_0 = input.LA(1); + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_5); + this_Expression_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - if ( (LA4_0==11) ) { + current = this_Expression_0; + afterParserOrEnumRuleCall(); + + } + // 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 ) ) ) ) + int alt4=3; + switch ( input.LA(1) ) { + case EOF: + case RULE_DOT: + case 15: + { alt4=1; + } + break; + case 16: + { + alt4=2; + } + break; + case 17: + { + alt4=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 4, 0, input); + + throw nvae; } + switch (alt4) { case 1 : - // InternalSolverLanguage.g:197:4: kw= '-' + // InternalSolverLanguage.g:239:4: ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? ) { - kw=(Token)match(input,11,FOLLOW_4); - - current.merge(kw); - newLeafNode(kw, grammarAccess.getINTLiteralAccess().getHyphenMinusKeyword_0()); - + // InternalSolverLanguage.g:239:4: ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? ) + // InternalSolverLanguage.g:240:5: () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? + { + // InternalSolverLanguage.g:240:5: () + // InternalSolverLanguage.g:241:6: + { + if ( state.backtracking==0 ) { + current = forceCreateModelElementAndSet( + grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0(), + current); + } - break; - } + } - this_INT_1=(Token)match(input,RULE_INT,FOLLOW_2); + // InternalSolverLanguage.g:247:5: (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? + int alt3=2; + int LA3_0 = input.LA(1); - current.merge(this_INT_1); - + if ( (LA3_0==15) ) { + alt3=1; + } + switch (alt3) { + case 1 : + // InternalSolverLanguage.g:248:6: otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) + { + otherlv_2=(Token)match(input,15,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { - newLeafNode(this_INT_1, grammarAccess.getINTLiteralAccess().getINTTerminalRuleCall_1()); - + newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); + + } + // InternalSolverLanguage.g:252:6: ( (lv_range_3_0= ruleExpression ) ) + // InternalSolverLanguage.g:253:7: (lv_range_3_0= ruleExpression ) + { + // InternalSolverLanguage.g:253:7: (lv_range_3_0= ruleExpression ) + // InternalSolverLanguage.g:254:8: lv_range_3_0= ruleExpression + { + if ( state.backtracking==0 ) { - } + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); + + } + pushFollow(FOLLOW_2); + lv_range_3_0=ruleExpression(); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); + } + set( + current, + "range", + lv_range_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + } - } + } - leaveRule(); + } - } - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleINTLiteral" + } + break; + } - // $ANTLR start "entryRuleBooleanValue" - // InternalSolverLanguage.g:214:1: entryRuleBooleanValue returns [EObject current=null] : iv_ruleBooleanValue= ruleBooleanValue EOF ; - public final EObject entryRuleBooleanValue() throws RecognitionException { - EObject current = null; - EObject iv_ruleBooleanValue = null; + } - try { - // InternalSolverLanguage.g:214:53: (iv_ruleBooleanValue= ruleBooleanValue EOF ) - // InternalSolverLanguage.g:215:2: iv_ruleBooleanValue= ruleBooleanValue EOF - { - newCompositeNode(grammarAccess.getBooleanValueRule()); - pushFollow(FOLLOW_1); - iv_ruleBooleanValue=ruleBooleanValue(); + } + break; + case 2 : + // InternalSolverLanguage.g:274:4: ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) ) + { + // InternalSolverLanguage.g:274:4: ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) ) + // InternalSolverLanguage.g:275:5: () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) + { + // InternalSolverLanguage.g:275:5: () + // InternalSolverLanguage.g:276:6: + { + if ( state.backtracking==0 ) { - state._fsp--; + current = forceCreateModelElementAndSet( + grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0(), + current); + + } - current =iv_ruleBooleanValue; - match(input,EOF,FOLLOW_2); + } - } + otherlv_5=(Token)match(input,16,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { - } + newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); + + } + // InternalSolverLanguage.g:286:5: ( (lv_body_6_0= ruleExpression ) ) + // InternalSolverLanguage.g:287:6: (lv_body_6_0= ruleExpression ) + { + // InternalSolverLanguage.g:287:6: (lv_body_6_0= ruleExpression ) + // InternalSolverLanguage.g:288:7: lv_body_6_0= ruleExpression + { + if ( state.backtracking==0 ) { - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleBooleanValue" + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); + + } + pushFollow(FOLLOW_2); + lv_body_6_0=ruleExpression(); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); + } + set( + current, + "body", + lv_body_6_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + } - // $ANTLR start "ruleBooleanValue" - // InternalSolverLanguage.g:221:1: ruleBooleanValue returns [EObject current=null] : ( ( () otherlv_1= 'true' ) | (otherlv_2= 'false' () ) ) ; - public final EObject ruleBooleanValue() throws RecognitionException { - EObject current = null; + } - Token otherlv_1=null; - Token otherlv_2=null; + } - enterRule(); - try { - // InternalSolverLanguage.g:227:2: ( ( ( () otherlv_1= 'true' ) | (otherlv_2= 'false' () ) ) ) - // InternalSolverLanguage.g:228:2: ( ( () otherlv_1= 'true' ) | (otherlv_2= 'false' () ) ) - { - // InternalSolverLanguage.g:228:2: ( ( () otherlv_1= 'true' ) | (otherlv_2= 'false' () ) ) - int alt5=2; - int LA5_0 = input.LA(1); + } - if ( (LA5_0==13) ) { - alt5=1; - } - else if ( (LA5_0==14) ) { - alt5=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 5, 0, input); - throw nvae; - } - switch (alt5) { - case 1 : - // InternalSolverLanguage.g:229:3: ( () otherlv_1= 'true' ) + } + break; + case 3 : + // InternalSolverLanguage.g:307:4: ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) ) { - // InternalSolverLanguage.g:229:3: ( () otherlv_1= 'true' ) - // InternalSolverLanguage.g:230:4: () otherlv_1= 'true' + // InternalSolverLanguage.g:307:4: ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) ) + // InternalSolverLanguage.g:308:5: () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) { - // InternalSolverLanguage.g:230:4: () - // InternalSolverLanguage.g:231:5: + // InternalSolverLanguage.g:308:5: () + // InternalSolverLanguage.g:309:6: { + if ( state.backtracking==0 ) { - current = forceCreateModelElement( - grammarAccess.getBooleanValueAccess().getBooleanTrueAction_0_0(), - current); - - + current = forceCreateModelElementAndSet( + grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0(), + current); + } - otherlv_1=(Token)match(input,13,FOLLOW_2); - - newLeafNode(otherlv_1, grammarAccess.getBooleanValueAccess().getTrueKeyword_0_1()); - - } + otherlv_8=(Token)match(input,17,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); + } - break; - case 2 : - // InternalSolverLanguage.g:243:3: (otherlv_2= 'false' () ) + // InternalSolverLanguage.g:319:5: ( (lv_body_9_0= ruleExpression ) ) + // InternalSolverLanguage.g:320:6: (lv_body_9_0= ruleExpression ) { - // InternalSolverLanguage.g:243:3: (otherlv_2= 'false' () ) - // InternalSolverLanguage.g:244:4: otherlv_2= 'false' () + // InternalSolverLanguage.g:320:6: (lv_body_9_0= ruleExpression ) + // InternalSolverLanguage.g:321:7: lv_body_9_0= ruleExpression { - otherlv_2=(Token)match(input,14,FOLLOW_2); + if ( state.backtracking==0 ) { - newLeafNode(otherlv_2, grammarAccess.getBooleanValueAccess().getFalseKeyword_1_0()); - - // InternalSolverLanguage.g:248:4: () - // InternalSolverLanguage.g:249:5: - { + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); + + } + pushFollow(FOLLOW_2); + lv_body_9_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); + } + set( + current, + "body", + lv_body_9_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + } + + } - current = forceCreateModelElement( - grammarAccess.getBooleanValueAccess().getBooleanFalseAction_1_1(), - current); - } @@ -688,8 +934,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - leaveRule(); + } + + if ( state.backtracking==0 ) { + + leaveRule(); + } } catch (RecognitionException re) { @@ -700,29 +951,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleBooleanValue" + // $ANTLR end "ruleAssertionOrDefinition" - // $ANTLR start "entryRuleTruthValue" - // InternalSolverLanguage.g:260:1: entryRuleTruthValue returns [EObject current=null] : iv_ruleTruthValue= ruleTruthValue EOF ; - public final EObject entryRuleTruthValue() throws RecognitionException { + // $ANTLR start "entryRulePredicateDefinition" + // InternalSolverLanguage.g:344:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ; + public final EObject entryRulePredicateDefinition() throws RecognitionException { EObject current = null; - EObject iv_ruleTruthValue = null; + EObject iv_rulePredicateDefinition = null; try { - // InternalSolverLanguage.g:260:51: (iv_ruleTruthValue= ruleTruthValue EOF ) - // InternalSolverLanguage.g:261:2: iv_ruleTruthValue= ruleTruthValue EOF + // InternalSolverLanguage.g:344:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF ) + // InternalSolverLanguage.g:345:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF { - newCompositeNode(grammarAccess.getTruthValueRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPredicateDefinitionRule()); + } pushFollow(FOLLOW_1); - iv_ruleTruthValue=ruleTruthValue(); + iv_rulePredicateDefinition=rulePredicateDefinition(); state._fsp--; - - current =iv_ruleTruthValue; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePredicateDefinition; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -736,159 +991,196 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleTruthValue" + // $ANTLR end "entryRulePredicateDefinition" - // $ANTLR start "ruleTruthValue" - // InternalSolverLanguage.g:267:1: ruleTruthValue returns [EObject current=null] : ( ( () otherlv_1= 'true' ) | ( () otherlv_3= 'false' ) | ( () otherlv_5= 'unknown' ) | ( () otherlv_7= 'error' ) ) ; - public final EObject ruleTruthValue() throws RecognitionException { + // $ANTLR start "rulePredicateDefinition" + // 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 ) ) ) ; + public final EObject rulePredicateDefinition() throws RecognitionException { EObject current = null; - Token otherlv_1=null; - Token otherlv_3=null; + Token lv_functional_0_0=null; + Token lv_error_1_0=null; + Token lv_error_2_0=null; + Token lv_functional_3_0=null; Token otherlv_5=null; - Token otherlv_7=null; + EObject lv_head_4_0 = null; + + EObject lv_body_6_0 = null; + enterRule(); try { - // InternalSolverLanguage.g:273:2: ( ( ( () otherlv_1= 'true' ) | ( () otherlv_3= 'false' ) | ( () otherlv_5= 'unknown' ) | ( () otherlv_7= 'error' ) ) ) - // InternalSolverLanguage.g:274:2: ( ( () otherlv_1= 'true' ) | ( () otherlv_3= 'false' ) | ( () otherlv_5= 'unknown' ) | ( () otherlv_7= 'error' ) ) + // 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 ) ) ) ) + // 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 ) ) ) { - // InternalSolverLanguage.g:274:2: ( ( () otherlv_1= 'true' ) | ( () otherlv_3= 'false' ) | ( () otherlv_5= 'unknown' ) | ( () otherlv_7= 'error' ) ) - int alt6=4; - switch ( input.LA(1) ) { - case 13: - { - alt6=1; - } - break; - case 14: - { - alt6=2; - } - break; - case 15: - { - alt6=3; - } - break; - case 16: - { - alt6=4; - } - break; - default: + // 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 ) ) ) + // 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 ) ) + { + // InternalSolverLanguage.g:359:3: ( ( ( (lv_functional_0_0= 'functional' ) ) ( (lv_error_1_0= 'error' ) )? ) | ( ( (lv_error_2_0= 'error' ) ) ( (lv_functional_3_0= 'functional' ) )? ) ) + int alt7=2; + int LA7_0 = input.LA(1); + + if ( (LA7_0==18) ) { + alt7=1; + } + else if ( (LA7_0==19) ) { + alt7=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 6, 0, input); + new NoViableAltException("", 7, 0, input); throw nvae; } - - switch (alt6) { + switch (alt7) { case 1 : - // InternalSolverLanguage.g:275:3: ( () otherlv_1= 'true' ) + // InternalSolverLanguage.g:360:4: ( ( (lv_functional_0_0= 'functional' ) ) ( (lv_error_1_0= 'error' ) )? ) + { + // InternalSolverLanguage.g:360:4: ( ( (lv_functional_0_0= 'functional' ) ) ( (lv_error_1_0= 'error' ) )? ) + // InternalSolverLanguage.g:361:5: ( (lv_functional_0_0= 'functional' ) ) ( (lv_error_1_0= 'error' ) )? { - // InternalSolverLanguage.g:275:3: ( () otherlv_1= 'true' ) - // InternalSolverLanguage.g:276:4: () otherlv_1= 'true' + // InternalSolverLanguage.g:361:5: ( (lv_functional_0_0= 'functional' ) ) + // InternalSolverLanguage.g:362:6: (lv_functional_0_0= 'functional' ) { - // InternalSolverLanguage.g:276:4: () - // InternalSolverLanguage.g:277:5: + // InternalSolverLanguage.g:362:6: (lv_functional_0_0= 'functional' ) + // InternalSolverLanguage.g:363:7: lv_functional_0_0= 'functional' { + lv_functional_0_0=(Token)match(input,18,FOLLOW_7); if (state.failed) return current; + if ( state.backtracking==0 ) { - current = forceCreateModelElement( - grammarAccess.getTruthValueAccess().getTrueAction_0_0(), - current); - + newLeafNode(lv_functional_0_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); + + } + if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElement(grammarAccess.getPredicateDefinitionRule()); + } + setWithLastConsumed(current, "functional", true, "functional"); + } - otherlv_1=(Token)match(input,13,FOLLOW_2); + } - newLeafNode(otherlv_1, grammarAccess.getTruthValueAccess().getTrueKeyword_0_1()); - } + // InternalSolverLanguage.g:375:5: ( (lv_error_1_0= 'error' ) )? + int alt5=2; + int LA5_0 = input.LA(1); + if ( (LA5_0==19) ) { + alt5=1; } - break; - case 2 : - // InternalSolverLanguage.g:289:3: ( () otherlv_3= 'false' ) - { - // InternalSolverLanguage.g:289:3: ( () otherlv_3= 'false' ) - // InternalSolverLanguage.g:290:4: () otherlv_3= 'false' - { - // InternalSolverLanguage.g:290:4: () - // InternalSolverLanguage.g:291:5: - { + switch (alt5) { + case 1 : + // InternalSolverLanguage.g:376:6: (lv_error_1_0= 'error' ) + { + // InternalSolverLanguage.g:376:6: (lv_error_1_0= 'error' ) + // InternalSolverLanguage.g:377:7: lv_error_1_0= 'error' + { + lv_error_1_0=(Token)match(input,19,FOLLOW_7); if (state.failed) return current; + if ( state.backtracking==0 ) { - current = forceCreateModelElement( - grammarAccess.getTruthValueAccess().getFalseAction_1_0(), - current); - + newLeafNode(lv_error_1_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); + + } + if ( state.backtracking==0 ) { - } + if (current==null) { + current = createModelElement(grammarAccess.getPredicateDefinitionRule()); + } + setWithLastConsumed(current, "error", true, "error"); + + } + + } + + + } + break; - otherlv_3=(Token)match(input,14,FOLLOW_2); + } - newLeafNode(otherlv_3, grammarAccess.getTruthValueAccess().getFalseKeyword_1_1()); - } } break; - case 3 : - // InternalSolverLanguage.g:303:3: ( () otherlv_5= 'unknown' ) + case 2 : + // InternalSolverLanguage.g:391:4: ( ( (lv_error_2_0= 'error' ) ) ( (lv_functional_3_0= 'functional' ) )? ) { - // InternalSolverLanguage.g:303:3: ( () otherlv_5= 'unknown' ) - // InternalSolverLanguage.g:304:4: () otherlv_5= 'unknown' + // InternalSolverLanguage.g:391:4: ( ( (lv_error_2_0= 'error' ) ) ( (lv_functional_3_0= 'functional' ) )? ) + // InternalSolverLanguage.g:392:5: ( (lv_error_2_0= 'error' ) ) ( (lv_functional_3_0= 'functional' ) )? { - // InternalSolverLanguage.g:304:4: () - // InternalSolverLanguage.g:305:5: + // InternalSolverLanguage.g:392:5: ( (lv_error_2_0= 'error' ) ) + // InternalSolverLanguage.g:393:6: (lv_error_2_0= 'error' ) { + // InternalSolverLanguage.g:393:6: (lv_error_2_0= 'error' ) + // InternalSolverLanguage.g:394:7: lv_error_2_0= 'error' + { + lv_error_2_0=(Token)match(input,19,FOLLOW_8); if (state.failed) return current; + if ( state.backtracking==0 ) { - current = forceCreateModelElement( - grammarAccess.getTruthValueAccess().getUnknownAction_2_0(), - current); - + newLeafNode(lv_error_2_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); + + } + if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElement(grammarAccess.getPredicateDefinitionRule()); + } + setWithLastConsumed(current, "error", true, "error"); + } - otherlv_5=(Token)match(input,15,FOLLOW_2); + } - newLeafNode(otherlv_5, grammarAccess.getTruthValueAccess().getUnknownKeyword_2_1()); - } + // InternalSolverLanguage.g:406:5: ( (lv_functional_3_0= 'functional' ) )? + int alt6=2; + int LA6_0 = input.LA(1); + if ( (LA6_0==18) ) { + alt6=1; } - break; - case 4 : - // InternalSolverLanguage.g:317:3: ( () otherlv_7= 'error' ) - { - // InternalSolverLanguage.g:317:3: ( () otherlv_7= 'error' ) - // InternalSolverLanguage.g:318:4: () otherlv_7= 'error' - { - // InternalSolverLanguage.g:318:4: () - // InternalSolverLanguage.g:319:5: - { + switch (alt6) { + case 1 : + // InternalSolverLanguage.g:407:6: (lv_functional_3_0= 'functional' ) + { + // InternalSolverLanguage.g:407:6: (lv_functional_3_0= 'functional' ) + // InternalSolverLanguage.g:408:7: lv_functional_3_0= 'functional' + { + lv_functional_3_0=(Token)match(input,18,FOLLOW_7); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_functional_3_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); + + } + if ( state.backtracking==0 ) { - current = forceCreateModelElement( - grammarAccess.getTruthValueAccess().getErrorAction_3_0(), - current); - + if (current==null) { + current = createModelElement(grammarAccess.getPredicateDefinitionRule()); + } + setWithLastConsumed(current, "functional", true, "functional"); + + } - } + } - otherlv_7=(Token)match(input,16,FOLLOW_2); - newLeafNode(otherlv_7, grammarAccess.getTruthValueAccess().getErrorKeyword_3_1()); - + } + break; + + } + } @@ -898,12 +1190,93 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + // InternalSolverLanguage.g:422:3: ( (lv_head_4_0= ruleCall ) ) + // InternalSolverLanguage.g:423:4: (lv_head_4_0= ruleCall ) + { + // InternalSolverLanguage.g:423:4: (lv_head_4_0= ruleCall ) + // InternalSolverLanguage.g:424:5: lv_head_4_0= ruleCall + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_9); + lv_head_4_0=ruleCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); + } + set( + current, + "head", + lv_head_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_5=(Token)match(input,16,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); + + } + // InternalSolverLanguage.g:445:3: ( (lv_body_6_0= ruleExpression ) ) + // InternalSolverLanguage.g:446:4: (lv_body_6_0= ruleExpression ) + { + // InternalSolverLanguage.g:446:4: (lv_body_6_0= ruleExpression ) + // InternalSolverLanguage.g:447:5: lv_body_6_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_2); + lv_body_6_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); + } + set( + current, + "body", + lv_body_6_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + } - leaveRule(); + } + + if ( state.backtracking==0 ) { + leaveRule(); + + } } catch (RecognitionException re) { @@ -914,29 +1287,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleTruthValue" + // $ANTLR end "rulePredicateDefinition" - // $ANTLR start "entryRuleInterpretation" - // InternalSolverLanguage.g:334:1: entryRuleInterpretation returns [EObject current=null] : iv_ruleInterpretation= ruleInterpretation EOF ; - public final EObject entryRuleInterpretation() throws RecognitionException { + // $ANTLR start "entryRuleUnnamedErrorPrediateDefinition" + // InternalSolverLanguage.g:468:1: entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null] : iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ; + public final EObject entryRuleUnnamedErrorPrediateDefinition() throws RecognitionException { EObject current = null; - EObject iv_ruleInterpretation = null; + EObject iv_ruleUnnamedErrorPrediateDefinition = null; try { - // InternalSolverLanguage.g:334:55: (iv_ruleInterpretation= ruleInterpretation EOF ) - // InternalSolverLanguage.g:335:2: iv_ruleInterpretation= ruleInterpretation EOF + // InternalSolverLanguage.g:468:71: (iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ) + // InternalSolverLanguage.g:469:2: iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF { - newCompositeNode(grammarAccess.getInterpretationRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); + } pushFollow(FOLLOW_1); - iv_ruleInterpretation=ruleInterpretation(); + iv_ruleUnnamedErrorPrediateDefinition=ruleUnnamedErrorPrediateDefinition(); state._fsp--; - - current =iv_ruleInterpretation; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleUnnamedErrorPrediateDefinition; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -950,127 +1327,124 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleInterpretation" + // $ANTLR end "entryRuleUnnamedErrorPrediateDefinition" - // $ANTLR start "ruleInterpretation" - // InternalSolverLanguage.g:341:1: ruleInterpretation returns [EObject current=null] : (this_BasicInterpretation_0= ruleBasicInterpretation | this_DefaultInterpretation_1= ruleDefaultInterpretation | this_CDInterpretation_2= ruleCDInterpretation ) ; - public final EObject ruleInterpretation() throws RecognitionException { + // $ANTLR start "ruleUnnamedErrorPrediateDefinition" + // InternalSolverLanguage.g:475:1: ruleUnnamedErrorPrediateDefinition returns [EObject current=null] : (otherlv_0= 'error' ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ':-' ( (lv_body_3_0= ruleExpression ) ) ) ; + public final EObject ruleUnnamedErrorPrediateDefinition() throws RecognitionException { EObject current = null; - EObject this_BasicInterpretation_0 = null; - - EObject this_DefaultInterpretation_1 = null; + Token otherlv_0=null; + Token otherlv_2=null; + EObject lv_argumentList_1_0 = null; - EObject this_CDInterpretation_2 = null; + EObject lv_body_3_0 = null; enterRule(); try { - // InternalSolverLanguage.g:347:2: ( (this_BasicInterpretation_0= ruleBasicInterpretation | this_DefaultInterpretation_1= ruleDefaultInterpretation | this_CDInterpretation_2= ruleCDInterpretation ) ) - // InternalSolverLanguage.g:348:2: (this_BasicInterpretation_0= ruleBasicInterpretation | this_DefaultInterpretation_1= ruleDefaultInterpretation | this_CDInterpretation_2= ruleCDInterpretation ) + // InternalSolverLanguage.g:481:2: ( (otherlv_0= 'error' ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ':-' ( (lv_body_3_0= ruleExpression ) ) ) ) + // InternalSolverLanguage.g:482:2: (otherlv_0= 'error' ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ':-' ( (lv_body_3_0= ruleExpression ) ) ) { - // InternalSolverLanguage.g:348:2: (this_BasicInterpretation_0= ruleBasicInterpretation | this_DefaultInterpretation_1= ruleDefaultInterpretation | this_CDInterpretation_2= ruleCDInterpretation ) - int alt7=3; - switch ( input.LA(1) ) { - case RULE_ID: - case 21: - case 22: - case 23: - case 24: - case 25: - case 26: - { - alt7=1; - } - break; - case 32: - { - alt7=2; - } - break; - case 33: - case 34: - case 38: - case 39: - case 40: - { - alt7=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 7, 0, input); + // InternalSolverLanguage.g:482:2: (otherlv_0= 'error' ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ':-' ( (lv_body_3_0= ruleExpression ) ) ) + // InternalSolverLanguage.g:483:3: otherlv_0= 'error' ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ':-' ( (lv_body_3_0= ruleExpression ) ) + { + otherlv_0=(Token)match(input,19,FOLLOW_10); if (state.failed) return current; + if ( state.backtracking==0 ) { - throw nvae; + newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); + } + // InternalSolverLanguage.g:487:3: ( (lv_argumentList_1_0= ruleArgumentList ) ) + // InternalSolverLanguage.g:488:4: (lv_argumentList_1_0= ruleArgumentList ) + { + // InternalSolverLanguage.g:488:4: (lv_argumentList_1_0= ruleArgumentList ) + // InternalSolverLanguage.g:489:5: lv_argumentList_1_0= ruleArgumentList + { + if ( state.backtracking==0 ) { - switch (alt7) { - case 1 : - // InternalSolverLanguage.g:349:3: this_BasicInterpretation_0= ruleBasicInterpretation - { - - newCompositeNode(grammarAccess.getInterpretationAccess().getBasicInterpretationParserRuleCall_0()); - - pushFollow(FOLLOW_2); - this_BasicInterpretation_0=ruleBasicInterpretation(); + newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_9); + lv_argumentList_1_0=ruleArgumentList(); - state._fsp--; + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); + } + set( + current, + "argumentList", + lv_argumentList_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); + afterParserOrEnumRuleCall(); + + } - current = this_BasicInterpretation_0; - afterParserOrEnumRuleCall(); - + } - } - break; - case 2 : - // InternalSolverLanguage.g:358:3: this_DefaultInterpretation_1= ruleDefaultInterpretation - { - newCompositeNode(grammarAccess.getInterpretationAccess().getDefaultInterpretationParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_DefaultInterpretation_1=ruleDefaultInterpretation(); + } - state._fsp--; + otherlv_2=(Token)match(input,16,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); + + } + // InternalSolverLanguage.g:510:3: ( (lv_body_3_0= ruleExpression ) ) + // InternalSolverLanguage.g:511:4: (lv_body_3_0= ruleExpression ) + { + // InternalSolverLanguage.g:511:4: (lv_body_3_0= ruleExpression ) + // InternalSolverLanguage.g:512:5: lv_body_3_0= ruleExpression + { + if ( state.backtracking==0 ) { - current = this_DefaultInterpretation_1; - afterParserOrEnumRuleCall(); - + newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_2); + lv_body_3_0=ruleExpression(); - } - break; - case 3 : - // InternalSolverLanguage.g:367:3: this_CDInterpretation_2= ruleCDInterpretation - { + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getInterpretationAccess().getCDInterpretationParserRuleCall_2()); - - pushFollow(FOLLOW_2); - this_CDInterpretation_2=ruleCDInterpretation(); + if (current==null) { + current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); + } + set( + current, + "body", + lv_body_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + } - state._fsp--; + } - current = this_CDInterpretation_2; - afterParserOrEnumRuleCall(); - + } - } - break; } } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -1081,29 +1455,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleInterpretation" + // $ANTLR end "ruleUnnamedErrorPrediateDefinition" - // $ANTLR start "entryRuleBasicInterpretation" - // InternalSolverLanguage.g:379:1: entryRuleBasicInterpretation returns [EObject current=null] : iv_ruleBasicInterpretation= ruleBasicInterpretation EOF ; - public final EObject entryRuleBasicInterpretation() throws RecognitionException { + // $ANTLR start "entryRuleDefaultDefinition" + // InternalSolverLanguage.g:533:1: entryRuleDefaultDefinition returns [EObject current=null] : iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ; + public final EObject entryRuleDefaultDefinition() throws RecognitionException { EObject current = null; - EObject iv_ruleBasicInterpretation = null; + EObject iv_ruleDefaultDefinition = null; try { - // InternalSolverLanguage.g:379:60: (iv_ruleBasicInterpretation= ruleBasicInterpretation EOF ) - // InternalSolverLanguage.g:380:2: iv_ruleBasicInterpretation= ruleBasicInterpretation EOF + // InternalSolverLanguage.g:533:58: (iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ) + // InternalSolverLanguage.g:534:2: iv_ruleDefaultDefinition= ruleDefaultDefinition EOF { - newCompositeNode(grammarAccess.getBasicInterpretationRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getDefaultDefinitionRule()); + } pushFollow(FOLLOW_1); - iv_ruleBasicInterpretation=ruleBasicInterpretation(); + iv_ruleDefaultDefinition=ruleDefaultDefinition(); state._fsp--; - - current =iv_ruleBasicInterpretation; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleDefaultDefinition; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -1117,244 +1495,255 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleBasicInterpretation" + // $ANTLR end "entryRuleDefaultDefinition" - // $ANTLR start "ruleBasicInterpretation" - // 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 ) ) ) ; - public final EObject ruleBasicInterpretation() throws RecognitionException { + // $ANTLR start "ruleDefaultDefinition" + // InternalSolverLanguage.g:540:1: ruleDefaultDefinition returns [EObject current=null] : (otherlv_0= 'default' ( (lv_head_1_0= ruleCall ) ) otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) ) ; + public final EObject ruleDefaultDefinition() throws RecognitionException { EObject current = null; - Token otherlv_1=null; - Token otherlv_3=null; - Token otherlv_5=null; - Token otherlv_6=null; - EObject lv_symbol_0_0 = null; - - EObject lv_objects_2_0 = null; - - EObject lv_objects_4_0 = null; + Token otherlv_0=null; + Token otherlv_2=null; + EObject lv_head_1_0 = null; - EObject lv_value_7_0 = null; + EObject lv_range_3_0 = null; enterRule(); try { - // 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 ) ) ) ) - // 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 ) ) ) + // InternalSolverLanguage.g:546:2: ( (otherlv_0= 'default' ( (lv_head_1_0= ruleCall ) ) otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) ) ) + // InternalSolverLanguage.g:547:2: (otherlv_0= 'default' ( (lv_head_1_0= ruleCall ) ) otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) ) { - // 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 ) ) ) - // 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 ) ) + // InternalSolverLanguage.g:547:2: (otherlv_0= 'default' ( (lv_head_1_0= ruleCall ) ) otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) ) + // InternalSolverLanguage.g:548:3: otherlv_0= 'default' ( (lv_head_1_0= ruleCall ) ) otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) { - // InternalSolverLanguage.g:394:3: ( (lv_symbol_0_0= ruleSymbol ) ) - // InternalSolverLanguage.g:395:4: (lv_symbol_0_0= ruleSymbol ) + otherlv_0=(Token)match(input,20,FOLLOW_7); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); + + } + // InternalSolverLanguage.g:552:3: ( (lv_head_1_0= ruleCall ) ) + // InternalSolverLanguage.g:553:4: (lv_head_1_0= ruleCall ) { - // InternalSolverLanguage.g:395:4: (lv_symbol_0_0= ruleSymbol ) - // InternalSolverLanguage.g:396:5: lv_symbol_0_0= ruleSymbol + // InternalSolverLanguage.g:553:4: (lv_head_1_0= ruleCall ) + // InternalSolverLanguage.g:554:5: lv_head_1_0= ruleCall { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getBasicInterpretationAccess().getSymbolSymbolParserRuleCall_0_0()); - - pushFollow(FOLLOW_6); - lv_symbol_0_0=ruleSymbol(); + newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_11); + lv_head_1_0=ruleCall(); state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); - } - set( - current, - "symbol", - lv_symbol_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); - afterParserOrEnumRuleCall(); - + if (current==null) { + current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); + } + set( + current, + "head", + lv_head_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); + + } } } - // InternalSolverLanguage.g:413:3: (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? - int alt10=2; - int LA10_0 = input.LA(1); + otherlv_2=(Token)match(input,15,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { - if ( (LA10_0==17) ) { - alt10=1; + newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); + } - switch (alt10) { - case 1 : - // InternalSolverLanguage.g:414:4: otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' - { - otherlv_1=(Token)match(input,17,FOLLOW_7); + // InternalSolverLanguage.g:575:3: ( (lv_range_3_0= ruleExpression ) ) + // InternalSolverLanguage.g:576:4: (lv_range_3_0= ruleExpression ) + { + // InternalSolverLanguage.g:576:4: (lv_range_3_0= ruleExpression ) + // InternalSolverLanguage.g:577:5: lv_range_3_0= ruleExpression + { + if ( state.backtracking==0 ) { - newLeafNode(otherlv_1, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()); - - // InternalSolverLanguage.g:418:4: ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? - int alt9=2; - int LA9_0 = input.LA(1); + newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_2); + lv_range_3_0=ruleExpression(); - 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) ) { - alt9=1; - } - switch (alt9) { - case 1 : - // InternalSolverLanguage.g:419:5: ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* - { - // InternalSolverLanguage.g:419:5: ( (lv_objects_2_0= ruleComplexObject ) ) - // InternalSolverLanguage.g:420:6: (lv_objects_2_0= ruleComplexObject ) - { - // InternalSolverLanguage.g:420:6: (lv_objects_2_0= ruleComplexObject ) - // InternalSolverLanguage.g:421:7: lv_objects_2_0= ruleComplexObject - { + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0()); - - pushFollow(FOLLOW_8); - lv_objects_2_0=ruleComplexObject(); + if (current==null) { + current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); + } + set( + current, + "range", + lv_range_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + } - state._fsp--; + } - if (current==null) { - current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); - } - add( - current, - "objects", - lv_objects_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject"); - afterParserOrEnumRuleCall(); - + } - } + } - } - // InternalSolverLanguage.g:438:5: (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* - loop8: - do { - int alt8=2; - int LA8_0 = input.LA(1); + } - if ( (LA8_0==18) ) { - alt8=1; - } + if ( state.backtracking==0 ) { + leaveRule(); - switch (alt8) { - case 1 : - // InternalSolverLanguage.g:439:6: otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) - { - otherlv_3=(Token)match(input,18,FOLLOW_9); + } + } - newLeafNode(otherlv_3, grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0()); - - // InternalSolverLanguage.g:443:6: ( (lv_objects_4_0= ruleComplexObject ) ) - // InternalSolverLanguage.g:444:7: (lv_objects_4_0= ruleComplexObject ) - { - // InternalSolverLanguage.g:444:7: (lv_objects_4_0= ruleComplexObject ) - // InternalSolverLanguage.g:445:8: lv_objects_4_0= ruleComplexObject - { + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleDefaultDefinition" - newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0()); - - pushFollow(FOLLOW_8); - lv_objects_4_0=ruleComplexObject(); - state._fsp--; + // $ANTLR start "entryRuleExternPredicateDefinition" + // InternalSolverLanguage.g:598:1: entryRuleExternPredicateDefinition returns [EObject current=null] : iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ; + public final EObject entryRuleExternPredicateDefinition() throws RecognitionException { + EObject current = null; + EObject iv_ruleExternPredicateDefinition = null; - if (current==null) { - current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); - } - add( - current, - "objects", - lv_objects_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject"); - afterParserOrEnumRuleCall(); - - } + try { + // InternalSolverLanguage.g:598:66: (iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ) + // InternalSolverLanguage.g:599:2: iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleExternPredicateDefinition=ruleExternPredicateDefinition(); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleExternPredicateDefinition; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; - } + } + } - } - break; + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleExternPredicateDefinition" - default : - break loop8; - } - } while (true); + // $ANTLR start "ruleExternPredicateDefinition" + // InternalSolverLanguage.g:605:1: ruleExternPredicateDefinition returns [EObject current=null] : (otherlv_0= 'extern' ( (lv_head_1_0= ruleCall ) ) otherlv_2= '.' ) ; + public final EObject ruleExternPredicateDefinition() throws RecognitionException { + EObject current = null; - } - break; + Token otherlv_0=null; + Token otherlv_2=null; + EObject lv_head_1_0 = null; - } - otherlv_5=(Token)match(input,19,FOLLOW_10); - newLeafNode(otherlv_5, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2()); - + enterRule(); - } - break; + try { + // InternalSolverLanguage.g:611:2: ( (otherlv_0= 'extern' ( (lv_head_1_0= ruleCall ) ) otherlv_2= '.' ) ) + // InternalSolverLanguage.g:612:2: (otherlv_0= 'extern' ( (lv_head_1_0= ruleCall ) ) otherlv_2= '.' ) + { + // InternalSolverLanguage.g:612:2: (otherlv_0= 'extern' ( (lv_head_1_0= ruleCall ) ) otherlv_2= '.' ) + // InternalSolverLanguage.g:613:3: otherlv_0= 'extern' ( (lv_head_1_0= ruleCall ) ) otherlv_2= '.' + { + otherlv_0=(Token)match(input,21,FOLLOW_7); if (state.failed) return current; + if ( state.backtracking==0 ) { + newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); + } - - otherlv_6=(Token)match(input,20,FOLLOW_11); - - newLeafNode(otherlv_6, grammarAccess.getBasicInterpretationAccess().getColonKeyword_2()); - - // InternalSolverLanguage.g:473:3: ( (lv_value_7_0= ruleTruthValue ) ) - // InternalSolverLanguage.g:474:4: (lv_value_7_0= ruleTruthValue ) + // InternalSolverLanguage.g:617:3: ( (lv_head_1_0= ruleCall ) ) + // InternalSolverLanguage.g:618:4: (lv_head_1_0= ruleCall ) { - // InternalSolverLanguage.g:474:4: (lv_value_7_0= ruleTruthValue ) - // InternalSolverLanguage.g:475:5: lv_value_7_0= ruleTruthValue + // InternalSolverLanguage.g:618:4: (lv_head_1_0= ruleCall ) + // InternalSolverLanguage.g:619:5: lv_head_1_0= ruleCall { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0()); - - pushFollow(FOLLOW_2); - lv_value_7_0=ruleTruthValue(); + newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_12); + lv_head_1_0=ruleCall(); state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); - } - set( - current, - "value", - lv_value_7_0, - "org.eclipse.viatra.solver.language.SolverLanguage.TruthValue"); - afterParserOrEnumRuleCall(); - + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); + } + set( + current, + "head", + lv_head_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); + + } } } + otherlv_2=(Token)match(input,22,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getExternPredicateDefinitionAccess().getFullStopKeyword_2()); + + } } } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -1365,29 +1754,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleBasicInterpretation" + // $ANTLR end "ruleExternPredicateDefinition" - // $ANTLR start "entryRuleSymbol" - // InternalSolverLanguage.g:496:1: entryRuleSymbol returns [EObject current=null] : iv_ruleSymbol= ruleSymbol EOF ; - public final EObject entryRuleSymbol() throws RecognitionException { + // $ANTLR start "entryRuleMetricDefinition" + // InternalSolverLanguage.g:644:1: entryRuleMetricDefinition returns [EObject current=null] : iv_ruleMetricDefinition= ruleMetricDefinition EOF ; + public final EObject entryRuleMetricDefinition() throws RecognitionException { EObject current = null; - EObject iv_ruleSymbol = null; + EObject iv_ruleMetricDefinition = null; try { - // InternalSolverLanguage.g:496:47: (iv_ruleSymbol= ruleSymbol EOF ) - // InternalSolverLanguage.g:497:2: iv_ruleSymbol= ruleSymbol EOF + // InternalSolverLanguage.g:644:57: (iv_ruleMetricDefinition= ruleMetricDefinition EOF ) + // InternalSolverLanguage.g:645:2: iv_ruleMetricDefinition= ruleMetricDefinition EOF { - newCompositeNode(grammarAccess.getSymbolRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getMetricDefinitionRule()); + } pushFollow(FOLLOW_1); - iv_ruleSymbol=ruleSymbol(); + iv_ruleMetricDefinition=ruleMetricDefinition(); state._fsp--; - - current =iv_ruleSymbol; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleMetricDefinition; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -1401,121 +1794,154 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleSymbol" + // $ANTLR end "entryRuleMetricDefinition" - // $ANTLR start "ruleSymbol" - // InternalSolverLanguage.g:503:1: ruleSymbol returns [EObject current=null] : (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) ; - public final EObject ruleSymbol() throws RecognitionException { + // $ANTLR start "ruleMetricDefinition" + // 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 ) ) ) ; + public final EObject ruleMetricDefinition() throws RecognitionException { EObject current = null; - EObject this_ModelSymbol_0 = null; + Token otherlv_2=null; + Enumerator lv_type_0_0 = null; - EObject this_PartialitySymbol_1 = null; + EObject lv_head_1_0 = null; - EObject this_DataSymbol_2 = null; + EObject lv_body_3_0 = null; enterRule(); try { - // InternalSolverLanguage.g:509:2: ( (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) ) - // InternalSolverLanguage.g:510:2: (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) + // InternalSolverLanguage.g:657:2: ( ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= '=' ( (lv_body_3_0= ruleExpression ) ) ) ) + // InternalSolverLanguage.g:658:2: ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= '=' ( (lv_body_3_0= ruleExpression ) ) ) { - // InternalSolverLanguage.g:510:2: (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) - int alt11=3; - switch ( input.LA(1) ) { - case RULE_ID: - { - alt11=1; - } - break; - case 21: - case 22: - { - alt11=2; - } - break; - case 23: - case 24: - case 25: - case 26: - { - alt11=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 11, 0, input); + // InternalSolverLanguage.g:658:2: ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= '=' ( (lv_body_3_0= ruleExpression ) ) ) + // InternalSolverLanguage.g:659:3: ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= '=' ( (lv_body_3_0= ruleExpression ) ) + { + // InternalSolverLanguage.g:659:3: ( (lv_type_0_0= ruleMetricType ) ) + // InternalSolverLanguage.g:660:4: (lv_type_0_0= ruleMetricType ) + { + // InternalSolverLanguage.g:660:4: (lv_type_0_0= ruleMetricType ) + // InternalSolverLanguage.g:661:5: lv_type_0_0= ruleMetricType + { + if ( state.backtracking==0 ) { - throw nvae; + newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); + } + pushFollow(FOLLOW_6); + lv_type_0_0=ruleMetricType(); - switch (alt11) { - case 1 : - // InternalSolverLanguage.g:511:3: this_ModelSymbol_0= ruleModelSymbol - { + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0()); - - pushFollow(FOLLOW_2); - this_ModelSymbol_0=ruleModelSymbol(); + if (current==null) { + current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); + } + set( + current, + "type", + lv_type_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); + afterParserOrEnumRuleCall(); + + } - state._fsp--; + } - current = this_ModelSymbol_0; - afterParserOrEnumRuleCall(); - + } - } - break; - case 2 : - // InternalSolverLanguage.g:520:3: this_PartialitySymbol_1= rulePartialitySymbol - { + // InternalSolverLanguage.g:678:3: ( (lv_head_1_0= ruleExpression ) ) + // InternalSolverLanguage.g:679:4: (lv_head_1_0= ruleExpression ) + { + // InternalSolverLanguage.g:679:4: (lv_head_1_0= ruleExpression ) + // InternalSolverLanguage.g:680:5: lv_head_1_0= ruleExpression + { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_PartialitySymbol_1=rulePartialitySymbol(); + newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_13); + lv_head_1_0=ruleExpression(); - state._fsp--; + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); + } + set( + current, + "head", + lv_head_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + } - current = this_PartialitySymbol_1; - afterParserOrEnumRuleCall(); - + } - } - break; - case 3 : - // InternalSolverLanguage.g:529:3: this_DataSymbol_2= ruleDataSymbol - { - newCompositeNode(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2()); - - pushFollow(FOLLOW_2); - this_DataSymbol_2=ruleDataSymbol(); + } - state._fsp--; + otherlv_2=(Token)match(input,17,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); + + } + // InternalSolverLanguage.g:701:3: ( (lv_body_3_0= ruleExpression ) ) + // InternalSolverLanguage.g:702:4: (lv_body_3_0= ruleExpression ) + { + // InternalSolverLanguage.g:702:4: (lv_body_3_0= ruleExpression ) + // InternalSolverLanguage.g:703:5: lv_body_3_0= ruleExpression + { + if ( state.backtracking==0 ) { - current = this_DataSymbol_2; - afterParserOrEnumRuleCall(); - + newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_2); + lv_body_3_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); + } + set( + current, + "body", + lv_body_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } - } - break; } } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -1526,29 +1952,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleSymbol" + // $ANTLR end "ruleMetricDefinition" - // $ANTLR start "entryRuleModelSymbol" - // InternalSolverLanguage.g:541:1: entryRuleModelSymbol returns [EObject current=null] : iv_ruleModelSymbol= ruleModelSymbol EOF ; - public final EObject entryRuleModelSymbol() throws RecognitionException { + // $ANTLR start "entryRuleExternMetricDefinition" + // InternalSolverLanguage.g:724:1: entryRuleExternMetricDefinition returns [EObject current=null] : iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ; + public final EObject entryRuleExternMetricDefinition() throws RecognitionException { EObject current = null; - EObject iv_ruleModelSymbol = null; + EObject iv_ruleExternMetricDefinition = null; try { - // InternalSolverLanguage.g:541:52: (iv_ruleModelSymbol= ruleModelSymbol EOF ) - // InternalSolverLanguage.g:542:2: iv_ruleModelSymbol= ruleModelSymbol EOF + // InternalSolverLanguage.g:724:63: (iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ) + // InternalSolverLanguage.g:725:2: iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF { - newCompositeNode(grammarAccess.getModelSymbolRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); + } pushFollow(FOLLOW_1); - iv_ruleModelSymbol=ruleModelSymbol(); + iv_ruleExternMetricDefinition=ruleExternMetricDefinition(); state._fsp--; - - current =iv_ruleModelSymbol; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleExternMetricDefinition; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -1562,43 +1992,103 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleModelSymbol" + // $ANTLR end "entryRuleExternMetricDefinition" - // $ANTLR start "ruleModelSymbol" - // InternalSolverLanguage.g:548:1: ruleModelSymbol returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; - public final EObject ruleModelSymbol() throws RecognitionException { + // $ANTLR start "ruleExternMetricDefinition" + // InternalSolverLanguage.g:731:1: ruleExternMetricDefinition returns [EObject current=null] : (otherlv_0= 'extern' ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) ; + public final EObject ruleExternMetricDefinition() throws RecognitionException { EObject current = null; - Token lv_name_0_0=null; + Token otherlv_0=null; + Enumerator lv_type_1_0 = null; + + EObject lv_head_2_0 = null; + enterRule(); try { - // InternalSolverLanguage.g:554:2: ( ( (lv_name_0_0= RULE_ID ) ) ) - // InternalSolverLanguage.g:555:2: ( (lv_name_0_0= RULE_ID ) ) + // InternalSolverLanguage.g:737:2: ( (otherlv_0= 'extern' ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) ) + // InternalSolverLanguage.g:738:2: (otherlv_0= 'extern' ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) + { + // InternalSolverLanguage.g:738:2: (otherlv_0= 'extern' ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) + // InternalSolverLanguage.g:739:3: otherlv_0= 'extern' ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) + { + otherlv_0=(Token)match(input,21,FOLLOW_14); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); + + } + // InternalSolverLanguage.g:743:3: ( (lv_type_1_0= ruleMetricType ) ) + // InternalSolverLanguage.g:744:4: (lv_type_1_0= ruleMetricType ) + { + // InternalSolverLanguage.g:744:4: (lv_type_1_0= ruleMetricType ) + // InternalSolverLanguage.g:745:5: lv_type_1_0= ruleMetricType { - // InternalSolverLanguage.g:555:2: ( (lv_name_0_0= RULE_ID ) ) - // InternalSolverLanguage.g:556:3: (lv_name_0_0= RULE_ID ) + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); + + } + pushFollow(FOLLOW_7); + lv_type_1_0=ruleMetricType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + } + set( + current, + "type", + lv_type_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalSolverLanguage.g:762:3: ( (lv_head_2_0= ruleCall ) ) + // InternalSolverLanguage.g:763:4: (lv_head_2_0= ruleCall ) { - // InternalSolverLanguage.g:556:3: (lv_name_0_0= RULE_ID ) - // InternalSolverLanguage.g:557:4: lv_name_0_0= RULE_ID + // InternalSolverLanguage.g:763:4: (lv_head_2_0= ruleCall ) + // InternalSolverLanguage.g:764:5: lv_head_2_0= ruleCall { - lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2); + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_2); + lv_head_2_0=ruleCall(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + } + set( + current, + "head", + lv_head_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); + + } - newLeafNode(lv_name_0_0, grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0()); - + } - if (current==null) { - current = createModelElement(grammarAccess.getModelSymbolRule()); - } - setWithLastConsumed( - current, - "name", - lv_name_0_0, - "org.eclipse.xtext.common.Terminals.ID"); - } @@ -1608,9 +2098,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -1621,29 +2113,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleModelSymbol" + // $ANTLR end "ruleExternMetricDefinition" - // $ANTLR start "entryRulePartialitySymbol" - // InternalSolverLanguage.g:576:1: entryRulePartialitySymbol returns [EObject current=null] : iv_rulePartialitySymbol= rulePartialitySymbol EOF ; - public final EObject entryRulePartialitySymbol() throws RecognitionException { + // $ANTLR start "entryRuleExpression" + // InternalSolverLanguage.g:785:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ; + public final EObject entryRuleExpression() throws RecognitionException { EObject current = null; - EObject iv_rulePartialitySymbol = null; + EObject iv_ruleExpression = null; try { - // InternalSolverLanguage.g:576:57: (iv_rulePartialitySymbol= rulePartialitySymbol EOF ) - // InternalSolverLanguage.g:577:2: iv_rulePartialitySymbol= rulePartialitySymbol EOF + // InternalSolverLanguage.g:785:51: (iv_ruleExpression= ruleExpression EOF ) + // InternalSolverLanguage.g:786:2: iv_ruleExpression= ruleExpression EOF { - newCompositeNode(grammarAccess.getPartialitySymbolRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getExpressionRule()); + } pushFollow(FOLLOW_1); - iv_rulePartialitySymbol=rulePartialitySymbol(); + iv_ruleExpression=ruleExpression(); state._fsp--; - - current =iv_rulePartialitySymbol; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -1657,76 +2153,85 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRulePartialitySymbol" + // $ANTLR end "entryRuleExpression" - // $ANTLR start "rulePartialitySymbol" - // InternalSolverLanguage.g:583:1: rulePartialitySymbol returns [EObject current=null] : (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) ; - public final EObject rulePartialitySymbol() throws RecognitionException { + // $ANTLR start "ruleExpression" + // InternalSolverLanguage.g:792:1: ruleExpression returns [EObject current=null] : (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) ; + public final EObject ruleExpression() throws RecognitionException { EObject current = null; - EObject this_ExistSymbol_0 = null; + EObject this_IfElse_0 = null; - EObject this_EqualsSymbol_1 = null; + EObject this_DisjunctiveExpression_1 = null; enterRule(); try { - // InternalSolverLanguage.g:589:2: ( (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) ) - // InternalSolverLanguage.g:590:2: (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) + // InternalSolverLanguage.g:798:2: ( (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) ) + // InternalSolverLanguage.g:799:2: (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) { - // InternalSolverLanguage.g:590:2: (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) - int alt12=2; - int LA12_0 = input.LA(1); + // InternalSolverLanguage.g:799:2: (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) + int alt8=2; + int LA8_0 = input.LA(1); - if ( (LA12_0==21) ) { - alt12=1; + if ( (LA8_0==23) ) { + alt8=1; } - else if ( (LA12_0==22) ) { - alt12=2; + 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)) ) { + alt8=2; } else { + if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 12, 0, input); + new NoViableAltException("", 8, 0, input); throw nvae; } - switch (alt12) { + switch (alt8) { case 1 : - // InternalSolverLanguage.g:591:3: this_ExistSymbol_0= ruleExistSymbol + // InternalSolverLanguage.g:800:3: this_IfElse_0= ruleIfElse { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0()); - + newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); + + } pushFollow(FOLLOW_2); - this_ExistSymbol_0=ruleExistSymbol(); + this_IfElse_0=ruleIfElse(); state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - - current = this_ExistSymbol_0; - afterParserOrEnumRuleCall(); - + current = this_IfElse_0; + afterParserOrEnumRuleCall(); + + } } break; case 2 : - // InternalSolverLanguage.g:600:3: this_EqualsSymbol_1= ruleEqualsSymbol + // InternalSolverLanguage.g:809:3: this_DisjunctiveExpression_1= ruleDisjunctiveExpression { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1()); - + newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); + + } pushFollow(FOLLOW_2); - this_EqualsSymbol_1=ruleEqualsSymbol(); + this_DisjunctiveExpression_1=ruleDisjunctiveExpression(); state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - - current = this_EqualsSymbol_1; - afterParserOrEnumRuleCall(); - + current = this_DisjunctiveExpression_1; + afterParserOrEnumRuleCall(); + + } } break; @@ -1736,9 +2241,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -1749,29 +2256,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "rulePartialitySymbol" + // $ANTLR end "ruleExpression" - // $ANTLR start "entryRuleExistSymbol" - // InternalSolverLanguage.g:612:1: entryRuleExistSymbol returns [EObject current=null] : iv_ruleExistSymbol= ruleExistSymbol EOF ; - public final EObject entryRuleExistSymbol() throws RecognitionException { + // $ANTLR start "entryRuleIfElse" + // InternalSolverLanguage.g:821:1: entryRuleIfElse returns [EObject current=null] : iv_ruleIfElse= ruleIfElse EOF ; + public final EObject entryRuleIfElse() throws RecognitionException { EObject current = null; - EObject iv_ruleExistSymbol = null; + EObject iv_ruleIfElse = null; try { - // InternalSolverLanguage.g:612:52: (iv_ruleExistSymbol= ruleExistSymbol EOF ) - // InternalSolverLanguage.g:613:2: iv_ruleExistSymbol= ruleExistSymbol EOF + // InternalSolverLanguage.g:821:47: (iv_ruleIfElse= ruleIfElse EOF ) + // InternalSolverLanguage.g:822:2: iv_ruleIfElse= ruleIfElse EOF { - newCompositeNode(grammarAccess.getExistSymbolRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getIfElseRule()); + } pushFollow(FOLLOW_1); - iv_ruleExistSymbol=ruleExistSymbol(); + iv_ruleIfElse=ruleIfElse(); state._fsp--; - - current =iv_ruleExistSymbol; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleIfElse; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -1785,128 +2296,154 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleExistSymbol" + // $ANTLR end "entryRuleIfElse" - // $ANTLR start "ruleExistSymbol" - // InternalSolverLanguage.g:619:1: ruleExistSymbol returns [EObject current=null] : (otherlv_0= 'exists' () ) ; - public final EObject ruleExistSymbol() throws RecognitionException { + // $ANTLR start "ruleIfElse" + // 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 ) ) ) ; + public final EObject ruleIfElse() throws RecognitionException { EObject current = null; Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + EObject lv_condition_1_0 = null; + + EObject lv_then_3_0 = null; + + EObject lv_else_5_0 = null; + enterRule(); try { - // InternalSolverLanguage.g:625:2: ( (otherlv_0= 'exists' () ) ) - // InternalSolverLanguage.g:626:2: (otherlv_0= 'exists' () ) + // 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 ) ) ) ) + // 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 ) ) ) { - // InternalSolverLanguage.g:626:2: (otherlv_0= 'exists' () ) - // InternalSolverLanguage.g:627:3: otherlv_0= 'exists' () + // 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 ) ) ) + // 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 ) ) { - otherlv_0=(Token)match(input,21,FOLLOW_2); + otherlv_0=(Token)match(input,23,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { - newLeafNode(otherlv_0, grammarAccess.getExistSymbolAccess().getExistsKeyword_0()); - - // InternalSolverLanguage.g:631:3: () - // InternalSolverLanguage.g:632:4: + newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0()); + + } + // InternalSolverLanguage.g:840:3: ( (lv_condition_1_0= ruleExpression ) ) + // InternalSolverLanguage.g:841:4: (lv_condition_1_0= ruleExpression ) { + // InternalSolverLanguage.g:841:4: (lv_condition_1_0= ruleExpression ) + // InternalSolverLanguage.g:842:5: lv_condition_1_0= ruleExpression + { + if ( state.backtracking==0 ) { - current = forceCreateModelElement( - grammarAccess.getExistSymbolAccess().getExistSymbolAction_1(), - current); - - + newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_15); + lv_condition_1_0=ruleExpression(); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElementForParent(grammarAccess.getIfElseRule()); + } + set( + current, + "condition", + lv_condition_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } - } - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); } - finally { - } - return current; - } - // $ANTLR end "ruleExistSymbol" - - - // $ANTLR start "entryRuleEqualsSymbol" - // InternalSolverLanguage.g:642:1: entryRuleEqualsSymbol returns [EObject current=null] : iv_ruleEqualsSymbol= ruleEqualsSymbol EOF ; - public final EObject entryRuleEqualsSymbol() throws RecognitionException { - EObject current = null; - - EObject iv_ruleEqualsSymbol = null; + otherlv_2=(Token)match(input,24,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { - try { - // InternalSolverLanguage.g:642:53: (iv_ruleEqualsSymbol= ruleEqualsSymbol EOF ) - // InternalSolverLanguage.g:643:2: iv_ruleEqualsSymbol= ruleEqualsSymbol EOF + newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2()); + + } + // InternalSolverLanguage.g:863:3: ( (lv_then_3_0= ruleExpression ) ) + // InternalSolverLanguage.g:864:4: (lv_then_3_0= ruleExpression ) { - newCompositeNode(grammarAccess.getEqualsSymbolRule()); - pushFollow(FOLLOW_1); - iv_ruleEqualsSymbol=ruleEqualsSymbol(); + // InternalSolverLanguage.g:864:4: (lv_then_3_0= ruleExpression ) + // InternalSolverLanguage.g:865:5: lv_then_3_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_16); + lv_then_3_0=ruleExpression(); state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - current =iv_ruleEqualsSymbol; - match(input,EOF,FOLLOW_2); + if (current==null) { + current = createModelElementForParent(grammarAccess.getIfElseRule()); + } + set( + current, + "then", + lv_then_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + } } - } - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); } - finally { - } - return current; - } - // $ANTLR end "entryRuleEqualsSymbol" - - // $ANTLR start "ruleEqualsSymbol" - // InternalSolverLanguage.g:649:1: ruleEqualsSymbol returns [EObject current=null] : (otherlv_0= 'equals' () ) ; - public final EObject ruleEqualsSymbol() throws RecognitionException { - EObject current = null; + otherlv_4=(Token)match(input,25,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { - Token otherlv_0=null; + newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4()); + + } + // InternalSolverLanguage.g:886:3: ( (lv_else_5_0= ruleExpression ) ) + // InternalSolverLanguage.g:887:4: (lv_else_5_0= ruleExpression ) + { + // InternalSolverLanguage.g:887:4: (lv_else_5_0= ruleExpression ) + // InternalSolverLanguage.g:888:5: lv_else_5_0= ruleExpression + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); + + } + pushFollow(FOLLOW_2); + lv_else_5_0=ruleExpression(); - enterRule(); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - try { - // InternalSolverLanguage.g:655:2: ( (otherlv_0= 'equals' () ) ) - // InternalSolverLanguage.g:656:2: (otherlv_0= 'equals' () ) - { - // InternalSolverLanguage.g:656:2: (otherlv_0= 'equals' () ) - // InternalSolverLanguage.g:657:3: otherlv_0= 'equals' () - { - otherlv_0=(Token)match(input,22,FOLLOW_2); + if (current==null) { + current = createModelElementForParent(grammarAccess.getIfElseRule()); + } + set( + current, + "else", + lv_else_5_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + } - newLeafNode(otherlv_0, grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0()); - - // InternalSolverLanguage.g:661:3: () - // InternalSolverLanguage.g:662:4: - { + } - current = forceCreateModelElement( - grammarAccess.getEqualsSymbolAccess().getEqualsSymbolAction_1(), - current); - } @@ -1916,9 +2453,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -1929,29 +2468,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleEqualsSymbol" + // $ANTLR end "ruleIfElse" - // $ANTLR start "entryRuleDataSymbol" - // InternalSolverLanguage.g:672:1: entryRuleDataSymbol returns [EObject current=null] : iv_ruleDataSymbol= ruleDataSymbol EOF ; - public final EObject entryRuleDataSymbol() throws RecognitionException { + // $ANTLR start "entryRuleDisjunctiveExpression" + // InternalSolverLanguage.g:909:1: entryRuleDisjunctiveExpression returns [EObject current=null] : iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ; + public final EObject entryRuleDisjunctiveExpression() throws RecognitionException { EObject current = null; - EObject iv_ruleDataSymbol = null; + EObject iv_ruleDisjunctiveExpression = null; try { - // InternalSolverLanguage.g:672:51: (iv_ruleDataSymbol= ruleDataSymbol EOF ) - // InternalSolverLanguage.g:673:2: iv_ruleDataSymbol= ruleDataSymbol EOF + // InternalSolverLanguage.g:909:62: (iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ) + // InternalSolverLanguage.g:910:2: iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF { - newCompositeNode(grammarAccess.getDataSymbolRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); + } pushFollow(FOLLOW_1); - iv_ruleDataSymbol=ruleDataSymbol(); + iv_ruleDisjunctiveExpression=ruleDisjunctiveExpression(); state._fsp--; - - current =iv_ruleDataSymbol; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleDisjunctiveExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -1965,220 +2508,303 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleDataSymbol" + // $ANTLR end "entryRuleDisjunctiveExpression" - // $ANTLR start "ruleDataSymbol" - // 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 ) ; - public final EObject ruleDataSymbol() throws RecognitionException { + // $ANTLR start "ruleDisjunctiveExpression" + // 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 ) ) )* ) )? ) ; + public final EObject ruleDisjunctiveExpression() throws RecognitionException { EObject current = null; - EObject this_BooleanSymbol_0 = null; + Token otherlv_2=null; + Token otherlv_5=null; + Token otherlv_8=null; + EObject this_ConjunctiveExpression_0 = null; - EObject this_IntegerSymbol_1 = null; + EObject lv_children_3_0 = null; - EObject this_RealSymbol_2 = null; + EObject lv_body_6_0 = null; - EObject this_StringSymbol_3 = null; + EObject lv_cases_9_0 = null; enterRule(); try { - // InternalSolverLanguage.g:685:2: ( (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) ) - // InternalSolverLanguage.g:686:2: (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) + // 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 ) ) )* ) )? ) ) + // 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 ) ) )* ) )? ) { - // InternalSolverLanguage.g:686:2: (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) - int alt13=4; - switch ( input.LA(1) ) { - case 23: - { - alt13=1; - } - break; - case 24: - { - alt13=2; - } - break; - case 25: - { - alt13=3; - } - break; - case 26: - { - alt13=4; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 13, 0, input); + // 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 ) ) )* ) )? ) + // 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 ) ) )* ) )? + { + if ( state.backtracking==0 ) { - throw nvae; + newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_17); + this_ConjunctiveExpression_0=ruleConjunctiveExpression(); - switch (alt13) { + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ConjunctiveExpression_0; + afterParserOrEnumRuleCall(); + + } + // 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 ) ) )* ) )? + int alt11=3; + int LA11_0 = input.LA(1); + + if ( (LA11_0==26) ) { + alt11=1; + } + else if ( (LA11_0==27) ) { + alt11=2; + } + switch (alt11) { case 1 : - // InternalSolverLanguage.g:687:3: this_BooleanSymbol_0= ruleBooleanSymbol + // InternalSolverLanguage.g:933:4: ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) + { + // InternalSolverLanguage.g:933:4: ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) + // InternalSolverLanguage.g:934:5: () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ { + // InternalSolverLanguage.g:934:5: () + // InternalSolverLanguage.g:935:6: + { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0()); - - pushFollow(FOLLOW_2); - this_BooleanSymbol_0=ruleBooleanSymbol(); + current = forceCreateModelElementAndAdd( + grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0(), + current); + + } - state._fsp--; + } + // InternalSolverLanguage.g:941:5: (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ + int cnt9=0; + loop9: + do { + int alt9=2; + int LA9_0 = input.LA(1); - current = this_BooleanSymbol_0; - afterParserOrEnumRuleCall(); - + if ( (LA9_0==26) ) { + alt9=1; + } - } - break; - case 2 : - // InternalSolverLanguage.g:696:3: this_IntegerSymbol_1= ruleIntegerSymbol - { - newCompositeNode(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_IntegerSymbol_1=ruleIntegerSymbol(); + switch (alt9) { + case 1 : + // InternalSolverLanguage.g:942:6: otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) + { + otherlv_2=(Token)match(input,26,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { - state._fsp--; + newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); + + } + // InternalSolverLanguage.g:946:6: ( (lv_children_3_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguage.g:947:7: (lv_children_3_0= ruleConjunctiveExpression ) + { + // InternalSolverLanguage.g:947:7: (lv_children_3_0= ruleConjunctiveExpression ) + // InternalSolverLanguage.g:948:8: lv_children_3_0= ruleConjunctiveExpression + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); + + } + pushFollow(FOLLOW_18); + lv_children_3_0=ruleConjunctiveExpression(); - current = this_IntegerSymbol_1; - afterParserOrEnumRuleCall(); - + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); + } + add( + current, + "children", + lv_children_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); + afterParserOrEnumRuleCall(); + + } - } - break; - case 3 : - // InternalSolverLanguage.g:705:3: this_RealSymbol_2= ruleRealSymbol - { + } - newCompositeNode(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2()); - - pushFollow(FOLLOW_2); - this_RealSymbol_2=ruleRealSymbol(); - state._fsp--; + } + + + } + break; + + default : + if ( cnt9 >= 1 ) break loop9; + if (state.backtracking>0) {state.failed=true; return current;} + EarlyExitException eee = + new EarlyExitException(9, input); + throw eee; + } + cnt9++; + } while (true); - current = this_RealSymbol_2; - afterParserOrEnumRuleCall(); - + } + } break; - case 4 : - // InternalSolverLanguage.g:714:3: this_StringSymbol_3= ruleStringSymbol + case 2 : + // InternalSolverLanguage.g:968:4: ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* ) { + // InternalSolverLanguage.g:968:4: ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* ) + // InternalSolverLanguage.g:969:5: () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* + { + // InternalSolverLanguage.g:969:5: () + // InternalSolverLanguage.g:970:6: + { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3()); - - pushFollow(FOLLOW_2); - this_StringSymbol_3=ruleStringSymbol(); - - state._fsp--; + current = forceCreateModelElementAndSet( + grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0(), + current); + + } + } - current = this_StringSymbol_3; - afterParserOrEnumRuleCall(); - + otherlv_5=(Token)match(input,27,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); + } - break; + // InternalSolverLanguage.g:980:5: ( (lv_body_6_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguage.g:981:6: (lv_body_6_0= ruleConjunctiveExpression ) + { + // InternalSolverLanguage.g:981:6: (lv_body_6_0= ruleConjunctiveExpression ) + // InternalSolverLanguage.g:982:7: lv_body_6_0= ruleConjunctiveExpression + { + if ( state.backtracking==0 ) { - } + newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); + + } + pushFollow(FOLLOW_18); + lv_body_6_0=ruleConjunctiveExpression(); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); + } + set( + current, + "body", + lv_body_6_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); + afterParserOrEnumRuleCall(); + + } - } + } - leaveRule(); + } - } + // InternalSolverLanguage.g:999:5: () + // InternalSolverLanguage.g:1000:6: + { + if ( state.backtracking==0 ) { - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleDataSymbol" + current = forceCreateModelElementAndAdd( + grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3(), + current); + + } + } - // $ANTLR start "entryRuleBooleanSymbol" - // InternalSolverLanguage.g:726:1: entryRuleBooleanSymbol returns [EObject current=null] : iv_ruleBooleanSymbol= ruleBooleanSymbol EOF ; - public final EObject entryRuleBooleanSymbol() throws RecognitionException { - EObject current = null; + // InternalSolverLanguage.g:1006:5: (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* + loop10: + do { + int alt10=2; + int LA10_0 = input.LA(1); - EObject iv_ruleBooleanSymbol = null; + if ( (LA10_0==26) ) { + alt10=1; + } - try { - // InternalSolverLanguage.g:726:54: (iv_ruleBooleanSymbol= ruleBooleanSymbol EOF ) - // InternalSolverLanguage.g:727:2: iv_ruleBooleanSymbol= ruleBooleanSymbol EOF - { - newCompositeNode(grammarAccess.getBooleanSymbolRule()); - pushFollow(FOLLOW_1); - iv_ruleBooleanSymbol=ruleBooleanSymbol(); + switch (alt10) { + case 1 : + // InternalSolverLanguage.g:1007:6: otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) + { + otherlv_8=(Token)match(input,26,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { - state._fsp--; + newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); + + } + // InternalSolverLanguage.g:1011:6: ( (lv_cases_9_0= ruleCase ) ) + // InternalSolverLanguage.g:1012:7: (lv_cases_9_0= ruleCase ) + { + // InternalSolverLanguage.g:1012:7: (lv_cases_9_0= ruleCase ) + // InternalSolverLanguage.g:1013:8: lv_cases_9_0= ruleCase + { + if ( state.backtracking==0 ) { - current =iv_ruleBooleanSymbol; - match(input,EOF,FOLLOW_2); + newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); + + } + pushFollow(FOLLOW_18); + lv_cases_9_0=ruleCase(); - } + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); + } + add( + current, + "cases", + lv_cases_9_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Case"); + afterParserOrEnumRuleCall(); + + } - } + } - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleBooleanSymbol" + } - // $ANTLR start "ruleBooleanSymbol" - // InternalSolverLanguage.g:733:1: ruleBooleanSymbol returns [EObject current=null] : (otherlv_0= 'bool' () ) ; - public final EObject ruleBooleanSymbol() throws RecognitionException { - EObject current = null; - Token otherlv_0=null; + } + break; + default : + break loop10; + } + } while (true); - enterRule(); - try { - // InternalSolverLanguage.g:739:2: ( (otherlv_0= 'bool' () ) ) - // InternalSolverLanguage.g:740:2: (otherlv_0= 'bool' () ) - { - // InternalSolverLanguage.g:740:2: (otherlv_0= 'bool' () ) - // InternalSolverLanguage.g:741:3: otherlv_0= 'bool' () - { - otherlv_0=(Token)match(input,23,FOLLOW_2); + } - newLeafNode(otherlv_0, grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0()); - - // InternalSolverLanguage.g:745:3: () - // InternalSolverLanguage.g:746:4: - { - current = forceCreateModelElement( - grammarAccess.getBooleanSymbolAccess().getBooleanSymbolAction_1(), - current); - + } + break; } @@ -2188,9 +2814,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -2201,29 +2829,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleBooleanSymbol" + // $ANTLR end "ruleDisjunctiveExpression" - // $ANTLR start "entryRuleIntegerSymbol" - // InternalSolverLanguage.g:756:1: entryRuleIntegerSymbol returns [EObject current=null] : iv_ruleIntegerSymbol= ruleIntegerSymbol EOF ; - public final EObject entryRuleIntegerSymbol() throws RecognitionException { + // $ANTLR start "entryRuleCase" + // InternalSolverLanguage.g:1037:1: entryRuleCase returns [EObject current=null] : iv_ruleCase= ruleCase EOF ; + public final EObject entryRuleCase() throws RecognitionException { EObject current = null; - EObject iv_ruleIntegerSymbol = null; + EObject iv_ruleCase = null; try { - // InternalSolverLanguage.g:756:54: (iv_ruleIntegerSymbol= ruleIntegerSymbol EOF ) - // InternalSolverLanguage.g:757:2: iv_ruleIntegerSymbol= ruleIntegerSymbol EOF + // InternalSolverLanguage.g:1037:45: (iv_ruleCase= ruleCase EOF ) + // InternalSolverLanguage.g:1038:2: iv_ruleCase= ruleCase EOF { - newCompositeNode(grammarAccess.getIntegerSymbolRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getCaseRule()); + } pushFollow(FOLLOW_1); - iv_ruleIntegerSymbol=ruleIntegerSymbol(); + iv_ruleCase=ruleCase(); state._fsp--; - - current =iv_ruleIntegerSymbol; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleCase; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -2237,38 +2869,103 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleIntegerSymbol" + // $ANTLR end "entryRuleCase" - // $ANTLR start "ruleIntegerSymbol" - // InternalSolverLanguage.g:763:1: ruleIntegerSymbol returns [EObject current=null] : (otherlv_0= 'int' () ) ; - public final EObject ruleIntegerSymbol() throws RecognitionException { + // $ANTLR start "ruleCase" + // InternalSolverLanguage.g:1044:1: ruleCase returns [EObject current=null] : ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= '->' ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ; + public final EObject ruleCase() throws RecognitionException { EObject current = null; - Token otherlv_0=null; + Token otherlv_1=null; + EObject lv_condition_0_0 = null; + + EObject lv_body_2_0 = null; + enterRule(); try { - // InternalSolverLanguage.g:769:2: ( (otherlv_0= 'int' () ) ) - // InternalSolverLanguage.g:770:2: (otherlv_0= 'int' () ) + // InternalSolverLanguage.g:1050:2: ( ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= '->' ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ) + // InternalSolverLanguage.g:1051:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= '->' ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) + { + // InternalSolverLanguage.g:1051:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= '->' ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) + // InternalSolverLanguage.g:1052:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= '->' ( (lv_body_2_0= ruleConjunctiveExpression ) ) { - // InternalSolverLanguage.g:770:2: (otherlv_0= 'int' () ) - // InternalSolverLanguage.g:771:3: otherlv_0= 'int' () + // InternalSolverLanguage.g:1052:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguage.g:1053:4: (lv_condition_0_0= ruleConjunctiveExpression ) { - otherlv_0=(Token)match(input,24,FOLLOW_2); + // InternalSolverLanguage.g:1053:4: (lv_condition_0_0= ruleConjunctiveExpression ) + // InternalSolverLanguage.g:1054:5: lv_condition_0_0= ruleConjunctiveExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); + + } + pushFollow(FOLLOW_19); + lv_condition_0_0=ruleConjunctiveExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCaseRule()); + } + set( + current, + "condition", + lv_condition_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); + afterParserOrEnumRuleCall(); + + } + + } + - newLeafNode(otherlv_0, grammarAccess.getIntegerSymbolAccess().getIntKeyword_0()); - - // InternalSolverLanguage.g:775:3: () - // InternalSolverLanguage.g:776:4: + } + + otherlv_1=(Token)match(input,27,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); + + } + // InternalSolverLanguage.g:1075:3: ( (lv_body_2_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguage.g:1076:4: (lv_body_2_0= ruleConjunctiveExpression ) { + // InternalSolverLanguage.g:1076:4: (lv_body_2_0= ruleConjunctiveExpression ) + // InternalSolverLanguage.g:1077:5: lv_body_2_0= ruleConjunctiveExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_2); + lv_body_2_0=ruleConjunctiveExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCaseRule()); + } + set( + current, + "body", + lv_body_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); + afterParserOrEnumRuleCall(); + + } + + } - current = forceCreateModelElement( - grammarAccess.getIntegerSymbolAccess().getIntegerSymbolAction_1(), - current); - } @@ -2278,9 +2975,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -2291,29 +2990,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleIntegerSymbol" + // $ANTLR end "ruleCase" - // $ANTLR start "entryRuleRealSymbol" - // InternalSolverLanguage.g:786:1: entryRuleRealSymbol returns [EObject current=null] : iv_ruleRealSymbol= ruleRealSymbol EOF ; - public final EObject entryRuleRealSymbol() throws RecognitionException { + // $ANTLR start "entryRuleConjunctiveExpression" + // InternalSolverLanguage.g:1098:1: entryRuleConjunctiveExpression returns [EObject current=null] : iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ; + public final EObject entryRuleConjunctiveExpression() throws RecognitionException { EObject current = null; - EObject iv_ruleRealSymbol = null; + EObject iv_ruleConjunctiveExpression = null; try { - // InternalSolverLanguage.g:786:51: (iv_ruleRealSymbol= ruleRealSymbol EOF ) - // InternalSolverLanguage.g:787:2: iv_ruleRealSymbol= ruleRealSymbol EOF + // InternalSolverLanguage.g:1098:62: (iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ) + // InternalSolverLanguage.g:1099:2: iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF { - newCompositeNode(grammarAccess.getRealSymbolRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getConjunctiveExpressionRule()); + } pushFollow(FOLLOW_1); - iv_ruleRealSymbol=ruleRealSymbol(); + iv_ruleConjunctiveExpression=ruleConjunctiveExpression(); state._fsp--; - - current =iv_ruleRealSymbol; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleConjunctiveExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -2327,38 +3030,144 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleRealSymbol" + // $ANTLR end "entryRuleConjunctiveExpression" - // $ANTLR start "ruleRealSymbol" - // InternalSolverLanguage.g:793:1: ruleRealSymbol returns [EObject current=null] : (otherlv_0= 'real' () ) ; - public final EObject ruleRealSymbol() throws RecognitionException { + // $ANTLR start "ruleConjunctiveExpression" + // InternalSolverLanguage.g:1105:1: ruleConjunctiveExpression returns [EObject current=null] : (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ; + public final EObject ruleConjunctiveExpression() throws RecognitionException { EObject current = null; - Token otherlv_0=null; + Token otherlv_2=null; + EObject this_ComparisonExpression_0 = null; + + EObject lv_children_3_0 = null; + enterRule(); try { - // InternalSolverLanguage.g:799:2: ( (otherlv_0= 'real' () ) ) - // InternalSolverLanguage.g:800:2: (otherlv_0= 'real' () ) + // InternalSolverLanguage.g:1111:2: ( (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ) + // InternalSolverLanguage.g:1112:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) { - // InternalSolverLanguage.g:800:2: (otherlv_0= 'real' () ) - // InternalSolverLanguage.g:801:3: otherlv_0= 'real' () + // InternalSolverLanguage.g:1112:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) + // InternalSolverLanguage.g:1113:3: this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? { - otherlv_0=(Token)match(input,25,FOLLOW_2); + if ( state.backtracking==0 ) { - newLeafNode(otherlv_0, grammarAccess.getRealSymbolAccess().getRealKeyword_0()); - - // InternalSolverLanguage.g:805:3: () - // InternalSolverLanguage.g:806:4: - { + newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_20); + this_ComparisonExpression_0=ruleComparisonExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ComparisonExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalSolverLanguage.g:1121:3: ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? + int alt13=2; + int LA13_0 = input.LA(1); + + if ( (LA13_0==28) ) { + alt13=1; + } + switch (alt13) { + case 1 : + // InternalSolverLanguage.g:1122:4: () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ + { + // InternalSolverLanguage.g:1122:4: () + // InternalSolverLanguage.g:1123:5: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndAdd( + grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0(), + current); + + } + + } + + // InternalSolverLanguage.g:1129:4: (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ + int cnt12=0; + loop12: + do { + int alt12=2; + int LA12_0 = input.LA(1); + + if ( (LA12_0==28) ) { + alt12=1; + } - current = forceCreateModelElement( - grammarAccess.getRealSymbolAccess().getRealSymbolAction_1(), - current); - + + switch (alt12) { + case 1 : + // InternalSolverLanguage.g:1130:5: otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) + { + otherlv_2=(Token)match(input,28,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); + + } + // InternalSolverLanguage.g:1134:5: ( (lv_children_3_0= ruleComparisonExpression ) ) + // InternalSolverLanguage.g:1135:6: (lv_children_3_0= ruleComparisonExpression ) + { + // InternalSolverLanguage.g:1135:6: (lv_children_3_0= ruleComparisonExpression ) + // InternalSolverLanguage.g:1136:7: lv_children_3_0= ruleComparisonExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); + + } + pushFollow(FOLLOW_20); + lv_children_3_0=ruleComparisonExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getConjunctiveExpressionRule()); + } + add( + current, + "children", + lv_children_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + if ( cnt12 >= 1 ) break loop12; + if (state.backtracking>0) {state.failed=true; return current;} + EarlyExitException eee = + new EarlyExitException(12, input); + throw eee; + } + cnt12++; + } while (true); + + + } + break; } @@ -2368,9 +3177,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -2381,29 +3192,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleRealSymbol" + // $ANTLR end "ruleConjunctiveExpression" - // $ANTLR start "entryRuleStringSymbol" - // InternalSolverLanguage.g:816:1: entryRuleStringSymbol returns [EObject current=null] : iv_ruleStringSymbol= ruleStringSymbol EOF ; - public final EObject entryRuleStringSymbol() throws RecognitionException { + // $ANTLR start "entryRuleComparisonExpression" + // InternalSolverLanguage.g:1159:1: entryRuleComparisonExpression returns [EObject current=null] : iv_ruleComparisonExpression= ruleComparisonExpression EOF ; + public final EObject entryRuleComparisonExpression() throws RecognitionException { EObject current = null; - EObject iv_ruleStringSymbol = null; + EObject iv_ruleComparisonExpression = null; try { - // InternalSolverLanguage.g:816:53: (iv_ruleStringSymbol= ruleStringSymbol EOF ) - // InternalSolverLanguage.g:817:2: iv_ruleStringSymbol= ruleStringSymbol EOF + // InternalSolverLanguage.g:1159:61: (iv_ruleComparisonExpression= ruleComparisonExpression EOF ) + // InternalSolverLanguage.g:1160:2: iv_ruleComparisonExpression= ruleComparisonExpression EOF { - newCompositeNode(grammarAccess.getStringSymbolRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getComparisonExpressionRule()); + } pushFollow(FOLLOW_1); - iv_ruleStringSymbol=ruleStringSymbol(); + iv_ruleComparisonExpression=ruleComparisonExpression(); state._fsp--; - - current =iv_ruleStringSymbol; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleComparisonExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -2417,38 +3232,144 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleStringSymbol" + // $ANTLR end "entryRuleComparisonExpression" - // $ANTLR start "ruleStringSymbol" - // InternalSolverLanguage.g:823:1: ruleStringSymbol returns [EObject current=null] : (otherlv_0= 'string' () ) ; - public final EObject ruleStringSymbol() throws RecognitionException { + // $ANTLR start "ruleComparisonExpression" + // InternalSolverLanguage.g:1166:1: ruleComparisonExpression returns [EObject current=null] : (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ; + public final EObject ruleComparisonExpression() throws RecognitionException { EObject current = null; - Token otherlv_0=null; + EObject this_AdditiveExpression_0 = null; + + Enumerator lv_op_2_0 = null; + + EObject lv_right_3_0 = null; + enterRule(); try { - // InternalSolverLanguage.g:829:2: ( (otherlv_0= 'string' () ) ) - // InternalSolverLanguage.g:830:2: (otherlv_0= 'string' () ) + // InternalSolverLanguage.g:1172:2: ( (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ) + // InternalSolverLanguage.g:1173:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) { - // InternalSolverLanguage.g:830:2: (otherlv_0= 'string' () ) - // InternalSolverLanguage.g:831:3: otherlv_0= 'string' () + // InternalSolverLanguage.g:1173:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) + // InternalSolverLanguage.g:1174:3: this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? { - otherlv_0=(Token)match(input,26,FOLLOW_2); + if ( state.backtracking==0 ) { - newLeafNode(otherlv_0, grammarAccess.getStringSymbolAccess().getStringKeyword_0()); - - // InternalSolverLanguage.g:835:3: () - // InternalSolverLanguage.g:836:4: - { + newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_21); + this_AdditiveExpression_0=ruleAdditiveExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_AdditiveExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalSolverLanguage.g:1182:3: ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? + int alt14=2; + int LA14_0 = input.LA(1); + + if ( ((LA14_0>=47 && LA14_0<=49)||(LA14_0>=52 && LA14_0<=55)) ) { + alt14=1; + } + switch (alt14) { + case 1 : + // InternalSolverLanguage.g:1183:4: () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) + { + // InternalSolverLanguage.g:1183:4: () + // InternalSolverLanguage.g:1184:5: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0(), + current); + + } + + } + + // InternalSolverLanguage.g:1190:4: ( (lv_op_2_0= ruleComparisonOperator ) ) + // InternalSolverLanguage.g:1191:5: (lv_op_2_0= ruleComparisonOperator ) + { + // InternalSolverLanguage.g:1191:5: (lv_op_2_0= ruleComparisonOperator ) + // InternalSolverLanguage.g:1192:6: lv_op_2_0= ruleComparisonOperator + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_6); + lv_op_2_0=ruleComparisonOperator(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComparisonExpressionRule()); + } + set( + current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalSolverLanguage.g:1209:4: ( (lv_right_3_0= ruleAdditiveExpression ) ) + // InternalSolverLanguage.g:1210:5: (lv_right_3_0= ruleAdditiveExpression ) + { + // InternalSolverLanguage.g:1210:5: (lv_right_3_0= ruleAdditiveExpression ) + // InternalSolverLanguage.g:1211:6: lv_right_3_0= ruleAdditiveExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); + + } + pushFollow(FOLLOW_2); + lv_right_3_0=ruleAdditiveExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComparisonExpressionRule()); + } + set( + current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); + afterParserOrEnumRuleCall(); + + } + + } - current = forceCreateModelElement( - grammarAccess.getStringSymbolAccess().getStringSymbolAction_1(), - current); - + + } + + + } + break; } @@ -2458,9 +3379,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -2471,29 +3394,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleStringSymbol" + // $ANTLR end "ruleComparisonExpression" - // $ANTLR start "entryRuleComplexObject" - // InternalSolverLanguage.g:846:1: entryRuleComplexObject returns [EObject current=null] : iv_ruleComplexObject= ruleComplexObject EOF ; - public final EObject entryRuleComplexObject() throws RecognitionException { + // $ANTLR start "entryRuleAdditiveExpression" + // InternalSolverLanguage.g:1233:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ; + public final EObject entryRuleAdditiveExpression() throws RecognitionException { EObject current = null; - EObject iv_ruleComplexObject = null; + EObject iv_ruleAdditiveExpression = null; try { - // InternalSolverLanguage.g:846:54: (iv_ruleComplexObject= ruleComplexObject EOF ) - // InternalSolverLanguage.g:847:2: iv_ruleComplexObject= ruleComplexObject EOF + // InternalSolverLanguage.g:1233:59: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ) + // InternalSolverLanguage.g:1234:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF { - newCompositeNode(grammarAccess.getComplexObjectRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAdditiveExpressionRule()); + } pushFollow(FOLLOW_1); - iv_ruleComplexObject=ruleComplexObject(); + iv_ruleAdditiveExpression=ruleAdditiveExpression(); state._fsp--; - - current =iv_ruleComplexObject; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleAdditiveExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -2507,123 +3434,165 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleComplexObject" + // $ANTLR end "entryRuleAdditiveExpression" - // $ANTLR start "ruleComplexObject" - // InternalSolverLanguage.g:853:1: ruleComplexObject returns [EObject current=null] : (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) ; - public final EObject ruleComplexObject() throws RecognitionException { + // $ANTLR start "ruleAdditiveExpression" + // InternalSolverLanguage.g:1240:1: ruleAdditiveExpression returns [EObject current=null] : (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ; + public final EObject ruleAdditiveExpression() throws RecognitionException { EObject current = null; - EObject this_Object_0 = null; + EObject this_MultiplicativeExpression_0 = null; - EObject this_AllInstances_1 = null; + Enumerator lv_op_2_0 = null; - EObject this_AllObjects_2 = null; + EObject lv_right_3_0 = null; enterRule(); try { - // InternalSolverLanguage.g:859:2: ( (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) ) - // InternalSolverLanguage.g:860:2: (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) + // InternalSolverLanguage.g:1246:2: ( (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ) + // InternalSolverLanguage.g:1247:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) { - // InternalSolverLanguage.g:860:2: (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) - int alt14=3; - switch ( input.LA(1) ) { - case RULE_INT: - case RULE_ID: - case RULE_STRING: - case 11: - case 13: - case 14: - case 27: - { - alt14=1; - } - break; - case 20: - { - alt14=2; - } - break; - case 31: - { - alt14=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 14, 0, input); + // InternalSolverLanguage.g:1247:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) + // InternalSolverLanguage.g:1248:3: this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* + { + if ( state.backtracking==0 ) { - throw nvae; + newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_22); + this_MultiplicativeExpression_0=ruleMultiplicativeExpression(); - switch (alt14) { - case 1 : - // InternalSolverLanguage.g:861:3: this_Object_0= ruleObject - { + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0()); - - pushFollow(FOLLOW_2); - this_Object_0=ruleObject(); + current = this_MultiplicativeExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalSolverLanguage.g:1256:3: ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* + loop15: + do { + int alt15=2; + int LA15_0 = input.LA(1); - state._fsp--; + if ( ((LA15_0>=56 && LA15_0<=57)) ) { + alt15=1; + } - current = this_Object_0; - afterParserOrEnumRuleCall(); - + switch (alt15) { + case 1 : + // InternalSolverLanguage.g:1257:4: () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) + { + // InternalSolverLanguage.g:1257:4: () + // InternalSolverLanguage.g:1258:5: + { + if ( state.backtracking==0 ) { - } - break; - case 2 : - // InternalSolverLanguage.g:870:3: this_AllInstances_1= ruleAllInstances - { + current = forceCreateModelElementAndSet( + grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0(), + current); + + } - newCompositeNode(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_AllInstances_1=ruleAllInstances(); + } - state._fsp--; + // InternalSolverLanguage.g:1264:4: ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) + // InternalSolverLanguage.g:1265:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) + { + // InternalSolverLanguage.g:1265:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) + // InternalSolverLanguage.g:1266:6: lv_op_2_0= ruleAdditiveBinaryOperator + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_6); + lv_op_2_0=ruleAdditiveBinaryOperator(); - current = this_AllInstances_1; - afterParserOrEnumRuleCall(); - + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule()); + } + set( + current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveBinaryOperator"); + afterParserOrEnumRuleCall(); + + } - } - break; - case 3 : - // InternalSolverLanguage.g:879:3: this_AllObjects_2= ruleAllObjects - { + } - newCompositeNode(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2()); - - pushFollow(FOLLOW_2); - this_AllObjects_2=ruleAllObjects(); - state._fsp--; + } + + // InternalSolverLanguage.g:1283:4: ( (lv_right_3_0= ruleMultiplicativeExpression ) ) + // InternalSolverLanguage.g:1284:5: (lv_right_3_0= ruleMultiplicativeExpression ) + { + // InternalSolverLanguage.g:1284:5: (lv_right_3_0= ruleMultiplicativeExpression ) + // InternalSolverLanguage.g:1285:6: lv_right_3_0= ruleMultiplicativeExpression + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); + + } + pushFollow(FOLLOW_22); + lv_right_3_0=ruleMultiplicativeExpression(); - current = this_AllObjects_2; - afterParserOrEnumRuleCall(); - + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule()); + } + set( + current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop15; + } + } while (true); - } - break; } } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -2634,29 +3603,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleComplexObject" + // $ANTLR end "ruleAdditiveExpression" - // $ANTLR start "entryRuleObject" - // InternalSolverLanguage.g:891:1: entryRuleObject returns [EObject current=null] : iv_ruleObject= ruleObject EOF ; - public final EObject entryRuleObject() throws RecognitionException { + // $ANTLR start "entryRuleMultiplicativeExpression" + // InternalSolverLanguage.g:1307:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ; + public final EObject entryRuleMultiplicativeExpression() throws RecognitionException { EObject current = null; - EObject iv_ruleObject = null; + EObject iv_ruleMultiplicativeExpression = null; try { - // InternalSolverLanguage.g:891:47: (iv_ruleObject= ruleObject EOF ) - // InternalSolverLanguage.g:892:2: iv_ruleObject= ruleObject EOF + // InternalSolverLanguage.g:1307:65: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ) + // InternalSolverLanguage.g:1308:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF { - newCompositeNode(grammarAccess.getObjectRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getMultiplicativeExpressionRule()); + } pushFollow(FOLLOW_1); - iv_ruleObject=ruleObject(); + iv_ruleMultiplicativeExpression=ruleMultiplicativeExpression(); state._fsp--; - - current =iv_ruleObject; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleMultiplicativeExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -2670,121 +3643,165 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleObject" + // $ANTLR end "entryRuleMultiplicativeExpression" - // $ANTLR start "ruleObject" - // InternalSolverLanguage.g:898:1: ruleObject returns [EObject current=null] : (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) ; - public final EObject ruleObject() throws RecognitionException { + // $ANTLR start "ruleMultiplicativeExpression" + // InternalSolverLanguage.g:1314:1: ruleMultiplicativeExpression returns [EObject current=null] : (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ; + public final EObject ruleMultiplicativeExpression() throws RecognitionException { EObject current = null; - EObject this_NamedObject_0 = null; + EObject this_ExponentialExpression_0 = null; - EObject this_UnnamedObject_1 = null; + Enumerator lv_op_2_0 = null; - EObject this_DataObject_2 = null; + EObject lv_right_3_0 = null; enterRule(); try { - // InternalSolverLanguage.g:904:2: ( (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) ) - // InternalSolverLanguage.g:905:2: (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) + // InternalSolverLanguage.g:1320:2: ( (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ) + // InternalSolverLanguage.g:1321:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) { - // InternalSolverLanguage.g:905:2: (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) - int alt15=3; - switch ( input.LA(1) ) { - case 27: - { - alt15=1; - } - break; - case RULE_ID: - { - alt15=2; - } - break; - case RULE_INT: - case RULE_STRING: - case 11: - case 13: - case 14: - { - alt15=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 15, 0, input); + // InternalSolverLanguage.g:1321:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) + // InternalSolverLanguage.g:1322:3: this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* + { + if ( state.backtracking==0 ) { - throw nvae; + newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_23); + this_ExponentialExpression_0=ruleExponentialExpression(); - switch (alt15) { - case 1 : - // InternalSolverLanguage.g:906:3: this_NamedObject_0= ruleNamedObject - { + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0()); - - pushFollow(FOLLOW_2); - this_NamedObject_0=ruleNamedObject(); + current = this_ExponentialExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalSolverLanguage.g:1330:3: ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* + loop16: + do { + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0==35||LA16_0==58) ) { + alt16=1; + } - state._fsp--; + switch (alt16) { + case 1 : + // InternalSolverLanguage.g:1331:4: () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) + { + // InternalSolverLanguage.g:1331:4: () + // InternalSolverLanguage.g:1332:5: + { + if ( state.backtracking==0 ) { - current = this_NamedObject_0; - afterParserOrEnumRuleCall(); - + current = forceCreateModelElementAndSet( + grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0(), + current); + + } - } - break; - case 2 : - // InternalSolverLanguage.g:915:3: this_UnnamedObject_1= ruleUnnamedObject - { + } - newCompositeNode(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_UnnamedObject_1=ruleUnnamedObject(); + // InternalSolverLanguage.g:1338:4: ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) + // InternalSolverLanguage.g:1339:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) + { + // InternalSolverLanguage.g:1339:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) + // InternalSolverLanguage.g:1340:6: lv_op_2_0= ruleMultiplicativeBinaryOperator + { + if ( state.backtracking==0 ) { - state._fsp--; + newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_6); + lv_op_2_0=ruleMultiplicativeBinaryOperator(); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule()); + } + set( + current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeBinaryOperator"); + afterParserOrEnumRuleCall(); + + } - current = this_UnnamedObject_1; - afterParserOrEnumRuleCall(); - + } - } - break; - case 3 : - // InternalSolverLanguage.g:924:3: this_DataObject_2= ruleDataObject - { - newCompositeNode(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2()); - - pushFollow(FOLLOW_2); - this_DataObject_2=ruleDataObject(); + } - state._fsp--; + // InternalSolverLanguage.g:1357:4: ( (lv_right_3_0= ruleExponentialExpression ) ) + // InternalSolverLanguage.g:1358:5: (lv_right_3_0= ruleExponentialExpression ) + { + // InternalSolverLanguage.g:1358:5: (lv_right_3_0= ruleExponentialExpression ) + // InternalSolverLanguage.g:1359:6: lv_right_3_0= ruleExponentialExpression + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); + + } + pushFollow(FOLLOW_23); + lv_right_3_0=ruleExponentialExpression(); - current = this_DataObject_2; - afterParserOrEnumRuleCall(); - + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule()); + } + set( + current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop16; + } + } while (true); - } - break; } } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -2795,29 +3812,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleObject" + // $ANTLR end "ruleMultiplicativeExpression" - // $ANTLR start "entryRuleNamedObject" - // InternalSolverLanguage.g:936:1: entryRuleNamedObject returns [EObject current=null] : iv_ruleNamedObject= ruleNamedObject EOF ; - public final EObject entryRuleNamedObject() throws RecognitionException { + // $ANTLR start "entryRuleExponentialExpression" + // InternalSolverLanguage.g:1381:1: entryRuleExponentialExpression returns [EObject current=null] : iv_ruleExponentialExpression= ruleExponentialExpression EOF ; + public final EObject entryRuleExponentialExpression() throws RecognitionException { EObject current = null; - EObject iv_ruleNamedObject = null; + EObject iv_ruleExponentialExpression = null; try { - // InternalSolverLanguage.g:936:52: (iv_ruleNamedObject= ruleNamedObject EOF ) - // InternalSolverLanguage.g:937:2: iv_ruleNamedObject= ruleNamedObject EOF + // InternalSolverLanguage.g:1381:62: (iv_ruleExponentialExpression= ruleExponentialExpression EOF ) + // InternalSolverLanguage.g:1382:2: iv_ruleExponentialExpression= ruleExponentialExpression EOF { - newCompositeNode(grammarAccess.getNamedObjectRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getExponentialExpressionRule()); + } pushFollow(FOLLOW_1); - iv_ruleNamedObject=ruleNamedObject(); + iv_ruleExponentialExpression=ruleExponentialExpression(); state._fsp--; - - current =iv_ruleNamedObject; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleExponentialExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -2831,154 +3852,144 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleNamedObject" + // $ANTLR end "entryRuleExponentialExpression" - // $ANTLR start "ruleNamedObject" - // InternalSolverLanguage.g:943:1: ruleNamedObject returns [EObject current=null] : (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) ; - public final EObject ruleNamedObject() throws RecognitionException { + // $ANTLR start "ruleExponentialExpression" + // InternalSolverLanguage.g:1388:1: ruleExponentialExpression returns [EObject current=null] : (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) ; + public final EObject ruleExponentialExpression() throws RecognitionException { EObject current = null; - Token otherlv_0=null; - Token lv_name_1_0=null; - Token otherlv_2=null; + EObject this_UnaryExpression_0 = null; + + Enumerator lv_op_2_0 = null; + + EObject lv_right_3_0 = null; + enterRule(); try { - // InternalSolverLanguage.g:949:2: ( (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) ) - // InternalSolverLanguage.g:950:2: (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) - { - // InternalSolverLanguage.g:950:2: (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) - // InternalSolverLanguage.g:951:3: otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' - { - otherlv_0=(Token)match(input,27,FOLLOW_12); - - newLeafNode(otherlv_0, grammarAccess.getNamedObjectAccess().getApostropheKeyword_0()); - - // InternalSolverLanguage.g:955:3: ( (lv_name_1_0= RULE_ID ) ) - // InternalSolverLanguage.g:956:4: (lv_name_1_0= RULE_ID ) + // InternalSolverLanguage.g:1394:2: ( (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) ) + // InternalSolverLanguage.g:1395:2: (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) { - // InternalSolverLanguage.g:956:4: (lv_name_1_0= RULE_ID ) - // InternalSolverLanguage.g:957:5: lv_name_1_0= RULE_ID + // InternalSolverLanguage.g:1395:2: (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) + // InternalSolverLanguage.g:1396:3: this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? { - lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_13); - - newLeafNode(lv_name_1_0, grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getNamedObjectRule()); - } - setWithLastConsumed( - current, - "name", - lv_name_1_0, - "org.eclipse.xtext.common.Terminals.ID"); - - - } - - - } - - otherlv_2=(Token)match(input,27,FOLLOW_2); - - newLeafNode(otherlv_2, grammarAccess.getNamedObjectAccess().getApostropheKeyword_2()); - + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); + } + pushFollow(FOLLOW_24); + this_UnaryExpression_0=ruleUnaryExpression(); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current = this_UnaryExpression_0; + afterParserOrEnumRuleCall(); + } + // InternalSolverLanguage.g:1404:3: ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? + int alt17=2; + int LA17_0 = input.LA(1); - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); + if ( (LA17_0==59) ) { + alt17=1; } - finally { - } - return current; - } - // $ANTLR end "ruleNamedObject" - - - // $ANTLR start "entryRuleUnnamedObject" - // InternalSolverLanguage.g:981:1: entryRuleUnnamedObject returns [EObject current=null] : iv_ruleUnnamedObject= ruleUnnamedObject EOF ; - public final EObject entryRuleUnnamedObject() throws RecognitionException { - EObject current = null; + switch (alt17) { + case 1 : + // InternalSolverLanguage.g:1405:4: () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) + { + // InternalSolverLanguage.g:1405:4: () + // InternalSolverLanguage.g:1406:5: + { + if ( state.backtracking==0 ) { - EObject iv_ruleUnnamedObject = null; + current = forceCreateModelElementAndSet( + grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0(), + current); + + } + } - try { - // InternalSolverLanguage.g:981:54: (iv_ruleUnnamedObject= ruleUnnamedObject EOF ) - // InternalSolverLanguage.g:982:2: iv_ruleUnnamedObject= ruleUnnamedObject EOF - { - newCompositeNode(grammarAccess.getUnnamedObjectRule()); - pushFollow(FOLLOW_1); - iv_ruleUnnamedObject=ruleUnnamedObject(); + // InternalSolverLanguage.g:1412:4: ( (lv_op_2_0= ruleExponentialOp ) ) + // InternalSolverLanguage.g:1413:5: (lv_op_2_0= ruleExponentialOp ) + { + // InternalSolverLanguage.g:1413:5: (lv_op_2_0= ruleExponentialOp ) + // InternalSolverLanguage.g:1414:6: lv_op_2_0= ruleExponentialOp + { + if ( state.backtracking==0 ) { - state._fsp--; + newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_6); + lv_op_2_0=ruleExponentialOp(); - current =iv_ruleUnnamedObject; - match(input,EOF,FOLLOW_2); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExponentialExpressionRule()); + } + set( + current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialOp"); + afterParserOrEnumRuleCall(); + + } - } + } - } - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleUnnamedObject" + } + // InternalSolverLanguage.g:1431:4: ( (lv_right_3_0= ruleExponentialExpression ) ) + // InternalSolverLanguage.g:1432:5: (lv_right_3_0= ruleExponentialExpression ) + { + // InternalSolverLanguage.g:1432:5: (lv_right_3_0= ruleExponentialExpression ) + // InternalSolverLanguage.g:1433:6: lv_right_3_0= ruleExponentialExpression + { + if ( state.backtracking==0 ) { - // $ANTLR start "ruleUnnamedObject" - // InternalSolverLanguage.g:988:1: ruleUnnamedObject returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; - public final EObject ruleUnnamedObject() throws RecognitionException { - EObject current = null; + newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); + + } + pushFollow(FOLLOW_2); + lv_right_3_0=ruleExponentialExpression(); - Token lv_name_0_0=null; + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExponentialExpressionRule()); + } + set( + current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); + afterParserOrEnumRuleCall(); + + } + } - enterRule(); - try { - // InternalSolverLanguage.g:994:2: ( ( (lv_name_0_0= RULE_ID ) ) ) - // InternalSolverLanguage.g:995:2: ( (lv_name_0_0= RULE_ID ) ) - { - // InternalSolverLanguage.g:995:2: ( (lv_name_0_0= RULE_ID ) ) - // InternalSolverLanguage.g:996:3: (lv_name_0_0= RULE_ID ) - { - // InternalSolverLanguage.g:996:3: (lv_name_0_0= RULE_ID ) - // InternalSolverLanguage.g:997:4: lv_name_0_0= RULE_ID - { - lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2); + } - newLeafNode(lv_name_0_0, grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0()); - - if (current==null) { - current = createModelElement(grammarAccess.getUnnamedObjectRule()); - } - setWithLastConsumed( - current, - "name", - lv_name_0_0, - "org.eclipse.xtext.common.Terminals.ID"); - + } + break; } @@ -2988,9 +3999,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -3001,29 +4014,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleUnnamedObject" + // $ANTLR end "ruleExponentialExpression" - // $ANTLR start "entryRuleDataObject" - // InternalSolverLanguage.g:1016:1: entryRuleDataObject returns [EObject current=null] : iv_ruleDataObject= ruleDataObject EOF ; - public final EObject entryRuleDataObject() throws RecognitionException { + // $ANTLR start "entryRuleUnaryExpression" + // InternalSolverLanguage.g:1455:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ; + public final EObject entryRuleUnaryExpression() throws RecognitionException { EObject current = null; - EObject iv_ruleDataObject = null; + EObject iv_ruleUnaryExpression = null; try { - // InternalSolverLanguage.g:1016:51: (iv_ruleDataObject= ruleDataObject EOF ) - // InternalSolverLanguage.g:1017:2: iv_ruleDataObject= ruleDataObject EOF + // InternalSolverLanguage.g:1455:56: (iv_ruleUnaryExpression= ruleUnaryExpression EOF ) + // InternalSolverLanguage.g:1456:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF { - newCompositeNode(grammarAccess.getDataObjectRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getUnaryExpressionRule()); + } pushFollow(FOLLOW_1); - iv_ruleDataObject=ruleDataObject(); + iv_ruleUnaryExpression=ruleUnaryExpression(); state._fsp--; - - current =iv_ruleDataObject; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleUnaryExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -3037,167 +4054,160 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleDataObject" + // $ANTLR end "entryRuleUnaryExpression" - // $ANTLR start "ruleDataObject" - // 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 ) ; - public final EObject ruleDataObject() throws RecognitionException { + // $ANTLR start "ruleUnaryExpression" + // InternalSolverLanguage.g:1462:1: ruleUnaryExpression returns [EObject current=null] : (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ; + public final EObject ruleUnaryExpression() throws RecognitionException { EObject current = null; - EObject this_BooleanObject_0 = null; + EObject this_AggregationExpression_0 = null; - EObject this_IntObject_1 = null; + Enumerator lv_op_2_0 = null; - EObject this_RealObject_2 = null; - - EObject this_StringObject_3 = null; + EObject lv_body_3_0 = null; enterRule(); try { - // InternalSolverLanguage.g:1029:2: ( (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) ) - // InternalSolverLanguage.g:1030:2: (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) + // InternalSolverLanguage.g:1468:2: ( (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ) + // InternalSolverLanguage.g:1469:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) { - // InternalSolverLanguage.g:1030:2: (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) - int alt16=4; - switch ( input.LA(1) ) { - case 13: - case 14: - { - alt16=1; - } - break; - case 11: - { - int LA16_2 = input.LA(2); + // InternalSolverLanguage.g:1469:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) + int alt18=2; + int LA18_0 = input.LA(1); - if ( (LA16_2==RULE_INT) ) { - int LA16_3 = input.LA(3); + 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)) ) { + alt18=1; + } + else if ( ((LA18_0>=56 && LA18_0<=57)||(LA18_0>=60 && LA18_0<=63)) ) { + alt18=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 18, 0, input); + + throw nvae; + } + switch (alt18) { + case 1 : + // InternalSolverLanguage.g:1470:3: this_AggregationExpression_0= ruleAggregationExpression + { + if ( state.backtracking==0 ) { - if ( (LA16_3==12) ) { - alt16=3; + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); + } - else if ( (LA16_3==EOF||(LA16_3>=18 && LA16_3<=19)) ) { - alt16=2; + pushFollow(FOLLOW_2); + this_AggregationExpression_0=ruleAggregationExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_AggregationExpression_0; + afterParserOrEnumRuleCall(); + } - else { - NoViableAltException nvae = - new NoViableAltException("", 16, 3, input); - throw nvae; } - } - else { - NoViableAltException nvae = - new NoViableAltException("", 16, 2, input); + break; + case 2 : + // InternalSolverLanguage.g:1479:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) + { + // InternalSolverLanguage.g:1479:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) + // InternalSolverLanguage.g:1480:4: () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) + { + // InternalSolverLanguage.g:1480:4: () + // InternalSolverLanguage.g:1481:5: + { + if ( state.backtracking==0 ) { - throw nvae; - } - } - break; - case RULE_INT: - { - int LA16_3 = input.LA(2); - - if ( (LA16_3==12) ) { - alt16=3; - } - else if ( (LA16_3==EOF||(LA16_3>=18 && LA16_3<=19)) ) { - alt16=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 16, 3, input); - - throw nvae; - } - } - break; - case RULE_STRING: - { - alt16=4; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 16, 0, input); + current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0(), + current); + + } - throw nvae; - } + } - switch (alt16) { - case 1 : - // InternalSolverLanguage.g:1031:3: this_BooleanObject_0= ruleBooleanObject + // InternalSolverLanguage.g:1487:4: ( (lv_op_2_0= ruleUnaryOp ) ) + // InternalSolverLanguage.g:1488:5: (lv_op_2_0= ruleUnaryOp ) { - - newCompositeNode(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0()); - - pushFollow(FOLLOW_2); - this_BooleanObject_0=ruleBooleanObject(); - - state._fsp--; - - - current = this_BooleanObject_0; - afterParserOrEnumRuleCall(); - - - } - break; - case 2 : - // InternalSolverLanguage.g:1040:3: this_IntObject_1= ruleIntObject + // InternalSolverLanguage.g:1488:5: (lv_op_2_0= ruleUnaryOp ) + // InternalSolverLanguage.g:1489:6: lv_op_2_0= ruleUnaryOp { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_IntObject_1=ruleIntObject(); + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_25); + lv_op_2_0=ruleUnaryOp(); state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); + } + set( + current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp"); + afterParserOrEnumRuleCall(); + + } + } - current = this_IntObject_1; - afterParserOrEnumRuleCall(); - } - break; - case 3 : - // InternalSolverLanguage.g:1049:3: this_RealObject_2= ruleRealObject + + // InternalSolverLanguage.g:1506:4: ( (lv_body_3_0= ruleAggregationExpression ) ) + // InternalSolverLanguage.g:1507:5: (lv_body_3_0= ruleAggregationExpression ) { + // InternalSolverLanguage.g:1507:5: (lv_body_3_0= ruleAggregationExpression ) + // InternalSolverLanguage.g:1508:6: lv_body_3_0= ruleAggregationExpression + { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2()); - + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); + + } pushFollow(FOLLOW_2); - this_RealObject_2=ruleRealObject(); + lv_body_3_0=ruleAggregationExpression(); state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); + } + set( + current, + "body", + lv_body_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression"); + afterParserOrEnumRuleCall(); + + } + } - current = this_RealObject_2; - afterParserOrEnumRuleCall(); - } - break; - case 4 : - // InternalSolverLanguage.g:1058:3: this_StringObject_3= ruleStringObject - { - - newCompositeNode(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3()); - - pushFollow(FOLLOW_2); - this_StringObject_3=ruleStringObject(); - state._fsp--; + } - current = this_StringObject_3; - afterParserOrEnumRuleCall(); - } break; @@ -3207,9 +4217,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -3220,29 +4232,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleDataObject" + // $ANTLR end "ruleUnaryExpression" - // $ANTLR start "entryRuleBooleanObject" - // InternalSolverLanguage.g:1070:1: entryRuleBooleanObject returns [EObject current=null] : iv_ruleBooleanObject= ruleBooleanObject EOF ; - public final EObject entryRuleBooleanObject() throws RecognitionException { + // $ANTLR start "entryRuleAggregationExpression" + // InternalSolverLanguage.g:1530:1: entryRuleAggregationExpression returns [EObject current=null] : iv_ruleAggregationExpression= ruleAggregationExpression EOF ; + public final EObject entryRuleAggregationExpression() throws RecognitionException { EObject current = null; - EObject iv_ruleBooleanObject = null; + EObject iv_ruleAggregationExpression = null; try { - // InternalSolverLanguage.g:1070:54: (iv_ruleBooleanObject= ruleBooleanObject EOF ) - // InternalSolverLanguage.g:1071:2: iv_ruleBooleanObject= ruleBooleanObject EOF + // InternalSolverLanguage.g:1530:62: (iv_ruleAggregationExpression= ruleAggregationExpression EOF ) + // InternalSolverLanguage.g:1531:2: iv_ruleAggregationExpression= ruleAggregationExpression EOF { - newCompositeNode(grammarAccess.getBooleanObjectRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAggregationExpressionRule()); + } pushFollow(FOLLOW_1); - iv_ruleBooleanObject=ruleBooleanObject(); + iv_ruleAggregationExpression=ruleAggregationExpression(); state._fsp--; - - current =iv_ruleBooleanObject; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleAggregationExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -3256,61 +4272,148 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleBooleanObject" + // $ANTLR end "entryRuleAggregationExpression" - // $ANTLR start "ruleBooleanObject" - // InternalSolverLanguage.g:1077:1: ruleBooleanObject returns [EObject current=null] : ( (lv_value_0_0= ruleBooleanValue ) ) ; - public final EObject ruleBooleanObject() throws RecognitionException { + // $ANTLR start "ruleAggregationExpression" + // InternalSolverLanguage.g:1537:1: ruleAggregationExpression returns [EObject current=null] : (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) ; + public final EObject ruleAggregationExpression() throws RecognitionException { EObject current = null; - EObject lv_value_0_0 = null; + EObject this_AtomicExpression_0 = null; + + EObject this_Count_1 = null; + + EObject this_Aggregation_2 = null; enterRule(); try { - // InternalSolverLanguage.g:1083:2: ( ( (lv_value_0_0= ruleBooleanValue ) ) ) - // InternalSolverLanguage.g:1084:2: ( (lv_value_0_0= ruleBooleanValue ) ) - { - // InternalSolverLanguage.g:1084:2: ( (lv_value_0_0= ruleBooleanValue ) ) - // InternalSolverLanguage.g:1085:3: (lv_value_0_0= ruleBooleanValue ) - { - // InternalSolverLanguage.g:1085:3: (lv_value_0_0= ruleBooleanValue ) - // InternalSolverLanguage.g:1086:4: lv_value_0_0= ruleBooleanValue + // InternalSolverLanguage.g:1543:2: ( (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) ) + // InternalSolverLanguage.g:1544:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) { + // InternalSolverLanguage.g:1544:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) + int alt19=3; + switch ( input.LA(1) ) { + case RULE_STRING: + case RULE_ID: + case RULE_INT: + case RULE_QUOTED_ID: + case 19: + case 33: + case 36: + case 39: + case 40: + case 70: + case 71: + case 72: + { + alt19=1; + } + break; + case 29: + { + alt19=2; + } + break; + case 64: + case 65: + case 66: + case 67: + case 68: + case 69: + { + alt19=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 19, 0, input); - newCompositeNode(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0()); - - pushFollow(FOLLOW_2); - lv_value_0_0=ruleBooleanValue(); + throw nvae; + } - state._fsp--; + switch (alt19) { + case 1 : + // InternalSolverLanguage.g:1545:3: this_AtomicExpression_0= ruleAtomicExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_AtomicExpression_0=ruleAtomicExpression(); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getBooleanObjectRule()); - } - set( - current, - "value", - lv_value_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.BooleanValue"); - afterParserOrEnumRuleCall(); - + current = this_AtomicExpression_0; + afterParserOrEnumRuleCall(); + + } - } + } + break; + case 2 : + // InternalSolverLanguage.g:1554:3: this_Count_1= ruleCount + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_Count_1=ruleCount(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Count_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalSolverLanguage.g:1563:3: this_Aggregation_2= ruleAggregation + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); + + } + pushFollow(FOLLOW_2); + this_Aggregation_2=ruleAggregation(); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Aggregation_2; + afterParserOrEnumRuleCall(); + + } + + } + break; } } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -3321,29 +4424,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleBooleanObject" + // $ANTLR end "ruleAggregationExpression" - // $ANTLR start "entryRuleIntObject" - // InternalSolverLanguage.g:1106:1: entryRuleIntObject returns [EObject current=null] : iv_ruleIntObject= ruleIntObject EOF ; - public final EObject entryRuleIntObject() throws RecognitionException { + // $ANTLR start "entryRuleCount" + // InternalSolverLanguage.g:1575:1: entryRuleCount returns [EObject current=null] : iv_ruleCount= ruleCount EOF ; + public final EObject entryRuleCount() throws RecognitionException { EObject current = null; - EObject iv_ruleIntObject = null; + EObject iv_ruleCount = null; try { - // InternalSolverLanguage.g:1106:50: (iv_ruleIntObject= ruleIntObject EOF ) - // InternalSolverLanguage.g:1107:2: iv_ruleIntObject= ruleIntObject EOF + // InternalSolverLanguage.g:1575:46: (iv_ruleCount= ruleCount EOF ) + // InternalSolverLanguage.g:1576:2: iv_ruleCount= ruleCount EOF { - newCompositeNode(grammarAccess.getIntObjectRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getCountRule()); + } pushFollow(FOLLOW_1); - iv_ruleIntObject=ruleIntObject(); + iv_ruleCount=ruleCount(); state._fsp--; - - current =iv_ruleIntObject; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleCount; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -3357,61 +4464,94 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleIntObject" + // $ANTLR end "entryRuleCount" - // $ANTLR start "ruleIntObject" - // InternalSolverLanguage.g:1113:1: ruleIntObject returns [EObject current=null] : ( (lv_value_0_0= ruleINTLiteral ) ) ; - public final EObject ruleIntObject() throws RecognitionException { + // $ANTLR start "ruleCount" + // InternalSolverLanguage.g:1582:1: ruleCount returns [EObject current=null] : (otherlv_0= 'count' otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '}' ) ; + public final EObject ruleCount() throws RecognitionException { EObject current = null; - AntlrDatatypeRuleToken lv_value_0_0 = null; + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_3=null; + EObject lv_body_2_0 = null; enterRule(); try { - // InternalSolverLanguage.g:1119:2: ( ( (lv_value_0_0= ruleINTLiteral ) ) ) - // InternalSolverLanguage.g:1120:2: ( (lv_value_0_0= ruleINTLiteral ) ) + // InternalSolverLanguage.g:1588:2: ( (otherlv_0= 'count' otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '}' ) ) + // InternalSolverLanguage.g:1589:2: (otherlv_0= 'count' otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '}' ) { - // InternalSolverLanguage.g:1120:2: ( (lv_value_0_0= ruleINTLiteral ) ) - // InternalSolverLanguage.g:1121:3: (lv_value_0_0= ruleINTLiteral ) + // InternalSolverLanguage.g:1589:2: (otherlv_0= 'count' otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '}' ) + // InternalSolverLanguage.g:1590:3: otherlv_0= 'count' otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '}' + { + otherlv_0=(Token)match(input,29,FOLLOW_26); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0()); + + } + otherlv_1=(Token)match(input,30,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); + + } + // InternalSolverLanguage.g:1598:3: ( (lv_body_2_0= ruleExpression ) ) + // InternalSolverLanguage.g:1599:4: (lv_body_2_0= ruleExpression ) { - // InternalSolverLanguage.g:1121:3: (lv_value_0_0= ruleINTLiteral ) - // InternalSolverLanguage.g:1122:4: lv_value_0_0= ruleINTLiteral + // InternalSolverLanguage.g:1599:4: (lv_body_2_0= ruleExpression ) + // InternalSolverLanguage.g:1600:5: lv_body_2_0= ruleExpression { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0()); - - pushFollow(FOLLOW_2); - lv_value_0_0=ruleINTLiteral(); + newCompositeNode(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_27); + lv_body_2_0=ruleExpression(); state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCountRule()); + } + set( + current, + "body", + lv_body_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + } + } - if (current==null) { - current = createModelElementForParent(grammarAccess.getIntObjectRule()); - } - set( - current, - "value", - lv_value_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.INTLiteral"); - afterParserOrEnumRuleCall(); - } + otherlv_3=(Token)match(input,31,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); + + } } } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -3422,29 +4562,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleIntObject" + // $ANTLR end "ruleCount" - // $ANTLR start "entryRuleRealObject" - // InternalSolverLanguage.g:1142:1: entryRuleRealObject returns [EObject current=null] : iv_ruleRealObject= ruleRealObject EOF ; - public final EObject entryRuleRealObject() throws RecognitionException { + // $ANTLR start "entryRuleAggregation" + // InternalSolverLanguage.g:1625:1: entryRuleAggregation returns [EObject current=null] : iv_ruleAggregation= ruleAggregation EOF ; + public final EObject entryRuleAggregation() throws RecognitionException { EObject current = null; - EObject iv_ruleRealObject = null; + EObject iv_ruleAggregation = null; try { - // InternalSolverLanguage.g:1142:51: (iv_ruleRealObject= ruleRealObject EOF ) - // InternalSolverLanguage.g:1143:2: iv_ruleRealObject= ruleRealObject EOF + // InternalSolverLanguage.g:1625:52: (iv_ruleAggregation= ruleAggregation EOF ) + // InternalSolverLanguage.g:1626:2: iv_ruleAggregation= ruleAggregation EOF { - newCompositeNode(grammarAccess.getRealObjectRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAggregationRule()); + } pushFollow(FOLLOW_1); - iv_ruleRealObject=ruleRealObject(); + iv_ruleAggregation=ruleAggregation(); state._fsp--; - - current =iv_ruleRealObject; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleAggregation; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -3458,156 +4602,168 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleRealObject" + // $ANTLR end "entryRuleAggregation" - // $ANTLR start "ruleRealObject" - // InternalSolverLanguage.g:1149:1: ruleRealObject returns [EObject current=null] : ( (lv_value_0_0= ruleREALLiteral ) ) ; - public final EObject ruleRealObject() throws RecognitionException { + // $ANTLR start "ruleAggregation" + // 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= '}' ) ; + public final EObject ruleAggregation() throws RecognitionException { EObject current = null; - AntlrDatatypeRuleToken lv_value_0_0 = null; + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Enumerator lv_op_0_0 = null; + + EObject lv_body_2_0 = null; + + EObject lv_condition_4_0 = null; enterRule(); try { - // InternalSolverLanguage.g:1155:2: ( ( (lv_value_0_0= ruleREALLiteral ) ) ) - // InternalSolverLanguage.g:1156:2: ( (lv_value_0_0= ruleREALLiteral ) ) + // 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= '}' ) ) + // 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= '}' ) { - // InternalSolverLanguage.g:1156:2: ( (lv_value_0_0= ruleREALLiteral ) ) - // InternalSolverLanguage.g:1157:3: (lv_value_0_0= ruleREALLiteral ) + // 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= '}' ) + // 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= '}' { - // InternalSolverLanguage.g:1157:3: (lv_value_0_0= ruleREALLiteral ) - // InternalSolverLanguage.g:1158:4: lv_value_0_0= ruleREALLiteral + // InternalSolverLanguage.g:1640:3: ( (lv_op_0_0= ruleAggregationOp ) ) + // InternalSolverLanguage.g:1641:4: (lv_op_0_0= ruleAggregationOp ) { + // InternalSolverLanguage.g:1641:4: (lv_op_0_0= ruleAggregationOp ) + // InternalSolverLanguage.g:1642:5: lv_op_0_0= ruleAggregationOp + { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0()); - - pushFollow(FOLLOW_2); - lv_value_0_0=ruleREALLiteral(); + newCompositeNode(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); + + } + pushFollow(FOLLOW_26); + lv_op_0_0=ruleAggregationOp(); state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getRealObjectRule()); - } - set( - current, - "value", - lv_value_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.REALLiteral"); - afterParserOrEnumRuleCall(); - + if (current==null) { + current = createModelElementForParent(grammarAccess.getAggregationRule()); + } + set( + current, + "op", + lv_op_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp"); + afterParserOrEnumRuleCall(); + + } } } + otherlv_1=(Token)match(input,30,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); + } + // InternalSolverLanguage.g:1663:3: ( (lv_body_2_0= ruleExpression ) ) + // InternalSolverLanguage.g:1664:4: (lv_body_2_0= ruleExpression ) + { + // InternalSolverLanguage.g:1664:4: (lv_body_2_0= ruleExpression ) + // InternalSolverLanguage.g:1665:5: lv_body_2_0= ruleExpression + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_28); + lv_body_2_0=ruleExpression(); - leaveRule(); - - } + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); + if (current==null) { + current = createModelElementForParent(grammarAccess.getAggregationRule()); + } + set( + current, + "body", + lv_body_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } - finally { - } - return current; - } - // $ANTLR end "ruleRealObject" + } - // $ANTLR start "entryRuleStringObject" - // InternalSolverLanguage.g:1178:1: entryRuleStringObject returns [EObject current=null] : iv_ruleStringObject= ruleStringObject EOF ; - public final EObject entryRuleStringObject() throws RecognitionException { - EObject current = null; - EObject iv_ruleStringObject = null; + } + otherlv_3=(Token)match(input,32,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { - try { - // InternalSolverLanguage.g:1178:53: (iv_ruleStringObject= ruleStringObject EOF ) - // InternalSolverLanguage.g:1179:2: iv_ruleStringObject= ruleStringObject EOF + newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); + + } + // InternalSolverLanguage.g:1686:3: ( (lv_condition_4_0= ruleExpression ) ) + // InternalSolverLanguage.g:1687:4: (lv_condition_4_0= ruleExpression ) { - newCompositeNode(grammarAccess.getStringObjectRule()); - pushFollow(FOLLOW_1); - iv_ruleStringObject=ruleStringObject(); - - state._fsp--; - - current =iv_ruleStringObject; - match(input,EOF,FOLLOW_2); + // InternalSolverLanguage.g:1687:4: (lv_condition_4_0= ruleExpression ) + // InternalSolverLanguage.g:1688:5: lv_condition_4_0= ruleExpression + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); + } + pushFollow(FOLLOW_27); + lv_condition_4_0=ruleExpression(); - } + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); + if (current==null) { + current = createModelElementForParent(grammarAccess.getAggregationRule()); + } + set( + current, + "condition", + lv_condition_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } - finally { - } - return current; - } - // $ANTLR end "entryRuleStringObject" - - - // $ANTLR start "ruleStringObject" - // InternalSolverLanguage.g:1185:1: ruleStringObject returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; - public final EObject ruleStringObject() throws RecognitionException { - EObject current = null; - - Token lv_value_0_0=null; - - enterRule(); + } - try { - // InternalSolverLanguage.g:1191:2: ( ( (lv_value_0_0= RULE_STRING ) ) ) - // InternalSolverLanguage.g:1192:2: ( (lv_value_0_0= RULE_STRING ) ) - { - // InternalSolverLanguage.g:1192:2: ( (lv_value_0_0= RULE_STRING ) ) - // InternalSolverLanguage.g:1193:3: (lv_value_0_0= RULE_STRING ) - { - // InternalSolverLanguage.g:1193:3: (lv_value_0_0= RULE_STRING ) - // InternalSolverLanguage.g:1194:4: lv_value_0_0= RULE_STRING - { - lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); - newLeafNode(lv_value_0_0, grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0()); - + } - if (current==null) { - current = createModelElement(grammarAccess.getStringObjectRule()); - } - setWithLastConsumed( - current, - "value", - lv_value_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); - + otherlv_5=(Token)match(input,31,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); + } - } } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -3618,29 +4774,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleStringObject" + // $ANTLR end "ruleAggregation" - // $ANTLR start "entryRulePredicate" - // InternalSolverLanguage.g:1213:1: entryRulePredicate returns [EObject current=null] : iv_rulePredicate= rulePredicate EOF ; - public final EObject entryRulePredicate() throws RecognitionException { + // $ANTLR start "entryRuleAtomicExpression" + // InternalSolverLanguage.g:1713:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ; + public final EObject entryRuleAtomicExpression() throws RecognitionException { EObject current = null; - EObject iv_rulePredicate = null; + EObject iv_ruleAtomicExpression = null; try { - // InternalSolverLanguage.g:1213:50: (iv_rulePredicate= rulePredicate EOF ) - // InternalSolverLanguage.g:1214:2: iv_rulePredicate= rulePredicate EOF + // InternalSolverLanguage.g:1713:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF ) + // InternalSolverLanguage.g:1714:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF { - newCompositeNode(grammarAccess.getPredicateRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAtomicExpressionRule()); + } pushFollow(FOLLOW_1); - iv_rulePredicate=rulePredicate(); + iv_ruleAtomicExpression=ruleAtomicExpression(); state._fsp--; - - current =iv_rulePredicate; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleAtomicExpression; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -3654,366 +4814,245 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRulePredicate" + // $ANTLR end "entryRuleAtomicExpression" - // $ANTLR start "rulePredicate" - // 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= '.' ) ; - public final EObject rulePredicate() throws RecognitionException { + // $ANTLR start "ruleAtomicExpression" + // 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= ')' ) ) ; + public final EObject ruleAtomicExpression() throws RecognitionException { EObject current = null; - Token lv_isError_0_0=null; - Token otherlv_2=null; - Token otherlv_4=null; - Token otherlv_6=null; + Token otherlv_5=null; Token otherlv_7=null; - Token otherlv_8=null; - Token otherlv_10=null; - Token otherlv_12=null; - EObject lv_symbol_1_0 = null; + EObject this_Reference_0 = null; - EObject lv_parameters_3_0 = null; + EObject lv_argumentList_2_0 = null; - EObject lv_parameters_5_0 = null; + EObject this_Interval_3 = null; - EObject lv_bodies_9_0 = null; + EObject this_Literal_4 = null; - EObject lv_bodies_11_0 = null; + EObject this_Expression_6 = null; enterRule(); try { - // 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= '.' ) ) - // 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= '.' ) - { - // 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= '.' ) - // 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= '.' + // 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= ')' ) ) ) + // 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= ')' ) ) { - // InternalSolverLanguage.g:1228:3: ( (lv_isError_0_0= 'error' ) )? - int alt17=2; - int LA17_0 = input.LA(1); + // 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= ')' ) ) + int alt21=4; + switch ( input.LA(1) ) { + case RULE_ID: + case RULE_QUOTED_ID: + { + alt21=1; + } + break; + case 36: + { + alt21=2; + } + break; + case RULE_STRING: + case RULE_INT: + case 19: + case 39: + case 40: + case 70: + case 71: + case 72: + { + alt21=3; + } + break; + case 33: + { + alt21=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 21, 0, input); - if ( (LA17_0==16) ) { - alt17=1; + throw nvae; } - switch (alt17) { + + switch (alt21) { case 1 : - // InternalSolverLanguage.g:1229:4: (lv_isError_0_0= 'error' ) + // InternalSolverLanguage.g:1728:3: (this_Reference_0= ruleReference ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? ) { - // InternalSolverLanguage.g:1229:4: (lv_isError_0_0= 'error' ) - // InternalSolverLanguage.g:1230:5: lv_isError_0_0= 'error' + // InternalSolverLanguage.g:1728:3: (this_Reference_0= ruleReference ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? ) + // InternalSolverLanguage.g:1729:4: this_Reference_0= ruleReference ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? { - lv_isError_0_0=(Token)match(input,16,FOLLOW_12); + if ( state.backtracking==0 ) { - newLeafNode(lv_isError_0_0, grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); - + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0_0()); + + } + pushFollow(FOLLOW_29); + this_Reference_0=ruleReference(); - if (current==null) { - current = createModelElement(grammarAccess.getPredicateRule()); - } - setWithLastConsumed(current, "isError", true, "error"); - + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current = this_Reference_0; + afterParserOrEnumRuleCall(); + } + // InternalSolverLanguage.g:1737:4: ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? + int alt20=2; + int LA20_0 = input.LA(1); - + if ( (LA20_0==33) ) { + alt20=1; } - break; + switch (alt20) { + case 1 : + // InternalSolverLanguage.g:1738:5: () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) + { + // InternalSolverLanguage.g:1738:5: () + // InternalSolverLanguage.g:1739:6: + { + if ( state.backtracking==0 ) { - } + current = forceCreateModelElementAndSet( + grammarAccess.getAtomicExpressionAccess().getCallFunctorAction_0_1_0(), + current); + + } - // InternalSolverLanguage.g:1242:3: ( (lv_symbol_1_0= ruleModelSymbol ) ) - // InternalSolverLanguage.g:1243:4: (lv_symbol_1_0= ruleModelSymbol ) - { - // InternalSolverLanguage.g:1243:4: (lv_symbol_1_0= ruleModelSymbol ) - // InternalSolverLanguage.g:1244:5: lv_symbol_1_0= ruleModelSymbol - { + } - newCompositeNode(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0()); - - pushFollow(FOLLOW_14); - lv_symbol_1_0=ruleModelSymbol(); + // InternalSolverLanguage.g:1745:5: ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) + // InternalSolverLanguage.g:1746:6: ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) + { + // InternalSolverLanguage.g:1747:6: (lv_argumentList_2_0= ruleArgumentList ) + // InternalSolverLanguage.g:1748:7: lv_argumentList_2_0= ruleArgumentList + { + if ( state.backtracking==0 ) { - state._fsp--; + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getArgumentListArgumentListParserRuleCall_0_1_1_0()); + + } + pushFollow(FOLLOW_2); + lv_argumentList_2_0=ruleArgumentList(); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAtomicExpressionRule()); + } + set( + current, + "argumentList", + lv_argumentList_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); + afterParserOrEnumRuleCall(); + + } - if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateRule()); - } - set( - current, - "symbol", - lv_symbol_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); - afterParserOrEnumRuleCall(); - - - } - - - } - - // InternalSolverLanguage.g:1261:3: (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? - int alt20=2; - int LA20_0 = input.LA(1); - - if ( (LA20_0==17) ) { - alt20=1; - } - switch (alt20) { - case 1 : - // InternalSolverLanguage.g:1262:4: otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' - { - otherlv_2=(Token)match(input,17,FOLLOW_15); - - newLeafNode(otherlv_2, grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()); - - // InternalSolverLanguage.g:1266:4: ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? - int alt19=2; - int LA19_0 = input.LA(1); - - if ( (LA19_0==RULE_ID) ) { - alt19=1; - } - switch (alt19) { - case 1 : - // InternalSolverLanguage.g:1267:5: ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* - { - // InternalSolverLanguage.g:1267:5: ( (lv_parameters_3_0= ruleParameter ) ) - // InternalSolverLanguage.g:1268:6: (lv_parameters_3_0= ruleParameter ) - { - // InternalSolverLanguage.g:1268:6: (lv_parameters_3_0= ruleParameter ) - // InternalSolverLanguage.g:1269:7: lv_parameters_3_0= ruleParameter - { - - newCompositeNode(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0()); - - pushFollow(FOLLOW_8); - lv_parameters_3_0=ruleParameter(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateRule()); - } - add( - current, - "parameters", - lv_parameters_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); - afterParserOrEnumRuleCall(); - - - } + } } - // InternalSolverLanguage.g:1286:5: (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* - loop18: - do { - int alt18=2; - int LA18_0 = input.LA(1); - - if ( (LA18_0==18) ) { - alt18=1; - } - - - switch (alt18) { - case 1 : - // InternalSolverLanguage.g:1287:6: otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) - { - otherlv_4=(Token)match(input,18,FOLLOW_12); - - newLeafNode(otherlv_4, grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0()); - - // InternalSolverLanguage.g:1291:6: ( (lv_parameters_5_0= ruleParameter ) ) - // InternalSolverLanguage.g:1292:7: (lv_parameters_5_0= ruleParameter ) - { - // InternalSolverLanguage.g:1292:7: (lv_parameters_5_0= ruleParameter ) - // InternalSolverLanguage.g:1293:8: lv_parameters_5_0= ruleParameter - { - - newCompositeNode(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0()); - - pushFollow(FOLLOW_8); - lv_parameters_5_0=ruleParameter(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateRule()); - } - add( - current, - "parameters", - lv_parameters_5_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - break; - - default : - break loop18; - } - } while (true); - } break; } - otherlv_6=(Token)match(input,19,FOLLOW_16); - - newLeafNode(otherlv_6, grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2()); - } - break; - - } - - otherlv_7=(Token)match(input,28,FOLLOW_17); - - newLeafNode(otherlv_7, grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3()); - - // InternalSolverLanguage.g:1321:3: (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) - int alt22=2; - int LA22_0 = input.LA(1); - - if ( (LA22_0==14) ) { - alt22=1; - } - else if ( (LA22_0==EOF||LA22_0==RULE_ID||(LA22_0>=11 && LA22_0<=13)||(LA22_0>=29 && LA22_0<=31)) ) { - alt22=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 22, 0, input); - - throw nvae; - } - switch (alt22) { - case 1 : - // InternalSolverLanguage.g:1322:4: otherlv_8= 'false' - { - otherlv_8=(Token)match(input,14,FOLLOW_5); - newLeafNode(otherlv_8, grammarAccess.getPredicateAccess().getFalseKeyword_4_0()); - } break; case 2 : - // InternalSolverLanguage.g:1327:4: ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) - { - // InternalSolverLanguage.g:1327:4: ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) - // InternalSolverLanguage.g:1328:5: ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* - { - // InternalSolverLanguage.g:1328:5: ( (lv_bodies_9_0= rulePatternBody ) ) - // InternalSolverLanguage.g:1329:6: (lv_bodies_9_0= rulePatternBody ) - { - // InternalSolverLanguage.g:1329:6: (lv_bodies_9_0= rulePatternBody ) - // InternalSolverLanguage.g:1330:7: lv_bodies_9_0= rulePatternBody + // InternalSolverLanguage.g:1768:3: this_Interval_3= ruleInterval { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0()); - - pushFollow(FOLLOW_18); - lv_bodies_9_0=rulePatternBody(); + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_Interval_3=ruleInterval(); state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateRule()); - } - add( - current, - "bodies", - lv_bodies_9_0, - "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); - afterParserOrEnumRuleCall(); - - + current = this_Interval_3; + afterParserOrEnumRuleCall(); + } - } + break; + case 3 : + // InternalSolverLanguage.g:1777:3: this_Literal_4= ruleLiteral + { + if ( state.backtracking==0 ) { - // InternalSolverLanguage.g:1347:5: (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* - loop21: - do { - int alt21=2; - int LA21_0 = input.LA(1); - - if ( (LA21_0==29) ) { - alt21=1; - } - - - switch (alt21) { - case 1 : - // InternalSolverLanguage.g:1348:6: otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) - { - otherlv_10=(Token)match(input,29,FOLLOW_19); - - newLeafNode(otherlv_10, grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0()); - - // InternalSolverLanguage.g:1352:6: ( (lv_bodies_11_0= rulePatternBody ) ) - // InternalSolverLanguage.g:1353:7: (lv_bodies_11_0= rulePatternBody ) - { - // InternalSolverLanguage.g:1353:7: (lv_bodies_11_0= rulePatternBody ) - // InternalSolverLanguage.g:1354:8: lv_bodies_11_0= rulePatternBody - { - - newCompositeNode(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0()); - - pushFollow(FOLLOW_18); - lv_bodies_11_0=rulePatternBody(); - - state._fsp--; - + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_2()); + + } + pushFollow(FOLLOW_2); + this_Literal_4=ruleLiteral(); - if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateRule()); - } - add( - current, - "bodies", - lv_bodies_11_0, - "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); - afterParserOrEnumRuleCall(); - + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - } + current = this_Literal_4; + afterParserOrEnumRuleCall(); + + } + } + break; + case 4 : + // InternalSolverLanguage.g:1786:3: (otherlv_5= '(' this_Expression_6= ruleExpression otherlv_7= ')' ) + { + // InternalSolverLanguage.g:1786:3: (otherlv_5= '(' this_Expression_6= ruleExpression otherlv_7= ')' ) + // InternalSolverLanguage.g:1787:4: otherlv_5= '(' this_Expression_6= ruleExpression otherlv_7= ')' + { + otherlv_5=(Token)match(input,33,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { - } + newLeafNode(otherlv_5, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0()); + + } + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_3_1()); + + } + pushFollow(FOLLOW_30); + this_Expression_6=ruleExpression(); - } - break; + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - default : - break loop21; - } - } while (true); + current = this_Expression_6; + afterParserOrEnumRuleCall(); + + } + otherlv_7=(Token)match(input,34,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + newLeafNode(otherlv_7, grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_3_2()); + + } } @@ -4023,19 +5062,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_12=(Token)match(input,12,FOLLOW_2); - - newLeafNode(otherlv_12, grammarAccess.getPredicateAccess().getFullStopKeyword_5()); - - - } - } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -4046,29 +5080,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "rulePredicate" + // $ANTLR end "ruleAtomicExpression" - // $ANTLR start "entryRuleParameter" - // InternalSolverLanguage.g:1382:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; - public final EObject entryRuleParameter() throws RecognitionException { + // $ANTLR start "entryRuleCall" + // InternalSolverLanguage.g:1808:1: entryRuleCall returns [EObject current=null] : iv_ruleCall= ruleCall EOF ; + public final EObject entryRuleCall() throws RecognitionException { EObject current = null; - EObject iv_ruleParameter = null; + EObject iv_ruleCall = null; try { - // InternalSolverLanguage.g:1382:50: (iv_ruleParameter= ruleParameter EOF ) - // InternalSolverLanguage.g:1383:2: iv_ruleParameter= ruleParameter EOF + // InternalSolverLanguage.g:1808:45: (iv_ruleCall= ruleCall EOF ) + // InternalSolverLanguage.g:1809:2: iv_ruleCall= ruleCall EOF { - newCompositeNode(grammarAccess.getParameterRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getCallRule()); + } pushFollow(FOLLOW_1); - iv_ruleParameter=ruleParameter(); + iv_ruleCall=ruleCall(); state._fsp--; - - current =iv_ruleParameter; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleCall; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -4082,101 +5120,140 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleParameter" + // $ANTLR end "entryRuleCall" - // $ANTLR start "ruleParameter" - // InternalSolverLanguage.g:1389:1: ruleParameter returns [EObject current=null] : ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) ; - public final EObject ruleParameter() throws RecognitionException { + // $ANTLR start "ruleCall" + // 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 ) ) ) ; + public final EObject ruleCall() throws RecognitionException { EObject current = null; - Token otherlv_1=null; - EObject lv_variable_0_0 = null; + Token lv_transitiveClosure_1_0=null; + Token lv_reflexiveTransitiveClosure_2_0=null; + EObject lv_functor_0_0 = null; - EObject lv_type_2_0 = null; + EObject lv_argumentList_3_0 = null; enterRule(); try { - // InternalSolverLanguage.g:1395:2: ( ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) ) - // InternalSolverLanguage.g:1396:2: ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) + // 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 ) ) ) ) + // 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 ) ) ) { - // InternalSolverLanguage.g:1396:2: ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) - // InternalSolverLanguage.g:1397:3: ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? + // 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 ) ) ) + // 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 ) ) { - // InternalSolverLanguage.g:1397:3: ( (lv_variable_0_0= ruleVariable ) ) - // InternalSolverLanguage.g:1398:4: (lv_variable_0_0= ruleVariable ) + // InternalSolverLanguage.g:1823:3: ( (lv_functor_0_0= ruleReference ) ) + // InternalSolverLanguage.g:1824:4: (lv_functor_0_0= ruleReference ) { - // InternalSolverLanguage.g:1398:4: (lv_variable_0_0= ruleVariable ) - // InternalSolverLanguage.g:1399:5: lv_variable_0_0= ruleVariable + // InternalSolverLanguage.g:1824:4: (lv_functor_0_0= ruleReference ) + // InternalSolverLanguage.g:1825:5: lv_functor_0_0= ruleReference { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0()); - - pushFollow(FOLLOW_20); - lv_variable_0_0=ruleVariable(); + newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); + + } + pushFollow(FOLLOW_31); + lv_functor_0_0=ruleReference(); state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getParameterRule()); - } - set( - current, - "variable", - lv_variable_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); - afterParserOrEnumRuleCall(); - + if (current==null) { + current = createModelElementForParent(grammarAccess.getCallRule()); + } + set( + current, + "functor", + lv_functor_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Reference"); + afterParserOrEnumRuleCall(); + + } } } - // InternalSolverLanguage.g:1416:3: (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? - int alt23=2; - int LA23_0 = input.LA(1); + // InternalSolverLanguage.g:1842:3: ( ( (lv_transitiveClosure_1_0= RULE_STAR ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) ) )? + int alt22=3; + int LA22_0 = input.LA(1); - if ( (LA23_0==20) ) { - alt23=1; + if ( (LA22_0==RULE_STAR) ) { + alt22=1; + } + else if ( (LA22_0==RULE_PLUS) ) { + alt22=2; } - switch (alt23) { + switch (alt22) { case 1 : - // InternalSolverLanguage.g:1417:4: otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) + // InternalSolverLanguage.g:1843:4: ( (lv_transitiveClosure_1_0= RULE_STAR ) ) { - otherlv_1=(Token)match(input,20,FOLLOW_21); - - newLeafNode(otherlv_1, grammarAccess.getParameterAccess().getColonKeyword_1_0()); - - // InternalSolverLanguage.g:1421:4: ( (lv_type_2_0= ruleSymbol ) ) - // InternalSolverLanguage.g:1422:5: (lv_type_2_0= ruleSymbol ) + // InternalSolverLanguage.g:1843:4: ( (lv_transitiveClosure_1_0= RULE_STAR ) ) + // InternalSolverLanguage.g:1844:5: (lv_transitiveClosure_1_0= RULE_STAR ) { - // InternalSolverLanguage.g:1422:5: (lv_type_2_0= ruleSymbol ) - // InternalSolverLanguage.g:1423:6: lv_type_2_0= ruleSymbol + // InternalSolverLanguage.g:1844:5: (lv_transitiveClosure_1_0= RULE_STAR ) + // InternalSolverLanguage.g:1845:6: lv_transitiveClosure_1_0= RULE_STAR { + lv_transitiveClosure_1_0=(Token)match(input,RULE_STAR,FOLLOW_10); if (state.failed) return current; + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0()); - - pushFollow(FOLLOW_2); - lv_type_2_0=ruleSymbol(); + newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getCallAccess().getTransitiveClosureSTARTerminalRuleCall_1_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getCallRule()); + } + setWithLastConsumed( + current, + "transitiveClosure", + true, + "org.eclipse.viatra.solver.language.SolverLanguage.STAR"); + + } + + } + + + } - state._fsp--; + } + break; + case 2 : + // InternalSolverLanguage.g:1862:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) ) + { + // InternalSolverLanguage.g:1862:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) ) + // InternalSolverLanguage.g:1863:5: (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) + { + // InternalSolverLanguage.g:1863:5: (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) + // InternalSolverLanguage.g:1864:6: lv_reflexiveTransitiveClosure_2_0= RULE_PLUS + { + lv_reflexiveTransitiveClosure_2_0=(Token)match(input,RULE_PLUS,FOLLOW_10); if (state.failed) return current; + if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getParameterRule()); - } - set( - current, - "type", - lv_type_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); - afterParserOrEnumRuleCall(); - + newLeafNode(lv_reflexiveTransitiveClosure_2_0, grammarAccess.getCallAccess().getReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getCallRule()); + } + setWithLastConsumed( + current, + "reflexiveTransitiveClosure", + true, + "org.eclipse.viatra.solver.language.SolverLanguage.PLUS"); + + } } @@ -4189,6 +5266,38 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + // InternalSolverLanguage.g:1881:3: ( (lv_argumentList_3_0= ruleArgumentList ) ) + // InternalSolverLanguage.g:1882:4: (lv_argumentList_3_0= ruleArgumentList ) + { + // InternalSolverLanguage.g:1882:4: (lv_argumentList_3_0= ruleArgumentList ) + // InternalSolverLanguage.g:1883:5: lv_argumentList_3_0= ruleArgumentList + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_2); + lv_argumentList_3_0=ruleArgumentList(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCallRule()); + } + set( + current, + "argumentList", + lv_argumentList_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); + afterParserOrEnumRuleCall(); + + } + + } + } @@ -4196,8 +5305,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - leaveRule(); + } + + if ( state.backtracking==0 ) { + leaveRule(); + + } } catch (RecognitionException re) { @@ -4208,29 +5322,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleParameter" + // $ANTLR end "ruleCall" - // $ANTLR start "entryRulePatternBody" - // InternalSolverLanguage.g:1445:1: entryRulePatternBody returns [EObject current=null] : iv_rulePatternBody= rulePatternBody EOF ; - public final EObject entryRulePatternBody() throws RecognitionException { + // $ANTLR start "entryRuleArgumentList" + // InternalSolverLanguage.g:1904:1: entryRuleArgumentList returns [EObject current=null] : iv_ruleArgumentList= ruleArgumentList EOF ; + public final EObject entryRuleArgumentList() throws RecognitionException { EObject current = null; - EObject iv_rulePatternBody = null; + EObject iv_ruleArgumentList = null; try { - // InternalSolverLanguage.g:1445:52: (iv_rulePatternBody= rulePatternBody EOF ) - // InternalSolverLanguage.g:1446:2: iv_rulePatternBody= rulePatternBody EOF + // InternalSolverLanguage.g:1904:53: (iv_ruleArgumentList= ruleArgumentList EOF ) + // InternalSolverLanguage.g:1905:2: iv_ruleArgumentList= ruleArgumentList EOF { - newCompositeNode(grammarAccess.getPatternBodyRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getArgumentListRule()); + } pushFollow(FOLLOW_1); - iv_rulePatternBody=rulePatternBody(); + iv_ruleArgumentList=ruleArgumentList(); state._fsp--; - - current =iv_rulePatternBody; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleArgumentList; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -4244,106 +5362,150 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRulePatternBody" + // $ANTLR end "entryRuleArgumentList" - // $ANTLR start "rulePatternBody" - // InternalSolverLanguage.g:1452:1: rulePatternBody returns [EObject current=null] : ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) ; - public final EObject rulePatternBody() throws RecognitionException { + // $ANTLR start "ruleArgumentList" + // 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= ')' ) ; + public final EObject ruleArgumentList() throws RecognitionException { EObject current = null; Token otherlv_1=null; - EObject lv_constraints_2_0 = null; + Token otherlv_3=null; + Token otherlv_5=null; + EObject lv_arguments_2_0 = null; + + EObject lv_arguments_4_0 = null; enterRule(); try { - // InternalSolverLanguage.g:1458:2: ( ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) ) - // InternalSolverLanguage.g:1459:2: ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) + // InternalSolverLanguage.g:1917:2: ( ( () otherlv_1= '(' ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= ')' ) ) + // InternalSolverLanguage.g:1918:2: ( () otherlv_1= '(' ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= ')' ) { - // InternalSolverLanguage.g:1459:2: ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) - // InternalSolverLanguage.g:1460:3: () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) + // InternalSolverLanguage.g:1918:2: ( () otherlv_1= '(' ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= ')' ) + // InternalSolverLanguage.g:1919:3: () otherlv_1= '(' ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= ')' { - // InternalSolverLanguage.g:1460:3: () - // InternalSolverLanguage.g:1461:4: + // InternalSolverLanguage.g:1919:3: () + // InternalSolverLanguage.g:1920:4: { + if ( state.backtracking==0 ) { - current = forceCreateModelElement( - grammarAccess.getPatternBodyAccess().getPatternBodyAction_0(), - current); - + current = forceCreateModelElement( + grammarAccess.getArgumentListAccess().getArgumentListAction_0(), + current); + + } } - // InternalSolverLanguage.g:1467:3: (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) - int alt25=2; - int LA25_0 = input.LA(1); + otherlv_1=(Token)match(input,33,FOLLOW_32); if (state.failed) return current; + if ( state.backtracking==0 ) { - if ( (LA25_0==13) ) { - alt25=1; - } - else if ( (LA25_0==EOF||LA25_0==RULE_ID||(LA25_0>=11 && LA25_0<=12)||(LA25_0>=29 && LA25_0<=31)) ) { - alt25=2; + newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); + } - else { - NoViableAltException nvae = - new NoViableAltException("", 25, 0, input); + // InternalSolverLanguage.g:1930:3: ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* )? + int alt24=2; + int LA24_0 = input.LA(1); - throw nvae; + 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)) ) { + alt24=1; } - switch (alt25) { + switch (alt24) { case 1 : - // InternalSolverLanguage.g:1468:4: otherlv_1= 'true' + // InternalSolverLanguage.g:1931:4: ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* { - otherlv_1=(Token)match(input,13,FOLLOW_2); + // InternalSolverLanguage.g:1931:4: ( (lv_arguments_2_0= ruleArgument ) ) + // InternalSolverLanguage.g:1932:5: (lv_arguments_2_0= ruleArgument ) + { + // InternalSolverLanguage.g:1932:5: (lv_arguments_2_0= ruleArgument ) + // InternalSolverLanguage.g:1933:6: lv_arguments_2_0= ruleArgument + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); + + } + pushFollow(FOLLOW_33); + lv_arguments_2_0=ruleArgument(); - newLeafNode(otherlv_1, grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); - + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getArgumentListRule()); + } + add( + current, + "arguments", + lv_arguments_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Argument"); + afterParserOrEnumRuleCall(); + + } } - break; - case 2 : - // InternalSolverLanguage.g:1473:4: ( (lv_constraints_2_0= ruleConstraint ) )* - { - // InternalSolverLanguage.g:1473:4: ( (lv_constraints_2_0= ruleConstraint ) )* - loop24: + + + } + + // InternalSolverLanguage.g:1950:4: (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* + loop23: do { - int alt24=2; - int LA24_0 = input.LA(1); + int alt23=2; + int LA23_0 = input.LA(1); - if ( (LA24_0==RULE_ID||LA24_0==11||(LA24_0>=30 && LA24_0<=31)) ) { - alt24=1; + if ( (LA23_0==28) ) { + alt23=1; } - switch (alt24) { + switch (alt23) { case 1 : - // InternalSolverLanguage.g:1474:5: (lv_constraints_2_0= ruleConstraint ) + // InternalSolverLanguage.g:1951:5: otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) + { + otherlv_3=(Token)match(input,28,FOLLOW_34); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); + + } + // InternalSolverLanguage.g:1955:5: ( (lv_arguments_4_0= ruleArgument ) ) + // InternalSolverLanguage.g:1956:6: (lv_arguments_4_0= ruleArgument ) { - // InternalSolverLanguage.g:1474:5: (lv_constraints_2_0= ruleConstraint ) - // InternalSolverLanguage.g:1475:6: lv_constraints_2_0= ruleConstraint + // InternalSolverLanguage.g:1956:6: (lv_arguments_4_0= ruleArgument ) + // InternalSolverLanguage.g:1957:7: lv_arguments_4_0= ruleArgument { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0()); - - pushFollow(FOLLOW_22); - lv_constraints_2_0=ruleConstraint(); + newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); + + } + pushFollow(FOLLOW_33); + lv_arguments_4_0=ruleArgument(); state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getArgumentListRule()); + } + add( + current, + "arguments", + lv_arguments_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Argument"); + afterParserOrEnumRuleCall(); + + } + } - if (current==null) { - current = createModelElementForParent(grammarAccess.getPatternBodyRule()); - } - add( - current, - "constraints", - lv_constraints_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Constraint"); - afterParserOrEnumRuleCall(); - } @@ -4352,7 +5514,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop24; + break loop23; } } while (true); @@ -4362,15 +5524,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + otherlv_5=(Token)match(input,34,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3()); + + } } } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -4381,29 +5551,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "rulePatternBody" + // $ANTLR end "ruleArgumentList" - // $ANTLR start "entryRulePolarity" - // InternalSolverLanguage.g:1497:1: entryRulePolarity returns [EObject current=null] : iv_rulePolarity= rulePolarity EOF ; - public final EObject entryRulePolarity() throws RecognitionException { + // $ANTLR start "entryRuleArgument" + // InternalSolverLanguage.g:1984:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ; + public final EObject entryRuleArgument() throws RecognitionException { EObject current = null; - EObject iv_rulePolarity = null; + EObject iv_ruleArgument = null; try { - // InternalSolverLanguage.g:1497:49: (iv_rulePolarity= rulePolarity EOF ) - // InternalSolverLanguage.g:1498:2: iv_rulePolarity= rulePolarity EOF + // InternalSolverLanguage.g:1984:49: (iv_ruleArgument= ruleArgument EOF ) + // InternalSolverLanguage.g:1985:2: iv_ruleArgument= ruleArgument EOF { - newCompositeNode(grammarAccess.getPolarityRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getArgumentRule()); + } pushFollow(FOLLOW_1); - iv_rulePolarity=rulePolarity(); + iv_ruleArgument=ruleArgument(); state._fsp--; - - current =iv_rulePolarity; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleArgument; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -4417,92 +5591,119 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRulePolarity" + // $ANTLR end "entryRuleArgument" - // $ANTLR start "rulePolarity" - // InternalSolverLanguage.g:1504:1: rulePolarity returns [EObject current=null] : ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) ; - public final EObject rulePolarity() throws RecognitionException { + // $ANTLR start "ruleArgument" + // 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 ) ; + public final EObject ruleArgument() throws RecognitionException { EObject current = null; - Token otherlv_1=null; - Token otherlv_3=null; + EObject this_ExpressionArgument_0 = null; + + EObject this_StarArgument_1 = null; + + EObject this_TypedArgument_2 = null; + + EObject this_TypedStarArgument_3 = null; + enterRule(); try { - // InternalSolverLanguage.g:1510:2: ( ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) ) - // InternalSolverLanguage.g:1511:2: ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) + // InternalSolverLanguage.g:1997:2: ( (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ) + // InternalSolverLanguage.g:1998:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) { - // InternalSolverLanguage.g:1511:2: ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) - int alt26=2; - int LA26_0 = input.LA(1); - - if ( (LA26_0==30) ) { - alt26=1; - } - else if ( (LA26_0==11) ) { - alt26=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 26, 0, input); - - throw nvae; - } - switch (alt26) { + // InternalSolverLanguage.g:1998:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) + int alt25=4; + alt25 = dfa25.predict(input); + switch (alt25) { case 1 : - // InternalSolverLanguage.g:1512:3: ( () otherlv_1= '+' ) - { - // InternalSolverLanguage.g:1512:3: ( () otherlv_1= '+' ) - // InternalSolverLanguage.g:1513:4: () otherlv_1= '+' - { - // InternalSolverLanguage.g:1513:4: () - // InternalSolverLanguage.g:1514:5: + // InternalSolverLanguage.g:1999:3: this_ExpressionArgument_0= ruleExpressionArgument { + if ( state.backtracking==0 ) { - current = forceCreateModelElement( - grammarAccess.getPolarityAccess().getPositiveAction_0_0(), - current); - - + newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + this_ExpressionArgument_0=ruleExpressionArgument(); - otherlv_1=(Token)match(input,30,FOLLOW_2); - - newLeafNode(otherlv_1, grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1()); - + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current = this_ExpressionArgument_0; + afterParserOrEnumRuleCall(); + } - } break; case 2 : - // InternalSolverLanguage.g:1526:3: ( () otherlv_3= '-' ) - { - // InternalSolverLanguage.g:1526:3: ( () otherlv_3= '-' ) - // InternalSolverLanguage.g:1527:4: () otherlv_3= '-' - { - // InternalSolverLanguage.g:1527:4: () - // InternalSolverLanguage.g:1528:5: + // InternalSolverLanguage.g:2008:3: this_StarArgument_1= ruleStarArgument { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_StarArgument_1=ruleStarArgument(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_StarArgument_1; + afterParserOrEnumRuleCall(); + + } - current = forceCreateModelElement( - grammarAccess.getPolarityAccess().getNegativeAction_1_0(), - current); - + } + break; + case 3 : + // InternalSolverLanguage.g:2017:3: this_TypedArgument_2= ruleTypedArgument + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); + } + pushFollow(FOLLOW_2); + this_TypedArgument_2=ruleTypedArgument(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - otherlv_3=(Token)match(input,11,FOLLOW_2); + current = this_TypedArgument_2; + afterParserOrEnumRuleCall(); + + } - newLeafNode(otherlv_3, grammarAccess.getPolarityAccess().getHyphenMinusKeyword_1_1()); - + } + break; + case 4 : + // InternalSolverLanguage.g:2026:3: this_TypedStarArgument_3= ruleTypedStarArgument + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); + } + pushFollow(FOLLOW_2); + this_TypedStarArgument_3=ruleTypedStarArgument(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current = this_TypedStarArgument_3; + afterParserOrEnumRuleCall(); + + } } break; @@ -4512,9 +5713,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -4525,29 +5728,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "rulePolarity" + // $ANTLR end "ruleArgument" - // $ANTLR start "entryRuleConstraint" - // InternalSolverLanguage.g:1543:1: entryRuleConstraint returns [EObject current=null] : iv_ruleConstraint= ruleConstraint EOF ; - public final EObject entryRuleConstraint() throws RecognitionException { + // $ANTLR start "entryRuleExpressionArgument" + // InternalSolverLanguage.g:2038:1: entryRuleExpressionArgument returns [EObject current=null] : iv_ruleExpressionArgument= ruleExpressionArgument EOF ; + public final EObject entryRuleExpressionArgument() throws RecognitionException { EObject current = null; - EObject iv_ruleConstraint = null; + EObject iv_ruleExpressionArgument = null; try { - // InternalSolverLanguage.g:1543:51: (iv_ruleConstraint= ruleConstraint EOF ) - // InternalSolverLanguage.g:1544:2: iv_ruleConstraint= ruleConstraint EOF + // InternalSolverLanguage.g:2038:59: (iv_ruleExpressionArgument= ruleExpressionArgument EOF ) + // InternalSolverLanguage.g:2039:2: iv_ruleExpressionArgument= ruleExpressionArgument EOF { - newCompositeNode(grammarAccess.getConstraintRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getExpressionArgumentRule()); + } pushFollow(FOLLOW_1); - iv_ruleConstraint=ruleConstraint(); + iv_ruleExpressionArgument=ruleExpressionArgument(); state._fsp--; - - current =iv_ruleConstraint; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleExpressionArgument; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -4561,439 +5768,3443 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleConstraint" + // $ANTLR end "entryRuleExpressionArgument" - // $ANTLR start "ruleConstraint" - // 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= ')' ) ) ; - public final EObject ruleConstraint() throws RecognitionException { + // $ANTLR start "ruleExpressionArgument" + // InternalSolverLanguage.g:2045:1: ruleExpressionArgument returns [EObject current=null] : ( (lv_body_0_0= ruleComparisonExpression ) ) ; + public final EObject ruleExpressionArgument() throws RecognitionException { EObject current = null; - Token otherlv_2=null; - Token otherlv_4=null; - Token otherlv_6=null; - Token otherlv_8=null; - Token otherlv_10=null; - Token otherlv_12=null; - EObject lv_polarity_0_0 = null; + EObject lv_body_0_0 = null; - EObject lv_symbol_1_0 = null; - EObject lv_params_3_0 = null; - EObject lv_params_5_0 = null; + enterRule(); + + try { + // InternalSolverLanguage.g:2051:2: ( ( (lv_body_0_0= ruleComparisonExpression ) ) ) + // InternalSolverLanguage.g:2052:2: ( (lv_body_0_0= ruleComparisonExpression ) ) + { + // InternalSolverLanguage.g:2052:2: ( (lv_body_0_0= ruleComparisonExpression ) ) + // InternalSolverLanguage.g:2053:3: (lv_body_0_0= ruleComparisonExpression ) + { + // InternalSolverLanguage.g:2053:3: (lv_body_0_0= ruleComparisonExpression ) + // InternalSolverLanguage.g:2054:4: lv_body_0_0= ruleComparisonExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + lv_body_0_0=ruleComparisonExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExpressionArgumentRule()); + } + set( + current, + "body", + lv_body_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleExpressionArgument" + + + // $ANTLR start "entryRuleStarArgument" + // InternalSolverLanguage.g:2074:1: entryRuleStarArgument returns [EObject current=null] : iv_ruleStarArgument= ruleStarArgument EOF ; + public final EObject entryRuleStarArgument() throws RecognitionException { + EObject current = null; + + EObject iv_ruleStarArgument = null; + + + try { + // InternalSolverLanguage.g:2074:53: (iv_ruleStarArgument= ruleStarArgument EOF ) + // InternalSolverLanguage.g:2075:2: iv_ruleStarArgument= ruleStarArgument EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getStarArgumentRule()); + } + pushFollow(FOLLOW_1); + iv_ruleStarArgument=ruleStarArgument(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleStarArgument; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleStarArgument" + + + // $ANTLR start "ruleStarArgument" + // InternalSolverLanguage.g:2081:1: ruleStarArgument returns [EObject current=null] : ( () otherlv_1= '*' ) ; + public final EObject ruleStarArgument() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalSolverLanguage.g:2087:2: ( ( () otherlv_1= '*' ) ) + // InternalSolverLanguage.g:2088:2: ( () otherlv_1= '*' ) + { + // InternalSolverLanguage.g:2088:2: ( () otherlv_1= '*' ) + // InternalSolverLanguage.g:2089:3: () otherlv_1= '*' + { + // InternalSolverLanguage.g:2089:3: () + // InternalSolverLanguage.g:2090:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getStarArgumentAccess().getStarArgumentAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,35,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleStarArgument" + + + // $ANTLR start "entryRuleTypedArgument" + // InternalSolverLanguage.g:2104:1: entryRuleTypedArgument returns [EObject current=null] : iv_ruleTypedArgument= ruleTypedArgument EOF ; + public final EObject entryRuleTypedArgument() throws RecognitionException { + EObject current = null; + + EObject iv_ruleTypedArgument = null; + + + try { + // InternalSolverLanguage.g:2104:54: (iv_ruleTypedArgument= ruleTypedArgument EOF ) + // InternalSolverLanguage.g:2105:2: iv_ruleTypedArgument= ruleTypedArgument EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getTypedArgumentRule()); + } + pushFollow(FOLLOW_1); + iv_ruleTypedArgument=ruleTypedArgument(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleTypedArgument; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleTypedArgument" + + + // $ANTLR start "ruleTypedArgument" + // InternalSolverLanguage.g:2111:1: ruleTypedArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ; + public final EObject ruleTypedArgument() throws RecognitionException { + EObject current = null; + + + enterRule(); + + try { + // InternalSolverLanguage.g:2117:2: ( ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ) + // InternalSolverLanguage.g:2118:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) + { + // InternalSolverLanguage.g:2118:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguage.g:2119:3: ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) + { + // InternalSolverLanguage.g:2119:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:2120:4: ( ruleQualifiedName ) + { + // InternalSolverLanguage.g:2120:4: ( ruleQualifiedName ) + // InternalSolverLanguage.g:2121:5: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getTypedArgumentRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0()); + + } + pushFollow(FOLLOW_35); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalSolverLanguage.g:2135:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:2136:4: ( ruleQualifiedName ) + { + // InternalSolverLanguage.g:2136:4: ( ruleQualifiedName ) + // InternalSolverLanguage.g:2137:5: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getTypedArgumentRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0()); + + } + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleTypedArgument" + + + // $ANTLR start "entryRuleTypedStarArgument" + // InternalSolverLanguage.g:2155:1: entryRuleTypedStarArgument returns [EObject current=null] : iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ; + public final EObject entryRuleTypedStarArgument() throws RecognitionException { + EObject current = null; + + EObject iv_ruleTypedStarArgument = null; + + + try { + // InternalSolverLanguage.g:2155:58: (iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ) + // InternalSolverLanguage.g:2156:2: iv_ruleTypedStarArgument= ruleTypedStarArgument EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getTypedStarArgumentRule()); + } + pushFollow(FOLLOW_1); + iv_ruleTypedStarArgument=ruleTypedStarArgument(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleTypedStarArgument; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleTypedStarArgument" + + + // $ANTLR start "ruleTypedStarArgument" + // InternalSolverLanguage.g:2162:1: ruleTypedStarArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) otherlv_1= '*' ) ; + public final EObject ruleTypedStarArgument() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalSolverLanguage.g:2168:2: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '*' ) ) + // InternalSolverLanguage.g:2169:2: ( ( ( ruleQualifiedName ) ) otherlv_1= '*' ) + { + // InternalSolverLanguage.g:2169:2: ( ( ( ruleQualifiedName ) ) otherlv_1= '*' ) + // InternalSolverLanguage.g:2170:3: ( ( ruleQualifiedName ) ) otherlv_1= '*' + { + // InternalSolverLanguage.g:2170:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:2171:4: ( ruleQualifiedName ) + { + // InternalSolverLanguage.g:2171:4: ( ruleQualifiedName ) + // InternalSolverLanguage.g:2172:5: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getTypedStarArgumentRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); + + } + pushFollow(FOLLOW_36); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_1=(Token)match(input,35,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleTypedStarArgument" + + + // $ANTLR start "entryRuleReference" + // InternalSolverLanguage.g:2194:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ; + public final EObject entryRuleReference() throws RecognitionException { + EObject current = null; + + EObject iv_ruleReference = null; + + + try { + // InternalSolverLanguage.g:2194:50: (iv_ruleReference= ruleReference EOF ) + // InternalSolverLanguage.g:2195:2: iv_ruleReference= ruleReference EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getReferenceRule()); + } + pushFollow(FOLLOW_1); + iv_ruleReference=ruleReference(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleReference; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleReference" + + + // $ANTLR start "ruleReference" + // InternalSolverLanguage.g:2201:1: ruleReference returns [EObject current=null] : ( ( ruleQualifiedName ) ) ; + public final EObject ruleReference() throws RecognitionException { + EObject current = null; + + + enterRule(); + + try { + // InternalSolverLanguage.g:2207:2: ( ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguage.g:2208:2: ( ( ruleQualifiedName ) ) + { + // InternalSolverLanguage.g:2208:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:2209:3: ( ruleQualifiedName ) + { + // InternalSolverLanguage.g:2209:3: ( ruleQualifiedName ) + // InternalSolverLanguage.g:2210:4: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getReferenceRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); + + } + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleReference" + + + // $ANTLR start "entryRuleInterval" + // InternalSolverLanguage.g:2227:1: entryRuleInterval returns [EObject current=null] : iv_ruleInterval= ruleInterval EOF ; + public final EObject entryRuleInterval() throws RecognitionException { + EObject current = null; + + EObject iv_ruleInterval = null; + + + try { + // InternalSolverLanguage.g:2227:49: (iv_ruleInterval= ruleInterval EOF ) + // InternalSolverLanguage.g:2228:2: iv_ruleInterval= ruleInterval EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getIntervalRule()); + } + pushFollow(FOLLOW_1); + iv_ruleInterval=ruleInterval(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleInterval; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleInterval" + + + // $ANTLR start "ruleInterval" + // 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= ']' ) ; + public final EObject ruleInterval() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + EObject lv_lowerBound_1_0 = null; + + EObject lv_upperBound_3_0 = null; + + + + enterRule(); + + try { + // InternalSolverLanguage.g:2240:2: ( (otherlv_0= '[' ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= ']' ) ) + // InternalSolverLanguage.g:2241:2: (otherlv_0= '[' ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= ']' ) + { + // InternalSolverLanguage.g:2241:2: (otherlv_0= '[' ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= ']' ) + // InternalSolverLanguage.g:2242:3: otherlv_0= '[' ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= ']' + { + otherlv_0=(Token)match(input,36,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); + + } + // InternalSolverLanguage.g:2246:3: ( (lv_lowerBound_1_0= ruleExpression ) ) + // InternalSolverLanguage.g:2247:4: (lv_lowerBound_1_0= ruleExpression ) + { + // InternalSolverLanguage.g:2247:4: (lv_lowerBound_1_0= ruleExpression ) + // InternalSolverLanguage.g:2248:5: lv_lowerBound_1_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_37); + lv_lowerBound_1_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIntervalRule()); + } + set( + current, + "lowerBound", + lv_lowerBound_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_2=(Token)match(input,37,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); + + } + // InternalSolverLanguage.g:2269:3: ( (lv_upperBound_3_0= ruleExpression ) ) + // InternalSolverLanguage.g:2270:4: (lv_upperBound_3_0= ruleExpression ) + { + // InternalSolverLanguage.g:2270:4: (lv_upperBound_3_0= ruleExpression ) + // InternalSolverLanguage.g:2271:5: lv_upperBound_3_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_38); + lv_upperBound_3_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIntervalRule()); + } + set( + current, + "upperBound", + lv_upperBound_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,38,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleInterval" + + + // $ANTLR start "entryRuleLiteral" + // InternalSolverLanguage.g:2296:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; + public final EObject entryRuleLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLiteral = null; + + + try { + // InternalSolverLanguage.g:2296:48: (iv_ruleLiteral= ruleLiteral EOF ) + // InternalSolverLanguage.g:2297:2: iv_ruleLiteral= ruleLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleLiteral=ruleLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLiteral" + + + // $ANTLR start "ruleLiteral" + // 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 ) ; + public final EObject ruleLiteral() throws RecognitionException { + EObject current = null; + + EObject this_LogicLiteral_0 = null; + + EObject this_NumericLiteral_1 = null; + + EObject this_InfinityLiteral_2 = null; + + EObject this_EmptyIntervalLiteral_3 = null; + + EObject this_StringLiteral_4 = null; + + + + enterRule(); + + try { + // InternalSolverLanguage.g:2309:2: ( (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) ) + // InternalSolverLanguage.g:2310:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) + { + // InternalSolverLanguage.g:2310:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) + int alt26=5; + switch ( input.LA(1) ) { + case 19: + case 70: + case 71: + case 72: + { + alt26=1; + } + break; + case RULE_INT: + { + alt26=2; + } + break; + case 39: + { + alt26=3; + } + break; + case 40: + { + alt26=4; + } + break; + case RULE_STRING: + { + alt26=5; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 26, 0, input); + + throw nvae; + } + + switch (alt26) { + case 1 : + // InternalSolverLanguage.g:2311:3: this_LogicLiteral_0= ruleLogicLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_LogicLiteral_0=ruleLogicLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_LogicLiteral_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalSolverLanguage.g:2320:3: this_NumericLiteral_1= ruleNumericLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_NumericLiteral_1=ruleNumericLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_NumericLiteral_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalSolverLanguage.g:2329:3: this_InfinityLiteral_2= ruleInfinityLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); + + } + pushFollow(FOLLOW_2); + this_InfinityLiteral_2=ruleInfinityLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_InfinityLiteral_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 4 : + // InternalSolverLanguage.g:2338:3: this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); + + } + pushFollow(FOLLOW_2); + this_EmptyIntervalLiteral_3=ruleEmptyIntervalLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_EmptyIntervalLiteral_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 5 : + // InternalSolverLanguage.g:2347:3: this_StringLiteral_4= ruleStringLiteral + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); + + } + pushFollow(FOLLOW_2); + this_StringLiteral_4=ruleStringLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_StringLiteral_4; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLiteral" + + + // $ANTLR start "entryRuleLogicLiteral" + // InternalSolverLanguage.g:2359:1: entryRuleLogicLiteral returns [EObject current=null] : iv_ruleLogicLiteral= ruleLogicLiteral EOF ; + public final EObject entryRuleLogicLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLogicLiteral = null; + + + try { + // InternalSolverLanguage.g:2359:53: (iv_ruleLogicLiteral= ruleLogicLiteral EOF ) + // InternalSolverLanguage.g:2360:2: iv_ruleLogicLiteral= ruleLogicLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getLogicLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleLogicLiteral=ruleLogicLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleLogicLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLogicLiteral" + + + // $ANTLR start "ruleLogicLiteral" + // InternalSolverLanguage.g:2366:1: ruleLogicLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleLogicValue ) ) ; + public final EObject ruleLogicLiteral() throws RecognitionException { + EObject current = null; + + Enumerator lv_value_0_0 = null; + + + + enterRule(); + + try { + // InternalSolverLanguage.g:2372:2: ( ( (lv_value_0_0= ruleLogicValue ) ) ) + // InternalSolverLanguage.g:2373:2: ( (lv_value_0_0= ruleLogicValue ) ) + { + // InternalSolverLanguage.g:2373:2: ( (lv_value_0_0= ruleLogicValue ) ) + // InternalSolverLanguage.g:2374:3: (lv_value_0_0= ruleLogicValue ) + { + // InternalSolverLanguage.g:2374:3: (lv_value_0_0= ruleLogicValue ) + // InternalSolverLanguage.g:2375:4: lv_value_0_0= ruleLogicValue + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); + + } + pushFollow(FOLLOW_2); + lv_value_0_0=ruleLogicValue(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLogicLiteralRule()); + } + set( + current, + "value", + lv_value_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLogicLiteral" + + + // $ANTLR start "entryRuleNumericLiteral" + // InternalSolverLanguage.g:2395:1: entryRuleNumericLiteral returns [EObject current=null] : iv_ruleNumericLiteral= ruleNumericLiteral EOF ; + public final EObject entryRuleNumericLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleNumericLiteral = null; + + + try { + // InternalSolverLanguage.g:2395:55: (iv_ruleNumericLiteral= ruleNumericLiteral EOF ) + // InternalSolverLanguage.g:2396:2: iv_ruleNumericLiteral= ruleNumericLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getNumericLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleNumericLiteral=ruleNumericLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleNumericLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleNumericLiteral" + + + // $ANTLR start "ruleNumericLiteral" + // InternalSolverLanguage.g:2402:1: ruleNumericLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleReal ) ) ; + public final EObject ruleNumericLiteral() throws RecognitionException { + EObject current = null; + + AntlrDatatypeRuleToken lv_value_0_0 = null; + + + + enterRule(); + + try { + // InternalSolverLanguage.g:2408:2: ( ( (lv_value_0_0= ruleReal ) ) ) + // InternalSolverLanguage.g:2409:2: ( (lv_value_0_0= ruleReal ) ) + { + // InternalSolverLanguage.g:2409:2: ( (lv_value_0_0= ruleReal ) ) + // InternalSolverLanguage.g:2410:3: (lv_value_0_0= ruleReal ) + { + // InternalSolverLanguage.g:2410:3: (lv_value_0_0= ruleReal ) + // InternalSolverLanguage.g:2411:4: lv_value_0_0= ruleReal + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + lv_value_0_0=ruleReal(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getNumericLiteralRule()); + } + set( + current, + "value", + lv_value_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Real"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleNumericLiteral" + + + // $ANTLR start "entryRuleInfinityLiteral" + // InternalSolverLanguage.g:2431:1: entryRuleInfinityLiteral returns [EObject current=null] : iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ; + public final EObject entryRuleInfinityLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleInfinityLiteral = null; + + + try { + // InternalSolverLanguage.g:2431:56: (iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ) + // InternalSolverLanguage.g:2432:2: iv_ruleInfinityLiteral= ruleInfinityLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getInfinityLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleInfinityLiteral=ruleInfinityLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleInfinityLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleInfinityLiteral" + + + // $ANTLR start "ruleInfinityLiteral" + // InternalSolverLanguage.g:2438:1: ruleInfinityLiteral returns [EObject current=null] : ( () otherlv_1= 'inf' ) ; + public final EObject ruleInfinityLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalSolverLanguage.g:2444:2: ( ( () otherlv_1= 'inf' ) ) + // InternalSolverLanguage.g:2445:2: ( () otherlv_1= 'inf' ) + { + // InternalSolverLanguage.g:2445:2: ( () otherlv_1= 'inf' ) + // InternalSolverLanguage.g:2446:3: () otherlv_1= 'inf' + { + // InternalSolverLanguage.g:2446:3: () + // InternalSolverLanguage.g:2447:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,39,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getInfinityLiteralAccess().getInfKeyword_1()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleInfinityLiteral" + + + // $ANTLR start "entryRuleEmptyIntervalLiteral" + // InternalSolverLanguage.g:2461:1: entryRuleEmptyIntervalLiteral returns [EObject current=null] : iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ; + public final EObject entryRuleEmptyIntervalLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleEmptyIntervalLiteral = null; + + + try { + // InternalSolverLanguage.g:2461:61: (iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ) + // InternalSolverLanguage.g:2462:2: iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleEmptyIntervalLiteral=ruleEmptyIntervalLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleEmptyIntervalLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleEmptyIntervalLiteral" + + + // $ANTLR start "ruleEmptyIntervalLiteral" + // InternalSolverLanguage.g:2468:1: ruleEmptyIntervalLiteral returns [EObject current=null] : ( () otherlv_1= 'empty' ) ; + public final EObject ruleEmptyIntervalLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalSolverLanguage.g:2474:2: ( ( () otherlv_1= 'empty' ) ) + // InternalSolverLanguage.g:2475:2: ( () otherlv_1= 'empty' ) + { + // InternalSolverLanguage.g:2475:2: ( () otherlv_1= 'empty' ) + // InternalSolverLanguage.g:2476:3: () otherlv_1= 'empty' + { + // InternalSolverLanguage.g:2476:3: () + // InternalSolverLanguage.g:2477:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,40,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleEmptyIntervalLiteral" + + + // $ANTLR start "entryRuleStringLiteral" + // InternalSolverLanguage.g:2491:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ; + public final EObject entryRuleStringLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleStringLiteral = null; + + + try { + // InternalSolverLanguage.g:2491:54: (iv_ruleStringLiteral= ruleStringLiteral EOF ) + // InternalSolverLanguage.g:2492:2: iv_ruleStringLiteral= ruleStringLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getStringLiteralRule()); + } + pushFollow(FOLLOW_1); + iv_ruleStringLiteral=ruleStringLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleStringLiteral; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleStringLiteral" + + + // $ANTLR start "ruleStringLiteral" + // InternalSolverLanguage.g:2498:1: ruleStringLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; + public final EObject ruleStringLiteral() throws RecognitionException { + EObject current = null; + + Token lv_value_0_0=null; + + + enterRule(); + + try { + // InternalSolverLanguage.g:2504:2: ( ( (lv_value_0_0= RULE_STRING ) ) ) + // InternalSolverLanguage.g:2505:2: ( (lv_value_0_0= RULE_STRING ) ) + { + // InternalSolverLanguage.g:2505:2: ( (lv_value_0_0= RULE_STRING ) ) + // InternalSolverLanguage.g:2506:3: (lv_value_0_0= RULE_STRING ) + { + // InternalSolverLanguage.g:2506:3: (lv_value_0_0= RULE_STRING ) + // InternalSolverLanguage.g:2507:4: lv_value_0_0= RULE_STRING + { + lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_value_0_0, grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getStringLiteralRule()); + } + setWithLastConsumed( + current, + "value", + lv_value_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); + + } + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleStringLiteral" + + + // $ANTLR start "entryRuleClassDefinition" + // InternalSolverLanguage.g:2526:1: entryRuleClassDefinition returns [EObject current=null] : iv_ruleClassDefinition= ruleClassDefinition EOF ; + public final EObject entryRuleClassDefinition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleClassDefinition = null; + + + try { + // InternalSolverLanguage.g:2526:56: (iv_ruleClassDefinition= ruleClassDefinition EOF ) + // InternalSolverLanguage.g:2527:2: iv_ruleClassDefinition= ruleClassDefinition EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getClassDefinitionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleClassDefinition=ruleClassDefinition(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleClassDefinition; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleClassDefinition" + + + // $ANTLR start "ruleClassDefinition" + // 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= '}' ) ; + public final EObject ruleClassDefinition() throws RecognitionException { + EObject current = null; + + Token lv_abstract_0_0=null; + Token otherlv_1=null; + Token lv_name_2_0=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_9=null; + EObject lv_members_8_0 = null; + + + + enterRule(); + + try { + // 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= '}' ) ) + // 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= '}' ) + { + // 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= '}' ) + // 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= '}' + { + // InternalSolverLanguage.g:2541:3: ( (lv_abstract_0_0= 'abstract' ) )? + int alt27=2; + int LA27_0 = input.LA(1); + + if ( (LA27_0==41) ) { + alt27=1; + } + switch (alt27) { + case 1 : + // InternalSolverLanguage.g:2542:4: (lv_abstract_0_0= 'abstract' ) + { + // InternalSolverLanguage.g:2542:4: (lv_abstract_0_0= 'abstract' ) + // InternalSolverLanguage.g:2543:5: lv_abstract_0_0= 'abstract' + { + lv_abstract_0_0=(Token)match(input,41,FOLLOW_39); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getClassDefinitionRule()); + } + setWithLastConsumed(current, "abstract", true, "abstract"); + + } + + } + + + } + break; + + } + + otherlv_1=(Token)match(input,42,FOLLOW_40); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); + + } + // InternalSolverLanguage.g:2559:3: ( (lv_name_2_0= RULE_ID ) ) + // InternalSolverLanguage.g:2560:4: (lv_name_2_0= RULE_ID ) + { + // InternalSolverLanguage.g:2560:4: (lv_name_2_0= RULE_ID ) + // InternalSolverLanguage.g:2561:5: lv_name_2_0= RULE_ID + { + lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_41); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getClassDefinitionRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_2_0, + "org.eclipse.xtext.common.Terminals.ID"); + + } + + } + + + } + + // InternalSolverLanguage.g:2577:3: (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? + int alt29=2; + int LA29_0 = input.LA(1); + + if ( (LA29_0==43) ) { + alt29=1; + } + switch (alt29) { + case 1 : + // InternalSolverLanguage.g:2578:4: otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* + { + otherlv_3=(Token)match(input,43,FOLLOW_35); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); + + } + // InternalSolverLanguage.g:2582:4: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:2583:5: ( ruleQualifiedName ) + { + // InternalSolverLanguage.g:2583:5: ( ruleQualifiedName ) + // InternalSolverLanguage.g:2584:6: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getClassDefinitionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); + + } + pushFollow(FOLLOW_42); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalSolverLanguage.g:2598:4: (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* + loop28: + do { + int alt28=2; + int LA28_0 = input.LA(1); + + if ( (LA28_0==28) ) { + alt28=1; + } + + + switch (alt28) { + case 1 : + // InternalSolverLanguage.g:2599:5: otherlv_5= ',' ( ( ruleQualifiedName ) ) + { + otherlv_5=(Token)match(input,28,FOLLOW_35); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); + + } + // InternalSolverLanguage.g:2603:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:2604:6: ( ruleQualifiedName ) + { + // InternalSolverLanguage.g:2604:6: ( ruleQualifiedName ) + // InternalSolverLanguage.g:2605:7: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getClassDefinitionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); + + } + pushFollow(FOLLOW_42); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop28; + } + } while (true); + + + } + break; + + } + + otherlv_7=(Token)match(input,30,FOLLOW_43); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); + + } + // InternalSolverLanguage.g:2625:3: ( (lv_members_8_0= ruleMemberDefinition ) )* + loop30: + do { + int alt30=2; + int LA30_0 = input.LA(1); + + if ( (LA30_0==RULE_ID||LA30_0==RULE_QUOTED_ID||LA30_0==44) ) { + alt30=1; + } + + + switch (alt30) { + case 1 : + // InternalSolverLanguage.g:2626:4: (lv_members_8_0= ruleMemberDefinition ) + { + // InternalSolverLanguage.g:2626:4: (lv_members_8_0= ruleMemberDefinition ) + // InternalSolverLanguage.g:2627:5: lv_members_8_0= ruleMemberDefinition + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); + + } + pushFollow(FOLLOW_43); + lv_members_8_0=ruleMemberDefinition(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getClassDefinitionRule()); + } + add( + current, + "members", + lv_members_8_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop30; + } + } while (true); + + otherlv_9=(Token)match(input,31,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_9, grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleClassDefinition" + + + // $ANTLR start "entryRuleMemberDefinition" + // InternalSolverLanguage.g:2652:1: entryRuleMemberDefinition returns [EObject current=null] : iv_ruleMemberDefinition= ruleMemberDefinition EOF ; + public final EObject entryRuleMemberDefinition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleMemberDefinition = null; + + + try { + // InternalSolverLanguage.g:2652:57: (iv_ruleMemberDefinition= ruleMemberDefinition EOF ) + // InternalSolverLanguage.g:2653:2: iv_ruleMemberDefinition= ruleMemberDefinition EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getMemberDefinitionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleMemberDefinition=ruleMemberDefinition(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleMemberDefinition; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleMemberDefinition" + + + // $ANTLR start "ruleMemberDefinition" + // 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= ';' )? ) ; + public final EObject ruleMemberDefinition() throws RecognitionException { + EObject current = null; + + Token lv_containment_0_0=null; + Token lv_name_3_0=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_multiplicity_2_0 = null; + + + + enterRule(); + + try { + // 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= ';' )? ) ) + // 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= ';' )? ) + { + // 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= ';' )? ) + // 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= ';' )? + { + // InternalSolverLanguage.g:2667:3: ( (lv_containment_0_0= 'contains' ) )? + int alt31=2; + int LA31_0 = input.LA(1); + + if ( (LA31_0==44) ) { + alt31=1; + } + switch (alt31) { + case 1 : + // InternalSolverLanguage.g:2668:4: (lv_containment_0_0= 'contains' ) + { + // InternalSolverLanguage.g:2668:4: (lv_containment_0_0= 'contains' ) + // InternalSolverLanguage.g:2669:5: lv_containment_0_0= 'contains' + { + lv_containment_0_0=(Token)match(input,44,FOLLOW_35); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_containment_0_0, grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getMemberDefinitionRule()); + } + setWithLastConsumed(current, "containment", true, "contains"); + + } + + } + + + } + break; + + } + + // InternalSolverLanguage.g:2681:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:2682:4: ( ruleQualifiedName ) + { + // InternalSolverLanguage.g:2682:4: ( ruleQualifiedName ) + // InternalSolverLanguage.g:2683:5: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getMemberDefinitionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + + } + pushFollow(FOLLOW_44); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalSolverLanguage.g:2697:3: ( (lv_multiplicity_2_0= ruleMultiplicity ) )? + int alt32=2; + int LA32_0 = input.LA(1); + + if ( (LA32_0==36) ) { + alt32=1; + } + switch (alt32) { + case 1 : + // InternalSolverLanguage.g:2698:4: (lv_multiplicity_2_0= ruleMultiplicity ) + { + // InternalSolverLanguage.g:2698:4: (lv_multiplicity_2_0= ruleMultiplicity ) + // InternalSolverLanguage.g:2699:5: lv_multiplicity_2_0= ruleMultiplicity + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); + + } + pushFollow(FOLLOW_40); + lv_multiplicity_2_0=ruleMultiplicity(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMemberDefinitionRule()); + } + set( + current, + "multiplicity", + lv_multiplicity_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + } + + // InternalSolverLanguage.g:2716:3: ( (lv_name_3_0= RULE_ID ) ) + // InternalSolverLanguage.g:2717:4: (lv_name_3_0= RULE_ID ) + { + // InternalSolverLanguage.g:2717:4: (lv_name_3_0= RULE_ID ) + // InternalSolverLanguage.g:2718:5: lv_name_3_0= RULE_ID + { + lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_45); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getMemberDefinitionRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_3_0, + "org.eclipse.xtext.common.Terminals.ID"); + + } + + } + + + } + + // InternalSolverLanguage.g:2734:3: (otherlv_4= 'opposite' ( ( ruleQualifiedName ) ) )? + int alt33=2; + int LA33_0 = input.LA(1); + + if ( (LA33_0==45) ) { + alt33=1; + } + switch (alt33) { + case 1 : + // InternalSolverLanguage.g:2735:4: otherlv_4= 'opposite' ( ( ruleQualifiedName ) ) + { + otherlv_4=(Token)match(input,45,FOLLOW_35); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); + + } + // InternalSolverLanguage.g:2739:4: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:2740:5: ( ruleQualifiedName ) + { + // InternalSolverLanguage.g:2740:5: ( ruleQualifiedName ) + // InternalSolverLanguage.g:2741:6: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getMemberDefinitionRule()); + } + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); + + } + pushFollow(FOLLOW_18); + ruleQualifiedName(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + // InternalSolverLanguage.g:2756:3: (otherlv_6= ';' )? + int alt34=2; + int LA34_0 = input.LA(1); + + if ( (LA34_0==26) ) { + alt34=1; + } + switch (alt34) { + case 1 : + // InternalSolverLanguage.g:2757:4: otherlv_6= ';' + { + otherlv_6=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); + + } + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleMemberDefinition" + + + // $ANTLR start "entryRuleMultiplicity" + // InternalSolverLanguage.g:2766:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ; + public final EObject entryRuleMultiplicity() throws RecognitionException { + EObject current = null; + + EObject iv_ruleMultiplicity = null; + + + try { + // InternalSolverLanguage.g:2766:53: (iv_ruleMultiplicity= ruleMultiplicity EOF ) + // InternalSolverLanguage.g:2767:2: iv_ruleMultiplicity= ruleMultiplicity EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getMultiplicityRule()); + } + pushFollow(FOLLOW_1); + iv_ruleMultiplicity=ruleMultiplicity(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleMultiplicity; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleMultiplicity" + + + // $ANTLR start "ruleMultiplicity" + // InternalSolverLanguage.g:2773:1: ruleMultiplicity returns [EObject current=null] : (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ; + public final EObject ruleMultiplicity() throws RecognitionException { + EObject current = null; + + EObject this_ManyMultiplicity_0 = null; + + EObject this_ExactMultiplicity_1 = null; + + EObject this_BoundedMultiplicity_2 = null; + + + + enterRule(); + + try { + // InternalSolverLanguage.g:2779:2: ( (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ) + // InternalSolverLanguage.g:2780:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) + { + // InternalSolverLanguage.g:2780:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) + int alt35=3; + int LA35_0 = input.LA(1); + + if ( (LA35_0==36) ) { + switch ( input.LA(2) ) { + case RULE_INT: + { + int LA35_2 = input.LA(3); + + if ( (LA35_2==38) ) { + alt35=2; + } + else if ( (LA35_2==37) ) { + alt35=3; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 35, 2, input); + + throw nvae; + } + } + break; + case 35: + { + alt35=2; + } + break; + case 38: + { + alt35=1; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 35, 1, input); + + throw nvae; + } + + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 35, 0, input); + + throw nvae; + } + switch (alt35) { + case 1 : + // InternalSolverLanguage.g:2781:3: this_ManyMultiplicity_0= ruleManyMultiplicity + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_ManyMultiplicity_0=ruleManyMultiplicity(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ManyMultiplicity_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalSolverLanguage.g:2790:3: this_ExactMultiplicity_1= ruleExactMultiplicity + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_ExactMultiplicity_1=ruleExactMultiplicity(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ExactMultiplicity_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalSolverLanguage.g:2799:3: this_BoundedMultiplicity_2= ruleBoundedMultiplicity + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); + + } + pushFollow(FOLLOW_2); + this_BoundedMultiplicity_2=ruleBoundedMultiplicity(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_BoundedMultiplicity_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleMultiplicity" + + + // $ANTLR start "entryRuleManyMultiplicity" + // InternalSolverLanguage.g:2811:1: entryRuleManyMultiplicity returns [EObject current=null] : iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ; + public final EObject entryRuleManyMultiplicity() throws RecognitionException { + EObject current = null; + + EObject iv_ruleManyMultiplicity = null; + + + try { + // InternalSolverLanguage.g:2811:57: (iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ) + // InternalSolverLanguage.g:2812:2: iv_ruleManyMultiplicity= ruleManyMultiplicity EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getManyMultiplicityRule()); + } + pushFollow(FOLLOW_1); + iv_ruleManyMultiplicity=ruleManyMultiplicity(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleManyMultiplicity; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleManyMultiplicity" + + + // $ANTLR start "ruleManyMultiplicity" + // InternalSolverLanguage.g:2818:1: ruleManyMultiplicity returns [EObject current=null] : ( () otherlv_1= '[' otherlv_2= ']' ) ; + public final EObject ruleManyMultiplicity() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + + + enterRule(); + + try { + // InternalSolverLanguage.g:2824:2: ( ( () otherlv_1= '[' otherlv_2= ']' ) ) + // InternalSolverLanguage.g:2825:2: ( () otherlv_1= '[' otherlv_2= ']' ) + { + // InternalSolverLanguage.g:2825:2: ( () otherlv_1= '[' otherlv_2= ']' ) + // InternalSolverLanguage.g:2826:3: () otherlv_1= '[' otherlv_2= ']' + { + // InternalSolverLanguage.g:2826:3: () + // InternalSolverLanguage.g:2827:4: + { + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,36,FOLLOW_38); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); + + } + otherlv_2=(Token)match(input,38,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleManyMultiplicity" + + + // $ANTLR start "entryRuleExactMultiplicity" + // InternalSolverLanguage.g:2845:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ; + public final EObject entryRuleExactMultiplicity() throws RecognitionException { + EObject current = null; + + EObject iv_ruleExactMultiplicity = null; + + + try { + // InternalSolverLanguage.g:2845:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ) + // InternalSolverLanguage.g:2846:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getExactMultiplicityRule()); + } + pushFollow(FOLLOW_1); + iv_ruleExactMultiplicity=ruleExactMultiplicity(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleExactMultiplicity; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleExactMultiplicity" + + + // $ANTLR start "ruleExactMultiplicity" + // InternalSolverLanguage.g:2852:1: ruleExactMultiplicity returns [EObject current=null] : (otherlv_0= '[' ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= ']' ) ; + public final EObject ruleExactMultiplicity() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + AntlrDatatypeRuleToken lv_multiplicity_1_0 = null; + + + + enterRule(); + + try { + // InternalSolverLanguage.g:2858:2: ( (otherlv_0= '[' ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= ']' ) ) + // InternalSolverLanguage.g:2859:2: (otherlv_0= '[' ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= ']' ) + { + // InternalSolverLanguage.g:2859:2: (otherlv_0= '[' ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= ']' ) + // InternalSolverLanguage.g:2860:3: otherlv_0= '[' ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= ']' + { + otherlv_0=(Token)match(input,36,FOLLOW_46); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); + + } + // InternalSolverLanguage.g:2864:3: ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) + // InternalSolverLanguage.g:2865:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) + { + // InternalSolverLanguage.g:2865:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) + // InternalSolverLanguage.g:2866:5: lv_multiplicity_1_0= ruleUpperMultiplicty + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); + + } + pushFollow(FOLLOW_38); + lv_multiplicity_1_0=ruleUpperMultiplicty(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExactMultiplicityRule()); + } + set( + current, + "multiplicity", + lv_multiplicity_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_2=(Token)match(input,38,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleExactMultiplicity" + + + // $ANTLR start "entryRuleBoundedMultiplicity" + // InternalSolverLanguage.g:2891:1: entryRuleBoundedMultiplicity returns [EObject current=null] : iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ; + public final EObject entryRuleBoundedMultiplicity() throws RecognitionException { + EObject current = null; + + EObject iv_ruleBoundedMultiplicity = null; + + + try { + // InternalSolverLanguage.g:2891:60: (iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ) + // InternalSolverLanguage.g:2892:2: iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getBoundedMultiplicityRule()); + } + pushFollow(FOLLOW_1); + iv_ruleBoundedMultiplicity=ruleBoundedMultiplicity(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleBoundedMultiplicity; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleBoundedMultiplicity" + + + // $ANTLR start "ruleBoundedMultiplicity" + // 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= ']' ) ; + public final EObject ruleBoundedMultiplicity() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_lowerBound_1_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + AntlrDatatypeRuleToken lv_upperBound_3_0 = null; + + + + enterRule(); + + try { + // InternalSolverLanguage.g:2904:2: ( (otherlv_0= '[' ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= ']' ) ) + // InternalSolverLanguage.g:2905:2: (otherlv_0= '[' ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= ']' ) + { + // InternalSolverLanguage.g:2905:2: (otherlv_0= '[' ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= ']' ) + // InternalSolverLanguage.g:2906:3: otherlv_0= '[' ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= ']' + { + otherlv_0=(Token)match(input,36,FOLLOW_47); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); + + } + // InternalSolverLanguage.g:2910:3: ( (lv_lowerBound_1_0= RULE_INT ) ) + // InternalSolverLanguage.g:2911:4: (lv_lowerBound_1_0= RULE_INT ) + { + // InternalSolverLanguage.g:2911:4: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguage.g:2912:5: lv_lowerBound_1_0= RULE_INT + { + lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_37); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getBoundedMultiplicityRule()); + } + setWithLastConsumed( + current, + "lowerBound", + lv_lowerBound_1_0, + "org.eclipse.xtext.common.Terminals.INT"); + + } + + } + + + } + + otherlv_2=(Token)match(input,37,FOLLOW_46); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); + + } + // InternalSolverLanguage.g:2932:3: ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) + // InternalSolverLanguage.g:2933:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) + { + // InternalSolverLanguage.g:2933:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) + // InternalSolverLanguage.g:2934:5: lv_upperBound_3_0= ruleUpperMultiplicty + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); + + } + pushFollow(FOLLOW_38); + lv_upperBound_3_0=ruleUpperMultiplicty(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBoundedMultiplicityRule()); + } + set( + current, + "upperBound", + lv_upperBound_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,38,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleBoundedMultiplicity" + + + // $ANTLR start "entryRuleScopeDefinition" + // InternalSolverLanguage.g:2959:1: entryRuleScopeDefinition returns [EObject current=null] : iv_ruleScopeDefinition= ruleScopeDefinition EOF ; + public final EObject entryRuleScopeDefinition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleScopeDefinition = null; + + + try { + // InternalSolverLanguage.g:2959:56: (iv_ruleScopeDefinition= ruleScopeDefinition EOF ) + // InternalSolverLanguage.g:2960:2: iv_ruleScopeDefinition= ruleScopeDefinition EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getScopeDefinitionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleScopeDefinition=ruleScopeDefinition(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleScopeDefinition; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleScopeDefinition" + + + // $ANTLR start "ruleScopeDefinition" + // InternalSolverLanguage.g:2966:1: ruleScopeDefinition returns [EObject current=null] : (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ; + public final EObject ruleScopeDefinition() throws RecognitionException { + EObject current = null; + + EObject this_ExactScopeDefinition_0 = null; + + EObject this_BoundedScopeDefinition_1 = null; + + EObject this_LowerBoundedScopeDefinition_2 = null; + + + + enterRule(); + + try { + // InternalSolverLanguage.g:2972:2: ( (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ) + // InternalSolverLanguage.g:2973:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) + { + // InternalSolverLanguage.g:2973:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) + int alt36=3; + alt36 = dfa36.predict(input); + switch (alt36) { + case 1 : + // InternalSolverLanguage.g:2974:3: this_ExactScopeDefinition_0= ruleExactScopeDefinition + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + this_ExactScopeDefinition_0=ruleExactScopeDefinition(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ExactScopeDefinition_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalSolverLanguage.g:2983:3: this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition + { + if ( state.backtracking==0 ) { - EObject lv_closureType_7_0 = null; + newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_BoundedScopeDefinition_1=ruleBoundedScopeDefinition(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_BoundedScopeDefinition_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalSolverLanguage.g:2992:3: this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); + + } + pushFollow(FOLLOW_2); + this_LowerBoundedScopeDefinition_2=ruleLowerBoundedScopeDefinition(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_LowerBoundedScopeDefinition_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleScopeDefinition" + + + // $ANTLR start "entryRuleExactScopeDefinition" + // InternalSolverLanguage.g:3004:1: entryRuleExactScopeDefinition returns [EObject current=null] : iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ; + public final EObject entryRuleExactScopeDefinition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleExactScopeDefinition = null; + + + try { + // InternalSolverLanguage.g:3004:61: (iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ) + // InternalSolverLanguage.g:3005:2: iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getExactScopeDefinitionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleExactScopeDefinition=ruleExactScopeDefinition(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleExactScopeDefinition; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleExactScopeDefinition" - EObject lv_params_9_0 = null; - EObject lv_params_11_0 = null; + // $ANTLR start "ruleExactScopeDefinition" + // InternalSolverLanguage.g:3011:1: ruleExactScopeDefinition returns [EObject current=null] : (otherlv_0= 'scope' ( ( ruleQualifiedName ) ) otherlv_2= '==' ( (lv_exactScope_3_0= RULE_INT ) ) ) ; + public final EObject ruleExactScopeDefinition() throws RecognitionException { + EObject current = null; + Token otherlv_0=null; + Token otherlv_2=null; + Token lv_exactScope_3_0=null; enterRule(); try { - // 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= ')' ) ) ) - // 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= ')' ) ) + // InternalSolverLanguage.g:3017:2: ( (otherlv_0= 'scope' ( ( ruleQualifiedName ) ) otherlv_2= '==' ( (lv_exactScope_3_0= RULE_INT ) ) ) ) + // InternalSolverLanguage.g:3018:2: (otherlv_0= 'scope' ( ( ruleQualifiedName ) ) otherlv_2= '==' ( (lv_exactScope_3_0= RULE_INT ) ) ) { - // 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= ')' ) ) - int alt33=2; - switch ( input.LA(1) ) { - case 30: - { - int LA33_1 = input.LA(2); + // InternalSolverLanguage.g:3018:2: (otherlv_0= 'scope' ( ( ruleQualifiedName ) ) otherlv_2= '==' ( (lv_exactScope_3_0= RULE_INT ) ) ) + // InternalSolverLanguage.g:3019:3: otherlv_0= 'scope' ( ( ruleQualifiedName ) ) otherlv_2= '==' ( (lv_exactScope_3_0= RULE_INT ) ) + { + otherlv_0=(Token)match(input,46,FOLLOW_35); if (state.failed) return current; + if ( state.backtracking==0 ) { - if ( (LA33_1==17) ) { - alt33=2; - } - else if ( (LA33_1==RULE_ID) ) { - alt33=1; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 33, 1, input); + newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); + + } + // InternalSolverLanguage.g:3023:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:3024:4: ( ruleQualifiedName ) + { + // InternalSolverLanguage.g:3024:4: ( ruleQualifiedName ) + // InternalSolverLanguage.g:3025:5: ruleQualifiedName + { + if ( state.backtracking==0 ) { - throw nvae; - } - } - break; - case RULE_ID: - case 11: - { - alt33=1; - } - break; - case 31: - { - alt33=2; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 33, 0, input); + if (current==null) { + current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); + } + + } + if ( state.backtracking==0 ) { - throw nvae; + newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + } + pushFollow(FOLLOW_48); + ruleQualifiedName(); - switch (alt33) { - case 1 : - // 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= ')' )? ) - { - // 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= ')' )? ) - // 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= ')' )? - { - // InternalSolverLanguage.g:1559:4: ( (lv_polarity_0_0= rulePolarity ) )? - int alt27=2; - int LA27_0 = input.LA(1); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - if ( (LA27_0==11||LA27_0==30) ) { - alt27=1; - } - switch (alt27) { - case 1 : - // InternalSolverLanguage.g:1560:5: (lv_polarity_0_0= rulePolarity ) - { - // InternalSolverLanguage.g:1560:5: (lv_polarity_0_0= rulePolarity ) - // InternalSolverLanguage.g:1561:6: lv_polarity_0_0= rulePolarity - { + afterParserOrEnumRuleCall(); + + } - newCompositeNode(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0()); - - pushFollow(FOLLOW_12); - lv_polarity_0_0=rulePolarity(); + } - state._fsp--; + } - if (current==null) { - current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - set( - current, - "polarity", - lv_polarity_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Polarity"); - afterParserOrEnumRuleCall(); - + otherlv_2=(Token)match(input,47,FOLLOW_47); if (state.failed) return current; + if ( state.backtracking==0 ) { - } + newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); + + } + // InternalSolverLanguage.g:3043:3: ( (lv_exactScope_3_0= RULE_INT ) ) + // InternalSolverLanguage.g:3044:4: (lv_exactScope_3_0= RULE_INT ) + { + // InternalSolverLanguage.g:3044:4: (lv_exactScope_3_0= RULE_INT ) + // InternalSolverLanguage.g:3045:5: lv_exactScope_3_0= RULE_INT + { + lv_exactScope_3_0=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + newLeafNode(lv_exactScope_3_0, grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); + + } + if ( state.backtracking==0 ) { - } - break; + if (current==null) { + current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); + } + setWithLastConsumed( + current, + "exactScope", + lv_exactScope_3_0, + "org.eclipse.xtext.common.Terminals.INT"); + + } - } + } - // InternalSolverLanguage.g:1578:4: ( (lv_symbol_1_0= ruleModelSymbol ) ) - // InternalSolverLanguage.g:1579:5: (lv_symbol_1_0= ruleModelSymbol ) - { - // InternalSolverLanguage.g:1579:5: (lv_symbol_1_0= ruleModelSymbol ) - // InternalSolverLanguage.g:1580:6: lv_symbol_1_0= ruleModelSymbol - { - newCompositeNode(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0()); - - pushFollow(FOLLOW_23); - lv_symbol_1_0=ruleModelSymbol(); + } - state._fsp--; + } - if (current==null) { - current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - set( - current, - "symbol", - lv_symbol_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); - afterParserOrEnumRuleCall(); - - } + } + if ( state.backtracking==0 ) { - } + leaveRule(); - // InternalSolverLanguage.g:1597:4: (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? - int alt30=2; - int LA30_0 = input.LA(1); + } + } - if ( (LA30_0==17) ) { - alt30=1; - } - switch (alt30) { - case 1 : - // InternalSolverLanguage.g:1598:5: otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' - { - otherlv_2=(Token)match(input,17,FOLLOW_24); + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleExactScopeDefinition" - newLeafNode(otherlv_2, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()); - - // InternalSolverLanguage.g:1602:5: ( (lv_params_3_0= ruleLiteral ) )? - int alt28=2; - int LA28_0 = input.LA(1); - if ( ((LA28_0>=RULE_INT && LA28_0<=RULE_STRING)||LA28_0==11||(LA28_0>=13 && LA28_0<=14)||LA28_0==27) ) { - alt28=1; - } - switch (alt28) { - case 1 : - // InternalSolverLanguage.g:1603:6: (lv_params_3_0= ruleLiteral ) - { - // InternalSolverLanguage.g:1603:6: (lv_params_3_0= ruleLiteral ) - // InternalSolverLanguage.g:1604:7: lv_params_3_0= ruleLiteral - { + // $ANTLR start "entryRuleBoundedScopeDefinition" + // InternalSolverLanguage.g:3065:1: entryRuleBoundedScopeDefinition returns [EObject current=null] : iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ; + public final EObject entryRuleBoundedScopeDefinition() throws RecognitionException { + EObject current = null; - newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0()); - - pushFollow(FOLLOW_8); - lv_params_3_0=ruleLiteral(); + EObject iv_ruleBoundedScopeDefinition = null; - state._fsp--; + try { + // InternalSolverLanguage.g:3065:63: (iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ) + // InternalSolverLanguage.g:3066:2: iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule()); + } + pushFollow(FOLLOW_1); + iv_ruleBoundedScopeDefinition=ruleBoundedScopeDefinition(); - if (current==null) { - current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - add( - current, - "params", - lv_params_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); - afterParserOrEnumRuleCall(); - + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleBoundedScopeDefinition; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; - } + } + } - } - break; + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleBoundedScopeDefinition" - } - // InternalSolverLanguage.g:1621:5: (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* - loop29: - do { - int alt29=2; - int LA29_0 = input.LA(1); + // $ANTLR start "ruleBoundedScopeDefinition" + // 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= '.' ) ; + public final EObject ruleBoundedScopeDefinition() throws RecognitionException { + EObject current = null; - if ( (LA29_0==18) ) { - alt29=1; - } + Token otherlv_0=null; + Token lv_lowerBound_1_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token lv_upperBound_5_0=null; + Token lv_upperBound_6_0=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token lv_lowerBound_10_0=null; + Token otherlv_11=null; - switch (alt29) { - case 1 : - // InternalSolverLanguage.g:1622:6: otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) - { - otherlv_4=(Token)match(input,18,FOLLOW_25); + enterRule(); - newLeafNode(otherlv_4, grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0()); - - // InternalSolverLanguage.g:1626:6: ( (lv_params_5_0= ruleLiteral ) ) - // InternalSolverLanguage.g:1627:7: (lv_params_5_0= ruleLiteral ) - { - // InternalSolverLanguage.g:1627:7: (lv_params_5_0= ruleLiteral ) - // InternalSolverLanguage.g:1628:8: lv_params_5_0= ruleLiteral - { + try { + // 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= '.' ) ) + // 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= '.' ) + { + // 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= '.' ) + // 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= '.' + { + otherlv_0=(Token)match(input,46,FOLLOW_49); if (state.failed) return current; + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0()); - - pushFollow(FOLLOW_8); - lv_params_5_0=ruleLiteral(); + newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); + + } + // 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 ) ) )? ) ) + int alt39=2; + int LA39_0 = input.LA(1); - state._fsp--; + if ( (LA39_0==RULE_INT) ) { + int LA39_1 = input.LA(2); + if ( (LA39_1==49) ) { + alt39=2; + } + else if ( (LA39_1==48) ) { + alt39=1; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 39, 1, input); - if (current==null) { - current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - add( - current, - "params", - lv_params_5_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); - afterParserOrEnumRuleCall(); - + throw nvae; + } + } + else if ( (LA39_0==RULE_ID||LA39_0==RULE_QUOTED_ID) ) { + alt39=1; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 39, 0, input); - } + throw nvae; + } + switch (alt39) { + case 1 : + // InternalSolverLanguage.g:3085:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) ) + { + // InternalSolverLanguage.g:3085:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) ) + // InternalSolverLanguage.g:3086:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) + { + // InternalSolverLanguage.g:3086:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? + int alt37=2; + int LA37_0 = input.LA(1); + if ( (LA37_0==RULE_INT) ) { + alt37=1; + } + switch (alt37) { + case 1 : + // InternalSolverLanguage.g:3087:6: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' + { + // InternalSolverLanguage.g:3087:6: ( (lv_lowerBound_1_0= RULE_INT ) ) + // InternalSolverLanguage.g:3088:7: (lv_lowerBound_1_0= RULE_INT ) + { + // InternalSolverLanguage.g:3088:7: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguage.g:3089:8: lv_lowerBound_1_0= RULE_INT + { + lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_50); if (state.failed) return current; + if ( state.backtracking==0 ) { - } + newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + current, + "lowerBound", + lv_lowerBound_1_0, + "org.eclipse.xtext.common.Terminals.INT"); + + } + } - } - break; - default : - break loop29; - } - } while (true); + } - otherlv_6=(Token)match(input,19,FOLLOW_2); + otherlv_2=(Token)match(input,48,FOLLOW_35); if (state.failed) return current; + if ( state.backtracking==0 ) { - newLeafNode(otherlv_6, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3()); - + newLeafNode(otherlv_2, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); + + } } break; } + // InternalSolverLanguage.g:3110:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:3111:6: ( ruleQualifiedName ) + { + // InternalSolverLanguage.g:3111:6: ( ruleQualifiedName ) + // InternalSolverLanguage.g:3112:7: ruleQualifiedName + { + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + + } + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); + } + pushFollow(FOLLOW_50); + ruleQualifiedName(); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + afterParserOrEnumRuleCall(); + } - break; - case 2 : - // 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= ')' ) - { - // 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= ')' ) - // 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= ')' - { - // InternalSolverLanguage.g:1654:4: ( (lv_closureType_7_0= ruleClosureType ) ) - // InternalSolverLanguage.g:1655:5: (lv_closureType_7_0= ruleClosureType ) - { - // InternalSolverLanguage.g:1655:5: (lv_closureType_7_0= ruleClosureType ) - // InternalSolverLanguage.g:1656:6: lv_closureType_7_0= ruleClosureType - { - newCompositeNode(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0()); - - pushFollow(FOLLOW_26); - lv_closureType_7_0=ruleClosureType(); + } - state._fsp--; + } - if (current==null) { - current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - set( - current, - "closureType", - lv_closureType_7_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType"); - afterParserOrEnumRuleCall(); - + otherlv_4=(Token)match(input,48,FOLLOW_47); if (state.failed) return current; + if ( state.backtracking==0 ) { + newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); + } + // InternalSolverLanguage.g:3130:5: ( (lv_upperBound_5_0= RULE_INT ) ) + // InternalSolverLanguage.g:3131:6: (lv_upperBound_5_0= RULE_INT ) + { + // InternalSolverLanguage.g:3131:6: (lv_upperBound_5_0= RULE_INT ) + // InternalSolverLanguage.g:3132:7: lv_upperBound_5_0= RULE_INT + { + lv_upperBound_5_0=(Token)match(input,RULE_INT,FOLLOW_12); if (state.failed) return current; + if ( state.backtracking==0 ) { + newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + current, + "upperBound", + lv_upperBound_5_0, + "org.eclipse.xtext.common.Terminals.INT"); + + } } - otherlv_8=(Token)match(input,17,FOLLOW_24); - newLeafNode(otherlv_8, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1()); - - // InternalSolverLanguage.g:1677:4: ( (lv_params_9_0= ruleLiteral ) )? - int alt31=2; - int LA31_0 = input.LA(1); + } + - if ( ((LA31_0>=RULE_INT && LA31_0<=RULE_STRING)||LA31_0==11||(LA31_0>=13 && LA31_0<=14)||LA31_0==27) ) { - alt31=1; } - switch (alt31) { - case 1 : - // InternalSolverLanguage.g:1678:5: (lv_params_9_0= ruleLiteral ) - { - // InternalSolverLanguage.g:1678:5: (lv_params_9_0= ruleLiteral ) - // InternalSolverLanguage.g:1679:6: lv_params_9_0= ruleLiteral - { - newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0()); - - pushFollow(FOLLOW_8); - lv_params_9_0=ruleLiteral(); - state._fsp--; + } + break; + case 2 : + // InternalSolverLanguage.g:3150:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) + { + // InternalSolverLanguage.g:3150:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) + // InternalSolverLanguage.g:3151:5: ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? + { + // InternalSolverLanguage.g:3151:5: ( (lv_upperBound_6_0= RULE_INT ) ) + // InternalSolverLanguage.g:3152:6: (lv_upperBound_6_0= RULE_INT ) + { + // InternalSolverLanguage.g:3152:6: (lv_upperBound_6_0= RULE_INT ) + // InternalSolverLanguage.g:3153:7: lv_upperBound_6_0= RULE_INT + { + lv_upperBound_6_0=(Token)match(input,RULE_INT,FOLLOW_51); if (state.failed) return current; + if ( state.backtracking==0 ) { + newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + current, + "upperBound", + lv_upperBound_6_0, + "org.eclipse.xtext.common.Terminals.INT"); + + } - if (current==null) { - current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - add( - current, - "params", - lv_params_9_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); - afterParserOrEnumRuleCall(); - + } - } + } - } - break; + otherlv_7=(Token)match(input,49,FOLLOW_35); if (state.failed) return current; + if ( state.backtracking==0 ) { + newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); + } + // InternalSolverLanguage.g:3173:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:3174:6: ( ruleQualifiedName ) + { + // InternalSolverLanguage.g:3174:6: ( ruleQualifiedName ) + // InternalSolverLanguage.g:3175:7: ruleQualifiedName + { + if ( state.backtracking==0 ) { - // InternalSolverLanguage.g:1696:4: (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* - loop32: - do { - int alt32=2; - int LA32_0 = input.LA(1); + if (current==null) { + current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + + } + if ( state.backtracking==0 ) { - if ( (LA32_0==18) ) { - alt32=1; - } + newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); + + } + pushFollow(FOLLOW_52); + ruleQualifiedName(); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - switch (alt32) { - case 1 : - // InternalSolverLanguage.g:1697:5: otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) - { - otherlv_10=(Token)match(input,18,FOLLOW_25); + afterParserOrEnumRuleCall(); + + } - newLeafNode(otherlv_10, grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0()); - - // InternalSolverLanguage.g:1701:5: ( (lv_params_11_0= ruleLiteral ) ) - // InternalSolverLanguage.g:1702:6: (lv_params_11_0= ruleLiteral ) - { - // InternalSolverLanguage.g:1702:6: (lv_params_11_0= ruleLiteral ) - // InternalSolverLanguage.g:1703:7: lv_params_11_0= ruleLiteral - { + } - newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0()); - - pushFollow(FOLLOW_8); - lv_params_11_0=ruleLiteral(); - state._fsp--; + } + + // InternalSolverLanguage.g:3189:5: (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? + int alt38=2; + int LA38_0 = input.LA(1); + if ( (LA38_0==49) ) { + alt38=1; + } + switch (alt38) { + case 1 : + // InternalSolverLanguage.g:3190:6: otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) + { + otherlv_9=(Token)match(input,49,FOLLOW_47); if (state.failed) return current; + if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - add( - current, - "params", - lv_params_11_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); - afterParserOrEnumRuleCall(); - + newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); + + } + // InternalSolverLanguage.g:3194:6: ( (lv_lowerBound_10_0= RULE_INT ) ) + // InternalSolverLanguage.g:3195:7: (lv_lowerBound_10_0= RULE_INT ) + { + // InternalSolverLanguage.g:3195:7: (lv_lowerBound_10_0= RULE_INT ) + // InternalSolverLanguage.g:3196:8: lv_lowerBound_10_0= RULE_INT + { + lv_lowerBound_10_0=(Token)match(input,RULE_INT,FOLLOW_12); if (state.failed) return current; + if ( state.backtracking==0 ) { - } + newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + current, + "lowerBound", + lv_lowerBound_10_0, + "org.eclipse.xtext.common.Terminals.INT"); + + } + } - } + } - } - break; - default : - break loop32; - } - } while (true); + } + break; - otherlv_12=(Token)match(input,19,FOLLOW_2); + } - newLeafNode(otherlv_12, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4()); - } @@ -5003,12 +9214,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + otherlv_11=(Token)match(input,22,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + newLeafNode(otherlv_11, grammarAccess.getBoundedScopeDefinitionAccess().getFullStopKeyword_2()); + } + } + + + } - leaveRule(); + if ( state.backtracking==0 ) { + leaveRule(); + + } } catch (RecognitionException re) { @@ -5019,29 +9241,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleConstraint" + // $ANTLR end "ruleBoundedScopeDefinition" - // $ANTLR start "entryRuleClosureType" - // InternalSolverLanguage.g:1730:1: entryRuleClosureType returns [EObject current=null] : iv_ruleClosureType= ruleClosureType EOF ; - public final EObject entryRuleClosureType() throws RecognitionException { + // $ANTLR start "entryRuleLowerBoundedScopeDefinition" + // InternalSolverLanguage.g:3223:1: entryRuleLowerBoundedScopeDefinition returns [EObject current=null] : iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ; + public final EObject entryRuleLowerBoundedScopeDefinition() throws RecognitionException { EObject current = null; - EObject iv_ruleClosureType = null; + EObject iv_ruleLowerBoundedScopeDefinition = null; try { - // InternalSolverLanguage.g:1730:52: (iv_ruleClosureType= ruleClosureType EOF ) - // InternalSolverLanguage.g:1731:2: iv_ruleClosureType= ruleClosureType EOF + // InternalSolverLanguage.g:3223:68: (iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ) + // InternalSolverLanguage.g:3224:2: iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF { - newCompositeNode(grammarAccess.getClosureTypeRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } pushFollow(FOLLOW_1); - iv_ruleClosureType=ruleClosureType(); + iv_ruleLowerBoundedScopeDefinition=ruleLowerBoundedScopeDefinition(); state._fsp--; - - current =iv_ruleClosureType; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleLowerBoundedScopeDefinition; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -5055,265 +9281,239 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleClosureType" + // $ANTLR end "entryRuleLowerBoundedScopeDefinition" - // $ANTLR start "ruleClosureType" - // InternalSolverLanguage.g:1737:1: ruleClosureType returns [EObject current=null] : ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) ; - public final EObject ruleClosureType() throws RecognitionException { + // $ANTLR start "ruleLowerBoundedScopeDefinition" + // 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= '.' ) ; + public final EObject ruleLowerBoundedScopeDefinition() throws RecognitionException { EObject current = null; - Token otherlv_1=null; - Token otherlv_3=null; + Token otherlv_0=null; + Token lv_lowerBound_1_0=null; + Token otherlv_2=null; + Token otherlv_5=null; + Token lv_lowerBound_6_0=null; + Token otherlv_7=null; enterRule(); try { - // InternalSolverLanguage.g:1743:2: ( ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) ) - // InternalSolverLanguage.g:1744:2: ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) + // 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= '.' ) ) + // 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= '.' ) { - // InternalSolverLanguage.g:1744:2: ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) - int alt34=2; - int LA34_0 = input.LA(1); + // 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= '.' ) + // 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= '.' + { + otherlv_0=(Token)match(input,46,FOLLOW_49); if (state.failed) return current; + if ( state.backtracking==0 ) { - if ( (LA34_0==31) ) { - alt34=1; + newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); + + } + // InternalSolverLanguage.g:3242:3: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) + int alt40=2; + int LA40_0 = input.LA(1); + + if ( (LA40_0==RULE_INT) ) { + alt40=1; } - else if ( (LA34_0==30) ) { - alt34=2; + else if ( (LA40_0==RULE_ID||LA40_0==RULE_QUOTED_ID) ) { + alt40=2; } else { + if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 34, 0, input); + new NoViableAltException("", 40, 0, input); throw nvae; } - switch (alt34) { + switch (alt40) { case 1 : - // InternalSolverLanguage.g:1745:3: ( () otherlv_1= '*' ) + // InternalSolverLanguage.g:3243:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) ) { - // InternalSolverLanguage.g:1745:3: ( () otherlv_1= '*' ) - // InternalSolverLanguage.g:1746:4: () otherlv_1= '*' + // InternalSolverLanguage.g:3243:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguage.g:3244:5: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) { - // InternalSolverLanguage.g:1746:4: () - // InternalSolverLanguage.g:1747:5: + // InternalSolverLanguage.g:3244:5: ( (lv_lowerBound_1_0= RULE_INT ) ) + // InternalSolverLanguage.g:3245:6: (lv_lowerBound_1_0= RULE_INT ) { + // InternalSolverLanguage.g:3245:6: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguage.g:3246:7: lv_lowerBound_1_0= RULE_INT + { + lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_50); if (state.failed) return current; + if ( state.backtracking==0 ) { - current = forceCreateModelElement( - grammarAccess.getClosureTypeAccess().getReflexiveClosureAction_0_0(), - current); - - + newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + current, + "lowerBound", + lv_lowerBound_1_0, + "org.eclipse.xtext.common.Terminals.INT"); + } - otherlv_1=(Token)match(input,31,FOLLOW_2); + } - newLeafNode(otherlv_1, grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1()); - } + otherlv_2=(Token)match(input,48,FOLLOW_35); if (state.failed) return current; + if ( state.backtracking==0 ) { + newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); + } - break; - case 2 : - // InternalSolverLanguage.g:1759:3: ( () otherlv_3= '+' ) + // InternalSolverLanguage.g:3266:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:3267:6: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:1759:3: ( () otherlv_3= '+' ) - // InternalSolverLanguage.g:1760:4: () otherlv_3= '+' + // InternalSolverLanguage.g:3267:6: ( ruleQualifiedName ) + // InternalSolverLanguage.g:3268:7: ruleQualifiedName { - // InternalSolverLanguage.g:1760:4: () - // InternalSolverLanguage.g:1761:5: - { - - current = forceCreateModelElement( - grammarAccess.getClosureTypeAccess().getIrreflexiveClosureAction_1_0(), - current); - + if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + } + if ( state.backtracking==0 ) { - otherlv_3=(Token)match(input,30,FOLLOW_2); - - newLeafNode(otherlv_3, grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1()); - - + newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); + } + pushFollow(FOLLOW_12); + ruleQualifiedName(); + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + afterParserOrEnumRuleCall(); + } - break; - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleClosureType" - - - // $ANTLR start "entryRuleLiteral" - // InternalSolverLanguage.g:1776:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; - public final EObject entryRuleLiteral() throws RecognitionException { - EObject current = null; - - EObject iv_ruleLiteral = null; - - - try { - // InternalSolverLanguage.g:1776:48: (iv_ruleLiteral= ruleLiteral EOF ) - // InternalSolverLanguage.g:1777:2: iv_ruleLiteral= ruleLiteral EOF - { - newCompositeNode(grammarAccess.getLiteralRule()); - pushFollow(FOLLOW_1); - iv_ruleLiteral=ruleLiteral(); - state._fsp--; + } - current =iv_ruleLiteral; - match(input,EOF,FOLLOW_2); - } + } - } - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleLiteral" + } - // $ANTLR start "ruleLiteral" - // InternalSolverLanguage.g:1783:1: ruleLiteral returns [EObject current=null] : (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject | this_NamedObject_2= ruleNamedObject ) ; - public final EObject ruleLiteral() throws RecognitionException { - EObject current = null; + } + break; + case 2 : + // InternalSolverLanguage.g:3284:4: ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) ) + { + // InternalSolverLanguage.g:3284:4: ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) ) + // InternalSolverLanguage.g:3285:5: ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) + { + // InternalSolverLanguage.g:3285:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguage.g:3286:6: ( ruleQualifiedName ) + { + // InternalSolverLanguage.g:3286:6: ( ruleQualifiedName ) + // InternalSolverLanguage.g:3287:7: ruleQualifiedName + { + if ( state.backtracking==0 ) { - EObject this_Variable_0 = null; + if (current==null) { + current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + + } + if ( state.backtracking==0 ) { - EObject this_DataObject_1 = null; + newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); + + } + pushFollow(FOLLOW_51); + ruleQualifiedName(); - EObject this_NamedObject_2 = null; + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + afterParserOrEnumRuleCall(); + + } + } - enterRule(); - try { - // InternalSolverLanguage.g:1789:2: ( (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject | this_NamedObject_2= ruleNamedObject ) ) - // InternalSolverLanguage.g:1790:2: (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject | this_NamedObject_2= ruleNamedObject ) - { - // InternalSolverLanguage.g:1790:2: (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject | this_NamedObject_2= ruleNamedObject ) - int alt35=3; - switch ( input.LA(1) ) { - case RULE_ID: - { - alt35=1; - } - break; - case RULE_INT: - case RULE_STRING: - case 11: - case 13: - case 14: - { - alt35=2; - } - break; - case 27: - { - alt35=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 35, 0, input); + } - throw nvae; - } + otherlv_5=(Token)match(input,49,FOLLOW_47); if (state.failed) return current; + if ( state.backtracking==0 ) { - switch (alt35) { - case 1 : - // InternalSolverLanguage.g:1791:3: this_Variable_0= ruleVariable + newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); + + } + // InternalSolverLanguage.g:3305:5: ( (lv_lowerBound_6_0= RULE_INT ) ) + // InternalSolverLanguage.g:3306:6: (lv_lowerBound_6_0= RULE_INT ) { + // InternalSolverLanguage.g:3306:6: (lv_lowerBound_6_0= RULE_INT ) + // InternalSolverLanguage.g:3307:7: lv_lowerBound_6_0= RULE_INT + { + lv_lowerBound_6_0=(Token)match(input,RULE_INT,FOLLOW_12); if (state.failed) return current; + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0()); - - pushFollow(FOLLOW_2); - this_Variable_0=ruleVariable(); - - state._fsp--; + newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + current, + "lowerBound", + lv_lowerBound_6_0, + "org.eclipse.xtext.common.Terminals.INT"); + + } + } - current = this_Variable_0; - afterParserOrEnumRuleCall(); - } - break; - case 2 : - // InternalSolverLanguage.g:1800:3: this_DataObject_1= ruleDataObject - { - - newCompositeNode(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_DataObject_1=ruleDataObject(); - state._fsp--; + } - current = this_DataObject_1; - afterParserOrEnumRuleCall(); - } break; - case 3 : - // InternalSolverLanguage.g:1809:3: this_NamedObject_2= ruleNamedObject - { - - newCompositeNode(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2()); - - pushFollow(FOLLOW_2); - this_NamedObject_2=ruleNamedObject(); - - state._fsp--; + } - current = this_NamedObject_2; - afterParserOrEnumRuleCall(); - + otherlv_7=(Token)match(input,22,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - } - break; + newLeafNode(otherlv_7, grammarAccess.getLowerBoundedScopeDefinitionAccess().getFullStopKeyword_2()); + + } } } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -5324,29 +9524,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleLiteral" + // $ANTLR end "ruleLowerBoundedScopeDefinition" - // $ANTLR start "entryRuleVariable" - // InternalSolverLanguage.g:1821:1: entryRuleVariable returns [EObject current=null] : iv_ruleVariable= ruleVariable EOF ; - public final EObject entryRuleVariable() throws RecognitionException { + // $ANTLR start "entryRuleObjectiveDefinition" + // InternalSolverLanguage.g:3333:1: entryRuleObjectiveDefinition returns [EObject current=null] : iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ; + public final EObject entryRuleObjectiveDefinition() throws RecognitionException { EObject current = null; - EObject iv_ruleVariable = null; + EObject iv_ruleObjectiveDefinition = null; try { - // InternalSolverLanguage.g:1821:49: (iv_ruleVariable= ruleVariable EOF ) - // InternalSolverLanguage.g:1822:2: iv_ruleVariable= ruleVariable EOF + // InternalSolverLanguage.g:3333:60: (iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ) + // InternalSolverLanguage.g:3334:2: iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF { - newCompositeNode(grammarAccess.getVariableRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getObjectiveDefinitionRule()); + } pushFollow(FOLLOW_1); - iv_ruleVariable=ruleVariable(); + iv_ruleObjectiveDefinition=ruleObjectiveDefinition(); state._fsp--; - - current =iv_ruleVariable; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleObjectiveDefinition; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -5360,152 +9564,93 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleVariable" + // $ANTLR end "entryRuleObjectiveDefinition" - // $ANTLR start "ruleVariable" - // InternalSolverLanguage.g:1828:1: ruleVariable returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; - public final EObject ruleVariable() throws RecognitionException { + // $ANTLR start "ruleObjectiveDefinition" + // InternalSolverLanguage.g:3340:1: ruleObjectiveDefinition returns [EObject current=null] : ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ; + public final EObject ruleObjectiveDefinition() throws RecognitionException { EObject current = null; - Token lv_name_0_0=null; + Enumerator lv_kind_0_0 = null; + + EObject lv_objective_1_0 = null; + enterRule(); try { - // InternalSolverLanguage.g:1834:2: ( ( (lv_name_0_0= RULE_ID ) ) ) - // InternalSolverLanguage.g:1835:2: ( (lv_name_0_0= RULE_ID ) ) + // InternalSolverLanguage.g:3346:2: ( ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ) + // InternalSolverLanguage.g:3347:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) { - // InternalSolverLanguage.g:1835:2: ( (lv_name_0_0= RULE_ID ) ) - // InternalSolverLanguage.g:1836:3: (lv_name_0_0= RULE_ID ) + // InternalSolverLanguage.g:3347:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) + // InternalSolverLanguage.g:3348:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) { - // InternalSolverLanguage.g:1836:3: (lv_name_0_0= RULE_ID ) - // InternalSolverLanguage.g:1837:4: lv_name_0_0= RULE_ID + // InternalSolverLanguage.g:3348:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) + // InternalSolverLanguage.g:3349:4: (lv_kind_0_0= ruleObjectiveKind ) { - lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2); - - newLeafNode(lv_name_0_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getVariableRule()); - } - setWithLastConsumed( - current, - "name", - lv_name_0_0, - "org.eclipse.xtext.common.Terminals.ID"); - - - } - - - } - - - } - - - leaveRule(); - - } + // InternalSolverLanguage.g:3349:4: (lv_kind_0_0= ruleObjectiveKind ) + // InternalSolverLanguage.g:3350:5: lv_kind_0_0= ruleObjectiveKind + { + if ( state.backtracking==0 ) { - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); + newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); + } - finally { - } - return current; - } - // $ANTLR end "ruleVariable" - - - // $ANTLR start "entryRuleAllInstances" - // InternalSolverLanguage.g:1856:1: entryRuleAllInstances returns [EObject current=null] : iv_ruleAllInstances= ruleAllInstances EOF ; - public final EObject entryRuleAllInstances() throws RecognitionException { - EObject current = null; - - EObject iv_ruleAllInstances = null; - - - try { - // InternalSolverLanguage.g:1856:53: (iv_ruleAllInstances= ruleAllInstances EOF ) - // InternalSolverLanguage.g:1857:2: iv_ruleAllInstances= ruleAllInstances EOF - { - newCompositeNode(grammarAccess.getAllInstancesRule()); - pushFollow(FOLLOW_1); - iv_ruleAllInstances=ruleAllInstances(); + pushFollow(FOLLOW_6); + lv_kind_0_0=ruleObjectiveKind(); state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - current =iv_ruleAllInstances; - match(input,EOF,FOLLOW_2); - + if (current==null) { + current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); + } + set( + current, + "kind", + lv_kind_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveKind"); + afterParserOrEnumRuleCall(); + } - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); } - finally { - } - return current; - } - // $ANTLR end "entryRuleAllInstances" - - - // $ANTLR start "ruleAllInstances" - // InternalSolverLanguage.g:1863:1: ruleAllInstances returns [EObject current=null] : (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) ; - public final EObject ruleAllInstances() throws RecognitionException { - EObject current = null; - - Token otherlv_0=null; - EObject lv_symbol_1_0 = null; - - enterRule(); - - try { - // InternalSolverLanguage.g:1869:2: ( (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) ) - // InternalSolverLanguage.g:1870:2: (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) - { - // InternalSolverLanguage.g:1870:2: (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) - // InternalSolverLanguage.g:1871:3: otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) - { - otherlv_0=(Token)match(input,20,FOLLOW_21); + } - newLeafNode(otherlv_0, grammarAccess.getAllInstancesAccess().getColonKeyword_0()); - - // InternalSolverLanguage.g:1875:3: ( (lv_symbol_1_0= ruleSymbol ) ) - // InternalSolverLanguage.g:1876:4: (lv_symbol_1_0= ruleSymbol ) + // InternalSolverLanguage.g:3367:3: ( (lv_objective_1_0= ruleExpression ) ) + // InternalSolverLanguage.g:3368:4: (lv_objective_1_0= ruleExpression ) { - // InternalSolverLanguage.g:1876:4: (lv_symbol_1_0= ruleSymbol ) - // InternalSolverLanguage.g:1877:5: lv_symbol_1_0= ruleSymbol + // InternalSolverLanguage.g:3368:4: (lv_objective_1_0= ruleExpression ) + // InternalSolverLanguage.g:3369:5: lv_objective_1_0= ruleExpression { + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0()); - + newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); + + } pushFollow(FOLLOW_2); - lv_symbol_1_0=ruleSymbol(); + lv_objective_1_0=ruleExpression(); state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getAllInstancesRule()); - } - set( - current, - "symbol", - lv_symbol_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); - afterParserOrEnumRuleCall(); - + if (current==null) { + current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); + } + set( + current, + "objective", + lv_objective_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + } } @@ -5518,9 +9663,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -5531,29 +9678,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleAllInstances" + // $ANTLR end "ruleObjectiveDefinition" - // $ANTLR start "entryRuleAllObjects" - // InternalSolverLanguage.g:1898:1: entryRuleAllObjects returns [EObject current=null] : iv_ruleAllObjects= ruleAllObjects EOF ; - public final EObject entryRuleAllObjects() throws RecognitionException { - EObject current = null; + // $ANTLR start "entryRuleUpperMultiplicty" + // InternalSolverLanguage.g:3390:1: entryRuleUpperMultiplicty returns [String current=null] : iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ; + public final String entryRuleUpperMultiplicty() throws RecognitionException { + String current = null; - EObject iv_ruleAllObjects = null; + AntlrDatatypeRuleToken iv_ruleUpperMultiplicty = null; try { - // InternalSolverLanguage.g:1898:51: (iv_ruleAllObjects= ruleAllObjects EOF ) - // InternalSolverLanguage.g:1899:2: iv_ruleAllObjects= ruleAllObjects EOF + // InternalSolverLanguage.g:3390:56: (iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ) + // InternalSolverLanguage.g:3391:2: iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF { - newCompositeNode(grammarAccess.getAllObjectsRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getUpperMultiplictyRule()); + } pushFollow(FOLLOW_1); - iv_ruleAllObjects=ruleAllObjects(); + iv_ruleUpperMultiplicty=ruleUpperMultiplicty(); state._fsp--; - - current =iv_ruleAllObjects; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleUpperMultiplicty.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -5567,50 +9718,83 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleAllObjects" + // $ANTLR end "entryRuleUpperMultiplicty" - // $ANTLR start "ruleAllObjects" - // InternalSolverLanguage.g:1905:1: ruleAllObjects returns [EObject current=null] : ( () otherlv_1= '*' ) ; - public final EObject ruleAllObjects() throws RecognitionException { - EObject current = null; + // $ANTLR start "ruleUpperMultiplicty" + // InternalSolverLanguage.g:3397:1: ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ; + public final AntlrDatatypeRuleToken ruleUpperMultiplicty() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); - Token otherlv_1=null; + Token this_INT_0=null; + Token kw=null; enterRule(); try { - // InternalSolverLanguage.g:1911:2: ( ( () otherlv_1= '*' ) ) - // InternalSolverLanguage.g:1912:2: ( () otherlv_1= '*' ) - { - // InternalSolverLanguage.g:1912:2: ( () otherlv_1= '*' ) - // InternalSolverLanguage.g:1913:3: () otherlv_1= '*' - { - // InternalSolverLanguage.g:1913:3: () - // InternalSolverLanguage.g:1914:4: + // InternalSolverLanguage.g:3403:2: ( (this_INT_0= RULE_INT | kw= '*' ) ) + // InternalSolverLanguage.g:3404:2: (this_INT_0= RULE_INT | kw= '*' ) { + // InternalSolverLanguage.g:3404:2: (this_INT_0= RULE_INT | kw= '*' ) + int alt41=2; + int LA41_0 = input.LA(1); - current = forceCreateModelElement( - grammarAccess.getAllObjectsAccess().getAllObjectsAction_0(), - current); - + if ( (LA41_0==RULE_INT) ) { + alt41=1; + } + else if ( (LA41_0==35) ) { + alt41=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 41, 0, input); + throw nvae; } + switch (alt41) { + case 1 : + // InternalSolverLanguage.g:3405:3: this_INT_0= RULE_INT + { + this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_INT_0); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_INT_0, grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0()); + + } - otherlv_1=(Token)match(input,31,FOLLOW_2); + } + break; + case 2 : + // InternalSolverLanguage.g:3413:3: kw= '*' + { + kw=(Token)match(input,35,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - newLeafNode(otherlv_1, grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1()); - + current.merge(kw); + newLeafNode(kw, grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1()); + + } + + } + break; } } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -5621,29 +9805,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleAllObjects" + // $ANTLR end "ruleUpperMultiplicty" - // $ANTLR start "entryRuleDefaultInterpretation" - // InternalSolverLanguage.g:1928:1: entryRuleDefaultInterpretation returns [EObject current=null] : iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF ; - public final EObject entryRuleDefaultInterpretation() throws RecognitionException { - EObject current = null; + // $ANTLR start "entryRuleReal" + // InternalSolverLanguage.g:3422:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ; + public final String entryRuleReal() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleReal = null; - EObject iv_ruleDefaultInterpretation = null; + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); + try { - // InternalSolverLanguage.g:1928:62: (iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF ) - // InternalSolverLanguage.g:1929:2: iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF + // InternalSolverLanguage.g:3424:2: (iv_ruleReal= ruleReal EOF ) + // InternalSolverLanguage.g:3425:2: iv_ruleReal= ruleReal EOF { - newCompositeNode(grammarAccess.getDefaultInterpretationRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getRealRule()); + } pushFollow(FOLLOW_1); - iv_ruleDefaultInterpretation=ruleDefaultInterpretation(); + iv_ruleReal=ruleReal(); state._fsp--; - - current =iv_ruleDefaultInterpretation; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleReal.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -5654,63 +9845,78 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { appendSkippedTokens(); } finally { + + myHiddenTokenState.restore(); + } return current; } - // $ANTLR end "entryRuleDefaultInterpretation" + // $ANTLR end "entryRuleReal" - // $ANTLR start "ruleDefaultInterpretation" - // InternalSolverLanguage.g:1935:1: ruleDefaultInterpretation returns [EObject current=null] : (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) ; - public final EObject ruleDefaultInterpretation() throws RecognitionException { - EObject current = null; - - Token otherlv_0=null; - EObject lv_interpretation_1_0 = null; + // $ANTLR start "ruleReal" + // InternalSolverLanguage.g:3434:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? ) ; + public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + Token this_INT_0=null; + Token kw=null; + Token this_INT_2=null; enterRule(); + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); try { - // InternalSolverLanguage.g:1941:2: ( (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) ) - // InternalSolverLanguage.g:1942:2: (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) + // InternalSolverLanguage.g:3441:2: ( (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? ) ) + // InternalSolverLanguage.g:3442:2: (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? ) { - // InternalSolverLanguage.g:1942:2: (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) - // InternalSolverLanguage.g:1943:3: otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) + // InternalSolverLanguage.g:3442:2: (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? ) + // InternalSolverLanguage.g:3443:3: this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? { - otherlv_0=(Token)match(input,32,FOLLOW_21); + this_INT_0=(Token)match(input,RULE_INT,FOLLOW_53); if (state.failed) return current; + if ( state.backtracking==0 ) { - newLeafNode(otherlv_0, grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0()); - - // InternalSolverLanguage.g:1947:3: ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) - // InternalSolverLanguage.g:1948:4: (lv_interpretation_1_0= ruleBasicInterpretation ) - { - // InternalSolverLanguage.g:1948:4: (lv_interpretation_1_0= ruleBasicInterpretation ) - // InternalSolverLanguage.g:1949:5: lv_interpretation_1_0= ruleBasicInterpretation - { + current.merge(this_INT_0); + + } + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0()); - - pushFollow(FOLLOW_2); - lv_interpretation_1_0=ruleBasicInterpretation(); + newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); + + } + // InternalSolverLanguage.g:3450:3: (kw= '.' this_INT_2= RULE_INT )? + int alt42=2; + int LA42_0 = input.LA(1); - state._fsp--; + if ( (LA42_0==22) ) { + alt42=1; + } + switch (alt42) { + case 1 : + // InternalSolverLanguage.g:3451:4: kw= '.' this_INT_2= RULE_INT + { + kw=(Token)match(input,22,FOLLOW_47); if (state.failed) return current; + if ( state.backtracking==0 ) { + current.merge(kw); + newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0()); + + } + this_INT_2=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getDefaultInterpretationRule()); - } - set( - current, - "interpretation", - lv_interpretation_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.BasicInterpretation"); - afterParserOrEnumRuleCall(); - + current.merge(this_INT_2); + + } + if ( state.backtracking==0 ) { - } + newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); + + } + } + break; } @@ -5720,9 +9926,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -5730,32 +9938,42 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { appendSkippedTokens(); } finally { + + myHiddenTokenState.restore(); + } return current; } - // $ANTLR end "ruleDefaultInterpretation" + // $ANTLR end "ruleReal" - // $ANTLR start "entryRuleCDInterpretation" - // InternalSolverLanguage.g:1970:1: entryRuleCDInterpretation returns [EObject current=null] : iv_ruleCDInterpretation= ruleCDInterpretation EOF ; - public final EObject entryRuleCDInterpretation() throws RecognitionException { - EObject current = null; + // $ANTLR start "entryRuleQualifiedName" + // InternalSolverLanguage.g:3471:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; + public final String entryRuleQualifiedName() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleQualifiedName = null; - EObject iv_ruleCDInterpretation = null; + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); + try { - // InternalSolverLanguage.g:1970:57: (iv_ruleCDInterpretation= ruleCDInterpretation EOF ) - // InternalSolverLanguage.g:1971:2: iv_ruleCDInterpretation= ruleCDInterpretation EOF + // InternalSolverLanguage.g:3473:2: (iv_ruleQualifiedName= ruleQualifiedName EOF ) + // InternalSolverLanguage.g:3474:2: iv_ruleQualifiedName= ruleQualifiedName EOF { - newCompositeNode(grammarAccess.getCDInterpretationRule()); + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getQualifiedNameRule()); + } pushFollow(FOLLOW_1); - iv_ruleCDInterpretation=ruleCDInterpretation(); + iv_ruleQualifiedName=ruleQualifiedName(); state._fsp--; - - current =iv_ruleCDInterpretation; - match(input,EOF,FOLLOW_2); + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleQualifiedName.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; } @@ -5766,158 +9984,150 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { appendSkippedTokens(); } finally { + + myHiddenTokenState.restore(); + } return current; } - // $ANTLR end "entryRuleCDInterpretation" - - - // $ANTLR start "ruleCDInterpretation" - // InternalSolverLanguage.g:1977:1: ruleCDInterpretation returns [EObject current=null] : (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) ; - public final EObject ruleCDInterpretation() throws RecognitionException { - EObject current = null; - - EObject this_ClassInterpretation_0 = null; + // $ANTLR end "entryRuleQualifiedName" - EObject this_EnumInterpretation_1 = null; - EObject this_GlobalRelationInterpretation_2 = null; + // $ANTLR start "ruleQualifiedName" + // 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 ) ; + public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + Token this_ID_0=null; + Token kw=null; + Token this_ID_2=null; + Token this_QUOTED_ID_3=null; enterRule(); + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); try { - // InternalSolverLanguage.g:1983:2: ( (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) ) - // InternalSolverLanguage.g:1984:2: (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) + // InternalSolverLanguage.g:3490:2: ( ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ) + // InternalSolverLanguage.g:3491:2: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) { - // InternalSolverLanguage.g:1984:2: (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) - int alt36=3; - switch ( input.LA(1) ) { - case 33: - case 34: - { - alt36=1; - } - break; - case 38: - { - alt36=2; - } - break; - case 39: - case 40: - { - alt36=3; - } - break; - default: + // InternalSolverLanguage.g:3491:2: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) + int alt44=2; + int LA44_0 = input.LA(1); + + if ( (LA44_0==RULE_ID) ) { + alt44=1; + } + else if ( (LA44_0==RULE_QUOTED_ID) ) { + alt44=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 36, 0, input); + new NoViableAltException("", 44, 0, input); throw nvae; } - - switch (alt36) { + switch (alt44) { case 1 : - // InternalSolverLanguage.g:1985:3: this_ClassInterpretation_0= ruleClassInterpretation + // InternalSolverLanguage.g:3492:3: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) + { + // InternalSolverLanguage.g:3492:3: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) + // InternalSolverLanguage.g:3493:4: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* { + this_ID_0=(Token)match(input,RULE_ID,FOLLOW_53); if (state.failed) return current; + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0()); - - pushFollow(FOLLOW_2); - this_ClassInterpretation_0=ruleClassInterpretation(); + current.merge(this_ID_0); + + } + if ( state.backtracking==0 ) { - state._fsp--; + newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); + + } + // InternalSolverLanguage.g:3500:4: (kw= '.' this_ID_2= RULE_ID )* + loop43: + do { + int alt43=2; + int LA43_0 = input.LA(1); + if ( (LA43_0==22) ) { + int LA43_2 = input.LA(2); - current = this_ClassInterpretation_0; - afterParserOrEnumRuleCall(); - + if ( (LA43_2==RULE_ID) ) { + alt43=1; + } - } - break; - case 2 : - // InternalSolverLanguage.g:1994:3: this_EnumInterpretation_1= ruleEnumInterpretation - { - newCompositeNode(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_EnumInterpretation_1=ruleEnumInterpretation(); + } - state._fsp--; + switch (alt43) { + case 1 : + // InternalSolverLanguage.g:3501:5: kw= '.' this_ID_2= RULE_ID + { + kw=(Token)match(input,22,FOLLOW_40); if (state.failed) return current; + if ( state.backtracking==0 ) { - current = this_EnumInterpretation_1; - afterParserOrEnumRuleCall(); - + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); + + } + this_ID_2=(Token)match(input,RULE_ID,FOLLOW_53); if (state.failed) return current; + if ( state.backtracking==0 ) { - } - break; - case 3 : - // InternalSolverLanguage.g:2003:3: this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation - { + current.merge(this_ID_2); + + } + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2()); - - pushFollow(FOLLOW_2); - this_GlobalRelationInterpretation_2=ruleGlobalRelationInterpretation(); + newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1()); + + } - state._fsp--; + } + break; + default : + break loop43; + } + } while (true); - current = this_GlobalRelationInterpretation_2; - afterParserOrEnumRuleCall(); - } - break; - - } - } + } + break; + case 2 : + // InternalSolverLanguage.g:3516:3: this_QUOTED_ID_3= RULE_QUOTED_ID + { + this_QUOTED_ID_3=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + current.merge(this_QUOTED_ID_3); + + } + if ( state.backtracking==0 ) { - leaveRule(); + newLeafNode(this_QUOTED_ID_3, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1()); + + } - } + } + break; - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); } - finally { - } - return current; - } - // $ANTLR end "ruleCDInterpretation" - - // $ANTLR start "entryRuleClassInterpretation" - // InternalSolverLanguage.g:2015:1: entryRuleClassInterpretation returns [EObject current=null] : iv_ruleClassInterpretation= ruleClassInterpretation EOF ; - public final EObject entryRuleClassInterpretation() throws RecognitionException { - EObject current = null; - - EObject iv_ruleClassInterpretation = null; + } - try { - // InternalSolverLanguage.g:2015:60: (iv_ruleClassInterpretation= ruleClassInterpretation EOF ) - // InternalSolverLanguage.g:2016:2: iv_ruleClassInterpretation= ruleClassInterpretation EOF - { - newCompositeNode(grammarAccess.getClassInterpretationRule()); - pushFollow(FOLLOW_1); - iv_ruleClassInterpretation=ruleClassInterpretation(); - - state._fsp--; + if ( state.backtracking==0 ) { - current =iv_ruleClassInterpretation; - match(input,EOF,FOLLOW_2); + leaveRule(); } - } catch (RecognitionException re) { @@ -5925,63 +10135,80 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { appendSkippedTokens(); } finally { + + myHiddenTokenState.restore(); + } return current; } - // $ANTLR end "entryRuleClassInterpretation" - - - // $ANTLR start "ruleClassInterpretation" - // 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= '}' ) ; - public final EObject ruleClassInterpretation() throws RecognitionException { - EObject current = null; - - Token lv_abstract_0_0=null; - Token otherlv_1=null; - Token otherlv_3=null; - Token otherlv_5=null; - Token otherlv_7=null; - EObject lv_symbol_2_0 = null; + // $ANTLR end "ruleQualifiedName" - EObject lv_supertypes_4_0 = null; - EObject lv_fielt_6_0 = null; + // $ANTLR start "ruleMetricType" + // InternalSolverLanguage.g:3530:1: ruleMetricType returns [Enumerator current=null] : ( (enumLiteral_0= 'int' ) | (enumLiteral_1= 'real' ) ) ; + public final Enumerator ruleMetricType() throws RecognitionException { + Enumerator current = null; + Token enumLiteral_0=null; + Token enumLiteral_1=null; enterRule(); try { - // 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= '}' ) ) - // 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= '}' ) + // InternalSolverLanguage.g:3536:2: ( ( (enumLiteral_0= 'int' ) | (enumLiteral_1= 'real' ) ) ) + // InternalSolverLanguage.g:3537:2: ( (enumLiteral_0= 'int' ) | (enumLiteral_1= 'real' ) ) { - // 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= '}' ) - // 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= '}' - { - // InternalSolverLanguage.g:2030:3: ( (lv_abstract_0_0= 'abstract' ) )? - int alt37=2; - int LA37_0 = input.LA(1); + // InternalSolverLanguage.g:3537:2: ( (enumLiteral_0= 'int' ) | (enumLiteral_1= 'real' ) ) + int alt45=2; + int LA45_0 = input.LA(1); + + if ( (LA45_0==50) ) { + alt45=1; + } + else if ( (LA45_0==51) ) { + alt45=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 45, 0, input); - if ( (LA37_0==33) ) { - alt37=1; + throw nvae; } - switch (alt37) { + switch (alt45) { case 1 : - // InternalSolverLanguage.g:2031:4: (lv_abstract_0_0= 'abstract' ) + // InternalSolverLanguage.g:3538:3: (enumLiteral_0= 'int' ) { - // InternalSolverLanguage.g:2031:4: (lv_abstract_0_0= 'abstract' ) - // InternalSolverLanguage.g:2032:5: lv_abstract_0_0= 'abstract' + // InternalSolverLanguage.g:3538:3: (enumLiteral_0= 'int' ) + // InternalSolverLanguage.g:3539:4: enumLiteral_0= 'int' { - lv_abstract_0_0=(Token)match(input,33,FOLLOW_27); + enumLiteral_0=(Token)match(input,50,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); + + } + + } + - newLeafNode(lv_abstract_0_0, grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); - + } + break; + case 2 : + // InternalSolverLanguage.g:3546:3: (enumLiteral_1= 'real' ) + { + // InternalSolverLanguage.g:3546:3: (enumLiteral_1= 'real' ) + // InternalSolverLanguage.g:3547:4: enumLiteral_1= 'real' + { + enumLiteral_1=(Token)match(input,51,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElement(grammarAccess.getClassInterpretationRule()); - } - setWithLastConsumed(current, "abstract", true, "abstract"); - + current = grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1()); + + } } @@ -5991,182 +10218,238 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_1=(Token)match(input,34,FOLLOW_12); - - newLeafNode(otherlv_1, grammarAccess.getClassInterpretationAccess().getClassKeyword_1()); - - // InternalSolverLanguage.g:2048:3: ( (lv_symbol_2_0= ruleModelSymbol ) ) - // InternalSolverLanguage.g:2049:4: (lv_symbol_2_0= ruleModelSymbol ) - { - // InternalSolverLanguage.g:2049:4: (lv_symbol_2_0= ruleModelSymbol ) - // InternalSolverLanguage.g:2050:5: lv_symbol_2_0= ruleModelSymbol - { - newCompositeNode(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); - - pushFollow(FOLLOW_28); - lv_symbol_2_0=ruleModelSymbol(); + } - state._fsp--; + if ( state.backtracking==0 ) { + leaveRule(); - if (current==null) { - current = createModelElementForParent(grammarAccess.getClassInterpretationRule()); - } - set( - current, - "symbol", - lv_symbol_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); - afterParserOrEnumRuleCall(); - + } + } + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); } + finally { + } + return current; + } + // $ANTLR end "ruleMetricType" - } + // $ANTLR start "ruleComparisonOperator" + // InternalSolverLanguage.g:3557:1: ruleComparisonOperator returns [Enumerator current=null] : ( (enumLiteral_0= '==' ) | (enumLiteral_1= '!=' ) | (enumLiteral_2= '<' ) | (enumLiteral_3= '<=' ) | (enumLiteral_4= '>' ) | (enumLiteral_5= '>=' ) | (enumLiteral_6= 'in' ) ) ; + public final Enumerator ruleComparisonOperator() throws RecognitionException { + Enumerator current = null; - // InternalSolverLanguage.g:2067:3: (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? - int alt39=2; - int LA39_0 = input.LA(1); + Token enumLiteral_0=null; + Token enumLiteral_1=null; + Token enumLiteral_2=null; + Token enumLiteral_3=null; + Token enumLiteral_4=null; + Token enumLiteral_5=null; + Token enumLiteral_6=null; - if ( (LA39_0==35) ) { - alt39=1; + + enterRule(); + + try { + // InternalSolverLanguage.g:3563:2: ( ( (enumLiteral_0= '==' ) | (enumLiteral_1= '!=' ) | (enumLiteral_2= '<' ) | (enumLiteral_3= '<=' ) | (enumLiteral_4= '>' ) | (enumLiteral_5= '>=' ) | (enumLiteral_6= 'in' ) ) ) + // InternalSolverLanguage.g:3564:2: ( (enumLiteral_0= '==' ) | (enumLiteral_1= '!=' ) | (enumLiteral_2= '<' ) | (enumLiteral_3= '<=' ) | (enumLiteral_4= '>' ) | (enumLiteral_5= '>=' ) | (enumLiteral_6= 'in' ) ) + { + // InternalSolverLanguage.g:3564:2: ( (enumLiteral_0= '==' ) | (enumLiteral_1= '!=' ) | (enumLiteral_2= '<' ) | (enumLiteral_3= '<=' ) | (enumLiteral_4= '>' ) | (enumLiteral_5= '>=' ) | (enumLiteral_6= 'in' ) ) + int alt46=7; + switch ( input.LA(1) ) { + case 47: + { + alt46=1; + } + break; + case 52: + { + alt46=2; + } + break; + case 53: + { + alt46=3; + } + break; + case 48: + { + alt46=4; + } + break; + case 54: + { + alt46=5; + } + break; + case 49: + { + alt46=6; + } + break; + case 55: + { + alt46=7; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 46, 0, input); + + throw nvae; } - switch (alt39) { + + switch (alt46) { case 1 : - // InternalSolverLanguage.g:2068:4: otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ + // InternalSolverLanguage.g:3565:3: (enumLiteral_0= '==' ) { - otherlv_3=(Token)match(input,35,FOLLOW_12); - - newLeafNode(otherlv_3, grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0()); - - // InternalSolverLanguage.g:2072:4: ( (lv_supertypes_4_0= ruleModelSymbol ) )+ - int cnt38=0; - loop38: - do { - int alt38=2; - int LA38_0 = input.LA(1); - - if ( (LA38_0==RULE_ID) ) { - alt38=1; - } + // InternalSolverLanguage.g:3565:3: (enumLiteral_0= '==' ) + // InternalSolverLanguage.g:3566:4: enumLiteral_0= '==' + { + enumLiteral_0=(Token)match(input,47,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + current = grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); + + } - switch (alt38) { - case 1 : - // InternalSolverLanguage.g:2073:5: (lv_supertypes_4_0= ruleModelSymbol ) - { - // InternalSolverLanguage.g:2073:5: (lv_supertypes_4_0= ruleModelSymbol ) - // InternalSolverLanguage.g:2074:6: lv_supertypes_4_0= ruleModelSymbol - { + } - newCompositeNode(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0()); - - pushFollow(FOLLOW_29); - lv_supertypes_4_0=ruleModelSymbol(); - state._fsp--; + } + break; + case 2 : + // InternalSolverLanguage.g:3573:3: (enumLiteral_1= '!=' ) + { + // InternalSolverLanguage.g:3573:3: (enumLiteral_1= '!=' ) + // InternalSolverLanguage.g:3574:4: enumLiteral_1= '!=' + { + enumLiteral_1=(Token)match(input,52,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + current = grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); + + } - if (current==null) { - current = createModelElementForParent(grammarAccess.getClassInterpretationRule()); - } - add( - current, - "supertypes", - lv_supertypes_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); - afterParserOrEnumRuleCall(); - + } - } + } + break; + case 3 : + // InternalSolverLanguage.g:3581:3: (enumLiteral_2= '<' ) + { + // InternalSolverLanguage.g:3581:3: (enumLiteral_2= '<' ) + // InternalSolverLanguage.g:3582:4: enumLiteral_2= '<' + { + enumLiteral_2=(Token)match(input,53,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - } - break; + current = grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2()); + + } - default : - if ( cnt38 >= 1 ) break loop38; - EarlyExitException eee = - new EarlyExitException(38, input); - throw eee; - } - cnt38++; - } while (true); + } } break; + case 4 : + // InternalSolverLanguage.g:3589:3: (enumLiteral_3= '<=' ) + { + // InternalSolverLanguage.g:3589:3: (enumLiteral_3= '<=' ) + // InternalSolverLanguage.g:3590:4: enumLiteral_3= '<=' + { + enumLiteral_3=(Token)match(input,48,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - } + current = grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); + + } - otherlv_5=(Token)match(input,36,FOLLOW_30); + } - newLeafNode(otherlv_5, grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4()); - - // InternalSolverLanguage.g:2096:3: ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* - loop40: - do { - int alt40=2; - int LA40_0 = input.LA(1); - if ( (LA40_0==RULE_ID||LA40_0==39) ) { - alt40=1; - } + } + break; + case 5 : + // InternalSolverLanguage.g:3597:3: (enumLiteral_4= '>' ) + { + // InternalSolverLanguage.g:3597:3: (enumLiteral_4= '>' ) + // InternalSolverLanguage.g:3598:4: enumLiteral_4= '>' + { + enumLiteral_4=(Token)match(input,54,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + current = grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4()); + + } - switch (alt40) { - case 1 : - // InternalSolverLanguage.g:2097:4: (lv_fielt_6_0= ruleFieldRelationInterpretation ) - { - // InternalSolverLanguage.g:2097:4: (lv_fielt_6_0= ruleFieldRelationInterpretation ) - // InternalSolverLanguage.g:2098:5: lv_fielt_6_0= ruleFieldRelationInterpretation - { + } - newCompositeNode(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0()); - - pushFollow(FOLLOW_30); - lv_fielt_6_0=ruleFieldRelationInterpretation(); - state._fsp--; + } + break; + case 6 : + // InternalSolverLanguage.g:3605:3: (enumLiteral_5= '>=' ) + { + // InternalSolverLanguage.g:3605:3: (enumLiteral_5= '>=' ) + // InternalSolverLanguage.g:3606:4: enumLiteral_5= '>=' + { + enumLiteral_5=(Token)match(input,49,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); + + } - if (current==null) { - current = createModelElementForParent(grammarAccess.getClassInterpretationRule()); - } - add( - current, - "fielt", - lv_fielt_6_0, - "org.eclipse.viatra.solver.language.SolverLanguage.FieldRelationInterpretation"); - afterParserOrEnumRuleCall(); - + } - } + } + break; + case 7 : + // InternalSolverLanguage.g:3613:3: (enumLiteral_6= 'in' ) + { + // InternalSolverLanguage.g:3613:3: (enumLiteral_6= 'in' ) + // InternalSolverLanguage.g:3614:4: enumLiteral_6= 'in' + { + enumLiteral_6=(Token)match(input,55,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - } - break; + current = grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_6, grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6()); + + } - default : - break loop40; - } - } while (true); + } - otherlv_7=(Token)match(input,37,FOLLOW_2); - newLeafNode(otherlv_7, grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6()); - + } + break; } } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -6177,174 +10460,186 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleClassInterpretation" + // $ANTLR end "ruleComparisonOperator" - // $ANTLR start "entryRuleEnumInterpretation" - // InternalSolverLanguage.g:2123:1: entryRuleEnumInterpretation returns [EObject current=null] : iv_ruleEnumInterpretation= ruleEnumInterpretation EOF ; - public final EObject entryRuleEnumInterpretation() throws RecognitionException { - EObject current = null; + // $ANTLR start "ruleAdditiveBinaryOperator" + // InternalSolverLanguage.g:3624:1: ruleAdditiveBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) ; + public final Enumerator ruleAdditiveBinaryOperator() throws RecognitionException { + Enumerator current = null; + + Token enumLiteral_0=null; + Token enumLiteral_1=null; - EObject iv_ruleEnumInterpretation = null; + enterRule(); try { - // InternalSolverLanguage.g:2123:59: (iv_ruleEnumInterpretation= ruleEnumInterpretation EOF ) - // InternalSolverLanguage.g:2124:2: iv_ruleEnumInterpretation= ruleEnumInterpretation EOF + // InternalSolverLanguage.g:3630:2: ( ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) ) + // InternalSolverLanguage.g:3631:2: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) { - newCompositeNode(grammarAccess.getEnumInterpretationRule()); - pushFollow(FOLLOW_1); - iv_ruleEnumInterpretation=ruleEnumInterpretation(); - - state._fsp--; - - current =iv_ruleEnumInterpretation; - match(input,EOF,FOLLOW_2); + // InternalSolverLanguage.g:3631:2: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) + int alt47=2; + int LA47_0 = input.LA(1); + if ( (LA47_0==56) ) { + alt47=1; } + else if ( (LA47_0==57) ) { + alt47=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 47, 0, input); - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); + throw nvae; } - finally { - } - return current; - } - // $ANTLR end "entryRuleEnumInterpretation" + switch (alt47) { + case 1 : + // InternalSolverLanguage.g:3632:3: (enumLiteral_0= '+' ) + { + // InternalSolverLanguage.g:3632:3: (enumLiteral_0= '+' ) + // InternalSolverLanguage.g:3633:4: enumLiteral_0= '+' + { + enumLiteral_0=(Token)match(input,56,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + current = grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); + + } - // $ANTLR start "ruleEnumInterpretation" - // 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= '}' ) ; - public final EObject ruleEnumInterpretation() throws RecognitionException { - EObject current = null; + } - Token otherlv_0=null; - Token otherlv_2=null; - Token otherlv_4=null; - EObject lv_Symbol_1_0 = null; - EObject lv_objects_3_0 = null; + } + break; + case 2 : + // InternalSolverLanguage.g:3640:3: (enumLiteral_1= '-' ) + { + // InternalSolverLanguage.g:3640:3: (enumLiteral_1= '-' ) + // InternalSolverLanguage.g:3641:4: enumLiteral_1= '-' + { + enumLiteral_1=(Token)match(input,57,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + current = grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); + + } + } - enterRule(); - try { - // InternalSolverLanguage.g:2136:2: ( (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) ) - // InternalSolverLanguage.g:2137:2: (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) - { - // InternalSolverLanguage.g:2137:2: (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) - // InternalSolverLanguage.g:2138:3: otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' - { - otherlv_0=(Token)match(input,38,FOLLOW_12); + } + break; - newLeafNode(otherlv_0, grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0()); - - // InternalSolverLanguage.g:2142:3: ( (lv_Symbol_1_0= ruleModelSymbol ) ) - // InternalSolverLanguage.g:2143:4: (lv_Symbol_1_0= ruleModelSymbol ) - { - // InternalSolverLanguage.g:2143:4: (lv_Symbol_1_0= ruleModelSymbol ) - // InternalSolverLanguage.g:2144:5: lv_Symbol_1_0= ruleModelSymbol - { + } - newCompositeNode(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); - - pushFollow(FOLLOW_31); - lv_Symbol_1_0=ruleModelSymbol(); - state._fsp--; + } + if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getEnumInterpretationRule()); - } - set( - current, - "Symbol", - lv_Symbol_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); - afterParserOrEnumRuleCall(); - + leaveRule(); } + } - + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); } + finally { + } + return current; + } + // $ANTLR end "ruleAdditiveBinaryOperator" - otherlv_2=(Token)match(input,36,FOLLOW_13); - newLeafNode(otherlv_2, grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2()); - - // InternalSolverLanguage.g:2165:3: ( (lv_objects_3_0= ruleNamedObject ) )+ - int cnt41=0; - loop41: - do { - int alt41=2; - int LA41_0 = input.LA(1); + // $ANTLR start "ruleMultiplicativeBinaryOperator" + // InternalSolverLanguage.g:3651:1: ruleMultiplicativeBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) ) ; + public final Enumerator ruleMultiplicativeBinaryOperator() throws RecognitionException { + Enumerator current = null; - if ( (LA41_0==27) ) { - alt41=1; - } + Token enumLiteral_0=null; + Token enumLiteral_1=null; - switch (alt41) { - case 1 : - // InternalSolverLanguage.g:2166:4: (lv_objects_3_0= ruleNamedObject ) - { - // InternalSolverLanguage.g:2166:4: (lv_objects_3_0= ruleNamedObject ) - // InternalSolverLanguage.g:2167:5: lv_objects_3_0= ruleNamedObject - { + enterRule(); - newCompositeNode(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0()); - - pushFollow(FOLLOW_32); - lv_objects_3_0=ruleNamedObject(); + try { + // InternalSolverLanguage.g:3657:2: ( ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) ) ) + // InternalSolverLanguage.g:3658:2: ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) ) + { + // InternalSolverLanguage.g:3658:2: ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) ) + int alt48=2; + int LA48_0 = input.LA(1); - state._fsp--; + if ( (LA48_0==35) ) { + alt48=1; + } + else if ( (LA48_0==58) ) { + alt48=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 48, 0, input); + throw nvae; + } + switch (alt48) { + case 1 : + // InternalSolverLanguage.g:3659:3: (enumLiteral_0= '*' ) + { + // InternalSolverLanguage.g:3659:3: (enumLiteral_0= '*' ) + // InternalSolverLanguage.g:3660:4: enumLiteral_0= '*' + { + enumLiteral_0=(Token)match(input,35,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getEnumInterpretationRule()); - } - add( - current, - "objects", - lv_objects_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.NamedObject"); - afterParserOrEnumRuleCall(); - + current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); + + } - } + } - } - break; + } + break; + case 2 : + // InternalSolverLanguage.g:3667:3: (enumLiteral_1= '/' ) + { + // InternalSolverLanguage.g:3667:3: (enumLiteral_1= '/' ) + // InternalSolverLanguage.g:3668:4: enumLiteral_1= '/' + { + enumLiteral_1=(Token)match(input,58,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - default : - if ( cnt41 >= 1 ) break loop41; - EarlyExitException eee = - new EarlyExitException(41, input); - throw eee; - } - cnt41++; - } while (true); + current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); + + } + + } - otherlv_4=(Token)match(input,37,FOLLOW_2); - newLeafNode(otherlv_4, grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4()); - + } + break; } } + if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -6355,32 +10650,44 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleEnumInterpretation" + // $ANTLR end "ruleMultiplicativeBinaryOperator" - // $ANTLR start "entryRuleFieldRelationInterpretation" - // InternalSolverLanguage.g:2192:1: entryRuleFieldRelationInterpretation returns [EObject current=null] : iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF ; - public final EObject entryRuleFieldRelationInterpretation() throws RecognitionException { - EObject current = null; + // $ANTLR start "ruleExponentialOp" + // InternalSolverLanguage.g:3678:1: ruleExponentialOp returns [Enumerator current=null] : (enumLiteral_0= '^' ) ; + public final Enumerator ruleExponentialOp() throws RecognitionException { + Enumerator current = null; + + Token enumLiteral_0=null; - EObject iv_ruleFieldRelationInterpretation = null; + enterRule(); try { - // InternalSolverLanguage.g:2192:68: (iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF ) - // InternalSolverLanguage.g:2193:2: iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF + // InternalSolverLanguage.g:3684:2: ( (enumLiteral_0= '^' ) ) + // InternalSolverLanguage.g:3685:2: (enumLiteral_0= '^' ) { - newCompositeNode(grammarAccess.getFieldRelationInterpretationRule()); - pushFollow(FOLLOW_1); - iv_ruleFieldRelationInterpretation=ruleFieldRelationInterpretation(); + // InternalSolverLanguage.g:3685:2: (enumLiteral_0= '^' ) + // InternalSolverLanguage.g:3686:3: enumLiteral_0= '^' + { + enumLiteral_0=(Token)match(input,59,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - state._fsp--; + current = grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration()); + + } + + } - current =iv_ruleFieldRelationInterpretation; - match(input,EOF,FOLLOW_2); } + if ( state.backtracking==0 ) { + + leaveRule(); + + } } catch (RecognitionException re) { @@ -6391,219 +10698,195 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleFieldRelationInterpretation" + // $ANTLR end "ruleExponentialOp" - // $ANTLR start "ruleFieldRelationInterpretation" - // 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 ) ) ) ; - public final EObject ruleFieldRelationInterpretation() throws RecognitionException { - EObject current = null; - - Token lv_containment_0_0=null; - Token otherlv_2=null; - EObject lv_symbol_1_0 = null; - - EObject lv_multiplicity_3_0 = null; - - EObject lv_target_4_0 = null; + // $ANTLR start "ruleUnaryOp" + // InternalSolverLanguage.g:3695:1: ruleUnaryOp returns [Enumerator current=null] : ( (enumLiteral_0= '!' ) | (enumLiteral_1= '+' ) | (enumLiteral_2= '-' ) | (enumLiteral_3= 'may' ) | (enumLiteral_4= 'must' ) | (enumLiteral_5= 'current' ) ) ; + public final Enumerator ruleUnaryOp() throws RecognitionException { + Enumerator current = null; + Token enumLiteral_0=null; + Token enumLiteral_1=null; + Token enumLiteral_2=null; + Token enumLiteral_3=null; + Token enumLiteral_4=null; + Token enumLiteral_5=null; enterRule(); try { - // 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 ) ) ) ) - // 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 ) ) ) + // InternalSolverLanguage.g:3701:2: ( ( (enumLiteral_0= '!' ) | (enumLiteral_1= '+' ) | (enumLiteral_2= '-' ) | (enumLiteral_3= 'may' ) | (enumLiteral_4= 'must' ) | (enumLiteral_5= 'current' ) ) ) + // InternalSolverLanguage.g:3702:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '+' ) | (enumLiteral_2= '-' ) | (enumLiteral_3= 'may' ) | (enumLiteral_4= 'must' ) | (enumLiteral_5= 'current' ) ) { - // 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 ) ) ) - // 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 ) ) - { - // InternalSolverLanguage.g:2207:3: ( (lv_containment_0_0= 'containment' ) )? - int alt42=2; - int LA42_0 = input.LA(1); + // InternalSolverLanguage.g:3702:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '+' ) | (enumLiteral_2= '-' ) | (enumLiteral_3= 'may' ) | (enumLiteral_4= 'must' ) | (enumLiteral_5= 'current' ) ) + int alt49=6; + switch ( input.LA(1) ) { + case 60: + { + alt49=1; + } + break; + case 56: + { + alt49=2; + } + break; + case 57: + { + alt49=3; + } + break; + case 61: + { + alt49=4; + } + break; + case 62: + { + alt49=5; + } + break; + case 63: + { + alt49=6; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 49, 0, input); - if ( (LA42_0==39) ) { - alt42=1; + throw nvae; } - switch (alt42) { + + switch (alt49) { case 1 : - // InternalSolverLanguage.g:2208:4: (lv_containment_0_0= 'containment' ) + // InternalSolverLanguage.g:3703:3: (enumLiteral_0= '!' ) { - // InternalSolverLanguage.g:2208:4: (lv_containment_0_0= 'containment' ) - // InternalSolverLanguage.g:2209:5: lv_containment_0_0= 'containment' + // InternalSolverLanguage.g:3703:3: (enumLiteral_0= '!' ) + // InternalSolverLanguage.g:3704:4: enumLiteral_0= '!' { - lv_containment_0_0=(Token)match(input,39,FOLLOW_12); + enumLiteral_0=(Token)match(input,60,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - newLeafNode(lv_containment_0_0, grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getFieldRelationInterpretationRule()); - } - setWithLastConsumed(current, "containment", true, "containment"); - + current = grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); + + } } } break; - - } - - // InternalSolverLanguage.g:2221:3: ( (lv_symbol_1_0= ruleModelSymbol ) ) - // InternalSolverLanguage.g:2222:4: (lv_symbol_1_0= ruleModelSymbol ) - { - // InternalSolverLanguage.g:2222:4: (lv_symbol_1_0= ruleModelSymbol ) - // InternalSolverLanguage.g:2223:5: lv_symbol_1_0= ruleModelSymbol - { - - newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); - - pushFollow(FOLLOW_10); - lv_symbol_1_0=ruleModelSymbol(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule()); - } - set( - current, - "symbol", - lv_symbol_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); - afterParserOrEnumRuleCall(); - - - } - - - } - - otherlv_2=(Token)match(input,20,FOLLOW_33); - - newLeafNode(otherlv_2, grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2()); - - // InternalSolverLanguage.g:2244:3: ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? - int alt43=2; - int LA43_0 = input.LA(1); - - if ( (LA43_0==RULE_INT) ) { - alt43=1; - } - switch (alt43) { - case 1 : - // InternalSolverLanguage.g:2245:4: (lv_multiplicity_3_0= ruleMultiplicityDefinition ) + case 2 : + // InternalSolverLanguage.g:3711:3: (enumLiteral_1= '+' ) { - // InternalSolverLanguage.g:2245:4: (lv_multiplicity_3_0= ruleMultiplicityDefinition ) - // InternalSolverLanguage.g:2246:5: lv_multiplicity_3_0= ruleMultiplicityDefinition + // InternalSolverLanguage.g:3711:3: (enumLiteral_1= '+' ) + // InternalSolverLanguage.g:3712:4: enumLiteral_1= '+' { + enumLiteral_1=(Token)match(input,56,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0()); - - pushFollow(FOLLOW_21); - lv_multiplicity_3_0=ruleMultiplicityDefinition(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule()); - } - set( - current, - "multiplicity", - lv_multiplicity_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition"); - afterParserOrEnumRuleCall(); - + current = grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); + + } } } break; + case 3 : + // InternalSolverLanguage.g:3719:3: (enumLiteral_2= '-' ) + { + // InternalSolverLanguage.g:3719:3: (enumLiteral_2= '-' ) + // InternalSolverLanguage.g:3720:4: enumLiteral_2= '-' + { + enumLiteral_2=(Token)match(input,57,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - } - - // InternalSolverLanguage.g:2263:3: ( (lv_target_4_0= ruleSymbol ) ) - // InternalSolverLanguage.g:2264:4: (lv_target_4_0= ruleSymbol ) - { - // InternalSolverLanguage.g:2264:4: (lv_target_4_0= ruleSymbol ) - // InternalSolverLanguage.g:2265:5: lv_target_4_0= ruleSymbol - { - - newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0()); - - pushFollow(FOLLOW_2); - lv_target_4_0=ruleSymbol(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule()); - } - set( - current, - "target", - lv_target_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); - afterParserOrEnumRuleCall(); - - - } + current = grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); + + } + } - } + } + break; + case 4 : + // InternalSolverLanguage.g:3727:3: (enumLiteral_3= 'may' ) + { + // InternalSolverLanguage.g:3727:3: (enumLiteral_3= 'may' ) + // InternalSolverLanguage.g:3728:4: enumLiteral_3= 'may' + { + enumLiteral_3=(Token)match(input,61,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - } + current = grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3()); + + } + } - } + } + break; + case 5 : + // InternalSolverLanguage.g:3735:3: (enumLiteral_4= 'must' ) + { + // InternalSolverLanguage.g:3735:3: (enumLiteral_4= 'must' ) + // InternalSolverLanguage.g:3736:4: enumLiteral_4= 'must' + { + enumLiteral_4=(Token)match(input,62,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - leaveRule(); + current = grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4()); + + } - } + } - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleFieldRelationInterpretation" + } + break; + case 6 : + // InternalSolverLanguage.g:3743:3: (enumLiteral_5= 'current' ) + { + // InternalSolverLanguage.g:3743:3: (enumLiteral_5= 'current' ) + // InternalSolverLanguage.g:3744:4: enumLiteral_5= 'current' + { + enumLiteral_5=(Token)match(input,63,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - // $ANTLR start "entryRuleGlobalRelationInterpretation" - // InternalSolverLanguage.g:2286:1: entryRuleGlobalRelationInterpretation returns [EObject current=null] : iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF ; - public final EObject entryRuleGlobalRelationInterpretation() throws RecognitionException { - EObject current = null; + current = grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5()); + + } - EObject iv_ruleGlobalRelationInterpretation = null; + } - try { - // InternalSolverLanguage.g:2286:69: (iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF ) - // InternalSolverLanguage.g:2287:2: iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF - { - newCompositeNode(grammarAccess.getGlobalRelationInterpretationRule()); - pushFollow(FOLLOW_1); - iv_ruleGlobalRelationInterpretation=ruleGlobalRelationInterpretation(); + } + break; - state._fsp--; + } - current =iv_ruleGlobalRelationInterpretation; - match(input,EOF,FOLLOW_2); } + if ( state.backtracking==0 ) { + + leaveRule(); + + } } catch (RecognitionException re) { @@ -6614,143 +10897,178 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleGlobalRelationInterpretation" - - - // $ANTLR start "ruleGlobalRelationInterpretation" - // 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 ) ) ) ; - public final EObject ruleGlobalRelationInterpretation() throws RecognitionException { - EObject current = null; - - Token lv_containment_0_0=null; - Token otherlv_1=null; - Token otherlv_3=null; - EObject lv_symbol_2_0 = null; + // $ANTLR end "ruleUnaryOp" - EObject lv_sourceMultiplicity_4_0 = null; - EObject lv_source_5_0 = null; - - EObject lv_targetMultiplicity_6_0 = null; - - EObject lv_target_7_0 = null; + // $ANTLR start "ruleAggregationOp" + // 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' ) ) ; + public final Enumerator ruleAggregationOp() throws RecognitionException { + Enumerator current = null; + Token enumLiteral_0=null; + Token enumLiteral_1=null; + Token enumLiteral_2=null; + Token enumLiteral_3=null; + Token enumLiteral_4=null; + Token enumLiteral_5=null; enterRule(); try { - // 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 ) ) ) ) - // 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 ) ) ) + // InternalSolverLanguage.g:3760:2: ( ( (enumLiteral_0= 'only' ) | (enumLiteral_1= 'sum' ) | (enumLiteral_2= 'prod' ) | (enumLiteral_3= 'avg' ) | (enumLiteral_4= 'min' ) | (enumLiteral_5= 'max' ) ) ) + // InternalSolverLanguage.g:3761:2: ( (enumLiteral_0= 'only' ) | (enumLiteral_1= 'sum' ) | (enumLiteral_2= 'prod' ) | (enumLiteral_3= 'avg' ) | (enumLiteral_4= 'min' ) | (enumLiteral_5= 'max' ) ) { - // 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 ) ) ) - // 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 ) ) - { - // InternalSolverLanguage.g:2301:3: ( (lv_containment_0_0= 'containment' ) )? - int alt44=2; - int LA44_0 = input.LA(1); + // InternalSolverLanguage.g:3761:2: ( (enumLiteral_0= 'only' ) | (enumLiteral_1= 'sum' ) | (enumLiteral_2= 'prod' ) | (enumLiteral_3= 'avg' ) | (enumLiteral_4= 'min' ) | (enumLiteral_5= 'max' ) ) + int alt50=6; + switch ( input.LA(1) ) { + case 64: + { + alt50=1; + } + break; + case 65: + { + alt50=2; + } + break; + case 66: + { + alt50=3; + } + break; + case 67: + { + alt50=4; + } + break; + case 68: + { + alt50=5; + } + break; + case 69: + { + alt50=6; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 50, 0, input); - if ( (LA44_0==39) ) { - alt44=1; + throw nvae; } - switch (alt44) { + + switch (alt50) { case 1 : - // InternalSolverLanguage.g:2302:4: (lv_containment_0_0= 'containment' ) + // InternalSolverLanguage.g:3762:3: (enumLiteral_0= 'only' ) { - // InternalSolverLanguage.g:2302:4: (lv_containment_0_0= 'containment' ) - // InternalSolverLanguage.g:2303:5: lv_containment_0_0= 'containment' + // InternalSolverLanguage.g:3762:3: (enumLiteral_0= 'only' ) + // InternalSolverLanguage.g:3763:4: enumLiteral_0= 'only' { - lv_containment_0_0=(Token)match(input,39,FOLLOW_34); + enumLiteral_0=(Token)match(input,64,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - newLeafNode(lv_containment_0_0, grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getGlobalRelationInterpretationRule()); - } - setWithLastConsumed(current, "containment", true, "containment"); - + current = grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); + + } } } break; + case 2 : + // InternalSolverLanguage.g:3770:3: (enumLiteral_1= 'sum' ) + { + // InternalSolverLanguage.g:3770:3: (enumLiteral_1= 'sum' ) + // InternalSolverLanguage.g:3771:4: enumLiteral_1= 'sum' + { + enumLiteral_1=(Token)match(input,65,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - } - - otherlv_1=(Token)match(input,40,FOLLOW_12); + current = grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); + + } - newLeafNode(otherlv_1, grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); - - // InternalSolverLanguage.g:2319:3: ( (lv_symbol_2_0= ruleModelSymbol ) ) - // InternalSolverLanguage.g:2320:4: (lv_symbol_2_0= ruleModelSymbol ) - { - // InternalSolverLanguage.g:2320:4: (lv_symbol_2_0= ruleModelSymbol ) - // InternalSolverLanguage.g:2321:5: lv_symbol_2_0= ruleModelSymbol - { + } - newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); - - pushFollow(FOLLOW_10); - lv_symbol_2_0=ruleModelSymbol(); - state._fsp--; + } + break; + case 3 : + // InternalSolverLanguage.g:3778:3: (enumLiteral_2= 'prod' ) + { + // InternalSolverLanguage.g:3778:3: (enumLiteral_2= 'prod' ) + // InternalSolverLanguage.g:3779:4: enumLiteral_2= 'prod' + { + enumLiteral_2=(Token)match(input,66,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + current = grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2()); + + } - if (current==null) { - current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); - } - set( - current, - "symbol", - lv_symbol_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); - afterParserOrEnumRuleCall(); - + } - } + } + break; + case 4 : + // InternalSolverLanguage.g:3786:3: (enumLiteral_3= 'avg' ) + { + // InternalSolverLanguage.g:3786:3: (enumLiteral_3= 'avg' ) + // InternalSolverLanguage.g:3787:4: enumLiteral_3= 'avg' + { + enumLiteral_3=(Token)match(input,67,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - } + current = grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); + + } - otherlv_3=(Token)match(input,20,FOLLOW_33); + } - newLeafNode(otherlv_3, grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3()); - - // InternalSolverLanguage.g:2342:3: ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? - int alt45=2; - int LA45_0 = input.LA(1); - if ( (LA45_0==RULE_INT) ) { - alt45=1; - } - switch (alt45) { - case 1 : - // InternalSolverLanguage.g:2343:4: (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) + } + break; + case 5 : + // InternalSolverLanguage.g:3794:3: (enumLiteral_4= 'min' ) { - // InternalSolverLanguage.g:2343:4: (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) - // InternalSolverLanguage.g:2344:5: lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition + // InternalSolverLanguage.g:3794:3: (enumLiteral_4= 'min' ) + // InternalSolverLanguage.g:3795:4: enumLiteral_4= 'min' { + enumLiteral_4=(Token)match(input,68,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0()); - - pushFollow(FOLLOW_21); - lv_sourceMultiplicity_4_0=ruleMultiplicityDefinition(); + current = grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); + + } + + } - state._fsp--; + } + break; + case 6 : + // InternalSolverLanguage.g:3802:3: (enumLiteral_5= 'max' ) + { + // InternalSolverLanguage.g:3802:3: (enumLiteral_5= 'max' ) + // InternalSolverLanguage.g:3803:4: enumLiteral_5= 'max' + { + enumLiteral_5=(Token)match(input,69,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); - } - set( - current, - "sourceMultiplicity", - lv_sourceMultiplicity_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition"); - afterParserOrEnumRuleCall(); - + current = grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); + + } } @@ -6760,155 +11078,163 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguage.g:2361:3: ( (lv_source_5_0= ruleSymbol ) ) - // InternalSolverLanguage.g:2362:4: (lv_source_5_0= ruleSymbol ) - { - // InternalSolverLanguage.g:2362:4: (lv_source_5_0= ruleSymbol ) - // InternalSolverLanguage.g:2363:5: lv_source_5_0= ruleSymbol - { - newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0()); - - pushFollow(FOLLOW_33); - lv_source_5_0=ruleSymbol(); + } - state._fsp--; + if ( state.backtracking==0 ) { + leaveRule(); - if (current==null) { - current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); - } - set( - current, - "source", - lv_source_5_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); - afterParserOrEnumRuleCall(); - + } + } + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); } + finally { + } + return current; + } + // $ANTLR end "ruleAggregationOp" - } + // $ANTLR start "ruleLogicValue" + // InternalSolverLanguage.g:3813:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) | (enumLiteral_3= 'error' ) ) ; + public final Enumerator ruleLogicValue() throws RecognitionException { + Enumerator current = null; - // InternalSolverLanguage.g:2380:3: ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? - int alt46=2; - int LA46_0 = input.LA(1); + Token enumLiteral_0=null; + Token enumLiteral_1=null; + Token enumLiteral_2=null; + Token enumLiteral_3=null; - if ( (LA46_0==RULE_INT) ) { - alt46=1; + + enterRule(); + + try { + // InternalSolverLanguage.g:3819:2: ( ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) | (enumLiteral_3= 'error' ) ) ) + // InternalSolverLanguage.g:3820:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) | (enumLiteral_3= 'error' ) ) + { + // InternalSolverLanguage.g:3820:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) | (enumLiteral_3= 'error' ) ) + int alt51=4; + switch ( input.LA(1) ) { + case 70: + { + alt51=1; + } + break; + case 71: + { + alt51=2; + } + break; + case 72: + { + alt51=3; + } + break; + case 19: + { + alt51=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 51, 0, input); + + throw nvae; } - switch (alt46) { + + switch (alt51) { case 1 : - // InternalSolverLanguage.g:2381:4: (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) + // InternalSolverLanguage.g:3821:3: (enumLiteral_0= 'true' ) { - // InternalSolverLanguage.g:2381:4: (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) - // InternalSolverLanguage.g:2382:5: lv_targetMultiplicity_6_0= ruleMultiplicityDefinition + // InternalSolverLanguage.g:3821:3: (enumLiteral_0= 'true' ) + // InternalSolverLanguage.g:3822:4: enumLiteral_0= 'true' { + enumLiteral_0=(Token)match(input,70,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0()); - - pushFollow(FOLLOW_21); - lv_targetMultiplicity_6_0=ruleMultiplicityDefinition(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); - } - set( - current, - "targetMultiplicity", - lv_targetMultiplicity_6_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition"); - afterParserOrEnumRuleCall(); - + current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); + + } } } break; + case 2 : + // InternalSolverLanguage.g:3829:3: (enumLiteral_1= 'false' ) + { + // InternalSolverLanguage.g:3829:3: (enumLiteral_1= 'false' ) + // InternalSolverLanguage.g:3830:4: enumLiteral_1= 'false' + { + enumLiteral_1=(Token)match(input,71,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - } + current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); + + } - // InternalSolverLanguage.g:2399:3: ( (lv_target_7_0= ruleSymbol ) ) - // InternalSolverLanguage.g:2400:4: (lv_target_7_0= ruleSymbol ) - { - // InternalSolverLanguage.g:2400:4: (lv_target_7_0= ruleSymbol ) - // InternalSolverLanguage.g:2401:5: lv_target_7_0= ruleSymbol - { + } - newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0()); - - pushFollow(FOLLOW_2); - lv_target_7_0=ruleSymbol(); - state._fsp--; + } + break; + case 3 : + // InternalSolverLanguage.g:3837:3: (enumLiteral_2= 'unknown' ) + { + // InternalSolverLanguage.g:3837:3: (enumLiteral_2= 'unknown' ) + // InternalSolverLanguage.g:3838:4: enumLiteral_2= 'unknown' + { + enumLiteral_2=(Token)match(input,72,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); + + } - if (current==null) { - current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); - } - set( - current, - "target", - lv_target_7_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); - afterParserOrEnumRuleCall(); - + } - } + } + break; + case 4 : + // InternalSolverLanguage.g:3845:3: (enumLiteral_3= 'error' ) + { + // InternalSolverLanguage.g:3845:3: (enumLiteral_3= 'error' ) + // InternalSolverLanguage.g:3846:4: enumLiteral_3= 'error' + { + enumLiteral_3=(Token)match(input,19,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { - } + current = grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3()); + + } + } - } + } + break; } - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); } - finally { - } - return current; - } - // $ANTLR end "ruleGlobalRelationInterpretation" - - - // $ANTLR start "entryRuleMultiplicityDefinition" - // InternalSolverLanguage.g:2422:1: entryRuleMultiplicityDefinition returns [EObject current=null] : iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF ; - public final EObject entryRuleMultiplicityDefinition() throws RecognitionException { - EObject current = null; - - EObject iv_ruleMultiplicityDefinition = null; - - - try { - // InternalSolverLanguage.g:2422:63: (iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF ) - // InternalSolverLanguage.g:2423:2: iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF - { - newCompositeNode(grammarAccess.getMultiplicityDefinitionRule()); - pushFollow(FOLLOW_1); - iv_ruleMultiplicityDefinition=ruleMultiplicityDefinition(); - state._fsp--; + if ( state.backtracking==0 ) { - current =iv_ruleMultiplicityDefinition; - match(input,EOF,FOLLOW_2); + leaveRule(); } - } catch (RecognitionException re) { @@ -6919,131 +11245,75 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleMultiplicityDefinition" + // $ANTLR end "ruleLogicValue" - // $ANTLR start "ruleMultiplicityDefinition" - // 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= '*' ) ) ) ) ; - public final EObject ruleMultiplicityDefinition() throws RecognitionException { - EObject current = null; + // $ANTLR start "ruleObjectiveKind" + // InternalSolverLanguage.g:3856:1: ruleObjectiveKind returns [Enumerator current=null] : ( (enumLiteral_0= 'minimize' ) | (enumLiteral_1= 'maximize' ) ) ; + public final Enumerator ruleObjectiveKind() throws RecognitionException { + Enumerator current = null; - Token lv_lower_0_0=null; - Token otherlv_1=null; - Token lv_upper_2_0=null; - Token lv_unlimitedUpper_3_0=null; + Token enumLiteral_0=null; + Token enumLiteral_1=null; enterRule(); try { - // InternalSolverLanguage.g:2435:2: ( ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) ) - // InternalSolverLanguage.g:2436:2: ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) - { - // InternalSolverLanguage.g:2436:2: ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) - // InternalSolverLanguage.g:2437:3: ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) + // InternalSolverLanguage.g:3862:2: ( ( (enumLiteral_0= 'minimize' ) | (enumLiteral_1= 'maximize' ) ) ) + // InternalSolverLanguage.g:3863:2: ( (enumLiteral_0= 'minimize' ) | (enumLiteral_1= 'maximize' ) ) { - // InternalSolverLanguage.g:2437:3: ( (lv_lower_0_0= RULE_INT ) ) - // InternalSolverLanguage.g:2438:4: (lv_lower_0_0= RULE_INT ) - { - // InternalSolverLanguage.g:2438:4: (lv_lower_0_0= RULE_INT ) - // InternalSolverLanguage.g:2439:5: lv_lower_0_0= RULE_INT - { - lv_lower_0_0=(Token)match(input,RULE_INT,FOLLOW_35); - - newLeafNode(lv_lower_0_0, grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getMultiplicityDefinitionRule()); - } - setWithLastConsumed( - current, - "lower", - lv_lower_0_0, - "org.eclipse.xtext.common.Terminals.INT"); - - - } - - - } - - otherlv_1=(Token)match(input,41,FOLLOW_36); - - newLeafNode(otherlv_1, grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1()); - - // InternalSolverLanguage.g:2459:3: ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) - int alt47=2; - int LA47_0 = input.LA(1); + // InternalSolverLanguage.g:3863:2: ( (enumLiteral_0= 'minimize' ) | (enumLiteral_1= 'maximize' ) ) + int alt52=2; + int LA52_0 = input.LA(1); - if ( (LA47_0==RULE_INT) ) { - alt47=1; + if ( (LA52_0==73) ) { + alt52=1; } - else if ( (LA47_0==31) ) { - alt47=2; + else if ( (LA52_0==74) ) { + alt52=2; } else { + if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 47, 0, input); + new NoViableAltException("", 52, 0, input); throw nvae; } - switch (alt47) { + switch (alt52) { case 1 : - // InternalSolverLanguage.g:2460:4: ( (lv_upper_2_0= RULE_INT ) ) - { - // InternalSolverLanguage.g:2460:4: ( (lv_upper_2_0= RULE_INT ) ) - // InternalSolverLanguage.g:2461:5: (lv_upper_2_0= RULE_INT ) + // InternalSolverLanguage.g:3864:3: (enumLiteral_0= 'minimize' ) { - // InternalSolverLanguage.g:2461:5: (lv_upper_2_0= RULE_INT ) - // InternalSolverLanguage.g:2462:6: lv_upper_2_0= RULE_INT + // InternalSolverLanguage.g:3864:3: (enumLiteral_0= 'minimize' ) + // InternalSolverLanguage.g:3865:4: enumLiteral_0= 'minimize' { - lv_upper_2_0=(Token)match(input,RULE_INT,FOLLOW_2); - - newLeafNode(lv_upper_2_0, grammarAccess.getMultiplicityDefinitionAccess().getUpperINTTerminalRuleCall_2_0_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getMultiplicityDefinitionRule()); - } - setWithLastConsumed( - current, - "upper", - lv_upper_2_0, - "org.eclipse.xtext.common.Terminals.INT"); - + enumLiteral_0=(Token)match(input,73,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + current = grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); + } - } } break; case 2 : - // InternalSolverLanguage.g:2479:4: ( (lv_unlimitedUpper_3_0= '*' ) ) - { - // InternalSolverLanguage.g:2479:4: ( (lv_unlimitedUpper_3_0= '*' ) ) - // InternalSolverLanguage.g:2480:5: (lv_unlimitedUpper_3_0= '*' ) + // InternalSolverLanguage.g:3872:3: (enumLiteral_1= 'maximize' ) { - // InternalSolverLanguage.g:2480:5: (lv_unlimitedUpper_3_0= '*' ) - // InternalSolverLanguage.g:2481:6: lv_unlimitedUpper_3_0= '*' + // InternalSolverLanguage.g:3872:3: (enumLiteral_1= 'maximize' ) + // InternalSolverLanguage.g:3873:4: enumLiteral_1= 'maximize' { - lv_unlimitedUpper_3_0=(Token)match(input,31,FOLLOW_2); - - newLeafNode(lv_unlimitedUpper_3_0, grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getMultiplicityDefinitionRule()); - } - setWithLastConsumed(current, "unlimitedUpper", true, "*"); - + enumLiteral_1=(Token)match(input,74,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + current = grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); + } - } @@ -7055,12 +11325,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + if ( state.backtracking==0 ) { - } - - - leaveRule(); + leaveRule(); + } } catch (RecognitionException re) { @@ -7071,27 +11340,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleMultiplicityDefinition" + // $ANTLR end "ruleObjectiveKind" // Delegated rules protected DFA2 dfa2 = new DFA2(this); - static final String dfa_1s = "\11\uffff"; - static final String dfa_2s = "\1\5\1\21\2\uffff\1\4\1\22\1\24\1\4\1\22"; - static final String dfa_3s = "\1\50\1\34\2\uffff\1\37\1\24\1\34\1\37\1\24"; - static final String dfa_4s = "\2\uffff\1\1\1\2\5\uffff"; - static final String dfa_5s = "\11\uffff}>"; + protected DFA25 dfa25 = new DFA25(this); + protected DFA36 dfa36 = new DFA36(this); + static final String dfa_1s = "\15\uffff"; + static final String dfa_2s = "\1\7\1\uffff\1\4\2\uffff\1\10\7\uffff"; + static final String dfa_3s = "\1\112\1\uffff\1\73\2\uffff\1\63\7\uffff"; + 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"; + static final String dfa_5s = "\15\uffff}>"; static final String[] dfa_6s = { - "\1\1\12\uffff\1\3\4\uffff\6\2\5\uffff\3\2\3\uffff\3\2", - "\1\4\2\uffff\1\2\7\uffff\1\3", + "\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", + "", + "\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", + "", + "", + "\1\14\1\uffff\1\14\47\uffff\2\13", + "", + "", + "", + "", "", "", - "\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", - "\1\7\1\6\1\3", - "\1\2\7\uffff\1\3", - "\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", - "\1\7\1\6\1\3" + "" }; static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); @@ -7115,46 +11390,156 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { this.transition = dfa_6; } public String getDescription() { - return "114:2: (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate )"; + 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 )"; + } + } + static final String dfa_7s = "\12\uffff"; + static final String dfa_8s = "\1\uffff\2\3\4\uffff\1\11\1\3\1\uffff"; + static final String dfa_9s = "\1\7\2\10\2\uffff\1\10\1\uffff\1\7\1\10\1\uffff"; + static final String dfa_10s = "\1\110\2\73\2\uffff\1\10\1\uffff\1\110\1\73\1\uffff"; + static final String dfa_11s = "\3\uffff\1\1\1\2\1\uffff\1\3\2\uffff\1\4"; + static final String dfa_12s = "\12\uffff}>"; + static final String[] dfa_13s = { + "\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", + "\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", + "\1\6\1\uffff\1\6\21\uffff\1\3\4\uffff\2\3\1\7\13\uffff\3\3\2\uffff\10\3", + "", + "", + "\1\10", + "", + "\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", + "\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", + "" + }; + + static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); + static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s); + static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s); + static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s); + static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s); + static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); + static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s); + + class DFA25 extends DFA { + + public DFA25(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 25; + this.eot = dfa_7; + this.eof = dfa_8; + this.min = dfa_9; + this.max = dfa_10; + this.accept = dfa_11; + this.special = dfa_12; + this.transition = dfa_13; + } + public String getDescription() { + return "1998:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )"; + } + } + static final String dfa_14s = "\17\uffff"; + static final String dfa_15s = "\15\uffff\1\11\1\uffff"; + 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"; + 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"; + static final String dfa_18s = "\6\uffff\1\2\1\uffff\1\1\1\3\5\uffff"; + static final String dfa_19s = "\17\uffff}>"; + static final String[] dfa_20s = { + "\1\1", + "\1\3\1\2\1\4", + "\1\5\1\6", + "\1\7\30\uffff\1\10\1\6\1\11", + "\1\10\1\6\1\11", + "\1\12\1\uffff\1\13", + "", + "\1\14", + "", + "", + "\1\15\31\uffff\1\6", + "\1\11\31\uffff\1\6", + "\1\7\30\uffff\1\10\1\6\1\11", + "\1\11\3\uffff\1\16", + "\1\15\31\uffff\1\6" + }; + + static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s); + static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s); + static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s); + static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s); + static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s); + static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); + static final short[][] dfa_20 = unpackEncodedStringArray(dfa_20s); + + class DFA36 extends DFA { + + public DFA36(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 36; + this.eot = dfa_14; + this.eof = dfa_15; + this.min = dfa_16; + this.max = dfa_17; + this.accept = dfa_18; + this.special = dfa_19; + this.transition = dfa_20; + } + public String getDescription() { + return "2973:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )"; } } public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x000001C707E10022L}); + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0xF30C479220BC0782L,0x00000000000007FFL}); public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000001000L}); - public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000120000L}); - public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000088186870L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x00000000000C0000L}); - public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000088106870L}); - public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000100000L}); - public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x000000000001E000L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000008000000L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000010020000L}); - public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000080020L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000010000000L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x00000000E0007820L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000020001000L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x00000000E0003820L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000100002L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000007E00020L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x00000000C0000822L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000020002L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x00000000080C6870L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000008006870L}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000020000L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000400000000L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000001800000000L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000001000000020L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x000000A000000020L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000001000000000L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000002008000000L}); - public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000007E00030L}); - public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000020000000000L}); - public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000080000010L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000038002L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0xF300019220880780L,0x00000000000001FFL}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000080500L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x00000000000C0500L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000008000L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000400000L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000020000L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x000C000000000000L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000002000000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x000000000C000002L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000004000002L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000008000000L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000010000002L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x00F3800000000002L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0300000000000002L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0400000800000002L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0800000000000002L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000019220080780L,0x00000000000001FFL}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000040000000L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000100000000L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000200000002L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000200000060L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0xF300019E20880780L,0x00000000000001FFL}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000410000000L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0xF300019A20880780L,0x00000000000001FFL}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000000000500L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000800000000L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000002000000000L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000004000000000L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000080040000000L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000050000000L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000100080000500L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000001000000100L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000200004000002L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000800000200L}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000200L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000800000000000L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000000000000700L}); + public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0001000000000000L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0002000000000000L}); + public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0002000000400000L}); + public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000400002L}); } \ 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.scoping; 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.serializer; @@ -8,43 +8,48 @@ import java.util.Set; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess; -import org.eclipse.viatra.solver.language.solverLanguage.AllInstances; -import org.eclipse.viatra.solver.language.solverLanguage.AllObjects; -import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue; -import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.Constraint; -import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.False; -import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.IntObject; -import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure; -import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition; -import org.eclipse.viatra.solver.language.solverLanguage.NamedObject; -import org.eclipse.viatra.solver.language.solverLanguage.Negative; -import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; -import org.eclipse.viatra.solver.language.solverLanguage.Positive; -import org.eclipse.viatra.solver.language.solverLanguage.Predicate; +import org.eclipse.viatra.solver.language.solverLanguage.Aggregation; +import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList; +import org.eclipse.viatra.solver.language.solverLanguage.Assertion; +import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression; +import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Call; +import org.eclipse.viatra.solver.language.solverLanguage.Case; +import org.eclipse.viatra.solver.language.solverLanguage.Comparison; +import org.eclipse.viatra.solver.language.solverLanguage.Conjunction; +import org.eclipse.viatra.solver.language.solverLanguage.Count; +import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Disjunction; +import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument; +import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.IfElse; +import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.Interval; +import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition; import org.eclipse.viatra.solver.language.solverLanguage.Problem; -import org.eclipse.viatra.solver.language.solverLanguage.RealObject; -import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure; +import org.eclipse.viatra.solver.language.solverLanguage.Reference; import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.StringObject; -import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.True; -import org.eclipse.viatra.solver.language.solverLanguage.Unknown; -import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject; -import org.eclipse.viatra.solver.language.solverLanguage.Variable; +import org.eclipse.viatra.solver.language.solverLanguage.StarArgument; +import org.eclipse.viatra.solver.language.solverLanguage.Statement; +import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.Switch; +import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument; +import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument; +import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression; +import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition; import org.eclipse.xtext.Action; import org.eclipse.xtext.Parameter; import org.eclipse.xtext.ParserRule; @@ -67,119 +72,183 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS Set parameters = context.getEnabledBooleanParameters(); if (epackage == SolverLanguagePackage.eINSTANCE) switch (semanticObject.eClass().getClassifierID()) { - case SolverLanguagePackage.ALL_INSTANCES: - sequence_AllInstances(context, (AllInstances) semanticObject); + case SolverLanguagePackage.AGGREGATION: + sequence_Aggregation(context, (Aggregation) semanticObject); return; - case SolverLanguagePackage.ALL_OBJECTS: - sequence_AllObjects(context, (AllObjects) semanticObject); + case SolverLanguagePackage.ARGUMENT_LIST: + sequence_ArgumentList(context, (ArgumentList) semanticObject); return; - case SolverLanguagePackage.BASIC_INTERPRETATION: - sequence_BasicInterpretation(context, (BasicInterpretation) semanticObject); + case SolverLanguagePackage.ASSERTION: + sequence_AssertionOrDefinition(context, (Assertion) semanticObject); return; - case SolverLanguagePackage.BOOLEAN_FALSE: - sequence_BooleanValue(context, (BooleanFalse) semanticObject); + case SolverLanguagePackage.BINARY_EXPRESSION: + sequence_AdditiveExpression_ExponentialExpression_MultiplicativeExpression(context, (BinaryExpression) semanticObject); return; - case SolverLanguagePackage.BOOLEAN_OBJECT: - sequence_BooleanObject(context, (BooleanObject) semanticObject); + case SolverLanguagePackage.BOUNDED_MULTIPLICITY: + sequence_BoundedMultiplicity(context, (BoundedMultiplicity) semanticObject); return; - case SolverLanguagePackage.BOOLEAN_SYMBOL: - sequence_BooleanSymbol(context, (BooleanSymbol) semanticObject); + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION: + sequence_BoundedScopeDefinition(context, (BoundedScopeDefinition) semanticObject); return; - case SolverLanguagePackage.BOOLEAN_TRUE: - sequence_BooleanValue(context, (BooleanTrue) semanticObject); + case SolverLanguagePackage.CALL: + if (action == grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0() + || action == grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0() + || action == grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0() + || rule == grammarAccess.getExpressionRule() + || rule == grammarAccess.getDisjunctiveExpressionRule() + || action == grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0() + || action == grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0() + || rule == grammarAccess.getConjunctiveExpressionRule() + || action == grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0() + || rule == grammarAccess.getComparisonExpressionRule() + || action == grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0() + || rule == grammarAccess.getAdditiveExpressionRule() + || action == grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0() + || rule == grammarAccess.getMultiplicativeExpressionRule() + || action == grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0() + || rule == grammarAccess.getExponentialExpressionRule() + || action == grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0() + || rule == grammarAccess.getUnaryExpressionRule() + || rule == grammarAccess.getAggregationExpressionRule() + || rule == grammarAccess.getAtomicExpressionRule()) { + sequence_AtomicExpression(context, (Call) semanticObject); + return; + } + else if (rule == grammarAccess.getCallRule()) { + sequence_Call(context, (Call) semanticObject); + return; + } + else break; + case SolverLanguagePackage.CASE: + if (rule == grammarAccess.getCaseRule()) { + sequence_Case(context, (Case) semanticObject); + return; + } + else if (action == grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3()) { + sequence_DisjunctiveExpression_Switch_1_1_3(context, (Case) semanticObject); + return; + } + else break; + case SolverLanguagePackage.COMPARISON: + sequence_ComparisonExpression(context, (Comparison) semanticObject); return; - case SolverLanguagePackage.CLASS_INTERPRETATION: - sequence_ClassInterpretation(context, (ClassInterpretation) semanticObject); + case SolverLanguagePackage.CONJUNCTION: + sequence_ConjunctiveExpression(context, (Conjunction) semanticObject); return; - case SolverLanguagePackage.CONSTRAINT: - sequence_Constraint(context, (Constraint) semanticObject); + case SolverLanguagePackage.COUNT: + sequence_Count(context, (Count) semanticObject); return; - case SolverLanguagePackage.DEFAULT_INTERPRETATION: - sequence_DefaultInterpretation(context, (DefaultInterpretation) semanticObject); + case SolverLanguagePackage.DEFAULT_DEFINITION: + sequence_DefaultDefinition(context, (DefaultDefinition) semanticObject); return; - case SolverLanguagePackage.ENUM_INTERPRETATION: - sequence_EnumInterpretation(context, (EnumInterpretation) semanticObject); + case SolverLanguagePackage.DISJUNCTION: + sequence_DisjunctiveExpression(context, (Disjunction) semanticObject); return; - case SolverLanguagePackage.EQUALS_SYMBOL: - sequence_EqualsSymbol(context, (EqualsSymbol) semanticObject); + case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL: + sequence_EmptyIntervalLiteral(context, (EmptyIntervalLiteral) semanticObject); return; - case SolverLanguagePackage.ERROR: - sequence_TruthValue(context, (org.eclipse.viatra.solver.language.solverLanguage.Error) semanticObject); + case SolverLanguagePackage.EXACT_MULTIPLICITY: + sequence_ExactMultiplicity(context, (ExactMultiplicity) semanticObject); return; - case SolverLanguagePackage.EXIST_SYMBOL: - sequence_ExistSymbol(context, (ExistSymbol) semanticObject); + case SolverLanguagePackage.EXACT_SCOPE_DEFINITION: + sequence_ExactScopeDefinition(context, (ExactScopeDefinition) semanticObject); return; - case SolverLanguagePackage.FALSE: - sequence_TruthValue(context, (False) semanticObject); + case SolverLanguagePackage.EXPRESSION_ARGUMENT: + sequence_ExpressionArgument(context, (ExpressionArgument) semanticObject); return; - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION: - sequence_FieldRelationInterpretation(context, (FieldRelationInterpretation) semanticObject); + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: + sequence_ExternMetricDefinition(context, (ExternMetricDefinition) semanticObject); return; - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION: - sequence_GlobalRelationInterpretation(context, (GlobalRelationInterpretation) semanticObject); + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION: + sequence_ExternPredicateDefinition(context, (ExternPredicateDefinition) semanticObject); return; - case SolverLanguagePackage.INT_OBJECT: - sequence_IntObject(context, (IntObject) semanticObject); + case SolverLanguagePackage.IF_ELSE: + sequence_IfElse(context, (IfElse) semanticObject); return; - case SolverLanguagePackage.INTEGER_SYMBOL: - sequence_IntegerSymbol(context, (IntegerSymbol) semanticObject); + case SolverLanguagePackage.INFINITY_LITERAL: + sequence_InfinityLiteral(context, (InfinityLiteral) semanticObject); return; - case SolverLanguagePackage.IRREFLEXIVE_CLOSURE: - sequence_ClosureType(context, (IrreflexiveClosure) semanticObject); + case SolverLanguagePackage.INTERVAL: + sequence_Interval(context, (Interval) semanticObject); return; - case SolverLanguagePackage.MODEL_SYMBOL: - sequence_ModelSymbol(context, (ModelSymbol) semanticObject); + case SolverLanguagePackage.LOGIC_LITERAL: + sequence_LogicLiteral(context, (LogicLiteral) semanticObject); return; - case SolverLanguagePackage.MULTIPLICITY_DEFINITION: - sequence_MultiplicityDefinition(context, (MultiplicityDefinition) semanticObject); + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION: + sequence_LowerBoundedScopeDefinition(context, (LowerBoundedScopeDefinition) semanticObject); return; - case SolverLanguagePackage.NAMED_OBJECT: - sequence_NamedObject(context, (NamedObject) semanticObject); + case SolverLanguagePackage.MANY_MULTIPLICITY: + sequence_ManyMultiplicity(context, (ManyMultiplicity) semanticObject); return; - case SolverLanguagePackage.NEGATIVE: - sequence_Polarity(context, (Negative) semanticObject); + case SolverLanguagePackage.MEMBER_DEFINITION: + sequence_MemberDefinition(context, (MemberDefinition) semanticObject); return; - case SolverLanguagePackage.PARAMETER: - sequence_Parameter(context, (org.eclipse.viatra.solver.language.solverLanguage.Parameter) semanticObject); + case SolverLanguagePackage.METRIC_DEFINITION: + if (rule == grammarAccess.getAssertionOrDefinitionRule()) { + sequence_AssertionOrDefinition(context, (MetricDefinition) semanticObject); + return; + } + else if (rule == grammarAccess.getStatementRule()) { + sequence_AssertionOrDefinition_MetricDefinition(context, (MetricDefinition) semanticObject); + return; + } + else if (rule == grammarAccess.getMetricDefinitionRule()) { + sequence_MetricDefinition(context, (MetricDefinition) semanticObject); + return; + } + else break; + case SolverLanguagePackage.NAMED_ELEMENT: + sequence_NamedElement(context, (NamedElement) semanticObject); return; - case SolverLanguagePackage.PATTERN_BODY: - sequence_PatternBody(context, (PatternBody) semanticObject); + case SolverLanguagePackage.NUMERIC_LITERAL: + sequence_NumericLiteral(context, (NumericLiteral) semanticObject); return; - case SolverLanguagePackage.POSITIVE: - sequence_Polarity(context, (Positive) semanticObject); - return; - case SolverLanguagePackage.PREDICATE: - sequence_Predicate(context, (Predicate) semanticObject); + case SolverLanguagePackage.OBJECTIVE_DEFINITION: + sequence_ObjectiveDefinition(context, (ObjectiveDefinition) semanticObject); return; + case SolverLanguagePackage.PREDICATE_DEFINITION: + if (rule == grammarAccess.getAssertionOrDefinitionRule()) { + sequence_AssertionOrDefinition(context, (PredicateDefinition) semanticObject); + return; + } + else if (rule == grammarAccess.getStatementRule()) { + sequence_AssertionOrDefinition_PredicateDefinition(context, (PredicateDefinition) semanticObject); + return; + } + else if (rule == grammarAccess.getPredicateDefinitionRule()) { + sequence_PredicateDefinition(context, (PredicateDefinition) semanticObject); + return; + } + else break; case SolverLanguagePackage.PROBLEM: sequence_Problem(context, (Problem) semanticObject); return; - case SolverLanguagePackage.REAL_OBJECT: - sequence_RealObject(context, (RealObject) semanticObject); + case SolverLanguagePackage.REFERENCE: + sequence_Reference(context, (Reference) semanticObject); return; - case SolverLanguagePackage.REAL_SYMBOL: - sequence_RealSymbol(context, (RealSymbol) semanticObject); + case SolverLanguagePackage.STAR_ARGUMENT: + sequence_StarArgument(context, (StarArgument) semanticObject); return; - case SolverLanguagePackage.REFLEXIVE_CLOSURE: - sequence_ClosureType(context, (ReflexiveClosure) semanticObject); + case SolverLanguagePackage.STATEMENT: + sequence_ClassDefinition(context, (Statement) semanticObject); return; - case SolverLanguagePackage.STRING_OBJECT: - sequence_StringObject(context, (StringObject) semanticObject); + case SolverLanguagePackage.STRING_LITERAL: + sequence_StringLiteral(context, (StringLiteral) semanticObject); return; - case SolverLanguagePackage.STRING_SYMBOL: - sequence_StringSymbol(context, (StringSymbol) semanticObject); + case SolverLanguagePackage.SWITCH: + sequence_DisjunctiveExpression(context, (Switch) semanticObject); return; - case SolverLanguagePackage.TRUE: - sequence_TruthValue(context, (True) semanticObject); + case SolverLanguagePackage.TYPED_ARGUMENT: + sequence_TypedArgument(context, (TypedArgument) semanticObject); return; - case SolverLanguagePackage.UNKNOWN: - sequence_TruthValue(context, (Unknown) semanticObject); + case SolverLanguagePackage.TYPED_STAR_ARGUMENT: + sequence_TypedStarArgument(context, (TypedStarArgument) semanticObject); return; - case SolverLanguagePackage.UNNAMED_OBJECT: - sequence_UnnamedObject(context, (UnnamedObject) semanticObject); + case SolverLanguagePackage.UNARY_EXPRESSION: + sequence_UnaryExpression(context, (UnaryExpression) semanticObject); return; - case SolverLanguagePackage.VARIABLE: - sequence_Variable(context, (Variable) semanticObject); + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: + sequence_UnnamedErrorPrediateDefinition(context, (UnnamedErrorPrediateDefinition) semanticObject); return; } if (errorAcceptor != null) @@ -188,574 +257,1169 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * ComplexObject returns AllInstances - * AllInstances returns AllInstances + * AssertionOrDefinition.Assertion_1_0_0 returns BinaryExpression + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns BinaryExpression + * AssertionOrDefinition.MetricDefinition_1_2_0 returns BinaryExpression + * Expression returns BinaryExpression + * DisjunctiveExpression returns BinaryExpression + * DisjunctiveExpression.Disjunction_1_0_0 returns BinaryExpression + * DisjunctiveExpression.Case_1_1_0 returns BinaryExpression + * ConjunctiveExpression returns BinaryExpression + * ConjunctiveExpression.Conjunction_1_0 returns BinaryExpression + * ComparisonExpression returns BinaryExpression + * ComparisonExpression.Comparison_1_0 returns BinaryExpression + * AdditiveExpression returns BinaryExpression + * AdditiveExpression.BinaryExpression_1_0 returns BinaryExpression + * MultiplicativeExpression returns BinaryExpression + * MultiplicativeExpression.BinaryExpression_1_0 returns BinaryExpression + * ExponentialExpression returns BinaryExpression + * ExponentialExpression.BinaryExpression_1_0 returns BinaryExpression + * UnaryExpression returns BinaryExpression + * AggregationExpression returns BinaryExpression + * AtomicExpression returns BinaryExpression + * + * Constraint: + * ( + * (left=AdditiveExpression_BinaryExpression_1_0 op=AdditiveBinaryOperator right=MultiplicativeExpression) | + * (left=MultiplicativeExpression_BinaryExpression_1_0 op=MultiplicativeBinaryOperator right=ExponentialExpression) | + * (left=ExponentialExpression_BinaryExpression_1_0 op=ExponentialOp right=ExponentialExpression) + * ) + */ + protected void sequence_AdditiveExpression_ExponentialExpression_MultiplicativeExpression(ISerializationContext context, BinaryExpression semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * AssertionOrDefinition.Assertion_1_0_0 returns Aggregation + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Aggregation + * AssertionOrDefinition.MetricDefinition_1_2_0 returns Aggregation + * Expression returns Aggregation + * DisjunctiveExpression returns Aggregation + * DisjunctiveExpression.Disjunction_1_0_0 returns Aggregation + * DisjunctiveExpression.Case_1_1_0 returns Aggregation + * ConjunctiveExpression returns Aggregation + * ConjunctiveExpression.Conjunction_1_0 returns Aggregation + * ComparisonExpression returns Aggregation + * ComparisonExpression.Comparison_1_0 returns Aggregation + * AdditiveExpression returns Aggregation + * AdditiveExpression.BinaryExpression_1_0 returns Aggregation + * MultiplicativeExpression returns Aggregation + * MultiplicativeExpression.BinaryExpression_1_0 returns Aggregation + * ExponentialExpression returns Aggregation + * ExponentialExpression.BinaryExpression_1_0 returns Aggregation + * UnaryExpression returns Aggregation + * AggregationExpression returns Aggregation + * Aggregation returns Aggregation + * AtomicExpression returns Aggregation * * Constraint: - * symbol=Symbol + * (op=AggregationOp body=Expression condition=Expression) */ - protected void sequence_AllInstances(ISerializationContext context, AllInstances semanticObject) { + protected void sequence_Aggregation(ISerializationContext context, Aggregation semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.ALL_INSTANCES__SYMBOL) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.ALL_INSTANCES__SYMBOL)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__OP) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__OP)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__BODY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__BODY)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__CONDITION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__CONDITION)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0(), semanticObject.getSymbol()); + feeder.accept(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0(), semanticObject.getOp()); + feeder.accept(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0(), semanticObject.getBody()); + feeder.accept(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0(), semanticObject.getCondition()); feeder.finish(); } /** * Contexts: - * ComplexObject returns AllObjects - * AllObjects returns AllObjects + * ArgumentList returns ArgumentList * * Constraint: - * {AllObjects} + * (arguments+=Argument arguments+=Argument*)? */ - protected void sequence_AllObjects(ISerializationContext context, AllObjects semanticObject) { + protected void sequence_ArgumentList(ISerializationContext context, ArgumentList semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * Statement returns BasicInterpretation - * Interpretation returns BasicInterpretation - * BasicInterpretation returns BasicInterpretation + * Statement returns Assertion + * AssertionOrDefinition returns Assertion * * Constraint: - * (symbol=Symbol (objects+=ComplexObject objects+=ComplexObject*)? value=TruthValue) + * (body=AssertionOrDefinition_Assertion_1_0_0 range=Expression?) */ - protected void sequence_BasicInterpretation(ISerializationContext context, BasicInterpretation semanticObject) { + protected void sequence_AssertionOrDefinition(ISerializationContext context, Assertion semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * ComplexObject returns BooleanObject - * Object returns BooleanObject - * DataObject returns BooleanObject - * BooleanObject returns BooleanObject - * Literal returns BooleanObject + * AssertionOrDefinition returns MetricDefinition * * Constraint: - * value=BooleanValue + * (head=AssertionOrDefinition_MetricDefinition_1_2_0 body=Expression) */ - protected void sequence_BooleanObject(ISerializationContext context, BooleanObject semanticObject) { + protected void sequence_AssertionOrDefinition(ISerializationContext context, MetricDefinition semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.BOOLEAN_OBJECT__VALUE) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.BOOLEAN_OBJECT__VALUE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__HEAD) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__HEAD)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0(), semanticObject.getValue()); + feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0(), semanticObject.getHead()); + feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0(), semanticObject.getBody()); feeder.finish(); } /** * Contexts: - * Symbol returns BooleanSymbol - * DataSymbol returns BooleanSymbol - * BooleanSymbol returns BooleanSymbol + * Statement returns MetricDefinition * * Constraint: - * {BooleanSymbol} + * ((head=AssertionOrDefinition_MetricDefinition_1_2_0 body=Expression) | (type=MetricType head=Expression body=Expression)) */ - protected void sequence_BooleanSymbol(ISerializationContext context, BooleanSymbol semanticObject) { + protected void sequence_AssertionOrDefinition_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * BooleanValue returns BooleanFalse + * AssertionOrDefinition returns PredicateDefinition * * Constraint: - * {BooleanFalse} + * (head=AssertionOrDefinition_PredicateDefinition_1_1_0 body=Expression) */ - protected void sequence_BooleanValue(ISerializationContext context, BooleanFalse semanticObject) { - genericSequencer.createSequence(context, semanticObject); + protected void sequence_AssertionOrDefinition(ISerializationContext context, PredicateDefinition semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.PREDICATE_DEFINITION__HEAD) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.PREDICATE_DEFINITION__HEAD)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.PREDICATE_DEFINITION__BODY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.PREDICATE_DEFINITION__BODY)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0(), semanticObject.getHead()); + feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0(), semanticObject.getBody()); + feeder.finish(); } /** * Contexts: - * BooleanValue returns BooleanTrue + * Statement returns PredicateDefinition * * Constraint: - * {BooleanTrue} + * ( + * (head=AssertionOrDefinition_PredicateDefinition_1_1_0 body=Expression) | + * (((functional?='functional' error?='error'?) | (error?='error' functional?='functional'?)) head=Call body=Expression) + * ) */ - protected void sequence_BooleanValue(ISerializationContext context, BooleanTrue semanticObject) { + protected void sequence_AssertionOrDefinition_PredicateDefinition(ISerializationContext context, PredicateDefinition semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * Statement returns ClassInterpretation - * Interpretation returns ClassInterpretation - * CDInterpretation returns ClassInterpretation - * ClassInterpretation returns ClassInterpretation + * AssertionOrDefinition.Assertion_1_0_0 returns Call + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Call + * AssertionOrDefinition.MetricDefinition_1_2_0 returns Call + * Expression returns Call + * DisjunctiveExpression returns Call + * DisjunctiveExpression.Disjunction_1_0_0 returns Call + * DisjunctiveExpression.Case_1_1_0 returns Call + * ConjunctiveExpression returns Call + * ConjunctiveExpression.Conjunction_1_0 returns Call + * ComparisonExpression returns Call + * ComparisonExpression.Comparison_1_0 returns Call + * AdditiveExpression returns Call + * AdditiveExpression.BinaryExpression_1_0 returns Call + * MultiplicativeExpression returns Call + * MultiplicativeExpression.BinaryExpression_1_0 returns Call + * ExponentialExpression returns Call + * ExponentialExpression.BinaryExpression_1_0 returns Call + * UnaryExpression returns Call + * AggregationExpression returns Call + * AtomicExpression returns Call * * Constraint: - * (abstract?='abstract'? symbol=ModelSymbol supertypes+=ModelSymbol* fielt+=FieldRelationInterpretation*) + * (functor=AtomicExpression_Call_0_1_0 argumentList=ArgumentList) */ - protected void sequence_ClassInterpretation(ISerializationContext context, ClassInterpretation semanticObject) { - genericSequencer.createSequence(context, semanticObject); + protected void sequence_AtomicExpression(ISerializationContext context, Call semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CALL__FUNCTOR) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CALL__FUNCTOR)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CALL__ARGUMENT_LIST) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CALL__ARGUMENT_LIST)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getAtomicExpressionAccess().getCallFunctorAction_0_1_0(), semanticObject.getFunctor()); + feeder.accept(grammarAccess.getAtomicExpressionAccess().getArgumentListArgumentListParserRuleCall_0_1_1_0(), semanticObject.getArgumentList()); + feeder.finish(); } /** * Contexts: - * ClosureType returns IrreflexiveClosure + * Multiplicity returns BoundedMultiplicity + * BoundedMultiplicity returns BoundedMultiplicity * * Constraint: - * {IrreflexiveClosure} + * (lowerBound=INT upperBound=UpperMultiplicty) */ - protected void sequence_ClosureType(ISerializationContext context, IrreflexiveClosure semanticObject) { - genericSequencer.createSequence(context, semanticObject); + protected void sequence_BoundedMultiplicity(ISerializationContext context, BoundedMultiplicity semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.BOUNDED_MULTIPLICITY__LOWER_BOUND) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.BOUNDED_MULTIPLICITY__LOWER_BOUND)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.BOUNDED_MULTIPLICITY__UPPER_BOUND) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.BOUNDED_MULTIPLICITY__UPPER_BOUND)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0(), semanticObject.getLowerBound()); + feeder.accept(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0(), semanticObject.getUpperBound()); + feeder.finish(); } /** * Contexts: - * ClosureType returns ReflexiveClosure + * Statement returns BoundedScopeDefinition + * ScopeDefinition returns BoundedScopeDefinition + * BoundedScopeDefinition returns BoundedScopeDefinition * * Constraint: - * {ReflexiveClosure} + * ((lowerBound=INT? type=[NamedElement|QualifiedName] upperBound=INT) | (upperBound=INT type=[NamedElement|QualifiedName] lowerBound=INT?)) */ - protected void sequence_ClosureType(ISerializationContext context, ReflexiveClosure semanticObject) { + protected void sequence_BoundedScopeDefinition(ISerializationContext context, BoundedScopeDefinition semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * Constraint returns Constraint + * Call returns Call * * Constraint: - * ((polarity=Polarity? symbol=ModelSymbol params+=Literal? params+=Literal*) | (closureType=ClosureType params+=Literal? params+=Literal*)) + * (functor=Reference (transitiveClosure?=STAR | reflexiveTransitiveClosure?=PLUS)? argumentList=ArgumentList) */ - protected void sequence_Constraint(ISerializationContext context, Constraint semanticObject) { + protected void sequence_Call(ISerializationContext context, Call semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * Statement returns DefaultInterpretation - * Interpretation returns DefaultInterpretation - * DefaultInterpretation returns DefaultInterpretation + * Case returns Case * * Constraint: - * interpretation=BasicInterpretation + * (condition=ConjunctiveExpression body=ConjunctiveExpression) */ - protected void sequence_DefaultInterpretation(ISerializationContext context, DefaultInterpretation semanticObject) { + protected void sequence_Case(ISerializationContext context, Case semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.DEFAULT_INTERPRETATION__INTERPRETATION) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.DEFAULT_INTERPRETATION__INTERPRETATION)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CASE__CONDITION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CASE__CONDITION)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CASE__BODY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CASE__BODY)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0(), semanticObject.getInterpretation()); + feeder.accept(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0(), semanticObject.getCondition()); + feeder.accept(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0(), semanticObject.getBody()); feeder.finish(); } /** * Contexts: - * Statement returns EnumInterpretation - * Interpretation returns EnumInterpretation - * CDInterpretation returns EnumInterpretation - * EnumInterpretation returns EnumInterpretation + * Statement returns Statement + * ClassDefinition returns Statement * * Constraint: - * (Symbol=ModelSymbol objects+=NamedObject+) + * ( + * abstract?='abstract'? + * name=ID + * (superclasses+=[NamedElement|QualifiedName] superclasses+=[NamedElement|QualifiedName]*)? + * members+=MemberDefinition* + * ) */ - protected void sequence_EnumInterpretation(ISerializationContext context, EnumInterpretation semanticObject) { + protected void sequence_ClassDefinition(ISerializationContext context, Statement semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * Symbol returns EqualsSymbol - * PartialitySymbol returns EqualsSymbol - * EqualsSymbol returns EqualsSymbol + * AssertionOrDefinition.Assertion_1_0_0 returns Comparison + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Comparison + * AssertionOrDefinition.MetricDefinition_1_2_0 returns Comparison + * Expression returns Comparison + * DisjunctiveExpression returns Comparison + * DisjunctiveExpression.Disjunction_1_0_0 returns Comparison + * DisjunctiveExpression.Case_1_1_0 returns Comparison + * ConjunctiveExpression returns Comparison + * ConjunctiveExpression.Conjunction_1_0 returns Comparison + * ComparisonExpression returns Comparison + * ComparisonExpression.Comparison_1_0 returns Comparison + * AdditiveExpression returns Comparison + * AdditiveExpression.BinaryExpression_1_0 returns Comparison + * MultiplicativeExpression returns Comparison + * MultiplicativeExpression.BinaryExpression_1_0 returns Comparison + * ExponentialExpression returns Comparison + * ExponentialExpression.BinaryExpression_1_0 returns Comparison + * UnaryExpression returns Comparison + * AggregationExpression returns Comparison + * AtomicExpression returns Comparison * * Constraint: - * {EqualsSymbol} + * (left=ComparisonExpression_Comparison_1_0 op=ComparisonOperator right=AdditiveExpression) */ - protected void sequence_EqualsSymbol(ISerializationContext context, EqualsSymbol semanticObject) { - genericSequencer.createSequence(context, semanticObject); + protected void sequence_ComparisonExpression(ISerializationContext context, Comparison semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.COMPARISON__LEFT) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.COMPARISON__LEFT)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.COMPARISON__OP) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.COMPARISON__OP)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.COMPARISON__RIGHT) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.COMPARISON__RIGHT)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0(), semanticObject.getOp()); + feeder.accept(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); } /** * Contexts: - * Symbol returns ExistSymbol - * PartialitySymbol returns ExistSymbol - * ExistSymbol returns ExistSymbol + * AssertionOrDefinition.Assertion_1_0_0 returns Conjunction + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Conjunction + * AssertionOrDefinition.MetricDefinition_1_2_0 returns Conjunction + * Expression returns Conjunction + * DisjunctiveExpression returns Conjunction + * DisjunctiveExpression.Disjunction_1_0_0 returns Conjunction + * DisjunctiveExpression.Case_1_1_0 returns Conjunction + * ConjunctiveExpression returns Conjunction + * ConjunctiveExpression.Conjunction_1_0 returns Conjunction + * ComparisonExpression returns Conjunction + * ComparisonExpression.Comparison_1_0 returns Conjunction + * AdditiveExpression returns Conjunction + * AdditiveExpression.BinaryExpression_1_0 returns Conjunction + * MultiplicativeExpression returns Conjunction + * MultiplicativeExpression.BinaryExpression_1_0 returns Conjunction + * ExponentialExpression returns Conjunction + * ExponentialExpression.BinaryExpression_1_0 returns Conjunction + * UnaryExpression returns Conjunction + * AggregationExpression returns Conjunction + * AtomicExpression returns Conjunction * * Constraint: - * {ExistSymbol} + * (children+=ConjunctiveExpression_Conjunction_1_0 children+=ComparisonExpression+) */ - protected void sequence_ExistSymbol(ISerializationContext context, ExistSymbol semanticObject) { + protected void sequence_ConjunctiveExpression(ISerializationContext context, Conjunction semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * FieldRelationInterpretation returns FieldRelationInterpretation + * AssertionOrDefinition.Assertion_1_0_0 returns Count + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Count + * AssertionOrDefinition.MetricDefinition_1_2_0 returns Count + * Expression returns Count + * DisjunctiveExpression returns Count + * DisjunctiveExpression.Disjunction_1_0_0 returns Count + * DisjunctiveExpression.Case_1_1_0 returns Count + * ConjunctiveExpression returns Count + * ConjunctiveExpression.Conjunction_1_0 returns Count + * ComparisonExpression returns Count + * ComparisonExpression.Comparison_1_0 returns Count + * AdditiveExpression returns Count + * AdditiveExpression.BinaryExpression_1_0 returns Count + * MultiplicativeExpression returns Count + * MultiplicativeExpression.BinaryExpression_1_0 returns Count + * ExponentialExpression returns Count + * ExponentialExpression.BinaryExpression_1_0 returns Count + * UnaryExpression returns Count + * AggregationExpression returns Count + * Count returns Count + * AtomicExpression returns Count + * + * Constraint: + * body=Expression + */ + protected void sequence_Count(ISerializationContext context, Count semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.COUNT__BODY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.COUNT__BODY)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0(), semanticObject.getBody()); + feeder.finish(); + } + + + /** + * Contexts: + * Statement returns DefaultDefinition + * DefaultDefinition returns DefaultDefinition + * + * Constraint: + * (head=Call range=Expression) + */ + protected void sequence_DefaultDefinition(ISerializationContext context, DefaultDefinition semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.DEFAULT_DEFINITION__HEAD) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.DEFAULT_DEFINITION__HEAD)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.DEFAULT_DEFINITION__RANGE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.DEFAULT_DEFINITION__RANGE)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0(), semanticObject.getHead()); + feeder.accept(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0(), semanticObject.getRange()); + feeder.finish(); + } + + + /** + * Contexts: + * AssertionOrDefinition.Assertion_1_0_0 returns Disjunction + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Disjunction + * AssertionOrDefinition.MetricDefinition_1_2_0 returns Disjunction + * Expression returns Disjunction + * DisjunctiveExpression returns Disjunction + * DisjunctiveExpression.Disjunction_1_0_0 returns Disjunction + * DisjunctiveExpression.Case_1_1_0 returns Disjunction + * ConjunctiveExpression returns Disjunction + * ConjunctiveExpression.Conjunction_1_0 returns Disjunction + * ComparisonExpression returns Disjunction + * ComparisonExpression.Comparison_1_0 returns Disjunction + * AdditiveExpression returns Disjunction + * AdditiveExpression.BinaryExpression_1_0 returns Disjunction + * MultiplicativeExpression returns Disjunction + * MultiplicativeExpression.BinaryExpression_1_0 returns Disjunction + * ExponentialExpression returns Disjunction + * ExponentialExpression.BinaryExpression_1_0 returns Disjunction + * UnaryExpression returns Disjunction + * AggregationExpression returns Disjunction + * AtomicExpression returns Disjunction * * Constraint: - * (containment?='containment'? symbol=ModelSymbol multiplicity=MultiplicityDefinition? target=Symbol) + * (children+=DisjunctiveExpression_Disjunction_1_0_0 children+=ConjunctiveExpression+) */ - protected void sequence_FieldRelationInterpretation(ISerializationContext context, FieldRelationInterpretation semanticObject) { + protected void sequence_DisjunctiveExpression(ISerializationContext context, Disjunction semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * Statement returns GlobalRelationInterpretation - * Interpretation returns GlobalRelationInterpretation - * CDInterpretation returns GlobalRelationInterpretation - * GlobalRelationInterpretation returns GlobalRelationInterpretation + * AssertionOrDefinition.Assertion_1_0_0 returns Switch + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Switch + * AssertionOrDefinition.MetricDefinition_1_2_0 returns Switch + * Expression returns Switch + * DisjunctiveExpression returns Switch + * DisjunctiveExpression.Disjunction_1_0_0 returns Switch + * DisjunctiveExpression.Case_1_1_0 returns Switch + * ConjunctiveExpression returns Switch + * ConjunctiveExpression.Conjunction_1_0 returns Switch + * ComparisonExpression returns Switch + * ComparisonExpression.Comparison_1_0 returns Switch + * AdditiveExpression returns Switch + * AdditiveExpression.BinaryExpression_1_0 returns Switch + * MultiplicativeExpression returns Switch + * MultiplicativeExpression.BinaryExpression_1_0 returns Switch + * ExponentialExpression returns Switch + * ExponentialExpression.BinaryExpression_1_0 returns Switch + * UnaryExpression returns Switch + * AggregationExpression returns Switch + * AtomicExpression returns Switch * * Constraint: - * ( - * containment?='containment'? - * symbol=ModelSymbol - * sourceMultiplicity=MultiplicityDefinition? - * source=Symbol - * targetMultiplicity=MultiplicityDefinition? - * target=Symbol - * ) + * (cases+=DisjunctiveExpression_Switch_1_1_3 cases+=Case*) */ - protected void sequence_GlobalRelationInterpretation(ISerializationContext context, GlobalRelationInterpretation semanticObject) { + protected void sequence_DisjunctiveExpression(ISerializationContext context, Switch semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * ComplexObject returns IntObject - * Object returns IntObject - * DataObject returns IntObject - * IntObject returns IntObject - * Literal returns IntObject + * DisjunctiveExpression.Switch_1_1_3 returns Case * * Constraint: - * value=INTLiteral + * (condition=DisjunctiveExpression_Case_1_1_0 body=ConjunctiveExpression) */ - protected void sequence_IntObject(ISerializationContext context, IntObject semanticObject) { + protected void sequence_DisjunctiveExpression_Switch_1_1_3(ISerializationContext context, Case semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.INT_OBJECT__VALUE) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INT_OBJECT__VALUE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CASE__CONDITION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CASE__CONDITION)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CASE__BODY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CASE__BODY)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0(), semanticObject.getValue()); + feeder.accept(grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0(), semanticObject.getCondition()); + feeder.accept(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0(), semanticObject.getBody()); feeder.finish(); } /** * Contexts: - * Symbol returns IntegerSymbol - * DataSymbol returns IntegerSymbol - * IntegerSymbol returns IntegerSymbol + * AssertionOrDefinition.Assertion_1_0_0 returns EmptyIntervalLiteral + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns EmptyIntervalLiteral + * AssertionOrDefinition.MetricDefinition_1_2_0 returns EmptyIntervalLiteral + * Expression returns EmptyIntervalLiteral + * DisjunctiveExpression returns EmptyIntervalLiteral + * DisjunctiveExpression.Disjunction_1_0_0 returns EmptyIntervalLiteral + * DisjunctiveExpression.Case_1_1_0 returns EmptyIntervalLiteral + * ConjunctiveExpression returns EmptyIntervalLiteral + * ConjunctiveExpression.Conjunction_1_0 returns EmptyIntervalLiteral + * ComparisonExpression returns EmptyIntervalLiteral + * ComparisonExpression.Comparison_1_0 returns EmptyIntervalLiteral + * AdditiveExpression returns EmptyIntervalLiteral + * AdditiveExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral + * MultiplicativeExpression returns EmptyIntervalLiteral + * MultiplicativeExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral + * ExponentialExpression returns EmptyIntervalLiteral + * ExponentialExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral + * UnaryExpression returns EmptyIntervalLiteral + * AggregationExpression returns EmptyIntervalLiteral + * AtomicExpression returns EmptyIntervalLiteral + * Literal returns EmptyIntervalLiteral + * EmptyIntervalLiteral returns EmptyIntervalLiteral * * Constraint: - * {IntegerSymbol} + * {EmptyIntervalLiteral} */ - protected void sequence_IntegerSymbol(ISerializationContext context, IntegerSymbol semanticObject) { + protected void sequence_EmptyIntervalLiteral(ISerializationContext context, EmptyIntervalLiteral semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * Symbol returns ModelSymbol - * ModelSymbol returns ModelSymbol + * Multiplicity returns ExactMultiplicity + * ExactMultiplicity returns ExactMultiplicity * * Constraint: - * name=ID + * multiplicity=UpperMultiplicty */ - protected void sequence_ModelSymbol(ISerializationContext context, ModelSymbol semanticObject) { + protected void sequence_ExactMultiplicity(ISerializationContext context, ExactMultiplicity semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.MODEL_SYMBOL__NAME) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.MODEL_SYMBOL__NAME)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXACT_MULTIPLICITY__MULTIPLICITY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXACT_MULTIPLICITY__MULTIPLICITY)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName()); + feeder.accept(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0(), semanticObject.getMultiplicity()); feeder.finish(); } /** * Contexts: - * MultiplicityDefinition returns MultiplicityDefinition + * Statement returns ExactScopeDefinition + * ScopeDefinition returns ExactScopeDefinition + * ExactScopeDefinition returns ExactScopeDefinition * * Constraint: - * (lower=INT (upper=INT | unlimitedUpper?='*')) + * (type=[NamedElement|QualifiedName] exactScope=INT) */ - protected void sequence_MultiplicityDefinition(ISerializationContext context, MultiplicityDefinition semanticObject) { - genericSequencer.createSequence(context, semanticObject); + protected void sequence_ExactScopeDefinition(ISerializationContext context, ExactScopeDefinition semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.SCOPE_DEFINITION__TYPE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.SCOPE_DEFINITION__TYPE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXACT_SCOPE_DEFINITION__EXACT_SCOPE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXACT_SCOPE_DEFINITION__EXACT_SCOPE)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.SCOPE_DEFINITION__TYPE, false)); + feeder.accept(grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0(), semanticObject.getExactScope()); + feeder.finish(); } /** * Contexts: - * ComplexObject returns NamedObject - * Object returns NamedObject - * NamedObject returns NamedObject - * Literal returns NamedObject + * Argument returns ExpressionArgument + * ExpressionArgument returns ExpressionArgument * * Constraint: - * name=ID + * body=ComparisonExpression */ - protected void sequence_NamedObject(ISerializationContext context, NamedObject semanticObject) { + protected void sequence_ExpressionArgument(ISerializationContext context, ExpressionArgument semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.NAMED_OBJECT__NAME) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.NAMED_OBJECT__NAME)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT__BODY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT__BODY)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName()); + feeder.accept(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0(), semanticObject.getBody()); feeder.finish(); } /** * Contexts: - * Parameter returns Parameter + * Statement returns ExternMetricDefinition + * ExternMetricDefinition returns ExternMetricDefinition * * Constraint: - * (variable=Variable type=Symbol?) + * (type=MetricType head=Call) */ - protected void sequence_Parameter(ISerializationContext context, org.eclipse.viatra.solver.language.solverLanguage.Parameter semanticObject) { - genericSequencer.createSequence(context, semanticObject); + protected void sequence_ExternMetricDefinition(ISerializationContext context, ExternMetricDefinition semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__HEAD) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__HEAD)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0(), semanticObject.getType()); + feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0(), semanticObject.getHead()); + feeder.finish(); } /** * Contexts: - * PatternBody returns PatternBody + * Statement returns ExternPredicateDefinition + * ExternPredicateDefinition returns ExternPredicateDefinition * * Constraint: - * constraints+=Constraint* + * head=Call */ - protected void sequence_PatternBody(ISerializationContext context, PatternBody semanticObject) { - genericSequencer.createSequence(context, semanticObject); + protected void sequence_ExternPredicateDefinition(ISerializationContext context, ExternPredicateDefinition semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__HEAD) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__HEAD)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0(), semanticObject.getHead()); + feeder.finish(); + } + + + /** + * Contexts: + * AssertionOrDefinition.Assertion_1_0_0 returns IfElse + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns IfElse + * AssertionOrDefinition.MetricDefinition_1_2_0 returns IfElse + * Expression returns IfElse + * IfElse returns IfElse + * DisjunctiveExpression returns IfElse + * DisjunctiveExpression.Disjunction_1_0_0 returns IfElse + * DisjunctiveExpression.Case_1_1_0 returns IfElse + * ConjunctiveExpression returns IfElse + * ConjunctiveExpression.Conjunction_1_0 returns IfElse + * ComparisonExpression returns IfElse + * ComparisonExpression.Comparison_1_0 returns IfElse + * AdditiveExpression returns IfElse + * AdditiveExpression.BinaryExpression_1_0 returns IfElse + * MultiplicativeExpression returns IfElse + * MultiplicativeExpression.BinaryExpression_1_0 returns IfElse + * ExponentialExpression returns IfElse + * ExponentialExpression.BinaryExpression_1_0 returns IfElse + * UnaryExpression returns IfElse + * AggregationExpression returns IfElse + * AtomicExpression returns IfElse + * + * Constraint: + * (condition=Expression then=Expression else=Expression) + */ + protected void sequence_IfElse(ISerializationContext context, IfElse semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__CONDITION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__CONDITION)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__THEN) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__THEN)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__ELSE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__ELSE)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0(), semanticObject.getCondition()); + feeder.accept(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0(), semanticObject.getThen()); + feeder.accept(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0(), semanticObject.getElse()); + feeder.finish(); } /** * Contexts: - * Polarity returns Negative + * AssertionOrDefinition.Assertion_1_0_0 returns InfinityLiteral + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns InfinityLiteral + * AssertionOrDefinition.MetricDefinition_1_2_0 returns InfinityLiteral + * Expression returns InfinityLiteral + * DisjunctiveExpression returns InfinityLiteral + * DisjunctiveExpression.Disjunction_1_0_0 returns InfinityLiteral + * DisjunctiveExpression.Case_1_1_0 returns InfinityLiteral + * ConjunctiveExpression returns InfinityLiteral + * ConjunctiveExpression.Conjunction_1_0 returns InfinityLiteral + * ComparisonExpression returns InfinityLiteral + * ComparisonExpression.Comparison_1_0 returns InfinityLiteral + * AdditiveExpression returns InfinityLiteral + * AdditiveExpression.BinaryExpression_1_0 returns InfinityLiteral + * MultiplicativeExpression returns InfinityLiteral + * MultiplicativeExpression.BinaryExpression_1_0 returns InfinityLiteral + * ExponentialExpression returns InfinityLiteral + * ExponentialExpression.BinaryExpression_1_0 returns InfinityLiteral + * UnaryExpression returns InfinityLiteral + * AggregationExpression returns InfinityLiteral + * AtomicExpression returns InfinityLiteral + * Literal returns InfinityLiteral + * InfinityLiteral returns InfinityLiteral * * Constraint: - * {Negative} + * {InfinityLiteral} */ - protected void sequence_Polarity(ISerializationContext context, Negative semanticObject) { + protected void sequence_InfinityLiteral(ISerializationContext context, InfinityLiteral semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * Polarity returns Positive + * AssertionOrDefinition.Assertion_1_0_0 returns Interval + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Interval + * AssertionOrDefinition.MetricDefinition_1_2_0 returns Interval + * Expression returns Interval + * DisjunctiveExpression returns Interval + * DisjunctiveExpression.Disjunction_1_0_0 returns Interval + * DisjunctiveExpression.Case_1_1_0 returns Interval + * ConjunctiveExpression returns Interval + * ConjunctiveExpression.Conjunction_1_0 returns Interval + * ComparisonExpression returns Interval + * ComparisonExpression.Comparison_1_0 returns Interval + * AdditiveExpression returns Interval + * AdditiveExpression.BinaryExpression_1_0 returns Interval + * MultiplicativeExpression returns Interval + * MultiplicativeExpression.BinaryExpression_1_0 returns Interval + * ExponentialExpression returns Interval + * ExponentialExpression.BinaryExpression_1_0 returns Interval + * UnaryExpression returns Interval + * AggregationExpression returns Interval + * AtomicExpression returns Interval + * Interval returns Interval + * + * Constraint: + * (lowerBound=Expression upperBound=Expression) + */ + protected void sequence_Interval(ISerializationContext context, Interval semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.INTERVAL__LOWER_BOUND) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INTERVAL__LOWER_BOUND)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.INTERVAL__UPPER_BOUND) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INTERVAL__UPPER_BOUND)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0(), semanticObject.getLowerBound()); + feeder.accept(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0(), semanticObject.getUpperBound()); + feeder.finish(); + } + + + /** + * Contexts: + * AssertionOrDefinition.Assertion_1_0_0 returns LogicLiteral + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns LogicLiteral + * AssertionOrDefinition.MetricDefinition_1_2_0 returns LogicLiteral + * Expression returns LogicLiteral + * DisjunctiveExpression returns LogicLiteral + * DisjunctiveExpression.Disjunction_1_0_0 returns LogicLiteral + * DisjunctiveExpression.Case_1_1_0 returns LogicLiteral + * ConjunctiveExpression returns LogicLiteral + * ConjunctiveExpression.Conjunction_1_0 returns LogicLiteral + * ComparisonExpression returns LogicLiteral + * ComparisonExpression.Comparison_1_0 returns LogicLiteral + * AdditiveExpression returns LogicLiteral + * AdditiveExpression.BinaryExpression_1_0 returns LogicLiteral + * MultiplicativeExpression returns LogicLiteral + * MultiplicativeExpression.BinaryExpression_1_0 returns LogicLiteral + * ExponentialExpression returns LogicLiteral + * ExponentialExpression.BinaryExpression_1_0 returns LogicLiteral + * UnaryExpression returns LogicLiteral + * AggregationExpression returns LogicLiteral + * AtomicExpression returns LogicLiteral + * Literal returns LogicLiteral + * LogicLiteral returns LogicLiteral * * Constraint: - * {Positive} + * value=LogicValue */ - protected void sequence_Polarity(ISerializationContext context, Positive semanticObject) { + protected void sequence_LogicLiteral(ISerializationContext context, LogicLiteral semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.LOGIC_LITERAL__VALUE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.LOGIC_LITERAL__VALUE)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0(), semanticObject.getValue()); + feeder.finish(); + } + + + /** + * Contexts: + * Statement returns LowerBoundedScopeDefinition + * ScopeDefinition returns LowerBoundedScopeDefinition + * LowerBoundedScopeDefinition returns LowerBoundedScopeDefinition + * + * Constraint: + * ((lowerBound=INT type=[NamedElement|QualifiedName]) | (type=[NamedElement|QualifiedName] lowerBound=INT)) + */ + protected void sequence_LowerBoundedScopeDefinition(ISerializationContext context, LowerBoundedScopeDefinition semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * Statement returns Predicate - * Predicate returns Predicate + * Multiplicity returns ManyMultiplicity + * ManyMultiplicity returns ManyMultiplicity * * Constraint: - * (isError?='error'? symbol=ModelSymbol (parameters+=Parameter parameters+=Parameter*)? (bodies+=PatternBody bodies+=PatternBody*)?) + * {ManyMultiplicity} */ - protected void sequence_Predicate(ISerializationContext context, Predicate semanticObject) { + protected void sequence_ManyMultiplicity(ISerializationContext context, ManyMultiplicity semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * Problem returns Problem + * MemberDefinition returns MemberDefinition * * Constraint: - * statements+=Statement+ + * (containment?='contains'? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID opposite=[NamedElement|QualifiedName]?) */ - protected void sequence_Problem(ISerializationContext context, Problem semanticObject) { + protected void sequence_MemberDefinition(ISerializationContext context, MemberDefinition semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * ComplexObject returns RealObject - * Object returns RealObject - * DataObject returns RealObject - * RealObject returns RealObject - * Literal returns RealObject + * MetricDefinition returns MetricDefinition * * Constraint: - * value=REALLiteral + * (type=MetricType head=Expression body=Expression) */ - protected void sequence_RealObject(ISerializationContext context, RealObject semanticObject) { + protected void sequence_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.REAL_OBJECT__VALUE) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.REAL_OBJECT__VALUE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__TYPE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__TYPE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__HEAD) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__HEAD)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0(), semanticObject.getValue()); + feeder.accept(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0(), semanticObject.getType()); + feeder.accept(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0(), semanticObject.getHead()); + feeder.accept(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0(), semanticObject.getBody()); feeder.finish(); } /** * Contexts: - * Symbol returns RealSymbol - * DataSymbol returns RealSymbol - * RealSymbol returns RealSymbol + * NamedElement returns NamedElement * * Constraint: - * {RealSymbol} + * name=QualifiedName */ - protected void sequence_RealSymbol(ISerializationContext context, RealSymbol semanticObject) { - genericSequencer.createSequence(context, semanticObject); + protected void sequence_NamedElement(ISerializationContext context, NamedElement semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.NAMED_ELEMENT__NAME) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.NAMED_ELEMENT__NAME)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getNamedElementAccess().getNameQualifiedNameParserRuleCall_0(), semanticObject.getName()); + feeder.finish(); } /** * Contexts: - * ComplexObject returns StringObject - * Object returns StringObject - * DataObject returns StringObject - * StringObject returns StringObject - * Literal returns StringObject + * AssertionOrDefinition.Assertion_1_0_0 returns NumericLiteral + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns NumericLiteral + * AssertionOrDefinition.MetricDefinition_1_2_0 returns NumericLiteral + * Expression returns NumericLiteral + * DisjunctiveExpression returns NumericLiteral + * DisjunctiveExpression.Disjunction_1_0_0 returns NumericLiteral + * DisjunctiveExpression.Case_1_1_0 returns NumericLiteral + * ConjunctiveExpression returns NumericLiteral + * ConjunctiveExpression.Conjunction_1_0 returns NumericLiteral + * ComparisonExpression returns NumericLiteral + * ComparisonExpression.Comparison_1_0 returns NumericLiteral + * AdditiveExpression returns NumericLiteral + * AdditiveExpression.BinaryExpression_1_0 returns NumericLiteral + * MultiplicativeExpression returns NumericLiteral + * MultiplicativeExpression.BinaryExpression_1_0 returns NumericLiteral + * ExponentialExpression returns NumericLiteral + * ExponentialExpression.BinaryExpression_1_0 returns NumericLiteral + * UnaryExpression returns NumericLiteral + * AggregationExpression returns NumericLiteral + * AtomicExpression returns NumericLiteral + * Literal returns NumericLiteral + * NumericLiteral returns NumericLiteral * * Constraint: - * value=STRING + * value=Real */ - protected void sequence_StringObject(ISerializationContext context, StringObject semanticObject) { + protected void sequence_NumericLiteral(ISerializationContext context, NumericLiteral semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.STRING_OBJECT__VALUE) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.STRING_OBJECT__VALUE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.NUMERIC_LITERAL__VALUE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.NUMERIC_LITERAL__VALUE)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0(), semanticObject.getValue()); + feeder.accept(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0(), semanticObject.getValue()); feeder.finish(); } /** * Contexts: - * Symbol returns StringSymbol - * DataSymbol returns StringSymbol - * StringSymbol returns StringSymbol + * Statement returns ObjectiveDefinition + * ObjectiveDefinition returns ObjectiveDefinition * * Constraint: - * {StringSymbol} + * (kind=ObjectiveKind objective=Expression) */ - protected void sequence_StringSymbol(ISerializationContext context, StringSymbol semanticObject) { - genericSequencer.createSequence(context, semanticObject); + protected void sequence_ObjectiveDefinition(ISerializationContext context, ObjectiveDefinition semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION__KIND) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION__KIND)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION__OBJECTIVE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION__OBJECTIVE)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0(), semanticObject.getKind()); + feeder.accept(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0(), semanticObject.getObjective()); + feeder.finish(); } /** * Contexts: - * TruthValue returns Error + * PredicateDefinition returns PredicateDefinition * * Constraint: - * {Error} + * (((functional?='functional' error?='error'?) | (error?='error' functional?='functional'?)) head=Call body=Expression) */ - protected void sequence_TruthValue(ISerializationContext context, org.eclipse.viatra.solver.language.solverLanguage.Error semanticObject) { + protected void sequence_PredicateDefinition(ISerializationContext context, PredicateDefinition semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * TruthValue returns False + * Problem returns Problem * * Constraint: - * {False} + * statements+=Statement+ */ - protected void sequence_TruthValue(ISerializationContext context, False semanticObject) { + protected void sequence_Problem(ISerializationContext context, Problem semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * TruthValue returns True + * AssertionOrDefinition.Assertion_1_0_0 returns Reference + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Reference + * AssertionOrDefinition.MetricDefinition_1_2_0 returns Reference + * Expression returns Reference + * DisjunctiveExpression returns Reference + * DisjunctiveExpression.Disjunction_1_0_0 returns Reference + * DisjunctiveExpression.Case_1_1_0 returns Reference + * ConjunctiveExpression returns Reference + * ConjunctiveExpression.Conjunction_1_0 returns Reference + * ComparisonExpression returns Reference + * ComparisonExpression.Comparison_1_0 returns Reference + * AdditiveExpression returns Reference + * AdditiveExpression.BinaryExpression_1_0 returns Reference + * MultiplicativeExpression returns Reference + * MultiplicativeExpression.BinaryExpression_1_0 returns Reference + * ExponentialExpression returns Reference + * ExponentialExpression.BinaryExpression_1_0 returns Reference + * UnaryExpression returns Reference + * AggregationExpression returns Reference + * AtomicExpression returns Reference + * AtomicExpression.Call_0_1_0 returns Reference + * Reference returns Reference * * Constraint: - * {True} + * referred=[NamedElement|QualifiedName] */ - protected void sequence_TruthValue(ISerializationContext context, True semanticObject) { - genericSequencer.createSequence(context, semanticObject); + protected void sequence_Reference(ISerializationContext context, Reference semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.REFERENCE__REFERRED) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.REFERENCE__REFERRED)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getReferenceAccess().getReferredNamedElementQualifiedNameParserRuleCall_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.REFERENCE__REFERRED, false)); + feeder.finish(); } /** * Contexts: - * TruthValue returns Unknown + * Argument returns StarArgument + * StarArgument returns StarArgument * * Constraint: - * {Unknown} + * {StarArgument} */ - protected void sequence_TruthValue(ISerializationContext context, Unknown semanticObject) { + protected void sequence_StarArgument(ISerializationContext context, StarArgument semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * ComplexObject returns UnnamedObject - * Object returns UnnamedObject - * UnnamedObject returns UnnamedObject + * AssertionOrDefinition.Assertion_1_0_0 returns StringLiteral + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns StringLiteral + * AssertionOrDefinition.MetricDefinition_1_2_0 returns StringLiteral + * Expression returns StringLiteral + * DisjunctiveExpression returns StringLiteral + * DisjunctiveExpression.Disjunction_1_0_0 returns StringLiteral + * DisjunctiveExpression.Case_1_1_0 returns StringLiteral + * ConjunctiveExpression returns StringLiteral + * ConjunctiveExpression.Conjunction_1_0 returns StringLiteral + * ComparisonExpression returns StringLiteral + * ComparisonExpression.Comparison_1_0 returns StringLiteral + * AdditiveExpression returns StringLiteral + * AdditiveExpression.BinaryExpression_1_0 returns StringLiteral + * MultiplicativeExpression returns StringLiteral + * MultiplicativeExpression.BinaryExpression_1_0 returns StringLiteral + * ExponentialExpression returns StringLiteral + * ExponentialExpression.BinaryExpression_1_0 returns StringLiteral + * UnaryExpression returns StringLiteral + * AggregationExpression returns StringLiteral + * AtomicExpression returns StringLiteral + * Literal returns StringLiteral + * StringLiteral returns StringLiteral + * + * Constraint: + * value=STRING + */ + protected void sequence_StringLiteral(ISerializationContext context, StringLiteral semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.STRING_LITERAL__VALUE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.STRING_LITERAL__VALUE)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0(), semanticObject.getValue()); + feeder.finish(); + } + + + /** + * Contexts: + * Argument returns TypedArgument + * TypedArgument returns TypedArgument + * + * Constraint: + * (type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName]) + */ + protected void sequence_TypedArgument(ISerializationContext context, TypedArgument semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__VARIABLE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__VARIABLE)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getTypedArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE, false)); + feeder.accept(grammarAccess.getTypedArgumentAccess().getVariableNamedElementQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.TYPED_ARGUMENT__VARIABLE, false)); + feeder.finish(); + } + + + /** + * Contexts: + * Argument returns TypedStarArgument + * TypedStarArgument returns TypedStarArgument + * + * Constraint: + * type=[NamedElement|QualifiedName] + */ + protected void sequence_TypedStarArgument(ISerializationContext context, TypedStarArgument semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT__TYPE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT__TYPE)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT__TYPE, false)); + feeder.finish(); + } + + + /** + * Contexts: + * AssertionOrDefinition.Assertion_1_0_0 returns UnaryExpression + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns UnaryExpression + * AssertionOrDefinition.MetricDefinition_1_2_0 returns UnaryExpression + * Expression returns UnaryExpression + * DisjunctiveExpression returns UnaryExpression + * DisjunctiveExpression.Disjunction_1_0_0 returns UnaryExpression + * DisjunctiveExpression.Case_1_1_0 returns UnaryExpression + * ConjunctiveExpression returns UnaryExpression + * ConjunctiveExpression.Conjunction_1_0 returns UnaryExpression + * ComparisonExpression returns UnaryExpression + * ComparisonExpression.Comparison_1_0 returns UnaryExpression + * AdditiveExpression returns UnaryExpression + * AdditiveExpression.BinaryExpression_1_0 returns UnaryExpression + * MultiplicativeExpression returns UnaryExpression + * MultiplicativeExpression.BinaryExpression_1_0 returns UnaryExpression + * ExponentialExpression returns UnaryExpression + * ExponentialExpression.BinaryExpression_1_0 returns UnaryExpression + * UnaryExpression returns UnaryExpression + * AggregationExpression returns UnaryExpression + * AtomicExpression returns UnaryExpression * * Constraint: - * name=ID + * (op=UnaryOp body=AggregationExpression) */ - protected void sequence_UnnamedObject(ISerializationContext context, UnnamedObject semanticObject) { + protected void sequence_UnaryExpression(ISerializationContext context, UnaryExpression semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNNAMED_OBJECT__NAME) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNNAMED_OBJECT__NAME)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNARY_EXPRESSION__OP) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNARY_EXPRESSION__OP)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNARY_EXPRESSION__BODY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNARY_EXPRESSION__BODY)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName()); + feeder.accept(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0(), semanticObject.getOp()); + feeder.accept(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0(), semanticObject.getBody()); feeder.finish(); } /** * Contexts: - * Literal returns Variable - * Variable returns Variable + * Statement returns UnnamedErrorPrediateDefinition + * UnnamedErrorPrediateDefinition returns UnnamedErrorPrediateDefinition * * Constraint: - * name=ID + * (argumentList=ArgumentList body=Expression) */ - protected void sequence_Variable(ISerializationContext context, Variable semanticObject) { + protected void sequence_UnnamedErrorPrediateDefinition(ISerializationContext context, UnnamedErrorPrediateDefinition semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.VARIABLE__NAME) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.VARIABLE__NAME)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName()); + feeder.accept(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0(), semanticObject.getArgumentList()); + feeder.accept(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0(), semanticObject.getBody()); feeder.finish(); } 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.serializer; @@ -11,7 +11,6 @@ import org.eclipse.xtext.IGrammarAccess; import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.nodemodel.INode; import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias; -import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias; import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias; import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable; import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition; @@ -21,25 +20,58 @@ import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer; public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer { protected SolverLanguageGrammarAccess grammarAccess; - protected AbstractElementAlias match_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q; - protected AbstractElementAlias match_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q; - protected AbstractElementAlias match_PatternBody_TrueKeyword_1_0_q; - protected AbstractElementAlias match_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q; + protected AbstractElementAlias match_AtomicExpression_LeftParenthesisKeyword_3_0_a; + protected AbstractElementAlias match_AtomicExpression_LeftParenthesisKeyword_3_0_p; + protected AbstractElementAlias match_MemberDefinition_SemicolonKeyword_5_q; @Inject protected void init(IGrammarAccess access) { grammarAccess = (SolverLanguageGrammarAccess) access; - 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())); - 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())); - match_PatternBody_TrueKeyword_1_0_q = new TokenAlias(false, true, grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); - 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())); + match_AtomicExpression_LeftParenthesisKeyword_3_0_a = new TokenAlias(true, true, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0()); + match_AtomicExpression_LeftParenthesisKeyword_3_0_p = new TokenAlias(true, false, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0()); + match_MemberDefinition_SemicolonKeyword_5_q = new TokenAlias(false, true, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); } @Override protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) { + if (ruleCall.getRule() == grammarAccess.getDOTRule()) + return getDOTToken(semanticObject, ruleCall, node); + else if (ruleCall.getRule() == grammarAccess.getPLUSRule()) + return getPLUSToken(semanticObject, ruleCall, node); + else if (ruleCall.getRule() == grammarAccess.getSTARRule()) + return getSTARToken(semanticObject, ruleCall, node); return ""; } + /** + * terminal DOT: + * "synthetic::dot"; + */ + protected String getDOTToken(EObject semanticObject, RuleCall ruleCall, INode node) { + if (node != null) + return getTokenText(node); + return "synthetic::dot"; + } + + /** + * terminal PLUS: + * "synthetic::plus"; + */ + protected String getPLUSToken(EObject semanticObject, RuleCall ruleCall, INode node) { + if (node != null) + return getTokenText(node); + return "synthetic::plus"; + } + + /** + * terminal STAR: + * "synthetic::star"; + */ + protected String getSTARToken(EObject semanticObject, RuleCall ruleCall, INode node) { + if (node != null) + return getTokenText(node); + return "synthetic::star"; + } @Override protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) { @@ -47,60 +79,71 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer List transitionNodes = collectNodes(fromNode, toNode); for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) { List syntaxNodes = getNodesFor(transitionNodes, syntax); - if (match_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q.equals(syntax)) - emit_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q(semanticObject, getLastNavigableState(), syntaxNodes); - else if (match_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q.equals(syntax)) - emit_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q(semanticObject, getLastNavigableState(), syntaxNodes); - else if (match_PatternBody_TrueKeyword_1_0_q.equals(syntax)) - emit_PatternBody_TrueKeyword_1_0_q(semanticObject, getLastNavigableState(), syntaxNodes); - else if (match_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q.equals(syntax)) - emit_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q(semanticObject, getLastNavigableState(), syntaxNodes); + if (match_AtomicExpression_LeftParenthesisKeyword_3_0_a.equals(syntax)) + emit_AtomicExpression_LeftParenthesisKeyword_3_0_a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_AtomicExpression_LeftParenthesisKeyword_3_0_p.equals(syntax)) + emit_AtomicExpression_LeftParenthesisKeyword_3_0_p(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_MemberDefinition_SemicolonKeyword_5_q.equals(syntax)) + emit_MemberDefinition_SemicolonKeyword_5_q(semanticObject, getLastNavigableState(), syntaxNodes); else acceptNodes(getLastNavigableState(), syntaxNodes); } } /** * Ambiguous syntax: - * ('(' ')')? - * - * This ambiguous syntax occurs at: - * symbol=Symbol (ambiguity) ':' value=TruthValue - */ - protected void emit_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q(EObject semanticObject, ISynNavigable transition, List nodes) { - acceptNodes(transition, nodes); - } - - /** - * Ambiguous syntax: - * ('(' ')')? + * '('* * * This ambiguous syntax occurs at: - * symbol=ModelSymbol (ambiguity) (rule end) + * (rule start) (ambiguity) '[' lowerBound=Expression + * (rule start) (ambiguity) 'count' '{' body=Expression + * (rule start) (ambiguity) 'empty' (rule start) + * (rule start) (ambiguity) 'if' condition=Expression + * (rule start) (ambiguity) 'inf' (rule start) + * (rule start) (ambiguity) op=AggregationOp + * (rule start) (ambiguity) op=UnaryOp + * (rule start) (ambiguity) referred=[NamedElement|QualifiedName] + * (rule start) (ambiguity) value=LogicValue + * (rule start) (ambiguity) value=Real + * (rule start) (ambiguity) value=STRING + * (rule start) (ambiguity) {BinaryExpression.left=} + * (rule start) (ambiguity) {Call.functor=} + * (rule start) (ambiguity) {Comparison.left=} + * (rule start) (ambiguity) {Conjunction.children+=} + * (rule start) (ambiguity) {Disjunction.children+=} + * (rule start) (ambiguity) {Switch.cases+=} */ - protected void emit_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q(EObject semanticObject, ISynNavigable transition, List nodes) { + protected void emit_AtomicExpression_LeftParenthesisKeyword_3_0_a(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); } /** * Ambiguous syntax: - * 'true'? + * '('+ * * This ambiguous syntax occurs at: - * (rule start) (ambiguity) (rule start) + * (rule start) (ambiguity) 'count' '{' body=Expression + * (rule start) (ambiguity) 'if' condition=Expression + * (rule start) (ambiguity) op=AggregationOp + * (rule start) (ambiguity) op=UnaryOp + * (rule start) (ambiguity) {BinaryExpression.left=} + * (rule start) (ambiguity) {Comparison.left=} + * (rule start) (ambiguity) {Conjunction.children+=} + * (rule start) (ambiguity) {Disjunction.children+=} + * (rule start) (ambiguity) {Switch.cases+=} */ - protected void emit_PatternBody_TrueKeyword_1_0_q(EObject semanticObject, ISynNavigable transition, List nodes) { + protected void emit_AtomicExpression_LeftParenthesisKeyword_3_0_p(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); } /** * Ambiguous syntax: - * ('(' ')')? + * ';'? * * This ambiguous syntax occurs at: - * symbol=ModelSymbol (ambiguity) ':-' 'false' '.' (rule end) - * symbol=ModelSymbol (ambiguity) ':-' bodies+=PatternBody + * name=ID (ambiguity) (rule end) + * opposite=[NamedElement|QualifiedName] (ambiguity) (rule end) */ - protected void emit_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q(EObject semanticObject, ISynNavigable transition, List nodes) { + protected void emit_MemberDefinition_SemicolonKeyword_5_q(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); } 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.services; @@ -9,6 +9,9 @@ import java.util.List; import org.eclipse.xtext.Action; import org.eclipse.xtext.Alternatives; import org.eclipse.xtext.Assignment; +import org.eclipse.xtext.CrossReference; +import org.eclipse.xtext.EnumLiteralDeclaration; +import org.eclipse.xtext.EnumRule; import org.eclipse.xtext.Grammar; import org.eclipse.xtext.GrammarUtil; import org.eclipse.xtext.Group; @@ -17,6 +20,7 @@ import org.eclipse.xtext.ParserRule; import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.TerminalRule; import org.eclipse.xtext.common.services.TerminalsGrammarAccess; +import org.eclipse.xtext.service.AbstractElementFinder.AbstractEnumRuleElementFinder; import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder; import org.eclipse.xtext.service.GrammarProvider; @@ -40,624 +44,1358 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } public class StatementElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cInterpretationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cPredicateParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); + private final RuleCall cAssertionOrDefinitionParserRuleCall_0_0 = (RuleCall)cAlternatives_0.eContents().get(0); + private final RuleCall cPredicateDefinitionParserRuleCall_0_1 = (RuleCall)cAlternatives_0.eContents().get(1); + private final RuleCall cUnnamedErrorPrediateDefinitionParserRuleCall_0_2 = (RuleCall)cAlternatives_0.eContents().get(2); + private final RuleCall cDefaultDefinitionParserRuleCall_0_3 = (RuleCall)cAlternatives_0.eContents().get(3); + private final RuleCall cExternPredicateDefinitionParserRuleCall_0_4 = (RuleCall)cAlternatives_0.eContents().get(4); + private final RuleCall cMetricDefinitionParserRuleCall_0_5 = (RuleCall)cAlternatives_0.eContents().get(5); + private final RuleCall cExternMetricDefinitionParserRuleCall_0_6 = (RuleCall)cAlternatives_0.eContents().get(6); + private final RuleCall cClassDefinitionParserRuleCall_0_7 = (RuleCall)cAlternatives_0.eContents().get(7); + private final RuleCall cScopeDefinitionParserRuleCall_0_8 = (RuleCall)cAlternatives_0.eContents().get(8); + private final RuleCall cObjectiveDefinitionParserRuleCall_0_9 = (RuleCall)cAlternatives_0.eContents().get(9); + private final RuleCall cDOTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); //Statement: - // Interpretation | Predicate; + // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | + // ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | + // ObjectiveDefinition) DOT; @Override public ParserRule getRule() { return rule; } - //Interpretation | Predicate - public Alternatives getAlternatives() { return cAlternatives; } + //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | + //ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | + //ObjectiveDefinition) DOT + public Group getGroup() { return cGroup; } + + //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | + //ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | + //ObjectiveDefinition) + public Alternatives getAlternatives_0() { return cAlternatives_0; } + + //AssertionOrDefinition + public RuleCall getAssertionOrDefinitionParserRuleCall_0_0() { return cAssertionOrDefinitionParserRuleCall_0_0; } + + //PredicateDefinition + public RuleCall getPredicateDefinitionParserRuleCall_0_1() { return cPredicateDefinitionParserRuleCall_0_1; } + + //UnnamedErrorPrediateDefinition + public RuleCall getUnnamedErrorPrediateDefinitionParserRuleCall_0_2() { return cUnnamedErrorPrediateDefinitionParserRuleCall_0_2; } - //Interpretation - public RuleCall getInterpretationParserRuleCall_0() { return cInterpretationParserRuleCall_0; } + //DefaultDefinition + public RuleCall getDefaultDefinitionParserRuleCall_0_3() { return cDefaultDefinitionParserRuleCall_0_3; } - //Predicate - public RuleCall getPredicateParserRuleCall_1() { return cPredicateParserRuleCall_1; } + //ExternPredicateDefinition + public RuleCall getExternPredicateDefinitionParserRuleCall_0_4() { return cExternPredicateDefinitionParserRuleCall_0_4; } + + //MetricDefinition + public RuleCall getMetricDefinitionParserRuleCall_0_5() { return cMetricDefinitionParserRuleCall_0_5; } + + //ExternMetricDefinition + public RuleCall getExternMetricDefinitionParserRuleCall_0_6() { return cExternMetricDefinitionParserRuleCall_0_6; } + + //ClassDefinition + public RuleCall getClassDefinitionParserRuleCall_0_7() { return cClassDefinitionParserRuleCall_0_7; } + + //ScopeDefinition + public RuleCall getScopeDefinitionParserRuleCall_0_8() { return cScopeDefinitionParserRuleCall_0_8; } + + //ObjectiveDefinition + public RuleCall getObjectiveDefinitionParserRuleCall_0_9() { return cObjectiveDefinitionParserRuleCall_0_9; } + + //DOT + public RuleCall getDOTTerminalRuleCall_1() { return cDOTTerminalRuleCall_1; } } - public class REALLiteralElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.REALLiteral"); + public class AssertionOrDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AssertionOrDefinition"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); - private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final RuleCall cINTTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3); + private final RuleCall cExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); + private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); + private final Action cAssertionBodyAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0); + private final Group cGroup_1_0_1 = (Group)cGroup_1_0.eContents().get(1); + private final Keyword cColonKeyword_1_0_1_0 = (Keyword)cGroup_1_0_1.eContents().get(0); + private final Assignment cRangeAssignment_1_0_1_1 = (Assignment)cGroup_1_0_1.eContents().get(1); + private final RuleCall cRangeExpressionParserRuleCall_1_0_1_1_0 = (RuleCall)cRangeAssignment_1_0_1_1.eContents().get(0); + private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); + private final Action cPredicateDefinitionHeadAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0); + private final Keyword cColonHyphenMinusKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); + private final Assignment cBodyAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); + private final RuleCall cBodyExpressionParserRuleCall_1_1_2_0 = (RuleCall)cBodyAssignment_1_1_2.eContents().get(0); + private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2); + private final Action cMetricDefinitionHeadAction_1_2_0 = (Action)cGroup_1_2.eContents().get(0); + private final Keyword cEqualsSignKeyword_1_2_1 = (Keyword)cGroup_1_2.eContents().get(1); + private final Assignment cBodyAssignment_1_2_2 = (Assignment)cGroup_1_2.eContents().get(2); + private final RuleCall cBodyExpressionParserRuleCall_1_2_2_0 = (RuleCall)cBodyAssignment_1_2_2.eContents().get(0); + + //AssertionOrDefinition Statement: + // Expression ({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" + // body=Expression | {MetricDefinition.head=current} "=" body=Expression); + @Override public ParserRule getRule() { return rule; } + + //Expression ({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" body=Expression | + //{MetricDefinition.head=current} "=" body=Expression) + public Group getGroup() { return cGroup; } + + //Expression + public RuleCall getExpressionParserRuleCall_0() { return cExpressionParserRuleCall_0; } + + //({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" body=Expression | + //{MetricDefinition.head=current} "=" body=Expression) + public Alternatives getAlternatives_1() { return cAlternatives_1; } + + //{Assertion.body=current} (":" range=Expression)? + public Group getGroup_1_0() { return cGroup_1_0; } + + //{Assertion.body=current} + public Action getAssertionBodyAction_1_0_0() { return cAssertionBodyAction_1_0_0; } + + //(":" range=Expression)? + public Group getGroup_1_0_1() { return cGroup_1_0_1; } + + //":" + public Keyword getColonKeyword_1_0_1_0() { return cColonKeyword_1_0_1_0; } + + //range=Expression + public Assignment getRangeAssignment_1_0_1_1() { return cRangeAssignment_1_0_1_1; } + + //Expression + public RuleCall getRangeExpressionParserRuleCall_1_0_1_1_0() { return cRangeExpressionParserRuleCall_1_0_1_1_0; } + + //{PredicateDefinition.head=current} ":-" body=Expression + public Group getGroup_1_1() { return cGroup_1_1; } + + //{PredicateDefinition.head=current} + public Action getPredicateDefinitionHeadAction_1_1_0() { return cPredicateDefinitionHeadAction_1_1_0; } - //REALLiteral ecore::EBigDecimal: - // '-'? INT '.' INT; + //":-" + public Keyword getColonHyphenMinusKeyword_1_1_1() { return cColonHyphenMinusKeyword_1_1_1; } + + //body=Expression + public Assignment getBodyAssignment_1_1_2() { return cBodyAssignment_1_1_2; } + + //Expression + public RuleCall getBodyExpressionParserRuleCall_1_1_2_0() { return cBodyExpressionParserRuleCall_1_1_2_0; } + + //{MetricDefinition.head=current} "=" body=Expression + public Group getGroup_1_2() { return cGroup_1_2; } + + //{MetricDefinition.head=current} + public Action getMetricDefinitionHeadAction_1_2_0() { return cMetricDefinitionHeadAction_1_2_0; } + + //"=" + public Keyword getEqualsSignKeyword_1_2_1() { return cEqualsSignKeyword_1_2_1; } + + //body=Expression + public Assignment getBodyAssignment_1_2_2() { return cBodyAssignment_1_2_2; } + + //Expression + public RuleCall getBodyExpressionParserRuleCall_1_2_2_0() { return cBodyExpressionParserRuleCall_1_2_2_0; } + } + public class PredicateDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PredicateDefinition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); + private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0); + private final Assignment cFunctionalAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0); + private final Keyword cFunctionalFunctionalKeyword_0_0_0_0 = (Keyword)cFunctionalAssignment_0_0_0.eContents().get(0); + private final Assignment cErrorAssignment_0_0_1 = (Assignment)cGroup_0_0.eContents().get(1); + private final Keyword cErrorErrorKeyword_0_0_1_0 = (Keyword)cErrorAssignment_0_0_1.eContents().get(0); + private final Group cGroup_0_1 = (Group)cAlternatives_0.eContents().get(1); + private final Assignment cErrorAssignment_0_1_0 = (Assignment)cGroup_0_1.eContents().get(0); + private final Keyword cErrorErrorKeyword_0_1_0_0 = (Keyword)cErrorAssignment_0_1_0.eContents().get(0); + private final Assignment cFunctionalAssignment_0_1_1 = (Assignment)cGroup_0_1.eContents().get(1); + private final Keyword cFunctionalFunctionalKeyword_0_1_1_0 = (Keyword)cFunctionalAssignment_0_1_1.eContents().get(0); + private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0); + private final Keyword cColonHyphenMinusKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0); + + //PredicateDefinition: + // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression; @Override public ParserRule getRule() { return rule; } - //'-'? INT '.' INT + //(functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression public Group getGroup() { return cGroup; } - //'-'? - public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; } + //(functional?="functional" error?="error"? | error?="error" functional?="functional"?) + public Alternatives getAlternatives_0() { return cAlternatives_0; } - //INT - public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; } + //functional?="functional" error?="error"? + public Group getGroup_0_0() { return cGroup_0_0; } - //'.' - public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; } + //functional?="functional" + public Assignment getFunctionalAssignment_0_0_0() { return cFunctionalAssignment_0_0_0; } - //INT - public RuleCall getINTTerminalRuleCall_3() { return cINTTerminalRuleCall_3; } + //"functional" + public Keyword getFunctionalFunctionalKeyword_0_0_0_0() { return cFunctionalFunctionalKeyword_0_0_0_0; } + + //error?="error"? + public Assignment getErrorAssignment_0_0_1() { return cErrorAssignment_0_0_1; } + + //"error" + public Keyword getErrorErrorKeyword_0_0_1_0() { return cErrorErrorKeyword_0_0_1_0; } + + //error?="error" functional?="functional"? + public Group getGroup_0_1() { return cGroup_0_1; } + + //error?="error" + public Assignment getErrorAssignment_0_1_0() { return cErrorAssignment_0_1_0; } + + //"error" + public Keyword getErrorErrorKeyword_0_1_0_0() { return cErrorErrorKeyword_0_1_0_0; } + + //functional?="functional"? + public Assignment getFunctionalAssignment_0_1_1() { return cFunctionalAssignment_0_1_1; } + + //"functional" + public Keyword getFunctionalFunctionalKeyword_0_1_1_0() { return cFunctionalFunctionalKeyword_0_1_1_0; } + + //head=Call + public Assignment getHeadAssignment_1() { return cHeadAssignment_1; } + + //Call + public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; } + + //":-" + public Keyword getColonHyphenMinusKeyword_2() { return cColonHyphenMinusKeyword_2; } + + //body=Expression + public Assignment getBodyAssignment_3() { return cBodyAssignment_3; } + + //Expression + public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } } - public class INTLiteralElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.INTLiteral"); + public class UnnamedErrorPrediateDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnnamedErrorPrediateDefinition"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); + private final Keyword cErrorKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cArgumentListAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cArgumentListArgumentListParserRuleCall_1_0 = (RuleCall)cArgumentListAssignment_1.eContents().get(0); + private final Keyword cColonHyphenMinusKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0); + + //UnnamedErrorPrediateDefinition: + // "error" argumentList=ArgumentList ":-" body=Expression; + @Override public ParserRule getRule() { return rule; } + + //"error" argumentList=ArgumentList ":-" body=Expression + public Group getGroup() { return cGroup; } + + //"error" + public Keyword getErrorKeyword_0() { return cErrorKeyword_0; } + + //argumentList=ArgumentList + public Assignment getArgumentListAssignment_1() { return cArgumentListAssignment_1; } + + //ArgumentList + public RuleCall getArgumentListArgumentListParserRuleCall_1_0() { return cArgumentListArgumentListParserRuleCall_1_0; } - //INTLiteral ecore::EInt: - // '-'? INT; + //":-" + public Keyword getColonHyphenMinusKeyword_2() { return cColonHyphenMinusKeyword_2; } + + //body=Expression + public Assignment getBodyAssignment_3() { return cBodyAssignment_3; } + + //Expression + public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } + } + public class DefaultDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DefaultDefinition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cDefaultKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0); + private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cRangeAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cRangeExpressionParserRuleCall_3_0 = (RuleCall)cRangeAssignment_3.eContents().get(0); + + //DefaultDefinition: + // "default" head=Call ":" range=Expression; @Override public ParserRule getRule() { return rule; } - //'-'? INT + //"default" head=Call ":" range=Expression public Group getGroup() { return cGroup; } - //'-'? - public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; } + //"default" + public Keyword getDefaultKeyword_0() { return cDefaultKeyword_0; } - //INT - public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; } + //head=Call + public Assignment getHeadAssignment_1() { return cHeadAssignment_1; } + + //Call + public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; } + + //":" + public Keyword getColonKeyword_2() { return cColonKeyword_2; } + + //range=Expression + public Assignment getRangeAssignment_3() { return cRangeAssignment_3; } + + //Expression + public RuleCall getRangeExpressionParserRuleCall_3_0() { return cRangeExpressionParserRuleCall_3_0; } } - public class BooleanValueElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BooleanValue"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); - private final Action cBooleanTrueAction_0_0 = (Action)cGroup_0.eContents().get(0); - private final Keyword cTrueKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); - private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); - private final Keyword cFalseKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); - private final Action cBooleanFalseAction_1_1 = (Action)cGroup_1.eContents().get(1); + public class ExternPredicateDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternPredicateDefinition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0); + private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); - //BooleanValue: - // {BooleanTrue} 'true' | 'false' {BooleanFalse}; + //ExternPredicateDefinition: + // "extern" head=Call "."; @Override public ParserRule getRule() { return rule; } - //{BooleanTrue} 'true' | 'false' {BooleanFalse} - public Alternatives getAlternatives() { return cAlternatives; } + //"extern" head=Call "." + public Group getGroup() { return cGroup; } - //{BooleanTrue} 'true' - public Group getGroup_0() { return cGroup_0; } + //"extern" + public Keyword getExternKeyword_0() { return cExternKeyword_0; } - //{BooleanTrue} - public Action getBooleanTrueAction_0_0() { return cBooleanTrueAction_0_0; } + //head=Call + public Assignment getHeadAssignment_1() { return cHeadAssignment_1; } - //'true' - public Keyword getTrueKeyword_0_1() { return cTrueKeyword_0_1; } + //Call + public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; } - //'false' {BooleanFalse} - public Group getGroup_1() { return cGroup_1; } + //"." + public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; } + } + public class MetricDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MetricDefinition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cTypeMetricTypeEnumRuleCall_0_0 = (RuleCall)cTypeAssignment_0.eContents().get(0); + private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cHeadExpressionParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0); + private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0); + + //MetricDefinition: + // type=MetricType head=Expression "=" body=Expression; + @Override public ParserRule getRule() { return rule; } + + //type=MetricType head=Expression "=" body=Expression + public Group getGroup() { return cGroup; } + + //type=MetricType + public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } - //'false' - public Keyword getFalseKeyword_1_0() { return cFalseKeyword_1_0; } + //MetricType + public RuleCall getTypeMetricTypeEnumRuleCall_0_0() { return cTypeMetricTypeEnumRuleCall_0_0; } - //{BooleanFalse} - public Action getBooleanFalseAction_1_1() { return cBooleanFalseAction_1_1; } + //head=Expression + public Assignment getHeadAssignment_1() { return cHeadAssignment_1; } + + //Expression + public RuleCall getHeadExpressionParserRuleCall_1_0() { return cHeadExpressionParserRuleCall_1_0; } + + //"=" + public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; } + + //body=Expression + public Assignment getBodyAssignment_3() { return cBodyAssignment_3; } + + //Expression + public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } } - public class TruthValueElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TruthValue"); + public class ExternMetricDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternMetricDefinition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cTypeMetricTypeEnumRuleCall_1_0 = (RuleCall)cTypeAssignment_1.eContents().get(0); + private final Assignment cHeadAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cHeadCallParserRuleCall_2_0 = (RuleCall)cHeadAssignment_2.eContents().get(0); + + //ExternMetricDefinition: + // "extern" type=MetricType head=Call; + @Override public ParserRule getRule() { return rule; } + + //"extern" type=MetricType head=Call + public Group getGroup() { return cGroup; } + + //"extern" + public Keyword getExternKeyword_0() { return cExternKeyword_0; } + + //type=MetricType + public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } + + //MetricType + public RuleCall getTypeMetricTypeEnumRuleCall_1_0() { return cTypeMetricTypeEnumRuleCall_1_0; } + + //head=Call + public Assignment getHeadAssignment_2() { return cHeadAssignment_2; } + + //Call + public RuleCall getHeadCallParserRuleCall_2_0() { return cHeadCallParserRuleCall_2_0; } + } + public class ExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); - private final Action cTrueAction_0_0 = (Action)cGroup_0.eContents().get(0); - private final Keyword cTrueKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); - private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); - private final Action cFalseAction_1_0 = (Action)cGroup_1.eContents().get(0); - private final Keyword cFalseKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); - private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2); - private final Action cUnknownAction_2_0 = (Action)cGroup_2.eContents().get(0); - private final Keyword cUnknownKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1); - private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3); - private final Action cErrorAction_3_0 = (Action)cGroup_3.eContents().get(0); - private final Keyword cErrorKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1); + private final RuleCall cIfElseParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cDisjunctiveExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - //TruthValue: - // {True} 'true' | {False} 'false' | {Unknown} 'unknown' | {Error} 'error'; + //Expression: + // IfElse | DisjunctiveExpression; @Override public ParserRule getRule() { return rule; } - //{True} 'true' | {False} 'false' | {Unknown} 'unknown' | {Error} 'error' + //IfElse | DisjunctiveExpression public Alternatives getAlternatives() { return cAlternatives; } - //{True} 'true' - public Group getGroup_0() { return cGroup_0; } + //IfElse + public RuleCall getIfElseParserRuleCall_0() { return cIfElseParserRuleCall_0; } - //{True} - public Action getTrueAction_0_0() { return cTrueAction_0_0; } + //DisjunctiveExpression + public RuleCall getDisjunctiveExpressionParserRuleCall_1() { return cDisjunctiveExpressionParserRuleCall_1; } + } + public class IfElseElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IfElse"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cIfKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cConditionAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cConditionExpressionParserRuleCall_1_0 = (RuleCall)cConditionAssignment_1.eContents().get(0); + private final Keyword cThenKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cThenAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cThenExpressionParserRuleCall_3_0 = (RuleCall)cThenAssignment_3.eContents().get(0); + private final Keyword cElseKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Assignment cElseAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final RuleCall cElseExpressionParserRuleCall_5_0 = (RuleCall)cElseAssignment_5.eContents().get(0); + + //IfElse: + // "if" condition=Expression "then" then=Expression "else" else=Expression; + @Override public ParserRule getRule() { return rule; } - //'true' - public Keyword getTrueKeyword_0_1() { return cTrueKeyword_0_1; } + //"if" condition=Expression "then" then=Expression "else" else=Expression + public Group getGroup() { return cGroup; } - //{False} 'false' - public Group getGroup_1() { return cGroup_1; } + //"if" + public Keyword getIfKeyword_0() { return cIfKeyword_0; } - //{False} - public Action getFalseAction_1_0() { return cFalseAction_1_0; } + //condition=Expression + public Assignment getConditionAssignment_1() { return cConditionAssignment_1; } - //'false' - public Keyword getFalseKeyword_1_1() { return cFalseKeyword_1_1; } + //Expression + public RuleCall getConditionExpressionParserRuleCall_1_0() { return cConditionExpressionParserRuleCall_1_0; } - //{Unknown} 'unknown' - public Group getGroup_2() { return cGroup_2; } + //"then" + public Keyword getThenKeyword_2() { return cThenKeyword_2; } - //{Unknown} - public Action getUnknownAction_2_0() { return cUnknownAction_2_0; } + //then=Expression + public Assignment getThenAssignment_3() { return cThenAssignment_3; } - //'unknown' - public Keyword getUnknownKeyword_2_1() { return cUnknownKeyword_2_1; } + //Expression + public RuleCall getThenExpressionParserRuleCall_3_0() { return cThenExpressionParserRuleCall_3_0; } - //{Error} 'error' - public Group getGroup_3() { return cGroup_3; } + //"else" + public Keyword getElseKeyword_4() { return cElseKeyword_4; } - //{Error} - public Action getErrorAction_3_0() { return cErrorAction_3_0; } + //else=Expression + public Assignment getElseAssignment_5() { return cElseAssignment_5; } - //'error' - public Keyword getErrorKeyword_3_1() { return cErrorKeyword_3_1; } + //Expression + public RuleCall getElseExpressionParserRuleCall_5_0() { return cElseExpressionParserRuleCall_5_0; } } - public class InterpretationElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Interpretation"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cBasicInterpretationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cDefaultInterpretationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cCDInterpretationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - - ///////////////////// - //// Core grammar - // /////////////////// - //Interpretation: - // BasicInterpretation | DefaultInterpretation | CDInterpretation; + public class DisjunctiveExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cConjunctiveExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); + private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); + private final Action cDisjunctionChildrenAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0); + private final Group cGroup_1_0_1 = (Group)cGroup_1_0.eContents().get(1); + private final Keyword cSemicolonKeyword_1_0_1_0 = (Keyword)cGroup_1_0_1.eContents().get(0); + private final Assignment cChildrenAssignment_1_0_1_1 = (Assignment)cGroup_1_0_1.eContents().get(1); + private final RuleCall cChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0 = (RuleCall)cChildrenAssignment_1_0_1_1.eContents().get(0); + private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); + private final Action cCaseConditionAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0); + private final Keyword cHyphenMinusGreaterThanSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); + private final Assignment cBodyAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); + private final RuleCall cBodyConjunctiveExpressionParserRuleCall_1_1_2_0 = (RuleCall)cBodyAssignment_1_1_2.eContents().get(0); + private final Action cSwitchCasesAction_1_1_3 = (Action)cGroup_1_1.eContents().get(3); + private final Group cGroup_1_1_4 = (Group)cGroup_1_1.eContents().get(4); + private final Keyword cSemicolonKeyword_1_1_4_0 = (Keyword)cGroup_1_1_4.eContents().get(0); + private final Assignment cCasesAssignment_1_1_4_1 = (Assignment)cGroup_1_1_4.eContents().get(1); + private final RuleCall cCasesCaseParserRuleCall_1_1_4_1_0 = (RuleCall)cCasesAssignment_1_1_4_1.eContents().get(0); + + //DisjunctiveExpression Expression: + // ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ | + // {Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?; @Override public ParserRule getRule() { return rule; } - //BasicInterpretation | DefaultInterpretation | CDInterpretation - public Alternatives getAlternatives() { return cAlternatives; } + //ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ | {Case.condition=current} + //"->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)? + public Group getGroup() { return cGroup; } - //BasicInterpretation - public RuleCall getBasicInterpretationParserRuleCall_0() { return cBasicInterpretationParserRuleCall_0; } + //ConjunctiveExpression + public RuleCall getConjunctiveExpressionParserRuleCall_0() { return cConjunctiveExpressionParserRuleCall_0; } - //DefaultInterpretation - public RuleCall getDefaultInterpretationParserRuleCall_1() { return cDefaultInterpretationParserRuleCall_1; } + //({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ | {Case.condition=current} "->" + //body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)? + public Alternatives getAlternatives_1() { return cAlternatives_1; } + + //{Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ + public Group getGroup_1_0() { return cGroup_1_0; } + + //{Disjunction.children+=current} + public Action getDisjunctionChildrenAction_1_0_0() { return cDisjunctionChildrenAction_1_0_0; } + + //(";" children+=ConjunctiveExpression)+ + public Group getGroup_1_0_1() { return cGroup_1_0_1; } + + //";" + public Keyword getSemicolonKeyword_1_0_1_0() { return cSemicolonKeyword_1_0_1_0; } + + //children+=ConjunctiveExpression + public Assignment getChildrenAssignment_1_0_1_1() { return cChildrenAssignment_1_0_1_1; } + + //ConjunctiveExpression + public RuleCall getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0() { return cChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0; } + + //{Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)* + public Group getGroup_1_1() { return cGroup_1_1; } + + //{Case.condition=current} + public Action getCaseConditionAction_1_1_0() { return cCaseConditionAction_1_1_0; } + + //"->" + public Keyword getHyphenMinusGreaterThanSignKeyword_1_1_1() { return cHyphenMinusGreaterThanSignKeyword_1_1_1; } + + //body=ConjunctiveExpression + public Assignment getBodyAssignment_1_1_2() { return cBodyAssignment_1_1_2; } + + //ConjunctiveExpression + public RuleCall getBodyConjunctiveExpressionParserRuleCall_1_1_2_0() { return cBodyConjunctiveExpressionParserRuleCall_1_1_2_0; } + + //{Switch.cases+=current} + public Action getSwitchCasesAction_1_1_3() { return cSwitchCasesAction_1_1_3; } + + //(";" cases+=Case)* + public Group getGroup_1_1_4() { return cGroup_1_1_4; } - //CDInterpretation - public RuleCall getCDInterpretationParserRuleCall_2() { return cCDInterpretationParserRuleCall_2; } + //";" + public Keyword getSemicolonKeyword_1_1_4_0() { return cSemicolonKeyword_1_1_4_0; } + + //cases+=Case + public Assignment getCasesAssignment_1_1_4_1() { return cCasesAssignment_1_1_4_1; } + + //Case + public RuleCall getCasesCaseParserRuleCall_1_1_4_1_0() { return cCasesCaseParserRuleCall_1_1_4_1_0; } } - public class BasicInterpretationElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BasicInterpretation"); + public class CaseElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Case"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cSymbolAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final RuleCall cSymbolSymbolParserRuleCall_0_0 = (RuleCall)cSymbolAssignment_0.eContents().get(0); + private final Assignment cConditionAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cConditionConjunctiveExpressionParserRuleCall_0_0 = (RuleCall)cConditionAssignment_0.eContents().get(0); + private final Keyword cHyphenMinusGreaterThanSignKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cBodyAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cBodyConjunctiveExpressionParserRuleCall_2_0 = (RuleCall)cBodyAssignment_2.eContents().get(0); + + //Case: + // condition=ConjunctiveExpression "->" body=ConjunctiveExpression; + @Override public ParserRule getRule() { return rule; } + + //condition=ConjunctiveExpression "->" body=ConjunctiveExpression + public Group getGroup() { return cGroup; } + + //condition=ConjunctiveExpression + public Assignment getConditionAssignment_0() { return cConditionAssignment_0; } + + //ConjunctiveExpression + public RuleCall getConditionConjunctiveExpressionParserRuleCall_0_0() { return cConditionConjunctiveExpressionParserRuleCall_0_0; } + + //"->" + public Keyword getHyphenMinusGreaterThanSignKeyword_1() { return cHyphenMinusGreaterThanSignKeyword_1; } + + //body=ConjunctiveExpression + public Assignment getBodyAssignment_2() { return cBodyAssignment_2; } + + //ConjunctiveExpression + public RuleCall getBodyConjunctiveExpressionParserRuleCall_2_0() { return cBodyConjunctiveExpressionParserRuleCall_2_0; } + } + public class ConjunctiveExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cComparisonExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); - private final Keyword cLeftParenthesisKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final Action cConjunctionChildrenAction_1_0 = (Action)cGroup_1.eContents().get(0); private final Group cGroup_1_1 = (Group)cGroup_1.eContents().get(1); - private final Assignment cObjectsAssignment_1_1_0 = (Assignment)cGroup_1_1.eContents().get(0); - private final RuleCall cObjectsComplexObjectParserRuleCall_1_1_0_0 = (RuleCall)cObjectsAssignment_1_1_0.eContents().get(0); - private final Group cGroup_1_1_1 = (Group)cGroup_1_1.eContents().get(1); - private final Keyword cCommaKeyword_1_1_1_0 = (Keyword)cGroup_1_1_1.eContents().get(0); - private final Assignment cObjectsAssignment_1_1_1_1 = (Assignment)cGroup_1_1_1.eContents().get(1); - private final RuleCall cObjectsComplexObjectParserRuleCall_1_1_1_1_0 = (RuleCall)cObjectsAssignment_1_1_1_1.eContents().get(0); - private final Keyword cRightParenthesisKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2); - private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cValueAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cValueTruthValueParserRuleCall_3_0 = (RuleCall)cValueAssignment_3.eContents().get(0); + private final Keyword cCommaKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0); + private final Assignment cChildrenAssignment_1_1_1 = (Assignment)cGroup_1_1.eContents().get(1); + private final RuleCall cChildrenComparisonExpressionParserRuleCall_1_1_1_0 = (RuleCall)cChildrenAssignment_1_1_1.eContents().get(0); - //BasicInterpretation: - // symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value=TruthValue; + //ConjunctiveExpression Expression: + // ComparisonExpression ({Conjunction.children+=current} ("," children+=ComparisonExpression)+)?; @Override public ParserRule getRule() { return rule; } - //symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value=TruthValue + //ComparisonExpression ({Conjunction.children+=current} ("," children+=ComparisonExpression)+)? public Group getGroup() { return cGroup; } - //symbol=Symbol - public Assignment getSymbolAssignment_0() { return cSymbolAssignment_0; } - - //Symbol - public RuleCall getSymbolSymbolParserRuleCall_0_0() { return cSymbolSymbolParserRuleCall_0_0; } + //ComparisonExpression + public RuleCall getComparisonExpressionParserRuleCall_0() { return cComparisonExpressionParserRuleCall_0; } - //('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? + //({Conjunction.children+=current} ("," children+=ComparisonExpression)+)? public Group getGroup_1() { return cGroup_1; } - //'(' - public Keyword getLeftParenthesisKeyword_1_0() { return cLeftParenthesisKeyword_1_0; } + //{Conjunction.children+=current} + public Action getConjunctionChildrenAction_1_0() { return cConjunctionChildrenAction_1_0; } - //(objects+=ComplexObject (',' objects+=ComplexObject)*)? + //("," children+=ComparisonExpression)+ public Group getGroup_1_1() { return cGroup_1_1; } - //objects+=ComplexObject - public Assignment getObjectsAssignment_1_1_0() { return cObjectsAssignment_1_1_0; } + //"," + public Keyword getCommaKeyword_1_1_0() { return cCommaKeyword_1_1_0; } + + //children+=ComparisonExpression + public Assignment getChildrenAssignment_1_1_1() { return cChildrenAssignment_1_1_1; } - //ComplexObject - public RuleCall getObjectsComplexObjectParserRuleCall_1_1_0_0() { return cObjectsComplexObjectParserRuleCall_1_1_0_0; } + //ComparisonExpression + public RuleCall getChildrenComparisonExpressionParserRuleCall_1_1_1_0() { return cChildrenComparisonExpressionParserRuleCall_1_1_1_0; } + } + public class ComparisonExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cAdditiveExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cComparisonLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cOpComparisonOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightAdditiveExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //ComparisonExpression Expression: + // AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?; + @Override public ParserRule getRule() { return rule; } - //(',' objects+=ComplexObject)* - public Group getGroup_1_1_1() { return cGroup_1_1_1; } + //AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)? + public Group getGroup() { return cGroup; } - //',' - public Keyword getCommaKeyword_1_1_1_0() { return cCommaKeyword_1_1_1_0; } + //AdditiveExpression + public RuleCall getAdditiveExpressionParserRuleCall_0() { return cAdditiveExpressionParserRuleCall_0; } - //objects+=ComplexObject - public Assignment getObjectsAssignment_1_1_1_1() { return cObjectsAssignment_1_1_1_1; } + //({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)? + public Group getGroup_1() { return cGroup_1; } - //ComplexObject - public RuleCall getObjectsComplexObjectParserRuleCall_1_1_1_1_0() { return cObjectsComplexObjectParserRuleCall_1_1_1_1_0; } + //{Comparison.left=current} + public Action getComparisonLeftAction_1_0() { return cComparisonLeftAction_1_0; } - //')' - public Keyword getRightParenthesisKeyword_1_2() { return cRightParenthesisKeyword_1_2; } + //op=ComparisonOperator + public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } - //':' - public Keyword getColonKeyword_2() { return cColonKeyword_2; } + //ComparisonOperator + public RuleCall getOpComparisonOperatorEnumRuleCall_1_1_0() { return cOpComparisonOperatorEnumRuleCall_1_1_0; } - //value=TruthValue - public Assignment getValueAssignment_3() { return cValueAssignment_3; } + //right=AdditiveExpression + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } - //TruthValue - public RuleCall getValueTruthValueParserRuleCall_3_0() { return cValueTruthValueParserRuleCall_3_0; } + //AdditiveExpression + public RuleCall getRightAdditiveExpressionParserRuleCall_1_2_0() { return cRightAdditiveExpressionParserRuleCall_1_2_0; } } - public class SymbolElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cModelSymbolParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cPartialitySymbolParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cDataSymbolParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + public class AdditiveExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cMultiplicativeExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cBinaryExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cOpAdditiveBinaryOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightMultiplicativeExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //AdditiveExpression Expression: + // MultiplicativeExpression ({BinaryExpression.left=current} op=AdditiveBinaryOperator right=MultiplicativeExpression)*; + @Override public ParserRule getRule() { return rule; } + + //MultiplicativeExpression ({BinaryExpression.left=current} op=AdditiveBinaryOperator right=MultiplicativeExpression)* + public Group getGroup() { return cGroup; } + + //MultiplicativeExpression + public RuleCall getMultiplicativeExpressionParserRuleCall_0() { return cMultiplicativeExpressionParserRuleCall_0; } + + //({BinaryExpression.left=current} op=AdditiveBinaryOperator right=MultiplicativeExpression)* + public Group getGroup_1() { return cGroup_1; } + + //{BinaryExpression.left=current} + public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; } + + //op=AdditiveBinaryOperator + public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } + + //AdditiveBinaryOperator + public RuleCall getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0() { return cOpAdditiveBinaryOperatorEnumRuleCall_1_1_0; } - //Symbol: - // ModelSymbol | PartialitySymbol | DataSymbol; + //right=MultiplicativeExpression + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //MultiplicativeExpression + public RuleCall getRightMultiplicativeExpressionParserRuleCall_1_2_0() { return cRightMultiplicativeExpressionParserRuleCall_1_2_0; } + } + public class MultiplicativeExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeExpression"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cExponentialExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cBinaryExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightExponentialExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //MultiplicativeExpression Expression: + // ExponentialExpression ({BinaryExpression.left=current} op=MultiplicativeBinaryOperator right=ExponentialExpression)*; @Override public ParserRule getRule() { return rule; } - //ModelSymbol | PartialitySymbol | DataSymbol - public Alternatives getAlternatives() { return cAlternatives; } + //ExponentialExpression ({BinaryExpression.left=current} op=MultiplicativeBinaryOperator right=ExponentialExpression)* + public Group getGroup() { return cGroup; } + + //ExponentialExpression + public RuleCall getExponentialExpressionParserRuleCall_0() { return cExponentialExpressionParserRuleCall_0; } + + //({BinaryExpression.left=current} op=MultiplicativeBinaryOperator right=ExponentialExpression)* + public Group getGroup_1() { return cGroup_1; } + + //{BinaryExpression.left=current} + public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; } + + //op=MultiplicativeBinaryOperator + public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } - //ModelSymbol - public RuleCall getModelSymbolParserRuleCall_0() { return cModelSymbolParserRuleCall_0; } + //MultiplicativeBinaryOperator + public RuleCall getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0() { return cOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0; } - //PartialitySymbol - public RuleCall getPartialitySymbolParserRuleCall_1() { return cPartialitySymbolParserRuleCall_1; } + //right=ExponentialExpression + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } - //DataSymbol - public RuleCall getDataSymbolParserRuleCall_2() { return cDataSymbolParserRuleCall_2; } + //ExponentialExpression + public RuleCall getRightExponentialExpressionParserRuleCall_1_2_0() { return cRightExponentialExpressionParserRuleCall_1_2_0; } } - public class ModelSymbolElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); - private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0); + public class ExponentialExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cUnaryExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cBinaryExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cOpExponentialOpEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightExponentialExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //ExponentialExpression Expression: + // UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?; + @Override public ParserRule getRule() { return rule; } - //ModelSymbol: - // name=ID; + //UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)? + public Group getGroup() { return cGroup; } + + //UnaryExpression + public RuleCall getUnaryExpressionParserRuleCall_0() { return cUnaryExpressionParserRuleCall_0; } + + //({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)? + public Group getGroup_1() { return cGroup_1; } + + //{BinaryExpression.left=current} + public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; } + + //op=ExponentialOp + public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } + + //ExponentialOp + public RuleCall getOpExponentialOpEnumRuleCall_1_1_0() { return cOpExponentialOpEnumRuleCall_1_1_0; } + + //right=ExponentialExpression + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //ExponentialExpression + public RuleCall getRightExponentialExpressionParserRuleCall_1_2_0() { return cRightExponentialExpressionParserRuleCall_1_2_0; } + } + public class UnaryExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryExpression"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cAggregationExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); + private final Action cUnaryExpressionAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cOpUnaryOpEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0); + private final Assignment cBodyAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cBodyAggregationExpressionParserRuleCall_1_2_0 = (RuleCall)cBodyAssignment_1_2.eContents().get(0); + + //UnaryExpression Expression: + // AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression; @Override public ParserRule getRule() { return rule; } - //name=ID - public Assignment getNameAssignment() { return cNameAssignment; } + //AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression + public Alternatives getAlternatives() { return cAlternatives; } - //ID - public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } + //AggregationExpression + public RuleCall getAggregationExpressionParserRuleCall_0() { return cAggregationExpressionParserRuleCall_0; } + + //{UnaryExpression} op=UnaryOp body=AggregationExpression + public Group getGroup_1() { return cGroup_1; } + + //{UnaryExpression} + public Action getUnaryExpressionAction_1_0() { return cUnaryExpressionAction_1_0; } + + //op=UnaryOp + public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } + + //UnaryOp + public RuleCall getOpUnaryOpEnumRuleCall_1_1_0() { return cOpUnaryOpEnumRuleCall_1_1_0; } + + //body=AggregationExpression + public Assignment getBodyAssignment_1_2() { return cBodyAssignment_1_2; } + + //AggregationExpression + public RuleCall getBodyAggregationExpressionParserRuleCall_1_2_0() { return cBodyAggregationExpressionParserRuleCall_1_2_0; } } - public class PartialitySymbolElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PartialitySymbol"); + public class AggregationExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cExistSymbolParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cEqualsSymbolParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cAtomicExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cCountParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cAggregationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - //PartialitySymbol: - // ExistSymbol | EqualsSymbol; + //AggregationExpression Expression: + // AtomicExpression | Count | Aggregation; @Override public ParserRule getRule() { return rule; } - //ExistSymbol | EqualsSymbol + //AtomicExpression | Count | Aggregation public Alternatives getAlternatives() { return cAlternatives; } - //ExistSymbol - public RuleCall getExistSymbolParserRuleCall_0() { return cExistSymbolParserRuleCall_0; } + //AtomicExpression + public RuleCall getAtomicExpressionParserRuleCall_0() { return cAtomicExpressionParserRuleCall_0; } - //EqualsSymbol - public RuleCall getEqualsSymbolParserRuleCall_1() { return cEqualsSymbolParserRuleCall_1; } + //Count + public RuleCall getCountParserRuleCall_1() { return cCountParserRuleCall_1; } + + //Aggregation + public RuleCall getAggregationParserRuleCall_2() { return cAggregationParserRuleCall_2; } } - public class ExistSymbolElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExistSymbol"); + public class CountElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Count"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cExistsKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Action cExistSymbolAction_1 = (Action)cGroup.eContents().get(1); - - //ExistSymbol: - // 'exists' {ExistSymbol}; + private final Keyword cCountKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cBodyAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cBodyExpressionParserRuleCall_2_0 = (RuleCall)cBodyAssignment_2.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); + + //Count: + // "count" "{" body=Expression "}"; @Override public ParserRule getRule() { return rule; } - //'exists' {ExistSymbol} + //"count" "{" body=Expression "}" public Group getGroup() { return cGroup; } - //'exists' - public Keyword getExistsKeyword_0() { return cExistsKeyword_0; } + //"count" + public Keyword getCountKeyword_0() { return cCountKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } - //{ExistSymbol} - public Action getExistSymbolAction_1() { return cExistSymbolAction_1; } + //body=Expression + public Assignment getBodyAssignment_2() { return cBodyAssignment_2; } + + //Expression + public RuleCall getBodyExpressionParserRuleCall_2_0() { return cBodyExpressionParserRuleCall_2_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; } } - public class EqualsSymbolElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EqualsSymbol"); + public class AggregationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Aggregation"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cEqualsKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Action cEqualsSymbolAction_1 = (Action)cGroup.eContents().get(1); - - //EqualsSymbol: - // 'equals' {EqualsSymbol}; + private final Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cOpAggregationOpEnumRuleCall_0_0 = (RuleCall)cOpAssignment_0.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cBodyAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cBodyExpressionParserRuleCall_2_0 = (RuleCall)cBodyAssignment_2.eContents().get(0); + private final Keyword cVerticalLineKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cConditionAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cConditionExpressionParserRuleCall_4_0 = (RuleCall)cConditionAssignment_4.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); + + //Aggregation: + // op=AggregationOp "{" body=Expression "|" condition=Expression "}"; @Override public ParserRule getRule() { return rule; } - //'equals' {EqualsSymbol} + //op=AggregationOp "{" body=Expression "|" condition=Expression "}" public Group getGroup() { return cGroup; } - //'equals' - public Keyword getEqualsKeyword_0() { return cEqualsKeyword_0; } + //op=AggregationOp + public Assignment getOpAssignment_0() { return cOpAssignment_0; } + + //AggregationOp + public RuleCall getOpAggregationOpEnumRuleCall_0_0() { return cOpAggregationOpEnumRuleCall_0_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //body=Expression + public Assignment getBodyAssignment_2() { return cBodyAssignment_2; } + + //Expression + public RuleCall getBodyExpressionParserRuleCall_2_0() { return cBodyExpressionParserRuleCall_2_0; } + + //"|" + public Keyword getVerticalLineKeyword_3() { return cVerticalLineKeyword_3; } - //{EqualsSymbol} - public Action getEqualsSymbolAction_1() { return cEqualsSymbolAction_1; } + //condition=Expression + public Assignment getConditionAssignment_4() { return cConditionAssignment_4; } + + //Expression + public RuleCall getConditionExpressionParserRuleCall_4_0() { return cConditionExpressionParserRuleCall_4_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } } - public class DataSymbolElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DataSymbol"); + public class AtomicExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AtomicExpression"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cBooleanSymbolParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cIntegerSymbolParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cRealSymbolParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - private final RuleCall cStringSymbolParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); + private final RuleCall cReferenceParserRuleCall_0_0 = (RuleCall)cGroup_0.eContents().get(0); + private final Group cGroup_0_1 = (Group)cGroup_0.eContents().get(1); + private final Action cCallFunctorAction_0_1_0 = (Action)cGroup_0_1.eContents().get(0); + private final Assignment cArgumentListAssignment_0_1_1 = (Assignment)cGroup_0_1.eContents().get(1); + private final RuleCall cArgumentListArgumentListParserRuleCall_0_1_1_0 = (RuleCall)cArgumentListAssignment_0_1_1.eContents().get(0); + private final RuleCall cIntervalParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cLiteralParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3); + private final Keyword cLeftParenthesisKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final RuleCall cExpressionParserRuleCall_3_1 = (RuleCall)cGroup_3.eContents().get(1); + private final Keyword cRightParenthesisKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2); - //DataSymbol: - // BooleanSymbol | IntegerSymbol | RealSymbol | StringSymbol; + //AtomicExpression Expression: + // Reference ({Call.functor=current} -> argumentList=ArgumentList)? | Interval | Literal | "(" Expression ")"; @Override public ParserRule getRule() { return rule; } - //BooleanSymbol | IntegerSymbol | RealSymbol | StringSymbol + //Reference ({Call.functor=current} -> argumentList=ArgumentList)? | Interval | Literal | "(" Expression ")" public Alternatives getAlternatives() { return cAlternatives; } - //BooleanSymbol - public RuleCall getBooleanSymbolParserRuleCall_0() { return cBooleanSymbolParserRuleCall_0; } + //Reference ({Call.functor=current} -> argumentList=ArgumentList)? + public Group getGroup_0() { return cGroup_0; } + + //Reference + public RuleCall getReferenceParserRuleCall_0_0() { return cReferenceParserRuleCall_0_0; } + + //({Call.functor=current} -> argumentList=ArgumentList)? + public Group getGroup_0_1() { return cGroup_0_1; } - //IntegerSymbol - public RuleCall getIntegerSymbolParserRuleCall_1() { return cIntegerSymbolParserRuleCall_1; } + //{Call.functor=current} + public Action getCallFunctorAction_0_1_0() { return cCallFunctorAction_0_1_0; } - //RealSymbol - public RuleCall getRealSymbolParserRuleCall_2() { return cRealSymbolParserRuleCall_2; } + //-> argumentList=ArgumentList + public Assignment getArgumentListAssignment_0_1_1() { return cArgumentListAssignment_0_1_1; } - //StringSymbol - public RuleCall getStringSymbolParserRuleCall_3() { return cStringSymbolParserRuleCall_3; } + //ArgumentList + public RuleCall getArgumentListArgumentListParserRuleCall_0_1_1_0() { return cArgumentListArgumentListParserRuleCall_0_1_1_0; } + + //Interval + public RuleCall getIntervalParserRuleCall_1() { return cIntervalParserRuleCall_1; } + + //Literal + public RuleCall getLiteralParserRuleCall_2() { return cLiteralParserRuleCall_2; } + + //"(" Expression ")" + public Group getGroup_3() { return cGroup_3; } + + //"(" + public Keyword getLeftParenthesisKeyword_3_0() { return cLeftParenthesisKeyword_3_0; } + + //Expression + public RuleCall getExpressionParserRuleCall_3_1() { return cExpressionParserRuleCall_3_1; } + + //")" + public Keyword getRightParenthesisKeyword_3_2() { return cRightParenthesisKeyword_3_2; } } - public class BooleanSymbolElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BooleanSymbol"); + public class CallElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Call"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cBoolKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Action cBooleanSymbolAction_1 = (Action)cGroup.eContents().get(1); - - //BooleanSymbol: - // 'bool' {BooleanSymbol}; + private final Assignment cFunctorAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cFunctorReferenceParserRuleCall_0_0 = (RuleCall)cFunctorAssignment_0.eContents().get(0); + private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); + private final Assignment cTransitiveClosureAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0); + private final RuleCall cTransitiveClosureSTARTerminalRuleCall_1_0_0 = (RuleCall)cTransitiveClosureAssignment_1_0.eContents().get(0); + private final Assignment cReflexiveTransitiveClosureAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1); + private final RuleCall cReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0 = (RuleCall)cReflexiveTransitiveClosureAssignment_1_1.eContents().get(0); + private final Assignment cArgumentListAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cArgumentListArgumentListParserRuleCall_2_0 = (RuleCall)cArgumentListAssignment_2.eContents().get(0); + + //Call: + // functor=Reference (transitiveClosure?=STAR | reflexiveTransitiveClosure?=PLUS)? argumentList=ArgumentList; @Override public ParserRule getRule() { return rule; } - //'bool' {BooleanSymbol} + //functor=Reference (transitiveClosure?=STAR | reflexiveTransitiveClosure?=PLUS)? argumentList=ArgumentList public Group getGroup() { return cGroup; } - //'bool' - public Keyword getBoolKeyword_0() { return cBoolKeyword_0; } + //functor=Reference + public Assignment getFunctorAssignment_0() { return cFunctorAssignment_0; } + + //Reference + public RuleCall getFunctorReferenceParserRuleCall_0_0() { return cFunctorReferenceParserRuleCall_0_0; } + + //(transitiveClosure?=STAR | reflexiveTransitiveClosure?=PLUS)? + public Alternatives getAlternatives_1() { return cAlternatives_1; } + + //transitiveClosure?=STAR + public Assignment getTransitiveClosureAssignment_1_0() { return cTransitiveClosureAssignment_1_0; } + + //STAR + public RuleCall getTransitiveClosureSTARTerminalRuleCall_1_0_0() { return cTransitiveClosureSTARTerminalRuleCall_1_0_0; } - //{BooleanSymbol} - public Action getBooleanSymbolAction_1() { return cBooleanSymbolAction_1; } + //reflexiveTransitiveClosure?=PLUS + public Assignment getReflexiveTransitiveClosureAssignment_1_1() { return cReflexiveTransitiveClosureAssignment_1_1; } + + //PLUS + public RuleCall getReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0() { return cReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0; } + + //argumentList=ArgumentList + public Assignment getArgumentListAssignment_2() { return cArgumentListAssignment_2; } + + //ArgumentList + public RuleCall getArgumentListArgumentListParserRuleCall_2_0() { return cArgumentListArgumentListParserRuleCall_2_0; } } - public class IntegerSymbolElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IntegerSymbol"); + public class ArgumentListElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cIntKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Action cIntegerSymbolAction_1 = (Action)cGroup.eContents().get(1); + private final Action cArgumentListAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Assignment cArgumentsAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); + private final RuleCall cArgumentsArgumentParserRuleCall_2_0_0 = (RuleCall)cArgumentsAssignment_2_0.eContents().get(0); + private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); + private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0); + private final Assignment cArgumentsAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1); + private final RuleCall cArgumentsArgumentParserRuleCall_2_1_1_0 = (RuleCall)cArgumentsAssignment_2_1_1.eContents().get(0); + private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3); - //IntegerSymbol: - // 'int' {IntegerSymbol}; + //ArgumentList: + // {ArgumentList} "(" (arguments+=Argument ("," arguments+=Argument)*)? ")"; @Override public ParserRule getRule() { return rule; } - //'int' {IntegerSymbol} + //{ArgumentList} "(" (arguments+=Argument ("," arguments+=Argument)*)? ")" public Group getGroup() { return cGroup; } - //'int' - public Keyword getIntKeyword_0() { return cIntKeyword_0; } + //{ArgumentList} + public Action getArgumentListAction_0() { return cArgumentListAction_0; } + + //"(" + public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } + + //(arguments+=Argument ("," arguments+=Argument)*)? + public Group getGroup_2() { return cGroup_2; } + + //arguments+=Argument + public Assignment getArgumentsAssignment_2_0() { return cArgumentsAssignment_2_0; } + + //Argument + public RuleCall getArgumentsArgumentParserRuleCall_2_0_0() { return cArgumentsArgumentParserRuleCall_2_0_0; } + + //("," arguments+=Argument)* + public Group getGroup_2_1() { return cGroup_2_1; } + + //"," + public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; } + + //arguments+=Argument + public Assignment getArgumentsAssignment_2_1_1() { return cArgumentsAssignment_2_1_1; } + + //Argument + public RuleCall getArgumentsArgumentParserRuleCall_2_1_1_0() { return cArgumentsArgumentParserRuleCall_2_1_1_0; } + + //")" + public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; } + } + public class ArgumentElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Argument"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cExpressionArgumentParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cStarArgumentParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cTypedArgumentParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cTypedStarArgumentParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + + //Argument: + // ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument; + @Override public ParserRule getRule() { return rule; } + + //ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument + public Alternatives getAlternatives() { return cAlternatives; } + + //ExpressionArgument + public RuleCall getExpressionArgumentParserRuleCall_0() { return cExpressionArgumentParserRuleCall_0; } + + //StarArgument + public RuleCall getStarArgumentParserRuleCall_1() { return cStarArgumentParserRuleCall_1; } + + //TypedArgument + public RuleCall getTypedArgumentParserRuleCall_2() { return cTypedArgumentParserRuleCall_2; } + + //TypedStarArgument + public RuleCall getTypedStarArgumentParserRuleCall_3() { return cTypedStarArgumentParserRuleCall_3; } + } + public class ExpressionArgumentElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExpressionArgument"); + private final Assignment cBodyAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cBodyComparisonExpressionParserRuleCall_0 = (RuleCall)cBodyAssignment.eContents().get(0); + + //ExpressionArgument: + // body=ComparisonExpression; + @Override public ParserRule getRule() { return rule; } + + //body=ComparisonExpression + public Assignment getBodyAssignment() { return cBodyAssignment; } - //{IntegerSymbol} - public Action getIntegerSymbolAction_1() { return cIntegerSymbolAction_1; } + //ComparisonExpression + public RuleCall getBodyComparisonExpressionParserRuleCall_0() { return cBodyComparisonExpressionParserRuleCall_0; } } - public class RealSymbolElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.RealSymbol"); + public class StarArgumentElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StarArgument"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cRealKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Action cRealSymbolAction_1 = (Action)cGroup.eContents().get(1); + private final Action cStarArgumentAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cAsteriskKeyword_1 = (Keyword)cGroup.eContents().get(1); - //RealSymbol: - // 'real' {RealSymbol}; + //StarArgument: + // {StarArgument} "*"; @Override public ParserRule getRule() { return rule; } - //'real' {RealSymbol} + //{StarArgument} "*" public Group getGroup() { return cGroup; } - //'real' - public Keyword getRealKeyword_0() { return cRealKeyword_0; } + //{StarArgument} + public Action getStarArgumentAction_0() { return cStarArgumentAction_0; } - //{RealSymbol} - public Action getRealSymbolAction_1() { return cRealSymbolAction_1; } + //"*" + public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; } } - public class StringSymbolElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StringSymbol"); + public class TypedArgumentElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypedArgument"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cStringKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Action cStringSymbolAction_1 = (Action)cGroup.eContents().get(1); - - //StringSymbol: - // 'string' {StringSymbol}; + private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0); + private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1); + private final Assignment cVariableAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cVariableNamedElementCrossReference_1_0 = (CrossReference)cVariableAssignment_1.eContents().get(0); + private final RuleCall cVariableNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cVariableNamedElementCrossReference_1_0.eContents().get(1); + + //TypedArgument: + // type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName]; @Override public ParserRule getRule() { return rule; } - //'string' {StringSymbol} + //type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName] public Group getGroup() { return cGroup; } - //'string' - public Keyword getStringKeyword_0() { return cStringKeyword_0; } + //type=[NamedElement|QualifiedName] + public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } + + //[NamedElement|QualifiedName] + public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; } - //{StringSymbol} - public Action getStringSymbolAction_1() { return cStringSymbolAction_1; } + //QualifiedName + public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; } + + //variable=[NamedElement|QualifiedName] + public Assignment getVariableAssignment_1() { return cVariableAssignment_1; } + + //[NamedElement|QualifiedName] + public CrossReference getVariableNamedElementCrossReference_1_0() { return cVariableNamedElementCrossReference_1_0; } + + //QualifiedName + public RuleCall getVariableNamedElementQualifiedNameParserRuleCall_1_0_1() { return cVariableNamedElementQualifiedNameParserRuleCall_1_0_1; } } - public class ComplexObjectElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cObjectParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cAllInstancesParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cAllObjectsParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + public class TypedStarArgumentElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypedStarArgument"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0); + private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1); + private final Keyword cAsteriskKeyword_1 = (Keyword)cGroup.eContents().get(1); - //ComplexObject: - // Object | AllInstances | AllObjects; + //TypedStarArgument: + // type=[NamedElement|QualifiedName] "*"; @Override public ParserRule getRule() { return rule; } - //Object | AllInstances | AllObjects - public Alternatives getAlternatives() { return cAlternatives; } + //type=[NamedElement|QualifiedName] "*" + public Group getGroup() { return cGroup; } - //Object - public RuleCall getObjectParserRuleCall_0() { return cObjectParserRuleCall_0; } + //type=[NamedElement|QualifiedName] + public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } - //AllInstances - public RuleCall getAllInstancesParserRuleCall_1() { return cAllInstancesParserRuleCall_1; } + //[NamedElement|QualifiedName] + public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; } - //AllObjects - public RuleCall getAllObjectsParserRuleCall_2() { return cAllObjectsParserRuleCall_2; } + //QualifiedName + public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; } + + //"*" + public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; } } - public class ObjectElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Object"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cNamedObjectParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cUnnamedObjectParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cDataObjectParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + public class ReferenceElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Reference"); + private final Assignment cReferredAssignment = (Assignment)rule.eContents().get(1); + private final CrossReference cReferredNamedElementCrossReference_0 = (CrossReference)cReferredAssignment.eContents().get(0); + private final RuleCall cReferredNamedElementQualifiedNameParserRuleCall_0_1 = (RuleCall)cReferredNamedElementCrossReference_0.eContents().get(1); - //Object: - // NamedObject | UnnamedObject | DataObject; + //Reference: + // referred=[NamedElement|QualifiedName]; @Override public ParserRule getRule() { return rule; } - //NamedObject | UnnamedObject | DataObject - public Alternatives getAlternatives() { return cAlternatives; } - - //NamedObject - public RuleCall getNamedObjectParserRuleCall_0() { return cNamedObjectParserRuleCall_0; } + //referred=[NamedElement|QualifiedName] + public Assignment getReferredAssignment() { return cReferredAssignment; } - //UnnamedObject - public RuleCall getUnnamedObjectParserRuleCall_1() { return cUnnamedObjectParserRuleCall_1; } + //[NamedElement|QualifiedName] + public CrossReference getReferredNamedElementCrossReference_0() { return cReferredNamedElementCrossReference_0; } - //DataObject - public RuleCall getDataObjectParserRuleCall_2() { return cDataObjectParserRuleCall_2; } + //QualifiedName + public RuleCall getReferredNamedElementQualifiedNameParserRuleCall_0_1() { return cReferredNamedElementQualifiedNameParserRuleCall_0_1; } } - public class NamedObjectElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NamedObject"); + public class IntervalElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Interval"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cApostropheKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Keyword cApostropheKeyword_2 = (Keyword)cGroup.eContents().get(2); - - //NamedObject: - // "'" name=ID "'"; + private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cLowerBoundAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cLowerBoundExpressionParserRuleCall_1_0 = (RuleCall)cLowerBoundAssignment_1.eContents().get(0); + private final Keyword cFullStopFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cUpperBoundAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cUpperBoundExpressionParserRuleCall_3_0 = (RuleCall)cUpperBoundAssignment_3.eContents().get(0); + private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //Interval: + // "[" lowerBound=Expression ".." upperBound=Expression "]"; @Override public ParserRule getRule() { return rule; } - //"'" name=ID "'" + //"[" lowerBound=Expression ".." upperBound=Expression "]" public Group getGroup() { return cGroup; } - //"'" - public Keyword getApostropheKeyword_0() { return cApostropheKeyword_0; } + //"[" + public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; } - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } + //lowerBound=Expression + public Assignment getLowerBoundAssignment_1() { return cLowerBoundAssignment_1; } - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } + //Expression + public RuleCall getLowerBoundExpressionParserRuleCall_1_0() { return cLowerBoundExpressionParserRuleCall_1_0; } - //"'" - public Keyword getApostropheKeyword_2() { return cApostropheKeyword_2; } - } - public class UnnamedObjectElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnnamedObject"); - private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0); + //".." + public Keyword getFullStopFullStopKeyword_2() { return cFullStopFullStopKeyword_2; } - //UnnamedObject: - // name=ID; - @Override public ParserRule getRule() { return rule; } + //upperBound=Expression + public Assignment getUpperBoundAssignment_3() { return cUpperBoundAssignment_3; } - //name=ID - public Assignment getNameAssignment() { return cNameAssignment; } + //Expression + public RuleCall getUpperBoundExpressionParserRuleCall_3_0() { return cUpperBoundExpressionParserRuleCall_3_0; } - //ID - public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } + //"]" + public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; } } - public class DataObjectElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DataObject"); + public class LiteralElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cBooleanObjectParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cIntObjectParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cRealObjectParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - private final RuleCall cStringObjectParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + private final RuleCall cLogicLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cNumericLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cInfinityLiteralParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cEmptyIntervalLiteralParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + private final RuleCall cStringLiteralParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); - //DataObject: - // BooleanObject | IntObject | RealObject | StringObject; + //Literal: + // LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral; @Override public ParserRule getRule() { return rule; } - //BooleanObject | IntObject | RealObject | StringObject + //LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral public Alternatives getAlternatives() { return cAlternatives; } - //BooleanObject - public RuleCall getBooleanObjectParserRuleCall_0() { return cBooleanObjectParserRuleCall_0; } + //LogicLiteral + public RuleCall getLogicLiteralParserRuleCall_0() { return cLogicLiteralParserRuleCall_0; } + + //NumericLiteral + public RuleCall getNumericLiteralParserRuleCall_1() { return cNumericLiteralParserRuleCall_1; } - //IntObject - public RuleCall getIntObjectParserRuleCall_1() { return cIntObjectParserRuleCall_1; } + //InfinityLiteral + public RuleCall getInfinityLiteralParserRuleCall_2() { return cInfinityLiteralParserRuleCall_2; } - //RealObject - public RuleCall getRealObjectParserRuleCall_2() { return cRealObjectParserRuleCall_2; } + //EmptyIntervalLiteral + public RuleCall getEmptyIntervalLiteralParserRuleCall_3() { return cEmptyIntervalLiteralParserRuleCall_3; } - //StringObject - public RuleCall getStringObjectParserRuleCall_3() { return cStringObjectParserRuleCall_3; } + //StringLiteral + public RuleCall getStringLiteralParserRuleCall_4() { return cStringLiteralParserRuleCall_4; } } - public class BooleanObjectElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BooleanObject"); + public class LogicLiteralElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicLiteral"); private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); - private final RuleCall cValueBooleanValueParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); + private final RuleCall cValueLogicValueEnumRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); - //BooleanObject: - // value=BooleanValue; + //LogicLiteral: + // value=LogicValue; @Override public ParserRule getRule() { return rule; } - //value=BooleanValue + //value=LogicValue public Assignment getValueAssignment() { return cValueAssignment; } - //BooleanValue - public RuleCall getValueBooleanValueParserRuleCall_0() { return cValueBooleanValueParserRuleCall_0; } + //LogicValue + public RuleCall getValueLogicValueEnumRuleCall_0() { return cValueLogicValueEnumRuleCall_0; } } - public class IntObjectElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IntObject"); + public class NumericLiteralElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NumericLiteral"); private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); - private final RuleCall cValueINTLiteralParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); + private final RuleCall cValueRealParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); - //IntObject: - // value=INTLiteral; + //NumericLiteral: + // value=Real; @Override public ParserRule getRule() { return rule; } - //value=INTLiteral + //value=Real public Assignment getValueAssignment() { return cValueAssignment; } - //INTLiteral - public RuleCall getValueINTLiteralParserRuleCall_0() { return cValueINTLiteralParserRuleCall_0; } + //Real + public RuleCall getValueRealParserRuleCall_0() { return cValueRealParserRuleCall_0; } } - public class RealObjectElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.RealObject"); - private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); - private final RuleCall cValueREALLiteralParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); + public class InfinityLiteralElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.InfinityLiteral"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cInfinityLiteralAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cInfKeyword_1 = (Keyword)cGroup.eContents().get(1); - //RealObject: - // value=REALLiteral; + //InfinityLiteral: + // {InfinityLiteral} "inf"; @Override public ParserRule getRule() { return rule; } - //value=REALLiteral - public Assignment getValueAssignment() { return cValueAssignment; } + //{InfinityLiteral} "inf" + public Group getGroup() { return cGroup; } - //REALLiteral - public RuleCall getValueREALLiteralParserRuleCall_0() { return cValueREALLiteralParserRuleCall_0; } + //{InfinityLiteral} + public Action getInfinityLiteralAction_0() { return cInfinityLiteralAction_0; } + + //"inf" + public Keyword getInfKeyword_1() { return cInfKeyword_1; } } - public class StringObjectElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StringObject"); + public class EmptyIntervalLiteralElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EmptyIntervalLiteral"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cEmptyIntervalLiteralAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cEmptyKeyword_1 = (Keyword)cGroup.eContents().get(1); + + //EmptyIntervalLiteral: + // {EmptyIntervalLiteral} "empty"; + @Override public ParserRule getRule() { return rule; } + + //{EmptyIntervalLiteral} "empty" + public Group getGroup() { return cGroup; } + + //{EmptyIntervalLiteral} + public Action getEmptyIntervalLiteralAction_0() { return cEmptyIntervalLiteralAction_0; } + + //"empty" + public Keyword getEmptyKeyword_1() { return cEmptyKeyword_1; } + } + public class StringLiteralElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StringLiteral"); private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueSTRINGTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); - //StringObject: + //StringLiteral: // value=STRING; @Override public ParserRule getRule() { return rule; } @@ -667,817 +1405,1189 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //STRING public RuleCall getValueSTRINGTerminalRuleCall_0() { return cValueSTRINGTerminalRuleCall_0; } } - public class PredicateElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Predicate"); + public class ClassDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClassDefinition"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cIsErrorAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final Keyword cIsErrorErrorKeyword_0_0 = (Keyword)cIsErrorAssignment_0.eContents().get(0); - private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0); - private final Group cGroup_2 = (Group)cGroup.eContents().get(2); - private final Keyword cLeftParenthesisKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); - private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); - private final Assignment cParametersAssignment_2_1_0 = (Assignment)cGroup_2_1.eContents().get(0); - private final RuleCall cParametersParameterParserRuleCall_2_1_0_0 = (RuleCall)cParametersAssignment_2_1_0.eContents().get(0); - private final Group cGroup_2_1_1 = (Group)cGroup_2_1.eContents().get(1); - private final Keyword cCommaKeyword_2_1_1_0 = (Keyword)cGroup_2_1_1.eContents().get(0); - private final Assignment cParametersAssignment_2_1_1_1 = (Assignment)cGroup_2_1_1.eContents().get(1); - private final RuleCall cParametersParameterParserRuleCall_2_1_1_1_0 = (RuleCall)cParametersAssignment_2_1_1_1.eContents().get(0); - private final Keyword cRightParenthesisKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); - private final Keyword cColonHyphenMinusKeyword_3 = (Keyword)cGroup.eContents().get(3); - private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4); - private final Keyword cFalseKeyword_4_0 = (Keyword)cAlternatives_4.eContents().get(0); - private final Group cGroup_4_1 = (Group)cAlternatives_4.eContents().get(1); - private final Assignment cBodiesAssignment_4_1_0 = (Assignment)cGroup_4_1.eContents().get(0); - private final RuleCall cBodiesPatternBodyParserRuleCall_4_1_0_0 = (RuleCall)cBodiesAssignment_4_1_0.eContents().get(0); - private final Group cGroup_4_1_1 = (Group)cGroup_4_1.eContents().get(1); - private final Keyword cVerticalLineKeyword_4_1_1_0 = (Keyword)cGroup_4_1_1.eContents().get(0); - private final Assignment cBodiesAssignment_4_1_1_1 = (Assignment)cGroup_4_1_1.eContents().get(1); - private final RuleCall cBodiesPatternBodyParserRuleCall_4_1_1_1_0 = (RuleCall)cBodiesAssignment_4_1_1_1.eContents().get(0); - private final Keyword cFullStopKeyword_5 = (Keyword)cGroup.eContents().get(5); - - ///////////////////// - //// Predicte grammar - ///////////////////// - //Predicate: - // isError?='error'? symbol=ModelSymbol ('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? ':-' ('false' | - // bodies+=PatternBody ('|' bodies+=PatternBody)*) '.'; + private final Assignment cAbstractAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0); + private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Assignment cSuperclassesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final CrossReference cSuperclassesNamedElementCrossReference_3_1_0 = (CrossReference)cSuperclassesAssignment_3_1.eContents().get(0); + private final RuleCall cSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSuperclassesNamedElementCrossReference_3_1_0.eContents().get(1); + private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2); + private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0); + private final Assignment cSuperclassesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1); + private final CrossReference cSuperclassesNamedElementCrossReference_3_2_1_0 = (CrossReference)cSuperclassesAssignment_3_2_1.eContents().get(0); + private final RuleCall cSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSuperclassesNamedElementCrossReference_3_2_1_0.eContents().get(1); + private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Assignment cMembersAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final RuleCall cMembersMemberDefinitionParserRuleCall_5_0 = (RuleCall)cMembersAssignment_5.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); + + //ClassDefinition Statement: + // abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," + // superclasses+=[NamedElement|QualifiedName])*)? + // "{" members+=MemberDefinition* "}"; @Override public ParserRule getRule() { return rule; } - //isError?='error'? symbol=ModelSymbol ('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? ':-' ('false' | - //bodies+=PatternBody ('|' bodies+=PatternBody)*) '.' + //abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," + //superclasses+=[NamedElement|QualifiedName])*)? "{" members+=MemberDefinition* "}" public Group getGroup() { return cGroup; } - //isError?='error'? - public Assignment getIsErrorAssignment_0() { return cIsErrorAssignment_0; } + //abstract?="abstract"? + public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; } - //'error' - public Keyword getIsErrorErrorKeyword_0_0() { return cIsErrorErrorKeyword_0_0; } + //"abstract" + public Keyword getAbstractAbstractKeyword_0_0() { return cAbstractAbstractKeyword_0_0; } - //symbol=ModelSymbol - public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; } + //"class" + public Keyword getClassKeyword_1() { return cClassKeyword_1; } - //ModelSymbol - public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; } + //name=ID + public Assignment getNameAssignment_2() { return cNameAssignment_2; } - //('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? - public Group getGroup_2() { return cGroup_2; } + //ID + public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } + + //("extends" superclasses+=[NamedElement|QualifiedName] ("," superclasses+=[NamedElement|QualifiedName])*)? + public Group getGroup_3() { return cGroup_3; } + + //"extends" + public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; } - //'(' - public Keyword getLeftParenthesisKeyword_2_0() { return cLeftParenthesisKeyword_2_0; } + //superclasses+=[NamedElement|QualifiedName] + public Assignment getSuperclassesAssignment_3_1() { return cSuperclassesAssignment_3_1; } - //(parameters+=Parameter (',' parameters+=Parameter)*)? - public Group getGroup_2_1() { return cGroup_2_1; } + //[NamedElement|QualifiedName] + public CrossReference getSuperclassesNamedElementCrossReference_3_1_0() { return cSuperclassesNamedElementCrossReference_3_1_0; } + + //QualifiedName + public RuleCall getSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1() { return cSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1; } + + //("," superclasses+=[NamedElement|QualifiedName])* + public Group getGroup_3_2() { return cGroup_3_2; } + + //"," + public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; } + + //superclasses+=[NamedElement|QualifiedName] + public Assignment getSuperclassesAssignment_3_2_1() { return cSuperclassesAssignment_3_2_1; } + + //[NamedElement|QualifiedName] + public CrossReference getSuperclassesNamedElementCrossReference_3_2_1_0() { return cSuperclassesNamedElementCrossReference_3_2_1_0; } + + //QualifiedName + public RuleCall getSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1() { return cSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; } + + //members+=MemberDefinition* + public Assignment getMembersAssignment_5() { return cMembersAssignment_5; } + + //MemberDefinition + public RuleCall getMembersMemberDefinitionParserRuleCall_5_0() { return cMembersMemberDefinitionParserRuleCall_5_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + } + public class MemberDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cContainmentAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final Keyword cContainmentContainsKeyword_0_0 = (Keyword)cContainmentAssignment_0.eContents().get(0); + private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0); + private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1); + private final Assignment cMultiplicityAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cMultiplicityMultiplicityParserRuleCall_2_0 = (RuleCall)cMultiplicityAssignment_2.eContents().get(0); + private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cNameIDTerminalRuleCall_3_0 = (RuleCall)cNameAssignment_3.eContents().get(0); + private final Group cGroup_4 = (Group)cGroup.eContents().get(4); + private final Keyword cOppositeKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final Assignment cOppositeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); + private final CrossReference cOppositeNamedElementCrossReference_4_1_0 = (CrossReference)cOppositeAssignment_4_1.eContents().get(0); + private final RuleCall cOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1 = (RuleCall)cOppositeNamedElementCrossReference_4_1_0.eContents().get(1); + private final Keyword cSemicolonKeyword_5 = (Keyword)cGroup.eContents().get(5); + + //MemberDefinition: + // containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite" + // opposite=[NamedElement|QualifiedName])? ";"?; + @Override public ParserRule getRule() { return rule; } + + //containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite" + //opposite=[NamedElement|QualifiedName])? ";"? + public Group getGroup() { return cGroup; } + + //containment?="contains"? + public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; } + + //"contains" + public Keyword getContainmentContainsKeyword_0_0() { return cContainmentContainsKeyword_0_0; } + + //type=[NamedElement|QualifiedName] + public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } + + //[NamedElement|QualifiedName] + public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; } + + //QualifiedName + public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; } + + //multiplicity=Multiplicity? + public Assignment getMultiplicityAssignment_2() { return cMultiplicityAssignment_2; } + + //Multiplicity + public RuleCall getMultiplicityMultiplicityParserRuleCall_2_0() { return cMultiplicityMultiplicityParserRuleCall_2_0; } - //parameters+=Parameter - public Assignment getParametersAssignment_2_1_0() { return cParametersAssignment_2_1_0; } + //name=ID + public Assignment getNameAssignment_3() { return cNameAssignment_3; } + + //ID + public RuleCall getNameIDTerminalRuleCall_3_0() { return cNameIDTerminalRuleCall_3_0; } + + //("opposite" opposite=[NamedElement|QualifiedName])? + public Group getGroup_4() { return cGroup_4; } + + //"opposite" + public Keyword getOppositeKeyword_4_0() { return cOppositeKeyword_4_0; } + + //opposite=[NamedElement|QualifiedName] + public Assignment getOppositeAssignment_4_1() { return cOppositeAssignment_4_1; } + + //[NamedElement|QualifiedName] + public CrossReference getOppositeNamedElementCrossReference_4_1_0() { return cOppositeNamedElementCrossReference_4_1_0; } + + //QualifiedName + public RuleCall getOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1() { return cOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1; } + + //";"? + public Keyword getSemicolonKeyword_5() { return cSemicolonKeyword_5; } + } + public class MultiplicityElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cManyMultiplicityParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cExactMultiplicityParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cBoundedMultiplicityParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + + //Multiplicity: + // ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity; + @Override public ParserRule getRule() { return rule; } + + //ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity + public Alternatives getAlternatives() { return cAlternatives; } + + //ManyMultiplicity + public RuleCall getManyMultiplicityParserRuleCall_0() { return cManyMultiplicityParserRuleCall_0; } + + //ExactMultiplicity + public RuleCall getExactMultiplicityParserRuleCall_1() { return cExactMultiplicityParserRuleCall_1; } + + //BoundedMultiplicity + public RuleCall getBoundedMultiplicityParserRuleCall_2() { return cBoundedMultiplicityParserRuleCall_2; } + } + public class ManyMultiplicityElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ManyMultiplicity"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cManyMultiplicityAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cLeftSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + + //ManyMultiplicity: + // {ManyMultiplicity} "[" "]"; + @Override public ParserRule getRule() { return rule; } + + //{ManyMultiplicity} "[" "]" + public Group getGroup() { return cGroup; } + + //{ManyMultiplicity} + public Action getManyMultiplicityAction_0() { return cManyMultiplicityAction_0; } + + //"[" + public Keyword getLeftSquareBracketKeyword_1() { return cLeftSquareBracketKeyword_1; } + + //"]" + public Keyword getRightSquareBracketKeyword_2() { return cRightSquareBracketKeyword_2; } + } + public class ExactMultiplicityElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExactMultiplicity"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cMultiplicityAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cMultiplicityUpperMultiplictyParserRuleCall_1_0 = (RuleCall)cMultiplicityAssignment_1.eContents().get(0); + private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + + //ExactMultiplicity: + // "[" multiplicity=UpperMultiplicty "]"; + @Override public ParserRule getRule() { return rule; } + + //"[" multiplicity=UpperMultiplicty "]" + public Group getGroup() { return cGroup; } + + //"[" + public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; } + + //multiplicity=UpperMultiplicty + public Assignment getMultiplicityAssignment_1() { return cMultiplicityAssignment_1; } + + //UpperMultiplicty + public RuleCall getMultiplicityUpperMultiplictyParserRuleCall_1_0() { return cMultiplicityUpperMultiplictyParserRuleCall_1_0; } + + //"]" + public Keyword getRightSquareBracketKeyword_2() { return cRightSquareBracketKeyword_2; } + } + public class BoundedMultiplicityElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BoundedMultiplicity"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cLowerBoundAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cLowerBoundINTTerminalRuleCall_1_0 = (RuleCall)cLowerBoundAssignment_1.eContents().get(0); + private final Keyword cFullStopFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cUpperBoundAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cUpperBoundUpperMultiplictyParserRuleCall_3_0 = (RuleCall)cUpperBoundAssignment_3.eContents().get(0); + private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //BoundedMultiplicity: + // "[" lowerBound=INT ".." upperBound=UpperMultiplicty "]"; + @Override public ParserRule getRule() { return rule; } + + //"[" lowerBound=INT ".." upperBound=UpperMultiplicty "]" + public Group getGroup() { return cGroup; } + + //"[" + public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; } + + //lowerBound=INT + public Assignment getLowerBoundAssignment_1() { return cLowerBoundAssignment_1; } + + //INT + public RuleCall getLowerBoundINTTerminalRuleCall_1_0() { return cLowerBoundINTTerminalRuleCall_1_0; } + + //".." + public Keyword getFullStopFullStopKeyword_2() { return cFullStopFullStopKeyword_2; } + + //upperBound=UpperMultiplicty + public Assignment getUpperBoundAssignment_3() { return cUpperBoundAssignment_3; } + + //UpperMultiplicty + public RuleCall getUpperBoundUpperMultiplictyParserRuleCall_3_0() { return cUpperBoundUpperMultiplictyParserRuleCall_3_0; } + + //"]" + public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; } + } + public class ScopeDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ScopeDefinition"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cExactScopeDefinitionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cBoundedScopeDefinitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cLowerBoundedScopeDefinitionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + + //ScopeDefinition: + // ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition; + @Override public ParserRule getRule() { return rule; } + + //ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition + public Alternatives getAlternatives() { return cAlternatives; } + + //ExactScopeDefinition + public RuleCall getExactScopeDefinitionParserRuleCall_0() { return cExactScopeDefinitionParserRuleCall_0; } + + //BoundedScopeDefinition + public RuleCall getBoundedScopeDefinitionParserRuleCall_1() { return cBoundedScopeDefinitionParserRuleCall_1; } + + //LowerBoundedScopeDefinition + public RuleCall getLowerBoundedScopeDefinitionParserRuleCall_2() { return cLowerBoundedScopeDefinitionParserRuleCall_2; } + } + public class ExactScopeDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExactScopeDefinition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0); + private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1); + private final Keyword cEqualsSignEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cExactScopeAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cExactScopeINTTerminalRuleCall_3_0 = (RuleCall)cExactScopeAssignment_3.eContents().get(0); + + //ExactScopeDefinition: + // "scope" type=[NamedElement|QualifiedName] "==" exactScope=INT; + @Override public ParserRule getRule() { return rule; } + + //"scope" type=[NamedElement|QualifiedName] "==" exactScope=INT + public Group getGroup() { return cGroup; } + + //"scope" + public Keyword getScopeKeyword_0() { return cScopeKeyword_0; } + + //type=[NamedElement|QualifiedName] + public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } + + //[NamedElement|QualifiedName] + public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; } + + //QualifiedName + public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; } + + //"==" + public Keyword getEqualsSignEqualsSignKeyword_2() { return cEqualsSignEqualsSignKeyword_2; } + + //exactScope=INT + public Assignment getExactScopeAssignment_3() { return cExactScopeAssignment_3; } + + //INT + public RuleCall getExactScopeINTTerminalRuleCall_3_0() { return cExactScopeINTTerminalRuleCall_3_0; } + } + public class BoundedScopeDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BoundedScopeDefinition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); + private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); + private final Group cGroup_1_0_0 = (Group)cGroup_1_0.eContents().get(0); + private final Assignment cLowerBoundAssignment_1_0_0_0 = (Assignment)cGroup_1_0_0.eContents().get(0); + private final RuleCall cLowerBoundINTTerminalRuleCall_1_0_0_0_0 = (RuleCall)cLowerBoundAssignment_1_0_0_0.eContents().get(0); + private final Keyword cLessThanSignEqualsSignKeyword_1_0_0_1 = (Keyword)cGroup_1_0_0.eContents().get(1); + private final Assignment cTypeAssignment_1_0_1 = (Assignment)cGroup_1_0.eContents().get(1); + private final CrossReference cTypeNamedElementCrossReference_1_0_1_0 = (CrossReference)cTypeAssignment_1_0_1.eContents().get(0); + private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0_1_0.eContents().get(1); + private final Keyword cLessThanSignEqualsSignKeyword_1_0_2 = (Keyword)cGroup_1_0.eContents().get(2); + private final Assignment cUpperBoundAssignment_1_0_3 = (Assignment)cGroup_1_0.eContents().get(3); + private final RuleCall cUpperBoundINTTerminalRuleCall_1_0_3_0 = (RuleCall)cUpperBoundAssignment_1_0_3.eContents().get(0); + private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); + private final Assignment cUpperBoundAssignment_1_1_0 = (Assignment)cGroup_1_1.eContents().get(0); + private final RuleCall cUpperBoundINTTerminalRuleCall_1_1_0_0 = (RuleCall)cUpperBoundAssignment_1_1_0.eContents().get(0); + private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); + private final Assignment cTypeAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); + private final CrossReference cTypeNamedElementCrossReference_1_1_2_0 = (CrossReference)cTypeAssignment_1_1_2.eContents().get(0); + private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_1_2_0.eContents().get(1); + private final Group cGroup_1_1_3 = (Group)cGroup_1_1.eContents().get(3); + private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_3_0 = (Keyword)cGroup_1_1_3.eContents().get(0); + private final Assignment cLowerBoundAssignment_1_1_3_1 = (Assignment)cGroup_1_1_3.eContents().get(1); + private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_3_1_0 = (RuleCall)cLowerBoundAssignment_1_1_3_1.eContents().get(0); + private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); + + //BoundedScopeDefinition: + // "scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" + // type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?) "."; + @Override public ParserRule getRule() { return rule; } + + //"scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" + //type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?) "." + public Group getGroup() { return cGroup; } + + //"scope" + public Keyword getScopeKeyword_0() { return cScopeKeyword_0; } + + //((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" + //type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?) + public Alternatives getAlternatives_1() { return cAlternatives_1; } + + //(lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT + public Group getGroup_1_0() { return cGroup_1_0; } + + //(lowerBound=INT "<=")? + public Group getGroup_1_0_0() { return cGroup_1_0_0; } + + //lowerBound=INT + public Assignment getLowerBoundAssignment_1_0_0_0() { return cLowerBoundAssignment_1_0_0_0; } + + //INT + public RuleCall getLowerBoundINTTerminalRuleCall_1_0_0_0_0() { return cLowerBoundINTTerminalRuleCall_1_0_0_0_0; } + + //"<=" + public Keyword getLessThanSignEqualsSignKeyword_1_0_0_1() { return cLessThanSignEqualsSignKeyword_1_0_0_1; } + + //type=[NamedElement|QualifiedName] + public Assignment getTypeAssignment_1_0_1() { return cTypeAssignment_1_0_1; } + + //[NamedElement|QualifiedName] + public CrossReference getTypeNamedElementCrossReference_1_0_1_0() { return cTypeNamedElementCrossReference_1_0_1_0; } + + //QualifiedName + public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1; } + + //"<=" + public Keyword getLessThanSignEqualsSignKeyword_1_0_2() { return cLessThanSignEqualsSignKeyword_1_0_2; } + + //upperBound=INT + public Assignment getUpperBoundAssignment_1_0_3() { return cUpperBoundAssignment_1_0_3; } + + //INT + public RuleCall getUpperBoundINTTerminalRuleCall_1_0_3_0() { return cUpperBoundINTTerminalRuleCall_1_0_3_0; } + + //upperBound=INT ">=" type=[NamedElement|QualifiedName] (">=" lowerBound=INT)? + public Group getGroup_1_1() { return cGroup_1_1; } + + //upperBound=INT + public Assignment getUpperBoundAssignment_1_1_0() { return cUpperBoundAssignment_1_1_0; } + + //INT + public RuleCall getUpperBoundINTTerminalRuleCall_1_1_0_0() { return cUpperBoundINTTerminalRuleCall_1_1_0_0; } + + //">=" + public Keyword getGreaterThanSignEqualsSignKeyword_1_1_1() { return cGreaterThanSignEqualsSignKeyword_1_1_1; } + + //type=[NamedElement|QualifiedName] + public Assignment getTypeAssignment_1_1_2() { return cTypeAssignment_1_1_2; } + + //[NamedElement|QualifiedName] + public CrossReference getTypeNamedElementCrossReference_1_1_2_0() { return cTypeNamedElementCrossReference_1_1_2_0; } + + //QualifiedName + public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1; } + + //(">=" lowerBound=INT)? + public Group getGroup_1_1_3() { return cGroup_1_1_3; } + + //">=" + public Keyword getGreaterThanSignEqualsSignKeyword_1_1_3_0() { return cGreaterThanSignEqualsSignKeyword_1_1_3_0; } + + //lowerBound=INT + public Assignment getLowerBoundAssignment_1_1_3_1() { return cLowerBoundAssignment_1_1_3_1; } + + //INT + public RuleCall getLowerBoundINTTerminalRuleCall_1_1_3_1_0() { return cLowerBoundINTTerminalRuleCall_1_1_3_1_0; } + + //"." + public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; } + } + public class LowerBoundedScopeDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LowerBoundedScopeDefinition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); + private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); + private final Assignment cLowerBoundAssignment_1_0_0 = (Assignment)cGroup_1_0.eContents().get(0); + private final RuleCall cLowerBoundINTTerminalRuleCall_1_0_0_0 = (RuleCall)cLowerBoundAssignment_1_0_0.eContents().get(0); + private final Keyword cLessThanSignEqualsSignKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1); + private final Assignment cTypeAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); + private final CrossReference cTypeNamedElementCrossReference_1_0_2_0 = (CrossReference)cTypeAssignment_1_0_2.eContents().get(0); + private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0_2_0.eContents().get(1); + private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); + private final Assignment cTypeAssignment_1_1_0 = (Assignment)cGroup_1_1.eContents().get(0); + private final CrossReference cTypeNamedElementCrossReference_1_1_0_0 = (CrossReference)cTypeAssignment_1_1_0.eContents().get(0); + private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_1_0_0.eContents().get(1); + private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); + private final Assignment cLowerBoundAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); + private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_2_0 = (RuleCall)cLowerBoundAssignment_1_1_2.eContents().get(0); + private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); + + //LowerBoundedScopeDefinition: + // "scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" + // lowerBound=INT) "."; + @Override public ParserRule getRule() { return rule; } + + //"scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" lowerBound=INT) + //"." + public Group getGroup() { return cGroup; } - //Parameter - public RuleCall getParametersParameterParserRuleCall_2_1_0_0() { return cParametersParameterParserRuleCall_2_1_0_0; } + //"scope" + public Keyword getScopeKeyword_0() { return cScopeKeyword_0; } - //(',' parameters+=Parameter)* - public Group getGroup_2_1_1() { return cGroup_2_1_1; } + //(lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" lowerBound=INT) + public Alternatives getAlternatives_1() { return cAlternatives_1; } - //',' - public Keyword getCommaKeyword_2_1_1_0() { return cCommaKeyword_2_1_1_0; } + //lowerBound=INT "<=" type=[NamedElement|QualifiedName] + public Group getGroup_1_0() { return cGroup_1_0; } - //parameters+=Parameter - public Assignment getParametersAssignment_2_1_1_1() { return cParametersAssignment_2_1_1_1; } + //lowerBound=INT + public Assignment getLowerBoundAssignment_1_0_0() { return cLowerBoundAssignment_1_0_0; } - //Parameter - public RuleCall getParametersParameterParserRuleCall_2_1_1_1_0() { return cParametersParameterParserRuleCall_2_1_1_1_0; } + //INT + public RuleCall getLowerBoundINTTerminalRuleCall_1_0_0_0() { return cLowerBoundINTTerminalRuleCall_1_0_0_0; } - //')' - public Keyword getRightParenthesisKeyword_2_2() { return cRightParenthesisKeyword_2_2; } + //"<=" + public Keyword getLessThanSignEqualsSignKeyword_1_0_1() { return cLessThanSignEqualsSignKeyword_1_0_1; } - //':-' - public Keyword getColonHyphenMinusKeyword_3() { return cColonHyphenMinusKeyword_3; } + //type=[NamedElement|QualifiedName] + public Assignment getTypeAssignment_1_0_2() { return cTypeAssignment_1_0_2; } - //'false' | bodies+=PatternBody ('|' bodies+=PatternBody)* - public Alternatives getAlternatives_4() { return cAlternatives_4; } + //[NamedElement|QualifiedName] + public CrossReference getTypeNamedElementCrossReference_1_0_2_0() { return cTypeNamedElementCrossReference_1_0_2_0; } - //'false' - public Keyword getFalseKeyword_4_0() { return cFalseKeyword_4_0; } + //QualifiedName + public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1; } - //bodies+=PatternBody ('|' bodies+=PatternBody)* - public Group getGroup_4_1() { return cGroup_4_1; } + //type=[NamedElement|QualifiedName] ">=" lowerBound=INT + public Group getGroup_1_1() { return cGroup_1_1; } - //bodies+=PatternBody - public Assignment getBodiesAssignment_4_1_0() { return cBodiesAssignment_4_1_0; } + //type=[NamedElement|QualifiedName] + public Assignment getTypeAssignment_1_1_0() { return cTypeAssignment_1_1_0; } - //PatternBody - public RuleCall getBodiesPatternBodyParserRuleCall_4_1_0_0() { return cBodiesPatternBodyParserRuleCall_4_1_0_0; } + //[NamedElement|QualifiedName] + public CrossReference getTypeNamedElementCrossReference_1_1_0_0() { return cTypeNamedElementCrossReference_1_1_0_0; } - //('|' bodies+=PatternBody)* - public Group getGroup_4_1_1() { return cGroup_4_1_1; } + //QualifiedName + public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1; } - //'|' - public Keyword getVerticalLineKeyword_4_1_1_0() { return cVerticalLineKeyword_4_1_1_0; } + //">=" + public Keyword getGreaterThanSignEqualsSignKeyword_1_1_1() { return cGreaterThanSignEqualsSignKeyword_1_1_1; } - //bodies+=PatternBody - public Assignment getBodiesAssignment_4_1_1_1() { return cBodiesAssignment_4_1_1_1; } + //lowerBound=INT + public Assignment getLowerBoundAssignment_1_1_2() { return cLowerBoundAssignment_1_1_2; } - //PatternBody - public RuleCall getBodiesPatternBodyParserRuleCall_4_1_1_1_0() { return cBodiesPatternBodyParserRuleCall_4_1_1_1_0; } + //INT + public RuleCall getLowerBoundINTTerminalRuleCall_1_1_2_0() { return cLowerBoundINTTerminalRuleCall_1_1_2_0; } - //'.' - public Keyword getFullStopKeyword_5() { return cFullStopKeyword_5; } + //"." + public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; } } - public class ParameterElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); + public class ObjectiveDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveDefinition"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cVariableAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final RuleCall cVariableVariableParserRuleCall_0_0 = (RuleCall)cVariableAssignment_0.eContents().get(0); - private final Group cGroup_1 = (Group)cGroup.eContents().get(1); - private final Keyword cColonKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); - private final Assignment cTypeAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); - private final RuleCall cTypeSymbolParserRuleCall_1_1_0 = (RuleCall)cTypeAssignment_1_1.eContents().get(0); + private final Assignment cKindAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cKindObjectiveKindEnumRuleCall_0_0 = (RuleCall)cKindAssignment_0.eContents().get(0); + private final Assignment cObjectiveAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cObjectiveExpressionParserRuleCall_1_0 = (RuleCall)cObjectiveAssignment_1.eContents().get(0); - //Parameter: - // variable=Variable (':' type=Symbol)?; + //ObjectiveDefinition: + // kind=ObjectiveKind objective=Expression; @Override public ParserRule getRule() { return rule; } - //variable=Variable (':' type=Symbol)? + //kind=ObjectiveKind objective=Expression public Group getGroup() { return cGroup; } - //variable=Variable - public Assignment getVariableAssignment_0() { return cVariableAssignment_0; } + //kind=ObjectiveKind + public Assignment getKindAssignment_0() { return cKindAssignment_0; } - //Variable - public RuleCall getVariableVariableParserRuleCall_0_0() { return cVariableVariableParserRuleCall_0_0; } + //ObjectiveKind + public RuleCall getKindObjectiveKindEnumRuleCall_0_0() { return cKindObjectiveKindEnumRuleCall_0_0; } - //(':' type=Symbol)? - public Group getGroup_1() { return cGroup_1; } + //objective=Expression + public Assignment getObjectiveAssignment_1() { return cObjectiveAssignment_1; } + + //Expression + public RuleCall getObjectiveExpressionParserRuleCall_1_0() { return cObjectiveExpressionParserRuleCall_1_0; } + } + public class UpperMultiplictyElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final Keyword cAsteriskKeyword_1 = (Keyword)cAlternatives.eContents().get(1); + + //UpperMultiplicty ecore::EInt: + // INT | "*"; + @Override public ParserRule getRule() { return rule; } - //':' - public Keyword getColonKeyword_1_0() { return cColonKeyword_1_0; } + //INT | "*" + public Alternatives getAlternatives() { return cAlternatives; } - //type=Symbol - public Assignment getTypeAssignment_1_1() { return cTypeAssignment_1_1; } + //INT + public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; } - //Symbol - public RuleCall getTypeSymbolParserRuleCall_1_1_0() { return cTypeSymbolParserRuleCall_1_1_0; } + //"*" + public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; } } - public class PatternBodyElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); + public class RealElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Real"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Action cPatternBodyAction_0 = (Action)cGroup.eContents().get(0); - private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); - private final Keyword cTrueKeyword_1_0 = (Keyword)cAlternatives_1.eContents().get(0); - private final Assignment cConstraintsAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1); - private final RuleCall cConstraintsConstraintParserRuleCall_1_1_0 = (RuleCall)cConstraintsAssignment_1_1.eContents().get(0); + private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final RuleCall cINTTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1); - //PatternBody: - // {PatternBody} ('true' | constraints+=Constraint*); + //Real ecore::EBigDecimal hidden(): + // INT ("." INT)?; @Override public ParserRule getRule() { return rule; } - //{PatternBody} ('true' | constraints+=Constraint*) + //INT ("." INT)? public Group getGroup() { return cGroup; } - //{PatternBody} - public Action getPatternBodyAction_0() { return cPatternBodyAction_0; } - - //'true' | constraints+=Constraint* - public Alternatives getAlternatives_1() { return cAlternatives_1; } + //INT + public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; } - //'true' - public Keyword getTrueKeyword_1_0() { return cTrueKeyword_1_0; } + //("." INT)? + public Group getGroup_1() { return cGroup_1; } - //constraints+=Constraint* - public Assignment getConstraintsAssignment_1_1() { return cConstraintsAssignment_1_1; } + //"." + public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; } - //Constraint - public RuleCall getConstraintsConstraintParserRuleCall_1_1_0() { return cConstraintsConstraintParserRuleCall_1_1_0; } + //INT + public RuleCall getINTTerminalRuleCall_1_1() { return cINTTerminalRuleCall_1_1; } } - public class PolarityElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Polarity"); + public class QualifiedNameElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); - private final Action cPositiveAction_0_0 = (Action)cGroup_0.eContents().get(0); - private final Keyword cPlusSignKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); - private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); - private final Action cNegativeAction_1_0 = (Action)cGroup_1.eContents().get(0); - private final Keyword cHyphenMinusKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); - - //Polarity: - // {Positive} '+' | {Negative} '-'; + private final RuleCall cIDTerminalRuleCall_0_0 = (RuleCall)cGroup_0.eContents().get(0); + private final Group cGroup_0_1 = (Group)cGroup_0.eContents().get(1); + private final Keyword cFullStopKeyword_0_1_0 = (Keyword)cGroup_0_1.eContents().get(0); + private final RuleCall cIDTerminalRuleCall_0_1_1 = (RuleCall)cGroup_0_1.eContents().get(1); + private final RuleCall cQUOTED_IDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //QualifiedName hidden(): + // ID ("." ID)* | QUOTED_ID; @Override public ParserRule getRule() { return rule; } - //{Positive} '+' | {Negative} '-' + //ID ("." ID)* | QUOTED_ID public Alternatives getAlternatives() { return cAlternatives; } - //{Positive} '+' + //ID ("." ID)* public Group getGroup_0() { return cGroup_0; } - //{Positive} - public Action getPositiveAction_0_0() { return cPositiveAction_0_0; } + //ID + public RuleCall getIDTerminalRuleCall_0_0() { return cIDTerminalRuleCall_0_0; } - //'+' - public Keyword getPlusSignKeyword_0_1() { return cPlusSignKeyword_0_1; } + //("." ID)* + public Group getGroup_0_1() { return cGroup_0_1; } - //{Negative} '-' - public Group getGroup_1() { return cGroup_1; } + //"." + public Keyword getFullStopKeyword_0_1_0() { return cFullStopKeyword_0_1_0; } - //{Negative} - public Action getNegativeAction_1_0() { return cNegativeAction_1_0; } + //ID + public RuleCall getIDTerminalRuleCall_0_1_1() { return cIDTerminalRuleCall_0_1_1; } - //'-' - public Keyword getHyphenMinusKeyword_1_1() { return cHyphenMinusKeyword_1_1; } + //QUOTED_ID + public RuleCall getQUOTED_IDTerminalRuleCall_1() { return cQUOTED_IDTerminalRuleCall_1; } } - public class ConstraintElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Constraint"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); - private final Assignment cPolarityAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0); - private final RuleCall cPolarityPolarityParserRuleCall_0_0_0 = (RuleCall)cPolarityAssignment_0_0.eContents().get(0); - private final Assignment cSymbolAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); - private final RuleCall cSymbolModelSymbolParserRuleCall_0_1_0 = (RuleCall)cSymbolAssignment_0_1.eContents().get(0); - private final Group cGroup_0_2 = (Group)cGroup_0.eContents().get(2); - private final Keyword cLeftParenthesisKeyword_0_2_0 = (Keyword)cGroup_0_2.eContents().get(0); - private final Assignment cParamsAssignment_0_2_1 = (Assignment)cGroup_0_2.eContents().get(1); - private final RuleCall cParamsLiteralParserRuleCall_0_2_1_0 = (RuleCall)cParamsAssignment_0_2_1.eContents().get(0); - private final Group cGroup_0_2_2 = (Group)cGroup_0_2.eContents().get(2); - private final Keyword cCommaKeyword_0_2_2_0 = (Keyword)cGroup_0_2_2.eContents().get(0); - private final Assignment cParamsAssignment_0_2_2_1 = (Assignment)cGroup_0_2_2.eContents().get(1); - private final RuleCall cParamsLiteralParserRuleCall_0_2_2_1_0 = (RuleCall)cParamsAssignment_0_2_2_1.eContents().get(0); - private final Keyword cRightParenthesisKeyword_0_2_3 = (Keyword)cGroup_0_2.eContents().get(3); - private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); - private final Assignment cClosureTypeAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0); - private final RuleCall cClosureTypeClosureTypeParserRuleCall_1_0_0 = (RuleCall)cClosureTypeAssignment_1_0.eContents().get(0); - private final Keyword cLeftParenthesisKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); - private final Assignment cParamsAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); - private final RuleCall cParamsLiteralParserRuleCall_1_2_0 = (RuleCall)cParamsAssignment_1_2.eContents().get(0); - private final Group cGroup_1_3 = (Group)cGroup_1.eContents().get(3); - private final Keyword cCommaKeyword_1_3_0 = (Keyword)cGroup_1_3.eContents().get(0); - private final Assignment cParamsAssignment_1_3_1 = (Assignment)cGroup_1_3.eContents().get(1); - private final RuleCall cParamsLiteralParserRuleCall_1_3_1_0 = (RuleCall)cParamsAssignment_1_3_1.eContents().get(0); - private final Keyword cRightParenthesisKeyword_1_4 = (Keyword)cGroup_1.eContents().get(4); - - //Constraint: - // polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? | closureType=ClosureType - // '(' params+=Literal? (',' params+=Literal)* ')'; - @Override public ParserRule getRule() { return rule; } - - //polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? | closureType=ClosureType '(' - //params+=Literal? (',' params+=Literal)* ')' - public Alternatives getAlternatives() { return cAlternatives; } + public class NamedElementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NamedElement"); + private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cNameQualifiedNameParserRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0); - //polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? - public Group getGroup_0() { return cGroup_0; } + //NamedElement: + // name=QualifiedName; + @Override public ParserRule getRule() { return rule; } - //polarity=Polarity? - public Assignment getPolarityAssignment_0_0() { return cPolarityAssignment_0_0; } + //name=QualifiedName + public Assignment getNameAssignment() { return cNameAssignment; } - //Polarity - public RuleCall getPolarityPolarityParserRuleCall_0_0_0() { return cPolarityPolarityParserRuleCall_0_0_0; } + //QualifiedName + public RuleCall getNameQualifiedNameParserRuleCall_0() { return cNameQualifiedNameParserRuleCall_0; } + } + + public class MetricTypeElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final EnumLiteralDeclaration cINTEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cINTIntKeyword_0_0 = (Keyword)cINTEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cREALEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cREALRealKeyword_1_0 = (Keyword)cREALEnumLiteralDeclaration_1.eContents().get(0); - //symbol=ModelSymbol - public Assignment getSymbolAssignment_0_1() { return cSymbolAssignment_0_1; } + //enum MetricType: + // INT="int" | REAL="real"; + public EnumRule getRule() { return rule; } - //ModelSymbol - public RuleCall getSymbolModelSymbolParserRuleCall_0_1_0() { return cSymbolModelSymbolParserRuleCall_0_1_0; } + //INT="int" | REAL="real" + public Alternatives getAlternatives() { return cAlternatives; } - //('(' params+=Literal? (',' params+=Literal)* ')')? - public Group getGroup_0_2() { return cGroup_0_2; } + //INT="int" + public EnumLiteralDeclaration getINTEnumLiteralDeclaration_0() { return cINTEnumLiteralDeclaration_0; } - //'(' - public Keyword getLeftParenthesisKeyword_0_2_0() { return cLeftParenthesisKeyword_0_2_0; } + //"int" + public Keyword getINTIntKeyword_0_0() { return cINTIntKeyword_0_0; } - //params+=Literal? - public Assignment getParamsAssignment_0_2_1() { return cParamsAssignment_0_2_1; } + //REAL="real" + public EnumLiteralDeclaration getREALEnumLiteralDeclaration_1() { return cREALEnumLiteralDeclaration_1; } - //Literal - public RuleCall getParamsLiteralParserRuleCall_0_2_1_0() { return cParamsLiteralParserRuleCall_0_2_1_0; } + //"real" + public Keyword getREALRealKeyword_1_0() { return cREALRealKeyword_1_0; } + } + public class BinaryOperatorElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BinaryOperator"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final EnumLiteralDeclaration cEQEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cEQEQKeyword_0_0 = (Keyword)cEQEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cNOT_EQEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cNOT_EQNOT_EQKeyword_1_0 = (Keyword)cNOT_EQEnumLiteralDeclaration_1.eContents().get(0); + private final EnumLiteralDeclaration cLESSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); + private final Keyword cLESSLESSKeyword_2_0 = (Keyword)cLESSEnumLiteralDeclaration_2.eContents().get(0); + private final EnumLiteralDeclaration cLESS_EQEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); + private final Keyword cLESS_EQLESS_EQKeyword_3_0 = (Keyword)cLESS_EQEnumLiteralDeclaration_3.eContents().get(0); + private final EnumLiteralDeclaration cGREATEREnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); + private final Keyword cGREATERGREATERKeyword_4_0 = (Keyword)cGREATEREnumLiteralDeclaration_4.eContents().get(0); + private final EnumLiteralDeclaration cGREATER_EQEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); + private final Keyword cGREATER_EQGREATER_EQKeyword_5_0 = (Keyword)cGREATER_EQEnumLiteralDeclaration_5.eContents().get(0); + private final EnumLiteralDeclaration cINEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6); + private final Keyword cININKeyword_6_0 = (Keyword)cINEnumLiteralDeclaration_6.eContents().get(0); + private final EnumLiteralDeclaration cADDEnumLiteralDeclaration_7 = (EnumLiteralDeclaration)cAlternatives.eContents().get(7); + private final Keyword cADDADDKeyword_7_0 = (Keyword)cADDEnumLiteralDeclaration_7.eContents().get(0); + private final EnumLiteralDeclaration cSUBEnumLiteralDeclaration_8 = (EnumLiteralDeclaration)cAlternatives.eContents().get(8); + private final Keyword cSUBSUBKeyword_8_0 = (Keyword)cSUBEnumLiteralDeclaration_8.eContents().get(0); + private final EnumLiteralDeclaration cMULEnumLiteralDeclaration_9 = (EnumLiteralDeclaration)cAlternatives.eContents().get(9); + private final Keyword cMULMULKeyword_9_0 = (Keyword)cMULEnumLiteralDeclaration_9.eContents().get(0); + private final EnumLiteralDeclaration cDIVEnumLiteralDeclaration_10 = (EnumLiteralDeclaration)cAlternatives.eContents().get(10); + private final Keyword cDIVDIVKeyword_10_0 = (Keyword)cDIVEnumLiteralDeclaration_10.eContents().get(0); + private final EnumLiteralDeclaration cPOWEnumLiteralDeclaration_11 = (EnumLiteralDeclaration)cAlternatives.eContents().get(11); + private final Keyword cPOWPOWKeyword_11_0 = (Keyword)cPOWEnumLiteralDeclaration_11.eContents().get(0); + + //enum BinaryOperator: + // EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW; + public EnumRule getRule() { return rule; } + + //EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW + public Alternatives getAlternatives() { return cAlternatives; } - //(',' params+=Literal)* - public Group getGroup_0_2_2() { return cGroup_0_2_2; } + //EQ + public EnumLiteralDeclaration getEQEnumLiteralDeclaration_0() { return cEQEnumLiteralDeclaration_0; } - //',' - public Keyword getCommaKeyword_0_2_2_0() { return cCommaKeyword_0_2_2_0; } + //"EQ" + public Keyword getEQEQKeyword_0_0() { return cEQEQKeyword_0_0; } - //params+=Literal - public Assignment getParamsAssignment_0_2_2_1() { return cParamsAssignment_0_2_2_1; } + //NOT_EQ + public EnumLiteralDeclaration getNOT_EQEnumLiteralDeclaration_1() { return cNOT_EQEnumLiteralDeclaration_1; } - //Literal - public RuleCall getParamsLiteralParserRuleCall_0_2_2_1_0() { return cParamsLiteralParserRuleCall_0_2_2_1_0; } + //"NOT_EQ" + public Keyword getNOT_EQNOT_EQKeyword_1_0() { return cNOT_EQNOT_EQKeyword_1_0; } - //')' - public Keyword getRightParenthesisKeyword_0_2_3() { return cRightParenthesisKeyword_0_2_3; } + //LESS + public EnumLiteralDeclaration getLESSEnumLiteralDeclaration_2() { return cLESSEnumLiteralDeclaration_2; } - //closureType=ClosureType '(' params+=Literal? (',' params+=Literal)* ')' - public Group getGroup_1() { return cGroup_1; } + //"LESS" + public Keyword getLESSLESSKeyword_2_0() { return cLESSLESSKeyword_2_0; } - //closureType=ClosureType - public Assignment getClosureTypeAssignment_1_0() { return cClosureTypeAssignment_1_0; } + //LESS_EQ + public EnumLiteralDeclaration getLESS_EQEnumLiteralDeclaration_3() { return cLESS_EQEnumLiteralDeclaration_3; } - //ClosureType - public RuleCall getClosureTypeClosureTypeParserRuleCall_1_0_0() { return cClosureTypeClosureTypeParserRuleCall_1_0_0; } + //"LESS_EQ" + public Keyword getLESS_EQLESS_EQKeyword_3_0() { return cLESS_EQLESS_EQKeyword_3_0; } - //'(' - public Keyword getLeftParenthesisKeyword_1_1() { return cLeftParenthesisKeyword_1_1; } + //GREATER + public EnumLiteralDeclaration getGREATEREnumLiteralDeclaration_4() { return cGREATEREnumLiteralDeclaration_4; } - //params+=Literal? - public Assignment getParamsAssignment_1_2() { return cParamsAssignment_1_2; } + //"GREATER" + public Keyword getGREATERGREATERKeyword_4_0() { return cGREATERGREATERKeyword_4_0; } - //Literal - public RuleCall getParamsLiteralParserRuleCall_1_2_0() { return cParamsLiteralParserRuleCall_1_2_0; } + //GREATER_EQ + public EnumLiteralDeclaration getGREATER_EQEnumLiteralDeclaration_5() { return cGREATER_EQEnumLiteralDeclaration_5; } - //(',' params+=Literal)* - public Group getGroup_1_3() { return cGroup_1_3; } + //"GREATER_EQ" + public Keyword getGREATER_EQGREATER_EQKeyword_5_0() { return cGREATER_EQGREATER_EQKeyword_5_0; } - //',' - public Keyword getCommaKeyword_1_3_0() { return cCommaKeyword_1_3_0; } + //IN + public EnumLiteralDeclaration getINEnumLiteralDeclaration_6() { return cINEnumLiteralDeclaration_6; } - //params+=Literal - public Assignment getParamsAssignment_1_3_1() { return cParamsAssignment_1_3_1; } + //"IN" + public Keyword getININKeyword_6_0() { return cININKeyword_6_0; } - //Literal - public RuleCall getParamsLiteralParserRuleCall_1_3_1_0() { return cParamsLiteralParserRuleCall_1_3_1_0; } + //ADD + public EnumLiteralDeclaration getADDEnumLiteralDeclaration_7() { return cADDEnumLiteralDeclaration_7; } - //')' - public Keyword getRightParenthesisKeyword_1_4() { return cRightParenthesisKeyword_1_4; } - } - public class ClosureTypeElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); - private final Action cReflexiveClosureAction_0_0 = (Action)cGroup_0.eContents().get(0); - private final Keyword cAsteriskKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); - private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); - private final Action cIrreflexiveClosureAction_1_0 = (Action)cGroup_1.eContents().get(0); - private final Keyword cPlusSignKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + //"ADD" + public Keyword getADDADDKeyword_7_0() { return cADDADDKeyword_7_0; } - //ClosureType: - // {ReflexiveClosure} '*' | {IrreflexiveClosure} '+'; - @Override public ParserRule getRule() { return rule; } + //SUB + public EnumLiteralDeclaration getSUBEnumLiteralDeclaration_8() { return cSUBEnumLiteralDeclaration_8; } - //{ReflexiveClosure} '*' | {IrreflexiveClosure} '+' - public Alternatives getAlternatives() { return cAlternatives; } + //"SUB" + public Keyword getSUBSUBKeyword_8_0() { return cSUBSUBKeyword_8_0; } - //{ReflexiveClosure} '*' - public Group getGroup_0() { return cGroup_0; } + //MUL + public EnumLiteralDeclaration getMULEnumLiteralDeclaration_9() { return cMULEnumLiteralDeclaration_9; } - //{ReflexiveClosure} - public Action getReflexiveClosureAction_0_0() { return cReflexiveClosureAction_0_0; } + //"MUL" + public Keyword getMULMULKeyword_9_0() { return cMULMULKeyword_9_0; } - //'*' - public Keyword getAsteriskKeyword_0_1() { return cAsteriskKeyword_0_1; } + //DIV + public EnumLiteralDeclaration getDIVEnumLiteralDeclaration_10() { return cDIVEnumLiteralDeclaration_10; } - //{IrreflexiveClosure} '+' - public Group getGroup_1() { return cGroup_1; } + //"DIV" + public Keyword getDIVDIVKeyword_10_0() { return cDIVDIVKeyword_10_0; } - //{IrreflexiveClosure} - public Action getIrreflexiveClosureAction_1_0() { return cIrreflexiveClosureAction_1_0; } + //POW + public EnumLiteralDeclaration getPOWEnumLiteralDeclaration_11() { return cPOWEnumLiteralDeclaration_11; } - //'+' - public Keyword getPlusSignKeyword_1_1() { return cPlusSignKeyword_1_1; } + //"POW" + public Keyword getPOWPOWKeyword_11_0() { return cPOWPOWKeyword_11_0; } } - public class LiteralElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); + public class ComparisonOperatorElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cVariableParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cDataObjectParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cNamedObjectParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - - //Literal: - // Variable | DataObject | NamedObject; - @Override public ParserRule getRule() { return rule; } - - //Variable | DataObject | NamedObject + private final EnumLiteralDeclaration cEQEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cEQEqualsSignEqualsSignKeyword_0_0 = (Keyword)cEQEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cNOT_EQEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cNOT_EQExclamationMarkEqualsSignKeyword_1_0 = (Keyword)cNOT_EQEnumLiteralDeclaration_1.eContents().get(0); + private final EnumLiteralDeclaration cLESSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); + private final Keyword cLESSLessThanSignKeyword_2_0 = (Keyword)cLESSEnumLiteralDeclaration_2.eContents().get(0); + private final EnumLiteralDeclaration cLESS_EQEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); + private final Keyword cLESS_EQLessThanSignEqualsSignKeyword_3_0 = (Keyword)cLESS_EQEnumLiteralDeclaration_3.eContents().get(0); + private final EnumLiteralDeclaration cGREATEREnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); + private final Keyword cGREATERGreaterThanSignKeyword_4_0 = (Keyword)cGREATEREnumLiteralDeclaration_4.eContents().get(0); + private final EnumLiteralDeclaration cGREATER_EQEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); + private final Keyword cGREATER_EQGreaterThanSignEqualsSignKeyword_5_0 = (Keyword)cGREATER_EQEnumLiteralDeclaration_5.eContents().get(0); + private final EnumLiteralDeclaration cINEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6); + private final Keyword cINInKeyword_6_0 = (Keyword)cINEnumLiteralDeclaration_6.eContents().get(0); + + //enum ComparisonOperator returns BinaryOperator: + // EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in"; + public EnumRule getRule() { return rule; } + + //EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in" public Alternatives getAlternatives() { return cAlternatives; } - //Variable - public RuleCall getVariableParserRuleCall_0() { return cVariableParserRuleCall_0; } - - //DataObject - public RuleCall getDataObjectParserRuleCall_1() { return cDataObjectParserRuleCall_1; } + //EQ="==" + public EnumLiteralDeclaration getEQEnumLiteralDeclaration_0() { return cEQEnumLiteralDeclaration_0; } - //NamedObject - public RuleCall getNamedObjectParserRuleCall_2() { return cNamedObjectParserRuleCall_2; } - } - public class VariableElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); - private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0); - - //Variable: - // name=ID; - @Override public ParserRule getRule() { return rule; } - - //name=ID - public Assignment getNameAssignment() { return cNameAssignment; } - - //ID - public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } - } - public class AllInstancesElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AllInstances"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cColonKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cSymbolSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0); - - ///////////////////// - //// Complex Interpretation grammar - ///////////////////// - //AllInstances: - // ':' symbol=Symbol; - @Override public ParserRule getRule() { return rule; } + //"==" + public Keyword getEQEqualsSignEqualsSignKeyword_0_0() { return cEQEqualsSignEqualsSignKeyword_0_0; } - //':' symbol=Symbol - public Group getGroup() { return cGroup; } + //NOT_EQ="!=" + public EnumLiteralDeclaration getNOT_EQEnumLiteralDeclaration_1() { return cNOT_EQEnumLiteralDeclaration_1; } - //':' - public Keyword getColonKeyword_0() { return cColonKeyword_0; } + //"!=" + public Keyword getNOT_EQExclamationMarkEqualsSignKeyword_1_0() { return cNOT_EQExclamationMarkEqualsSignKeyword_1_0; } - //symbol=Symbol - public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; } + //LESS="<" + public EnumLiteralDeclaration getLESSEnumLiteralDeclaration_2() { return cLESSEnumLiteralDeclaration_2; } - //Symbol - public RuleCall getSymbolSymbolParserRuleCall_1_0() { return cSymbolSymbolParserRuleCall_1_0; } - } - public class AllObjectsElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AllObjects"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Action cAllObjectsAction_0 = (Action)cGroup.eContents().get(0); - private final Keyword cAsteriskKeyword_1 = (Keyword)cGroup.eContents().get(1); + //"<" + public Keyword getLESSLessThanSignKeyword_2_0() { return cLESSLessThanSignKeyword_2_0; } - //AllObjects: - // {AllObjects} '*'; - @Override public ParserRule getRule() { return rule; } + //LESS_EQ="<=" + public EnumLiteralDeclaration getLESS_EQEnumLiteralDeclaration_3() { return cLESS_EQEnumLiteralDeclaration_3; } - //{AllObjects} '*' - public Group getGroup() { return cGroup; } + //"<=" + public Keyword getLESS_EQLessThanSignEqualsSignKeyword_3_0() { return cLESS_EQLessThanSignEqualsSignKeyword_3_0; } - //{AllObjects} - public Action getAllObjectsAction_0() { return cAllObjectsAction_0; } + //GREATER=">" + public EnumLiteralDeclaration getGREATEREnumLiteralDeclaration_4() { return cGREATEREnumLiteralDeclaration_4; } - //'*' - public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; } - } - public class DefaultInterpretationElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DefaultInterpretation"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cDefaultKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cInterpretationAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cInterpretationBasicInterpretationParserRuleCall_1_0 = (RuleCall)cInterpretationAssignment_1.eContents().get(0); - - ///////////////////// - //// Defaul Interpretation grammar - ///////////////////// - //DefaultInterpretation: - // 'default' interpretation=BasicInterpretation; - @Override public ParserRule getRule() { return rule; } + //">" + public Keyword getGREATERGreaterThanSignKeyword_4_0() { return cGREATERGreaterThanSignKeyword_4_0; } - //'default' interpretation=BasicInterpretation - public Group getGroup() { return cGroup; } + //GREATER_EQ=">=" + public EnumLiteralDeclaration getGREATER_EQEnumLiteralDeclaration_5() { return cGREATER_EQEnumLiteralDeclaration_5; } - //'default' - public Keyword getDefaultKeyword_0() { return cDefaultKeyword_0; } + //">=" + public Keyword getGREATER_EQGreaterThanSignEqualsSignKeyword_5_0() { return cGREATER_EQGreaterThanSignEqualsSignKeyword_5_0; } - //interpretation=BasicInterpretation - public Assignment getInterpretationAssignment_1() { return cInterpretationAssignment_1; } + //IN="in" + public EnumLiteralDeclaration getINEnumLiteralDeclaration_6() { return cINEnumLiteralDeclaration_6; } - //BasicInterpretation - public RuleCall getInterpretationBasicInterpretationParserRuleCall_1_0() { return cInterpretationBasicInterpretationParserRuleCall_1_0; } + //"in" + public Keyword getINInKeyword_6_0() { return cINInKeyword_6_0; } } - public class CDInterpretationElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.CDInterpretation"); + public class AdditiveBinaryOperatorElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveBinaryOperator"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cClassInterpretationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cEnumInterpretationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cGlobalRelationInterpretationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - - ///////////////////// - //// Advanced Class-Diagram interpretations - ///////////////////// - //CDInterpretation: - // ClassInterpretation | EnumInterpretation | GlobalRelationInterpretation; - @Override public ParserRule getRule() { return rule; } - - //ClassInterpretation | EnumInterpretation | GlobalRelationInterpretation - public Alternatives getAlternatives() { return cAlternatives; } - - //ClassInterpretation - public RuleCall getClassInterpretationParserRuleCall_0() { return cClassInterpretationParserRuleCall_0; } - - //EnumInterpretation - public RuleCall getEnumInterpretationParserRuleCall_1() { return cEnumInterpretationParserRuleCall_1; } - - //GlobalRelationInterpretation - public RuleCall getGlobalRelationInterpretationParserRuleCall_2() { return cGlobalRelationInterpretationParserRuleCall_2; } - } - public class ClassInterpretationElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClassInterpretation"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cAbstractAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0); - private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Assignment cSymbolAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final RuleCall cSymbolModelSymbolParserRuleCall_2_0 = (RuleCall)cSymbolAssignment_2.eContents().get(0); - private final Group cGroup_3 = (Group)cGroup.eContents().get(3); - private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); - private final Assignment cSupertypesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); - private final RuleCall cSupertypesModelSymbolParserRuleCall_3_1_0 = (RuleCall)cSupertypesAssignment_3_1.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); - private final Assignment cFieltAssignment_5 = (Assignment)cGroup.eContents().get(5); - private final RuleCall cFieltFieldRelationInterpretationParserRuleCall_5_0 = (RuleCall)cFieltAssignment_5.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); + private final EnumLiteralDeclaration cADDEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cADDPlusSignKeyword_0_0 = (Keyword)cADDEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cSUBEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cSUBHyphenMinusKeyword_1_0 = (Keyword)cSUBEnumLiteralDeclaration_1.eContents().get(0); - //ClassInterpretation: - // abstract?='abstract'? 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' - // fielt+=FieldRelationInterpretation* - // '}'; - @Override public ParserRule getRule() { return rule; } + //enum AdditiveBinaryOperator returns BinaryOperator: + // ADD="+" | SUB="-"; + public EnumRule getRule() { return rule; } - //abstract?='abstract'? 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' - //fielt+=FieldRelationInterpretation* '}' - public Group getGroup() { return cGroup; } + //ADD="+" | SUB="-" + public Alternatives getAlternatives() { return cAlternatives; } - //abstract?='abstract'? - public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; } + //ADD="+" + public EnumLiteralDeclaration getADDEnumLiteralDeclaration_0() { return cADDEnumLiteralDeclaration_0; } - //'abstract' - public Keyword getAbstractAbstractKeyword_0_0() { return cAbstractAbstractKeyword_0_0; } + //"+" + public Keyword getADDPlusSignKeyword_0_0() { return cADDPlusSignKeyword_0_0; } - //'class' - public Keyword getClassKeyword_1() { return cClassKeyword_1; } + //SUB="-" + public EnumLiteralDeclaration getSUBEnumLiteralDeclaration_1() { return cSUBEnumLiteralDeclaration_1; } - //symbol=ModelSymbol - public Assignment getSymbolAssignment_2() { return cSymbolAssignment_2; } + //"-" + public Keyword getSUBHyphenMinusKeyword_1_0() { return cSUBHyphenMinusKeyword_1_0; } + } + public class MultiplicativeBinaryOperatorElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeBinaryOperator"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final EnumLiteralDeclaration cMULEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cMULAsteriskKeyword_0_0 = (Keyword)cMULEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cDIVEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cDIVSolidusKeyword_1_0 = (Keyword)cDIVEnumLiteralDeclaration_1.eContents().get(0); - //ModelSymbol - public RuleCall getSymbolModelSymbolParserRuleCall_2_0() { return cSymbolModelSymbolParserRuleCall_2_0; } + //enum MultiplicativeBinaryOperator returns BinaryOperator: + // MUL="*" | DIV="/"; + public EnumRule getRule() { return rule; } - //('extends' supertypes+=ModelSymbol+)? - public Group getGroup_3() { return cGroup_3; } + //MUL="*" | DIV="/" + public Alternatives getAlternatives() { return cAlternatives; } - //'extends' - public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; } + //MUL="*" + public EnumLiteralDeclaration getMULEnumLiteralDeclaration_0() { return cMULEnumLiteralDeclaration_0; } - //supertypes+=ModelSymbol+ - public Assignment getSupertypesAssignment_3_1() { return cSupertypesAssignment_3_1; } + //"*" + public Keyword getMULAsteriskKeyword_0_0() { return cMULAsteriskKeyword_0_0; } - //ModelSymbol - public RuleCall getSupertypesModelSymbolParserRuleCall_3_1_0() { return cSupertypesModelSymbolParserRuleCall_3_1_0; } + //DIV="/" + public EnumLiteralDeclaration getDIVEnumLiteralDeclaration_1() { return cDIVEnumLiteralDeclaration_1; } - //'{' - public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; } + //"/" + public Keyword getDIVSolidusKeyword_1_0() { return cDIVSolidusKeyword_1_0; } + } + public class ExponentialOpElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialOp"); + private final EnumLiteralDeclaration cPOWEnumLiteralDeclaration = (EnumLiteralDeclaration)rule.eContents().get(1); + private final Keyword cPOWCircumflexAccentKeyword_0 = (Keyword)cPOWEnumLiteralDeclaration.eContents().get(0); - //fielt+=FieldRelationInterpretation* - public Assignment getFieltAssignment_5() { return cFieltAssignment_5; } + //enum ExponentialOp returns BinaryOperator: + // POW="^"; + public EnumRule getRule() { return rule; } - //FieldRelationInterpretation - public RuleCall getFieltFieldRelationInterpretationParserRuleCall_5_0() { return cFieltFieldRelationInterpretationParserRuleCall_5_0; } + //POW="^" + public EnumLiteralDeclaration getPOWEnumLiteralDeclaration() { return cPOWEnumLiteralDeclaration; } - //'}' - public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + //"^" + public Keyword getPOWCircumflexAccentKeyword_0() { return cPOWCircumflexAccentKeyword_0; } } - public class EnumInterpretationElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EnumInterpretation"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cEnumKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cObjectsAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cObjectsNamedObjectParserRuleCall_3_0 = (RuleCall)cObjectsAssignment_3.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); - - //EnumInterpretation: - // 'enum' Symbol=ModelSymbol '{' objects+=NamedObject+ '}'; - @Override public ParserRule getRule() { return rule; } - - //'enum' Symbol=ModelSymbol '{' objects+=NamedObject+ '}' - public Group getGroup() { return cGroup; } - - //'enum' - public Keyword getEnumKeyword_0() { return cEnumKeyword_0; } + public class UnaryOpElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final EnumLiteralDeclaration cNEGEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cNEGExclamationMarkKeyword_0_0 = (Keyword)cNEGEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cPLUSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cPLUSPlusSignKeyword_1_0 = (Keyword)cPLUSEnumLiteralDeclaration_1.eContents().get(0); + private final EnumLiteralDeclaration cMINUSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); + private final Keyword cMINUSHyphenMinusKeyword_2_0 = (Keyword)cMINUSEnumLiteralDeclaration_2.eContents().get(0); + private final EnumLiteralDeclaration cMAYEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); + private final Keyword cMAYMayKeyword_3_0 = (Keyword)cMAYEnumLiteralDeclaration_3.eContents().get(0); + private final EnumLiteralDeclaration cMUSTEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); + private final Keyword cMUSTMustKeyword_4_0 = (Keyword)cMUSTEnumLiteralDeclaration_4.eContents().get(0); + private final EnumLiteralDeclaration cCURRENTEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); + private final Keyword cCURRENTCurrentKeyword_5_0 = (Keyword)cCURRENTEnumLiteralDeclaration_5.eContents().get(0); + + //enum UnaryOp: + // NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current"; + public EnumRule getRule() { return rule; } + + //NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current" + public Alternatives getAlternatives() { return cAlternatives; } - //Symbol=ModelSymbol - public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; } + //NEG="!" + public EnumLiteralDeclaration getNEGEnumLiteralDeclaration_0() { return cNEGEnumLiteralDeclaration_0; } - //ModelSymbol - public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; } + //"!" + public Keyword getNEGExclamationMarkKeyword_0_0() { return cNEGExclamationMarkKeyword_0_0; } - //'{' - public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + //PLUS="+" + public EnumLiteralDeclaration getPLUSEnumLiteralDeclaration_1() { return cPLUSEnumLiteralDeclaration_1; } - //objects+=NamedObject+ - public Assignment getObjectsAssignment_3() { return cObjectsAssignment_3; } + //"+" + public Keyword getPLUSPlusSignKeyword_1_0() { return cPLUSPlusSignKeyword_1_0; } - //NamedObject - public RuleCall getObjectsNamedObjectParserRuleCall_3_0() { return cObjectsNamedObjectParserRuleCall_3_0; } + //MINUS="-" + public EnumLiteralDeclaration getMINUSEnumLiteralDeclaration_2() { return cMINUSEnumLiteralDeclaration_2; } - //'}' - public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } - } - public class FieldRelationInterpretationElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.FieldRelationInterpretation"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cContainmentAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final Keyword cContainmentContainmentKeyword_0_0 = (Keyword)cContainmentAssignment_0.eContents().get(0); - private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0); - private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cMultiplicityAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cMultiplicityMultiplicityDefinitionParserRuleCall_3_0 = (RuleCall)cMultiplicityAssignment_3.eContents().get(0); - private final Assignment cTargetAssignment_4 = (Assignment)cGroup.eContents().get(4); - private final RuleCall cTargetSymbolParserRuleCall_4_0 = (RuleCall)cTargetAssignment_4.eContents().get(0); + //"-" + public Keyword getMINUSHyphenMinusKeyword_2_0() { return cMINUSHyphenMinusKeyword_2_0; } - //FieldRelationInterpretation: - // containment?='containment'? symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol; - @Override public ParserRule getRule() { return rule; } + //MAY="may" + public EnumLiteralDeclaration getMAYEnumLiteralDeclaration_3() { return cMAYEnumLiteralDeclaration_3; } - //containment?='containment'? symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol - public Group getGroup() { return cGroup; } + //"may" + public Keyword getMAYMayKeyword_3_0() { return cMAYMayKeyword_3_0; } - //containment?='containment'? - public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; } + //MUST="must" + public EnumLiteralDeclaration getMUSTEnumLiteralDeclaration_4() { return cMUSTEnumLiteralDeclaration_4; } - //'containment' - public Keyword getContainmentContainmentKeyword_0_0() { return cContainmentContainmentKeyword_0_0; } + //"must" + public Keyword getMUSTMustKeyword_4_0() { return cMUSTMustKeyword_4_0; } - //symbol=ModelSymbol - public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; } + //CURRENT="current" + public EnumLiteralDeclaration getCURRENTEnumLiteralDeclaration_5() { return cCURRENTEnumLiteralDeclaration_5; } - //ModelSymbol - public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; } + //"current" + public Keyword getCURRENTCurrentKeyword_5_0() { return cCURRENTCurrentKeyword_5_0; } + } + public class AggregationOpElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final EnumLiteralDeclaration cONLYEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cONLYOnlyKeyword_0_0 = (Keyword)cONLYEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cSUMEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cSUMSumKeyword_1_0 = (Keyword)cSUMEnumLiteralDeclaration_1.eContents().get(0); + private final EnumLiteralDeclaration cPRODEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); + private final Keyword cPRODProdKeyword_2_0 = (Keyword)cPRODEnumLiteralDeclaration_2.eContents().get(0); + private final EnumLiteralDeclaration cAVGEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); + private final Keyword cAVGAvgKeyword_3_0 = (Keyword)cAVGEnumLiteralDeclaration_3.eContents().get(0); + private final EnumLiteralDeclaration cMINEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); + private final Keyword cMINMinKeyword_4_0 = (Keyword)cMINEnumLiteralDeclaration_4.eContents().get(0); + private final EnumLiteralDeclaration cMAXEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); + private final Keyword cMAXMaxKeyword_5_0 = (Keyword)cMAXEnumLiteralDeclaration_5.eContents().get(0); + + //enum AggregationOp: + // ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max"; + public EnumRule getRule() { return rule; } + + //ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max" + public Alternatives getAlternatives() { return cAlternatives; } - //':' - public Keyword getColonKeyword_2() { return cColonKeyword_2; } + //ONLY="only" + public EnumLiteralDeclaration getONLYEnumLiteralDeclaration_0() { return cONLYEnumLiteralDeclaration_0; } - //multiplicity=MultiplicityDefinition? - public Assignment getMultiplicityAssignment_3() { return cMultiplicityAssignment_3; } + //"only" + public Keyword getONLYOnlyKeyword_0_0() { return cONLYOnlyKeyword_0_0; } - //MultiplicityDefinition - public RuleCall getMultiplicityMultiplicityDefinitionParserRuleCall_3_0() { return cMultiplicityMultiplicityDefinitionParserRuleCall_3_0; } + //SUM="sum" + public EnumLiteralDeclaration getSUMEnumLiteralDeclaration_1() { return cSUMEnumLiteralDeclaration_1; } - //target=Symbol - public Assignment getTargetAssignment_4() { return cTargetAssignment_4; } + //"sum" + public Keyword getSUMSumKeyword_1_0() { return cSUMSumKeyword_1_0; } - //Symbol - public RuleCall getTargetSymbolParserRuleCall_4_0() { return cTargetSymbolParserRuleCall_4_0; } - } - public class GlobalRelationInterpretationElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.GlobalRelationInterpretation"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cContainmentAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final Keyword cContainmentContainmentKeyword_0_0 = (Keyword)cContainmentAssignment_0.eContents().get(0); - private final Keyword cRelationKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Assignment cSymbolAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final RuleCall cSymbolModelSymbolParserRuleCall_2_0 = (RuleCall)cSymbolAssignment_2.eContents().get(0); - private final Keyword cColonKeyword_3 = (Keyword)cGroup.eContents().get(3); - private final Assignment cSourceMultiplicityAssignment_4 = (Assignment)cGroup.eContents().get(4); - private final RuleCall cSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0 = (RuleCall)cSourceMultiplicityAssignment_4.eContents().get(0); - private final Assignment cSourceAssignment_5 = (Assignment)cGroup.eContents().get(5); - private final RuleCall cSourceSymbolParserRuleCall_5_0 = (RuleCall)cSourceAssignment_5.eContents().get(0); - private final Assignment cTargetMultiplicityAssignment_6 = (Assignment)cGroup.eContents().get(6); - private final RuleCall cTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0 = (RuleCall)cTargetMultiplicityAssignment_6.eContents().get(0); - private final Assignment cTargetAssignment_7 = (Assignment)cGroup.eContents().get(7); - private final RuleCall cTargetSymbolParserRuleCall_7_0 = (RuleCall)cTargetAssignment_7.eContents().get(0); - - //GlobalRelationInterpretation: - // containment?='containment'? 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? - // source=Symbol targetMultiplicity=MultiplicityDefinition? target=Symbol; - @Override public ParserRule getRule() { return rule; } + //PROD="prod" + public EnumLiteralDeclaration getPRODEnumLiteralDeclaration_2() { return cPRODEnumLiteralDeclaration_2; } - //containment?='containment'? 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? source=Symbol - //targetMultiplicity=MultiplicityDefinition? target=Symbol - public Group getGroup() { return cGroup; } + //"prod" + public Keyword getPRODProdKeyword_2_0() { return cPRODProdKeyword_2_0; } - //containment?='containment'? - public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; } + //AVG="avg" + public EnumLiteralDeclaration getAVGEnumLiteralDeclaration_3() { return cAVGEnumLiteralDeclaration_3; } - //'containment' - public Keyword getContainmentContainmentKeyword_0_0() { return cContainmentContainmentKeyword_0_0; } + //"avg" + public Keyword getAVGAvgKeyword_3_0() { return cAVGAvgKeyword_3_0; } - //'relation' - public Keyword getRelationKeyword_1() { return cRelationKeyword_1; } + //MIN="min" + public EnumLiteralDeclaration getMINEnumLiteralDeclaration_4() { return cMINEnumLiteralDeclaration_4; } - //symbol=ModelSymbol - public Assignment getSymbolAssignment_2() { return cSymbolAssignment_2; } + //"min" + public Keyword getMINMinKeyword_4_0() { return cMINMinKeyword_4_0; } - //ModelSymbol - public RuleCall getSymbolModelSymbolParserRuleCall_2_0() { return cSymbolModelSymbolParserRuleCall_2_0; } + //MAX="max" + public EnumLiteralDeclaration getMAXEnumLiteralDeclaration_5() { return cMAXEnumLiteralDeclaration_5; } - //':' - public Keyword getColonKeyword_3() { return cColonKeyword_3; } + //"max" + public Keyword getMAXMaxKeyword_5_0() { return cMAXMaxKeyword_5_0; } + } + public class LogicValueElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final EnumLiteralDeclaration cTRUEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cTRUETrueKeyword_0_0 = (Keyword)cTRUEEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cFALSEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cFALSEFalseKeyword_1_0 = (Keyword)cFALSEEnumLiteralDeclaration_1.eContents().get(0); + private final EnumLiteralDeclaration cUNKNOWNEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); + private final Keyword cUNKNOWNUnknownKeyword_2_0 = (Keyword)cUNKNOWNEnumLiteralDeclaration_2.eContents().get(0); + private final EnumLiteralDeclaration cERROREnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); + private final Keyword cERRORErrorKeyword_3_0 = (Keyword)cERROREnumLiteralDeclaration_3.eContents().get(0); + + //enum LogicValue: + // TRUE="true" | FALSE="false" | UNKNOWN="unknown" | ERROR="error"; + public EnumRule getRule() { return rule; } + + //TRUE="true" | FALSE="false" | UNKNOWN="unknown" | ERROR="error" + public Alternatives getAlternatives() { return cAlternatives; } - //sourceMultiplicity=MultiplicityDefinition? - public Assignment getSourceMultiplicityAssignment_4() { return cSourceMultiplicityAssignment_4; } + //TRUE="true" + public EnumLiteralDeclaration getTRUEEnumLiteralDeclaration_0() { return cTRUEEnumLiteralDeclaration_0; } - //MultiplicityDefinition - public RuleCall getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0() { return cSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0; } + //"true" + public Keyword getTRUETrueKeyword_0_0() { return cTRUETrueKeyword_0_0; } - //source=Symbol - public Assignment getSourceAssignment_5() { return cSourceAssignment_5; } + //FALSE="false" + public EnumLiteralDeclaration getFALSEEnumLiteralDeclaration_1() { return cFALSEEnumLiteralDeclaration_1; } - //Symbol - public RuleCall getSourceSymbolParserRuleCall_5_0() { return cSourceSymbolParserRuleCall_5_0; } + //"false" + public Keyword getFALSEFalseKeyword_1_0() { return cFALSEFalseKeyword_1_0; } - //targetMultiplicity=MultiplicityDefinition? - public Assignment getTargetMultiplicityAssignment_6() { return cTargetMultiplicityAssignment_6; } + //UNKNOWN="unknown" + public EnumLiteralDeclaration getUNKNOWNEnumLiteralDeclaration_2() { return cUNKNOWNEnumLiteralDeclaration_2; } - //MultiplicityDefinition - public RuleCall getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0() { return cTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0; } + //"unknown" + public Keyword getUNKNOWNUnknownKeyword_2_0() { return cUNKNOWNUnknownKeyword_2_0; } - //target=Symbol - public Assignment getTargetAssignment_7() { return cTargetAssignment_7; } + //ERROR="error" + public EnumLiteralDeclaration getERROREnumLiteralDeclaration_3() { return cERROREnumLiteralDeclaration_3; } - //Symbol - public RuleCall getTargetSymbolParserRuleCall_7_0() { return cTargetSymbolParserRuleCall_7_0; } + //"error" + public Keyword getERRORErrorKeyword_3_0() { return cERRORErrorKeyword_3_0; } } - public class MultiplicityDefinitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cLowerAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final RuleCall cLowerINTTerminalRuleCall_0_0 = (RuleCall)cLowerAssignment_0.eContents().get(0); - private final Keyword cFullStopFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); - private final Assignment cUpperAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0); - private final RuleCall cUpperINTTerminalRuleCall_2_0_0 = (RuleCall)cUpperAssignment_2_0.eContents().get(0); - private final Assignment cUnlimitedUpperAssignment_2_1 = (Assignment)cAlternatives_2.eContents().get(1); - private final Keyword cUnlimitedUpperAsteriskKeyword_2_1_0 = (Keyword)cUnlimitedUpperAssignment_2_1.eContents().get(0); - - //MultiplicityDefinition: - // lower=INT '..' (upper=INT | unlimitedUpper?='*'); - @Override public ParserRule getRule() { return rule; } - - //lower=INT '..' (upper=INT | unlimitedUpper?='*') - public Group getGroup() { return cGroup; } - - //lower=INT - public Assignment getLowerAssignment_0() { return cLowerAssignment_0; } - - //INT - public RuleCall getLowerINTTerminalRuleCall_0_0() { return cLowerINTTerminalRuleCall_0_0; } + public class ObjectiveKindElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveKind"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final EnumLiteralDeclaration cMINIMIZEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cMINIMIZEMinimizeKeyword_0_0 = (Keyword)cMINIMIZEEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cMAXIMIZEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cMAXIMIZEMaximizeKeyword_1_0 = (Keyword)cMAXIMIZEEnumLiteralDeclaration_1.eContents().get(0); - //'..' - public Keyword getFullStopFullStopKeyword_1() { return cFullStopFullStopKeyword_1; } + //enum ObjectiveKind: + // MINIMIZE="minimize" | MAXIMIZE="maximize"; + public EnumRule getRule() { return rule; } - //upper=INT | unlimitedUpper?='*' - public Alternatives getAlternatives_2() { return cAlternatives_2; } + //MINIMIZE="minimize" | MAXIMIZE="maximize" + public Alternatives getAlternatives() { return cAlternatives; } - //upper=INT - public Assignment getUpperAssignment_2_0() { return cUpperAssignment_2_0; } + //MINIMIZE="minimize" + public EnumLiteralDeclaration getMINIMIZEEnumLiteralDeclaration_0() { return cMINIMIZEEnumLiteralDeclaration_0; } - //INT - public RuleCall getUpperINTTerminalRuleCall_2_0_0() { return cUpperINTTerminalRuleCall_2_0_0; } + //"minimize" + public Keyword getMINIMIZEMinimizeKeyword_0_0() { return cMINIMIZEMinimizeKeyword_0_0; } - //unlimitedUpper?='*' - public Assignment getUnlimitedUpperAssignment_2_1() { return cUnlimitedUpperAssignment_2_1; } + //MAXIMIZE="maximize" + public EnumLiteralDeclaration getMAXIMIZEEnumLiteralDeclaration_1() { return cMAXIMIZEEnumLiteralDeclaration_1; } - //'*' - public Keyword getUnlimitedUpperAsteriskKeyword_2_1_0() { return cUnlimitedUpperAsteriskKeyword_2_1_0; } + //"maximize" + public Keyword getMAXIMIZEMaximizeKeyword_1_0() { return cMAXIMIZEMaximizeKeyword_1_0; } } - private final ProblemElements pProblem; private final StatementElements pStatement; - private final TerminalRule tSTRING; - private final REALLiteralElements pREALLiteral; - private final INTLiteralElements pINTLiteral; - private final BooleanValueElements pBooleanValue; - private final TruthValueElements pTruthValue; - private final InterpretationElements pInterpretation; - private final BasicInterpretationElements pBasicInterpretation; - private final SymbolElements pSymbol; - private final ModelSymbolElements pModelSymbol; - private final PartialitySymbolElements pPartialitySymbol; - private final ExistSymbolElements pExistSymbol; - private final EqualsSymbolElements pEqualsSymbol; - private final DataSymbolElements pDataSymbol; - private final BooleanSymbolElements pBooleanSymbol; - private final IntegerSymbolElements pIntegerSymbol; - private final RealSymbolElements pRealSymbol; - private final StringSymbolElements pStringSymbol; - private final ComplexObjectElements pComplexObject; - private final ObjectElements pObject; - private final NamedObjectElements pNamedObject; - private final UnnamedObjectElements pUnnamedObject; - private final DataObjectElements pDataObject; - private final BooleanObjectElements pBooleanObject; - private final IntObjectElements pIntObject; - private final RealObjectElements pRealObject; - private final StringObjectElements pStringObject; - private final PredicateElements pPredicate; - private final ParameterElements pParameter; - private final PatternBodyElements pPatternBody; - private final PolarityElements pPolarity; - private final ConstraintElements pConstraint; - private final ClosureTypeElements pClosureType; + private final AssertionOrDefinitionElements pAssertionOrDefinition; + private final PredicateDefinitionElements pPredicateDefinition; + private final UnnamedErrorPrediateDefinitionElements pUnnamedErrorPrediateDefinition; + private final DefaultDefinitionElements pDefaultDefinition; + private final ExternPredicateDefinitionElements pExternPredicateDefinition; + private final MetricTypeElements eMetricType; + private final MetricDefinitionElements pMetricDefinition; + private final ExternMetricDefinitionElements pExternMetricDefinition; + private final ExpressionElements pExpression; + private final IfElseElements pIfElse; + private final DisjunctiveExpressionElements pDisjunctiveExpression; + private final CaseElements pCase; + private final ConjunctiveExpressionElements pConjunctiveExpression; + private final BinaryOperatorElements eBinaryOperator; + private final ComparisonOperatorElements eComparisonOperator; + private final ComparisonExpressionElements pComparisonExpression; + private final AdditiveBinaryOperatorElements eAdditiveBinaryOperator; + private final AdditiveExpressionElements pAdditiveExpression; + private final MultiplicativeBinaryOperatorElements eMultiplicativeBinaryOperator; + private final MultiplicativeExpressionElements pMultiplicativeExpression; + private final ExponentialOpElements eExponentialOp; + private final ExponentialExpressionElements pExponentialExpression; + private final UnaryOpElements eUnaryOp; + private final UnaryExpressionElements pUnaryExpression; + private final AggregationExpressionElements pAggregationExpression; + private final CountElements pCount; + private final AggregationOpElements eAggregationOp; + private final AggregationElements pAggregation; + private final AtomicExpressionElements pAtomicExpression; + private final CallElements pCall; + private final ArgumentListElements pArgumentList; + private final ArgumentElements pArgument; + private final ExpressionArgumentElements pExpressionArgument; + private final StarArgumentElements pStarArgument; + private final TypedArgumentElements pTypedArgument; + private final TypedStarArgumentElements pTypedStarArgument; + private final ReferenceElements pReference; + private final IntervalElements pInterval; private final LiteralElements pLiteral; - private final VariableElements pVariable; - private final AllInstancesElements pAllInstances; - private final AllObjectsElements pAllObjects; - private final DefaultInterpretationElements pDefaultInterpretation; - private final CDInterpretationElements pCDInterpretation; - private final ClassInterpretationElements pClassInterpretation; - private final EnumInterpretationElements pEnumInterpretation; - private final FieldRelationInterpretationElements pFieldRelationInterpretation; - private final GlobalRelationInterpretationElements pGlobalRelationInterpretation; - private final MultiplicityDefinitionElements pMultiplicityDefinition; + private final LogicValueElements eLogicValue; + private final LogicLiteralElements pLogicLiteral; + private final NumericLiteralElements pNumericLiteral; + private final InfinityLiteralElements pInfinityLiteral; + private final EmptyIntervalLiteralElements pEmptyIntervalLiteral; + private final StringLiteralElements pStringLiteral; + private final ClassDefinitionElements pClassDefinition; + private final MemberDefinitionElements pMemberDefinition; + private final MultiplicityElements pMultiplicity; + private final ManyMultiplicityElements pManyMultiplicity; + private final ExactMultiplicityElements pExactMultiplicity; + private final BoundedMultiplicityElements pBoundedMultiplicity; + private final ScopeDefinitionElements pScopeDefinition; + private final ExactScopeDefinitionElements pExactScopeDefinition; + private final BoundedScopeDefinitionElements pBoundedScopeDefinition; + private final LowerBoundedScopeDefinitionElements pLowerBoundedScopeDefinition; + private final ObjectiveKindElements eObjectiveKind; + private final ObjectiveDefinitionElements pObjectiveDefinition; + private final UpperMultiplictyElements pUpperMultiplicty; + private final RealElements pReal; + private final QualifiedNameElements pQualifiedName; + private final TerminalRule tSTRING; + private final TerminalRule tQUOTED_ID; + private final TerminalRule tPLUS; + private final TerminalRule tSTAR; + private final TerminalRule tDOT; + private final NamedElementElements pNamedElement; private final Grammar grammar; @@ -1490,49 +2600,72 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { this.gaTerminals = gaTerminals; this.pProblem = new ProblemElements(); this.pStatement = new StatementElements(); - this.tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); - this.pREALLiteral = new REALLiteralElements(); - this.pINTLiteral = new INTLiteralElements(); - this.pBooleanValue = new BooleanValueElements(); - this.pTruthValue = new TruthValueElements(); - this.pInterpretation = new InterpretationElements(); - this.pBasicInterpretation = new BasicInterpretationElements(); - this.pSymbol = new SymbolElements(); - this.pModelSymbol = new ModelSymbolElements(); - this.pPartialitySymbol = new PartialitySymbolElements(); - this.pExistSymbol = new ExistSymbolElements(); - this.pEqualsSymbol = new EqualsSymbolElements(); - this.pDataSymbol = new DataSymbolElements(); - this.pBooleanSymbol = new BooleanSymbolElements(); - this.pIntegerSymbol = new IntegerSymbolElements(); - this.pRealSymbol = new RealSymbolElements(); - this.pStringSymbol = new StringSymbolElements(); - this.pComplexObject = new ComplexObjectElements(); - this.pObject = new ObjectElements(); - this.pNamedObject = new NamedObjectElements(); - this.pUnnamedObject = new UnnamedObjectElements(); - this.pDataObject = new DataObjectElements(); - this.pBooleanObject = new BooleanObjectElements(); - this.pIntObject = new IntObjectElements(); - this.pRealObject = new RealObjectElements(); - this.pStringObject = new StringObjectElements(); - this.pPredicate = new PredicateElements(); - this.pParameter = new ParameterElements(); - this.pPatternBody = new PatternBodyElements(); - this.pPolarity = new PolarityElements(); - this.pConstraint = new ConstraintElements(); - this.pClosureType = new ClosureTypeElements(); + this.pAssertionOrDefinition = new AssertionOrDefinitionElements(); + this.pPredicateDefinition = new PredicateDefinitionElements(); + this.pUnnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionElements(); + this.pDefaultDefinition = new DefaultDefinitionElements(); + this.pExternPredicateDefinition = new ExternPredicateDefinitionElements(); + this.eMetricType = new MetricTypeElements(); + this.pMetricDefinition = new MetricDefinitionElements(); + this.pExternMetricDefinition = new ExternMetricDefinitionElements(); + this.pExpression = new ExpressionElements(); + this.pIfElse = new IfElseElements(); + this.pDisjunctiveExpression = new DisjunctiveExpressionElements(); + this.pCase = new CaseElements(); + this.pConjunctiveExpression = new ConjunctiveExpressionElements(); + this.eBinaryOperator = new BinaryOperatorElements(); + this.eComparisonOperator = new ComparisonOperatorElements(); + this.pComparisonExpression = new ComparisonExpressionElements(); + this.eAdditiveBinaryOperator = new AdditiveBinaryOperatorElements(); + this.pAdditiveExpression = new AdditiveExpressionElements(); + this.eMultiplicativeBinaryOperator = new MultiplicativeBinaryOperatorElements(); + this.pMultiplicativeExpression = new MultiplicativeExpressionElements(); + this.eExponentialOp = new ExponentialOpElements(); + this.pExponentialExpression = new ExponentialExpressionElements(); + this.eUnaryOp = new UnaryOpElements(); + this.pUnaryExpression = new UnaryExpressionElements(); + this.pAggregationExpression = new AggregationExpressionElements(); + this.pCount = new CountElements(); + this.eAggregationOp = new AggregationOpElements(); + this.pAggregation = new AggregationElements(); + this.pAtomicExpression = new AtomicExpressionElements(); + this.pCall = new CallElements(); + this.pArgumentList = new ArgumentListElements(); + this.pArgument = new ArgumentElements(); + this.pExpressionArgument = new ExpressionArgumentElements(); + this.pStarArgument = new StarArgumentElements(); + this.pTypedArgument = new TypedArgumentElements(); + this.pTypedStarArgument = new TypedStarArgumentElements(); + this.pReference = new ReferenceElements(); + this.pInterval = new IntervalElements(); this.pLiteral = new LiteralElements(); - this.pVariable = new VariableElements(); - this.pAllInstances = new AllInstancesElements(); - this.pAllObjects = new AllObjectsElements(); - this.pDefaultInterpretation = new DefaultInterpretationElements(); - this.pCDInterpretation = new CDInterpretationElements(); - this.pClassInterpretation = new ClassInterpretationElements(); - this.pEnumInterpretation = new EnumInterpretationElements(); - this.pFieldRelationInterpretation = new FieldRelationInterpretationElements(); - this.pGlobalRelationInterpretation = new GlobalRelationInterpretationElements(); - this.pMultiplicityDefinition = new MultiplicityDefinitionElements(); + this.eLogicValue = new LogicValueElements(); + this.pLogicLiteral = new LogicLiteralElements(); + this.pNumericLiteral = new NumericLiteralElements(); + this.pInfinityLiteral = new InfinityLiteralElements(); + this.pEmptyIntervalLiteral = new EmptyIntervalLiteralElements(); + this.pStringLiteral = new StringLiteralElements(); + this.pClassDefinition = new ClassDefinitionElements(); + this.pMemberDefinition = new MemberDefinitionElements(); + this.pMultiplicity = new MultiplicityElements(); + this.pManyMultiplicity = new ManyMultiplicityElements(); + this.pExactMultiplicity = new ExactMultiplicityElements(); + this.pBoundedMultiplicity = new BoundedMultiplicityElements(); + this.pScopeDefinition = new ScopeDefinitionElements(); + this.pExactScopeDefinition = new ExactScopeDefinitionElements(); + this.pBoundedScopeDefinition = new BoundedScopeDefinitionElements(); + this.pLowerBoundedScopeDefinition = new LowerBoundedScopeDefinitionElements(); + this.eObjectiveKind = new ObjectiveKindElements(); + this.pObjectiveDefinition = new ObjectiveDefinitionElements(); + this.pUpperMultiplicty = new UpperMultiplictyElements(); + this.pReal = new RealElements(); + this.pQualifiedName = new QualifiedNameElements(); + this.tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); + this.tQUOTED_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QUOTED_ID"); + this.tPLUS = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PLUS"); + this.tSTAR = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.STAR"); + this.tDOT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DOT"); + this.pNamedElement = new NamedElementElements(); } protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { @@ -1573,7 +2706,9 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //Statement: - // Interpretation | Predicate; + // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | + // ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | + // ObjectiveDefinition) DOT; public StatementElements getStatementAccess() { return pStatement; } @@ -1582,333 +2717,390 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getStatementAccess().getRule(); } - //@Override - //terminal STRING: - // '"' ('\\' . | !('\\' | '"'))* '"'; - public TerminalRule getSTRINGRule() { - return tSTRING; + //AssertionOrDefinition Statement: + // Expression ({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" + // body=Expression | {MetricDefinition.head=current} "=" body=Expression); + public AssertionOrDefinitionElements getAssertionOrDefinitionAccess() { + return pAssertionOrDefinition; } - //REALLiteral ecore::EBigDecimal: - // '-'? INT '.' INT; - public REALLiteralElements getREALLiteralAccess() { - return pREALLiteral; + public ParserRule getAssertionOrDefinitionRule() { + return getAssertionOrDefinitionAccess().getRule(); } - public ParserRule getREALLiteralRule() { - return getREALLiteralAccess().getRule(); + //PredicateDefinition: + // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression; + public PredicateDefinitionElements getPredicateDefinitionAccess() { + return pPredicateDefinition; } - //INTLiteral ecore::EInt: - // '-'? INT; - public INTLiteralElements getINTLiteralAccess() { - return pINTLiteral; + public ParserRule getPredicateDefinitionRule() { + return getPredicateDefinitionAccess().getRule(); } - public ParserRule getINTLiteralRule() { - return getINTLiteralAccess().getRule(); + //UnnamedErrorPrediateDefinition: + // "error" argumentList=ArgumentList ":-" body=Expression; + public UnnamedErrorPrediateDefinitionElements getUnnamedErrorPrediateDefinitionAccess() { + return pUnnamedErrorPrediateDefinition; } - //BooleanValue: - // {BooleanTrue} 'true' | 'false' {BooleanFalse}; - public BooleanValueElements getBooleanValueAccess() { - return pBooleanValue; + public ParserRule getUnnamedErrorPrediateDefinitionRule() { + return getUnnamedErrorPrediateDefinitionAccess().getRule(); } - public ParserRule getBooleanValueRule() { - return getBooleanValueAccess().getRule(); + //DefaultDefinition: + // "default" head=Call ":" range=Expression; + public DefaultDefinitionElements getDefaultDefinitionAccess() { + return pDefaultDefinition; } - //TruthValue: - // {True} 'true' | {False} 'false' | {Unknown} 'unknown' | {Error} 'error'; - public TruthValueElements getTruthValueAccess() { - return pTruthValue; + public ParserRule getDefaultDefinitionRule() { + return getDefaultDefinitionAccess().getRule(); } - public ParserRule getTruthValueRule() { - return getTruthValueAccess().getRule(); + //ExternPredicateDefinition: + // "extern" head=Call "."; + public ExternPredicateDefinitionElements getExternPredicateDefinitionAccess() { + return pExternPredicateDefinition; } - ///////////////////// - //// Core grammar - // /////////////////// - //Interpretation: - // BasicInterpretation | DefaultInterpretation | CDInterpretation; - public InterpretationElements getInterpretationAccess() { - return pInterpretation; + public ParserRule getExternPredicateDefinitionRule() { + return getExternPredicateDefinitionAccess().getRule(); } - public ParserRule getInterpretationRule() { - return getInterpretationAccess().getRule(); + //enum MetricType: + // INT="int" | REAL="real"; + public MetricTypeElements getMetricTypeAccess() { + return eMetricType; } - //BasicInterpretation: - // symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value=TruthValue; - public BasicInterpretationElements getBasicInterpretationAccess() { - return pBasicInterpretation; + public EnumRule getMetricTypeRule() { + return getMetricTypeAccess().getRule(); } - public ParserRule getBasicInterpretationRule() { - return getBasicInterpretationAccess().getRule(); + //MetricDefinition: + // type=MetricType head=Expression "=" body=Expression; + public MetricDefinitionElements getMetricDefinitionAccess() { + return pMetricDefinition; } - //Symbol: - // ModelSymbol | PartialitySymbol | DataSymbol; - public SymbolElements getSymbolAccess() { - return pSymbol; + public ParserRule getMetricDefinitionRule() { + return getMetricDefinitionAccess().getRule(); } - public ParserRule getSymbolRule() { - return getSymbolAccess().getRule(); + //ExternMetricDefinition: + // "extern" type=MetricType head=Call; + public ExternMetricDefinitionElements getExternMetricDefinitionAccess() { + return pExternMetricDefinition; } - //ModelSymbol: - // name=ID; - public ModelSymbolElements getModelSymbolAccess() { - return pModelSymbol; + public ParserRule getExternMetricDefinitionRule() { + return getExternMetricDefinitionAccess().getRule(); } - public ParserRule getModelSymbolRule() { - return getModelSymbolAccess().getRule(); + //Expression: + // IfElse | DisjunctiveExpression; + public ExpressionElements getExpressionAccess() { + return pExpression; } - //PartialitySymbol: - // ExistSymbol | EqualsSymbol; - public PartialitySymbolElements getPartialitySymbolAccess() { - return pPartialitySymbol; + public ParserRule getExpressionRule() { + return getExpressionAccess().getRule(); } - public ParserRule getPartialitySymbolRule() { - return getPartialitySymbolAccess().getRule(); + //IfElse: + // "if" condition=Expression "then" then=Expression "else" else=Expression; + public IfElseElements getIfElseAccess() { + return pIfElse; } - //ExistSymbol: - // 'exists' {ExistSymbol}; - public ExistSymbolElements getExistSymbolAccess() { - return pExistSymbol; + public ParserRule getIfElseRule() { + return getIfElseAccess().getRule(); } - public ParserRule getExistSymbolRule() { - return getExistSymbolAccess().getRule(); + //DisjunctiveExpression Expression: + // ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ | + // {Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?; + public DisjunctiveExpressionElements getDisjunctiveExpressionAccess() { + return pDisjunctiveExpression; } - //EqualsSymbol: - // 'equals' {EqualsSymbol}; - public EqualsSymbolElements getEqualsSymbolAccess() { - return pEqualsSymbol; + public ParserRule getDisjunctiveExpressionRule() { + return getDisjunctiveExpressionAccess().getRule(); } - public ParserRule getEqualsSymbolRule() { - return getEqualsSymbolAccess().getRule(); + //Case: + // condition=ConjunctiveExpression "->" body=ConjunctiveExpression; + public CaseElements getCaseAccess() { + return pCase; } - //DataSymbol: - // BooleanSymbol | IntegerSymbol | RealSymbol | StringSymbol; - public DataSymbolElements getDataSymbolAccess() { - return pDataSymbol; + public ParserRule getCaseRule() { + return getCaseAccess().getRule(); } - public ParserRule getDataSymbolRule() { - return getDataSymbolAccess().getRule(); + //ConjunctiveExpression Expression: + // ComparisonExpression ({Conjunction.children+=current} ("," children+=ComparisonExpression)+)?; + public ConjunctiveExpressionElements getConjunctiveExpressionAccess() { + return pConjunctiveExpression; } - //BooleanSymbol: - // 'bool' {BooleanSymbol}; - public BooleanSymbolElements getBooleanSymbolAccess() { - return pBooleanSymbol; + public ParserRule getConjunctiveExpressionRule() { + return getConjunctiveExpressionAccess().getRule(); } - public ParserRule getBooleanSymbolRule() { - return getBooleanSymbolAccess().getRule(); + //enum BinaryOperator: + // EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW; + public BinaryOperatorElements getBinaryOperatorAccess() { + return eBinaryOperator; } - //IntegerSymbol: - // 'int' {IntegerSymbol}; - public IntegerSymbolElements getIntegerSymbolAccess() { - return pIntegerSymbol; + public EnumRule getBinaryOperatorRule() { + return getBinaryOperatorAccess().getRule(); } - public ParserRule getIntegerSymbolRule() { - return getIntegerSymbolAccess().getRule(); + //enum ComparisonOperator returns BinaryOperator: + // EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in"; + public ComparisonOperatorElements getComparisonOperatorAccess() { + return eComparisonOperator; } - //RealSymbol: - // 'real' {RealSymbol}; - public RealSymbolElements getRealSymbolAccess() { - return pRealSymbol; + public EnumRule getComparisonOperatorRule() { + return getComparisonOperatorAccess().getRule(); } - public ParserRule getRealSymbolRule() { - return getRealSymbolAccess().getRule(); + //ComparisonExpression Expression: + // AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?; + public ComparisonExpressionElements getComparisonExpressionAccess() { + return pComparisonExpression; } - //StringSymbol: - // 'string' {StringSymbol}; - public StringSymbolElements getStringSymbolAccess() { - return pStringSymbol; + public ParserRule getComparisonExpressionRule() { + return getComparisonExpressionAccess().getRule(); } - public ParserRule getStringSymbolRule() { - return getStringSymbolAccess().getRule(); + //enum AdditiveBinaryOperator returns BinaryOperator: + // ADD="+" | SUB="-"; + public AdditiveBinaryOperatorElements getAdditiveBinaryOperatorAccess() { + return eAdditiveBinaryOperator; } - //ComplexObject: - // Object | AllInstances | AllObjects; - public ComplexObjectElements getComplexObjectAccess() { - return pComplexObject; + public EnumRule getAdditiveBinaryOperatorRule() { + return getAdditiveBinaryOperatorAccess().getRule(); } - public ParserRule getComplexObjectRule() { - return getComplexObjectAccess().getRule(); + //AdditiveExpression Expression: + // MultiplicativeExpression ({BinaryExpression.left=current} op=AdditiveBinaryOperator right=MultiplicativeExpression)*; + public AdditiveExpressionElements getAdditiveExpressionAccess() { + return pAdditiveExpression; } - //Object: - // NamedObject | UnnamedObject | DataObject; - public ObjectElements getObjectAccess() { - return pObject; + public ParserRule getAdditiveExpressionRule() { + return getAdditiveExpressionAccess().getRule(); } - public ParserRule getObjectRule() { - return getObjectAccess().getRule(); + //enum MultiplicativeBinaryOperator returns BinaryOperator: + // MUL="*" | DIV="/"; + public MultiplicativeBinaryOperatorElements getMultiplicativeBinaryOperatorAccess() { + return eMultiplicativeBinaryOperator; } - //NamedObject: - // "'" name=ID "'"; - public NamedObjectElements getNamedObjectAccess() { - return pNamedObject; + public EnumRule getMultiplicativeBinaryOperatorRule() { + return getMultiplicativeBinaryOperatorAccess().getRule(); } - public ParserRule getNamedObjectRule() { - return getNamedObjectAccess().getRule(); + //MultiplicativeExpression Expression: + // ExponentialExpression ({BinaryExpression.left=current} op=MultiplicativeBinaryOperator right=ExponentialExpression)*; + public MultiplicativeExpressionElements getMultiplicativeExpressionAccess() { + return pMultiplicativeExpression; } - //UnnamedObject: - // name=ID; - public UnnamedObjectElements getUnnamedObjectAccess() { - return pUnnamedObject; + public ParserRule getMultiplicativeExpressionRule() { + return getMultiplicativeExpressionAccess().getRule(); } - public ParserRule getUnnamedObjectRule() { - return getUnnamedObjectAccess().getRule(); + //enum ExponentialOp returns BinaryOperator: + // POW="^"; + public ExponentialOpElements getExponentialOpAccess() { + return eExponentialOp; } - //DataObject: - // BooleanObject | IntObject | RealObject | StringObject; - public DataObjectElements getDataObjectAccess() { - return pDataObject; + public EnumRule getExponentialOpRule() { + return getExponentialOpAccess().getRule(); } - public ParserRule getDataObjectRule() { - return getDataObjectAccess().getRule(); + //ExponentialExpression Expression: + // UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?; + public ExponentialExpressionElements getExponentialExpressionAccess() { + return pExponentialExpression; } - //BooleanObject: - // value=BooleanValue; - public BooleanObjectElements getBooleanObjectAccess() { - return pBooleanObject; + public ParserRule getExponentialExpressionRule() { + return getExponentialExpressionAccess().getRule(); } - public ParserRule getBooleanObjectRule() { - return getBooleanObjectAccess().getRule(); + //enum UnaryOp: + // NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current"; + public UnaryOpElements getUnaryOpAccess() { + return eUnaryOp; } - //IntObject: - // value=INTLiteral; - public IntObjectElements getIntObjectAccess() { - return pIntObject; + public EnumRule getUnaryOpRule() { + return getUnaryOpAccess().getRule(); } - public ParserRule getIntObjectRule() { - return getIntObjectAccess().getRule(); + //UnaryExpression Expression: + // AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression; + public UnaryExpressionElements getUnaryExpressionAccess() { + return pUnaryExpression; } - //RealObject: - // value=REALLiteral; - public RealObjectElements getRealObjectAccess() { - return pRealObject; + public ParserRule getUnaryExpressionRule() { + return getUnaryExpressionAccess().getRule(); } - public ParserRule getRealObjectRule() { - return getRealObjectAccess().getRule(); + //AggregationExpression Expression: + // AtomicExpression | Count | Aggregation; + public AggregationExpressionElements getAggregationExpressionAccess() { + return pAggregationExpression; } - //StringObject: - // value=STRING; - public StringObjectElements getStringObjectAccess() { - return pStringObject; + public ParserRule getAggregationExpressionRule() { + return getAggregationExpressionAccess().getRule(); + } + + //Count: + // "count" "{" body=Expression "}"; + public CountElements getCountAccess() { + return pCount; + } + + public ParserRule getCountRule() { + return getCountAccess().getRule(); + } + + //enum AggregationOp: + // ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max"; + public AggregationOpElements getAggregationOpAccess() { + return eAggregationOp; + } + + public EnumRule getAggregationOpRule() { + return getAggregationOpAccess().getRule(); + } + + //Aggregation: + // op=AggregationOp "{" body=Expression "|" condition=Expression "}"; + public AggregationElements getAggregationAccess() { + return pAggregation; + } + + public ParserRule getAggregationRule() { + return getAggregationAccess().getRule(); + } + + //AtomicExpression Expression: + // Reference ({Call.functor=current} -> argumentList=ArgumentList)? | Interval | Literal | "(" Expression ")"; + public AtomicExpressionElements getAtomicExpressionAccess() { + return pAtomicExpression; + } + + public ParserRule getAtomicExpressionRule() { + return getAtomicExpressionAccess().getRule(); + } + + //Call: + // functor=Reference (transitiveClosure?=STAR | reflexiveTransitiveClosure?=PLUS)? argumentList=ArgumentList; + public CallElements getCallAccess() { + return pCall; + } + + public ParserRule getCallRule() { + return getCallAccess().getRule(); + } + + //ArgumentList: + // {ArgumentList} "(" (arguments+=Argument ("," arguments+=Argument)*)? ")"; + public ArgumentListElements getArgumentListAccess() { + return pArgumentList; + } + + public ParserRule getArgumentListRule() { + return getArgumentListAccess().getRule(); + } + + //Argument: + // ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument; + public ArgumentElements getArgumentAccess() { + return pArgument; } - public ParserRule getStringObjectRule() { - return getStringObjectAccess().getRule(); + public ParserRule getArgumentRule() { + return getArgumentAccess().getRule(); } - ///////////////////// - //// Predicte grammar - ///////////////////// - //Predicate: - // isError?='error'? symbol=ModelSymbol ('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? ':-' ('false' | - // bodies+=PatternBody ('|' bodies+=PatternBody)*) '.'; - public PredicateElements getPredicateAccess() { - return pPredicate; + //ExpressionArgument: + // body=ComparisonExpression; + public ExpressionArgumentElements getExpressionArgumentAccess() { + return pExpressionArgument; } - public ParserRule getPredicateRule() { - return getPredicateAccess().getRule(); + public ParserRule getExpressionArgumentRule() { + return getExpressionArgumentAccess().getRule(); } - //Parameter: - // variable=Variable (':' type=Symbol)?; - public ParameterElements getParameterAccess() { - return pParameter; + //StarArgument: + // {StarArgument} "*"; + public StarArgumentElements getStarArgumentAccess() { + return pStarArgument; } - public ParserRule getParameterRule() { - return getParameterAccess().getRule(); + public ParserRule getStarArgumentRule() { + return getStarArgumentAccess().getRule(); } - //PatternBody: - // {PatternBody} ('true' | constraints+=Constraint*); - public PatternBodyElements getPatternBodyAccess() { - return pPatternBody; + //TypedArgument: + // type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName]; + public TypedArgumentElements getTypedArgumentAccess() { + return pTypedArgument; } - public ParserRule getPatternBodyRule() { - return getPatternBodyAccess().getRule(); + public ParserRule getTypedArgumentRule() { + return getTypedArgumentAccess().getRule(); } - //Polarity: - // {Positive} '+' | {Negative} '-'; - public PolarityElements getPolarityAccess() { - return pPolarity; + //TypedStarArgument: + // type=[NamedElement|QualifiedName] "*"; + public TypedStarArgumentElements getTypedStarArgumentAccess() { + return pTypedStarArgument; } - public ParserRule getPolarityRule() { - return getPolarityAccess().getRule(); + public ParserRule getTypedStarArgumentRule() { + return getTypedStarArgumentAccess().getRule(); } - //Constraint: - // polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? | closureType=ClosureType - // '(' params+=Literal? (',' params+=Literal)* ')'; - public ConstraintElements getConstraintAccess() { - return pConstraint; + //Reference: + // referred=[NamedElement|QualifiedName]; + public ReferenceElements getReferenceAccess() { + return pReference; } - public ParserRule getConstraintRule() { - return getConstraintAccess().getRule(); + public ParserRule getReferenceRule() { + return getReferenceAccess().getRule(); } - //ClosureType: - // {ReflexiveClosure} '*' | {IrreflexiveClosure} '+'; - public ClosureTypeElements getClosureTypeAccess() { - return pClosureType; + //Interval: + // "[" lowerBound=Expression ".." upperBound=Expression "]"; + public IntervalElements getIntervalAccess() { + return pInterval; } - public ParserRule getClosureTypeRule() { - return getClosureTypeAccess().getRule(); + public ParserRule getIntervalRule() { + return getIntervalAccess().getRule(); } //Literal: - // Variable | DataObject | NamedObject; + // LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral; public LiteralElements getLiteralAccess() { return pLiteral; } @@ -1917,116 +3109,260 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getLiteralAccess().getRule(); } - //Variable: - // name=ID; - public VariableElements getVariableAccess() { - return pVariable; + //enum LogicValue: + // TRUE="true" | FALSE="false" | UNKNOWN="unknown" | ERROR="error"; + public LogicValueElements getLogicValueAccess() { + return eLogicValue; } - public ParserRule getVariableRule() { - return getVariableAccess().getRule(); + public EnumRule getLogicValueRule() { + return getLogicValueAccess().getRule(); } - ///////////////////// - //// Complex Interpretation grammar - ///////////////////// - //AllInstances: - // ':' symbol=Symbol; - public AllInstancesElements getAllInstancesAccess() { - return pAllInstances; + //LogicLiteral: + // value=LogicValue; + public LogicLiteralElements getLogicLiteralAccess() { + return pLogicLiteral; } - public ParserRule getAllInstancesRule() { - return getAllInstancesAccess().getRule(); + public ParserRule getLogicLiteralRule() { + return getLogicLiteralAccess().getRule(); } - //AllObjects: - // {AllObjects} '*'; - public AllObjectsElements getAllObjectsAccess() { - return pAllObjects; + //NumericLiteral: + // value=Real; + public NumericLiteralElements getNumericLiteralAccess() { + return pNumericLiteral; } - public ParserRule getAllObjectsRule() { - return getAllObjectsAccess().getRule(); + public ParserRule getNumericLiteralRule() { + return getNumericLiteralAccess().getRule(); } - ///////////////////// - //// Defaul Interpretation grammar - ///////////////////// - //DefaultInterpretation: - // 'default' interpretation=BasicInterpretation; - public DefaultInterpretationElements getDefaultInterpretationAccess() { - return pDefaultInterpretation; + //InfinityLiteral: + // {InfinityLiteral} "inf"; + public InfinityLiteralElements getInfinityLiteralAccess() { + return pInfinityLiteral; } - public ParserRule getDefaultInterpretationRule() { - return getDefaultInterpretationAccess().getRule(); + public ParserRule getInfinityLiteralRule() { + return getInfinityLiteralAccess().getRule(); } - ///////////////////// - //// Advanced Class-Diagram interpretations - ///////////////////// - //CDInterpretation: - // ClassInterpretation | EnumInterpretation | GlobalRelationInterpretation; - public CDInterpretationElements getCDInterpretationAccess() { - return pCDInterpretation; + //EmptyIntervalLiteral: + // {EmptyIntervalLiteral} "empty"; + public EmptyIntervalLiteralElements getEmptyIntervalLiteralAccess() { + return pEmptyIntervalLiteral; } - public ParserRule getCDInterpretationRule() { - return getCDInterpretationAccess().getRule(); + public ParserRule getEmptyIntervalLiteralRule() { + return getEmptyIntervalLiteralAccess().getRule(); } - //ClassInterpretation: - // abstract?='abstract'? 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' - // fielt+=FieldRelationInterpretation* - // '}'; - public ClassInterpretationElements getClassInterpretationAccess() { - return pClassInterpretation; + //StringLiteral: + // value=STRING; + public StringLiteralElements getStringLiteralAccess() { + return pStringLiteral; + } + + public ParserRule getStringLiteralRule() { + return getStringLiteralAccess().getRule(); + } + + //ClassDefinition Statement: + // abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," + // superclasses+=[NamedElement|QualifiedName])*)? + // "{" members+=MemberDefinition* "}"; + public ClassDefinitionElements getClassDefinitionAccess() { + return pClassDefinition; + } + + public ParserRule getClassDefinitionRule() { + return getClassDefinitionAccess().getRule(); + } + + //MemberDefinition: + // containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite" + // opposite=[NamedElement|QualifiedName])? ";"?; + public MemberDefinitionElements getMemberDefinitionAccess() { + return pMemberDefinition; + } + + public ParserRule getMemberDefinitionRule() { + return getMemberDefinitionAccess().getRule(); + } + + //Multiplicity: + // ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity; + public MultiplicityElements getMultiplicityAccess() { + return pMultiplicity; + } + + public ParserRule getMultiplicityRule() { + return getMultiplicityAccess().getRule(); + } + + //ManyMultiplicity: + // {ManyMultiplicity} "[" "]"; + public ManyMultiplicityElements getManyMultiplicityAccess() { + return pManyMultiplicity; + } + + public ParserRule getManyMultiplicityRule() { + return getManyMultiplicityAccess().getRule(); + } + + //ExactMultiplicity: + // "[" multiplicity=UpperMultiplicty "]"; + public ExactMultiplicityElements getExactMultiplicityAccess() { + return pExactMultiplicity; + } + + public ParserRule getExactMultiplicityRule() { + return getExactMultiplicityAccess().getRule(); + } + + //BoundedMultiplicity: + // "[" lowerBound=INT ".." upperBound=UpperMultiplicty "]"; + public BoundedMultiplicityElements getBoundedMultiplicityAccess() { + return pBoundedMultiplicity; + } + + public ParserRule getBoundedMultiplicityRule() { + return getBoundedMultiplicityAccess().getRule(); + } + + //ScopeDefinition: + // ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition; + public ScopeDefinitionElements getScopeDefinitionAccess() { + return pScopeDefinition; + } + + public ParserRule getScopeDefinitionRule() { + return getScopeDefinitionAccess().getRule(); + } + + //ExactScopeDefinition: + // "scope" type=[NamedElement|QualifiedName] "==" exactScope=INT; + public ExactScopeDefinitionElements getExactScopeDefinitionAccess() { + return pExactScopeDefinition; + } + + public ParserRule getExactScopeDefinitionRule() { + return getExactScopeDefinitionAccess().getRule(); + } + + //BoundedScopeDefinition: + // "scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" + // type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?) "."; + public BoundedScopeDefinitionElements getBoundedScopeDefinitionAccess() { + return pBoundedScopeDefinition; + } + + public ParserRule getBoundedScopeDefinitionRule() { + return getBoundedScopeDefinitionAccess().getRule(); + } + + //LowerBoundedScopeDefinition: + // "scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" + // lowerBound=INT) "."; + public LowerBoundedScopeDefinitionElements getLowerBoundedScopeDefinitionAccess() { + return pLowerBoundedScopeDefinition; + } + + public ParserRule getLowerBoundedScopeDefinitionRule() { + return getLowerBoundedScopeDefinitionAccess().getRule(); + } + + //enum ObjectiveKind: + // MINIMIZE="minimize" | MAXIMIZE="maximize"; + public ObjectiveKindElements getObjectiveKindAccess() { + return eObjectiveKind; + } + + public EnumRule getObjectiveKindRule() { + return getObjectiveKindAccess().getRule(); + } + + //ObjectiveDefinition: + // kind=ObjectiveKind objective=Expression; + public ObjectiveDefinitionElements getObjectiveDefinitionAccess() { + return pObjectiveDefinition; + } + + public ParserRule getObjectiveDefinitionRule() { + return getObjectiveDefinitionAccess().getRule(); + } + + //UpperMultiplicty ecore::EInt: + // INT | "*"; + public UpperMultiplictyElements getUpperMultiplictyAccess() { + return pUpperMultiplicty; + } + + public ParserRule getUpperMultiplictyRule() { + return getUpperMultiplictyAccess().getRule(); + } + + //Real ecore::EBigDecimal hidden(): + // INT ("." INT)?; + public RealElements getRealAccess() { + return pReal; + } + + public ParserRule getRealRule() { + return getRealAccess().getRule(); } - public ParserRule getClassInterpretationRule() { - return getClassInterpretationAccess().getRule(); + //QualifiedName hidden(): + // ID ("." ID)* | QUOTED_ID; + public QualifiedNameElements getQualifiedNameAccess() { + return pQualifiedName; } - //EnumInterpretation: - // 'enum' Symbol=ModelSymbol '{' objects+=NamedObject+ '}'; - public EnumInterpretationElements getEnumInterpretationAccess() { - return pEnumInterpretation; + public ParserRule getQualifiedNameRule() { + return getQualifiedNameAccess().getRule(); } - public ParserRule getEnumInterpretationRule() { - return getEnumInterpretationAccess().getRule(); + //@Override + //terminal STRING: + // '"' ('\\' . | !('\\' | '"'))* '"'; + public TerminalRule getSTRINGRule() { + return tSTRING; } - //FieldRelationInterpretation: - // containment?='containment'? symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol; - public FieldRelationInterpretationElements getFieldRelationInterpretationAccess() { - return pFieldRelationInterpretation; + //terminal QUOTED_ID: + // '\'' ('\\' . | !('\\' | '\''))* '\''; + public TerminalRule getQUOTED_IDRule() { + return tQUOTED_ID; } - public ParserRule getFieldRelationInterpretationRule() { - return getFieldRelationInterpretationAccess().getRule(); + //terminal PLUS: + // "synthetic::plus"; + public TerminalRule getPLUSRule() { + return tPLUS; } - //GlobalRelationInterpretation: - // containment?='containment'? 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? - // source=Symbol targetMultiplicity=MultiplicityDefinition? target=Symbol; - public GlobalRelationInterpretationElements getGlobalRelationInterpretationAccess() { - return pGlobalRelationInterpretation; + //terminal STAR: + // "synthetic::star"; + public TerminalRule getSTARRule() { + return tSTAR; } - public ParserRule getGlobalRelationInterpretationRule() { - return getGlobalRelationInterpretationAccess().getRule(); + //terminal DOT: + // "synthetic::dot"; + public TerminalRule getDOTRule() { + return tDOT; } - //MultiplicityDefinition: - // lower=INT '..' (upper=INT | unlimitedUpper?='*'); - public MultiplicityDefinitionElements getMultiplicityDefinitionAccess() { - return pMultiplicityDefinition; + //NamedElement: + // name=QualifiedName; + public NamedElementElements getNamedElementAccess() { + return pNamedElement; } - public ParserRule getMultiplicityDefinitionRule() { - return getMultiplicityDefinitionAccess().getRule(); + public ParserRule getNamedElementRule() { + return getNamedElementAccess().getRule(); } //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Aggregation'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp Op}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition Condition}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation() + * @model + * @generated + */ +public interface Aggregation extends Expression +{ + /** + * Returns the value of the 'Op' attribute. + * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp}. + * + * + * @return the value of the 'Op' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp + * @see #setOp(AggregationOp) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Op() + * @model + * @generated + */ + AggregationOp getOp(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp Op}' attribute. + * + * + * @param value the new value of the 'Op' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp + * @see #getOp() + * @generated + */ + void setOp(AggregationOp value); + + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + + /** + * Returns the value of the 'Condition' containment reference. + * + * + * @return the value of the 'Condition' containment reference. + * @see #setCondition(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Condition() + * @model containment="true" + * @generated + */ + Expression getCondition(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition Condition}' containment reference. + * + * + * @param value the new value of the 'Condition' containment reference. + * @see #getCondition() + * @generated + */ + void setCondition(Expression value); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'Aggregation Op', + * and utility methods for working with them. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregationOp() + * @model + * @generated + */ +public enum AggregationOp implements Enumerator +{ + /** + * The 'ONLY' literal object. + * + * + * @see #ONLY_VALUE + * @generated + * @ordered + */ + ONLY(0, "ONLY", "only"), + + /** + * The 'SUM' literal object. + * + * + * @see #SUM_VALUE + * @generated + * @ordered + */ + SUM(1, "SUM", "sum"), + + /** + * The 'PROD' literal object. + * + * + * @see #PROD_VALUE + * @generated + * @ordered + */ + PROD(2, "PROD", "prod"), + + /** + * The 'AVG' literal object. + * + * + * @see #AVG_VALUE + * @generated + * @ordered + */ + AVG(3, "AVG", "avg"), + + /** + * The 'MIN' literal object. + * + * + * @see #MIN_VALUE + * @generated + * @ordered + */ + MIN(4, "MIN", "min"), + + /** + * The 'MAX' literal object. + * + * + * @see #MAX_VALUE + * @generated + * @ordered + */ + MAX(5, "MAX", "max"); + + /** + * The 'ONLY' literal value. + * + * + * @see #ONLY + * @model literal="only" + * @generated + * @ordered + */ + public static final int ONLY_VALUE = 0; + + /** + * The 'SUM' literal value. + * + * + * @see #SUM + * @model literal="sum" + * @generated + * @ordered + */ + public static final int SUM_VALUE = 1; + + /** + * The 'PROD' literal value. + * + * + * @see #PROD + * @model literal="prod" + * @generated + * @ordered + */ + public static final int PROD_VALUE = 2; + + /** + * The 'AVG' literal value. + * + * + * @see #AVG + * @model literal="avg" + * @generated + * @ordered + */ + public static final int AVG_VALUE = 3; + + /** + * The 'MIN' literal value. + * + * + * @see #MIN + * @model literal="min" + * @generated + * @ordered + */ + public static final int MIN_VALUE = 4; + + /** + * The 'MAX' literal value. + * + * + * @see #MAX + * @model literal="max" + * @generated + * @ordered + */ + public static final int MAX_VALUE = 5; + + /** + * An array of all the 'Aggregation Op' enumerators. + * + * + * @generated + */ + private static final AggregationOp[] VALUES_ARRAY = + new AggregationOp[] + { + ONLY, + SUM, + PROD, + AVG, + MIN, + MAX, + }; + + /** + * A public read-only list of all the 'Aggregation Op' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Aggregation Op' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static AggregationOp get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + AggregationOp result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the 'Aggregation Op' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static AggregationOp getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + AggregationOp result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the 'Aggregation Op' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static AggregationOp get(int value) + { + switch (value) + { + case ONLY_VALUE: return ONLY; + case SUM_VALUE: return SUM; + case PROD_VALUE: return PROD; + case AVG_VALUE: return AVG; + case MIN_VALUE: return MIN; + case MAX_VALUE: return MAX; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private AggregationOp(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + @Override + public int getValue() + { + return value; + } + + /** + * + * + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + @Override + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'All Instances'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances#getSymbol Symbol}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAllInstances() - * @model - * @generated - */ -public interface AllInstances extends ComplexObject -{ - /** - * Returns the value of the 'Symbol' containment reference. - * - * - * @return the value of the 'Symbol' containment reference. - * @see #setSymbol(Symbol) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAllInstances_Symbol() - * @model containment="true" - * @generated - */ - Symbol getSymbol(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances#getSymbol Symbol}' containment reference. - * - * - * @param value the new value of the 'Symbol' containment reference. - * @see #getSymbol() - * @generated - */ - void setSymbol(Symbol value); - -} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'All Objects'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAllObjects() - * @model - * @generated - */ -public interface AllObjects extends ComplexObject -{ -} // AllObjects diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java new file mode 100644 index 00000000..73c79940 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java @@ -0,0 +1,20 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Argument'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgument() + * @model + * @generated + */ +public interface Argument extends EObject +{ +} // Argument diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java new file mode 100644 index 00000000..4a932fea --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java @@ -0,0 +1,40 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Argument List'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments Arguments}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgumentList() + * @model + * @generated + */ +public interface ArgumentList extends EObject +{ + /** + * Returns the value of the 'Arguments' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Argument}. + * + * + * @return the value of the 'Arguments' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgumentList_Arguments() + * @model containment="true" + * @generated + */ + EList getArguments(); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Assertion'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange Range}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAssertion() + * @model + * @generated + */ +public interface Assertion extends Statement +{ + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAssertion_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + + /** + * Returns the value of the 'Range' containment reference. + * + * + * @return the value of the 'Range' containment reference. + * @see #setRange(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAssertion_Range() + * @model containment="true" + * @generated + */ + Expression getRange(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange Range}' containment reference. + * + * + * @param value the new value of the 'Range' containment reference. + * @see #getRange() + * @generated + */ + void setRange(Expression value); + +} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - -import org.eclipse.emf.common.util.EList; - -/** - * - * A representation of the model object 'Basic Interpretation'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getSymbol Symbol}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getObjects Objects}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getValue Value}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBasicInterpretation() - * @model - * @generated - */ -public interface BasicInterpretation extends Interpretation -{ - /** - * Returns the value of the 'Symbol' containment reference. - * - * - * @return the value of the 'Symbol' containment reference. - * @see #setSymbol(Symbol) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBasicInterpretation_Symbol() - * @model containment="true" - * @generated - */ - Symbol getSymbol(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getSymbol Symbol}' containment reference. - * - * - * @param value the new value of the 'Symbol' containment reference. - * @see #getSymbol() - * @generated - */ - void setSymbol(Symbol value); - - /** - * Returns the value of the 'Objects' containment reference list. - * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.ComplexObject}. - * - * - * @return the value of the 'Objects' containment reference list. - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBasicInterpretation_Objects() - * @model containment="true" - * @generated - */ - EList getObjects(); - - /** - * Returns the value of the 'Value' containment reference. - * - * - * @return the value of the 'Value' containment reference. - * @see #setValue(TruthValue) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBasicInterpretation_Value() - * @model containment="true" - * @generated - */ - TruthValue getValue(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getValue Value}' containment reference. - * - * - * @param value the new value of the 'Value' containment reference. - * @see #getValue() - * @generated - */ - void setValue(TruthValue value); - -} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Binary Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft Left}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp Op}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight Right}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression() + * @model + * @generated + */ +public interface BinaryExpression extends Expression +{ + /** + * Returns the value of the 'Left' containment reference. + * + * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Op' attribute. + * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator}. + * + * + * @return the value of the 'Op' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator + * @see #setOp(BinaryOperator) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Op() + * @model + * @generated + */ + BinaryOperator getOp(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp Op}' attribute. + * + * + * @param value the new value of the 'Op' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator + * @see #getOp() + * @generated + */ + void setOp(BinaryOperator value); + + /** + * Returns the value of the 'Right' containment reference. + * + * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'Binary Operator', + * and utility methods for working with them. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryOperator() + * @model + * @generated + */ +public enum BinaryOperator implements Enumerator +{ + /** + * The 'EQ' literal object. + * + * + * @see #EQ_VALUE + * @generated + * @ordered + */ + EQ(0, "EQ", "EQ"), + + /** + * The 'NOT EQ' literal object. + * + * + * @see #NOT_EQ_VALUE + * @generated + * @ordered + */ + NOT_EQ(1, "NOT_EQ", "NOT_EQ"), + + /** + * The 'LESS' literal object. + * + * + * @see #LESS_VALUE + * @generated + * @ordered + */ + LESS(2, "LESS", "LESS"), + + /** + * The 'LESS EQ' literal object. + * + * + * @see #LESS_EQ_VALUE + * @generated + * @ordered + */ + LESS_EQ(3, "LESS_EQ", "LESS_EQ"), + + /** + * The 'GREATER' literal object. + * + * + * @see #GREATER_VALUE + * @generated + * @ordered + */ + GREATER(4, "GREATER", "GREATER"), + + /** + * The 'GREATER EQ' literal object. + * + * + * @see #GREATER_EQ_VALUE + * @generated + * @ordered + */ + GREATER_EQ(5, "GREATER_EQ", "GREATER_EQ"), + + /** + * The 'IN' literal object. + * + * + * @see #IN_VALUE + * @generated + * @ordered + */ + IN(6, "IN", "IN"), + + /** + * The 'ADD' literal object. + * + * + * @see #ADD_VALUE + * @generated + * @ordered + */ + ADD(7, "ADD", "ADD"), + + /** + * The 'SUB' literal object. + * + * + * @see #SUB_VALUE + * @generated + * @ordered + */ + SUB(8, "SUB", "SUB"), + + /** + * The 'MUL' literal object. + * + * + * @see #MUL_VALUE + * @generated + * @ordered + */ + MUL(9, "MUL", "MUL"), + + /** + * The 'DIV' literal object. + * + * + * @see #DIV_VALUE + * @generated + * @ordered + */ + DIV(10, "DIV", "DIV"), + + /** + * The 'POW' literal object. + * + * + * @see #POW_VALUE + * @generated + * @ordered + */ + POW(11, "POW", "POW"); + + /** + * The 'EQ' literal value. + * + * + * @see #EQ + * @model + * @generated + * @ordered + */ + public static final int EQ_VALUE = 0; + + /** + * The 'NOT EQ' literal value. + * + * + * @see #NOT_EQ + * @model + * @generated + * @ordered + */ + public static final int NOT_EQ_VALUE = 1; + + /** + * The 'LESS' literal value. + * + * + * @see #LESS + * @model + * @generated + * @ordered + */ + public static final int LESS_VALUE = 2; + + /** + * The 'LESS EQ' literal value. + * + * + * @see #LESS_EQ + * @model + * @generated + * @ordered + */ + public static final int LESS_EQ_VALUE = 3; + + /** + * The 'GREATER' literal value. + * + * + * @see #GREATER + * @model + * @generated + * @ordered + */ + public static final int GREATER_VALUE = 4; + + /** + * The 'GREATER EQ' literal value. + * + * + * @see #GREATER_EQ + * @model + * @generated + * @ordered + */ + public static final int GREATER_EQ_VALUE = 5; + + /** + * The 'IN' literal value. + * + * + * @see #IN + * @model + * @generated + * @ordered + */ + public static final int IN_VALUE = 6; + + /** + * The 'ADD' literal value. + * + * + * @see #ADD + * @model + * @generated + * @ordered + */ + public static final int ADD_VALUE = 7; + + /** + * The 'SUB' literal value. + * + * + * @see #SUB + * @model + * @generated + * @ordered + */ + public static final int SUB_VALUE = 8; + + /** + * The 'MUL' literal value. + * + * + * @see #MUL + * @model + * @generated + * @ordered + */ + public static final int MUL_VALUE = 9; + + /** + * The 'DIV' literal value. + * + * + * @see #DIV + * @model + * @generated + * @ordered + */ + public static final int DIV_VALUE = 10; + + /** + * The 'POW' literal value. + * + * + * @see #POW + * @model + * @generated + * @ordered + */ + public static final int POW_VALUE = 11; + + /** + * An array of all the 'Binary Operator' enumerators. + * + * + * @generated + */ + private static final BinaryOperator[] VALUES_ARRAY = + new BinaryOperator[] + { + EQ, + NOT_EQ, + LESS, + LESS_EQ, + GREATER, + GREATER_EQ, + IN, + ADD, + SUB, + MUL, + DIV, + POW, + }; + + /** + * A public read-only list of all the 'Binary Operator' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Binary Operator' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static BinaryOperator get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + BinaryOperator result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the 'Binary Operator' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static BinaryOperator getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + BinaryOperator result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the 'Binary Operator' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static BinaryOperator get(int value) + { + switch (value) + { + case EQ_VALUE: return EQ; + case NOT_EQ_VALUE: return NOT_EQ; + case LESS_VALUE: return LESS; + case LESS_EQ_VALUE: return LESS_EQ; + case GREATER_VALUE: return GREATER; + case GREATER_EQ_VALUE: return GREATER_EQ; + case IN_VALUE: return IN; + case ADD_VALUE: return ADD; + case SUB_VALUE: return SUB; + case MUL_VALUE: return MUL; + case DIV_VALUE: return DIV; + case POW_VALUE: return POW; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private BinaryOperator(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + @Override + public int getValue() + { + return value; + } + + /** + * + * + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + @Override + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Boolean False'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanFalse() - * @model - * @generated - */ -public interface BooleanFalse extends BooleanValue -{ -} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Boolean Object'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject#getValue Value}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanObject() - * @model - * @generated - */ -public interface BooleanObject extends DataObject -{ - /** - * Returns the value of the 'Value' containment reference. - * - * - * @return the value of the 'Value' containment reference. - * @see #setValue(BooleanValue) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanObject_Value() - * @model containment="true" - * @generated - */ - BooleanValue getValue(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject#getValue Value}' containment reference. - * - * - * @param value the new value of the 'Value' containment reference. - * @see #getValue() - * @generated - */ - void setValue(BooleanValue value); - -} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Boolean Symbol'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanSymbol() - * @model - * @generated - */ -public interface BooleanSymbol extends DataSymbol -{ -} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Boolean True'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanTrue() - * @model - * @generated - */ -public interface BooleanTrue extends BooleanValue -{ -} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Boolean Value'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanValue() - * @model - * @generated - */ -public interface BooleanValue extends EObject -{ -} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Bounded Multiplicity'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound Lower Bound}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound Upper Bound}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedMultiplicity() + * @model + * @generated + */ +public interface BoundedMultiplicity extends Multiplicity +{ + /** + * Returns the value of the 'Lower Bound' attribute. + * + * + * @return the value of the 'Lower Bound' attribute. + * @see #setLowerBound(int) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedMultiplicity_LowerBound() + * @model + * @generated + */ + int getLowerBound(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound Lower Bound}' attribute. + * + * + * @param value the new value of the 'Lower Bound' attribute. + * @see #getLowerBound() + * @generated + */ + void setLowerBound(int value); + + /** + * Returns the value of the 'Upper Bound' attribute. + * + * + * @return the value of the 'Upper Bound' attribute. + * @see #setUpperBound(int) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedMultiplicity_UpperBound() + * @model + * @generated + */ + int getUpperBound(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound Upper Bound}' attribute. + * + * + * @param value the new value of the 'Upper Bound' attribute. + * @see #getUpperBound() + * @generated + */ + void setUpperBound(int value); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Bounded Scope Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound Lower Bound}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound Upper Bound}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedScopeDefinition() + * @model + * @generated + */ +public interface BoundedScopeDefinition extends ScopeDefinition +{ + /** + * Returns the value of the 'Lower Bound' attribute. + * + * + * @return the value of the 'Lower Bound' attribute. + * @see #setLowerBound(int) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedScopeDefinition_LowerBound() + * @model + * @generated + */ + int getLowerBound(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound Lower Bound}' attribute. + * + * + * @param value the new value of the 'Lower Bound' attribute. + * @see #getLowerBound() + * @generated + */ + void setLowerBound(int value); + + /** + * Returns the value of the 'Upper Bound' attribute. + * + * + * @return the value of the 'Upper Bound' attribute. + * @see #setUpperBound(int) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedScopeDefinition_UpperBound() + * @model + * @generated + */ + int getUpperBound(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound Upper Bound}' attribute. + * + * + * @param value the new value of the 'Upper Bound' attribute. + * @see #getUpperBound() + * @generated + */ + void setUpperBound(int value); + +} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'CD Interpretation'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCDInterpretation() - * @model - * @generated - */ -public interface CDInterpretation extends Interpretation -{ -} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Call'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor Functor}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList Argument List}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure Transitive Closure}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure Reflexive Transitive Closure}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall() + * @model + * @generated + */ +public interface Call extends Expression +{ + /** + * Returns the value of the 'Functor' containment reference. + * + * + * @return the value of the 'Functor' containment reference. + * @see #setFunctor(Reference) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_Functor() + * @model containment="true" + * @generated + */ + Reference getFunctor(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor Functor}' containment reference. + * + * + * @param value the new value of the 'Functor' containment reference. + * @see #getFunctor() + * @generated + */ + void setFunctor(Reference value); + + /** + * Returns the value of the 'Argument List' containment reference. + * + * + * @return the value of the 'Argument List' containment reference. + * @see #setArgumentList(ArgumentList) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ArgumentList() + * @model containment="true" + * @generated + */ + ArgumentList getArgumentList(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList Argument List}' containment reference. + * + * + * @param value the new value of the 'Argument List' containment reference. + * @see #getArgumentList() + * @generated + */ + void setArgumentList(ArgumentList value); + + /** + * Returns the value of the 'Transitive Closure' attribute. + * + * + * @return the value of the 'Transitive Closure' attribute. + * @see #setTransitiveClosure(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_TransitiveClosure() + * @model + * @generated + */ + boolean isTransitiveClosure(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure Transitive Closure}' attribute. + * + * + * @param value the new value of the 'Transitive Closure' attribute. + * @see #isTransitiveClosure() + * @generated + */ + void setTransitiveClosure(boolean value); + + /** + * Returns the value of the 'Reflexive Transitive Closure' attribute. + * + * + * @return the value of the 'Reflexive Transitive Closure' attribute. + * @see #setReflexiveTransitiveClosure(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ReflexiveTransitiveClosure() + * @model + * @generated + */ + boolean isReflexiveTransitiveClosure(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure Reflexive Transitive Closure}' attribute. + * + * + * @param value the new value of the 'Reflexive Transitive Closure' attribute. + * @see #isReflexiveTransitiveClosure() + * @generated + */ + void setReflexiveTransitiveClosure(boolean value); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Case'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition Condition}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody Body}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase() + * @model + * @generated + */ +public interface Case extends Expression +{ + /** + * Returns the value of the 'Condition' containment reference. + * + * + * @return the value of the 'Condition' containment reference. + * @see #setCondition(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase_Condition() + * @model containment="true" + * @generated + */ + Expression getCondition(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition Condition}' containment reference. + * + * + * @param value the new value of the 'Condition' containment reference. + * @see #getCondition() + * @generated + */ + void setCondition(Expression value); + + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + +} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - -import org.eclipse.emf.common.util.EList; - -/** - * - * A representation of the model object 'Class Interpretation'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#isAbstract Abstract}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSymbol Symbol}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSupertypes Supertypes}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getFielt Fielt}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation() - * @model - * @generated - */ -public interface ClassInterpretation extends CDInterpretation -{ - /** - * Returns the value of the 'Abstract' attribute. - * - * - * @return the value of the 'Abstract' attribute. - * @see #setAbstract(boolean) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation_Abstract() - * @model - * @generated - */ - boolean isAbstract(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#isAbstract Abstract}' attribute. - * - * - * @param value the new value of the 'Abstract' attribute. - * @see #isAbstract() - * @generated - */ - void setAbstract(boolean value); - - /** - * Returns the value of the 'Symbol' containment reference. - * - * - * @return the value of the 'Symbol' containment reference. - * @see #setSymbol(ModelSymbol) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation_Symbol() - * @model containment="true" - * @generated - */ - ModelSymbol getSymbol(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSymbol Symbol}' containment reference. - * - * - * @param value the new value of the 'Symbol' containment reference. - * @see #getSymbol() - * @generated - */ - void setSymbol(ModelSymbol value); - - /** - * Returns the value of the 'Supertypes' containment reference list. - * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol}. - * - * - * @return the value of the 'Supertypes' containment reference list. - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation_Supertypes() - * @model containment="true" - * @generated - */ - EList getSupertypes(); - - /** - * Returns the value of the 'Fielt' containment reference list. - * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation}. - * - * - * @return the value of the 'Fielt' containment reference list. - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation_Fielt() - * @model containment="true" - * @generated - */ - EList getFielt(); - -} // ClassInterpretation 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/ClosureType.java deleted file mode 100644 index f9d8dc28..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClosureType.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Closure Type'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClosureType() - * @model - * @generated - */ -public interface ClosureType extends EObject -{ -} // ClosureType 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Comparison'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft Left}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp Op}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight Right}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison() + * @model + * @generated + */ +public interface Comparison extends Expression +{ + /** + * Returns the value of the 'Left' containment reference. + * + * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Op' attribute. + * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator}. + * + * + * @return the value of the 'Op' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator + * @see #setOp(BinaryOperator) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Op() + * @model + * @generated + */ + BinaryOperator getOp(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp Op}' attribute. + * + * + * @param value the new value of the 'Op' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator + * @see #getOp() + * @generated + */ + void setOp(BinaryOperator value); + + /** + * Returns the value of the 'Right' containment reference. + * + * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Complex Object'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComplexObject() - * @model - * @generated - */ -public interface ComplexObject extends EObject -{ -} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Conjunction'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren Children}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConjunction() + * @model + * @generated + */ +public interface Conjunction extends Expression +{ + /** + * Returns the value of the 'Children' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Expression}. + * + * + * @return the value of the 'Children' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConjunction_Children() + * @model containment="true" + * @generated + */ + EList getChildren(); + +} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Constraint'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getPolarity Polarity}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol Symbol}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getParams Params}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType Closure Type}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint() - * @model - * @generated - */ -public interface Constraint extends EObject -{ - /** - * Returns the value of the 'Polarity' containment reference. - * - * - * @return the value of the 'Polarity' containment reference. - * @see #setPolarity(Polarity) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_Polarity() - * @model containment="true" - * @generated - */ - Polarity getPolarity(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getPolarity Polarity}' containment reference. - * - * - * @param value the new value of the 'Polarity' containment reference. - * @see #getPolarity() - * @generated - */ - void setPolarity(Polarity value); - - /** - * Returns the value of the 'Symbol' containment reference. - * - * - * @return the value of the 'Symbol' containment reference. - * @see #setSymbol(ModelSymbol) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_Symbol() - * @model containment="true" - * @generated - */ - ModelSymbol getSymbol(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol Symbol}' containment reference. - * - * - * @param value the new value of the 'Symbol' containment reference. - * @see #getSymbol() - * @generated - */ - void setSymbol(ModelSymbol value); - - /** - * Returns the value of the 'Params' containment reference list. - * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Literal}. - * - * - * @return the value of the 'Params' containment reference list. - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_Params() - * @model containment="true" - * @generated - */ - EList getParams(); - - /** - * Returns the value of the 'Closure Type' containment reference. - * - * - * @return the value of the 'Closure Type' containment reference. - * @see #setClosureType(ClosureType) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_ClosureType() - * @model containment="true" - * @generated - */ - ClosureType getClosureType(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType Closure Type}' containment reference. - * - * - * @param value the new value of the 'Closure Type' containment reference. - * @see #getClosureType() - * @generated - */ - void setClosureType(ClosureType value); - -} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Count'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Count#getBody Body}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCount() + * @model + * @generated + */ +public interface Count extends Expression +{ + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCount_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Count#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + +} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Data Object'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDataObject() - * @model - * @generated - */ -public interface DataObject extends org.eclipse.viatra.solver.language.solverLanguage.Object, Literal -{ -} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Data Symbol'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDataSymbol() - * @model - * @generated - */ -public interface DataSymbol extends Symbol -{ -} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Default Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead Head}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange Range}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultDefinition() + * @model + * @generated + */ +public interface DefaultDefinition extends Statement +{ + /** + * Returns the value of the 'Head' containment reference. + * + * + * @return the value of the 'Head' containment reference. + * @see #setHead(Call) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultDefinition_Head() + * @model containment="true" + * @generated + */ + Call getHead(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead Head}' containment reference. + * + * + * @param value the new value of the 'Head' containment reference. + * @see #getHead() + * @generated + */ + void setHead(Call value); + + /** + * Returns the value of the 'Range' containment reference. + * + * + * @return the value of the 'Range' containment reference. + * @see #setRange(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultDefinition_Range() + * @model containment="true" + * @generated + */ + Expression getRange(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange Range}' containment reference. + * + * + * @param value the new value of the 'Range' containment reference. + * @see #getRange() + * @generated + */ + void setRange(Expression value); + +} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Default Interpretation'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation#getInterpretation Interpretation}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultInterpretation() - * @model - * @generated - */ -public interface DefaultInterpretation extends Interpretation -{ - /** - * Returns the value of the 'Interpretation' containment reference. - * - * - * @return the value of the 'Interpretation' containment reference. - * @see #setInterpretation(BasicInterpretation) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultInterpretation_Interpretation() - * @model containment="true" - * @generated - */ - BasicInterpretation getInterpretation(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation#getInterpretation Interpretation}' containment reference. - * - * - * @param value the new value of the 'Interpretation' containment reference. - * @see #getInterpretation() - * @generated - */ - void setInterpretation(BasicInterpretation value); - -} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Disjunction'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren Children}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDisjunction() + * @model + * @generated + */ +public interface Disjunction extends Expression +{ + /** + * Returns the value of the 'Children' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Expression}. + * + * + * @return the value of the 'Children' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDisjunction_Children() + * @model containment="true" + * @generated + */ + EList getChildren(); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Empty Interval Literal'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEmptyIntervalLiteral() + * @model + * @generated + */ +public interface EmptyIntervalLiteral extends Literal +{ +} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - -import org.eclipse.emf.common.util.EList; - -/** - * - * A representation of the model object 'Enum Interpretation'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getSymbol Symbol}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getObjects Objects}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEnumInterpretation() - * @model - * @generated - */ -public interface EnumInterpretation extends CDInterpretation -{ - /** - * Returns the value of the 'Symbol' containment reference. - * - * - * @return the value of the 'Symbol' containment reference. - * @see #setSymbol(ModelSymbol) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEnumInterpretation_Symbol() - * @model containment="true" - * @generated - */ - ModelSymbol getSymbol(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getSymbol Symbol}' containment reference. - * - * - * @param value the new value of the 'Symbol' containment reference. - * @see #getSymbol() - * @generated - */ - void setSymbol(ModelSymbol value); - - /** - * Returns the value of the 'Objects' containment reference list. - * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject}. - * - * - * @return the value of the 'Objects' containment reference list. - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEnumInterpretation_Objects() - * @model containment="true" - * @generated - */ - EList getObjects(); - -} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Equals Symbol'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEqualsSymbol() - * @model - * @generated - */ -public interface EqualsSymbol extends PartialitySymbol -{ -} // EqualsSymbol 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/Error.java deleted file mode 100644 index bf99bc42..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Error.java +++ /dev/null @@ -1,19 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Error'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getError() - * @model - * @generated - */ -public interface Error extends TruthValue -{ -} // Error 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Exact Multiplicity'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity Multiplicity}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactMultiplicity() + * @model + * @generated + */ +public interface ExactMultiplicity extends Multiplicity +{ + /** + * Returns the value of the 'Multiplicity' attribute. + * + * + * @return the value of the 'Multiplicity' attribute. + * @see #setMultiplicity(int) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactMultiplicity_Multiplicity() + * @model + * @generated + */ + int getMultiplicity(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity Multiplicity}' attribute. + * + * + * @param value the new value of the 'Multiplicity' attribute. + * @see #getMultiplicity() + * @generated + */ + void setMultiplicity(int value); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Exact Scope Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope Exact Scope}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactScopeDefinition() + * @model + * @generated + */ +public interface ExactScopeDefinition extends ScopeDefinition +{ + /** + * Returns the value of the 'Exact Scope' attribute. + * + * + * @return the value of the 'Exact Scope' attribute. + * @see #setExactScope(int) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactScopeDefinition_ExactScope() + * @model + * @generated + */ + int getExactScope(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope Exact Scope}' attribute. + * + * + * @param value the new value of the 'Exact Scope' attribute. + * @see #getExactScope() + * @generated + */ + void setExactScope(int value); + +} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Exist Symbol'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExistSymbol() - * @model - * @generated - */ -public interface ExistSymbol extends PartialitySymbol -{ -} // ExistSymbol diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java new file mode 100644 index 00000000..1ecd89a5 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java @@ -0,0 +1,19 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Expression'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpression() + * @model + * @generated + */ +public interface Expression extends Statement +{ +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Expression Argument'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody Body}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpressionArgument() + * @model + * @generated + */ +public interface ExpressionArgument extends Argument +{ + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpressionArgument_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Extern Metric Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead Head}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition() + * @model + * @generated + */ +public interface ExternMetricDefinition extends Statement +{ + /** + * Returns the value of the 'Type' attribute. + * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.MetricType}. + * + * + * @return the value of the 'Type' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType + * @see #setType(MetricType) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition_Type() + * @model + * @generated + */ + MetricType getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType Type}' attribute. + * + * + * @param value the new value of the 'Type' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType + * @see #getType() + * @generated + */ + void setType(MetricType value); + + /** + * Returns the value of the 'Head' containment reference. + * + * + * @return the value of the 'Head' containment reference. + * @see #setHead(Call) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition_Head() + * @model containment="true" + * @generated + */ + Call getHead(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead Head}' containment reference. + * + * + * @param value the new value of the 'Head' containment reference. + * @see #getHead() + * @generated + */ + void setHead(Call value); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Extern Predicate Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getHead Head}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternPredicateDefinition() + * @model + * @generated + */ +public interface ExternPredicateDefinition extends Statement +{ + /** + * Returns the value of the 'Head' containment reference. + * + * + * @return the value of the 'Head' containment reference. + * @see #setHead(Call) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternPredicateDefinition_Head() + * @model containment="true" + * @generated + */ + Call getHead(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getHead Head}' containment reference. + * + * + * @param value the new value of the 'Head' containment reference. + * @see #getHead() + * @generated + */ + void setHead(Call value); + +} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'False'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFalse() - * @model - * @generated - */ -public interface False extends TruthValue -{ -} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Field Relation Interpretation'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#isContainment Containment}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getSymbol Symbol}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getMultiplicity Multiplicity}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getTarget Target}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation() - * @model - * @generated - */ -public interface FieldRelationInterpretation extends EObject -{ - /** - * Returns the value of the 'Containment' attribute. - * - * - * @return the value of the 'Containment' attribute. - * @see #setContainment(boolean) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation_Containment() - * @model - * @generated - */ - boolean isContainment(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#isContainment Containment}' attribute. - * - * - * @param value the new value of the 'Containment' attribute. - * @see #isContainment() - * @generated - */ - void setContainment(boolean value); - - /** - * Returns the value of the 'Symbol' containment reference. - * - * - * @return the value of the 'Symbol' containment reference. - * @see #setSymbol(ModelSymbol) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation_Symbol() - * @model containment="true" - * @generated - */ - ModelSymbol getSymbol(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getSymbol Symbol}' containment reference. - * - * - * @param value the new value of the 'Symbol' containment reference. - * @see #getSymbol() - * @generated - */ - void setSymbol(ModelSymbol value); - - /** - * Returns the value of the 'Multiplicity' containment reference. - * - * - * @return the value of the 'Multiplicity' containment reference. - * @see #setMultiplicity(MultiplicityDefinition) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation_Multiplicity() - * @model containment="true" - * @generated - */ - MultiplicityDefinition getMultiplicity(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getMultiplicity Multiplicity}' containment reference. - * - * - * @param value the new value of the 'Multiplicity' containment reference. - * @see #getMultiplicity() - * @generated - */ - void setMultiplicity(MultiplicityDefinition value); - - /** - * Returns the value of the 'Target' containment reference. - * - * - * @return the value of the 'Target' containment reference. - * @see #setTarget(Symbol) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation_Target() - * @model containment="true" - * @generated - */ - Symbol getTarget(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getTarget Target}' containment reference. - * - * - * @param value the new value of the 'Target' containment reference. - * @see #getTarget() - * @generated - */ - void setTarget(Symbol value); - -} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Global Relation Interpretation'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#isContainment Containment}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSymbol Symbol}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSourceMultiplicity Source Multiplicity}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSource Source}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTargetMultiplicity Target Multiplicity}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTarget Target}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation() - * @model - * @generated - */ -public interface GlobalRelationInterpretation extends CDInterpretation -{ - /** - * Returns the value of the 'Containment' attribute. - * - * - * @return the value of the 'Containment' attribute. - * @see #setContainment(boolean) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_Containment() - * @model - * @generated - */ - boolean isContainment(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#isContainment Containment}' attribute. - * - * - * @param value the new value of the 'Containment' attribute. - * @see #isContainment() - * @generated - */ - void setContainment(boolean value); - - /** - * Returns the value of the 'Symbol' containment reference. - * - * - * @return the value of the 'Symbol' containment reference. - * @see #setSymbol(ModelSymbol) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_Symbol() - * @model containment="true" - * @generated - */ - ModelSymbol getSymbol(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSymbol Symbol}' containment reference. - * - * - * @param value the new value of the 'Symbol' containment reference. - * @see #getSymbol() - * @generated - */ - void setSymbol(ModelSymbol value); - - /** - * Returns the value of the 'Source Multiplicity' containment reference. - * - * - * @return the value of the 'Source Multiplicity' containment reference. - * @see #setSourceMultiplicity(MultiplicityDefinition) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_SourceMultiplicity() - * @model containment="true" - * @generated - */ - MultiplicityDefinition getSourceMultiplicity(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSourceMultiplicity Source Multiplicity}' containment reference. - * - * - * @param value the new value of the 'Source Multiplicity' containment reference. - * @see #getSourceMultiplicity() - * @generated - */ - void setSourceMultiplicity(MultiplicityDefinition value); - - /** - * Returns the value of the 'Source' containment reference. - * - * - * @return the value of the 'Source' containment reference. - * @see #setSource(Symbol) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_Source() - * @model containment="true" - * @generated - */ - Symbol getSource(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSource Source}' containment reference. - * - * - * @param value the new value of the 'Source' containment reference. - * @see #getSource() - * @generated - */ - void setSource(Symbol value); - - /** - * Returns the value of the 'Target Multiplicity' containment reference. - * - * - * @return the value of the 'Target Multiplicity' containment reference. - * @see #setTargetMultiplicity(MultiplicityDefinition) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_TargetMultiplicity() - * @model containment="true" - * @generated - */ - MultiplicityDefinition getTargetMultiplicity(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTargetMultiplicity Target Multiplicity}' containment reference. - * - * - * @param value the new value of the 'Target Multiplicity' containment reference. - * @see #getTargetMultiplicity() - * @generated - */ - void setTargetMultiplicity(MultiplicityDefinition value); - - /** - * Returns the value of the 'Target' containment reference. - * - * - * @return the value of the 'Target' containment reference. - * @see #setTarget(Symbol) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_Target() - * @model containment="true" - * @generated - */ - Symbol getTarget(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTarget Target}' containment reference. - * - * - * @param value the new value of the 'Target' containment reference. - * @see #getTarget() - * @generated - */ - void setTarget(Symbol value); - -} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'If Else'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition Condition}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen Then}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse Else}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse() + * @model + * @generated + */ +public interface IfElse extends Expression +{ + /** + * Returns the value of the 'Condition' containment reference. + * + * + * @return the value of the 'Condition' containment reference. + * @see #setCondition(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Condition() + * @model containment="true" + * @generated + */ + Expression getCondition(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition Condition}' containment reference. + * + * + * @param value the new value of the 'Condition' containment reference. + * @see #getCondition() + * @generated + */ + void setCondition(Expression value); + + /** + * Returns the value of the 'Then' containment reference. + * + * + * @return the value of the 'Then' containment reference. + * @see #setThen(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Then() + * @model containment="true" + * @generated + */ + Expression getThen(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen Then}' containment reference. + * + * + * @param value the new value of the 'Then' containment reference. + * @see #getThen() + * @generated + */ + void setThen(Expression value); + + /** + * Returns the value of the 'Else' containment reference. + * + * + * @return the value of the 'Else' containment reference. + * @see #setElse(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Else() + * @model containment="true" + * @generated + */ + Expression getElse(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse Else}' containment reference. + * + * + * @param value the new value of the 'Else' containment reference. + * @see #getElse() + * @generated + */ + void setElse(Expression value); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Infinity Literal'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInfinityLiteral() + * @model + * @generated + */ +public interface InfinityLiteral extends Literal +{ +} // InfinityLiteral 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/IntObject.java deleted file mode 100644 index 1a42b0c3..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntObject.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Int Object'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.IntObject#getValue Value}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIntObject() - * @model - * @generated - */ -public interface IntObject extends DataObject -{ - /** - * Returns the value of the 'Value' attribute. - * - * - * @return the value of the 'Value' attribute. - * @see #setValue(int) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIntObject_Value() - * @model - * @generated - */ - int getValue(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject#getValue Value}' attribute. - * - * - * @param value the new value of the 'Value' attribute. - * @see #getValue() - * @generated - */ - void setValue(int value); - -} // IntObject 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Integer Symbol'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIntegerSymbol() - * @model - * @generated - */ -public interface IntegerSymbol extends DataSymbol -{ -} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Interpretation'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterpretation() - * @model - * @generated - */ -public interface Interpretation extends Statement -{ -} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Interval'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound Lower Bound}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound Upper Bound}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterval() + * @model + * @generated + */ +public interface Interval extends Expression +{ + /** + * Returns the value of the 'Lower Bound' containment reference. + * + * + * @return the value of the 'Lower Bound' containment reference. + * @see #setLowerBound(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterval_LowerBound() + * @model containment="true" + * @generated + */ + Expression getLowerBound(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound Lower Bound}' containment reference. + * + * + * @param value the new value of the 'Lower Bound' containment reference. + * @see #getLowerBound() + * @generated + */ + void setLowerBound(Expression value); + + /** + * Returns the value of the 'Upper Bound' containment reference. + * + * + * @return the value of the 'Upper Bound' containment reference. + * @see #setUpperBound(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterval_UpperBound() + * @model containment="true" + * @generated + */ + Expression getUpperBound(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound Upper Bound}' containment reference. + * + * + * @param value the new value of the 'Upper Bound' containment reference. + * @see #getUpperBound() + * @generated + */ + void setUpperBound(Expression value); + +} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Irreflexive Closure'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIrreflexiveClosure() - * @model - * @generated - */ -public interface IrreflexiveClosure extends ClosureType -{ -} // 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 @@ /** - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.solverLanguage; -import org.eclipse.emf.ecore.EObject; /** * @@ -15,6 +14,6 @@ import org.eclipse.emf.ecore.EObject; * @model * @generated */ -public interface Literal extends EObject +public interface Literal extends Expression { } // Literal diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java new file mode 100644 index 00000000..b3eb1523 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java @@ -0,0 +1,50 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Logic Literal'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue Value}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicLiteral() + * @model + * @generated + */ +public interface LogicLiteral extends Literal +{ + /** + * Returns the value of the 'Value' attribute. + * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue}. + * + * + * @return the value of the 'Value' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue + * @see #setValue(LogicValue) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicLiteral_Value() + * @model + * @generated + */ + LogicValue getValue(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue Value}' attribute. + * + * + * @param value the new value of the 'Value' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue + * @see #getValue() + * @generated + */ + void setValue(LogicValue value); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'Logic Value', + * and utility methods for working with them. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicValue() + * @model + * @generated + */ +public enum LogicValue implements Enumerator +{ + /** + * The 'TRUE' literal object. + * + * + * @see #TRUE_VALUE + * @generated + * @ordered + */ + TRUE(0, "TRUE", "true"), + + /** + * The 'FALSE' literal object. + * + * + * @see #FALSE_VALUE + * @generated + * @ordered + */ + FALSE(1, "FALSE", "false"), + + /** + * The 'UNKNOWN' literal object. + * + * + * @see #UNKNOWN_VALUE + * @generated + * @ordered + */ + UNKNOWN(2, "UNKNOWN", "unknown"), + + /** + * The 'ERROR' literal object. + * + * + * @see #ERROR_VALUE + * @generated + * @ordered + */ + ERROR(3, "ERROR", "error"); + + /** + * The 'TRUE' literal value. + * + * + * @see #TRUE + * @model literal="true" + * @generated + * @ordered + */ + public static final int TRUE_VALUE = 0; + + /** + * The 'FALSE' literal value. + * + * + * @see #FALSE + * @model literal="false" + * @generated + * @ordered + */ + public static final int FALSE_VALUE = 1; + + /** + * The 'UNKNOWN' literal value. + * + * + * @see #UNKNOWN + * @model literal="unknown" + * @generated + * @ordered + */ + public static final int UNKNOWN_VALUE = 2; + + /** + * The 'ERROR' literal value. + * + * + * @see #ERROR + * @model literal="error" + * @generated + * @ordered + */ + public static final int ERROR_VALUE = 3; + + /** + * An array of all the 'Logic Value' enumerators. + * + * + * @generated + */ + private static final LogicValue[] VALUES_ARRAY = + new LogicValue[] + { + TRUE, + FALSE, + UNKNOWN, + ERROR, + }; + + /** + * A public read-only list of all the 'Logic Value' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Logic Value' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static LogicValue get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + LogicValue result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the 'Logic Value' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static LogicValue getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + LogicValue result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the 'Logic Value' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static LogicValue get(int value) + { + switch (value) + { + case TRUE_VALUE: return TRUE; + case FALSE_VALUE: return FALSE; + case UNKNOWN_VALUE: return UNKNOWN; + case ERROR_VALUE: return ERROR; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private LogicValue(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + @Override + public int getValue() + { + return value; + } + + /** + * + * + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + @Override + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Lower Bounded Scope Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound Lower Bound}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLowerBoundedScopeDefinition() + * @model + * @generated + */ +public interface LowerBoundedScopeDefinition extends ScopeDefinition +{ + /** + * Returns the value of the 'Lower Bound' attribute. + * + * + * @return the value of the 'Lower Bound' attribute. + * @see #setLowerBound(int) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLowerBoundedScopeDefinition_LowerBound() + * @model + * @generated + */ + int getLowerBound(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound Lower Bound}' attribute. + * + * + * @param value the new value of the 'Lower Bound' attribute. + * @see #getLowerBound() + * @generated + */ + void setLowerBound(int value); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Many Multiplicity'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getManyMultiplicity() + * @model + * @generated + */ +public interface ManyMultiplicity extends Multiplicity +{ +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Member Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment Containment}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity Multiplicity}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite Opposite}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition() + * @model + * @generated + */ +public interface MemberDefinition extends EObject +{ + /** + * Returns the value of the 'Containment' attribute. + * + * + * @return the value of the 'Containment' attribute. + * @see #setContainment(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Containment() + * @model + * @generated + */ + boolean isContainment(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment Containment}' attribute. + * + * + * @param value the new value of the 'Containment' attribute. + * @see #isContainment() + * @generated + */ + void setContainment(boolean value); + + /** + * Returns the value of the 'Type' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement value); + + /** + * Returns the value of the 'Multiplicity' containment reference. + * + * + * @return the value of the 'Multiplicity' containment reference. + * @see #setMultiplicity(Multiplicity) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Multiplicity() + * @model containment="true" + * @generated + */ + Multiplicity getMultiplicity(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity Multiplicity}' containment reference. + * + * + * @param value the new value of the 'Multiplicity' containment reference. + * @see #getMultiplicity() + * @generated + */ + void setMultiplicity(Multiplicity value); + + /** + * Returns the value of the 'Name' attribute. + * + * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Opposite' reference. + * + * + * @return the value of the 'Opposite' reference. + * @see #setOpposite(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Opposite() + * @model + * @generated + */ + NamedElement getOpposite(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite Opposite}' reference. + * + * + * @param value the new value of the 'Opposite' reference. + * @see #getOpposite() + * @generated + */ + void setOpposite(NamedElement value); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Metric Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead Head}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition() + * @model + * @generated + */ +public interface MetricDefinition extends Statement +{ + /** + * Returns the value of the 'Head' containment reference. + * + * + * @return the value of the 'Head' containment reference. + * @see #setHead(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Head() + * @model containment="true" + * @generated + */ + Expression getHead(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead Head}' containment reference. + * + * + * @param value the new value of the 'Head' containment reference. + * @see #getHead() + * @generated + */ + void setHead(Expression value); + + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + + /** + * Returns the value of the 'Type' attribute. + * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.MetricType}. + * + * + * @return the value of the 'Type' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType + * @see #setType(MetricType) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Type() + * @model + * @generated + */ + MetricType getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType Type}' attribute. + * + * + * @param value the new value of the 'Type' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType + * @see #getType() + * @generated + */ + void setType(MetricType value); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'Metric Type', + * and utility methods for working with them. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricType() + * @model + * @generated + */ +public enum MetricType implements Enumerator +{ + /** + * The 'INT' literal object. + * + * + * @see #INT_VALUE + * @generated + * @ordered + */ + INT(0, "INT", "int"), + + /** + * The 'REAL' literal object. + * + * + * @see #REAL_VALUE + * @generated + * @ordered + */ + REAL(1, "REAL", "real"); + + /** + * The 'INT' literal value. + * + * + * @see #INT + * @model literal="int" + * @generated + * @ordered + */ + public static final int INT_VALUE = 0; + + /** + * The 'REAL' literal value. + * + * + * @see #REAL + * @model literal="real" + * @generated + * @ordered + */ + public static final int REAL_VALUE = 1; + + /** + * An array of all the 'Metric Type' enumerators. + * + * + * @generated + */ + private static final MetricType[] VALUES_ARRAY = + new MetricType[] + { + INT, + REAL, + }; + + /** + * A public read-only list of all the 'Metric Type' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Metric Type' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static MetricType get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + MetricType result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the 'Metric Type' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static MetricType getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + MetricType result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the 'Metric Type' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static MetricType get(int value) + { + switch (value) + { + case INT_VALUE: return INT; + case REAL_VALUE: return REAL; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private MetricType(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + @Override + public int getValue() + { + return value; + } + + /** + * + * + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + @Override + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //MetricType 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/ModelSymbol.java deleted file mode 100644 index 0d91b791..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ModelSymbol.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Model Symbol'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol#getName Name}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getModelSymbol() - * @model - * @generated - */ -public interface ModelSymbol extends Symbol -{ - /** - * Returns the value of the 'Name' attribute. - * - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getModelSymbol_Name() - * @model - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - -} // ModelSymbol diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java new file mode 100644 index 00000000..1cbfadd6 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java @@ -0,0 +1,20 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Multiplicity'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicity() + * @model + * @generated + */ +public interface Multiplicity extends EObject +{ +} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Multiplicity Definition'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getLower Lower}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getUpper Upper}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#isUnlimitedUpper Unlimited Upper}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicityDefinition() - * @model - * @generated - */ -public interface MultiplicityDefinition extends EObject -{ - /** - * Returns the value of the 'Lower' attribute. - * - * - * @return the value of the 'Lower' attribute. - * @see #setLower(int) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicityDefinition_Lower() - * @model - * @generated - */ - int getLower(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getLower Lower}' attribute. - * - * - * @param value the new value of the 'Lower' attribute. - * @see #getLower() - * @generated - */ - void setLower(int value); - - /** - * Returns the value of the 'Upper' attribute. - * - * - * @return the value of the 'Upper' attribute. - * @see #setUpper(int) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicityDefinition_Upper() - * @model - * @generated - */ - int getUpper(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getUpper Upper}' attribute. - * - * - * @param value the new value of the 'Upper' attribute. - * @see #getUpper() - * @generated - */ - void setUpper(int value); - - /** - * Returns the value of the 'Unlimited Upper' attribute. - * - * - * @return the value of the 'Unlimited Upper' attribute. - * @see #setUnlimitedUpper(boolean) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicityDefinition_UnlimitedUpper() - * @model - * @generated - */ - boolean isUnlimitedUpper(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#isUnlimitedUpper Unlimited Upper}' attribute. - * - * - * @param value the new value of the 'Unlimited Upper' attribute. - * @see #isUnlimitedUpper() - * @generated - */ - void setUnlimitedUpper(boolean value); - -} // MultiplicityDefinition diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java new file mode 100644 index 00000000..0372da14 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java @@ -0,0 +1,48 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Named Element'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName Name}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedElement() + * @model + * @generated + */ +public interface NamedElement extends EObject +{ + /** + * Returns the value of the 'Name' attribute. + * + * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedElement_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Named Object'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject#getName Name}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedObject() - * @model - * @generated - */ -public interface NamedObject extends org.eclipse.viatra.solver.language.solverLanguage.Object, Literal -{ - /** - * Returns the value of the 'Name' attribute. - * - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedObject_Name() - * @model - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - -} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Negative'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNegative() - * @model - * @generated - */ -public interface Negative extends Polarity -{ -} // Negative diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java new file mode 100644 index 00000000..9e30d508 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java @@ -0,0 +1,48 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import java.math.BigDecimal; + +/** + * + * A representation of the model object 'Numeric Literal'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue Value}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNumericLiteral() + * @model + * @generated + */ +public interface NumericLiteral extends Literal +{ + /** + * Returns the value of the 'Value' attribute. + * + * + * @return the value of the 'Value' attribute. + * @see #setValue(BigDecimal) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNumericLiteral_Value() + * @model + * @generated + */ + BigDecimal getValue(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue Value}' attribute. + * + * + * @param value the new value of the 'Value' attribute. + * @see #getValue() + * @generated + */ + void setValue(BigDecimal value); + +} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Object'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObject() - * @model - * @generated - */ -public interface Object extends ComplexObject -{ -} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Objective Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind Kind}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective Objective}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDefinition() + * @model + * @generated + */ +public interface ObjectiveDefinition extends Statement +{ + /** + * Returns the value of the 'Kind' attribute. + * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind}. + * + * + * @return the value of the 'Kind' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind + * @see #setKind(ObjectiveKind) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDefinition_Kind() + * @model + * @generated + */ + ObjectiveKind getKind(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind Kind}' attribute. + * + * + * @param value the new value of the 'Kind' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind + * @see #getKind() + * @generated + */ + void setKind(ObjectiveKind value); + + /** + * Returns the value of the 'Objective' containment reference. + * + * + * @return the value of the 'Objective' containment reference. + * @see #setObjective(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDefinition_Objective() + * @model containment="true" + * @generated + */ + Expression getObjective(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective Objective}' containment reference. + * + * + * @param value the new value of the 'Objective' containment reference. + * @see #getObjective() + * @generated + */ + void setObjective(Expression value); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'Objective Kind', + * and utility methods for working with them. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveKind() + * @model + * @generated + */ +public enum ObjectiveKind implements Enumerator +{ + /** + * The 'MINIMIZE' literal object. + * + * + * @see #MINIMIZE_VALUE + * @generated + * @ordered + */ + MINIMIZE(0, "MINIMIZE", "minimize"), + + /** + * The 'MAXIMIZE' literal object. + * + * + * @see #MAXIMIZE_VALUE + * @generated + * @ordered + */ + MAXIMIZE(1, "MAXIMIZE", "maximize"); + + /** + * The 'MINIMIZE' literal value. + * + * + * @see #MINIMIZE + * @model literal="minimize" + * @generated + * @ordered + */ + public static final int MINIMIZE_VALUE = 0; + + /** + * The 'MAXIMIZE' literal value. + * + * + * @see #MAXIMIZE + * @model literal="maximize" + * @generated + * @ordered + */ + public static final int MAXIMIZE_VALUE = 1; + + /** + * An array of all the 'Objective Kind' enumerators. + * + * + * @generated + */ + private static final ObjectiveKind[] VALUES_ARRAY = + new ObjectiveKind[] + { + MINIMIZE, + MAXIMIZE, + }; + + /** + * A public read-only list of all the 'Objective Kind' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Objective Kind' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static ObjectiveKind get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + ObjectiveKind result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the 'Objective Kind' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static ObjectiveKind getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + ObjectiveKind result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the 'Objective Kind' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static ObjectiveKind get(int value) + { + switch (value) + { + case MINIMIZE_VALUE: return MINIMIZE; + case MAXIMIZE_VALUE: return MAXIMIZE; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private ObjectiveKind(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + @Override + public int getValue() + { + return value; + } + + /** + * + * + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + @Override + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Parameter'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getVariable Variable}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getType Type}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getParameter() - * @model - * @generated - */ -public interface Parameter extends EObject -{ - /** - * Returns the value of the 'Variable' containment reference. - * - * - * @return the value of the 'Variable' containment reference. - * @see #setVariable(Variable) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getParameter_Variable() - * @model containment="true" - * @generated - */ - Variable getVariable(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getVariable Variable}' containment reference. - * - * - * @param value the new value of the 'Variable' containment reference. - * @see #getVariable() - * @generated - */ - void setVariable(Variable value); - - /** - * Returns the value of the 'Type' containment reference. - * - * - * @return the value of the 'Type' containment reference. - * @see #setType(Symbol) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getParameter_Type() - * @model containment="true" - * @generated - */ - Symbol getType(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getType Type}' containment reference. - * - * - * @param value the new value of the 'Type' containment reference. - * @see #getType() - * @generated - */ - void setType(Symbol value); - -} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Partiality Symbol'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPartialitySymbol() - * @model - * @generated - */ -public interface PartialitySymbol extends Symbol -{ -} // PartialitySymbol 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/PatternBody.java deleted file mode 100644 index 62be12a1..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PatternBody.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Pattern Body'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody#getConstraints Constraints}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPatternBody() - * @model - * @generated - */ -public interface PatternBody extends EObject -{ - /** - * Returns the value of the 'Constraints' containment reference list. - * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Constraint}. - * - * - * @return the value of the 'Constraints' containment reference list. - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPatternBody_Constraints() - * @model containment="true" - * @generated - */ - EList getConstraints(); - -} // PatternBody 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/Polarity.java deleted file mode 100644 index ba30c6ad..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Polarity.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Polarity'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPolarity() - * @model - * @generated - */ -public interface Polarity extends EObject -{ -} // Polarity 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Positive'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPositive() - * @model - * @generated - */ -public interface Positive extends Polarity -{ -} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - -import org.eclipse.emf.common.util.EList; - -/** - * - * A representation of the model object 'Predicate'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError Is Error}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol Symbol}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters Parameters}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies Bodies}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate() - * @model - * @generated - */ -public interface Predicate extends Statement -{ - /** - * Returns the value of the 'Is Error' attribute. - * - * - * @return the value of the 'Is Error' attribute. - * @see #setIsError(boolean) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_IsError() - * @model - * @generated - */ - boolean isIsError(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError Is Error}' attribute. - * - * - * @param value the new value of the 'Is Error' attribute. - * @see #isIsError() - * @generated - */ - void setIsError(boolean value); - - /** - * Returns the value of the 'Symbol' containment reference. - * - * - * @return the value of the 'Symbol' containment reference. - * @see #setSymbol(ModelSymbol) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_Symbol() - * @model containment="true" - * @generated - */ - ModelSymbol getSymbol(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol Symbol}' containment reference. - * - * - * @param value the new value of the 'Symbol' containment reference. - * @see #getSymbol() - * @generated - */ - void setSymbol(ModelSymbol value); - - /** - * Returns the value of the 'Parameters' containment reference list. - * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Parameter}. - * - * - * @return the value of the 'Parameters' containment reference list. - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_Parameters() - * @model containment="true" - * @generated - */ - EList getParameters(); - - /** - * Returns the value of the 'Bodies' containment reference list. - * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody}. - * - * - * @return the value of the 'Bodies' containment reference list. - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_Bodies() - * @model containment="true" - * @generated - */ - EList getBodies(); - -} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Predicate Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead Head}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional Functional}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError Error}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition() + * @model + * @generated + */ +public interface PredicateDefinition extends Statement +{ + /** + * Returns the value of the 'Head' containment reference. + * + * + * @return the value of the 'Head' containment reference. + * @see #setHead(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Head() + * @model containment="true" + * @generated + */ + Expression getHead(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead Head}' containment reference. + * + * + * @param value the new value of the 'Head' containment reference. + * @see #getHead() + * @generated + */ + void setHead(Expression value); + + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + + /** + * Returns the value of the 'Functional' attribute. + * + * + * @return the value of the 'Functional' attribute. + * @see #setFunctional(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Functional() + * @model + * @generated + */ + boolean isFunctional(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional Functional}' attribute. + * + * + * @param value the new value of the 'Functional' attribute. + * @see #isFunctional() + * @generated + */ + void setFunctional(boolean value); + + /** + * Returns the value of the 'Error' attribute. + * + * + * @return the value of the 'Error' attribute. + * @see #setError(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Error() + * @model + * @generated + */ + boolean isError(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError Error}' attribute. + * + * + * @param value the new value of the 'Error' attribute. + * @see #isError() + * @generated + */ + void setError(boolean value); + +} // 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 @@ /** - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.solverLanguage; 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/RealObject.java deleted file mode 100644 index 12e8be3e..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealObject.java +++ /dev/null @@ -1,48 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - -import java.math.BigDecimal; - -/** - * - * A representation of the model object 'Real Object'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.RealObject#getValue Value}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getRealObject() - * @model - * @generated - */ -public interface RealObject extends DataObject -{ - /** - * Returns the value of the 'Value' attribute. - * - * - * @return the value of the 'Value' attribute. - * @see #setValue(BigDecimal) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getRealObject_Value() - * @model - * @generated - */ - BigDecimal getValue(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject#getValue Value}' attribute. - * - * - * @param value the new value of the 'Value' attribute. - * @see #getValue() - * @generated - */ - void setValue(BigDecimal value); - -} // RealObject 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Real Symbol'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getRealSymbol() - * @model - * @generated - */ -public interface RealSymbol extends DataSymbol -{ -} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Reference'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred Referred}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getReference() + * @model + * @generated + */ +public interface Reference extends Expression +{ + /** + * Returns the value of the 'Referred' reference. + * + * + * @return the value of the 'Referred' reference. + * @see #setReferred(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getReference_Referred() + * @model + * @generated + */ + NamedElement getReferred(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred Referred}' reference. + * + * + * @param value the new value of the 'Referred' reference. + * @see #getReferred() + * @generated + */ + void setReferred(NamedElement value); + +} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Reflexive Closure'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getReflexiveClosure() - * @model - * @generated - */ -public interface ReflexiveClosure extends ClosureType -{ -} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Scope Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getScopeDefinition() + * @model + * @generated + */ +public interface ScopeDefinition extends Statement +{ + /** + * Returns the value of the 'Type' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getScopeDefinition_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement value); + +} // 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 @@ /** - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.solverLanguage; @@ -42,454 +42,400 @@ public interface SolverLanguageFactory extends EFactory Statement createStatement(); /** - * Returns a new object of class 'Boolean Value'. + * Returns a new object of class 'Predicate Definition'. * * - * @return a new object of class 'Boolean Value'. + * @return a new object of class 'Predicate Definition'. * @generated */ - BooleanValue createBooleanValue(); + PredicateDefinition createPredicateDefinition(); /** - * Returns a new object of class 'Truth Value'. + * Returns a new object of class 'Unnamed Error Prediate Definition'. * * - * @return a new object of class 'Truth Value'. + * @return a new object of class 'Unnamed Error Prediate Definition'. * @generated */ - TruthValue createTruthValue(); + UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition(); /** - * Returns a new object of class 'Interpretation'. + * Returns a new object of class 'Default Definition'. * * - * @return a new object of class 'Interpretation'. + * @return a new object of class 'Default Definition'. * @generated */ - Interpretation createInterpretation(); + DefaultDefinition createDefaultDefinition(); /** - * Returns a new object of class 'Basic Interpretation'. + * Returns a new object of class 'Extern Predicate Definition'. * * - * @return a new object of class 'Basic Interpretation'. + * @return a new object of class 'Extern Predicate Definition'. * @generated */ - BasicInterpretation createBasicInterpretation(); + ExternPredicateDefinition createExternPredicateDefinition(); /** - * Returns a new object of class 'Symbol'. + * Returns a new object of class 'Metric Definition'. * * - * @return a new object of class 'Symbol'. + * @return a new object of class 'Metric Definition'. * @generated */ - Symbol createSymbol(); + MetricDefinition createMetricDefinition(); /** - * Returns a new object of class 'Model Symbol'. + * Returns a new object of class 'Extern Metric Definition'. * * - * @return a new object of class 'Model Symbol'. + * @return a new object of class 'Extern Metric Definition'. * @generated */ - ModelSymbol createModelSymbol(); + ExternMetricDefinition createExternMetricDefinition(); /** - * Returns a new object of class 'Partiality Symbol'. + * Returns a new object of class 'Expression'. * * - * @return a new object of class 'Partiality Symbol'. + * @return a new object of class 'Expression'. * @generated */ - PartialitySymbol createPartialitySymbol(); + Expression createExpression(); /** - * Returns a new object of class 'Exist Symbol'. + * Returns a new object of class 'If Else'. * * - * @return a new object of class 'Exist Symbol'. + * @return a new object of class 'If Else'. * @generated */ - ExistSymbol createExistSymbol(); + IfElse createIfElse(); /** - * Returns a new object of class 'Equals Symbol'. + * Returns a new object of class 'Case'. * * - * @return a new object of class 'Equals Symbol'. + * @return a new object of class 'Case'. * @generated */ - EqualsSymbol createEqualsSymbol(); + Case createCase(); /** - * Returns a new object of class 'Data Symbol'. + * Returns a new object of class 'Count'. * * - * @return a new object of class 'Data Symbol'. + * @return a new object of class 'Count'. * @generated */ - DataSymbol createDataSymbol(); + Count createCount(); /** - * Returns a new object of class 'Boolean Symbol'. + * Returns a new object of class 'Aggregation'. * * - * @return a new object of class 'Boolean Symbol'. + * @return a new object of class 'Aggregation'. * @generated */ - BooleanSymbol createBooleanSymbol(); + Aggregation createAggregation(); /** - * Returns a new object of class 'Integer Symbol'. + * Returns a new object of class 'Call'. * * - * @return a new object of class 'Integer Symbol'. + * @return a new object of class 'Call'. * @generated */ - IntegerSymbol createIntegerSymbol(); + Call createCall(); /** - * Returns a new object of class 'Real Symbol'. + * Returns a new object of class 'Argument List'. * * - * @return a new object of class 'Real Symbol'. + * @return a new object of class 'Argument List'. * @generated */ - RealSymbol createRealSymbol(); + ArgumentList createArgumentList(); /** - * Returns a new object of class 'String Symbol'. + * Returns a new object of class 'Argument'. * * - * @return a new object of class 'String Symbol'. + * @return a new object of class 'Argument'. * @generated */ - StringSymbol createStringSymbol(); + Argument createArgument(); /** - * Returns a new object of class 'Complex Object'. + * Returns a new object of class 'Expression Argument'. * * - * @return a new object of class 'Complex Object'. + * @return a new object of class 'Expression Argument'. * @generated */ - ComplexObject createComplexObject(); + ExpressionArgument createExpressionArgument(); /** - * Returns a new object of class 'Object'. + * Returns a new object of class 'Star Argument'. * * - * @return a new object of class 'Object'. + * @return a new object of class 'Star Argument'. * @generated */ - Object createObject(); + StarArgument createStarArgument(); /** - * Returns a new object of class 'Named Object'. + * Returns a new object of class 'Typed Argument'. * * - * @return a new object of class 'Named Object'. + * @return a new object of class 'Typed Argument'. * @generated */ - NamedObject createNamedObject(); + TypedArgument createTypedArgument(); /** - * Returns a new object of class 'Unnamed Object'. + * Returns a new object of class 'Typed Star Argument'. * * - * @return a new object of class 'Unnamed Object'. + * @return a new object of class 'Typed Star Argument'. * @generated */ - UnnamedObject createUnnamedObject(); + TypedStarArgument createTypedStarArgument(); /** - * Returns a new object of class 'Data Object'. + * Returns a new object of class 'Reference'. * * - * @return a new object of class 'Data Object'. + * @return a new object of class 'Reference'. * @generated */ - DataObject createDataObject(); + Reference createReference(); /** - * Returns a new object of class 'Boolean Object'. + * Returns a new object of class 'Interval'. * * - * @return a new object of class 'Boolean Object'. + * @return a new object of class 'Interval'. * @generated */ - BooleanObject createBooleanObject(); + Interval createInterval(); /** - * Returns a new object of class 'Int Object'. - * - * - * @return a new object of class 'Int Object'. - * @generated - */ - IntObject createIntObject(); - - /** - * Returns a new object of class 'Real Object'. - * - * - * @return a new object of class 'Real Object'. - * @generated - */ - RealObject createRealObject(); - - /** - * Returns a new object of class 'String Object'. - * - * - * @return a new object of class 'String Object'. - * @generated - */ - StringObject createStringObject(); - - /** - * Returns a new object of class 'Predicate'. - * - * - * @return a new object of class 'Predicate'. - * @generated - */ - Predicate createPredicate(); - - /** - * Returns a new object of class 'Parameter'. - * - * - * @return a new object of class 'Parameter'. - * @generated - */ - Parameter createParameter(); - - /** - * Returns a new object of class 'Pattern Body'. - * - * - * @return a new object of class 'Pattern Body'. - * @generated - */ - PatternBody createPatternBody(); - - /** - * Returns a new object of class 'Polarity'. + * Returns a new object of class 'Literal'. * * - * @return a new object of class 'Polarity'. + * @return a new object of class 'Literal'. * @generated */ - Polarity createPolarity(); + Literal createLiteral(); /** - * Returns a new object of class 'Constraint'. + * Returns a new object of class 'Logic Literal'. * * - * @return a new object of class 'Constraint'. + * @return a new object of class 'Logic Literal'. * @generated */ - Constraint createConstraint(); + LogicLiteral createLogicLiteral(); /** - * Returns a new object of class 'Closure Type'. + * Returns a new object of class 'Numeric Literal'. * * - * @return a new object of class 'Closure Type'. + * @return a new object of class 'Numeric Literal'. * @generated */ - ClosureType createClosureType(); + NumericLiteral createNumericLiteral(); /** - * Returns a new object of class 'Literal'. + * Returns a new object of class 'Infinity Literal'. * * - * @return a new object of class 'Literal'. + * @return a new object of class 'Infinity Literal'. * @generated */ - Literal createLiteral(); + InfinityLiteral createInfinityLiteral(); /** - * Returns a new object of class 'Variable'. + * Returns a new object of class 'Empty Interval Literal'. * * - * @return a new object of class 'Variable'. + * @return a new object of class 'Empty Interval Literal'. * @generated */ - Variable createVariable(); + EmptyIntervalLiteral createEmptyIntervalLiteral(); /** - * Returns a new object of class 'All Instances'. + * Returns a new object of class 'String Literal'. * * - * @return a new object of class 'All Instances'. + * @return a new object of class 'String Literal'. * @generated */ - AllInstances createAllInstances(); + StringLiteral createStringLiteral(); /** - * Returns a new object of class 'All Objects'. + * Returns a new object of class 'Member Definition'. * * - * @return a new object of class 'All Objects'. + * @return a new object of class 'Member Definition'. * @generated */ - AllObjects createAllObjects(); + MemberDefinition createMemberDefinition(); /** - * Returns a new object of class 'Default Interpretation'. + * Returns a new object of class 'Multiplicity'. * * - * @return a new object of class 'Default Interpretation'. + * @return a new object of class 'Multiplicity'. * @generated */ - DefaultInterpretation createDefaultInterpretation(); + Multiplicity createMultiplicity(); /** - * Returns a new object of class 'CD Interpretation'. + * Returns a new object of class 'Many Multiplicity'. * * - * @return a new object of class 'CD Interpretation'. + * @return a new object of class 'Many Multiplicity'. * @generated */ - CDInterpretation createCDInterpretation(); + ManyMultiplicity createManyMultiplicity(); /** - * Returns a new object of class 'Class Interpretation'. + * Returns a new object of class 'Exact Multiplicity'. * * - * @return a new object of class 'Class Interpretation'. + * @return a new object of class 'Exact Multiplicity'. * @generated */ - ClassInterpretation createClassInterpretation(); + ExactMultiplicity createExactMultiplicity(); /** - * Returns a new object of class 'Enum Interpretation'. + * Returns a new object of class 'Bounded Multiplicity'. * * - * @return a new object of class 'Enum Interpretation'. + * @return a new object of class 'Bounded Multiplicity'. * @generated */ - EnumInterpretation createEnumInterpretation(); + BoundedMultiplicity createBoundedMultiplicity(); /** - * Returns a new object of class 'Field Relation Interpretation'. + * Returns a new object of class 'Scope Definition'. * * - * @return a new object of class 'Field Relation Interpretation'. + * @return a new object of class 'Scope Definition'. * @generated */ - FieldRelationInterpretation createFieldRelationInterpretation(); + ScopeDefinition createScopeDefinition(); /** - * Returns a new object of class 'Global Relation Interpretation'. + * Returns a new object of class 'Exact Scope Definition'. * * - * @return a new object of class 'Global Relation Interpretation'. + * @return a new object of class 'Exact Scope Definition'. * @generated */ - GlobalRelationInterpretation createGlobalRelationInterpretation(); + ExactScopeDefinition createExactScopeDefinition(); /** - * Returns a new object of class 'Multiplicity Definition'. + * Returns a new object of class 'Bounded Scope Definition'. * * - * @return a new object of class 'Multiplicity Definition'. + * @return a new object of class 'Bounded Scope Definition'. * @generated */ - MultiplicityDefinition createMultiplicityDefinition(); + BoundedScopeDefinition createBoundedScopeDefinition(); /** - * Returns a new object of class 'Boolean True'. + * Returns a new object of class 'Lower Bounded Scope Definition'. * * - * @return a new object of class 'Boolean True'. + * @return a new object of class 'Lower Bounded Scope Definition'. * @generated */ - BooleanTrue createBooleanTrue(); + LowerBoundedScopeDefinition createLowerBoundedScopeDefinition(); /** - * Returns a new object of class 'Boolean False'. + * Returns a new object of class 'Objective Definition'. * * - * @return a new object of class 'Boolean False'. + * @return a new object of class 'Objective Definition'. * @generated */ - BooleanFalse createBooleanFalse(); + ObjectiveDefinition createObjectiveDefinition(); /** - * Returns a new object of class 'True'. + * Returns a new object of class 'Named Element'. * * - * @return a new object of class 'True'. + * @return a new object of class 'Named Element'. * @generated */ - True createTrue(); + NamedElement createNamedElement(); /** - * Returns a new object of class 'False'. + * Returns a new object of class 'Assertion'. * * - * @return a new object of class 'False'. + * @return a new object of class 'Assertion'. * @generated */ - False createFalse(); + Assertion createAssertion(); /** - * Returns a new object of class 'Unknown'. + * Returns a new object of class 'Disjunction'. * * - * @return a new object of class 'Unknown'. + * @return a new object of class 'Disjunction'. * @generated */ - Unknown createUnknown(); + Disjunction createDisjunction(); /** - * Returns a new object of class 'Error'. + * Returns a new object of class 'Switch'. * * - * @return a new object of class 'Error'. + * @return a new object of class 'Switch'. * @generated */ - Error createError(); + Switch createSwitch(); /** - * Returns a new object of class 'Positive'. + * Returns a new object of class 'Conjunction'. * * - * @return a new object of class 'Positive'. + * @return a new object of class 'Conjunction'. * @generated */ - Positive createPositive(); + Conjunction createConjunction(); /** - * Returns a new object of class 'Negative'. + * Returns a new object of class 'Comparison'. * * - * @return a new object of class 'Negative'. + * @return a new object of class 'Comparison'. * @generated */ - Negative createNegative(); + Comparison createComparison(); /** - * Returns a new object of class 'Reflexive Closure'. + * Returns a new object of class 'Binary Expression'. * * - * @return a new object of class 'Reflexive Closure'. + * @return a new object of class 'Binary Expression'. * @generated */ - ReflexiveClosure createReflexiveClosure(); + BinaryExpression createBinaryExpression(); /** - * Returns a new object of class 'Irreflexive Closure'. + * Returns a new object of class 'Unary Expression'. * * - * @return a new object of class 'Irreflexive Closure'. + * @return a new object of class 'Unary Expression'. * @generated */ - IrreflexiveClosure createIrreflexiveClosure(); + UnaryExpression createUnaryExpression(); /** * 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 @@ /** - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.solverLanguage; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EEnum; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; @@ -96,2368 +97,4053 @@ public interface SolverLanguagePackage extends EPackage int STATEMENT = 1; /** - * The number of structural features of the 'Statement' class. + * The feature id for the 'Abstract' attribute. * * * @generated * @ordered */ - int STATEMENT_FEATURE_COUNT = 0; + int STATEMENT__ABSTRACT = 0; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanValueImpl Boolean Value}' class. + * The feature id for the 'Name' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanValueImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanValue() * @generated + * @ordered */ - int BOOLEAN_VALUE = 2; + int STATEMENT__NAME = 1; /** - * The number of structural features of the 'Boolean Value' class. + * The feature id for the 'Superclasses' reference list. * * * @generated * @ordered */ - int BOOLEAN_VALUE_FEATURE_COUNT = 0; + int STATEMENT__SUPERCLASSES = 2; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TruthValueImpl Truth Value}' class. + * The feature id for the 'Members' containment reference list. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TruthValueImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTruthValue() * @generated + * @ordered */ - int TRUTH_VALUE = 3; + int STATEMENT__MEMBERS = 3; /** - * The number of structural features of the 'Truth Value' class. + * The number of structural features of the 'Statement' class. * * * @generated * @ordered */ - int TRUTH_VALUE_FEATURE_COUNT = 0; + int STATEMENT_FEATURE_COUNT = 4; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl Interpretation}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl Predicate Definition}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterpretation() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition() * @generated */ - int INTERPRETATION = 4; + int PREDICATE_DEFINITION = 2; /** - * The number of structural features of the 'Interpretation' class. + * The feature id for the 'Abstract' attribute. * * * @generated * @ordered */ - int INTERPRETATION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0; + int PREDICATE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl Basic Interpretation}' class. + * The feature id for the 'Name' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBasicInterpretation() * @generated + * @ordered */ - int BASIC_INTERPRETATION = 5; + int PREDICATE_DEFINITION__NAME = STATEMENT__NAME; /** - * The feature id for the 'Symbol' containment reference. + * The feature id for the 'Superclasses' reference list. * * * @generated * @ordered */ - int BASIC_INTERPRETATION__SYMBOL = INTERPRETATION_FEATURE_COUNT + 0; + int PREDICATE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES; /** - * The feature id for the 'Objects' containment reference list. + * The feature id for the 'Members' containment reference list. * * * @generated * @ordered */ - int BASIC_INTERPRETATION__OBJECTS = INTERPRETATION_FEATURE_COUNT + 1; + int PREDICATE_DEFINITION__MEMBERS = STATEMENT__MEMBERS; /** - * The feature id for the 'Value' containment reference. + * The feature id for the 'Head' containment reference. * * * @generated * @ordered */ - int BASIC_INTERPRETATION__VALUE = INTERPRETATION_FEATURE_COUNT + 2; + int PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; /** - * The number of structural features of the 'Basic Interpretation' class. + * The feature id for the 'Body' containment reference. * * * @generated * @ordered */ - int BASIC_INTERPRETATION_FEATURE_COUNT = INTERPRETATION_FEATURE_COUNT + 3; + int PREDICATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl Symbol}' class. + * The feature id for the 'Functional' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSymbol() * @generated + * @ordered */ - int SYMBOL = 6; + int PREDICATE_DEFINITION__FUNCTIONAL = STATEMENT_FEATURE_COUNT + 2; /** - * The number of structural features of the 'Symbol' class. + * The feature id for the 'Error' attribute. * * * @generated * @ordered */ - int SYMBOL_FEATURE_COUNT = 0; + int PREDICATE_DEFINITION__ERROR = STATEMENT_FEATURE_COUNT + 3; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl Model Symbol}' class. + * The number of structural features of the 'Predicate Definition' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getModelSymbol() * @generated + * @ordered */ - int MODEL_SYMBOL = 7; + int PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4; /** - * The feature id for the 'Name' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl Unnamed Error Prediate Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPrediateDefinition() * @generated - * @ordered */ - int MODEL_SYMBOL__NAME = SYMBOL_FEATURE_COUNT + 0; + int UNNAMED_ERROR_PREDIATE_DEFINITION = 3; /** - * The number of structural features of the 'Model Symbol' class. + * The feature id for the 'Abstract' attribute. * * * @generated * @ordered */ - int MODEL_SYMBOL_FEATURE_COUNT = SYMBOL_FEATURE_COUNT + 1; + int UNNAMED_ERROR_PREDIATE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PartialitySymbolImpl Partiality Symbol}' class. + * The feature id for the 'Name' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PartialitySymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPartialitySymbol() * @generated + * @ordered */ - int PARTIALITY_SYMBOL = 8; + int UNNAMED_ERROR_PREDIATE_DEFINITION__NAME = STATEMENT__NAME; /** - * The number of structural features of the 'Partiality Symbol' class. + * The feature id for the 'Superclasses' reference list. * * * @generated * @ordered */ - int PARTIALITY_SYMBOL_FEATURE_COUNT = SYMBOL_FEATURE_COUNT + 0; + int UNNAMED_ERROR_PREDIATE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExistSymbolImpl Exist Symbol}' class. + * The feature id for the 'Members' containment reference list. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExistSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExistSymbol() * @generated + * @ordered */ - int EXIST_SYMBOL = 9; + int UNNAMED_ERROR_PREDIATE_DEFINITION__MEMBERS = STATEMENT__MEMBERS; /** - * The number of structural features of the 'Exist Symbol' class. + * The feature id for the 'Argument List' containment reference. * * * @generated * @ordered */ - int EXIST_SYMBOL_FEATURE_COUNT = PARTIALITY_SYMBOL_FEATURE_COUNT + 0; + int UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 0; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EqualsSymbolImpl Equals Symbol}' class. + * The feature id for the 'Body' containment reference. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EqualsSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEqualsSymbol() * @generated + * @ordered */ - int EQUALS_SYMBOL = 10; + int UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; /** - * The number of structural features of the 'Equals Symbol' class. + * The number of structural features of the 'Unnamed Error Prediate Definition' class. * * * @generated * @ordered */ - int EQUALS_SYMBOL_FEATURE_COUNT = PARTIALITY_SYMBOL_FEATURE_COUNT + 0; + int UNNAMED_ERROR_PREDIATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DataSymbolImpl Data Symbol}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl Default Definition}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DataSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDataSymbol() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition() * @generated */ - int DATA_SYMBOL = 11; + int DEFAULT_DEFINITION = 4; /** - * The number of structural features of the 'Data Symbol' class. + * The feature id for the 'Abstract' attribute. * * * @generated * @ordered */ - int DATA_SYMBOL_FEATURE_COUNT = SYMBOL_FEATURE_COUNT + 0; + int DEFAULT_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanSymbolImpl Boolean Symbol}' class. + * The feature id for the 'Name' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanSymbol() * @generated + * @ordered */ - int BOOLEAN_SYMBOL = 12; + int DEFAULT_DEFINITION__NAME = STATEMENT__NAME; /** - * The number of structural features of the 'Boolean Symbol' class. + * The feature id for the 'Superclasses' reference list. * * * @generated * @ordered */ - int BOOLEAN_SYMBOL_FEATURE_COUNT = DATA_SYMBOL_FEATURE_COUNT + 0; + int DEFAULT_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntegerSymbolImpl Integer Symbol}' class. + * The feature id for the 'Members' containment reference list. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntegerSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntegerSymbol() * @generated + * @ordered */ - int INTEGER_SYMBOL = 13; + int DEFAULT_DEFINITION__MEMBERS = STATEMENT__MEMBERS; /** - * The number of structural features of the 'Integer Symbol' class. + * The feature id for the 'Head' containment reference. * * * @generated * @ordered */ - int INTEGER_SYMBOL_FEATURE_COUNT = DATA_SYMBOL_FEATURE_COUNT + 0; + int DEFAULT_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealSymbolImpl Real Symbol}' class. + * The feature id for the 'Range' containment reference. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealSymbol() * @generated + * @ordered */ - int REAL_SYMBOL = 14; + int DEFAULT_DEFINITION__RANGE = STATEMENT_FEATURE_COUNT + 1; /** - * The number of structural features of the 'Real Symbol' class. + * The number of structural features of the 'Default Definition' class. * * * @generated * @ordered */ - int REAL_SYMBOL_FEATURE_COUNT = DATA_SYMBOL_FEATURE_COUNT + 0; + int DEFAULT_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringSymbolImpl String Symbol}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl Extern Predicate Definition}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringSymbol() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition() * @generated */ - int STRING_SYMBOL = 15; + int EXTERN_PREDICATE_DEFINITION = 5; /** - * The number of structural features of the 'String Symbol' class. + * The feature id for the 'Abstract' attribute. * * * @generated * @ordered */ - int STRING_SYMBOL_FEATURE_COUNT = DATA_SYMBOL_FEATURE_COUNT + 0; + int EXTERN_PREDICATE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComplexObjectImpl Complex Object}' class. + * The feature id for the 'Name' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComplexObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComplexObject() * @generated + * @ordered */ - int COMPLEX_OBJECT = 16; + int EXTERN_PREDICATE_DEFINITION__NAME = STATEMENT__NAME; /** - * The number of structural features of the 'Complex Object' class. + * The feature id for the 'Superclasses' reference list. * * * @generated * @ordered */ - int COMPLEX_OBJECT_FEATURE_COUNT = 0; + int EXTERN_PREDICATE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectImpl Object}' class. + * The feature id for the 'Members' containment reference list. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObject() * @generated + * @ordered */ - int OBJECT = 17; + int EXTERN_PREDICATE_DEFINITION__MEMBERS = STATEMENT__MEMBERS; /** - * The number of structural features of the 'Object' class. + * The feature id for the 'Head' containment reference. * * * @generated * @ordered */ - int OBJECT_FEATURE_COUNT = COMPLEX_OBJECT_FEATURE_COUNT + 0; + int EXTERN_PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl Named Object}' class. + * The number of structural features of the 'Extern Predicate Definition' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedObject() * @generated + * @ordered */ - int NAMED_OBJECT = 18; + int EXTERN_PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; /** - * The feature id for the 'Name' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl Metric Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition() * @generated - * @ordered */ - int NAMED_OBJECT__NAME = OBJECT_FEATURE_COUNT + 0; + int METRIC_DEFINITION = 6; /** - * The number of structural features of the 'Named Object' class. + * The feature id for the 'Abstract' attribute. * * * @generated * @ordered */ - int NAMED_OBJECT_FEATURE_COUNT = OBJECT_FEATURE_COUNT + 1; + int METRIC_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl Unnamed Object}' class. + * The feature id for the 'Name' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedObject() * @generated + * @ordered */ - int UNNAMED_OBJECT = 19; + int METRIC_DEFINITION__NAME = STATEMENT__NAME; /** - * The feature id for the 'Name' attribute. + * The feature id for the 'Superclasses' reference list. * * * @generated * @ordered */ - int UNNAMED_OBJECT__NAME = OBJECT_FEATURE_COUNT + 0; + int METRIC_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES; /** - * The number of structural features of the 'Unnamed Object' class. + * The feature id for the 'Members' containment reference list. * * * @generated * @ordered */ - int UNNAMED_OBJECT_FEATURE_COUNT = OBJECT_FEATURE_COUNT + 1; + int METRIC_DEFINITION__MEMBERS = STATEMENT__MEMBERS; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DataObjectImpl Data Object}' class. + * The feature id for the 'Head' containment reference. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DataObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDataObject() * @generated + * @ordered */ - int DATA_OBJECT = 20; + int METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; /** - * The number of structural features of the 'Data Object' class. + * The feature id for the 'Body' containment reference. * * * @generated * @ordered */ - int DATA_OBJECT_FEATURE_COUNT = OBJECT_FEATURE_COUNT + 0; + int METRIC_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl Boolean Object}' class. + * The feature id for the 'Type' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanObject() * @generated + * @ordered */ - int BOOLEAN_OBJECT = 21; + int METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 2; /** - * The feature id for the 'Value' containment reference. + * The number of structural features of the 'Metric Definition' class. * * * @generated * @ordered */ - int BOOLEAN_OBJECT__VALUE = DATA_OBJECT_FEATURE_COUNT + 0; + int METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3; /** - * The number of structural features of the 'Boolean Object' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl Extern Metric Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternMetricDefinition() * @generated - * @ordered */ - int BOOLEAN_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 1; + int EXTERN_METRIC_DEFINITION = 7; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl Int Object}' class. + * The feature id for the 'Abstract' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntObject() * @generated + * @ordered */ - int INT_OBJECT = 22; + int EXTERN_METRIC_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT; /** - * The feature id for the 'Value' attribute. + * The feature id for the 'Name' attribute. * * * @generated * @ordered */ - int INT_OBJECT__VALUE = DATA_OBJECT_FEATURE_COUNT + 0; + int EXTERN_METRIC_DEFINITION__NAME = STATEMENT__NAME; /** - * The number of structural features of the 'Int Object' class. + * The feature id for the 'Superclasses' reference list. * * * @generated * @ordered */ - int INT_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 1; + int EXTERN_METRIC_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl Real Object}' class. + * The feature id for the 'Members' containment reference list. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealObject() * @generated + * @ordered */ - int REAL_OBJECT = 23; + int EXTERN_METRIC_DEFINITION__MEMBERS = STATEMENT__MEMBERS; /** - * The feature id for the 'Value' attribute. + * The feature id for the 'Type' attribute. * * * @generated * @ordered */ - int REAL_OBJECT__VALUE = DATA_OBJECT_FEATURE_COUNT + 0; + int EXTERN_METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0; /** - * The number of structural features of the 'Real Object' class. + * The feature id for the 'Head' containment reference. * * * @generated * @ordered */ - int REAL_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 1; + int EXTERN_METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 1; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl String Object}' class. + * The number of structural features of the 'Extern Metric Definition' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringObject() * @generated + * @ordered */ - int STRING_OBJECT = 24; + int EXTERN_METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; /** - * The feature id for the 'Value' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl Expression}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression() * @generated - * @ordered */ - int STRING_OBJECT__VALUE = DATA_OBJECT_FEATURE_COUNT + 0; + int EXPRESSION = 8; /** - * The number of structural features of the 'String Object' class. + * The feature id for the 'Abstract' attribute. * * * @generated * @ordered */ - int STRING_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 1; + int EXPRESSION__ABSTRACT = STATEMENT__ABSTRACT; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl Predicate}' class. + * The feature id for the 'Name' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicate() * @generated + * @ordered */ - int PREDICATE = 25; + int EXPRESSION__NAME = STATEMENT__NAME; /** - * The feature id for the 'Is Error' attribute. + * The feature id for the 'Superclasses' reference list. * * * @generated * @ordered */ - int PREDICATE__IS_ERROR = STATEMENT_FEATURE_COUNT + 0; + int EXPRESSION__SUPERCLASSES = STATEMENT__SUPERCLASSES; /** - * The feature id for the 'Symbol' containment reference. + * The feature id for the 'Members' containment reference list. * * * @generated * @ordered */ - int PREDICATE__SYMBOL = STATEMENT_FEATURE_COUNT + 1; + int EXPRESSION__MEMBERS = STATEMENT__MEMBERS; /** - * The feature id for the 'Parameters' containment reference list. + * The number of structural features of the 'Expression' class. * * * @generated * @ordered */ - int PREDICATE__PARAMETERS = STATEMENT_FEATURE_COUNT + 2; + int EXPRESSION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0; /** - * The feature id for the 'Bodies' containment reference list. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl If Else}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse() * @generated - * @ordered */ - int PREDICATE__BODIES = STATEMENT_FEATURE_COUNT + 3; + int IF_ELSE = 9; /** - * The number of structural features of the 'Predicate' class. + * The feature id for the 'Abstract' attribute. * * * @generated * @ordered */ - int PREDICATE_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4; + int IF_ELSE__ABSTRACT = EXPRESSION__ABSTRACT; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl Parameter}' class. + * The feature id for the 'Name' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getParameter() * @generated + * @ordered */ - int PARAMETER = 26; + int IF_ELSE__NAME = EXPRESSION__NAME; /** - * The feature id for the 'Variable' containment reference. + * The feature id for the 'Superclasses' reference list. * * * @generated * @ordered */ - int PARAMETER__VARIABLE = 0; + int IF_ELSE__SUPERCLASSES = EXPRESSION__SUPERCLASSES; /** - * The feature id for the 'Type' containment reference. + * The feature id for the 'Members' containment reference list. * * * @generated * @ordered */ - int PARAMETER__TYPE = 1; + int IF_ELSE__MEMBERS = EXPRESSION__MEMBERS; /** - * The number of structural features of the 'Parameter' class. + * The feature id for the 'Condition' containment reference. * * * @generated * @ordered */ - int PARAMETER_FEATURE_COUNT = 2; + int IF_ELSE__CONDITION = EXPRESSION_FEATURE_COUNT + 0; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl Pattern Body}' class. + * The feature id for the 'Then' containment reference. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPatternBody() * @generated + * @ordered */ - int PATTERN_BODY = 27; + int IF_ELSE__THEN = EXPRESSION_FEATURE_COUNT + 1; /** - * The feature id for the 'Constraints' containment reference list. + * The feature id for the 'Else' containment reference. * * * @generated * @ordered */ - int PATTERN_BODY__CONSTRAINTS = 0; + int IF_ELSE__ELSE = EXPRESSION_FEATURE_COUNT + 2; /** - * The number of structural features of the 'Pattern Body' class. + * The number of structural features of the 'If Else' class. * * * @generated * @ordered */ - int PATTERN_BODY_FEATURE_COUNT = 1; + int IF_ELSE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PolarityImpl Polarity}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl Case}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PolarityImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPolarity() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase() * @generated */ - int POLARITY = 28; + int CASE = 10; /** - * The number of structural features of the 'Polarity' class. + * The feature id for the 'Abstract' attribute. * * * @generated * @ordered */ - int POLARITY_FEATURE_COUNT = 0; + int CASE__ABSTRACT = EXPRESSION__ABSTRACT; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl Constraint}' class. + * The feature id for the 'Name' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConstraint() * @generated + * @ordered */ - int CONSTRAINT = 29; + int CASE__NAME = EXPRESSION__NAME; /** - * The feature id for the 'Polarity' containment reference. + * The feature id for the 'Superclasses' reference list. * * * @generated * @ordered */ - int CONSTRAINT__POLARITY = 0; + int CASE__SUPERCLASSES = EXPRESSION__SUPERCLASSES; /** - * The feature id for the 'Symbol' containment reference. + * The feature id for the 'Members' containment reference list. * * * @generated * @ordered */ - int CONSTRAINT__SYMBOL = 1; + int CASE__MEMBERS = EXPRESSION__MEMBERS; /** - * The feature id for the 'Params' containment reference list. + * The feature id for the 'Condition' containment reference. * * * @generated * @ordered */ - int CONSTRAINT__PARAMS = 2; + int CASE__CONDITION = EXPRESSION_FEATURE_COUNT + 0; /** - * The feature id for the 'Closure Type' containment reference. + * The feature id for the 'Body' containment reference. * * * @generated * @ordered */ - int CONSTRAINT__CLOSURE_TYPE = 3; + int CASE__BODY = EXPRESSION_FEATURE_COUNT + 1; /** - * The number of structural features of the 'Constraint' class. + * The number of structural features of the 'Case' class. * * * @generated * @ordered */ - int CONSTRAINT_FEATURE_COUNT = 4; + int CASE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClosureTypeImpl Closure Type}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl Count}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClosureTypeImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClosureType() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCount() * @generated */ - int CLOSURE_TYPE = 30; + int COUNT = 11; /** - * The number of structural features of the 'Closure Type' class. + * The feature id for the 'Abstract' attribute. * * * @generated * @ordered */ - int CLOSURE_TYPE_FEATURE_COUNT = 0; + int COUNT__ABSTRACT = EXPRESSION__ABSTRACT; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl Literal}' class. + * The feature id for the 'Name' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral() * @generated + * @ordered */ - int LITERAL = 31; + int COUNT__NAME = EXPRESSION__NAME; /** - * The number of structural features of the 'Literal' class. + * The feature id for the 'Superclasses' reference list. * * * @generated * @ordered */ - int LITERAL_FEATURE_COUNT = 0; + int COUNT__SUPERCLASSES = EXPRESSION__SUPERCLASSES; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl Variable}' class. + * The feature id for the 'Members' containment reference list. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getVariable() * @generated + * @ordered */ - int VARIABLE = 32; + int COUNT__MEMBERS = EXPRESSION__MEMBERS; /** - * The feature id for the 'Name' attribute. + * The feature id for the 'Body' containment reference. * * * @generated * @ordered */ - int VARIABLE__NAME = LITERAL_FEATURE_COUNT + 0; + int COUNT__BODY = EXPRESSION_FEATURE_COUNT + 0; /** - * The number of structural features of the 'Variable' class. + * The number of structural features of the 'Count' class. * * * @generated * @ordered */ - int VARIABLE_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; + int COUNT_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl All Instances}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl Aggregation}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllInstances() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation() * @generated */ - int ALL_INSTANCES = 33; + int AGGREGATION = 12; /** - * The feature id for the 'Symbol' containment reference. + * The feature id for the 'Abstract' attribute. * * * @generated * @ordered */ - int ALL_INSTANCES__SYMBOL = COMPLEX_OBJECT_FEATURE_COUNT + 0; + int AGGREGATION__ABSTRACT = EXPRESSION__ABSTRACT; /** - * The number of structural features of the 'All Instances' class. + * The feature id for the 'Name' attribute. * * * @generated * @ordered */ - int ALL_INSTANCES_FEATURE_COUNT = COMPLEX_OBJECT_FEATURE_COUNT + 1; + int AGGREGATION__NAME = EXPRESSION__NAME; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllObjectsImpl All Objects}' class. + * The feature id for the 'Superclasses' reference list. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AllObjectsImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllObjects() * @generated + * @ordered */ - int ALL_OBJECTS = 34; + int AGGREGATION__SUPERCLASSES = EXPRESSION__SUPERCLASSES; /** - * The number of structural features of the 'All Objects' class. + * The feature id for the 'Members' containment reference list. * * * @generated * @ordered */ - int ALL_OBJECTS_FEATURE_COUNT = COMPLEX_OBJECT_FEATURE_COUNT + 0; + int AGGREGATION__MEMBERS = EXPRESSION__MEMBERS; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl Default Interpretation}' class. + * The feature id for the 'Op' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultInterpretation() * @generated + * @ordered */ - int DEFAULT_INTERPRETATION = 35; + int AGGREGATION__OP = EXPRESSION_FEATURE_COUNT + 0; /** - * The feature id for the 'Interpretation' containment reference. + * The feature id for the 'Body' containment reference. * * * @generated * @ordered */ - int DEFAULT_INTERPRETATION__INTERPRETATION = INTERPRETATION_FEATURE_COUNT + 0; + int AGGREGATION__BODY = EXPRESSION_FEATURE_COUNT + 1; /** - * The number of structural features of the 'Default Interpretation' class. + * The feature id for the 'Condition' containment reference. * * * @generated * @ordered */ - int DEFAULT_INTERPRETATION_FEATURE_COUNT = INTERPRETATION_FEATURE_COUNT + 1; + int AGGREGATION__CONDITION = EXPRESSION_FEATURE_COUNT + 2; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CDInterpretationImpl CD Interpretation}' class. + * The number of structural features of the 'Aggregation' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CDInterpretationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCDInterpretation() * @generated + * @ordered */ - int CD_INTERPRETATION = 36; + int AGGREGATION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; /** - * The number of structural features of the 'CD Interpretation' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl Call}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCall() * @generated - * @ordered */ - int CD_INTERPRETATION_FEATURE_COUNT = INTERPRETATION_FEATURE_COUNT + 0; + int CALL = 13; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl Class Interpretation}' class. + * The feature id for the 'Abstract' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassInterpretation() * @generated + * @ordered */ - int CLASS_INTERPRETATION = 37; + int CALL__ABSTRACT = EXPRESSION__ABSTRACT; /** - * The feature id for the 'Abstract' attribute. + * The feature id for the 'Name' attribute. * * * @generated * @ordered */ - int CLASS_INTERPRETATION__ABSTRACT = CD_INTERPRETATION_FEATURE_COUNT + 0; + int CALL__NAME = EXPRESSION__NAME; /** - * The feature id for the 'Symbol' containment reference. + * The feature id for the 'Superclasses' reference list. * * * @generated * @ordered */ - int CLASS_INTERPRETATION__SYMBOL = CD_INTERPRETATION_FEATURE_COUNT + 1; + int CALL__SUPERCLASSES = EXPRESSION__SUPERCLASSES; /** - * The feature id for the 'Supertypes' containment reference list. + * The feature id for the 'Members' containment reference list. * * * @generated * @ordered */ - int CLASS_INTERPRETATION__SUPERTYPES = CD_INTERPRETATION_FEATURE_COUNT + 2; + int CALL__MEMBERS = EXPRESSION__MEMBERS; /** - * The feature id for the 'Fielt' containment reference list. + * The feature id for the 'Functor' containment reference. * * * @generated * @ordered */ - int CLASS_INTERPRETATION__FIELT = CD_INTERPRETATION_FEATURE_COUNT + 3; + int CALL__FUNCTOR = EXPRESSION_FEATURE_COUNT + 0; /** - * The number of structural features of the 'Class Interpretation' class. + * The feature id for the 'Argument List' containment reference. * * * @generated * @ordered */ - int CLASS_INTERPRETATION_FEATURE_COUNT = CD_INTERPRETATION_FEATURE_COUNT + 4; + int CALL__ARGUMENT_LIST = EXPRESSION_FEATURE_COUNT + 1; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl Enum Interpretation}' class. + * The feature id for the 'Transitive Closure' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEnumInterpretation() * @generated + * @ordered */ - int ENUM_INTERPRETATION = 38; + int CALL__TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 2; /** - * The feature id for the 'Symbol' containment reference. + * The feature id for the 'Reflexive Transitive Closure' attribute. * * * @generated * @ordered */ - int ENUM_INTERPRETATION__SYMBOL = CD_INTERPRETATION_FEATURE_COUNT + 0; + int CALL__REFLEXIVE_TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 3; /** - * The feature id for the 'Objects' containment reference list. + * The number of structural features of the 'Call' class. * * * @generated * @ordered */ - int ENUM_INTERPRETATION__OBJECTS = CD_INTERPRETATION_FEATURE_COUNT + 1; + int CALL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4; /** - * The number of structural features of the 'Enum Interpretation' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl Argument List}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgumentList() * @generated - * @ordered */ - int ENUM_INTERPRETATION_FEATURE_COUNT = CD_INTERPRETATION_FEATURE_COUNT + 2; + int ARGUMENT_LIST = 14; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl Field Relation Interpretation}' class. + * The feature id for the 'Arguments' containment reference list. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFieldRelationInterpretation() * @generated + * @ordered */ - int FIELD_RELATION_INTERPRETATION = 39; + int ARGUMENT_LIST__ARGUMENTS = 0; /** - * The feature id for the 'Containment' attribute. + * The number of structural features of the 'Argument List' class. * * * @generated * @ordered */ - int FIELD_RELATION_INTERPRETATION__CONTAINMENT = 0; + int ARGUMENT_LIST_FEATURE_COUNT = 1; /** - * The feature id for the 'Symbol' containment reference. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl Argument}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgument() * @generated - * @ordered */ - int FIELD_RELATION_INTERPRETATION__SYMBOL = 1; + int ARGUMENT = 15; /** - * The feature id for the 'Multiplicity' containment reference. + * The number of structural features of the 'Argument' class. * * * @generated * @ordered */ - int FIELD_RELATION_INTERPRETATION__MULTIPLICITY = 2; + int ARGUMENT_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl Expression Argument}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpressionArgument() + * @generated + */ + int EXPRESSION_ARGUMENT = 16; /** - * The feature id for the 'Target' containment reference. + * The feature id for the 'Body' containment reference. * * * @generated * @ordered */ - int FIELD_RELATION_INTERPRETATION__TARGET = 3; + int EXPRESSION_ARGUMENT__BODY = ARGUMENT_FEATURE_COUNT + 0; /** - * The number of structural features of the 'Field Relation Interpretation' class. + * The number of structural features of the 'Expression Argument' class. * * * @generated * @ordered */ - int FIELD_RELATION_INTERPRETATION_FEATURE_COUNT = 4; + int EXPRESSION_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl Global Relation Interpretation}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl Star Argument}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getGlobalRelationInterpretation() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument() * @generated */ - int GLOBAL_RELATION_INTERPRETATION = 40; + int STAR_ARGUMENT = 17; /** - * The feature id for the 'Containment' attribute. + * The number of structural features of the 'Star Argument' class. * * * @generated * @ordered */ - int GLOBAL_RELATION_INTERPRETATION__CONTAINMENT = CD_INTERPRETATION_FEATURE_COUNT + 0; + int STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 0; /** - * The feature id for the 'Symbol' containment reference. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl Typed Argument}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedArgument() * @generated - * @ordered */ - int GLOBAL_RELATION_INTERPRETATION__SYMBOL = CD_INTERPRETATION_FEATURE_COUNT + 1; + int TYPED_ARGUMENT = 18; /** - * The feature id for the 'Source Multiplicity' containment reference. + * The feature id for the 'Type' reference. * * * @generated * @ordered */ - int GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY = CD_INTERPRETATION_FEATURE_COUNT + 2; + int TYPED_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0; /** - * The feature id for the 'Source' containment reference. + * The feature id for the 'Variable' reference. * * * @generated * @ordered */ - int GLOBAL_RELATION_INTERPRETATION__SOURCE = CD_INTERPRETATION_FEATURE_COUNT + 3; + int TYPED_ARGUMENT__VARIABLE = ARGUMENT_FEATURE_COUNT + 1; /** - * The feature id for the 'Target Multiplicity' containment reference. + * The number of structural features of the 'Typed Argument' class. * * * @generated * @ordered */ - int GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY = CD_INTERPRETATION_FEATURE_COUNT + 4; + int TYPED_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl Typed Star Argument}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument() + * @generated + */ + int TYPED_STAR_ARGUMENT = 19; /** - * The feature id for the 'Target' containment reference. + * The feature id for the 'Type' reference. * * * @generated * @ordered */ - int GLOBAL_RELATION_INTERPRETATION__TARGET = CD_INTERPRETATION_FEATURE_COUNT + 5; + int TYPED_STAR_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0; /** - * The number of structural features of the 'Global Relation Interpretation' class. + * The number of structural features of the 'Typed Star Argument' class. * * * @generated * @ordered */ - int GLOBAL_RELATION_INTERPRETATION_FEATURE_COUNT = CD_INTERPRETATION_FEATURE_COUNT + 6; + int TYPED_STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl Multiplicity Definition}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl Reference}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicityDefinition() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference() * @generated */ - int MULTIPLICITY_DEFINITION = 41; + int REFERENCE = 20; /** - * The feature id for the 'Lower' attribute. + * The feature id for the 'Abstract' attribute. * * * @generated * @ordered */ - int MULTIPLICITY_DEFINITION__LOWER = 0; + int REFERENCE__ABSTRACT = EXPRESSION__ABSTRACT; /** - * The feature id for the 'Upper' attribute. + * The feature id for the 'Name' attribute. * * * @generated * @ordered */ - int MULTIPLICITY_DEFINITION__UPPER = 1; + int REFERENCE__NAME = EXPRESSION__NAME; /** - * The feature id for the 'Unlimited Upper' attribute. + * The feature id for the 'Superclasses' reference list. * * * @generated * @ordered */ - int MULTIPLICITY_DEFINITION__UNLIMITED_UPPER = 2; + int REFERENCE__SUPERCLASSES = EXPRESSION__SUPERCLASSES; /** - * The number of structural features of the 'Multiplicity Definition' class. + * The feature id for the 'Members' containment reference list. * * * @generated * @ordered */ - int MULTIPLICITY_DEFINITION_FEATURE_COUNT = 3; + int REFERENCE__MEMBERS = EXPRESSION__MEMBERS; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanTrueImpl Boolean True}' class. + * The feature id for the 'Referred' reference. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanTrueImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanTrue() * @generated + * @ordered */ - int BOOLEAN_TRUE = 42; + int REFERENCE__REFERRED = EXPRESSION_FEATURE_COUNT + 0; /** - * The number of structural features of the 'Boolean True' class. + * The number of structural features of the 'Reference' class. * * * @generated * @ordered */ - int BOOLEAN_TRUE_FEATURE_COUNT = BOOLEAN_VALUE_FEATURE_COUNT + 0; + int REFERENCE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanFalseImpl Boolean False}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl Interval}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanFalseImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanFalse() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval() * @generated */ - int BOOLEAN_FALSE = 43; + int INTERVAL = 21; /** - * The number of structural features of the 'Boolean False' class. + * The feature id for the 'Abstract' attribute. * * * @generated * @ordered */ - int BOOLEAN_FALSE_FEATURE_COUNT = BOOLEAN_VALUE_FEATURE_COUNT + 0; + int INTERVAL__ABSTRACT = EXPRESSION__ABSTRACT; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TrueImpl True}' class. + * The feature id for the 'Name' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TrueImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTrue() * @generated + * @ordered */ - int TRUE = 44; + int INTERVAL__NAME = EXPRESSION__NAME; /** - * The number of structural features of the 'True' class. + * The feature id for the 'Superclasses' reference list. * * * @generated * @ordered */ - int TRUE_FEATURE_COUNT = TRUTH_VALUE_FEATURE_COUNT + 0; + int INTERVAL__SUPERCLASSES = EXPRESSION__SUPERCLASSES; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FalseImpl False}' class. + * The feature id for the 'Members' containment reference list. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FalseImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFalse() * @generated + * @ordered */ - int FALSE = 45; + int INTERVAL__MEMBERS = EXPRESSION__MEMBERS; /** - * The number of structural features of the 'False' class. + * The feature id for the 'Lower Bound' containment reference. * * * @generated * @ordered */ - int FALSE_FEATURE_COUNT = TRUTH_VALUE_FEATURE_COUNT + 0; + int INTERVAL__LOWER_BOUND = EXPRESSION_FEATURE_COUNT + 0; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnknownImpl Unknown}' class. + * The feature id for the 'Upper Bound' containment reference. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnknownImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnknown() * @generated + * @ordered */ - int UNKNOWN = 46; + int INTERVAL__UPPER_BOUND = EXPRESSION_FEATURE_COUNT + 1; /** - * The number of structural features of the 'Unknown' class. + * The number of structural features of the 'Interval' class. * * * @generated * @ordered */ - int UNKNOWN_FEATURE_COUNT = TRUTH_VALUE_FEATURE_COUNT + 0; + int INTERVAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorImpl Error}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl Literal}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getError() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral() * @generated */ - int ERROR = 47; + int LITERAL = 22; /** - * The number of structural features of the 'Error' class. + * The feature id for the 'Abstract' attribute. * * * @generated * @ordered */ - int ERROR_FEATURE_COUNT = TRUTH_VALUE_FEATURE_COUNT + 0; + int LITERAL__ABSTRACT = EXPRESSION__ABSTRACT; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PositiveImpl Positive}' class. + * The feature id for the 'Name' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PositiveImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPositive() * @generated + * @ordered */ - int POSITIVE = 48; + int LITERAL__NAME = EXPRESSION__NAME; /** - * The number of structural features of the 'Positive' class. + * The feature id for the 'Superclasses' reference list. * * * @generated * @ordered */ - int POSITIVE_FEATURE_COUNT = POLARITY_FEATURE_COUNT + 0; + int LITERAL__SUPERCLASSES = EXPRESSION__SUPERCLASSES; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NegativeImpl Negative}' class. + * The feature id for the 'Members' containment reference list. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NegativeImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNegative() * @generated + * @ordered */ - int NEGATIVE = 49; + int LITERAL__MEMBERS = EXPRESSION__MEMBERS; /** - * The number of structural features of the 'Negative' class. + * The number of structural features of the 'Literal' class. * * * @generated * @ordered */ - int NEGATIVE_FEATURE_COUNT = POLARITY_FEATURE_COUNT + 0; + int LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReflexiveClosureImpl Reflexive Closure}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl Logic Literal}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReflexiveClosureImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReflexiveClosure() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral() * @generated */ - int REFLEXIVE_CLOSURE = 50; + int LOGIC_LITERAL = 23; /** - * The number of structural features of the 'Reflexive Closure' class. + * The feature id for the 'Abstract' attribute. * * * @generated * @ordered */ - int REFLEXIVE_CLOSURE_FEATURE_COUNT = CLOSURE_TYPE_FEATURE_COUNT + 0; + int LOGIC_LITERAL__ABSTRACT = LITERAL__ABSTRACT; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IrreflexiveClosureImpl Irreflexive Closure}' class. + * The feature id for the 'Name' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IrreflexiveClosureImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIrreflexiveClosure() * @generated + * @ordered */ - int IRREFLEXIVE_CLOSURE = 51; + int LOGIC_LITERAL__NAME = LITERAL__NAME; /** - * The number of structural features of the 'Irreflexive Closure' class. + * The feature id for the 'Superclasses' reference list. * * * @generated * @ordered */ - int IRREFLEXIVE_CLOSURE_FEATURE_COUNT = CLOSURE_TYPE_FEATURE_COUNT + 0; - + int LOGIC_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem Problem}'. + * The feature id for the 'Members' containment reference list. * * - * @return the meta object for class 'Problem'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Problem * @generated + * @ordered */ - EClass getProblem(); + int LOGIC_LITERAL__MEMBERS = LITERAL__MEMBERS; /** - * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements Statements}'. + * The feature id for the 'Value' attribute. * * - * @return the meta object for the containment reference list 'Statements'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements() - * @see #getProblem() * @generated + * @ordered */ - EReference getProblem_Statements(); + int LOGIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement Statement}'. + * The number of structural features of the 'Logic Literal' class. * * - * @return the meta object for class 'Statement'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Statement * @generated + * @ordered */ - EClass getStatement(); + int LOGIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanValue Boolean Value}'. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl Numeric Literal}' class. * * - * @return the meta object for class 'Boolean Value'. - * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanValue + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNumericLiteral() * @generated */ - EClass getBooleanValue(); + int NUMERIC_LITERAL = 24; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TruthValue Truth Value}'. + * The feature id for the 'Abstract' attribute. * * - * @return the meta object for class 'Truth Value'. - * @see org.eclipse.viatra.solver.language.solverLanguage.TruthValue * @generated + * @ordered */ - EClass getTruthValue(); + int NUMERIC_LITERAL__ABSTRACT = LITERAL__ABSTRACT; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation Interpretation}'. + * The feature id for the 'Name' attribute. * * - * @return the meta object for class 'Interpretation'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation * @generated + * @ordered */ - EClass getInterpretation(); + int NUMERIC_LITERAL__NAME = LITERAL__NAME; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation Basic Interpretation}'. + * The feature id for the 'Superclasses' reference list. * * - * @return the meta object for class 'Basic Interpretation'. - * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation * @generated + * @ordered */ - EClass getBasicInterpretation(); + int NUMERIC_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getSymbol Symbol}'. + * The feature id for the 'Members' containment reference list. * * - * @return the meta object for the containment reference 'Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getSymbol() - * @see #getBasicInterpretation() * @generated + * @ordered */ - EReference getBasicInterpretation_Symbol(); + int NUMERIC_LITERAL__MEMBERS = LITERAL__MEMBERS; /** - * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getObjects Objects}'. + * The feature id for the 'Value' attribute. * * - * @return the meta object for the containment reference list 'Objects'. - * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getObjects() - * @see #getBasicInterpretation() * @generated + * @ordered */ - EReference getBasicInterpretation_Objects(); + int NUMERIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getValue Value}'. + * The number of structural features of the 'Numeric Literal' class. * * - * @return the meta object for the containment reference 'Value'. - * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getValue() - * @see #getBasicInterpretation() * @generated + * @ordered */ - EReference getBasicInterpretation_Value(); + int NUMERIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Symbol Symbol}'. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl Infinity Literal}' class. * * - * @return the meta object for class 'Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Symbol + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInfinityLiteral() * @generated */ - EClass getSymbol(); + int INFINITY_LITERAL = 25; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol Model Symbol}'. + * The feature id for the 'Abstract' attribute. * * - * @return the meta object for class 'Model Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol * @generated + * @ordered */ - EClass getModelSymbol(); + int INFINITY_LITERAL__ABSTRACT = LITERAL__ABSTRACT; /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol#getName Name}'. + * The feature id for the 'Name' attribute. * * - * @return the meta object for the attribute 'Name'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol#getName() - * @see #getModelSymbol() * @generated + * @ordered */ - EAttribute getModelSymbol_Name(); + int INFINITY_LITERAL__NAME = LITERAL__NAME; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol Partiality Symbol}'. + * The feature id for the 'Superclasses' reference list. * * - * @return the meta object for class 'Partiality Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol * @generated + * @ordered */ - EClass getPartialitySymbol(); + int INFINITY_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol Exist Symbol}'. + * The feature id for the 'Members' containment reference list. * * - * @return the meta object for class 'Exist Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol * @generated + * @ordered */ - EClass getExistSymbol(); + int INFINITY_LITERAL__MEMBERS = LITERAL__MEMBERS; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol Equals Symbol}'. + * The number of structural features of the 'Infinity Literal' class. * * - * @return the meta object for class 'Equals Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol * @generated + * @ordered */ - EClass getEqualsSymbol(); + int INFINITY_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DataSymbol Data Symbol}'. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl Empty Interval Literal}' class. * * - * @return the meta object for class 'Data Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.DataSymbol + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyIntervalLiteral() * @generated */ - EClass getDataSymbol(); + int EMPTY_INTERVAL_LITERAL = 26; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol Boolean Symbol}'. + * The feature id for the 'Abstract' attribute. * * - * @return the meta object for class 'Boolean Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol * @generated + * @ordered */ - EClass getBooleanSymbol(); + int EMPTY_INTERVAL_LITERAL__ABSTRACT = LITERAL__ABSTRACT; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol Integer Symbol}'. + * The feature id for the 'Name' attribute. * * - * @return the meta object for class 'Integer Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol * @generated + * @ordered */ - EClass getIntegerSymbol(); + int EMPTY_INTERVAL_LITERAL__NAME = LITERAL__NAME; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealSymbol Real Symbol}'. + * The feature id for the 'Superclasses' reference list. * * - * @return the meta object for class 'Real Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.RealSymbol * @generated + * @ordered */ - EClass getRealSymbol(); + int EMPTY_INTERVAL_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringSymbol String Symbol}'. + * The feature id for the 'Members' containment reference list. * * - * @return the meta object for class 'String Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.StringSymbol * @generated + * @ordered */ - EClass getStringSymbol(); + int EMPTY_INTERVAL_LITERAL__MEMBERS = LITERAL__MEMBERS; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ComplexObject Complex Object}'. + * The number of structural features of the 'Empty Interval Literal' class. * * - * @return the meta object for class 'Complex Object'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ComplexObject * @generated + * @ordered */ - EClass getComplexObject(); + int EMPTY_INTERVAL_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Object Object}'. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl String Literal}' class. * * - * @return the meta object for class 'Object'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Object + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral() * @generated */ - EClass getObject(); + int STRING_LITERAL = 27; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject Named Object}'. + * The feature id for the 'Abstract' attribute. * * - * @return the meta object for class 'Named Object'. - * @see org.eclipse.viatra.solver.language.solverLanguage.NamedObject * @generated + * @ordered */ - EClass getNamedObject(); + int STRING_LITERAL__ABSTRACT = LITERAL__ABSTRACT; /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject#getName Name}'. + * The feature id for the 'Name' attribute. * * - * @return the meta object for the attribute 'Name'. - * @see org.eclipse.viatra.solver.language.solverLanguage.NamedObject#getName() - * @see #getNamedObject() * @generated + * @ordered */ - EAttribute getNamedObject_Name(); + int STRING_LITERAL__NAME = LITERAL__NAME; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject Unnamed Object}'. + * The feature id for the 'Superclasses' reference list. * * - * @return the meta object for class 'Unnamed Object'. - * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject * @generated + * @ordered */ - EClass getUnnamedObject(); + int STRING_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES; /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject#getName Name}'. + * The feature id for the 'Members' containment reference list. * * - * @return the meta object for the attribute 'Name'. - * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject#getName() - * @see #getUnnamedObject() * @generated + * @ordered */ - EAttribute getUnnamedObject_Name(); + int STRING_LITERAL__MEMBERS = LITERAL__MEMBERS; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DataObject Data Object}'. + * The feature id for the 'Value' attribute. * * - * @return the meta object for class 'Data Object'. - * @see org.eclipse.viatra.solver.language.solverLanguage.DataObject * @generated + * @ordered */ - EClass getDataObject(); + int STRING_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject Boolean Object}'. + * The number of structural features of the 'String Literal' class. * * - * @return the meta object for class 'Boolean Object'. - * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanObject * @generated + * @ordered */ - EClass getBooleanObject(); + int STRING_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject#getValue Value}'. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl Member Definition}' class. * * - * @return the meta object for the containment reference 'Value'. - * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanObject#getValue() - * @see #getBooleanObject() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition() * @generated */ - EReference getBooleanObject_Value(); + int MEMBER_DEFINITION = 28; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject Int Object}'. + * The feature id for the 'Containment' attribute. * * - * @return the meta object for class 'Int Object'. - * @see org.eclipse.viatra.solver.language.solverLanguage.IntObject * @generated + * @ordered */ - EClass getIntObject(); + int MEMBER_DEFINITION__CONTAINMENT = 0; /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject#getValue Value}'. + * The feature id for the 'Type' reference. * * - * @return the meta object for the attribute 'Value'. - * @see org.eclipse.viatra.solver.language.solverLanguage.IntObject#getValue() - * @see #getIntObject() * @generated + * @ordered */ - EAttribute getIntObject_Value(); + int MEMBER_DEFINITION__TYPE = 1; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject Real Object}'. + * The feature id for the 'Multiplicity' containment reference. * * - * @return the meta object for class 'Real Object'. - * @see org.eclipse.viatra.solver.language.solverLanguage.RealObject * @generated + * @ordered */ - EClass getRealObject(); + int MEMBER_DEFINITION__MULTIPLICITY = 2; /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject#getValue Value}'. + * The feature id for the 'Name' attribute. * * - * @return the meta object for the attribute 'Value'. - * @see org.eclipse.viatra.solver.language.solverLanguage.RealObject#getValue() - * @see #getRealObject() * @generated + * @ordered */ - EAttribute getRealObject_Value(); + int MEMBER_DEFINITION__NAME = 3; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject String Object}'. + * The feature id for the 'Opposite' reference. * * - * @return the meta object for class 'String Object'. - * @see org.eclipse.viatra.solver.language.solverLanguage.StringObject * @generated + * @ordered */ - EClass getStringObject(); + int MEMBER_DEFINITION__OPPOSITE = 4; /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject#getValue Value}'. + * The number of structural features of the 'Member Definition' class. * * - * @return the meta object for the attribute 'Value'. - * @see org.eclipse.viatra.solver.language.solverLanguage.StringObject#getValue() - * @see #getStringObject() * @generated + * @ordered */ - EAttribute getStringObject_Value(); + int MEMBER_DEFINITION_FEATURE_COUNT = 5; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate Predicate}'. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl Multiplicity}' class. * * - * @return the meta object for class 'Predicate'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity() * @generated */ - EClass getPredicate(); + int MULTIPLICITY = 29; /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError Is Error}'. + * The number of structural features of the 'Multiplicity' class. * * - * @return the meta object for the attribute 'Is Error'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError() - * @see #getPredicate() * @generated + * @ordered */ - EAttribute getPredicate_IsError(); + int MULTIPLICITY_FEATURE_COUNT = 0; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol Symbol}'. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl Many Multiplicity}' class. * * - * @return the meta object for the containment reference 'Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol() - * @see #getPredicate() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity() * @generated */ - EReference getPredicate_Symbol(); + int MANY_MULTIPLICITY = 30; /** - * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters Parameters}'. + * The number of structural features of the 'Many Multiplicity' class. * * - * @return the meta object for the containment reference list 'Parameters'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters() - * @see #getPredicate() * @generated + * @ordered */ - EReference getPredicate_Parameters(); + int MANY_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 0; /** - * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies Bodies}'. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl Exact Multiplicity}' class. * * - * @return the meta object for the containment reference list 'Bodies'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies() - * @see #getPredicate() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity() * @generated */ - EReference getPredicate_Bodies(); + int EXACT_MULTIPLICITY = 31; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter Parameter}'. + * The feature id for the 'Multiplicity' attribute. * * - * @return the meta object for class 'Parameter'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Parameter * @generated + * @ordered */ - EClass getParameter(); + int EXACT_MULTIPLICITY__MULTIPLICITY = MULTIPLICITY_FEATURE_COUNT + 0; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getVariable Variable}'. + * The number of structural features of the 'Exact Multiplicity' class. * * - * @return the meta object for the containment reference 'Variable'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Parameter#getVariable() - * @see #getParameter() * @generated + * @ordered */ - EReference getParameter_Variable(); + int EXACT_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 1; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getType Type}'. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl Bounded Multiplicity}' class. * * - * @return the meta object for the containment reference 'Type'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Parameter#getType() - * @see #getParameter() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity() * @generated */ - EReference getParameter_Type(); + int BOUNDED_MULTIPLICITY = 32; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody Pattern Body}'. + * The feature id for the 'Lower Bound' attribute. * * - * @return the meta object for class 'Pattern Body'. - * @see org.eclipse.viatra.solver.language.solverLanguage.PatternBody * @generated + * @ordered */ - EClass getPatternBody(); + int BOUNDED_MULTIPLICITY__LOWER_BOUND = MULTIPLICITY_FEATURE_COUNT + 0; /** - * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody#getConstraints Constraints}'. + * The feature id for the 'Upper Bound' attribute. * * - * @return the meta object for the containment reference list 'Constraints'. - * @see org.eclipse.viatra.solver.language.solverLanguage.PatternBody#getConstraints() - * @see #getPatternBody() * @generated + * @ordered */ - EReference getPatternBody_Constraints(); + int BOUNDED_MULTIPLICITY__UPPER_BOUND = MULTIPLICITY_FEATURE_COUNT + 1; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Polarity Polarity}'. + * The number of structural features of the 'Bounded Multiplicity' class. * * - * @return the meta object for class 'Polarity'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Polarity * @generated + * @ordered */ - EClass getPolarity(); + int BOUNDED_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 2; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint Constraint}'. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl Scope Definition}' class. * * - * @return the meta object for class 'Constraint'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition() * @generated */ - EClass getConstraint(); + int SCOPE_DEFINITION = 33; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getPolarity Polarity}'. + * The feature id for the 'Abstract' attribute. * * - * @return the meta object for the containment reference 'Polarity'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint#getPolarity() - * @see #getConstraint() * @generated + * @ordered */ - EReference getConstraint_Polarity(); + int SCOPE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol Symbol}'. + * The feature id for the 'Name' attribute. * * - * @return the meta object for the containment reference 'Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol() - * @see #getConstraint() * @generated + * @ordered */ - EReference getConstraint_Symbol(); + int SCOPE_DEFINITION__NAME = STATEMENT__NAME; /** - * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getParams Params}'. + * The feature id for the 'Superclasses' reference list. * * - * @return the meta object for the containment reference list 'Params'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint#getParams() - * @see #getConstraint() * @generated + * @ordered */ - EReference getConstraint_Params(); + int SCOPE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType Closure Type}'. + * The feature id for the 'Members' containment reference list. * * - * @return the meta object for the containment reference 'Closure Type'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType() - * @see #getConstraint() * @generated + * @ordered */ - EReference getConstraint_ClosureType(); + int SCOPE_DEFINITION__MEMBERS = STATEMENT__MEMBERS; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClosureType Closure Type}'. + * The feature id for the 'Type' reference. * * - * @return the meta object for class 'Closure Type'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ClosureType * @generated + * @ordered */ - EClass getClosureType(); + int SCOPE_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal Literal}'. + * The number of structural features of the 'Scope Definition' class. * * - * @return the meta object for class 'Literal'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Literal * @generated + * @ordered */ - EClass getLiteral(); + int SCOPE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable Variable}'. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl Exact Scope Definition}' class. * * - * @return the meta object for class 'Variable'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Variable + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition() * @generated */ - EClass getVariable(); + int EXACT_SCOPE_DEFINITION = 34; /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getName Name}'. + * The feature id for the 'Abstract' attribute. * * - * @return the meta object for the attribute 'Name'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Variable#getName() - * @see #getVariable() * @generated + * @ordered */ - EAttribute getVariable_Name(); + int EXACT_SCOPE_DEFINITION__ABSTRACT = SCOPE_DEFINITION__ABSTRACT; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances All Instances}'. + * The feature id for the 'Name' attribute. * * - * @return the meta object for class 'All Instances'. - * @see org.eclipse.viatra.solver.language.solverLanguage.AllInstances * @generated + * @ordered */ - EClass getAllInstances(); + int EXACT_SCOPE_DEFINITION__NAME = SCOPE_DEFINITION__NAME; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances#getSymbol Symbol}'. + * The feature id for the 'Superclasses' reference list. * * - * @return the meta object for the containment reference 'Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.AllInstances#getSymbol() - * @see #getAllInstances() * @generated + * @ordered */ - EReference getAllInstances_Symbol(); + int EXACT_SCOPE_DEFINITION__SUPERCLASSES = SCOPE_DEFINITION__SUPERCLASSES; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.AllObjects All Objects}'. + * The feature id for the 'Members' containment reference list. * * - * @return the meta object for class 'All Objects'. - * @see org.eclipse.viatra.solver.language.solverLanguage.AllObjects * @generated + * @ordered */ - EClass getAllObjects(); + int EXACT_SCOPE_DEFINITION__MEMBERS = SCOPE_DEFINITION__MEMBERS; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation Default Interpretation}'. + * The feature id for the 'Type' reference. * * - * @return the meta object for class 'Default Interpretation'. - * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation * @generated + * @ordered */ - EClass getDefaultInterpretation(); + int EXACT_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation#getInterpretation Interpretation}'. + * The feature id for the 'Exact Scope' attribute. * * - * @return the meta object for the containment reference 'Interpretation'. - * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation#getInterpretation() - * @see #getDefaultInterpretation() * @generated + * @ordered */ - EReference getDefaultInterpretation_Interpretation(); + int EXACT_SCOPE_DEFINITION__EXACT_SCOPE = SCOPE_DEFINITION_FEATURE_COUNT + 0; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation CD Interpretation}'. + * The number of structural features of the 'Exact Scope Definition' class. * * - * @return the meta object for class 'CD Interpretation'. - * @see org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation * @generated + * @ordered */ - EClass getCDInterpretation(); + int EXACT_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation Class Interpretation}'. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl Bounded Scope Definition}' class. * * - * @return the meta object for class 'Class Interpretation'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition() * @generated */ - EClass getClassInterpretation(); + int BOUNDED_SCOPE_DEFINITION = 35; /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#isAbstract Abstract}'. + * The feature id for the 'Abstract' attribute. * * - * @return the meta object for the attribute 'Abstract'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#isAbstract() - * @see #getClassInterpretation() * @generated + * @ordered */ - EAttribute getClassInterpretation_Abstract(); + int BOUNDED_SCOPE_DEFINITION__ABSTRACT = SCOPE_DEFINITION__ABSTRACT; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSymbol Symbol}'. + * The feature id for the 'Name' attribute. * * - * @return the meta object for the containment reference 'Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSymbol() - * @see #getClassInterpretation() * @generated + * @ordered */ - EReference getClassInterpretation_Symbol(); + int BOUNDED_SCOPE_DEFINITION__NAME = SCOPE_DEFINITION__NAME; /** - * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSupertypes Supertypes}'. + * The feature id for the 'Superclasses' reference list. * * - * @return the meta object for the containment reference list 'Supertypes'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSupertypes() - * @see #getClassInterpretation() * @generated + * @ordered */ - EReference getClassInterpretation_Supertypes(); + int BOUNDED_SCOPE_DEFINITION__SUPERCLASSES = SCOPE_DEFINITION__SUPERCLASSES; /** - * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getFielt Fielt}'. + * The feature id for the 'Members' containment reference list. * * - * @return the meta object for the containment reference list 'Fielt'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getFielt() - * @see #getClassInterpretation() * @generated + * @ordered */ - EReference getClassInterpretation_Fielt(); + int BOUNDED_SCOPE_DEFINITION__MEMBERS = SCOPE_DEFINITION__MEMBERS; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation Enum Interpretation}'. + * The feature id for the 'Type' reference. * * - * @return the meta object for class 'Enum Interpretation'. - * @see org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation * @generated + * @ordered */ - EClass getEnumInterpretation(); + int BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getSymbol Symbol}'. + * The feature id for the 'Lower Bound' attribute. * * - * @return the meta object for the containment reference 'Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getSymbol() - * @see #getEnumInterpretation() * @generated + * @ordered */ - EReference getEnumInterpretation_Symbol(); + int BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0; /** - * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getObjects Objects}'. + * The feature id for the 'Upper Bound' attribute. * * - * @return the meta object for the containment reference list 'Objects'. - * @see org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getObjects() - * @see #getEnumInterpretation() * @generated + * @ordered */ - EReference getEnumInterpretation_Objects(); + int BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 1; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation Field Relation Interpretation}'. + * The number of structural features of the 'Bounded Scope Definition' class. * * - * @return the meta object for class 'Field Relation Interpretation'. - * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation * @generated + * @ordered */ - EClass getFieldRelationInterpretation(); + int BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 2; /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#isContainment Containment}'. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl Lower Bounded Scope Definition}' class. * * - * @return the meta object for the attribute 'Containment'. - * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#isContainment() - * @see #getFieldRelationInterpretation() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition() * @generated */ - EAttribute getFieldRelationInterpretation_Containment(); + int LOWER_BOUNDED_SCOPE_DEFINITION = 36; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getSymbol Symbol}'. + * The feature id for the 'Abstract' attribute. * * - * @return the meta object for the containment reference 'Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getSymbol() - * @see #getFieldRelationInterpretation() * @generated + * @ordered */ - EReference getFieldRelationInterpretation_Symbol(); + int LOWER_BOUNDED_SCOPE_DEFINITION__ABSTRACT = SCOPE_DEFINITION__ABSTRACT; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getMultiplicity Multiplicity}'. + * The feature id for the 'Name' attribute. * * - * @return the meta object for the containment reference 'Multiplicity'. - * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getMultiplicity() - * @see #getFieldRelationInterpretation() * @generated + * @ordered */ - EReference getFieldRelationInterpretation_Multiplicity(); + int LOWER_BOUNDED_SCOPE_DEFINITION__NAME = SCOPE_DEFINITION__NAME; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getTarget Target}'. + * The feature id for the 'Superclasses' reference list. * * - * @return the meta object for the containment reference 'Target'. - * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getTarget() - * @see #getFieldRelationInterpretation() * @generated + * @ordered */ - EReference getFieldRelationInterpretation_Target(); + int LOWER_BOUNDED_SCOPE_DEFINITION__SUPERCLASSES = SCOPE_DEFINITION__SUPERCLASSES; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation Global Relation Interpretation}'. + * The feature id for the 'Members' containment reference list. * * - * @return the meta object for class 'Global Relation Interpretation'. - * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation * @generated + * @ordered */ - EClass getGlobalRelationInterpretation(); + int LOWER_BOUNDED_SCOPE_DEFINITION__MEMBERS = SCOPE_DEFINITION__MEMBERS; /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#isContainment Containment}'. + * The feature id for the 'Type' reference. * * - * @return the meta object for the attribute 'Containment'. - * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#isContainment() - * @see #getGlobalRelationInterpretation() * @generated + * @ordered */ - EAttribute getGlobalRelationInterpretation_Containment(); + int LOWER_BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSymbol Symbol}'. + * The feature id for the 'Lower Bound' attribute. * * - * @return the meta object for the containment reference 'Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSymbol() - * @see #getGlobalRelationInterpretation() * @generated + * @ordered */ - EReference getGlobalRelationInterpretation_Symbol(); + int LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSourceMultiplicity Source Multiplicity}'. + * The number of structural features of the 'Lower Bounded Scope Definition' class. * * - * @return the meta object for the containment reference 'Source Multiplicity'. - * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSourceMultiplicity() - * @see #getGlobalRelationInterpretation() * @generated + * @ordered */ - EReference getGlobalRelationInterpretation_SourceMultiplicity(); + int LOWER_BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSource Source}'. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl Objective Definition}' class. * * - * @return the meta object for the containment reference 'Source'. - * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSource() - * @see #getGlobalRelationInterpretation() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition() * @generated */ - EReference getGlobalRelationInterpretation_Source(); + int OBJECTIVE_DEFINITION = 37; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTargetMultiplicity Target Multiplicity}'. + * The feature id for the 'Abstract' attribute. * * - * @return the meta object for the containment reference 'Target Multiplicity'. - * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTargetMultiplicity() - * @see #getGlobalRelationInterpretation() * @generated + * @ordered */ - EReference getGlobalRelationInterpretation_TargetMultiplicity(); + int OBJECTIVE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT; /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTarget Target}'. + * The feature id for the 'Name' attribute. * * - * @return the meta object for the containment reference 'Target'. - * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTarget() - * @see #getGlobalRelationInterpretation() * @generated + * @ordered */ - EReference getGlobalRelationInterpretation_Target(); + int OBJECTIVE_DEFINITION__NAME = STATEMENT__NAME; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition Multiplicity Definition}'. + * The feature id for the 'Superclasses' reference list. * * - * @return the meta object for class 'Multiplicity Definition'. - * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition * @generated + * @ordered */ - EClass getMultiplicityDefinition(); + int OBJECTIVE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES; /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getLower Lower}'. + * The feature id for the 'Members' containment reference list. * * - * @return the meta object for the attribute 'Lower'. - * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getLower() - * @see #getMultiplicityDefinition() * @generated + * @ordered */ - EAttribute getMultiplicityDefinition_Lower(); + int OBJECTIVE_DEFINITION__MEMBERS = STATEMENT__MEMBERS; /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getUpper Upper}'. + * The feature id for the 'Kind' attribute. * * - * @return the meta object for the attribute 'Upper'. - * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getUpper() - * @see #getMultiplicityDefinition() * @generated + * @ordered */ - EAttribute getMultiplicityDefinition_Upper(); + int OBJECTIVE_DEFINITION__KIND = STATEMENT_FEATURE_COUNT + 0; /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#isUnlimitedUpper Unlimited Upper}'. + * The feature id for the 'Objective' containment reference. * * - * @return the meta object for the attribute 'Unlimited Upper'. - * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#isUnlimitedUpper() - * @see #getMultiplicityDefinition() * @generated + * @ordered */ - EAttribute getMultiplicityDefinition_UnlimitedUpper(); + int OBJECTIVE_DEFINITION__OBJECTIVE = STATEMENT_FEATURE_COUNT + 1; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue Boolean True}'. + * The number of structural features of the 'Objective Definition' class. * * - * @return the meta object for class 'Boolean True'. - * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue * @generated + * @ordered */ - EClass getBooleanTrue(); + int OBJECTIVE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse Boolean False}'. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl Named Element}' class. * * - * @return the meta object for class 'Boolean False'. - * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement() * @generated */ - EClass getBooleanFalse(); + int NAMED_ELEMENT = 38; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.True True}'. + * The feature id for the 'Name' attribute. * * - * @return the meta object for class 'True'. - * @see org.eclipse.viatra.solver.language.solverLanguage.True * @generated + * @ordered */ - EClass getTrue(); + int NAMED_ELEMENT__NAME = 0; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.False False}'. + * The number of structural features of the 'Named Element' class. * * - * @return the meta object for class 'False'. - * @see org.eclipse.viatra.solver.language.solverLanguage.False * @generated + * @ordered */ - EClass getFalse(); + int NAMED_ELEMENT_FEATURE_COUNT = 1; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Unknown Unknown}'. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl Assertion}' class. * * - * @return the meta object for class 'Unknown'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Unknown + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAssertion() * @generated */ - EClass getUnknown(); + int ASSERTION = 39; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Error Error}'. + * The feature id for the 'Abstract' attribute. * * - * @return the meta object for class 'Error'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Error * @generated + * @ordered */ - EClass getError(); + int ASSERTION__ABSTRACT = STATEMENT__ABSTRACT; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Positive Positive}'. + * The feature id for the 'Name' attribute. * * - * @return the meta object for class 'Positive'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Positive * @generated + * @ordered */ - EClass getPositive(); + int ASSERTION__NAME = STATEMENT__NAME; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Negative Negative}'. + * The feature id for the 'Superclasses' reference list. * * - * @return the meta object for class 'Negative'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Negative * @generated + * @ordered */ - EClass getNegative(); + int ASSERTION__SUPERCLASSES = STATEMENT__SUPERCLASSES; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure Reflexive Closure}'. + * The feature id for the 'Members' containment reference list. * * - * @return the meta object for class 'Reflexive Closure'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure * @generated + * @ordered */ - EClass getReflexiveClosure(); + int ASSERTION__MEMBERS = STATEMENT__MEMBERS; /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure Irreflexive Closure}'. + * The feature id for the 'Body' containment reference. * * - * @return the meta object for class 'Irreflexive Closure'. - * @see org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure * @generated + * @ordered */ - EClass getIrreflexiveClosure(); + int ASSERTION__BODY = STATEMENT_FEATURE_COUNT + 0; /** - * Returns the factory that creates the instances of the model. + * The feature id for the 'Range' containment reference. * * - * @return the factory that creates the instances of the model. * @generated + * @ordered */ - SolverLanguageFactory getSolverLanguageFactory(); + int ASSERTION__RANGE = STATEMENT_FEATURE_COUNT + 1; /** + * The number of structural features of the 'Assertion' class. * - * Defines literals for the meta objects that represent + * + * @generated + * @ordered + */ + int ASSERTION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl Disjunction}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction() + * @generated + */ + int DISJUNCTION = 40; + + /** + * The feature id for the 'Abstract' attribute. + * + * + * @generated + * @ordered + */ + int DISJUNCTION__ABSTRACT = EXPRESSION__ABSTRACT; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int DISJUNCTION__NAME = EXPRESSION__NAME; + + /** + * The feature id for the 'Superclasses' reference list. + * + * + * @generated + * @ordered + */ + int DISJUNCTION__SUPERCLASSES = EXPRESSION__SUPERCLASSES; + + /** + * The feature id for the 'Members' containment reference list. + * + * + * @generated + * @ordered + */ + int DISJUNCTION__MEMBERS = EXPRESSION__MEMBERS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int DISJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Disjunction' class. + * + * + * @generated + * @ordered + */ + int DISJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl Switch}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch() + * @generated + */ + int SWITCH = 41; + + /** + * The feature id for the 'Abstract' attribute. + * + * + * @generated + * @ordered + */ + int SWITCH__ABSTRACT = EXPRESSION__ABSTRACT; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int SWITCH__NAME = EXPRESSION__NAME; + + /** + * The feature id for the 'Superclasses' reference list. + * + * + * @generated + * @ordered + */ + int SWITCH__SUPERCLASSES = EXPRESSION__SUPERCLASSES; + + /** + * The feature id for the 'Members' containment reference list. + * + * + * @generated + * @ordered + */ + int SWITCH__MEMBERS = EXPRESSION__MEMBERS; + + /** + * The feature id for the 'Cases' containment reference list. + * + * + * @generated + * @ordered + */ + int SWITCH__CASES = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Switch' class. + * + * + * @generated + * @ordered + */ + int SWITCH_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl Conjunction}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction() + * @generated + */ + int CONJUNCTION = 42; + + /** + * The feature id for the 'Abstract' attribute. + * + * + * @generated + * @ordered + */ + int CONJUNCTION__ABSTRACT = EXPRESSION__ABSTRACT; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int CONJUNCTION__NAME = EXPRESSION__NAME; + + /** + * The feature id for the 'Superclasses' reference list. + * + * + * @generated + * @ordered + */ + int CONJUNCTION__SUPERCLASSES = EXPRESSION__SUPERCLASSES; + + /** + * The feature id for the 'Members' containment reference list. + * + * + * @generated + * @ordered + */ + int CONJUNCTION__MEMBERS = EXPRESSION__MEMBERS; + + /** + * The feature id for the 'Children' containment reference list. + * + * + * @generated + * @ordered + */ + int CONJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Conjunction' class. + * + * + * @generated + * @ordered + */ + int CONJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl Comparison}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison() + * @generated + */ + int COMPARISON = 43; + + /** + * The feature id for the 'Abstract' attribute. + * + * + * @generated + * @ordered + */ + int COMPARISON__ABSTRACT = EXPRESSION__ABSTRACT; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int COMPARISON__NAME = EXPRESSION__NAME; + + /** + * The feature id for the 'Superclasses' reference list. + * + * + * @generated + * @ordered + */ + int COMPARISON__SUPERCLASSES = EXPRESSION__SUPERCLASSES; + + /** + * The feature id for the 'Members' containment reference list. + * + * + * @generated + * @ordered + */ + int COMPARISON__MEMBERS = EXPRESSION__MEMBERS; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int COMPARISON__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Op' attribute. + * + * + * @generated + * @ordered + */ + int COMPARISON__OP = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int COMPARISON__RIGHT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Comparison' class. + * + * + * @generated + * @ordered + */ + int COMPARISON_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl Binary Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression() + * @generated + */ + int BINARY_EXPRESSION = 44; + + /** + * The feature id for the 'Abstract' attribute. + * + * + * @generated + * @ordered + */ + int BINARY_EXPRESSION__ABSTRACT = EXPRESSION__ABSTRACT; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int BINARY_EXPRESSION__NAME = EXPRESSION__NAME; + + /** + * The feature id for the 'Superclasses' reference list. + * + * + * @generated + * @ordered + */ + int BINARY_EXPRESSION__SUPERCLASSES = EXPRESSION__SUPERCLASSES; + + /** + * The feature id for the 'Members' containment reference list. + * + * + * @generated + * @ordered + */ + int BINARY_EXPRESSION__MEMBERS = EXPRESSION__MEMBERS; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int BINARY_EXPRESSION__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Op' attribute. + * + * + * @generated + * @ordered + */ + int BINARY_EXPRESSION__OP = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int BINARY_EXPRESSION__RIGHT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Binary Expression' class. + * + * + * @generated + * @ordered + */ + int BINARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl Unary Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression() + * @generated + */ + int UNARY_EXPRESSION = 45; + + /** + * The feature id for the 'Abstract' attribute. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION__ABSTRACT = EXPRESSION__ABSTRACT; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION__NAME = EXPRESSION__NAME; + + /** + * The feature id for the 'Superclasses' reference list. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION__SUPERCLASSES = EXPRESSION__SUPERCLASSES; + + /** + * The feature id for the 'Members' containment reference list. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION__MEMBERS = EXPRESSION__MEMBERS; + + /** + * The feature id for the 'Op' attribute. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION__OP = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION__BODY = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Unary Expression' class. + * + * + * @generated + * @ordered + */ + int UNARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricType Metric Type}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricType() + * @generated + */ + int METRIC_TYPE = 46; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator Binary Operator}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryOperator() + * @generated + */ + int BINARY_OPERATOR = 47; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp Unary Op}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOp() + * @generated + */ + int UNARY_OP = 48; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp Aggregation Op}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregationOp() + * @generated + */ + int AGGREGATION_OP = 49; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue Logic Value}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicValue() + * @generated + */ + int LOGIC_VALUE = 50; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind Objective Kind}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveKind() + * @generated + */ + int OBJECTIVE_KIND = 51; + + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem Problem}'. + * + * + * @return the meta object for class 'Problem'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Problem + * @generated + */ + EClass getProblem(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements Statements}'. + * + * + * @return the meta object for the containment reference list 'Statements'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements() + * @see #getProblem() + * @generated + */ + EReference getProblem_Statements(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement Statement}'. + * + * + * @return the meta object for class 'Statement'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Statement + * @generated + */ + EClass getStatement(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract Abstract}'. + * + * + * @return the meta object for the attribute 'Abstract'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract() + * @see #getStatement() + * @generated + */ + EAttribute getStatement_Abstract(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#getName() + * @see #getStatement() + * @generated + */ + EAttribute getStatement_Name(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getSuperclasses Superclasses}'. + * + * + * @return the meta object for the reference list 'Superclasses'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#getSuperclasses() + * @see #getStatement() + * @generated + */ + EReference getStatement_Superclasses(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getMembers Members}'. + * + * + * @return the meta object for the containment reference list 'Members'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#getMembers() + * @see #getStatement() + * @generated + */ + EReference getStatement_Members(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition Predicate Definition}'. + * + * + * @return the meta object for class 'Predicate Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition + * @generated + */ + EClass getPredicateDefinition(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead Head}'. + * + * + * @return the meta object for the containment reference 'Head'. + * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead() + * @see #getPredicateDefinition() + * @generated + */ + EReference getPredicateDefinition_Head(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody() + * @see #getPredicateDefinition() + * @generated + */ + EReference getPredicateDefinition_Body(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional Functional}'. + * + * + * @return the meta object for the attribute 'Functional'. + * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional() + * @see #getPredicateDefinition() + * @generated + */ + EAttribute getPredicateDefinition_Functional(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError Error}'. + * + * + * @return the meta object for the attribute 'Error'. + * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError() + * @see #getPredicateDefinition() + * @generated + */ + EAttribute getPredicateDefinition_Error(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition Unnamed Error Prediate Definition}'. + * + * + * @return the meta object for class 'Unnamed Error Prediate Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition + * @generated + */ + EClass getUnnamedErrorPrediateDefinition(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList Argument List}'. + * + * + * @return the meta object for the containment reference 'Argument List'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList() + * @see #getUnnamedErrorPrediateDefinition() + * @generated + */ + EReference getUnnamedErrorPrediateDefinition_ArgumentList(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody() + * @see #getUnnamedErrorPrediateDefinition() + * @generated + */ + EReference getUnnamedErrorPrediateDefinition_Body(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition Default Definition}'. + * + * + * @return the meta object for class 'Default Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition + * @generated + */ + EClass getDefaultDefinition(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead Head}'. + * + * + * @return the meta object for the containment reference 'Head'. + * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead() + * @see #getDefaultDefinition() + * @generated + */ + EReference getDefaultDefinition_Head(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange Range}'. + * + * + * @return the meta object for the containment reference 'Range'. + * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange() + * @see #getDefaultDefinition() + * @generated + */ + EReference getDefaultDefinition_Range(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition Extern Predicate Definition}'. + * + * + * @return the meta object for class 'Extern Predicate Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition + * @generated + */ + EClass getExternPredicateDefinition(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getHead Head}'. + * + * + * @return the meta object for the containment reference 'Head'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getHead() + * @see #getExternPredicateDefinition() + * @generated + */ + EReference getExternPredicateDefinition_Head(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition Metric Definition}'. + * + * + * @return the meta object for class 'Metric Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition + * @generated + */ + EClass getMetricDefinition(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead Head}'. + * + * + * @return the meta object for the containment reference 'Head'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead() + * @see #getMetricDefinition() + * @generated + */ + EReference getMetricDefinition_Head(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody() + * @see #getMetricDefinition() + * @generated + */ + EReference getMetricDefinition_Body(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType Type}'. + * + * + * @return the meta object for the attribute 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType() + * @see #getMetricDefinition() + * @generated + */ + EAttribute getMetricDefinition_Type(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition Extern Metric Definition}'. + * + * + * @return the meta object for class 'Extern Metric Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition + * @generated + */ + EClass getExternMetricDefinition(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType Type}'. + * + * + * @return the meta object for the attribute 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType() + * @see #getExternMetricDefinition() + * @generated + */ + EAttribute getExternMetricDefinition_Type(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead Head}'. + * + * + * @return the meta object for the containment reference 'Head'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead() + * @see #getExternMetricDefinition() + * @generated + */ + EReference getExternMetricDefinition_Head(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Expression Expression}'. + * + * + * @return the meta object for class 'Expression'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Expression + * @generated + */ + EClass getExpression(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse If Else}'. + * + * + * @return the meta object for class 'If Else'. + * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse + * @generated + */ + EClass getIfElse(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition Condition}'. + * + * + * @return the meta object for the containment reference 'Condition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition() + * @see #getIfElse() + * @generated + */ + EReference getIfElse_Condition(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen Then}'. + * + * + * @return the meta object for the containment reference 'Then'. + * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen() + * @see #getIfElse() + * @generated + */ + EReference getIfElse_Then(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse Else}'. + * + * + * @return the meta object for the containment reference 'Else'. + * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse() + * @see #getIfElse() + * @generated + */ + EReference getIfElse_Else(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Case Case}'. + * + * + * @return the meta object for class 'Case'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Case + * @generated + */ + EClass getCase(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition Condition}'. + * + * + * @return the meta object for the containment reference 'Condition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition() + * @see #getCase() + * @generated + */ + EReference getCase_Condition(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Case#getBody() + * @see #getCase() + * @generated + */ + EReference getCase_Body(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Count Count}'. + * + * + * @return the meta object for class 'Count'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Count + * @generated + */ + EClass getCount(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Count#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Count#getBody() + * @see #getCount() + * @generated + */ + EReference getCount_Body(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation Aggregation}'. + * + * + * @return the meta object for class 'Aggregation'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation + * @generated + */ + EClass getAggregation(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp Op}'. + * + * + * @return the meta object for the attribute 'Op'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp() + * @see #getAggregation() + * @generated + */ + EAttribute getAggregation_Op(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody() + * @see #getAggregation() + * @generated + */ + EReference getAggregation_Body(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition Condition}'. + * + * + * @return the meta object for the containment reference 'Condition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition() + * @see #getAggregation() + * @generated + */ + EReference getAggregation_Condition(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Call Call}'. + * + * + * @return the meta object for class 'Call'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Call + * @generated + */ + EClass getCall(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor Functor}'. + * + * + * @return the meta object for the containment reference 'Functor'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor() + * @see #getCall() + * @generated + */ + EReference getCall_Functor(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList Argument List}'. + * + * + * @return the meta object for the containment reference 'Argument List'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList() + * @see #getCall() + * @generated + */ + EReference getCall_ArgumentList(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure Transitive Closure}'. + * + * + * @return the meta object for the attribute 'Transitive Closure'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure() + * @see #getCall() + * @generated + */ + EAttribute getCall_TransitiveClosure(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure Reflexive Transitive Closure}'. + * + * + * @return the meta object for the attribute 'Reflexive Transitive Closure'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure() + * @see #getCall() + * @generated + */ + EAttribute getCall_ReflexiveTransitiveClosure(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList Argument List}'. + * + * + * @return the meta object for class 'Argument List'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList + * @generated + */ + EClass getArgumentList(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments Arguments}'. + * + * + * @return the meta object for the containment reference list 'Arguments'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments() + * @see #getArgumentList() + * @generated + */ + EReference getArgumentList_Arguments(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Argument Argument}'. + * + * + * @return the meta object for class 'Argument'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Argument + * @generated + */ + EClass getArgument(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument Expression Argument}'. + * + * + * @return the meta object for class 'Expression Argument'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument + * @generated + */ + EClass getExpressionArgument(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody() + * @see #getExpressionArgument() + * @generated + */ + EReference getExpressionArgument_Body(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StarArgument Star Argument}'. + * + * + * @return the meta object for class 'Star Argument'. + * @see org.eclipse.viatra.solver.language.solverLanguage.StarArgument + * @generated + */ + EClass getStarArgument(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument Typed Argument}'. + * + * + * @return the meta object for class 'Typed Argument'. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument + * @generated + */ + EClass getTypedArgument(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType() + * @see #getTypedArgument() + * @generated + */ + EReference getTypedArgument_Type(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable Variable}'. + * + * + * @return the meta object for the reference 'Variable'. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable() + * @see #getTypedArgument() + * @generated + */ + EReference getTypedArgument_Variable(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument Typed Star Argument}'. + * + * + * @return the meta object for class 'Typed Star Argument'. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument + * @generated + */ + EClass getTypedStarArgument(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType() + * @see #getTypedStarArgument() + * @generated + */ + EReference getTypedStarArgument_Type(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference Reference}'. + * + * + * @return the meta object for class 'Reference'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Reference + * @generated + */ + EClass getReference(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred Referred}'. + * + * + * @return the meta object for the reference 'Referred'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred() + * @see #getReference() + * @generated + */ + EReference getReference_Referred(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval Interval}'. + * + * + * @return the meta object for class 'Interval'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Interval + * @generated + */ + EClass getInterval(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound Lower Bound}'. + * + * + * @return the meta object for the containment reference 'Lower Bound'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound() + * @see #getInterval() + * @generated + */ + EReference getInterval_LowerBound(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound Upper Bound}'. + * + * + * @return the meta object for the containment reference 'Upper Bound'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound() + * @see #getInterval() + * @generated + */ + EReference getInterval_UpperBound(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal Literal}'. + * + * + * @return the meta object for class 'Literal'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Literal + * @generated + */ + EClass getLiteral(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral Logic Literal}'. + * + * + * @return the meta object for class 'Logic Literal'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral + * @generated + */ + EClass getLogicLiteral(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue Value}'. + * + * + * @return the meta object for the attribute 'Value'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue() + * @see #getLogicLiteral() + * @generated + */ + EAttribute getLogicLiteral_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral Numeric Literal}'. + * + * + * @return the meta object for class 'Numeric Literal'. + * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral + * @generated + */ + EClass getNumericLiteral(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue Value}'. + * + * + * @return the meta object for the attribute 'Value'. + * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue() + * @see #getNumericLiteral() + * @generated + */ + EAttribute getNumericLiteral_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral Infinity Literal}'. + * + * + * @return the meta object for class 'Infinity Literal'. + * @see org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral + * @generated + */ + EClass getInfinityLiteral(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral Empty Interval Literal}'. + * + * + * @return the meta object for class 'Empty Interval Literal'. + * @see org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral + * @generated + */ + EClass getEmptyIntervalLiteral(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral String Literal}'. + * + * + * @return the meta object for class 'String Literal'. + * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral + * @generated + */ + EClass getStringLiteral(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue Value}'. + * + * + * @return the meta object for the attribute 'Value'. + * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue() + * @see #getStringLiteral() + * @generated + */ + EAttribute getStringLiteral_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition Member Definition}'. + * + * + * @return the meta object for class 'Member Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition + * @generated + */ + EClass getMemberDefinition(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment Containment}'. + * + * + * @return the meta object for the attribute 'Containment'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment() + * @see #getMemberDefinition() + * @generated + */ + EAttribute getMemberDefinition_Containment(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType() + * @see #getMemberDefinition() + * @generated + */ + EReference getMemberDefinition_Type(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity Multiplicity}'. + * + * + * @return the meta object for the containment reference 'Multiplicity'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity() + * @see #getMemberDefinition() + * @generated + */ + EReference getMemberDefinition_Multiplicity(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName() + * @see #getMemberDefinition() + * @generated + */ + EAttribute getMemberDefinition_Name(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite Opposite}'. + * + * + * @return the meta object for the reference 'Opposite'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite() + * @see #getMemberDefinition() + * @generated + */ + EReference getMemberDefinition_Opposite(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Multiplicity Multiplicity}'. + * + * + * @return the meta object for class 'Multiplicity'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Multiplicity + * @generated + */ + EClass getMultiplicity(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity Many Multiplicity}'. + * + * + * @return the meta object for class 'Many Multiplicity'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity + * @generated + */ + EClass getManyMultiplicity(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity Exact Multiplicity}'. + * + * + * @return the meta object for class 'Exact Multiplicity'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity + * @generated + */ + EClass getExactMultiplicity(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity Multiplicity}'. + * + * + * @return the meta object for the attribute 'Multiplicity'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity() + * @see #getExactMultiplicity() + * @generated + */ + EAttribute getExactMultiplicity_Multiplicity(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity Bounded Multiplicity}'. + * + * + * @return the meta object for class 'Bounded Multiplicity'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity + * @generated + */ + EClass getBoundedMultiplicity(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound Lower Bound}'. + * + * + * @return the meta object for the attribute 'Lower Bound'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound() + * @see #getBoundedMultiplicity() + * @generated + */ + EAttribute getBoundedMultiplicity_LowerBound(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound Upper Bound}'. + * + * + * @return the meta object for the attribute 'Upper Bound'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound() + * @see #getBoundedMultiplicity() + * @generated + */ + EAttribute getBoundedMultiplicity_UpperBound(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition Scope Definition}'. + * + * + * @return the meta object for class 'Scope Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition + * @generated + */ + EClass getScopeDefinition(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType() + * @see #getScopeDefinition() + * @generated + */ + EReference getScopeDefinition_Type(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition Exact Scope Definition}'. + * + * + * @return the meta object for class 'Exact Scope Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition + * @generated + */ + EClass getExactScopeDefinition(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope Exact Scope}'. + * + * + * @return the meta object for the attribute 'Exact Scope'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope() + * @see #getExactScopeDefinition() + * @generated + */ + EAttribute getExactScopeDefinition_ExactScope(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition Bounded Scope Definition}'. + * + * + * @return the meta object for class 'Bounded Scope Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition + * @generated + */ + EClass getBoundedScopeDefinition(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound Lower Bound}'. + * + * + * @return the meta object for the attribute 'Lower Bound'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound() + * @see #getBoundedScopeDefinition() + * @generated + */ + EAttribute getBoundedScopeDefinition_LowerBound(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound Upper Bound}'. + * + * + * @return the meta object for the attribute 'Upper Bound'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound() + * @see #getBoundedScopeDefinition() + * @generated + */ + EAttribute getBoundedScopeDefinition_UpperBound(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition Lower Bounded Scope Definition}'. + * + * + * @return the meta object for class 'Lower Bounded Scope Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition + * @generated + */ + EClass getLowerBoundedScopeDefinition(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound Lower Bound}'. + * + * + * @return the meta object for the attribute 'Lower Bound'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound() + * @see #getLowerBoundedScopeDefinition() + * @generated + */ + EAttribute getLowerBoundedScopeDefinition_LowerBound(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition Objective Definition}'. + * + * + * @return the meta object for class 'Objective Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition + * @generated + */ + EClass getObjectiveDefinition(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind Kind}'. + * + * + * @return the meta object for the attribute 'Kind'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind() + * @see #getObjectiveDefinition() + * @generated + */ + EAttribute getObjectiveDefinition_Kind(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective Objective}'. + * + * + * @return the meta object for the containment reference 'Objective'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective() + * @see #getObjectiveDefinition() + * @generated + */ + EReference getObjectiveDefinition_Objective(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement Named Element}'. + * + * + * @return the meta object for class 'Named Element'. + * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement + * @generated + */ + EClass getNamedElement(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName() + * @see #getNamedElement() + * @generated + */ + EAttribute getNamedElement_Name(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion Assertion}'. + * + * + * @return the meta object for class 'Assertion'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion + * @generated + */ + EClass getAssertion(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion#getBody() + * @see #getAssertion() + * @generated + */ + EReference getAssertion_Body(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange Range}'. + * + * + * @return the meta object for the containment reference 'Range'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange() + * @see #getAssertion() + * @generated + */ + EReference getAssertion_Range(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction Disjunction}'. + * + * + * @return the meta object for class 'Disjunction'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction + * @generated + */ + EClass getDisjunction(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren Children}'. + * + * + * @return the meta object for the containment reference list 'Children'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren() + * @see #getDisjunction() + * @generated + */ + EReference getDisjunction_Children(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch Switch}'. + * + * + * @return the meta object for class 'Switch'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Switch + * @generated + */ + EClass getSwitch(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases Cases}'. + * + * + * @return the meta object for the containment reference list 'Cases'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases() + * @see #getSwitch() + * @generated + */ + EReference getSwitch_Cases(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction Conjunction}'. + * + * + * @return the meta object for class 'Conjunction'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction + * @generated + */ + EClass getConjunction(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren Children}'. + * + * + * @return the meta object for the containment reference list 'Children'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren() + * @see #getConjunction() + * @generated + */ + EReference getConjunction_Children(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison Comparison}'. + * + * + * @return the meta object for class 'Comparison'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison + * @generated + */ + EClass getComparison(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft() + * @see #getComparison() + * @generated + */ + EReference getComparison_Left(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp Op}'. + * + * + * @return the meta object for the attribute 'Op'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp() + * @see #getComparison() + * @generated + */ + EAttribute getComparison_Op(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight() + * @see #getComparison() + * @generated + */ + EReference getComparison_Right(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression Binary Expression}'. + * + * + * @return the meta object for class 'Binary Expression'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression + * @generated + */ + EClass getBinaryExpression(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft() + * @see #getBinaryExpression() + * @generated + */ + EReference getBinaryExpression_Left(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp Op}'. + * + * + * @return the meta object for the attribute 'Op'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp() + * @see #getBinaryExpression() + * @generated + */ + EAttribute getBinaryExpression_Op(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight() + * @see #getBinaryExpression() + * @generated + */ + EReference getBinaryExpression_Right(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression Unary Expression}'. + * + * + * @return the meta object for class 'Unary Expression'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression + * @generated + */ + EClass getUnaryExpression(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp Op}'. + * + * + * @return the meta object for the attribute 'Op'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp() + * @see #getUnaryExpression() + * @generated + */ + EAttribute getUnaryExpression_Op(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody() + * @see #getUnaryExpression() + * @generated + */ + EReference getUnaryExpression_Body(); + + /** + * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricType Metric Type}'. + * + * + * @return the meta object for enum 'Metric Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType + * @generated + */ + EEnum getMetricType(); + + /** + * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator Binary Operator}'. + * + * + * @return the meta object for enum 'Binary Operator'. + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator + * @generated + */ + EEnum getBinaryOperator(); + + /** + * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp Unary Op}'. + * + * + * @return the meta object for enum 'Unary Op'. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp + * @generated + */ + EEnum getUnaryOp(); + + /** + * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp Aggregation Op}'. + * + * + * @return the meta object for enum 'Aggregation Op'. + * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp + * @generated + */ + EEnum getAggregationOp(); + + /** + * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue Logic Value}'. + * + * + * @return the meta object for enum 'Logic Value'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue + * @generated + */ + EEnum getLogicValue(); + + /** + * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind Objective Kind}'. + * + * + * @return the meta object for enum 'Objective Kind'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind + * @generated + */ + EEnum getObjectiveKind(); + + /** + * Returns the factory that creates the instances of the model. + * + * + * @return the factory that creates the instances of the model. + * @generated + */ + SolverLanguageFactory getSolverLanguageFactory(); + + /** + * + * Defines literals for the meta objects that represent *
    *
  • each class,
  • *
  • each feature of each class,
  • @@ -2498,462 +4184,516 @@ public interface SolverLanguagePackage extends EPackage EClass STATEMENT = eINSTANCE.getStatement(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanValueImpl Boolean Value}' class. + * The meta object literal for the 'Abstract' attribute feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanValueImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanValue() * @generated */ - EClass BOOLEAN_VALUE = eINSTANCE.getBooleanValue(); + EAttribute STATEMENT__ABSTRACT = eINSTANCE.getStatement_Abstract(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TruthValueImpl Truth Value}' class. + * The meta object literal for the 'Name' attribute feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TruthValueImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTruthValue() * @generated */ - EClass TRUTH_VALUE = eINSTANCE.getTruthValue(); + EAttribute STATEMENT__NAME = eINSTANCE.getStatement_Name(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl Interpretation}' class. + * The meta object literal for the 'Superclasses' reference list feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterpretation() * @generated */ - EClass INTERPRETATION = eINSTANCE.getInterpretation(); + EReference STATEMENT__SUPERCLASSES = eINSTANCE.getStatement_Superclasses(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl Basic Interpretation}' class. + * The meta object literal for the 'Members' containment reference list feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBasicInterpretation() * @generated */ - EClass BASIC_INTERPRETATION = eINSTANCE.getBasicInterpretation(); + EReference STATEMENT__MEMBERS = eINSTANCE.getStatement_Members(); /** - * The meta object literal for the 'Symbol' containment reference feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl Predicate Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition() * @generated */ - EReference BASIC_INTERPRETATION__SYMBOL = eINSTANCE.getBasicInterpretation_Symbol(); + EClass PREDICATE_DEFINITION = eINSTANCE.getPredicateDefinition(); /** - * The meta object literal for the 'Objects' containment reference list feature. + * The meta object literal for the 'Head' containment reference feature. * * * @generated */ - EReference BASIC_INTERPRETATION__OBJECTS = eINSTANCE.getBasicInterpretation_Objects(); + EReference PREDICATE_DEFINITION__HEAD = eINSTANCE.getPredicateDefinition_Head(); /** - * The meta object literal for the 'Value' containment reference feature. + * The meta object literal for the 'Body' containment reference feature. * * * @generated */ - EReference BASIC_INTERPRETATION__VALUE = eINSTANCE.getBasicInterpretation_Value(); + EReference PREDICATE_DEFINITION__BODY = eINSTANCE.getPredicateDefinition_Body(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl Symbol}' class. + * The meta object literal for the 'Functional' attribute feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSymbol() * @generated */ - EClass SYMBOL = eINSTANCE.getSymbol(); + EAttribute PREDICATE_DEFINITION__FUNCTIONAL = eINSTANCE.getPredicateDefinition_Functional(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl Model Symbol}' class. + * The meta object literal for the 'Error' attribute feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getModelSymbol() * @generated */ - EClass MODEL_SYMBOL = eINSTANCE.getModelSymbol(); + EAttribute PREDICATE_DEFINITION__ERROR = eINSTANCE.getPredicateDefinition_Error(); /** - * The meta object literal for the 'Name' attribute feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl Unnamed Error Prediate Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPrediateDefinition() * @generated */ - EAttribute MODEL_SYMBOL__NAME = eINSTANCE.getModelSymbol_Name(); + EClass UNNAMED_ERROR_PREDIATE_DEFINITION = eINSTANCE.getUnnamedErrorPrediateDefinition(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PartialitySymbolImpl Partiality Symbol}' class. + * The meta object literal for the 'Argument List' containment reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PartialitySymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPartialitySymbol() * @generated */ - EClass PARTIALITY_SYMBOL = eINSTANCE.getPartialitySymbol(); + EReference UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = eINSTANCE.getUnnamedErrorPrediateDefinition_ArgumentList(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExistSymbolImpl Exist Symbol}' class. + * The meta object literal for the 'Body' containment reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExistSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExistSymbol() * @generated */ - EClass EXIST_SYMBOL = eINSTANCE.getExistSymbol(); + EReference UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = eINSTANCE.getUnnamedErrorPrediateDefinition_Body(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EqualsSymbolImpl Equals Symbol}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl Default Definition}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EqualsSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEqualsSymbol() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition() * @generated */ - EClass EQUALS_SYMBOL = eINSTANCE.getEqualsSymbol(); + EClass DEFAULT_DEFINITION = eINSTANCE.getDefaultDefinition(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DataSymbolImpl Data Symbol}' class. + * The meta object literal for the 'Head' containment reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DataSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDataSymbol() * @generated */ - EClass DATA_SYMBOL = eINSTANCE.getDataSymbol(); + EReference DEFAULT_DEFINITION__HEAD = eINSTANCE.getDefaultDefinition_Head(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanSymbolImpl Boolean Symbol}' class. + * The meta object literal for the 'Range' containment reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanSymbol() * @generated */ - EClass BOOLEAN_SYMBOL = eINSTANCE.getBooleanSymbol(); + EReference DEFAULT_DEFINITION__RANGE = eINSTANCE.getDefaultDefinition_Range(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntegerSymbolImpl Integer Symbol}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl Extern Predicate Definition}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntegerSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntegerSymbol() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition() * @generated */ - EClass INTEGER_SYMBOL = eINSTANCE.getIntegerSymbol(); + EClass EXTERN_PREDICATE_DEFINITION = eINSTANCE.getExternPredicateDefinition(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealSymbolImpl Real Symbol}' class. + * The meta object literal for the 'Head' containment reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealSymbol() * @generated */ - EClass REAL_SYMBOL = eINSTANCE.getRealSymbol(); + EReference EXTERN_PREDICATE_DEFINITION__HEAD = eINSTANCE.getExternPredicateDefinition_Head(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringSymbolImpl String Symbol}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl Metric Definition}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringSymbol() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition() * @generated */ - EClass STRING_SYMBOL = eINSTANCE.getStringSymbol(); + EClass METRIC_DEFINITION = eINSTANCE.getMetricDefinition(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComplexObjectImpl Complex Object}' class. + * The meta object literal for the 'Head' containment reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComplexObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComplexObject() * @generated */ - EClass COMPLEX_OBJECT = eINSTANCE.getComplexObject(); + EReference METRIC_DEFINITION__HEAD = eINSTANCE.getMetricDefinition_Head(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectImpl Object}' class. + * The meta object literal for the 'Body' containment reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObject() * @generated */ - EClass OBJECT = eINSTANCE.getObject(); + EReference METRIC_DEFINITION__BODY = eINSTANCE.getMetricDefinition_Body(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl Named Object}' class. + * The meta object literal for the 'Type' attribute feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedObject() * @generated */ - EClass NAMED_OBJECT = eINSTANCE.getNamedObject(); + EAttribute METRIC_DEFINITION__TYPE = eINSTANCE.getMetricDefinition_Type(); /** - * The meta object literal for the 'Name' attribute feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl Extern Metric Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternMetricDefinition() * @generated */ - EAttribute NAMED_OBJECT__NAME = eINSTANCE.getNamedObject_Name(); + EClass EXTERN_METRIC_DEFINITION = eINSTANCE.getExternMetricDefinition(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl Unnamed Object}' class. + * The meta object literal for the 'Type' attribute feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedObject() * @generated */ - EClass UNNAMED_OBJECT = eINSTANCE.getUnnamedObject(); + EAttribute EXTERN_METRIC_DEFINITION__TYPE = eINSTANCE.getExternMetricDefinition_Type(); /** - * The meta object literal for the 'Name' attribute feature. + * The meta object literal for the 'Head' containment reference feature. * * * @generated */ - EAttribute UNNAMED_OBJECT__NAME = eINSTANCE.getUnnamedObject_Name(); + EReference EXTERN_METRIC_DEFINITION__HEAD = eINSTANCE.getExternMetricDefinition_Head(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DataObjectImpl Data Object}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl Expression}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DataObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDataObject() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression() * @generated */ - EClass DATA_OBJECT = eINSTANCE.getDataObject(); + EClass EXPRESSION = eINSTANCE.getExpression(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl Boolean Object}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl If Else}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanObject() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse() * @generated */ - EClass BOOLEAN_OBJECT = eINSTANCE.getBooleanObject(); + EClass IF_ELSE = eINSTANCE.getIfElse(); /** - * The meta object literal for the 'Value' containment reference feature. + * The meta object literal for the 'Condition' containment reference feature. * * * @generated */ - EReference BOOLEAN_OBJECT__VALUE = eINSTANCE.getBooleanObject_Value(); + EReference IF_ELSE__CONDITION = eINSTANCE.getIfElse_Condition(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl Int Object}' class. + * The meta object literal for the 'Then' containment reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntObject() * @generated */ - EClass INT_OBJECT = eINSTANCE.getIntObject(); + EReference IF_ELSE__THEN = eINSTANCE.getIfElse_Then(); /** - * The meta object literal for the 'Value' attribute feature. + * The meta object literal for the 'Else' containment reference feature. * * * @generated */ - EAttribute INT_OBJECT__VALUE = eINSTANCE.getIntObject_Value(); + EReference IF_ELSE__ELSE = eINSTANCE.getIfElse_Else(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl Real Object}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl Case}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealObject() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase() * @generated */ - EClass REAL_OBJECT = eINSTANCE.getRealObject(); + EClass CASE = eINSTANCE.getCase(); /** - * The meta object literal for the 'Value' attribute feature. + * The meta object literal for the 'Condition' containment reference feature. * * * @generated */ - EAttribute REAL_OBJECT__VALUE = eINSTANCE.getRealObject_Value(); + EReference CASE__CONDITION = eINSTANCE.getCase_Condition(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl String Object}' class. + * The meta object literal for the 'Body' containment reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringObject() * @generated */ - EClass STRING_OBJECT = eINSTANCE.getStringObject(); + EReference CASE__BODY = eINSTANCE.getCase_Body(); /** - * The meta object literal for the 'Value' attribute feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl Count}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCount() + * @generated + */ + EClass COUNT = eINSTANCE.getCount(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference COUNT__BODY = eINSTANCE.getCount_Body(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl Aggregation}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation() + * @generated + */ + EClass AGGREGATION = eINSTANCE.getAggregation(); + + /** + * The meta object literal for the 'Op' attribute feature. + * + * + * @generated + */ + EAttribute AGGREGATION__OP = eINSTANCE.getAggregation_Op(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference AGGREGATION__BODY = eINSTANCE.getAggregation_Body(); + + /** + * The meta object literal for the 'Condition' containment reference feature. + * + * + * @generated + */ + EReference AGGREGATION__CONDITION = eINSTANCE.getAggregation_Condition(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl Call}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCall() + * @generated + */ + EClass CALL = eINSTANCE.getCall(); + + /** + * The meta object literal for the 'Functor' containment reference feature. + * + * + * @generated + */ + EReference CALL__FUNCTOR = eINSTANCE.getCall_Functor(); + + /** + * The meta object literal for the 'Argument List' containment reference feature. + * + * + * @generated + */ + EReference CALL__ARGUMENT_LIST = eINSTANCE.getCall_ArgumentList(); + + /** + * The meta object literal for the 'Transitive Closure' attribute feature. * * * @generated */ - EAttribute STRING_OBJECT__VALUE = eINSTANCE.getStringObject_Value(); + EAttribute CALL__TRANSITIVE_CLOSURE = eINSTANCE.getCall_TransitiveClosure(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl Predicate}' class. + * The meta object literal for the 'Reflexive Transitive Closure' attribute feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicate() * @generated */ - EClass PREDICATE = eINSTANCE.getPredicate(); + EAttribute CALL__REFLEXIVE_TRANSITIVE_CLOSURE = eINSTANCE.getCall_ReflexiveTransitiveClosure(); /** - * The meta object literal for the 'Is Error' attribute feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl Argument List}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgumentList() * @generated */ - EAttribute PREDICATE__IS_ERROR = eINSTANCE.getPredicate_IsError(); + EClass ARGUMENT_LIST = eINSTANCE.getArgumentList(); /** - * The meta object literal for the 'Symbol' containment reference feature. + * The meta object literal for the 'Arguments' containment reference list feature. * * * @generated */ - EReference PREDICATE__SYMBOL = eINSTANCE.getPredicate_Symbol(); + EReference ARGUMENT_LIST__ARGUMENTS = eINSTANCE.getArgumentList_Arguments(); /** - * The meta object literal for the 'Parameters' containment reference list feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl Argument}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgument() * @generated */ - EReference PREDICATE__PARAMETERS = eINSTANCE.getPredicate_Parameters(); + EClass ARGUMENT = eINSTANCE.getArgument(); /** - * The meta object literal for the 'Bodies' containment reference list feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl Expression Argument}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpressionArgument() * @generated */ - EReference PREDICATE__BODIES = eINSTANCE.getPredicate_Bodies(); + EClass EXPRESSION_ARGUMENT = eINSTANCE.getExpressionArgument(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl Parameter}' class. + * The meta object literal for the 'Body' containment reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getParameter() * @generated */ - EClass PARAMETER = eINSTANCE.getParameter(); + EReference EXPRESSION_ARGUMENT__BODY = eINSTANCE.getExpressionArgument_Body(); /** - * The meta object literal for the 'Variable' containment reference feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl Star Argument}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument() * @generated */ - EReference PARAMETER__VARIABLE = eINSTANCE.getParameter_Variable(); + EClass STAR_ARGUMENT = eINSTANCE.getStarArgument(); /** - * The meta object literal for the 'Type' containment reference feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl Typed Argument}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedArgument() * @generated */ - EReference PARAMETER__TYPE = eINSTANCE.getParameter_Type(); + EClass TYPED_ARGUMENT = eINSTANCE.getTypedArgument(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl Pattern Body}' class. + * The meta object literal for the 'Type' reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPatternBody() * @generated */ - EClass PATTERN_BODY = eINSTANCE.getPatternBody(); + EReference TYPED_ARGUMENT__TYPE = eINSTANCE.getTypedArgument_Type(); /** - * The meta object literal for the 'Constraints' containment reference list feature. + * The meta object literal for the 'Variable' reference feature. * * * @generated */ - EReference PATTERN_BODY__CONSTRAINTS = eINSTANCE.getPatternBody_Constraints(); + EReference TYPED_ARGUMENT__VARIABLE = eINSTANCE.getTypedArgument_Variable(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PolarityImpl Polarity}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl Typed Star Argument}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PolarityImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPolarity() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument() * @generated */ - EClass POLARITY = eINSTANCE.getPolarity(); + EClass TYPED_STAR_ARGUMENT = eINSTANCE.getTypedStarArgument(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl Constraint}' class. + * The meta object literal for the 'Type' reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConstraint() * @generated */ - EClass CONSTRAINT = eINSTANCE.getConstraint(); + EReference TYPED_STAR_ARGUMENT__TYPE = eINSTANCE.getTypedStarArgument_Type(); /** - * The meta object literal for the 'Polarity' containment reference feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl Reference}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference() * @generated */ - EReference CONSTRAINT__POLARITY = eINSTANCE.getConstraint_Polarity(); + EClass REFERENCE = eINSTANCE.getReference(); /** - * The meta object literal for the 'Symbol' containment reference feature. + * The meta object literal for the 'Referred' reference feature. * * * @generated */ - EReference CONSTRAINT__SYMBOL = eINSTANCE.getConstraint_Symbol(); + EReference REFERENCE__REFERRED = eINSTANCE.getReference_Referred(); /** - * The meta object literal for the 'Params' containment reference list feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl Interval}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval() * @generated */ - EReference CONSTRAINT__PARAMS = eINSTANCE.getConstraint_Params(); + EClass INTERVAL = eINSTANCE.getInterval(); /** - * The meta object literal for the 'Closure Type' containment reference feature. + * The meta object literal for the 'Lower Bound' containment reference feature. * * * @generated */ - EReference CONSTRAINT__CLOSURE_TYPE = eINSTANCE.getConstraint_ClosureType(); + EReference INTERVAL__LOWER_BOUND = eINSTANCE.getInterval_LowerBound(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClosureTypeImpl Closure Type}' class. + * The meta object literal for the 'Upper Bound' containment reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClosureTypeImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClosureType() * @generated */ - EClass CLOSURE_TYPE = eINSTANCE.getClosureType(); + EReference INTERVAL__UPPER_BOUND = eINSTANCE.getInterval_UpperBound(); /** * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl Literal}' class. @@ -2966,14 +4706,112 @@ public interface SolverLanguagePackage extends EPackage EClass LITERAL = eINSTANCE.getLiteral(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl Variable}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl Logic Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral() + * @generated + */ + EClass LOGIC_LITERAL = eINSTANCE.getLogicLiteral(); + + /** + * The meta object literal for the 'Value' attribute feature. + * + * + * @generated + */ + EAttribute LOGIC_LITERAL__VALUE = eINSTANCE.getLogicLiteral_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl Numeric Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNumericLiteral() + * @generated + */ + EClass NUMERIC_LITERAL = eINSTANCE.getNumericLiteral(); + + /** + * The meta object literal for the 'Value' attribute feature. + * + * + * @generated + */ + EAttribute NUMERIC_LITERAL__VALUE = eINSTANCE.getNumericLiteral_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl Infinity Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInfinityLiteral() + * @generated + */ + EClass INFINITY_LITERAL = eINSTANCE.getInfinityLiteral(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl Empty Interval Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyIntervalLiteral() + * @generated + */ + EClass EMPTY_INTERVAL_LITERAL = eINSTANCE.getEmptyIntervalLiteral(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl String Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral() + * @generated + */ + EClass STRING_LITERAL = eINSTANCE.getStringLiteral(); + + /** + * The meta object literal for the 'Value' attribute feature. + * + * + * @generated + */ + EAttribute STRING_LITERAL__VALUE = eINSTANCE.getStringLiteral_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl Member Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition() + * @generated + */ + EClass MEMBER_DEFINITION = eINSTANCE.getMemberDefinition(); + + /** + * The meta object literal for the 'Containment' attribute feature. + * + * + * @generated + */ + EAttribute MEMBER_DEFINITION__CONTAINMENT = eINSTANCE.getMemberDefinition_Containment(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference MEMBER_DEFINITION__TYPE = eINSTANCE.getMemberDefinition_Type(); + + /** + * The meta object literal for the 'Multiplicity' containment reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getVariable() * @generated */ - EClass VARIABLE = eINSTANCE.getVariable(); + EReference MEMBER_DEFINITION__MULTIPLICITY = eINSTANCE.getMemberDefinition_Multiplicity(); /** * The meta object literal for the 'Name' attribute feature. @@ -2981,365 +4819,437 @@ public interface SolverLanguagePackage extends EPackage * * @generated */ - EAttribute VARIABLE__NAME = eINSTANCE.getVariable_Name(); + EAttribute MEMBER_DEFINITION__NAME = eINSTANCE.getMemberDefinition_Name(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl All Instances}' class. + * The meta object literal for the 'Opposite' reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllInstances() * @generated */ - EClass ALL_INSTANCES = eINSTANCE.getAllInstances(); + EReference MEMBER_DEFINITION__OPPOSITE = eINSTANCE.getMemberDefinition_Opposite(); /** - * The meta object literal for the 'Symbol' containment reference feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl Multiplicity}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity() * @generated */ - EReference ALL_INSTANCES__SYMBOL = eINSTANCE.getAllInstances_Symbol(); + EClass MULTIPLICITY = eINSTANCE.getMultiplicity(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllObjectsImpl All Objects}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl Many Multiplicity}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AllObjectsImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllObjects() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity() * @generated */ - EClass ALL_OBJECTS = eINSTANCE.getAllObjects(); + EClass MANY_MULTIPLICITY = eINSTANCE.getManyMultiplicity(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl Default Interpretation}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl Exact Multiplicity}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultInterpretation() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity() * @generated */ - EClass DEFAULT_INTERPRETATION = eINSTANCE.getDefaultInterpretation(); + EClass EXACT_MULTIPLICITY = eINSTANCE.getExactMultiplicity(); /** - * The meta object literal for the 'Interpretation' containment reference feature. + * The meta object literal for the 'Multiplicity' attribute feature. * * * @generated */ - EReference DEFAULT_INTERPRETATION__INTERPRETATION = eINSTANCE.getDefaultInterpretation_Interpretation(); + EAttribute EXACT_MULTIPLICITY__MULTIPLICITY = eINSTANCE.getExactMultiplicity_Multiplicity(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CDInterpretationImpl CD Interpretation}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl Bounded Multiplicity}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CDInterpretationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCDInterpretation() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity() * @generated */ - EClass CD_INTERPRETATION = eINSTANCE.getCDInterpretation(); + EClass BOUNDED_MULTIPLICITY = eINSTANCE.getBoundedMultiplicity(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl Class Interpretation}' class. + * The meta object literal for the 'Lower Bound' attribute feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassInterpretation() * @generated */ - EClass CLASS_INTERPRETATION = eINSTANCE.getClassInterpretation(); + EAttribute BOUNDED_MULTIPLICITY__LOWER_BOUND = eINSTANCE.getBoundedMultiplicity_LowerBound(); /** - * The meta object literal for the 'Abstract' attribute feature. + * The meta object literal for the 'Upper Bound' attribute feature. * * * @generated */ - EAttribute CLASS_INTERPRETATION__ABSTRACT = eINSTANCE.getClassInterpretation_Abstract(); + EAttribute BOUNDED_MULTIPLICITY__UPPER_BOUND = eINSTANCE.getBoundedMultiplicity_UpperBound(); /** - * The meta object literal for the 'Symbol' containment reference feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl Scope Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition() * @generated */ - EReference CLASS_INTERPRETATION__SYMBOL = eINSTANCE.getClassInterpretation_Symbol(); + EClass SCOPE_DEFINITION = eINSTANCE.getScopeDefinition(); /** - * The meta object literal for the 'Supertypes' containment reference list feature. + * The meta object literal for the 'Type' reference feature. * * * @generated */ - EReference CLASS_INTERPRETATION__SUPERTYPES = eINSTANCE.getClassInterpretation_Supertypes(); + EReference SCOPE_DEFINITION__TYPE = eINSTANCE.getScopeDefinition_Type(); /** - * The meta object literal for the 'Fielt' containment reference list feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl Exact Scope Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition() * @generated */ - EReference CLASS_INTERPRETATION__FIELT = eINSTANCE.getClassInterpretation_Fielt(); + EClass EXACT_SCOPE_DEFINITION = eINSTANCE.getExactScopeDefinition(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl Enum Interpretation}' class. + * The meta object literal for the 'Exact Scope' attribute feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEnumInterpretation() * @generated */ - EClass ENUM_INTERPRETATION = eINSTANCE.getEnumInterpretation(); + EAttribute EXACT_SCOPE_DEFINITION__EXACT_SCOPE = eINSTANCE.getExactScopeDefinition_ExactScope(); /** - * The meta object literal for the 'Symbol' containment reference feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl Bounded Scope Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition() * @generated */ - EReference ENUM_INTERPRETATION__SYMBOL = eINSTANCE.getEnumInterpretation_Symbol(); + EClass BOUNDED_SCOPE_DEFINITION = eINSTANCE.getBoundedScopeDefinition(); /** - * The meta object literal for the 'Objects' containment reference list feature. + * The meta object literal for the 'Lower Bound' attribute feature. * * * @generated */ - EReference ENUM_INTERPRETATION__OBJECTS = eINSTANCE.getEnumInterpretation_Objects(); + EAttribute BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getBoundedScopeDefinition_LowerBound(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl Field Relation Interpretation}' class. + * The meta object literal for the 'Upper Bound' attribute feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFieldRelationInterpretation() * @generated */ - EClass FIELD_RELATION_INTERPRETATION = eINSTANCE.getFieldRelationInterpretation(); + EAttribute BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = eINSTANCE.getBoundedScopeDefinition_UpperBound(); /** - * The meta object literal for the 'Containment' attribute feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl Lower Bounded Scope Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition() * @generated */ - EAttribute FIELD_RELATION_INTERPRETATION__CONTAINMENT = eINSTANCE.getFieldRelationInterpretation_Containment(); + EClass LOWER_BOUNDED_SCOPE_DEFINITION = eINSTANCE.getLowerBoundedScopeDefinition(); /** - * The meta object literal for the 'Symbol' containment reference feature. + * The meta object literal for the 'Lower Bound' attribute feature. * * * @generated */ - EReference FIELD_RELATION_INTERPRETATION__SYMBOL = eINSTANCE.getFieldRelationInterpretation_Symbol(); + EAttribute LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getLowerBoundedScopeDefinition_LowerBound(); /** - * The meta object literal for the 'Multiplicity' containment reference feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl Objective Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition() * @generated */ - EReference FIELD_RELATION_INTERPRETATION__MULTIPLICITY = eINSTANCE.getFieldRelationInterpretation_Multiplicity(); + EClass OBJECTIVE_DEFINITION = eINSTANCE.getObjectiveDefinition(); /** - * The meta object literal for the 'Target' containment reference feature. + * The meta object literal for the 'Kind' attribute feature. * * * @generated */ - EReference FIELD_RELATION_INTERPRETATION__TARGET = eINSTANCE.getFieldRelationInterpretation_Target(); + EAttribute OBJECTIVE_DEFINITION__KIND = eINSTANCE.getObjectiveDefinition_Kind(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl Global Relation Interpretation}' class. + * The meta object literal for the 'Objective' containment reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getGlobalRelationInterpretation() * @generated */ - EClass GLOBAL_RELATION_INTERPRETATION = eINSTANCE.getGlobalRelationInterpretation(); + EReference OBJECTIVE_DEFINITION__OBJECTIVE = eINSTANCE.getObjectiveDefinition_Objective(); /** - * The meta object literal for the 'Containment' attribute feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl Named Element}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement() + * @generated + */ + EClass NAMED_ELEMENT = eINSTANCE.getNamedElement(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute NAMED_ELEMENT__NAME = eINSTANCE.getNamedElement_Name(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl Assertion}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAssertion() + * @generated + */ + EClass ASSERTION = eINSTANCE.getAssertion(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference ASSERTION__BODY = eINSTANCE.getAssertion_Body(); + + /** + * The meta object literal for the 'Range' containment reference feature. + * + * + * @generated + */ + EReference ASSERTION__RANGE = eINSTANCE.getAssertion_Range(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl Disjunction}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction() + * @generated + */ + EClass DISJUNCTION = eINSTANCE.getDisjunction(); + + /** + * The meta object literal for the 'Children' containment reference list feature. + * + * + * @generated + */ + EReference DISJUNCTION__CHILDREN = eINSTANCE.getDisjunction_Children(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl Switch}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch() + * @generated + */ + EClass SWITCH = eINSTANCE.getSwitch(); + + /** + * The meta object literal for the 'Cases' containment reference list feature. * * * @generated */ - EAttribute GLOBAL_RELATION_INTERPRETATION__CONTAINMENT = eINSTANCE.getGlobalRelationInterpretation_Containment(); + EReference SWITCH__CASES = eINSTANCE.getSwitch_Cases(); /** - * The meta object literal for the 'Symbol' containment reference feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl Conjunction}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction() * @generated */ - EReference GLOBAL_RELATION_INTERPRETATION__SYMBOL = eINSTANCE.getGlobalRelationInterpretation_Symbol(); + EClass CONJUNCTION = eINSTANCE.getConjunction(); /** - * The meta object literal for the 'Source Multiplicity' containment reference feature. + * The meta object literal for the 'Children' containment reference list feature. * * * @generated */ - EReference GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY = eINSTANCE.getGlobalRelationInterpretation_SourceMultiplicity(); + EReference CONJUNCTION__CHILDREN = eINSTANCE.getConjunction_Children(); /** - * The meta object literal for the 'Source' containment reference feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl Comparison}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison() * @generated */ - EReference GLOBAL_RELATION_INTERPRETATION__SOURCE = eINSTANCE.getGlobalRelationInterpretation_Source(); + EClass COMPARISON = eINSTANCE.getComparison(); /** - * The meta object literal for the 'Target Multiplicity' containment reference feature. + * The meta object literal for the 'Left' containment reference feature. * * * @generated */ - EReference GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY = eINSTANCE.getGlobalRelationInterpretation_TargetMultiplicity(); + EReference COMPARISON__LEFT = eINSTANCE.getComparison_Left(); /** - * The meta object literal for the 'Target' containment reference feature. + * The meta object literal for the 'Op' attribute feature. * * * @generated */ - EReference GLOBAL_RELATION_INTERPRETATION__TARGET = eINSTANCE.getGlobalRelationInterpretation_Target(); + EAttribute COMPARISON__OP = eINSTANCE.getComparison_Op(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl Multiplicity Definition}' class. + * The meta object literal for the 'Right' containment reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicityDefinition() * @generated */ - EClass MULTIPLICITY_DEFINITION = eINSTANCE.getMultiplicityDefinition(); + EReference COMPARISON__RIGHT = eINSTANCE.getComparison_Right(); /** - * The meta object literal for the 'Lower' attribute feature. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl Binary Expression}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression() * @generated */ - EAttribute MULTIPLICITY_DEFINITION__LOWER = eINSTANCE.getMultiplicityDefinition_Lower(); + EClass BINARY_EXPRESSION = eINSTANCE.getBinaryExpression(); /** - * The meta object literal for the 'Upper' attribute feature. + * The meta object literal for the 'Left' containment reference feature. * * * @generated */ - EAttribute MULTIPLICITY_DEFINITION__UPPER = eINSTANCE.getMultiplicityDefinition_Upper(); + EReference BINARY_EXPRESSION__LEFT = eINSTANCE.getBinaryExpression_Left(); /** - * The meta object literal for the 'Unlimited Upper' attribute feature. + * The meta object literal for the 'Op' attribute feature. * * * @generated */ - EAttribute MULTIPLICITY_DEFINITION__UNLIMITED_UPPER = eINSTANCE.getMultiplicityDefinition_UnlimitedUpper(); + EAttribute BINARY_EXPRESSION__OP = eINSTANCE.getBinaryExpression_Op(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanTrueImpl Boolean True}' class. + * The meta object literal for the 'Right' containment reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanTrueImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanTrue() * @generated */ - EClass BOOLEAN_TRUE = eINSTANCE.getBooleanTrue(); + EReference BINARY_EXPRESSION__RIGHT = eINSTANCE.getBinaryExpression_Right(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanFalseImpl Boolean False}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl Unary Expression}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanFalseImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanFalse() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression() * @generated */ - EClass BOOLEAN_FALSE = eINSTANCE.getBooleanFalse(); + EClass UNARY_EXPRESSION = eINSTANCE.getUnaryExpression(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TrueImpl True}' class. + * The meta object literal for the 'Op' attribute feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TrueImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTrue() * @generated */ - EClass TRUE = eINSTANCE.getTrue(); + EAttribute UNARY_EXPRESSION__OP = eINSTANCE.getUnaryExpression_Op(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FalseImpl False}' class. + * The meta object literal for the 'Body' containment reference feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FalseImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFalse() * @generated */ - EClass FALSE = eINSTANCE.getFalse(); + EReference UNARY_EXPRESSION__BODY = eINSTANCE.getUnaryExpression_Body(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnknownImpl Unknown}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricType Metric Type}' enum. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnknownImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnknown() + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricType() * @generated */ - EClass UNKNOWN = eINSTANCE.getUnknown(); + EEnum METRIC_TYPE = eINSTANCE.getMetricType(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorImpl Error}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator Binary Operator}' enum. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getError() + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryOperator() * @generated */ - EClass ERROR = eINSTANCE.getError(); + EEnum BINARY_OPERATOR = eINSTANCE.getBinaryOperator(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PositiveImpl Positive}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp Unary Op}' enum. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PositiveImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPositive() + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOp() * @generated */ - EClass POSITIVE = eINSTANCE.getPositive(); + EEnum UNARY_OP = eINSTANCE.getUnaryOp(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NegativeImpl Negative}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp Aggregation Op}' enum. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NegativeImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNegative() + * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregationOp() * @generated */ - EClass NEGATIVE = eINSTANCE.getNegative(); + EEnum AGGREGATION_OP = eINSTANCE.getAggregationOp(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReflexiveClosureImpl Reflexive Closure}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue Logic Value}' enum. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReflexiveClosureImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReflexiveClosure() + * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicValue() * @generated */ - EClass REFLEXIVE_CLOSURE = eINSTANCE.getReflexiveClosure(); + EEnum LOGIC_VALUE = eINSTANCE.getLogicValue(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IrreflexiveClosureImpl Irreflexive Closure}' class. + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind Objective Kind}' enum. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IrreflexiveClosureImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIrreflexiveClosure() + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveKind() * @generated */ - EClass IRREFLEXIVE_CLOSURE = eINSTANCE.getIrreflexiveClosure(); + EEnum OBJECTIVE_KIND = eINSTANCE.getObjectiveKind(); } diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java new file mode 100644 index 00000000..4e4bed1b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java @@ -0,0 +1,19 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Star Argument'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStarArgument() + * @model + * @generated + */ +public interface StarArgument extends Argument +{ +} // 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 @@ /** - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.solverLanguage; +import org.eclipse.emf.common.util.EList; + import org.eclipse.emf.ecore.EObject; /** @@ -10,6 +12,15 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object 'Statement'. * * + *

    + * The following features are supported: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract Abstract}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getName Name}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getSuperclasses Superclasses}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getMembers Members}
    • + *
    * * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement() * @model @@ -17,4 +28,72 @@ import org.eclipse.emf.ecore.EObject; */ public interface Statement extends EObject { + /** + * Returns the value of the 'Abstract' attribute. + * + * + * @return the value of the 'Abstract' attribute. + * @see #setAbstract(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Abstract() + * @model + * @generated + */ + boolean isAbstract(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract Abstract}' attribute. + * + * + * @param value the new value of the 'Abstract' attribute. + * @see #isAbstract() + * @generated + */ + void setAbstract(boolean value); + + /** + * Returns the value of the 'Name' attribute. + * + * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Superclasses' reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}. + * + * + * @return the value of the 'Superclasses' reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Superclasses() + * @model + * @generated + */ + EList getSuperclasses(); + + /** + * Returns the value of the 'Members' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition}. + * + * + * @return the value of the 'Members' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Members() + * @model containment="true" + * @generated + */ + EList getMembers(); + } // Statement diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java new file mode 100644 index 00000000..dc4d6487 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java @@ -0,0 +1,47 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'String Literal'. + * + * + *

    + * The following features are supported: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue Value}
    • + *
    + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringLiteral() + * @model + * @generated + */ +public interface StringLiteral extends Literal +{ + /** + * Returns the value of the 'Value' attribute. + * + * + * @return the value of the 'Value' attribute. + * @see #setValue(String) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringLiteral_Value() + * @model + * @generated + */ + String getValue(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue Value}' attribute. + * + * + * @param value the new value of the 'Value' attribute. + * @see #getValue() + * @generated + */ + void setValue(String value); + +} // StringLiteral 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/StringObject.java deleted file mode 100644 index d1d3ee6d..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringObject.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'String Object'. - * - * - *

    - * The following features are supported: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.StringObject#getValue Value}
    • - *
    - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringObject() - * @model - * @generated - */ -public interface StringObject extends DataObject -{ - /** - * Returns the value of the 'Value' attribute. - * - * - * @return the value of the 'Value' attribute. - * @see #setValue(String) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringObject_Value() - * @model - * @generated - */ - String getValue(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject#getValue Value}' attribute. - * - * - * @param value the new value of the 'Value' attribute. - * @see #getValue() - * @generated - */ - void setValue(String value); - -} // StringObject 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/StringSymbol.java deleted file mode 100644 index f3d6d8ee..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringSymbol.java +++ /dev/null @@ -1,19 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'String Symbol'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringSymbol() - * @model - * @generated - */ -public interface StringSymbol extends DataSymbol -{ -} // StringSymbol 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Switch'. + * + * + *

    + * The following features are supported: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases Cases}
    • + *
    + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getSwitch() + * @model + * @generated + */ +public interface Switch extends Expression +{ + /** + * Returns the value of the 'Cases' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Case}. + * + * + * @return the value of the 'Cases' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getSwitch_Cases() + * @model containment="true" + * @generated + */ + EList getCases(); + +} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Symbol'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getSymbol() - * @model - * @generated - */ -public interface Symbol extends EObject -{ -} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'True'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTrue() - * @model - * @generated - */ -public interface True extends TruthValue -{ -} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Truth Value'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTruthValue() - * @model - * @generated - */ -public interface TruthValue extends EObject -{ -} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Typed Argument'. + * + * + *

    + * The following features are supported: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType Type}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable Variable}
    • + *
    + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument() + * @model + * @generated + */ +public interface TypedArgument extends Argument +{ + /** + * Returns the value of the 'Type' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement value); + + /** + * Returns the value of the 'Variable' reference. + * + * + * @return the value of the 'Variable' reference. + * @see #setVariable(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument_Variable() + * @model + * @generated + */ + NamedElement getVariable(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable Variable}' reference. + * + * + * @param value the new value of the 'Variable' reference. + * @see #getVariable() + * @generated + */ + void setVariable(NamedElement value); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Typed Star Argument'. + * + * + *

    + * The following features are supported: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType Type}
    • + *
    + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedStarArgument() + * @model + * @generated + */ +public interface TypedStarArgument extends Argument +{ + /** + * Returns the value of the 'Type' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedStarArgument_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement value); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Unary Expression'. + * + * + *

    + * The following features are supported: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp Op}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody Body}
    • + *
    + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression() + * @model + * @generated + */ +public interface UnaryExpression extends Expression +{ + /** + * Returns the value of the 'Op' attribute. + * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp}. + * + * + * @return the value of the 'Op' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp + * @see #setOp(UnaryOp) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression_Op() + * @model + * @generated + */ + UnaryOp getOp(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp Op}' attribute. + * + * + * @param value the new value of the 'Op' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp + * @see #getOp() + * @generated + */ + void setOp(UnaryOp value); + + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + +} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'Unary Op', + * and utility methods for working with them. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryOp() + * @model + * @generated + */ +public enum UnaryOp implements Enumerator +{ + /** + * The 'NEG' literal object. + * + * + * @see #NEG_VALUE + * @generated + * @ordered + */ + NEG(0, "NEG", "!"), + + /** + * The 'PLUS' literal object. + * + * + * @see #PLUS_VALUE + * @generated + * @ordered + */ + PLUS(1, "PLUS", "+"), + + /** + * The 'MINUS' literal object. + * + * + * @see #MINUS_VALUE + * @generated + * @ordered + */ + MINUS(2, "MINUS", "-"), + + /** + * The 'MAY' literal object. + * + * + * @see #MAY_VALUE + * @generated + * @ordered + */ + MAY(3, "MAY", "may"), + + /** + * The 'MUST' literal object. + * + * + * @see #MUST_VALUE + * @generated + * @ordered + */ + MUST(4, "MUST", "must"), + + /** + * The 'CURRENT' literal object. + * + * + * @see #CURRENT_VALUE + * @generated + * @ordered + */ + CURRENT(5, "CURRENT", "current"); + + /** + * The 'NEG' literal value. + * + * + * @see #NEG + * @model literal="!" + * @generated + * @ordered + */ + public static final int NEG_VALUE = 0; + + /** + * The 'PLUS' literal value. + * + * + * @see #PLUS + * @model literal="+" + * @generated + * @ordered + */ + public static final int PLUS_VALUE = 1; + + /** + * The 'MINUS' literal value. + * + * + * @see #MINUS + * @model literal="-" + * @generated + * @ordered + */ + public static final int MINUS_VALUE = 2; + + /** + * The 'MAY' literal value. + * + * + * @see #MAY + * @model literal="may" + * @generated + * @ordered + */ + public static final int MAY_VALUE = 3; + + /** + * The 'MUST' literal value. + * + * + * @see #MUST + * @model literal="must" + * @generated + * @ordered + */ + public static final int MUST_VALUE = 4; + + /** + * The 'CURRENT' literal value. + * + * + * @see #CURRENT + * @model literal="current" + * @generated + * @ordered + */ + public static final int CURRENT_VALUE = 5; + + /** + * An array of all the 'Unary Op' enumerators. + * + * + * @generated + */ + private static final UnaryOp[] VALUES_ARRAY = + new UnaryOp[] + { + NEG, + PLUS, + MINUS, + MAY, + MUST, + CURRENT, + }; + + /** + * A public read-only list of all the 'Unary Op' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Unary Op' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static UnaryOp get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + UnaryOp result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the 'Unary Op' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static UnaryOp getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + UnaryOp result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the 'Unary Op' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static UnaryOp get(int value) + { + switch (value) + { + case NEG_VALUE: return NEG; + case PLUS_VALUE: return PLUS; + case MINUS_VALUE: return MINUS; + case MAY_VALUE: return MAY; + case MUST_VALUE: return MUST; + case CURRENT_VALUE: return CURRENT; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private UnaryOp(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + @Override + public int getValue() + { + return value; + } + + /** + * + * + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + @Override + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Unknown'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnknown() - * @model - * @generated - */ -public interface Unknown extends TruthValue -{ -} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Unnamed Error Prediate Definition'. + * + * + *

    + * The following features are supported: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList Argument List}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody Body}
    • + *
    + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPrediateDefinition() + * @model + * @generated + */ +public interface UnnamedErrorPrediateDefinition extends Statement +{ + /** + * Returns the value of the 'Argument List' containment reference. + * + * + * @return the value of the 'Argument List' containment reference. + * @see #setArgumentList(ArgumentList) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPrediateDefinition_ArgumentList() + * @model containment="true" + * @generated + */ + ArgumentList getArgumentList(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList Argument List}' containment reference. + * + * + * @param value the new value of the 'Argument List' containment reference. + * @see #getArgumentList() + * @generated + */ + void setArgumentList(ArgumentList value); + + /** + * Returns the value of the 'Body' containment reference. + * + * + * @return the value of the 'Body' containment reference. + * @see #setBody(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPrediateDefinition_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + +} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Unnamed Object'. - * - * - *

    - * The following features are supported: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject#getName Name}
    • - *
    - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedObject() - * @model - * @generated - */ -public interface UnnamedObject extends org.eclipse.viatra.solver.language.solverLanguage.Object -{ - /** - * Returns the value of the 'Name' attribute. - * - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedObject_Name() - * @model - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - -} // 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Variable'. - * - * - *

    - * The following features are supported: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getName Name}
    • - *
    - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getVariable() - * @model - * @generated - */ -public interface Variable extends Literal -{ - /** - * Returns the value of the 'Name' attribute. - * - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getVariable_Name() - * @model - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - -} // 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Aggregation; +import org.eclipse.viatra.solver.language.solverLanguage.AggregationOp; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Aggregation'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getOp Op}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getBody Body}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getCondition Condition}
    • + *
    + * + * @generated + */ +public class AggregationImpl extends ExpressionImpl implements Aggregation +{ + /** + * The default value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected static final AggregationOp OP_EDEFAULT = AggregationOp.ONLY; + + /** + * The cached value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected AggregationOp op = OP_EDEFAULT; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * The cached value of the '{@link #getCondition() Condition}' containment reference. + * + * + * @see #getCondition() + * @generated + * @ordered + */ + protected Expression condition; + + /** + * + * + * @generated + */ + protected AggregationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.AGGREGATION; + } + + /** + * + * + * @generated + */ + @Override + public AggregationOp getOp() + { + return op; + } + + /** + * + * + * @generated + */ + @Override + public void setOp(AggregationOp newOp) + { + AggregationOp oldOp = op; + op = newOp == null ? OP_EDEFAULT : newOp; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__OP, oldOp, op)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() + { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) + { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) + { + if (newBody != body) + { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getCondition() + { + return condition; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs) + { + Expression oldCondition = condition; + condition = newCondition; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__CONDITION, oldCondition, newCondition); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setCondition(Expression newCondition) + { + if (newCondition != condition) + { + NotificationChain msgs = null; + if (condition != null) + msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__CONDITION, null, msgs); + if (newCondition != null) + msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__CONDITION, null, msgs); + msgs = basicSetCondition(newCondition, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__CONDITION, newCondition, newCondition)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.AGGREGATION__BODY: + return basicSetBody(null, msgs); + case SolverLanguagePackage.AGGREGATION__CONDITION: + return basicSetCondition(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.AGGREGATION__OP: + return getOp(); + case SolverLanguagePackage.AGGREGATION__BODY: + return getBody(); + case SolverLanguagePackage.AGGREGATION__CONDITION: + return getCondition(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.AGGREGATION__OP: + setOp((AggregationOp)newValue); + return; + case SolverLanguagePackage.AGGREGATION__BODY: + setBody((Expression)newValue); + return; + case SolverLanguagePackage.AGGREGATION__CONDITION: + setCondition((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.AGGREGATION__OP: + setOp(OP_EDEFAULT); + return; + case SolverLanguagePackage.AGGREGATION__BODY: + setBody((Expression)null); + return; + case SolverLanguagePackage.AGGREGATION__CONDITION: + setCondition((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.AGGREGATION__OP: + return op != OP_EDEFAULT; + case SolverLanguagePackage.AGGREGATION__BODY: + return body != null; + case SolverLanguagePackage.AGGREGATION__CONDITION: + return condition != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (op: "); + result.append(op); + result.append(')'); + return result.toString(); + } + +} //AggregationImpl 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/AllInstancesImpl.java deleted file mode 100644 index 5da3bf30..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllInstancesImpl.java +++ /dev/null @@ -1,196 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.AllInstances; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.Symbol; - -/** - * - * An implementation of the model object 'All Instances'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl#getSymbol Symbol}
    • - *
    - * - * @generated - */ -public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances -{ - /** - * The cached value of the '{@link #getSymbol() Symbol}' containment reference. - * - * - * @see #getSymbol() - * @generated - * @ordered - */ - protected Symbol symbol; - - /** - * - * - * @generated - */ - protected AllInstancesImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.ALL_INSTANCES; - } - - /** - * - * - * @generated - */ - @Override - public Symbol getSymbol() - { - return symbol; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetSymbol(Symbol newSymbol, NotificationChain msgs) - { - Symbol oldSymbol = symbol; - symbol = newSymbol; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ALL_INSTANCES__SYMBOL, oldSymbol, newSymbol); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setSymbol(Symbol newSymbol) - { - if (newSymbol != symbol) - { - NotificationChain msgs = null; - if (symbol != null) - msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ALL_INSTANCES__SYMBOL, null, msgs); - if (newSymbol != null) - msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ALL_INSTANCES__SYMBOL, null, msgs); - msgs = basicSetSymbol(newSymbol, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ALL_INSTANCES__SYMBOL, newSymbol, newSymbol)); - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case SolverLanguagePackage.ALL_INSTANCES__SYMBOL: - return basicSetSymbol(null, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.ALL_INSTANCES__SYMBOL: - return getSymbol(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.ALL_INSTANCES__SYMBOL: - setSymbol((Symbol)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.ALL_INSTANCES__SYMBOL: - setSymbol((Symbol)null); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.ALL_INSTANCES__SYMBOL: - return symbol != null; - } - return super.eIsSet(featureID); - } - -} //AllInstancesImpl 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/AllObjectsImpl.java deleted file mode 100644 index b1e9c3d0..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllObjectsImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.AllObjects; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'All Objects'. - * - * - * @generated - */ -public class AllObjectsImpl extends ComplexObjectImpl implements AllObjects -{ - /** - * - * - * @generated - */ - protected AllObjectsImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.ALL_OBJECTS; - } - -} //AllObjectsImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java new file mode 100644 index 00000000..d8bf8d91 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java @@ -0,0 +1,43 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Argument; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Argument'. + * + * + * @generated + */ +public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argument +{ + /** + * + * + * @generated + */ + protected ArgumentImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.ARGUMENT; + } + +} //ArgumentImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java new file mode 100644 index 00000000..8c16fb4f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java @@ -0,0 +1,169 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.solver.language.solverLanguage.Argument; +import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Argument List'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl#getArguments Arguments}
    • + *
    + * + * @generated + */ +public class ArgumentListImpl extends MinimalEObjectImpl.Container implements ArgumentList +{ + /** + * The cached value of the '{@link #getArguments() Arguments}' containment reference list. + * + * + * @see #getArguments() + * @generated + * @ordered + */ + protected EList arguments; + + /** + * + * + * @generated + */ + protected ArgumentListImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.ARGUMENT_LIST; + } + + /** + * + * + * @generated + */ + @Override + public EList getArguments() + { + if (arguments == null) + { + arguments = new EObjectContainmentEList(Argument.class, this, SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS); + } + return arguments; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS: + return ((InternalEList)getArguments()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS: + return getArguments(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS: + getArguments().clear(); + getArguments().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS: + getArguments().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS: + return arguments != null && !arguments.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //ArgumentListImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java new file mode 100644 index 00000000..8165b62e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java @@ -0,0 +1,269 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Assertion; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Assertion'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl#getBody Body}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl#getRange Range}
    • + *
    + * + * @generated + */ +public class AssertionImpl extends StatementImpl implements Assertion +{ + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * The cached value of the '{@link #getRange() Range}' containment reference. + * + * + * @see #getRange() + * @generated + * @ordered + */ + protected Expression range; + + /** + * + * + * @generated + */ + protected AssertionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.ASSERTION; + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() + { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) + { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) + { + if (newBody != body) + { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getRange() + { + return range; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRange(Expression newRange, NotificationChain msgs) + { + Expression oldRange = range; + range = newRange; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__RANGE, oldRange, newRange); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setRange(Expression newRange) + { + if (newRange != range) + { + NotificationChain msgs = null; + if (range != null) + msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__RANGE, null, msgs); + if (newRange != null) + msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__RANGE, null, msgs); + msgs = basicSetRange(newRange, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__RANGE, newRange, newRange)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.ASSERTION__BODY: + return basicSetBody(null, msgs); + case SolverLanguagePackage.ASSERTION__RANGE: + return basicSetRange(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.ASSERTION__BODY: + return getBody(); + case SolverLanguagePackage.ASSERTION__RANGE: + return getRange(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.ASSERTION__BODY: + setBody((Expression)newValue); + return; + case SolverLanguagePackage.ASSERTION__RANGE: + setRange((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.ASSERTION__BODY: + setBody((Expression)null); + return; + case SolverLanguagePackage.ASSERTION__RANGE: + setRange((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.ASSERTION__BODY: + return body != null; + case SolverLanguagePackage.ASSERTION__RANGE: + return range != null; + } + return super.eIsSet(featureID); + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import java.util.Collection; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - -import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.Symbol; -import org.eclipse.viatra.solver.language.solverLanguage.TruthValue; - -/** - * - * An implementation of the model object 'Basic Interpretation'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl#getSymbol Symbol}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl#getObjects Objects}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl#getValue Value}
    • - *
    - * - * @generated - */ -public class BasicInterpretationImpl extends InterpretationImpl implements BasicInterpretation -{ - /** - * The cached value of the '{@link #getSymbol() Symbol}' containment reference. - * - * - * @see #getSymbol() - * @generated - * @ordered - */ - protected Symbol symbol; - - /** - * The cached value of the '{@link #getObjects() Objects}' containment reference list. - * - * - * @see #getObjects() - * @generated - * @ordered - */ - protected EList objects; - - /** - * The cached value of the '{@link #getValue() Value}' containment reference. - * - * - * @see #getValue() - * @generated - * @ordered - */ - protected TruthValue value; - - /** - * - * - * @generated - */ - protected BasicInterpretationImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.BASIC_INTERPRETATION; - } - - /** - * - * - * @generated - */ - @Override - public Symbol getSymbol() - { - return symbol; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetSymbol(Symbol newSymbol, NotificationChain msgs) - { - Symbol oldSymbol = symbol; - symbol = newSymbol; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL, oldSymbol, newSymbol); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setSymbol(Symbol newSymbol) - { - if (newSymbol != symbol) - { - NotificationChain msgs = null; - if (symbol != null) - msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL, null, msgs); - if (newSymbol != null) - msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL, null, msgs); - msgs = basicSetSymbol(newSymbol, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL, newSymbol, newSymbol)); - } - - /** - * - * - * @generated - */ - @Override - public EList getObjects() - { - if (objects == null) - { - objects = new EObjectContainmentEList(ComplexObject.class, this, SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS); - } - return objects; - } - - /** - * - * - * @generated - */ - @Override - public TruthValue getValue() - { - return value; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetValue(TruthValue newValue, NotificationChain msgs) - { - TruthValue oldValue = value; - value = newValue; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BASIC_INTERPRETATION__VALUE, oldValue, newValue); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setValue(TruthValue newValue) - { - if (newValue != value) - { - NotificationChain msgs = null; - if (value != null) - msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BASIC_INTERPRETATION__VALUE, null, msgs); - if (newValue != null) - msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BASIC_INTERPRETATION__VALUE, null, msgs); - msgs = basicSetValue(newValue, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BASIC_INTERPRETATION__VALUE, newValue, newValue)); - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL: - return basicSetSymbol(null, msgs); - case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS: - return ((InternalEList)getObjects()).basicRemove(otherEnd, msgs); - case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE: - return basicSetValue(null, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL: - return getSymbol(); - case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS: - return getObjects(); - case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE: - return getValue(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL: - setSymbol((Symbol)newValue); - return; - case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS: - getObjects().clear(); - getObjects().addAll((Collection)newValue); - return; - case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE: - setValue((TruthValue)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL: - setSymbol((Symbol)null); - return; - case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS: - getObjects().clear(); - return; - case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE: - setValue((TruthValue)null); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL: - return symbol != null; - case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS: - return objects != null && !objects.isEmpty(); - case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE: - return value != null; - } - return super.eIsSet(featureID); - } - -} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression; +import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Binary Expression'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getLeft Left}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getOp Op}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getRight Right}
    • + *
    + * + * @generated + */ +public class BinaryExpressionImpl extends ExpressionImpl implements BinaryExpression +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The default value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected static final BinaryOperator OP_EDEFAULT = BinaryOperator.EQ; + + /** + * The cached value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected BinaryOperator op = OP_EDEFAULT; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected BinaryExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.BINARY_EXPRESSION; + } + + /** + * + * + * @generated + */ + @Override + public Expression getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + @Override + public BinaryOperator getOp() + { + return op; + } + + /** + * + * + * @generated + */ + @Override + public void setOp(BinaryOperator newOp) + { + BinaryOperator oldOp = op; + op = newOp == null ? OP_EDEFAULT : newOp; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__OP, oldOp, op)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.BINARY_EXPRESSION__LEFT: + return basicSetLeft(null, msgs); + case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.BINARY_EXPRESSION__LEFT: + return getLeft(); + case SolverLanguagePackage.BINARY_EXPRESSION__OP: + return getOp(); + case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.BINARY_EXPRESSION__LEFT: + setLeft((Expression)newValue); + return; + case SolverLanguagePackage.BINARY_EXPRESSION__OP: + setOp((BinaryOperator)newValue); + return; + case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.BINARY_EXPRESSION__LEFT: + setLeft((Expression)null); + return; + case SolverLanguagePackage.BINARY_EXPRESSION__OP: + setOp(OP_EDEFAULT); + return; + case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.BINARY_EXPRESSION__LEFT: + return left != null; + case SolverLanguagePackage.BINARY_EXPRESSION__OP: + return op != OP_EDEFAULT; + case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (op: "); + result.append(op); + result.append(')'); + return result.toString(); + } + +} //BinaryExpressionImpl 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/BooleanFalseImpl.java deleted file mode 100644 index ae78f540..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanFalseImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Boolean False'. - * - * - * @generated - */ -public class BooleanFalseImpl extends BooleanValueImpl implements BooleanFalse -{ - /** - * - * - * @generated - */ - protected BooleanFalseImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.BOOLEAN_FALSE; - } - -} //BooleanFalseImpl 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/BooleanObjectImpl.java deleted file mode 100644 index cb1a3ff4..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanObjectImpl.java +++ /dev/null @@ -1,196 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Boolean Object'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl#getValue Value}
    • - *
    - * - * @generated - */ -public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject -{ - /** - * The cached value of the '{@link #getValue() Value}' containment reference. - * - * - * @see #getValue() - * @generated - * @ordered - */ - protected BooleanValue value; - - /** - * - * - * @generated - */ - protected BooleanObjectImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.BOOLEAN_OBJECT; - } - - /** - * - * - * @generated - */ - @Override - public BooleanValue getValue() - { - return value; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetValue(BooleanValue newValue, NotificationChain msgs) - { - BooleanValue oldValue = value; - value = newValue; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOOLEAN_OBJECT__VALUE, oldValue, newValue); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setValue(BooleanValue newValue) - { - if (newValue != value) - { - NotificationChain msgs = null; - if (value != null) - msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BOOLEAN_OBJECT__VALUE, null, msgs); - if (newValue != null) - msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BOOLEAN_OBJECT__VALUE, null, msgs); - msgs = basicSetValue(newValue, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOOLEAN_OBJECT__VALUE, newValue, newValue)); - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE: - return basicSetValue(null, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE: - return getValue(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE: - setValue((BooleanValue)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE: - setValue((BooleanValue)null); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE: - return value != null; - } - return super.eIsSet(featureID); - } - -} //BooleanObjectImpl 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Boolean Symbol'. - * - * - * @generated - */ -public class BooleanSymbolImpl extends DataSymbolImpl implements BooleanSymbol -{ - /** - * - * - * @generated - */ - protected BooleanSymbolImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.BOOLEAN_SYMBOL; - } - -} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Boolean True'. - * - * - * @generated - */ -public class BooleanTrueImpl extends BooleanValueImpl implements BooleanTrue -{ - /** - * - * - * @generated - */ - protected BooleanTrueImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.BOOLEAN_TRUE; - } - -} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Boolean Value'. - * - * - * @generated - */ -public class BooleanValueImpl extends MinimalEObjectImpl.Container implements BooleanValue -{ - /** - * - * - * @generated - */ - protected BooleanValueImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.BOOLEAN_VALUE; - } - -} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Bounded Multiplicity'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl#getLowerBound Lower Bound}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl#getUpperBound Upper Bound}
    • + *
    + * + * @generated + */ +public class BoundedMultiplicityImpl extends MultiplicityImpl implements BoundedMultiplicity +{ + /** + * The default value of the '{@link #getLowerBound() Lower Bound}' attribute. + * + * + * @see #getLowerBound() + * @generated + * @ordered + */ + protected static final int LOWER_BOUND_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getLowerBound() Lower Bound}' attribute. + * + * + * @see #getLowerBound() + * @generated + * @ordered + */ + protected int lowerBound = LOWER_BOUND_EDEFAULT; + + /** + * The default value of the '{@link #getUpperBound() Upper Bound}' attribute. + * + * + * @see #getUpperBound() + * @generated + * @ordered + */ + protected static final int UPPER_BOUND_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getUpperBound() Upper Bound}' attribute. + * + * + * @see #getUpperBound() + * @generated + * @ordered + */ + protected int upperBound = UPPER_BOUND_EDEFAULT; + + /** + * + * + * @generated + */ + protected BoundedMultiplicityImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.BOUNDED_MULTIPLICITY; + } + + /** + * + * + * @generated + */ + @Override + public int getLowerBound() + { + return lowerBound; + } + + /** + * + * + * @generated + */ + @Override + public void setLowerBound(int newLowerBound) + { + int oldLowerBound = lowerBound; + lowerBound = newLowerBound; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND, oldLowerBound, lowerBound)); + } + + /** + * + * + * @generated + */ + @Override + public int getUpperBound() + { + return upperBound; + } + + /** + * + * + * @generated + */ + @Override + public void setUpperBound(int newUpperBound) + { + int oldUpperBound = upperBound; + upperBound = newUpperBound; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND, oldUpperBound, upperBound)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND: + return getLowerBound(); + case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND: + return getUpperBound(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND: + setLowerBound((Integer)newValue); + return; + case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND: + setUpperBound((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND: + setLowerBound(LOWER_BOUND_EDEFAULT); + return; + case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND: + setUpperBound(UPPER_BOUND_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND: + return lowerBound != LOWER_BOUND_EDEFAULT; + case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND: + return upperBound != UPPER_BOUND_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (lowerBound: "); + result.append(lowerBound); + result.append(", upperBound: "); + result.append(upperBound); + result.append(')'); + return result.toString(); + } + +} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Bounded Scope Definition'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl#getLowerBound Lower Bound}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl#getUpperBound Upper Bound}
    • + *
    + * + * @generated + */ +public class BoundedScopeDefinitionImpl extends ScopeDefinitionImpl implements BoundedScopeDefinition +{ + /** + * The default value of the '{@link #getLowerBound() Lower Bound}' attribute. + * + * + * @see #getLowerBound() + * @generated + * @ordered + */ + protected static final int LOWER_BOUND_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getLowerBound() Lower Bound}' attribute. + * + * + * @see #getLowerBound() + * @generated + * @ordered + */ + protected int lowerBound = LOWER_BOUND_EDEFAULT; + + /** + * The default value of the '{@link #getUpperBound() Upper Bound}' attribute. + * + * + * @see #getUpperBound() + * @generated + * @ordered + */ + protected static final int UPPER_BOUND_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getUpperBound() Upper Bound}' attribute. + * + * + * @see #getUpperBound() + * @generated + * @ordered + */ + protected int upperBound = UPPER_BOUND_EDEFAULT; + + /** + * + * + * @generated + */ + protected BoundedScopeDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.BOUNDED_SCOPE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public int getLowerBound() + { + return lowerBound; + } + + /** + * + * + * @generated + */ + @Override + public void setLowerBound(int newLowerBound) + { + int oldLowerBound = lowerBound; + lowerBound = newLowerBound; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND, oldLowerBound, lowerBound)); + } + + /** + * + * + * @generated + */ + @Override + public int getUpperBound() + { + return upperBound; + } + + /** + * + * + * @generated + */ + @Override + public void setUpperBound(int newUpperBound) + { + int oldUpperBound = upperBound; + upperBound = newUpperBound; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND, oldUpperBound, upperBound)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND: + return getLowerBound(); + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND: + return getUpperBound(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND: + setLowerBound((Integer)newValue); + return; + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND: + setUpperBound((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND: + setLowerBound(LOWER_BOUND_EDEFAULT); + return; + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND: + setUpperBound(UPPER_BOUND_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND: + return lowerBound != LOWER_BOUND_EDEFAULT; + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND: + return upperBound != UPPER_BOUND_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (lowerBound: "); + result.append(lowerBound); + result.append(", upperBound: "); + result.append(upperBound); + result.append(')'); + return result.toString(); + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'CD Interpretation'. - * - * - * @generated - */ -public class CDInterpretationImpl extends InterpretationImpl implements CDInterpretation -{ - /** - * - * - * @generated - */ - protected CDInterpretationImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.CD_INTERPRETATION; - } - -} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList; +import org.eclipse.viatra.solver.language.solverLanguage.Call; +import org.eclipse.viatra.solver.language.solverLanguage.Reference; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Call'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getFunctor Functor}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getArgumentList Argument List}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isTransitiveClosure Transitive Closure}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isReflexiveTransitiveClosure Reflexive Transitive Closure}
    • + *
    + * + * @generated + */ +public class CallImpl extends ExpressionImpl implements Call +{ + /** + * The cached value of the '{@link #getFunctor() Functor}' containment reference. + * + * + * @see #getFunctor() + * @generated + * @ordered + */ + protected Reference functor; + + /** + * The cached value of the '{@link #getArgumentList() Argument List}' containment reference. + * + * + * @see #getArgumentList() + * @generated + * @ordered + */ + protected ArgumentList argumentList; + + /** + * The default value of the '{@link #isTransitiveClosure() Transitive Closure}' attribute. + * + * + * @see #isTransitiveClosure() + * @generated + * @ordered + */ + protected static final boolean TRANSITIVE_CLOSURE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isTransitiveClosure() Transitive Closure}' attribute. + * + * + * @see #isTransitiveClosure() + * @generated + * @ordered + */ + protected boolean transitiveClosure = TRANSITIVE_CLOSURE_EDEFAULT; + + /** + * The default value of the '{@link #isReflexiveTransitiveClosure() Reflexive Transitive Closure}' attribute. + * + * + * @see #isReflexiveTransitiveClosure() + * @generated + * @ordered + */ + protected static final boolean REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isReflexiveTransitiveClosure() Reflexive Transitive Closure}' attribute. + * + * + * @see #isReflexiveTransitiveClosure() + * @generated + * @ordered + */ + protected boolean reflexiveTransitiveClosure = REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT; + + /** + * + * + * @generated + */ + protected CallImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.CALL; + } + + /** + * + * + * @generated + */ + @Override + public Reference getFunctor() + { + return functor; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetFunctor(Reference newFunctor, NotificationChain msgs) + { + Reference oldFunctor = functor; + functor = newFunctor; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__FUNCTOR, oldFunctor, newFunctor); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setFunctor(Reference newFunctor) + { + if (newFunctor != functor) + { + NotificationChain msgs = null; + if (functor != null) + msgs = ((InternalEObject)functor).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__FUNCTOR, null, msgs); + if (newFunctor != null) + msgs = ((InternalEObject)newFunctor).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__FUNCTOR, null, msgs); + msgs = basicSetFunctor(newFunctor, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__FUNCTOR, newFunctor, newFunctor)); + } + + /** + * + * + * @generated + */ + @Override + public ArgumentList getArgumentList() + { + return argumentList; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs) + { + ArgumentList oldArgumentList = argumentList; + argumentList = newArgumentList; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, oldArgumentList, newArgumentList); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setArgumentList(ArgumentList newArgumentList) + { + if (newArgumentList != argumentList) + { + NotificationChain msgs = null; + if (argumentList != null) + msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs); + if (newArgumentList != null) + msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs); + msgs = basicSetArgumentList(newArgumentList, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, newArgumentList, newArgumentList)); + } + + /** + * + * + * @generated + */ + @Override + public boolean isTransitiveClosure() + { + return transitiveClosure; + } + + /** + * + * + * @generated + */ + @Override + public void setTransitiveClosure(boolean newTransitiveClosure) + { + boolean oldTransitiveClosure = transitiveClosure; + transitiveClosure = newTransitiveClosure; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE, oldTransitiveClosure, transitiveClosure)); + } + + /** + * + * + * @generated + */ + @Override + public boolean isReflexiveTransitiveClosure() + { + return reflexiveTransitiveClosure; + } + + /** + * + * + * @generated + */ + @Override + public void setReflexiveTransitiveClosure(boolean newReflexiveTransitiveClosure) + { + boolean oldReflexiveTransitiveClosure = reflexiveTransitiveClosure; + reflexiveTransitiveClosure = newReflexiveTransitiveClosure; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE, oldReflexiveTransitiveClosure, reflexiveTransitiveClosure)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.CALL__FUNCTOR: + return basicSetFunctor(null, msgs); + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + return basicSetArgumentList(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.CALL__FUNCTOR: + return getFunctor(); + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + return getArgumentList(); + case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: + return isTransitiveClosure(); + case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: + return isReflexiveTransitiveClosure(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.CALL__FUNCTOR: + setFunctor((Reference)newValue); + return; + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + setArgumentList((ArgumentList)newValue); + return; + case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: + setTransitiveClosure((Boolean)newValue); + return; + case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: + setReflexiveTransitiveClosure((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.CALL__FUNCTOR: + setFunctor((Reference)null); + return; + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + setArgumentList((ArgumentList)null); + return; + case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: + setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT); + return; + case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: + setReflexiveTransitiveClosure(REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.CALL__FUNCTOR: + return functor != null; + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + return argumentList != null; + case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: + return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT; + case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: + return reflexiveTransitiveClosure != REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (transitiveClosure: "); + result.append(transitiveClosure); + result.append(", reflexiveTransitiveClosure: "); + result.append(reflexiveTransitiveClosure); + result.append(')'); + return result.toString(); + } + +} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Case; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Case'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl#getCondition Condition}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl#getBody Body}
    • + *
    + * + * @generated + */ +public class CaseImpl extends ExpressionImpl implements Case +{ + /** + * The cached value of the '{@link #getCondition() Condition}' containment reference. + * + * + * @see #getCondition() + * @generated + * @ordered + */ + protected Expression condition; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * + * + * @generated + */ + protected CaseImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.CASE; + } + + /** + * + * + * @generated + */ + @Override + public Expression getCondition() + { + return condition; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs) + { + Expression oldCondition = condition; + condition = newCondition; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__CONDITION, oldCondition, newCondition); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setCondition(Expression newCondition) + { + if (newCondition != condition) + { + NotificationChain msgs = null; + if (condition != null) + msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__CONDITION, null, msgs); + if (newCondition != null) + msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__CONDITION, null, msgs); + msgs = basicSetCondition(newCondition, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__CONDITION, newCondition, newCondition)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() + { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) + { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) + { + if (newBody != body) + { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.CASE__CONDITION: + return basicSetCondition(null, msgs); + case SolverLanguagePackage.CASE__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.CASE__CONDITION: + return getCondition(); + case SolverLanguagePackage.CASE__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.CASE__CONDITION: + setCondition((Expression)newValue); + return; + case SolverLanguagePackage.CASE__BODY: + setBody((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.CASE__CONDITION: + setCondition((Expression)null); + return; + case SolverLanguagePackage.CASE__BODY: + setBody((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.CASE__CONDITION: + return condition != null; + case SolverLanguagePackage.CASE__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import java.util.Collection; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - -import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Class Interpretation'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl#isAbstract Abstract}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl#getSymbol Symbol}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl#getSupertypes Supertypes}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl#getFielt Fielt}
    • - *
    - * - * @generated - */ -public class ClassInterpretationImpl extends CDInterpretationImpl implements ClassInterpretation -{ - /** - * The default value of the '{@link #isAbstract() Abstract}' attribute. - * - * - * @see #isAbstract() - * @generated - * @ordered - */ - protected static final boolean ABSTRACT_EDEFAULT = false; - - /** - * The cached value of the '{@link #isAbstract() Abstract}' attribute. - * - * - * @see #isAbstract() - * @generated - * @ordered - */ - protected boolean abstract_ = ABSTRACT_EDEFAULT; - - /** - * The cached value of the '{@link #getSymbol() Symbol}' containment reference. - * - * - * @see #getSymbol() - * @generated - * @ordered - */ - protected ModelSymbol symbol; - - /** - * The cached value of the '{@link #getSupertypes() Supertypes}' containment reference list. - * - * - * @see #getSupertypes() - * @generated - * @ordered - */ - protected EList supertypes; - - /** - * The cached value of the '{@link #getFielt() Fielt}' containment reference list. - * - * - * @see #getFielt() - * @generated - * @ordered - */ - protected EList fielt; - - /** - * - * - * @generated - */ - protected ClassInterpretationImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.CLASS_INTERPRETATION; - } - - /** - * - * - * @generated - */ - @Override - public boolean isAbstract() - { - return abstract_; - } - - /** - * - * - * @generated - */ - @Override - public void setAbstract(boolean newAbstract) - { - boolean oldAbstract = abstract_; - abstract_ = newAbstract; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT, oldAbstract, abstract_)); - } - - /** - * - * - * @generated - */ - @Override - public ModelSymbol getSymbol() - { - return symbol; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs) - { - ModelSymbol oldSymbol = symbol; - symbol = newSymbol; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL, oldSymbol, newSymbol); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setSymbol(ModelSymbol newSymbol) - { - if (newSymbol != symbol) - { - NotificationChain msgs = null; - if (symbol != null) - msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL, null, msgs); - if (newSymbol != null) - msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL, null, msgs); - msgs = basicSetSymbol(newSymbol, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL, newSymbol, newSymbol)); - } - - /** - * - * - * @generated - */ - @Override - public EList getSupertypes() - { - if (supertypes == null) - { - supertypes = new EObjectContainmentEList(ModelSymbol.class, this, SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES); - } - return supertypes; - } - - /** - * - * - * @generated - */ - @Override - public EList getFielt() - { - if (fielt == null) - { - fielt = new EObjectContainmentEList(FieldRelationInterpretation.class, this, SolverLanguagePackage.CLASS_INTERPRETATION__FIELT); - } - return fielt; - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL: - return basicSetSymbol(null, msgs); - case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES: - return ((InternalEList)getSupertypes()).basicRemove(otherEnd, msgs); - case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT: - return ((InternalEList)getFielt()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT: - return isAbstract(); - case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL: - return getSymbol(); - case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES: - return getSupertypes(); - case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT: - return getFielt(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT: - setAbstract((Boolean)newValue); - return; - case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL: - setSymbol((ModelSymbol)newValue); - return; - case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES: - getSupertypes().clear(); - getSupertypes().addAll((Collection)newValue); - return; - case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT: - getFielt().clear(); - getFielt().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT: - setAbstract(ABSTRACT_EDEFAULT); - return; - case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL: - setSymbol((ModelSymbol)null); - return; - case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES: - getSupertypes().clear(); - return; - case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT: - getFielt().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT: - return abstract_ != ABSTRACT_EDEFAULT; - case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL: - return symbol != null; - case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES: - return supertypes != null && !supertypes.isEmpty(); - case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT: - return fielt != null && !fielt.isEmpty(); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (abstract: "); - result.append(abstract_); - result.append(')'); - return result.toString(); - } - -} //ClassInterpretationImpl 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/ClosureTypeImpl.java deleted file mode 100644 index 98136f79..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClosureTypeImpl.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.ClosureType; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Closure Type'. - * - * - * @generated - */ -public class ClosureTypeImpl extends MinimalEObjectImpl.Container implements ClosureType -{ - /** - * - * - * @generated - */ - protected ClosureTypeImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.CLOSURE_TYPE; - } - -} //ClosureTypeImpl 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator; +import org.eclipse.viatra.solver.language.solverLanguage.Comparison; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Comparison'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl#getLeft Left}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl#getOp Op}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl#getRight Right}
    • + *
    + * + * @generated + */ +public class ComparisonImpl extends ExpressionImpl implements Comparison +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The default value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected static final BinaryOperator OP_EDEFAULT = BinaryOperator.EQ; + + /** + * The cached value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected BinaryOperator op = OP_EDEFAULT; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected ComparisonImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.COMPARISON; + } + + /** + * + * + * @generated + */ + @Override + public Expression getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + @Override + public BinaryOperator getOp() + { + return op; + } + + /** + * + * + * @generated + */ + @Override + public void setOp(BinaryOperator newOp) + { + BinaryOperator oldOp = op; + op = newOp == null ? OP_EDEFAULT : newOp; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__OP, oldOp, op)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.COMPARISON__LEFT: + return basicSetLeft(null, msgs); + case SolverLanguagePackage.COMPARISON__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.COMPARISON__LEFT: + return getLeft(); + case SolverLanguagePackage.COMPARISON__OP: + return getOp(); + case SolverLanguagePackage.COMPARISON__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.COMPARISON__LEFT: + setLeft((Expression)newValue); + return; + case SolverLanguagePackage.COMPARISON__OP: + setOp((BinaryOperator)newValue); + return; + case SolverLanguagePackage.COMPARISON__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.COMPARISON__LEFT: + setLeft((Expression)null); + return; + case SolverLanguagePackage.COMPARISON__OP: + setOp(OP_EDEFAULT); + return; + case SolverLanguagePackage.COMPARISON__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.COMPARISON__LEFT: + return left != null; + case SolverLanguagePackage.COMPARISON__OP: + return op != OP_EDEFAULT; + case SolverLanguagePackage.COMPARISON__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (op: "); + result.append(op); + result.append(')'); + return result.toString(); + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Complex Object'. - * - * - * @generated - */ -public class ComplexObjectImpl extends MinimalEObjectImpl.Container implements ComplexObject -{ - /** - * - * - * @generated - */ - protected ComplexObjectImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.COMPLEX_OBJECT; - } - -} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.solver.language.solverLanguage.Conjunction; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Conjunction'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl#getChildren Children}
    • + *
    + * + * @generated + */ +public class ConjunctionImpl extends ExpressionImpl implements Conjunction +{ + /** + * The cached value of the '{@link #getChildren() Children}' containment reference list. + * + * + * @see #getChildren() + * @generated + * @ordered + */ + protected EList children; + + /** + * + * + * @generated + */ + protected ConjunctionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.CONJUNCTION; + } + + /** + * + * + * @generated + */ + @Override + public EList getChildren() + { + if (children == null) + { + children = new EObjectContainmentEList(Expression.class, this, SolverLanguagePackage.CONJUNCTION__CHILDREN); + } + return children; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.CONJUNCTION__CHILDREN: + return ((InternalEList)getChildren()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.CONJUNCTION__CHILDREN: + return getChildren(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.CONJUNCTION__CHILDREN: + getChildren().clear(); + getChildren().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.CONJUNCTION__CHILDREN: + getChildren().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.CONJUNCTION__CHILDREN: + return children != null && !children.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import java.util.Collection; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - -import org.eclipse.viatra.solver.language.solverLanguage.ClosureType; -import org.eclipse.viatra.solver.language.solverLanguage.Constraint; -import org.eclipse.viatra.solver.language.solverLanguage.Literal; -import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.Polarity; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Constraint'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl#getPolarity Polarity}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl#getSymbol Symbol}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl#getParams Params}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl#getClosureType Closure Type}
    • - *
    - * - * @generated - */ -public class ConstraintImpl extends MinimalEObjectImpl.Container implements Constraint -{ - /** - * The cached value of the '{@link #getPolarity() Polarity}' containment reference. - * - * - * @see #getPolarity() - * @generated - * @ordered - */ - protected Polarity polarity; - - /** - * The cached value of the '{@link #getSymbol() Symbol}' containment reference. - * - * - * @see #getSymbol() - * @generated - * @ordered - */ - protected ModelSymbol symbol; - - /** - * The cached value of the '{@link #getParams() Params}' containment reference list. - * - * - * @see #getParams() - * @generated - * @ordered - */ - protected EList params; - - /** - * The cached value of the '{@link #getClosureType() Closure Type}' containment reference. - * - * - * @see #getClosureType() - * @generated - * @ordered - */ - protected ClosureType closureType; - - /** - * - * - * @generated - */ - protected ConstraintImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.CONSTRAINT; - } - - /** - * - * - * @generated - */ - @Override - public Polarity getPolarity() - { - return polarity; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetPolarity(Polarity newPolarity, NotificationChain msgs) - { - Polarity oldPolarity = polarity; - polarity = newPolarity; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__POLARITY, oldPolarity, newPolarity); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setPolarity(Polarity newPolarity) - { - if (newPolarity != polarity) - { - NotificationChain msgs = null; - if (polarity != null) - msgs = ((InternalEObject)polarity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__POLARITY, null, msgs); - if (newPolarity != null) - msgs = ((InternalEObject)newPolarity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__POLARITY, null, msgs); - msgs = basicSetPolarity(newPolarity, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__POLARITY, newPolarity, newPolarity)); - } - - /** - * - * - * @generated - */ - @Override - public ModelSymbol getSymbol() - { - return symbol; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs) - { - ModelSymbol oldSymbol = symbol; - symbol = newSymbol; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__SYMBOL, oldSymbol, newSymbol); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setSymbol(ModelSymbol newSymbol) - { - if (newSymbol != symbol) - { - NotificationChain msgs = null; - if (symbol != null) - msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__SYMBOL, null, msgs); - if (newSymbol != null) - msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__SYMBOL, null, msgs); - msgs = basicSetSymbol(newSymbol, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__SYMBOL, newSymbol, newSymbol)); - } - - /** - * - * - * @generated - */ - @Override - public EList getParams() - { - if (params == null) - { - params = new EObjectContainmentEList(Literal.class, this, SolverLanguagePackage.CONSTRAINT__PARAMS); - } - return params; - } - - /** - * - * - * @generated - */ - @Override - public ClosureType getClosureType() - { - return closureType; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetClosureType(ClosureType newClosureType, NotificationChain msgs) - { - ClosureType oldClosureType = closureType; - closureType = newClosureType; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE, oldClosureType, newClosureType); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setClosureType(ClosureType newClosureType) - { - if (newClosureType != closureType) - { - NotificationChain msgs = null; - if (closureType != null) - msgs = ((InternalEObject)closureType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE, null, msgs); - if (newClosureType != null) - msgs = ((InternalEObject)newClosureType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE, null, msgs); - msgs = basicSetClosureType(newClosureType, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE, newClosureType, newClosureType)); - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case SolverLanguagePackage.CONSTRAINT__POLARITY: - return basicSetPolarity(null, msgs); - case SolverLanguagePackage.CONSTRAINT__SYMBOL: - return basicSetSymbol(null, msgs); - case SolverLanguagePackage.CONSTRAINT__PARAMS: - return ((InternalEList)getParams()).basicRemove(otherEnd, msgs); - case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE: - return basicSetClosureType(null, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.CONSTRAINT__POLARITY: - return getPolarity(); - case SolverLanguagePackage.CONSTRAINT__SYMBOL: - return getSymbol(); - case SolverLanguagePackage.CONSTRAINT__PARAMS: - return getParams(); - case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE: - return getClosureType(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.CONSTRAINT__POLARITY: - setPolarity((Polarity)newValue); - return; - case SolverLanguagePackage.CONSTRAINT__SYMBOL: - setSymbol((ModelSymbol)newValue); - return; - case SolverLanguagePackage.CONSTRAINT__PARAMS: - getParams().clear(); - getParams().addAll((Collection)newValue); - return; - case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE: - setClosureType((ClosureType)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.CONSTRAINT__POLARITY: - setPolarity((Polarity)null); - return; - case SolverLanguagePackage.CONSTRAINT__SYMBOL: - setSymbol((ModelSymbol)null); - return; - case SolverLanguagePackage.CONSTRAINT__PARAMS: - getParams().clear(); - return; - case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE: - setClosureType((ClosureType)null); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.CONSTRAINT__POLARITY: - return polarity != null; - case SolverLanguagePackage.CONSTRAINT__SYMBOL: - return symbol != null; - case SolverLanguagePackage.CONSTRAINT__PARAMS: - return params != null && !params.isEmpty(); - case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE: - return closureType != null; - } - return super.eIsSet(featureID); - } - -} //ConstraintImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java new file mode 100644 index 00000000..1609245f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java @@ -0,0 +1,196 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Count; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Count'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl#getBody Body}
    • + *
    + * + * @generated + */ +public class CountImpl extends ExpressionImpl implements Count +{ + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * + * + * @generated + */ + protected CountImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.COUNT; + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() + { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) + { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COUNT__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) + { + if (newBody != body) + { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COUNT__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COUNT__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COUNT__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.COUNT__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.COUNT__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.COUNT__BODY: + setBody((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.COUNT__BODY: + setBody((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.COUNT__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.DataObject; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Data Object'. - * - * - * @generated - */ -public class DataObjectImpl extends ObjectImpl implements DataObject -{ - /** - * - * - * @generated - */ - protected DataObjectImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.DATA_OBJECT; - } - -} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Data Symbol'. - * - * - * @generated - */ -public class DataSymbolImpl extends SymbolImpl implements DataSymbol -{ - /** - * - * - * @generated - */ - protected DataSymbolImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.DATA_SYMBOL; - } - -} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Call; +import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Default Definition'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl#getHead Head}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl#getRange Range}
    • + *
    + * + * @generated + */ +public class DefaultDefinitionImpl extends StatementImpl implements DefaultDefinition +{ + /** + * The cached value of the '{@link #getHead() Head}' containment reference. + * + * + * @see #getHead() + * @generated + * @ordered + */ + protected Call head; + + /** + * The cached value of the '{@link #getRange() Range}' containment reference. + * + * + * @see #getRange() + * @generated + * @ordered + */ + protected Expression range; + + /** + * + * + * @generated + */ + protected DefaultDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.DEFAULT_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public Call getHead() + { + return head; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetHead(Call newHead, NotificationChain msgs) + { + Call oldHead = head; + head = newHead; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, oldHead, newHead); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setHead(Call newHead) + { + if (newHead != head) + { + NotificationChain msgs = null; + if (head != null) + msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, null, msgs); + if (newHead != null) + msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, null, msgs); + msgs = basicSetHead(newHead, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, newHead, newHead)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getRange() + { + return range; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRange(Expression newRange, NotificationChain msgs) + { + Expression oldRange = range; + range = newRange; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, oldRange, newRange); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setRange(Expression newRange) + { + if (newRange != range) + { + NotificationChain msgs = null; + if (range != null) + msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, null, msgs); + if (newRange != null) + msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, null, msgs); + msgs = basicSetRange(newRange, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, newRange, newRange)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD: + return basicSetHead(null, msgs); + case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE: + return basicSetRange(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD: + return getHead(); + case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE: + return getRange(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD: + setHead((Call)newValue); + return; + case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE: + setRange((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD: + setHead((Call)null); + return; + case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE: + setRange((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD: + return head != null; + case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE: + return range != null; + } + return super.eIsSet(featureID); + } + +} //DefaultDefinitionImpl 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/DefaultInterpretationImpl.java deleted file mode 100644 index eb2835a0..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultInterpretationImpl.java +++ /dev/null @@ -1,196 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Default Interpretation'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl#getInterpretation Interpretation}
    • - *
    - * - * @generated - */ -public class DefaultInterpretationImpl extends InterpretationImpl implements DefaultInterpretation -{ - /** - * The cached value of the '{@link #getInterpretation() Interpretation}' containment reference. - * - * - * @see #getInterpretation() - * @generated - * @ordered - */ - protected BasicInterpretation interpretation; - - /** - * - * - * @generated - */ - protected DefaultInterpretationImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.DEFAULT_INTERPRETATION; - } - - /** - * - * - * @generated - */ - @Override - public BasicInterpretation getInterpretation() - { - return interpretation; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetInterpretation(BasicInterpretation newInterpretation, NotificationChain msgs) - { - BasicInterpretation oldInterpretation = interpretation; - interpretation = newInterpretation; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION, oldInterpretation, newInterpretation); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setInterpretation(BasicInterpretation newInterpretation) - { - if (newInterpretation != interpretation) - { - NotificationChain msgs = null; - if (interpretation != null) - msgs = ((InternalEObject)interpretation).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION, null, msgs); - if (newInterpretation != null) - msgs = ((InternalEObject)newInterpretation).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION, null, msgs); - msgs = basicSetInterpretation(newInterpretation, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION, newInterpretation, newInterpretation)); - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION: - return basicSetInterpretation(null, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION: - return getInterpretation(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION: - setInterpretation((BasicInterpretation)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION: - setInterpretation((BasicInterpretation)null); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION: - return interpretation != null; - } - return super.eIsSet(featureID); - } - -} //DefaultInterpretationImpl 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.solver.language.solverLanguage.Disjunction; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Disjunction'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl#getChildren Children}
    • + *
    + * + * @generated + */ +public class DisjunctionImpl extends ExpressionImpl implements Disjunction +{ + /** + * The cached value of the '{@link #getChildren() Children}' containment reference list. + * + * + * @see #getChildren() + * @generated + * @ordered + */ + protected EList children; + + /** + * + * + * @generated + */ + protected DisjunctionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.DISJUNCTION; + } + + /** + * + * + * @generated + */ + @Override + public EList getChildren() + { + if (children == null) + { + children = new EObjectContainmentEList(Expression.class, this, SolverLanguagePackage.DISJUNCTION__CHILDREN); + } + return children; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.DISJUNCTION__CHILDREN: + return ((InternalEList)getChildren()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.DISJUNCTION__CHILDREN: + return getChildren(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.DISJUNCTION__CHILDREN: + getChildren().clear(); + getChildren().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.DISJUNCTION__CHILDREN: + getChildren().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.DISJUNCTION__CHILDREN: + return children != null && !children.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //DisjunctionImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java new file mode 100644 index 00000000..1ebf38ad --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java @@ -0,0 +1,41 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Empty Interval Literal'. + * + * + * @generated + */ +public class EmptyIntervalLiteralImpl extends LiteralImpl implements EmptyIntervalLiteral +{ + /** + * + * + * @generated + */ + protected EmptyIntervalLiteralImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.EMPTY_INTERVAL_LITERAL; + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import java.util.Collection; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - -import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.NamedObject; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Enum Interpretation'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl#getSymbol Symbol}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl#getObjects Objects}
    • - *
    - * - * @generated - */ -public class EnumInterpretationImpl extends CDInterpretationImpl implements EnumInterpretation -{ - /** - * The cached value of the '{@link #getSymbol() Symbol}' containment reference. - * - * - * @see #getSymbol() - * @generated - * @ordered - */ - protected ModelSymbol symbol; - - /** - * The cached value of the '{@link #getObjects() Objects}' containment reference list. - * - * - * @see #getObjects() - * @generated - * @ordered - */ - protected EList objects; - - /** - * - * - * @generated - */ - protected EnumInterpretationImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.ENUM_INTERPRETATION; - } - - /** - * - * - * @generated - */ - @Override - public ModelSymbol getSymbol() - { - return symbol; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs) - { - ModelSymbol oldSymbol = symbol; - symbol = newSymbol; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL, oldSymbol, newSymbol); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setSymbol(ModelSymbol newSymbol) - { - if (newSymbol != symbol) - { - NotificationChain msgs = null; - if (symbol != null) - msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL, null, msgs); - if (newSymbol != null) - msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL, null, msgs); - msgs = basicSetSymbol(newSymbol, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL, newSymbol, newSymbol)); - } - - /** - * - * - * @generated - */ - @Override - public EList getObjects() - { - if (objects == null) - { - objects = new EObjectContainmentEList(NamedObject.class, this, SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS); - } - return objects; - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL: - return basicSetSymbol(null, msgs); - case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS: - return ((InternalEList)getObjects()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL: - return getSymbol(); - case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS: - return getObjects(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL: - setSymbol((ModelSymbol)newValue); - return; - case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS: - getObjects().clear(); - getObjects().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL: - setSymbol((ModelSymbol)null); - return; - case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS: - getObjects().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL: - return symbol != null; - case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS: - return objects != null && !objects.isEmpty(); - } - return super.eIsSet(featureID); - } - -} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Equals Symbol'. - * - * - * @generated - */ -public class EqualsSymbolImpl extends PartialitySymbolImpl implements EqualsSymbol -{ - /** - * - * - * @generated - */ - protected EqualsSymbolImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.EQUALS_SYMBOL; - } - -} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Error'. - * - * - * @generated - */ -public class ErrorImpl extends TruthValueImpl implements org.eclipse.viatra.solver.language.solverLanguage.Error -{ - /** - * - * - * @generated - */ - protected ErrorImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.ERROR; - } - -} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Exact Multiplicity'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl#getMultiplicity Multiplicity}
    • + *
    + * + * @generated + */ +public class ExactMultiplicityImpl extends MultiplicityImpl implements ExactMultiplicity +{ + /** + * The default value of the '{@link #getMultiplicity() Multiplicity}' attribute. + * + * + * @see #getMultiplicity() + * @generated + * @ordered + */ + protected static final int MULTIPLICITY_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getMultiplicity() Multiplicity}' attribute. + * + * + * @see #getMultiplicity() + * @generated + * @ordered + */ + protected int multiplicity = MULTIPLICITY_EDEFAULT; + + /** + * + * + * @generated + */ + protected ExactMultiplicityImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.EXACT_MULTIPLICITY; + } + + /** + * + * + * @generated + */ + @Override + public int getMultiplicity() + { + return multiplicity; + } + + /** + * + * + * @generated + */ + @Override + public void setMultiplicity(int newMultiplicity) + { + int oldMultiplicity = multiplicity; + multiplicity = newMultiplicity; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY, oldMultiplicity, multiplicity)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY: + return getMultiplicity(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY: + setMultiplicity((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY: + setMultiplicity(MULTIPLICITY_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY: + return multiplicity != MULTIPLICITY_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (multiplicity: "); + result.append(multiplicity); + result.append(')'); + return result.toString(); + } + +} //ExactMultiplicityImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java new file mode 100644 index 00000000..faf51904 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java @@ -0,0 +1,179 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Exact Scope Definition'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl#getExactScope Exact Scope}
    • + *
    + * + * @generated + */ +public class ExactScopeDefinitionImpl extends ScopeDefinitionImpl implements ExactScopeDefinition +{ + /** + * The default value of the '{@link #getExactScope() Exact Scope}' attribute. + * + * + * @see #getExactScope() + * @generated + * @ordered + */ + protected static final int EXACT_SCOPE_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getExactScope() Exact Scope}' attribute. + * + * + * @see #getExactScope() + * @generated + * @ordered + */ + protected int exactScope = EXACT_SCOPE_EDEFAULT; + + /** + * + * + * @generated + */ + protected ExactScopeDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.EXACT_SCOPE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public int getExactScope() + { + return exactScope; + } + + /** + * + * + * @generated + */ + @Override + public void setExactScope(int newExactScope) + { + int oldExactScope = exactScope; + exactScope = newExactScope; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE, oldExactScope, exactScope)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE: + return getExactScope(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE: + setExactScope((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE: + setExactScope(EXACT_SCOPE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE: + return exactScope != EXACT_SCOPE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (exactScope: "); + result.append(exactScope); + result.append(')'); + return result.toString(); + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Exist Symbol'. - * - * - * @generated - */ -public class ExistSymbolImpl extends PartialitySymbolImpl implements ExistSymbol -{ - /** - * - * - * @generated - */ - protected ExistSymbolImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.EXIST_SYMBOL; - } - -} //ExistSymbolImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java new file mode 100644 index 00000000..f83c1cb3 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java @@ -0,0 +1,196 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Expression Argument'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl#getBody Body}
    • + *
    + * + * @generated + */ +public class ExpressionArgumentImpl extends ArgumentImpl implements ExpressionArgument +{ + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * + * + * @generated + */ + protected ExpressionArgumentImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT; + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() + { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) + { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) + { + if (newBody != body) + { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY: + setBody((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY: + setBody((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + +} //ExpressionArgumentImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java new file mode 100644 index 00000000..585e3c41 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java @@ -0,0 +1,41 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Expression'. + * + * + * @generated + */ +public class ExpressionImpl extends StatementImpl implements Expression +{ + /** + * + * + * @generated + */ + protected ExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.EXPRESSION; + } + +} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Call; +import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.MetricType; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Extern Metric Definition'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl#getType Type}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl#getHead Head}
    • + *
    + * + * @generated + */ +public class ExternMetricDefinitionImpl extends StatementImpl implements ExternMetricDefinition +{ + /** + * The default value of the '{@link #getType() Type}' attribute. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected static final MetricType TYPE_EDEFAULT = MetricType.INT; + + /** + * The cached value of the '{@link #getType() Type}' attribute. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected MetricType type = TYPE_EDEFAULT; + + /** + * The cached value of the '{@link #getHead() Head}' containment reference. + * + * + * @see #getHead() + * @generated + * @ordered + */ + protected Call head; + + /** + * + * + * @generated + */ + protected ExternMetricDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public MetricType getType() + { + return type; + } + + /** + * + * + * @generated + */ + @Override + public void setType(MetricType newType) + { + MetricType oldType = type; + type = newType == null ? TYPE_EDEFAULT : newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public Call getHead() + { + return head; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetHead(Call newHead, NotificationChain msgs) + { + Call oldHead = head; + head = newHead; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD, oldHead, newHead); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setHead(Call newHead) + { + if (newHead != head) + { + NotificationChain msgs = null; + if (head != null) + msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD, null, msgs); + if (newHead != null) + msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD, null, msgs); + msgs = basicSetHead(newHead, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD, newHead, newHead)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD: + return basicSetHead(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE: + return getType(); + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD: + return getHead(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE: + setType((MetricType)newValue); + return; + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD: + setHead((Call)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE: + setType(TYPE_EDEFAULT); + return; + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD: + setHead((Call)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE: + return type != TYPE_EDEFAULT; + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD: + return head != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (type: "); + result.append(type); + result.append(')'); + return result.toString(); + } + +} //ExternMetricDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java new file mode 100644 index 00000000..0605cb0f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java @@ -0,0 +1,196 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Call; +import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Extern Predicate Definition'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl#getHead Head}
    • + *
    + * + * @generated + */ +public class ExternPredicateDefinitionImpl extends StatementImpl implements ExternPredicateDefinition +{ + /** + * The cached value of the '{@link #getHead() Head}' containment reference. + * + * + * @see #getHead() + * @generated + * @ordered + */ + protected Call head; + + /** + * + * + * @generated + */ + protected ExternPredicateDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public Call getHead() + { + return head; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetHead(Call newHead, NotificationChain msgs) + { + Call oldHead = head; + head = newHead; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, oldHead, newHead); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setHead(Call newHead) + { + if (newHead != head) + { + NotificationChain msgs = null; + if (head != null) + msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, null, msgs); + if (newHead != null) + msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, null, msgs); + msgs = basicSetHead(newHead, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, newHead, newHead)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD: + return basicSetHead(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD: + return getHead(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD: + setHead((Call)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD: + setHead((Call)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD: + return head != null; + } + return super.eIsSet(featureID); + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.False; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'False'. - * - * - * @generated - */ -public class FalseImpl extends TruthValueImpl implements False -{ - /** - * - * - * @generated - */ - protected FalseImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.FALSE; - } - -} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.Symbol; - -/** - * - * An implementation of the model object 'Field Relation Interpretation'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl#isContainment Containment}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl#getSymbol Symbol}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl#getMultiplicity Multiplicity}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl#getTarget Target}
    • - *
    - * - * @generated - */ -public class FieldRelationInterpretationImpl extends MinimalEObjectImpl.Container implements FieldRelationInterpretation -{ - /** - * The default value of the '{@link #isContainment() Containment}' attribute. - * - * - * @see #isContainment() - * @generated - * @ordered - */ - protected static final boolean CONTAINMENT_EDEFAULT = false; - - /** - * The cached value of the '{@link #isContainment() Containment}' attribute. - * - * - * @see #isContainment() - * @generated - * @ordered - */ - protected boolean containment = CONTAINMENT_EDEFAULT; - - /** - * The cached value of the '{@link #getSymbol() Symbol}' containment reference. - * - * - * @see #getSymbol() - * @generated - * @ordered - */ - protected ModelSymbol symbol; - - /** - * The cached value of the '{@link #getMultiplicity() Multiplicity}' containment reference. - * - * - * @see #getMultiplicity() - * @generated - * @ordered - */ - protected MultiplicityDefinition multiplicity; - - /** - * The cached value of the '{@link #getTarget() Target}' containment reference. - * - * - * @see #getTarget() - * @generated - * @ordered - */ - protected Symbol target; - - /** - * - * - * @generated - */ - protected FieldRelationInterpretationImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.FIELD_RELATION_INTERPRETATION; - } - - /** - * - * - * @generated - */ - @Override - public boolean isContainment() - { - return containment; - } - - /** - * - * - * @generated - */ - @Override - public void setContainment(boolean newContainment) - { - boolean oldContainment = containment; - containment = newContainment; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT, oldContainment, containment)); - } - - /** - * - * - * @generated - */ - @Override - public ModelSymbol getSymbol() - { - return symbol; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs) - { - ModelSymbol oldSymbol = symbol; - symbol = newSymbol; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL, oldSymbol, newSymbol); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setSymbol(ModelSymbol newSymbol) - { - if (newSymbol != symbol) - { - NotificationChain msgs = null; - if (symbol != null) - msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL, null, msgs); - if (newSymbol != null) - msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL, null, msgs); - msgs = basicSetSymbol(newSymbol, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL, newSymbol, newSymbol)); - } - - /** - * - * - * @generated - */ - @Override - public MultiplicityDefinition getMultiplicity() - { - return multiplicity; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetMultiplicity(MultiplicityDefinition newMultiplicity, NotificationChain msgs) - { - MultiplicityDefinition oldMultiplicity = multiplicity; - multiplicity = newMultiplicity; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY, oldMultiplicity, newMultiplicity); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setMultiplicity(MultiplicityDefinition newMultiplicity) - { - if (newMultiplicity != multiplicity) - { - NotificationChain msgs = null; - if (multiplicity != null) - msgs = ((InternalEObject)multiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY, null, msgs); - if (newMultiplicity != null) - msgs = ((InternalEObject)newMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY, null, msgs); - msgs = basicSetMultiplicity(newMultiplicity, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY, newMultiplicity, newMultiplicity)); - } - - /** - * - * - * @generated - */ - @Override - public Symbol getTarget() - { - return target; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetTarget(Symbol newTarget, NotificationChain msgs) - { - Symbol oldTarget = target; - target = newTarget; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET, oldTarget, newTarget); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setTarget(Symbol newTarget) - { - if (newTarget != target) - { - NotificationChain msgs = null; - if (target != null) - msgs = ((InternalEObject)target).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET, null, msgs); - if (newTarget != null) - msgs = ((InternalEObject)newTarget).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET, null, msgs); - msgs = basicSetTarget(newTarget, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET, newTarget, newTarget)); - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL: - return basicSetSymbol(null, msgs); - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY: - return basicSetMultiplicity(null, msgs); - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET: - return basicSetTarget(null, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT: - return isContainment(); - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL: - return getSymbol(); - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY: - return getMultiplicity(); - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET: - return getTarget(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT: - setContainment((Boolean)newValue); - return; - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL: - setSymbol((ModelSymbol)newValue); - return; - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY: - setMultiplicity((MultiplicityDefinition)newValue); - return; - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET: - setTarget((Symbol)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT: - setContainment(CONTAINMENT_EDEFAULT); - return; - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL: - setSymbol((ModelSymbol)null); - return; - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY: - setMultiplicity((MultiplicityDefinition)null); - return; - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET: - setTarget((Symbol)null); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT: - return containment != CONTAINMENT_EDEFAULT; - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL: - return symbol != null; - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY: - return multiplicity != null; - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET: - return target != null; - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (containment: "); - result.append(containment); - result.append(')'); - return result.toString(); - } - -} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.Symbol; - -/** - * - * An implementation of the model object 'Global Relation Interpretation'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#isContainment Containment}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getSymbol Symbol}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getSourceMultiplicity Source Multiplicity}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getSource Source}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getTargetMultiplicity Target Multiplicity}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getTarget Target}
    • - *
    - * - * @generated - */ -public class GlobalRelationInterpretationImpl extends CDInterpretationImpl implements GlobalRelationInterpretation -{ - /** - * The default value of the '{@link #isContainment() Containment}' attribute. - * - * - * @see #isContainment() - * @generated - * @ordered - */ - protected static final boolean CONTAINMENT_EDEFAULT = false; - - /** - * The cached value of the '{@link #isContainment() Containment}' attribute. - * - * - * @see #isContainment() - * @generated - * @ordered - */ - protected boolean containment = CONTAINMENT_EDEFAULT; - - /** - * The cached value of the '{@link #getSymbol() Symbol}' containment reference. - * - * - * @see #getSymbol() - * @generated - * @ordered - */ - protected ModelSymbol symbol; - - /** - * The cached value of the '{@link #getSourceMultiplicity() Source Multiplicity}' containment reference. - * - * - * @see #getSourceMultiplicity() - * @generated - * @ordered - */ - protected MultiplicityDefinition sourceMultiplicity; - - /** - * The cached value of the '{@link #getSource() Source}' containment reference. - * - * - * @see #getSource() - * @generated - * @ordered - */ - protected Symbol source; - - /** - * The cached value of the '{@link #getTargetMultiplicity() Target Multiplicity}' containment reference. - * - * - * @see #getTargetMultiplicity() - * @generated - * @ordered - */ - protected MultiplicityDefinition targetMultiplicity; - - /** - * The cached value of the '{@link #getTarget() Target}' containment reference. - * - * - * @see #getTarget() - * @generated - * @ordered - */ - protected Symbol target; - - /** - * - * - * @generated - */ - protected GlobalRelationInterpretationImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.GLOBAL_RELATION_INTERPRETATION; - } - - /** - * - * - * @generated - */ - @Override - public boolean isContainment() - { - return containment; - } - - /** - * - * - * @generated - */ - @Override - public void setContainment(boolean newContainment) - { - boolean oldContainment = containment; - containment = newContainment; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT, oldContainment, containment)); - } - - /** - * - * - * @generated - */ - @Override - public ModelSymbol getSymbol() - { - return symbol; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs) - { - ModelSymbol oldSymbol = symbol; - symbol = newSymbol; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL, oldSymbol, newSymbol); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setSymbol(ModelSymbol newSymbol) - { - if (newSymbol != symbol) - { - NotificationChain msgs = null; - if (symbol != null) - msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL, null, msgs); - if (newSymbol != null) - msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL, null, msgs); - msgs = basicSetSymbol(newSymbol, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL, newSymbol, newSymbol)); - } - - /** - * - * - * @generated - */ - @Override - public MultiplicityDefinition getSourceMultiplicity() - { - return sourceMultiplicity; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetSourceMultiplicity(MultiplicityDefinition newSourceMultiplicity, NotificationChain msgs) - { - MultiplicityDefinition oldSourceMultiplicity = sourceMultiplicity; - sourceMultiplicity = newSourceMultiplicity; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY, oldSourceMultiplicity, newSourceMultiplicity); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setSourceMultiplicity(MultiplicityDefinition newSourceMultiplicity) - { - if (newSourceMultiplicity != sourceMultiplicity) - { - NotificationChain msgs = null; - if (sourceMultiplicity != null) - msgs = ((InternalEObject)sourceMultiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY, null, msgs); - if (newSourceMultiplicity != null) - msgs = ((InternalEObject)newSourceMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY, null, msgs); - msgs = basicSetSourceMultiplicity(newSourceMultiplicity, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY, newSourceMultiplicity, newSourceMultiplicity)); - } - - /** - * - * - * @generated - */ - @Override - public Symbol getSource() - { - return source; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetSource(Symbol newSource, NotificationChain msgs) - { - Symbol oldSource = source; - source = newSource; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE, oldSource, newSource); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setSource(Symbol newSource) - { - if (newSource != source) - { - NotificationChain msgs = null; - if (source != null) - msgs = ((InternalEObject)source).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE, null, msgs); - if (newSource != null) - msgs = ((InternalEObject)newSource).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE, null, msgs); - msgs = basicSetSource(newSource, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE, newSource, newSource)); - } - - /** - * - * - * @generated - */ - @Override - public MultiplicityDefinition getTargetMultiplicity() - { - return targetMultiplicity; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetTargetMultiplicity(MultiplicityDefinition newTargetMultiplicity, NotificationChain msgs) - { - MultiplicityDefinition oldTargetMultiplicity = targetMultiplicity; - targetMultiplicity = newTargetMultiplicity; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY, oldTargetMultiplicity, newTargetMultiplicity); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setTargetMultiplicity(MultiplicityDefinition newTargetMultiplicity) - { - if (newTargetMultiplicity != targetMultiplicity) - { - NotificationChain msgs = null; - if (targetMultiplicity != null) - msgs = ((InternalEObject)targetMultiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY, null, msgs); - if (newTargetMultiplicity != null) - msgs = ((InternalEObject)newTargetMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY, null, msgs); - msgs = basicSetTargetMultiplicity(newTargetMultiplicity, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY, newTargetMultiplicity, newTargetMultiplicity)); - } - - /** - * - * - * @generated - */ - @Override - public Symbol getTarget() - { - return target; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetTarget(Symbol newTarget, NotificationChain msgs) - { - Symbol oldTarget = target; - target = newTarget; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET, oldTarget, newTarget); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setTarget(Symbol newTarget) - { - if (newTarget != target) - { - NotificationChain msgs = null; - if (target != null) - msgs = ((InternalEObject)target).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET, null, msgs); - if (newTarget != null) - msgs = ((InternalEObject)newTarget).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET, null, msgs); - msgs = basicSetTarget(newTarget, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET, newTarget, newTarget)); - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL: - return basicSetSymbol(null, msgs); - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY: - return basicSetSourceMultiplicity(null, msgs); - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE: - return basicSetSource(null, msgs); - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY: - return basicSetTargetMultiplicity(null, msgs); - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET: - return basicSetTarget(null, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT: - return isContainment(); - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL: - return getSymbol(); - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY: - return getSourceMultiplicity(); - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE: - return getSource(); - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY: - return getTargetMultiplicity(); - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET: - return getTarget(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT: - setContainment((Boolean)newValue); - return; - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL: - setSymbol((ModelSymbol)newValue); - return; - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY: - setSourceMultiplicity((MultiplicityDefinition)newValue); - return; - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE: - setSource((Symbol)newValue); - return; - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY: - setTargetMultiplicity((MultiplicityDefinition)newValue); - return; - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET: - setTarget((Symbol)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT: - setContainment(CONTAINMENT_EDEFAULT); - return; - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL: - setSymbol((ModelSymbol)null); - return; - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY: - setSourceMultiplicity((MultiplicityDefinition)null); - return; - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE: - setSource((Symbol)null); - return; - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY: - setTargetMultiplicity((MultiplicityDefinition)null); - return; - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET: - setTarget((Symbol)null); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT: - return containment != CONTAINMENT_EDEFAULT; - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL: - return symbol != null; - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY: - return sourceMultiplicity != null; - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE: - return source != null; - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY: - return targetMultiplicity != null; - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET: - return target != null; - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (containment: "); - result.append(containment); - result.append(')'); - return result.toString(); - } - -} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.IfElse; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'If Else'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getCondition Condition}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getThen Then}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getElse Else}
    • + *
    + * + * @generated + */ +public class IfElseImpl extends ExpressionImpl implements IfElse +{ + /** + * The cached value of the '{@link #getCondition() Condition}' containment reference. + * + * + * @see #getCondition() + * @generated + * @ordered + */ + protected Expression condition; + + /** + * The cached value of the '{@link #getThen() Then}' containment reference. + * + * + * @see #getThen() + * @generated + * @ordered + */ + protected Expression then; + + /** + * The cached value of the '{@link #getElse() Else}' containment reference. + * + * + * @see #getElse() + * @generated + * @ordered + */ + protected Expression else_; + + /** + * + * + * @generated + */ + protected IfElseImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.IF_ELSE; + } + + /** + * + * + * @generated + */ + @Override + public Expression getCondition() + { + return condition; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs) + { + Expression oldCondition = condition; + condition = newCondition; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__CONDITION, oldCondition, newCondition); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setCondition(Expression newCondition) + { + if (newCondition != condition) + { + NotificationChain msgs = null; + if (condition != null) + msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__CONDITION, null, msgs); + if (newCondition != null) + msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__CONDITION, null, msgs); + msgs = basicSetCondition(newCondition, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__CONDITION, newCondition, newCondition)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getThen() + { + return then; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetThen(Expression newThen, NotificationChain msgs) + { + Expression oldThen = then; + then = newThen; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__THEN, oldThen, newThen); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setThen(Expression newThen) + { + if (newThen != then) + { + NotificationChain msgs = null; + if (then != null) + msgs = ((InternalEObject)then).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__THEN, null, msgs); + if (newThen != null) + msgs = ((InternalEObject)newThen).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__THEN, null, msgs); + msgs = basicSetThen(newThen, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__THEN, newThen, newThen)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getElse() + { + return else_; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetElse(Expression newElse, NotificationChain msgs) + { + Expression oldElse = else_; + else_ = newElse; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__ELSE, oldElse, newElse); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setElse(Expression newElse) + { + if (newElse != else_) + { + NotificationChain msgs = null; + if (else_ != null) + msgs = ((InternalEObject)else_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__ELSE, null, msgs); + if (newElse != null) + msgs = ((InternalEObject)newElse).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__ELSE, null, msgs); + msgs = basicSetElse(newElse, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__ELSE, newElse, newElse)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.IF_ELSE__CONDITION: + return basicSetCondition(null, msgs); + case SolverLanguagePackage.IF_ELSE__THEN: + return basicSetThen(null, msgs); + case SolverLanguagePackage.IF_ELSE__ELSE: + return basicSetElse(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.IF_ELSE__CONDITION: + return getCondition(); + case SolverLanguagePackage.IF_ELSE__THEN: + return getThen(); + case SolverLanguagePackage.IF_ELSE__ELSE: + return getElse(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.IF_ELSE__CONDITION: + setCondition((Expression)newValue); + return; + case SolverLanguagePackage.IF_ELSE__THEN: + setThen((Expression)newValue); + return; + case SolverLanguagePackage.IF_ELSE__ELSE: + setElse((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.IF_ELSE__CONDITION: + setCondition((Expression)null); + return; + case SolverLanguagePackage.IF_ELSE__THEN: + setThen((Expression)null); + return; + case SolverLanguagePackage.IF_ELSE__ELSE: + setElse((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.IF_ELSE__CONDITION: + return condition != null; + case SolverLanguagePackage.IF_ELSE__THEN: + return then != null; + case SolverLanguagePackage.IF_ELSE__ELSE: + return else_ != null; + } + return super.eIsSet(featureID); + } + +} //IfElseImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java new file mode 100644 index 00000000..e796f5a0 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java @@ -0,0 +1,41 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Infinity Literal'. + * + * + * @generated + */ +public class InfinityLiteralImpl extends LiteralImpl implements InfinityLiteral +{ + /** + * + * + * @generated + */ + protected InfinityLiteralImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.INFINITY_LITERAL; + } + +} //InfinityLiteralImpl 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/IntObjectImpl.java deleted file mode 100644 index fa844b68..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntObjectImpl.java +++ /dev/null @@ -1,179 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.IntObject; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Int Object'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl#getValue Value}
    • - *
    - * - * @generated - */ -public class IntObjectImpl extends DataObjectImpl implements IntObject -{ - /** - * The default value of the '{@link #getValue() Value}' attribute. - * - * - * @see #getValue() - * @generated - * @ordered - */ - protected static final int VALUE_EDEFAULT = 0; - - /** - * The cached value of the '{@link #getValue() Value}' attribute. - * - * - * @see #getValue() - * @generated - * @ordered - */ - protected int value = VALUE_EDEFAULT; - - /** - * - * - * @generated - */ - protected IntObjectImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.INT_OBJECT; - } - - /** - * - * - * @generated - */ - @Override - public int getValue() - { - return value; - } - - /** - * - * - * @generated - */ - @Override - public void setValue(int newValue) - { - int oldValue = value; - value = newValue; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INT_OBJECT__VALUE, oldValue, value)); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.INT_OBJECT__VALUE: - return getValue(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.INT_OBJECT__VALUE: - setValue((Integer)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.INT_OBJECT__VALUE: - setValue(VALUE_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.INT_OBJECT__VALUE: - return value != VALUE_EDEFAULT; - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (value: "); - result.append(value); - result.append(')'); - return result.toString(); - } - -} //IntObjectImpl 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Integer Symbol'. - * - * - * @generated - */ -public class IntegerSymbolImpl extends DataSymbolImpl implements IntegerSymbol -{ - /** - * - * - * @generated - */ - protected IntegerSymbolImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.INTEGER_SYMBOL; - } - -} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.Interpretation; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Interpretation'. - * - * - * @generated - */ -public class InterpretationImpl extends StatementImpl implements Interpretation -{ - /** - * - * - * @generated - */ - protected InterpretationImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.INTERPRETATION; - } - -} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.Interval; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Interval'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl#getLowerBound Lower Bound}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl#getUpperBound Upper Bound}
    • + *
    + * + * @generated + */ +public class IntervalImpl extends ExpressionImpl implements Interval +{ + /** + * The cached value of the '{@link #getLowerBound() Lower Bound}' containment reference. + * + * + * @see #getLowerBound() + * @generated + * @ordered + */ + protected Expression lowerBound; + + /** + * The cached value of the '{@link #getUpperBound() Upper Bound}' containment reference. + * + * + * @see #getUpperBound() + * @generated + * @ordered + */ + protected Expression upperBound; + + /** + * + * + * @generated + */ + protected IntervalImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.INTERVAL; + } + + /** + * + * + * @generated + */ + @Override + public Expression getLowerBound() + { + return lowerBound; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLowerBound(Expression newLowerBound, NotificationChain msgs) + { + Expression oldLowerBound = lowerBound; + lowerBound = newLowerBound; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__LOWER_BOUND, oldLowerBound, newLowerBound); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setLowerBound(Expression newLowerBound) + { + if (newLowerBound != lowerBound) + { + NotificationChain msgs = null; + if (lowerBound != null) + msgs = ((InternalEObject)lowerBound).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__LOWER_BOUND, null, msgs); + if (newLowerBound != null) + msgs = ((InternalEObject)newLowerBound).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__LOWER_BOUND, null, msgs); + msgs = basicSetLowerBound(newLowerBound, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__LOWER_BOUND, newLowerBound, newLowerBound)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getUpperBound() + { + return upperBound; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetUpperBound(Expression newUpperBound, NotificationChain msgs) + { + Expression oldUpperBound = upperBound; + upperBound = newUpperBound; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__UPPER_BOUND, oldUpperBound, newUpperBound); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setUpperBound(Expression newUpperBound) + { + if (newUpperBound != upperBound) + { + NotificationChain msgs = null; + if (upperBound != null) + msgs = ((InternalEObject)upperBound).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__UPPER_BOUND, null, msgs); + if (newUpperBound != null) + msgs = ((InternalEObject)newUpperBound).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__UPPER_BOUND, null, msgs); + msgs = basicSetUpperBound(newUpperBound, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__UPPER_BOUND, newUpperBound, newUpperBound)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.INTERVAL__LOWER_BOUND: + return basicSetLowerBound(null, msgs); + case SolverLanguagePackage.INTERVAL__UPPER_BOUND: + return basicSetUpperBound(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.INTERVAL__LOWER_BOUND: + return getLowerBound(); + case SolverLanguagePackage.INTERVAL__UPPER_BOUND: + return getUpperBound(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.INTERVAL__LOWER_BOUND: + setLowerBound((Expression)newValue); + return; + case SolverLanguagePackage.INTERVAL__UPPER_BOUND: + setUpperBound((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.INTERVAL__LOWER_BOUND: + setLowerBound((Expression)null); + return; + case SolverLanguagePackage.INTERVAL__UPPER_BOUND: + setUpperBound((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.INTERVAL__LOWER_BOUND: + return lowerBound != null; + case SolverLanguagePackage.INTERVAL__UPPER_BOUND: + return upperBound != null; + } + return super.eIsSet(featureID); + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Irreflexive Closure'. - * - * - * @generated - */ -public class IrreflexiveClosureImpl extends ClosureTypeImpl implements IrreflexiveClosure -{ - /** - * - * - * @generated - */ - protected IrreflexiveClosureImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.IRREFLEXIVE_CLOSURE; - } - -} //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 @@ /** - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.solverLanguage.impl; import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - import org.eclipse.viatra.solver.language.solverLanguage.Literal; import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; @@ -17,7 +15,7 @@ import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; * * @generated */ -public class LiteralImpl extends MinimalEObjectImpl.Container implements Literal +public class LiteralImpl extends ExpressionImpl implements Literal { /** * diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java new file mode 100644 index 00000000..2bc27a20 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java @@ -0,0 +1,180 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.LogicValue; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Logic Literal'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl#getValue Value}
    • + *
    + * + * @generated + */ +public class LogicLiteralImpl extends LiteralImpl implements LogicLiteral +{ + /** + * The default value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected static final LogicValue VALUE_EDEFAULT = LogicValue.TRUE; + + /** + * The cached value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected LogicValue value = VALUE_EDEFAULT; + + /** + * + * + * @generated + */ + protected LogicLiteralImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.LOGIC_LITERAL; + } + + /** + * + * + * @generated + */ + @Override + public LogicValue getValue() + { + return value; + } + + /** + * + * + * @generated + */ + @Override + public void setValue(LogicValue newValue) + { + LogicValue oldValue = value; + value = newValue == null ? VALUE_EDEFAULT : newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LOGIC_LITERAL__VALUE, oldValue, value)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.LOGIC_LITERAL__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.LOGIC_LITERAL__VALUE: + setValue((LogicValue)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.LOGIC_LITERAL__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.LOGIC_LITERAL__VALUE: + return value != VALUE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Lower Bounded Scope Definition'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl#getLowerBound Lower Bound}
    • + *
    + * + * @generated + */ +public class LowerBoundedScopeDefinitionImpl extends ScopeDefinitionImpl implements LowerBoundedScopeDefinition +{ + /** + * The default value of the '{@link #getLowerBound() Lower Bound}' attribute. + * + * + * @see #getLowerBound() + * @generated + * @ordered + */ + protected static final int LOWER_BOUND_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getLowerBound() Lower Bound}' attribute. + * + * + * @see #getLowerBound() + * @generated + * @ordered + */ + protected int lowerBound = LOWER_BOUND_EDEFAULT; + + /** + * + * + * @generated + */ + protected LowerBoundedScopeDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.LOWER_BOUNDED_SCOPE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public int getLowerBound() + { + return lowerBound; + } + + /** + * + * + * @generated + */ + @Override + public void setLowerBound(int newLowerBound) + { + int oldLowerBound = lowerBound; + lowerBound = newLowerBound; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND, oldLowerBound, lowerBound)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND: + return getLowerBound(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND: + setLowerBound((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND: + setLowerBound(LOWER_BOUND_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND: + return lowerBound != LOWER_BOUND_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (lowerBound: "); + result.append(lowerBound); + result.append(')'); + return result.toString(); + } + +} //LowerBoundedScopeDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java new file mode 100644 index 00000000..c248b4ea --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java @@ -0,0 +1,41 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Many Multiplicity'. + * + * + * @generated + */ +public class ManyMultiplicityImpl extends MultiplicityImpl implements ManyMultiplicity +{ + /** + * + * + * @generated + */ + protected ManyMultiplicityImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.MANY_MULTIPLICITY; + } + +} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Member Definition'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#isContainment Containment}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getType Type}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getMultiplicity Multiplicity}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getName Name}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getOpposite Opposite}
    • + *
    + * + * @generated + */ +public class MemberDefinitionImpl extends MinimalEObjectImpl.Container implements MemberDefinition +{ + /** + * The default value of the '{@link #isContainment() Containment}' attribute. + * + * + * @see #isContainment() + * @generated + * @ordered + */ + protected static final boolean CONTAINMENT_EDEFAULT = false; + + /** + * The cached value of the '{@link #isContainment() Containment}' attribute. + * + * + * @see #isContainment() + * @generated + * @ordered + */ + protected boolean containment = CONTAINMENT_EDEFAULT; + + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * The cached value of the '{@link #getMultiplicity() Multiplicity}' containment reference. + * + * + * @see #getMultiplicity() + * @generated + * @ordered + */ + protected Multiplicity multiplicity; + + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getOpposite() Opposite}' reference. + * + * + * @see #getOpposite() + * @generated + * @ordered + */ + protected NamedElement opposite; + + /** + * + * + * @generated + */ + protected MemberDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.MEMBER_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public boolean isContainment() + { + return containment; + } + + /** + * + * + * @generated + */ + @Override + public void setContainment(boolean newContainment) + { + boolean oldContainment = containment; + containment = newContainment; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT, oldContainment, containment)); + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getType() + { + if (type != null && type.eIsProxy()) + { + InternalEObject oldType = (InternalEObject)type; + type = (NamedElement)eResolveProxy(oldType); + if (type != oldType) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.MEMBER_DEFINITION__TYPE, oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetType() + { + return type; + } + + /** + * + * + * @generated + */ + @Override + public void setType(NamedElement newType) + { + NamedElement oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public Multiplicity getMultiplicity() + { + return multiplicity; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetMultiplicity(Multiplicity newMultiplicity, NotificationChain msgs) + { + Multiplicity oldMultiplicity = multiplicity; + multiplicity = newMultiplicity; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, oldMultiplicity, newMultiplicity); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setMultiplicity(Multiplicity newMultiplicity) + { + if (newMultiplicity != multiplicity) + { + NotificationChain msgs = null; + if (multiplicity != null) + msgs = ((InternalEObject)multiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, null, msgs); + if (newMultiplicity != null) + msgs = ((InternalEObject)newMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, null, msgs); + msgs = basicSetMultiplicity(newMultiplicity, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, newMultiplicity, newMultiplicity)); + } + + /** + * + * + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getOpposite() + { + if (opposite != null && opposite.eIsProxy()) + { + InternalEObject oldOpposite = (InternalEObject)opposite; + opposite = (NamedElement)eResolveProxy(oldOpposite); + if (opposite != oldOpposite) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE, oldOpposite, opposite)); + } + } + return opposite; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetOpposite() + { + return opposite; + } + + /** + * + * + * @generated + */ + @Override + public void setOpposite(NamedElement newOpposite) + { + NamedElement oldOpposite = opposite; + opposite = newOpposite; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE, oldOpposite, opposite)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY: + return basicSetMultiplicity(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT: + return isContainment(); + case SolverLanguagePackage.MEMBER_DEFINITION__TYPE: + if (resolve) return getType(); + return basicGetType(); + case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY: + return getMultiplicity(); + case SolverLanguagePackage.MEMBER_DEFINITION__NAME: + return getName(); + case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE: + if (resolve) return getOpposite(); + return basicGetOpposite(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT: + setContainment((Boolean)newValue); + return; + case SolverLanguagePackage.MEMBER_DEFINITION__TYPE: + setType((NamedElement)newValue); + return; + case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY: + setMultiplicity((Multiplicity)newValue); + return; + case SolverLanguagePackage.MEMBER_DEFINITION__NAME: + setName((String)newValue); + return; + case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE: + setOpposite((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT: + setContainment(CONTAINMENT_EDEFAULT); + return; + case SolverLanguagePackage.MEMBER_DEFINITION__TYPE: + setType((NamedElement)null); + return; + case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY: + setMultiplicity((Multiplicity)null); + return; + case SolverLanguagePackage.MEMBER_DEFINITION__NAME: + setName(NAME_EDEFAULT); + return; + case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE: + setOpposite((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT: + return containment != CONTAINMENT_EDEFAULT; + case SolverLanguagePackage.MEMBER_DEFINITION__TYPE: + return type != null; + case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY: + return multiplicity != null; + case SolverLanguagePackage.MEMBER_DEFINITION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE: + return opposite != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (containment: "); + result.append(containment); + result.append(", name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.MetricType; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Metric Definition'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl#getHead Head}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl#getBody Body}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl#getType Type}
    • + *
    + * + * @generated + */ +public class MetricDefinitionImpl extends StatementImpl implements MetricDefinition +{ + /** + * The cached value of the '{@link #getHead() Head}' containment reference. + * + * + * @see #getHead() + * @generated + * @ordered + */ + protected Expression head; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * The default value of the '{@link #getType() Type}' attribute. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected static final MetricType TYPE_EDEFAULT = MetricType.INT; + + /** + * The cached value of the '{@link #getType() Type}' attribute. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected MetricType type = TYPE_EDEFAULT; + + /** + * + * + * @generated + */ + protected MetricDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.METRIC_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public Expression getHead() + { + return head; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetHead(Expression newHead, NotificationChain msgs) + { + Expression oldHead = head; + head = newHead; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__HEAD, oldHead, newHead); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setHead(Expression newHead) + { + if (newHead != head) + { + NotificationChain msgs = null; + if (head != null) + msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__HEAD, null, msgs); + if (newHead != null) + msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__HEAD, null, msgs); + msgs = basicSetHead(newHead, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__HEAD, newHead, newHead)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() + { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) + { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) + { + if (newBody != body) + { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public MetricType getType() + { + return type; + } + + /** + * + * + * @generated + */ + @Override + public void setType(MetricType newType) + { + MetricType oldType = type; + type = newType == null ? TYPE_EDEFAULT : newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.METRIC_DEFINITION__HEAD: + return basicSetHead(null, msgs); + case SolverLanguagePackage.METRIC_DEFINITION__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.METRIC_DEFINITION__HEAD: + return getHead(); + case SolverLanguagePackage.METRIC_DEFINITION__BODY: + return getBody(); + case SolverLanguagePackage.METRIC_DEFINITION__TYPE: + return getType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.METRIC_DEFINITION__HEAD: + setHead((Expression)newValue); + return; + case SolverLanguagePackage.METRIC_DEFINITION__BODY: + setBody((Expression)newValue); + return; + case SolverLanguagePackage.METRIC_DEFINITION__TYPE: + setType((MetricType)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.METRIC_DEFINITION__HEAD: + setHead((Expression)null); + return; + case SolverLanguagePackage.METRIC_DEFINITION__BODY: + setBody((Expression)null); + return; + case SolverLanguagePackage.METRIC_DEFINITION__TYPE: + setType(TYPE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.METRIC_DEFINITION__HEAD: + return head != null; + case SolverLanguagePackage.METRIC_DEFINITION__BODY: + return body != null; + case SolverLanguagePackage.METRIC_DEFINITION__TYPE: + return type != TYPE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (type: "); + result.append(type); + result.append(')'); + return result.toString(); + } + +} //MetricDefinitionImpl 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/ModelSymbolImpl.java deleted file mode 100644 index bd195572..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ModelSymbolImpl.java +++ /dev/null @@ -1,179 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Model Symbol'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl#getName Name}
    • - *
    - * - * @generated - */ -public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol -{ - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * - * - * @generated - */ - protected ModelSymbolImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.MODEL_SYMBOL; - } - - /** - * - * - * @generated - */ - @Override - public String getName() - { - return name; - } - - /** - * - * - * @generated - */ - @Override - public void setName(String newName) - { - String oldName = name; - name = newName; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MODEL_SYMBOL__NAME, oldName, name)); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.MODEL_SYMBOL__NAME: - return getName(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.MODEL_SYMBOL__NAME: - setName((String)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.MODEL_SYMBOL__NAME: - setName(NAME_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.MODEL_SYMBOL__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (name: "); - result.append(name); - result.append(')'); - return result.toString(); - } - -} //ModelSymbolImpl 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Multiplicity Definition'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl#getLower Lower}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl#getUpper Upper}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl#isUnlimitedUpper Unlimited Upper}
    • - *
    - * - * @generated - */ -public class MultiplicityDefinitionImpl extends MinimalEObjectImpl.Container implements MultiplicityDefinition -{ - /** - * The default value of the '{@link #getLower() Lower}' attribute. - * - * - * @see #getLower() - * @generated - * @ordered - */ - protected static final int LOWER_EDEFAULT = 0; - - /** - * The cached value of the '{@link #getLower() Lower}' attribute. - * - * - * @see #getLower() - * @generated - * @ordered - */ - protected int lower = LOWER_EDEFAULT; - - /** - * The default value of the '{@link #getUpper() Upper}' attribute. - * - * - * @see #getUpper() - * @generated - * @ordered - */ - protected static final int UPPER_EDEFAULT = 0; - - /** - * The cached value of the '{@link #getUpper() Upper}' attribute. - * - * - * @see #getUpper() - * @generated - * @ordered - */ - protected int upper = UPPER_EDEFAULT; - - /** - * The default value of the '{@link #isUnlimitedUpper() Unlimited Upper}' attribute. - * - * - * @see #isUnlimitedUpper() - * @generated - * @ordered - */ - protected static final boolean UNLIMITED_UPPER_EDEFAULT = false; - - /** - * The cached value of the '{@link #isUnlimitedUpper() Unlimited Upper}' attribute. - * - * - * @see #isUnlimitedUpper() - * @generated - * @ordered - */ - protected boolean unlimitedUpper = UNLIMITED_UPPER_EDEFAULT; - - /** - * - * - * @generated - */ - protected MultiplicityDefinitionImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.MULTIPLICITY_DEFINITION; - } - - /** - * - * - * @generated - */ - @Override - public int getLower() - { - return lower; - } - - /** - * - * - * @generated - */ - @Override - public void setLower(int newLower) - { - int oldLower = lower; - lower = newLower; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER, oldLower, lower)); - } - - /** - * - * - * @generated - */ - @Override - public int getUpper() - { - return upper; - } - - /** - * - * - * @generated - */ - @Override - public void setUpper(int newUpper) - { - int oldUpper = upper; - upper = newUpper; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER, oldUpper, upper)); - } - - /** - * - * - * @generated - */ - @Override - public boolean isUnlimitedUpper() - { - return unlimitedUpper; - } - - /** - * - * - * @generated - */ - @Override - public void setUnlimitedUpper(boolean newUnlimitedUpper) - { - boolean oldUnlimitedUpper = unlimitedUpper; - unlimitedUpper = newUnlimitedUpper; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER, oldUnlimitedUpper, unlimitedUpper)); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER: - return getLower(); - case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER: - return getUpper(); - case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER: - return isUnlimitedUpper(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER: - setLower((Integer)newValue); - return; - case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER: - setUpper((Integer)newValue); - return; - case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER: - setUnlimitedUpper((Boolean)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER: - setLower(LOWER_EDEFAULT); - return; - case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER: - setUpper(UPPER_EDEFAULT); - return; - case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER: - setUnlimitedUpper(UNLIMITED_UPPER_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER: - return lower != LOWER_EDEFAULT; - case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER: - return upper != UPPER_EDEFAULT; - case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER: - return unlimitedUpper != UNLIMITED_UPPER_EDEFAULT; - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (lower: "); - result.append(lower); - result.append(", upper: "); - result.append(upper); - result.append(", unlimitedUpper: "); - result.append(unlimitedUpper); - result.append(')'); - return result.toString(); - } - -} //MultiplicityDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java new file mode 100644 index 00000000..935cf5be --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java @@ -0,0 +1,43 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Multiplicity'. + * + * + * @generated + */ +public class MultiplicityImpl extends MinimalEObjectImpl.Container implements Multiplicity +{ + /** + * + * + * @generated + */ + protected MultiplicityImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.MULTIPLICITY; + } + +} //MultiplicityImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java new file mode 100644 index 00000000..a94f9894 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java @@ -0,0 +1,180 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Named Element'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl#getName Name}
    • + *
    + * + * @generated + */ +public class NamedElementImpl extends MinimalEObjectImpl.Container implements NamedElement +{ + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * + * + * @generated + */ + protected NamedElementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.NAMED_ELEMENT; + } + + /** + * + * + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NAMED_ELEMENT__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.NAMED_ELEMENT__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.NAMED_ELEMENT__NAME: + setName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.NAMED_ELEMENT__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.NAMED_ELEMENT__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //NamedElementImpl 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/NamedObjectImpl.java deleted file mode 100644 index 9d907661..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedObjectImpl.java +++ /dev/null @@ -1,179 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.NamedObject; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Named Object'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl#getName Name}
    • - *
    - * - * @generated - */ -public class NamedObjectImpl extends ObjectImpl implements NamedObject -{ - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * - * - * @generated - */ - protected NamedObjectImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.NAMED_OBJECT; - } - - /** - * - * - * @generated - */ - @Override - public String getName() - { - return name; - } - - /** - * - * - * @generated - */ - @Override - public void setName(String newName) - { - String oldName = name; - name = newName; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NAMED_OBJECT__NAME, oldName, name)); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.NAMED_OBJECT__NAME: - return getName(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.NAMED_OBJECT__NAME: - setName((String)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.NAMED_OBJECT__NAME: - setName(NAME_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.NAMED_OBJECT__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (name: "); - result.append(name); - result.append(')'); - return result.toString(); - } - -} //NamedObjectImpl 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/NegativeImpl.java deleted file mode 100644 index a30b228f..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NegativeImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.Negative; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Negative'. - * - * - * @generated - */ -public class NegativeImpl extends PolarityImpl implements Negative -{ - /** - * - * - * @generated - */ - protected NegativeImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.NEGATIVE; - } - -} //NegativeImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java new file mode 100644 index 00000000..04622dfb --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java @@ -0,0 +1,181 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.math.BigDecimal; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Numeric Literal'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl#getValue Value}
    • + *
    + * + * @generated + */ +public class NumericLiteralImpl extends LiteralImpl implements NumericLiteral +{ + /** + * The default value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected static final BigDecimal VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected BigDecimal value = VALUE_EDEFAULT; + + /** + * + * + * @generated + */ + protected NumericLiteralImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.NUMERIC_LITERAL; + } + + /** + * + * + * @generated + */ + @Override + public BigDecimal getValue() + { + return value; + } + + /** + * + * + * @generated + */ + @Override + public void setValue(BigDecimal newValue) + { + BigDecimal oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NUMERIC_LITERAL__VALUE, oldValue, value)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.NUMERIC_LITERAL__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.NUMERIC_LITERAL__VALUE: + setValue((BigDecimal)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.NUMERIC_LITERAL__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.NUMERIC_LITERAL__VALUE: + return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Object'. - * - * - * @generated - */ -public class ObjectImpl extends ComplexObjectImpl implements org.eclipse.viatra.solver.language.solverLanguage.Object -{ - /** - * - * - * @generated - */ - protected ObjectImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.OBJECT; - } - -} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Objective Definition'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl#getKind Kind}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl#getObjective Objective}
    • + *
    + * + * @generated + */ +public class ObjectiveDefinitionImpl extends StatementImpl implements ObjectiveDefinition +{ + /** + * The default value of the '{@link #getKind() Kind}' attribute. + * + * + * @see #getKind() + * @generated + * @ordered + */ + protected static final ObjectiveKind KIND_EDEFAULT = ObjectiveKind.MINIMIZE; + + /** + * The cached value of the '{@link #getKind() Kind}' attribute. + * + * + * @see #getKind() + * @generated + * @ordered + */ + protected ObjectiveKind kind = KIND_EDEFAULT; + + /** + * The cached value of the '{@link #getObjective() Objective}' containment reference. + * + * + * @see #getObjective() + * @generated + * @ordered + */ + protected Expression objective; + + /** + * + * + * @generated + */ + protected ObjectiveDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public ObjectiveKind getKind() + { + return kind; + } + + /** + * + * + * @generated + */ + @Override + public void setKind(ObjectiveKind newKind) + { + ObjectiveKind oldKind = kind; + kind = newKind == null ? KIND_EDEFAULT : newKind; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND, oldKind, kind)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getObjective() + { + return objective; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetObjective(Expression newObjective, NotificationChain msgs) + { + Expression oldObjective = objective; + objective = newObjective; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, oldObjective, newObjective); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setObjective(Expression newObjective) + { + if (newObjective != objective) + { + NotificationChain msgs = null; + if (objective != null) + msgs = ((InternalEObject)objective).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, null, msgs); + if (newObjective != null) + msgs = ((InternalEObject)newObjective).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, null, msgs); + msgs = basicSetObjective(newObjective, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, newObjective, newObjective)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE: + return basicSetObjective(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND: + return getKind(); + case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE: + return getObjective(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND: + setKind((ObjectiveKind)newValue); + return; + case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE: + setObjective((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND: + setKind(KIND_EDEFAULT); + return; + case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE: + setObjective((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND: + return kind != KIND_EDEFAULT; + case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE: + return objective != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (kind: "); + result.append(kind); + result.append(')'); + return result.toString(); + } + +} //ObjectiveDefinitionImpl 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/ParameterImpl.java deleted file mode 100644 index 6281c4bc..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ParameterImpl.java +++ /dev/null @@ -1,271 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.Parameter; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.Symbol; -import org.eclipse.viatra.solver.language.solverLanguage.Variable; - -/** - * - * An implementation of the model object 'Parameter'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl#getVariable Variable}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl#getType Type}
    • - *
    - * - * @generated - */ -public class ParameterImpl extends MinimalEObjectImpl.Container implements Parameter -{ - /** - * The cached value of the '{@link #getVariable() Variable}' containment reference. - * - * - * @see #getVariable() - * @generated - * @ordered - */ - protected Variable variable; - - /** - * The cached value of the '{@link #getType() Type}' containment reference. - * - * - * @see #getType() - * @generated - * @ordered - */ - protected Symbol type; - - /** - * - * - * @generated - */ - protected ParameterImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.PARAMETER; - } - - /** - * - * - * @generated - */ - @Override - public Variable getVariable() - { - return variable; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetVariable(Variable newVariable, NotificationChain msgs) - { - Variable oldVariable = variable; - variable = newVariable; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PARAMETER__VARIABLE, oldVariable, newVariable); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setVariable(Variable newVariable) - { - if (newVariable != variable) - { - NotificationChain msgs = null; - if (variable != null) - msgs = ((InternalEObject)variable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PARAMETER__VARIABLE, null, msgs); - if (newVariable != null) - msgs = ((InternalEObject)newVariable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PARAMETER__VARIABLE, null, msgs); - msgs = basicSetVariable(newVariable, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PARAMETER__VARIABLE, newVariable, newVariable)); - } - - /** - * - * - * @generated - */ - @Override - public Symbol getType() - { - return type; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetType(Symbol newType, NotificationChain msgs) - { - Symbol oldType = type; - type = newType; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PARAMETER__TYPE, oldType, newType); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setType(Symbol newType) - { - if (newType != type) - { - NotificationChain msgs = null; - if (type != null) - msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PARAMETER__TYPE, null, msgs); - if (newType != null) - msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PARAMETER__TYPE, null, msgs); - msgs = basicSetType(newType, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PARAMETER__TYPE, newType, newType)); - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case SolverLanguagePackage.PARAMETER__VARIABLE: - return basicSetVariable(null, msgs); - case SolverLanguagePackage.PARAMETER__TYPE: - return basicSetType(null, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.PARAMETER__VARIABLE: - return getVariable(); - case SolverLanguagePackage.PARAMETER__TYPE: - return getType(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.PARAMETER__VARIABLE: - setVariable((Variable)newValue); - return; - case SolverLanguagePackage.PARAMETER__TYPE: - setType((Symbol)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.PARAMETER__VARIABLE: - setVariable((Variable)null); - return; - case SolverLanguagePackage.PARAMETER__TYPE: - setType((Symbol)null); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.PARAMETER__VARIABLE: - return variable != null; - case SolverLanguagePackage.PARAMETER__TYPE: - return type != null; - } - return super.eIsSet(featureID); - } - -} //ParameterImpl 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Partiality Symbol'. - * - * - * @generated - */ -public class PartialitySymbolImpl extends SymbolImpl implements PartialitySymbol -{ - /** - * - * - * @generated - */ - protected PartialitySymbolImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.PARTIALITY_SYMBOL; - } - -} //PartialitySymbolImpl 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/PatternBodyImpl.java deleted file mode 100644 index 5cd03fbf..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PatternBodyImpl.java +++ /dev/null @@ -1,169 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import java.util.Collection; - -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - -import org.eclipse.viatra.solver.language.solverLanguage.Constraint; -import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Pattern Body'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl#getConstraints Constraints}
    • - *
    - * - * @generated - */ -public class PatternBodyImpl extends MinimalEObjectImpl.Container implements PatternBody -{ - /** - * The cached value of the '{@link #getConstraints() Constraints}' containment reference list. - * - * - * @see #getConstraints() - * @generated - * @ordered - */ - protected EList constraints; - - /** - * - * - * @generated - */ - protected PatternBodyImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.PATTERN_BODY; - } - - /** - * - * - * @generated - */ - @Override - public EList getConstraints() - { - if (constraints == null) - { - constraints = new EObjectContainmentEList(Constraint.class, this, SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS); - } - return constraints; - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS: - return ((InternalEList)getConstraints()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS: - return getConstraints(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS: - getConstraints().clear(); - getConstraints().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS: - getConstraints().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS: - return constraints != null && !constraints.isEmpty(); - } - return super.eIsSet(featureID); - } - -} //PatternBodyImpl 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/PolarityImpl.java deleted file mode 100644 index 7c2ae07d..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PolarityImpl.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.Polarity; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Polarity'. - * - * - * @generated - */ -public class PolarityImpl extends MinimalEObjectImpl.Container implements Polarity -{ - /** - * - * - * @generated - */ - protected PolarityImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.POLARITY; - } - -} //PolarityImpl 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.Positive; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Positive'. - * - * - * @generated - */ -public class PositiveImpl extends PolarityImpl implements Positive -{ - /** - * - * - * @generated - */ - protected PositiveImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.POSITIVE; - } - -} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Predicate Definition'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#getHead Head}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#getBody Body}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#isFunctional Functional}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#isError Error}
    • + *
    + * + * @generated + */ +public class PredicateDefinitionImpl extends StatementImpl implements PredicateDefinition +{ + /** + * The cached value of the '{@link #getHead() Head}' containment reference. + * + * + * @see #getHead() + * @generated + * @ordered + */ + protected Expression head; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * The default value of the '{@link #isFunctional() Functional}' attribute. + * + * + * @see #isFunctional() + * @generated + * @ordered + */ + protected static final boolean FUNCTIONAL_EDEFAULT = false; + + /** + * The cached value of the '{@link #isFunctional() Functional}' attribute. + * + * + * @see #isFunctional() + * @generated + * @ordered + */ + protected boolean functional = FUNCTIONAL_EDEFAULT; + + /** + * The default value of the '{@link #isError() Error}' attribute. + * + * + * @see #isError() + * @generated + * @ordered + */ + protected static final boolean ERROR_EDEFAULT = false; + + /** + * The cached value of the '{@link #isError() Error}' attribute. + * + * + * @see #isError() + * @generated + * @ordered + */ + protected boolean error = ERROR_EDEFAULT; + + /** + * + * + * @generated + */ + protected PredicateDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.PREDICATE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public Expression getHead() + { + return head; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetHead(Expression newHead, NotificationChain msgs) + { + Expression oldHead = head; + head = newHead; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, oldHead, newHead); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setHead(Expression newHead) + { + if (newHead != head) + { + NotificationChain msgs = null; + if (head != null) + msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, null, msgs); + if (newHead != null) + msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, null, msgs); + msgs = basicSetHead(newHead, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, newHead, newHead)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() + { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) + { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) + { + if (newBody != body) + { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public boolean isFunctional() + { + return functional; + } + + /** + * + * + * @generated + */ + @Override + public void setFunctional(boolean newFunctional) + { + boolean oldFunctional = functional; + functional = newFunctional; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL, oldFunctional, functional)); + } + + /** + * + * + * @generated + */ + @Override + public boolean isError() + { + return error; + } + + /** + * + * + * @generated + */ + @Override + public void setError(boolean newError) + { + boolean oldError = error; + error = newError; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__ERROR, oldError, error)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD: + return basicSetHead(null, msgs); + case SolverLanguagePackage.PREDICATE_DEFINITION__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD: + return getHead(); + case SolverLanguagePackage.PREDICATE_DEFINITION__BODY: + return getBody(); + case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL: + return isFunctional(); + case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR: + return isError(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD: + setHead((Expression)newValue); + return; + case SolverLanguagePackage.PREDICATE_DEFINITION__BODY: + setBody((Expression)newValue); + return; + case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL: + setFunctional((Boolean)newValue); + return; + case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR: + setError((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD: + setHead((Expression)null); + return; + case SolverLanguagePackage.PREDICATE_DEFINITION__BODY: + setBody((Expression)null); + return; + case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL: + setFunctional(FUNCTIONAL_EDEFAULT); + return; + case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR: + setError(ERROR_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD: + return head != null; + case SolverLanguagePackage.PREDICATE_DEFINITION__BODY: + return body != null; + case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL: + return functional != FUNCTIONAL_EDEFAULT; + case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR: + return error != ERROR_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (functional: "); + result.append(functional); + result.append(", error: "); + result.append(error); + result.append(')'); + return result.toString(); + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import java.util.Collection; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - -import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.Parameter; -import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; -import org.eclipse.viatra.solver.language.solverLanguage.Predicate; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Predicate'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#isIsError Is Error}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getSymbol Symbol}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getParameters Parameters}
    • - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getBodies Bodies}
    • - *
    - * - * @generated - */ -public class PredicateImpl extends StatementImpl implements Predicate -{ - /** - * The default value of the '{@link #isIsError() Is Error}' attribute. - * - * - * @see #isIsError() - * @generated - * @ordered - */ - protected static final boolean IS_ERROR_EDEFAULT = false; - - /** - * The cached value of the '{@link #isIsError() Is Error}' attribute. - * - * - * @see #isIsError() - * @generated - * @ordered - */ - protected boolean isError = IS_ERROR_EDEFAULT; - - /** - * The cached value of the '{@link #getSymbol() Symbol}' containment reference. - * - * - * @see #getSymbol() - * @generated - * @ordered - */ - protected ModelSymbol symbol; - - /** - * The cached value of the '{@link #getParameters() Parameters}' containment reference list. - * - * - * @see #getParameters() - * @generated - * @ordered - */ - protected EList parameters; - - /** - * The cached value of the '{@link #getBodies() Bodies}' containment reference list. - * - * - * @see #getBodies() - * @generated - * @ordered - */ - protected EList bodies; - - /** - * - * - * @generated - */ - protected PredicateImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.PREDICATE; - } - - /** - * - * - * @generated - */ - @Override - public boolean isIsError() - { - return isError; - } - - /** - * - * - * @generated - */ - @Override - public void setIsError(boolean newIsError) - { - boolean oldIsError = isError; - isError = newIsError; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE__IS_ERROR, oldIsError, isError)); - } - - /** - * - * - * @generated - */ - @Override - public ModelSymbol getSymbol() - { - return symbol; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs) - { - ModelSymbol oldSymbol = symbol; - symbol = newSymbol; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE__SYMBOL, oldSymbol, newSymbol); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setSymbol(ModelSymbol newSymbol) - { - if (newSymbol != symbol) - { - NotificationChain msgs = null; - if (symbol != null) - msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE__SYMBOL, null, msgs); - if (newSymbol != null) - msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE__SYMBOL, null, msgs); - msgs = basicSetSymbol(newSymbol, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE__SYMBOL, newSymbol, newSymbol)); - } - - /** - * - * - * @generated - */ - @Override - public EList getParameters() - { - if (parameters == null) - { - parameters = new EObjectContainmentEList(Parameter.class, this, SolverLanguagePackage.PREDICATE__PARAMETERS); - } - return parameters; - } - - /** - * - * - * @generated - */ - @Override - public EList getBodies() - { - if (bodies == null) - { - bodies = new EObjectContainmentEList(PatternBody.class, this, SolverLanguagePackage.PREDICATE__BODIES); - } - return bodies; - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case SolverLanguagePackage.PREDICATE__SYMBOL: - return basicSetSymbol(null, msgs); - case SolverLanguagePackage.PREDICATE__PARAMETERS: - return ((InternalEList)getParameters()).basicRemove(otherEnd, msgs); - case SolverLanguagePackage.PREDICATE__BODIES: - return ((InternalEList)getBodies()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.PREDICATE__IS_ERROR: - return isIsError(); - case SolverLanguagePackage.PREDICATE__SYMBOL: - return getSymbol(); - case SolverLanguagePackage.PREDICATE__PARAMETERS: - return getParameters(); - case SolverLanguagePackage.PREDICATE__BODIES: - return getBodies(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.PREDICATE__IS_ERROR: - setIsError((Boolean)newValue); - return; - case SolverLanguagePackage.PREDICATE__SYMBOL: - setSymbol((ModelSymbol)newValue); - return; - case SolverLanguagePackage.PREDICATE__PARAMETERS: - getParameters().clear(); - getParameters().addAll((Collection)newValue); - return; - case SolverLanguagePackage.PREDICATE__BODIES: - getBodies().clear(); - getBodies().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.PREDICATE__IS_ERROR: - setIsError(IS_ERROR_EDEFAULT); - return; - case SolverLanguagePackage.PREDICATE__SYMBOL: - setSymbol((ModelSymbol)null); - return; - case SolverLanguagePackage.PREDICATE__PARAMETERS: - getParameters().clear(); - return; - case SolverLanguagePackage.PREDICATE__BODIES: - getBodies().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.PREDICATE__IS_ERROR: - return isError != IS_ERROR_EDEFAULT; - case SolverLanguagePackage.PREDICATE__SYMBOL: - return symbol != null; - case SolverLanguagePackage.PREDICATE__PARAMETERS: - return parameters != null && !parameters.isEmpty(); - case SolverLanguagePackage.PREDICATE__BODIES: - return bodies != null && !bodies.isEmpty(); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (isError: "); - result.append(isError); - result.append(')'); - return result.toString(); - } - -} //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 @@ /** - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.solverLanguage.impl; 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/RealObjectImpl.java deleted file mode 100644 index bc32a9a6..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealObjectImpl.java +++ /dev/null @@ -1,181 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import java.math.BigDecimal; - -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.RealObject; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Real Object'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl#getValue Value}
    • - *
    - * - * @generated - */ -public class RealObjectImpl extends DataObjectImpl implements RealObject -{ - /** - * The default value of the '{@link #getValue() Value}' attribute. - * - * - * @see #getValue() - * @generated - * @ordered - */ - protected static final BigDecimal VALUE_EDEFAULT = null; - - /** - * The cached value of the '{@link #getValue() Value}' attribute. - * - * - * @see #getValue() - * @generated - * @ordered - */ - protected BigDecimal value = VALUE_EDEFAULT; - - /** - * - * - * @generated - */ - protected RealObjectImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.REAL_OBJECT; - } - - /** - * - * - * @generated - */ - @Override - public BigDecimal getValue() - { - return value; - } - - /** - * - * - * @generated - */ - @Override - public void setValue(BigDecimal newValue) - { - BigDecimal oldValue = value; - value = newValue; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.REAL_OBJECT__VALUE, oldValue, value)); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.REAL_OBJECT__VALUE: - return getValue(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.REAL_OBJECT__VALUE: - setValue((BigDecimal)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.REAL_OBJECT__VALUE: - setValue(VALUE_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.REAL_OBJECT__VALUE: - return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (value: "); - result.append(value); - result.append(')'); - return result.toString(); - } - -} //RealObjectImpl 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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Real Symbol'. - * - * - * @generated - */ -public class RealSymbolImpl extends DataSymbolImpl implements RealSymbol -{ - /** - * - * - * @generated - */ - protected RealSymbolImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.REAL_SYMBOL; - } - -} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.Reference; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Reference'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl#getReferred Referred}
    • + *
    + * + * @generated + */ +public class ReferenceImpl extends ExpressionImpl implements Reference +{ + /** + * The cached value of the '{@link #getReferred() Referred}' reference. + * + * + * @see #getReferred() + * @generated + * @ordered + */ + protected NamedElement referred; + + /** + * + * + * @generated + */ + protected ReferenceImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.REFERENCE; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getReferred() + { + if (referred != null && referred.eIsProxy()) + { + InternalEObject oldReferred = (InternalEObject)referred; + referred = (NamedElement)eResolveProxy(oldReferred); + if (referred != oldReferred) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.REFERENCE__REFERRED, oldReferred, referred)); + } + } + return referred; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetReferred() + { + return referred; + } + + /** + * + * + * @generated + */ + @Override + public void setReferred(NamedElement newReferred) + { + NamedElement oldReferred = referred; + referred = newReferred; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.REFERENCE__REFERRED, oldReferred, referred)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.REFERENCE__REFERRED: + if (resolve) return getReferred(); + return basicGetReferred(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.REFERENCE__REFERRED: + setReferred((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.REFERENCE__REFERRED: + setReferred((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.REFERENCE__REFERRED: + return referred != null; + } + return super.eIsSet(featureID); + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Reflexive Closure'. - * - * - * @generated - */ -public class ReflexiveClosureImpl extends ClosureTypeImpl implements ReflexiveClosure -{ - /** - * - * - * @generated - */ - protected ReflexiveClosureImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.REFLEXIVE_CLOSURE; - } - -} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Scope Definition'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl#getType Type}
    • + *
    + * + * @generated + */ +public class ScopeDefinitionImpl extends StatementImpl implements ScopeDefinition +{ + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * + * + * @generated + */ + protected ScopeDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.SCOPE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getType() + { + if (type != null && type.eIsProxy()) + { + InternalEObject oldType = (InternalEObject)type; + type = (NamedElement)eResolveProxy(oldType); + if (type != oldType) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.SCOPE_DEFINITION__TYPE, oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetType() + { + return type; + } + + /** + * + * + * @generated + */ + @Override + public void setType(NamedElement newType) + { + NamedElement oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.SCOPE_DEFINITION__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.SCOPE_DEFINITION__TYPE: + if (resolve) return getType(); + return basicGetType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.SCOPE_DEFINITION__TYPE: + setType((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.SCOPE_DEFINITION__TYPE: + setType((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.SCOPE_DEFINITION__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + +} //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 @@ /** - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.solverLanguage.impl; import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EDataType; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; @@ -11,58 +12,7 @@ import org.eclipse.emf.ecore.impl.EFactoryImpl; import org.eclipse.emf.ecore.plugin.EcorePlugin; -import org.eclipse.viatra.solver.language.solverLanguage.AllInstances; -import org.eclipse.viatra.solver.language.solverLanguage.AllObjects; -import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue; -import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.ClosureType; -import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject; -import org.eclipse.viatra.solver.language.solverLanguage.Constraint; -import org.eclipse.viatra.solver.language.solverLanguage.DataObject; -import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.False; -import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.IntObject; -import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.Interpretation; -import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure; -import org.eclipse.viatra.solver.language.solverLanguage.Literal; -import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition; -import org.eclipse.viatra.solver.language.solverLanguage.NamedObject; -import org.eclipse.viatra.solver.language.solverLanguage.Negative; -import org.eclipse.viatra.solver.language.solverLanguage.Parameter; -import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol; -import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; -import org.eclipse.viatra.solver.language.solverLanguage.Polarity; -import org.eclipse.viatra.solver.language.solverLanguage.Positive; -import org.eclipse.viatra.solver.language.solverLanguage.Predicate; -import org.eclipse.viatra.solver.language.solverLanguage.Problem; -import org.eclipse.viatra.solver.language.solverLanguage.RealObject; -import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.Statement; -import org.eclipse.viatra.solver.language.solverLanguage.StringObject; -import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.Symbol; -import org.eclipse.viatra.solver.language.solverLanguage.True; -import org.eclipse.viatra.solver.language.solverLanguage.TruthValue; -import org.eclipse.viatra.solver.language.solverLanguage.Unknown; -import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject; -import org.eclipse.viatra.solver.language.solverLanguage.Variable; +import org.eclipse.viatra.solver.language.solverLanguage.*; /** * @@ -118,61 +68,109 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan { case SolverLanguagePackage.PROBLEM: return createProblem(); case SolverLanguagePackage.STATEMENT: return createStatement(); - case SolverLanguagePackage.BOOLEAN_VALUE: return createBooleanValue(); - case SolverLanguagePackage.TRUTH_VALUE: return createTruthValue(); - case SolverLanguagePackage.INTERPRETATION: return createInterpretation(); - case SolverLanguagePackage.BASIC_INTERPRETATION: return createBasicInterpretation(); - case SolverLanguagePackage.SYMBOL: return createSymbol(); - case SolverLanguagePackage.MODEL_SYMBOL: return createModelSymbol(); - case SolverLanguagePackage.PARTIALITY_SYMBOL: return createPartialitySymbol(); - case SolverLanguagePackage.EXIST_SYMBOL: return createExistSymbol(); - case SolverLanguagePackage.EQUALS_SYMBOL: return createEqualsSymbol(); - case SolverLanguagePackage.DATA_SYMBOL: return createDataSymbol(); - case SolverLanguagePackage.BOOLEAN_SYMBOL: return createBooleanSymbol(); - case SolverLanguagePackage.INTEGER_SYMBOL: return createIntegerSymbol(); - case SolverLanguagePackage.REAL_SYMBOL: return createRealSymbol(); - case SolverLanguagePackage.STRING_SYMBOL: return createStringSymbol(); - case SolverLanguagePackage.COMPLEX_OBJECT: return createComplexObject(); - case SolverLanguagePackage.OBJECT: return createObject(); - case SolverLanguagePackage.NAMED_OBJECT: return createNamedObject(); - case SolverLanguagePackage.UNNAMED_OBJECT: return createUnnamedObject(); - case SolverLanguagePackage.DATA_OBJECT: return createDataObject(); - case SolverLanguagePackage.BOOLEAN_OBJECT: return createBooleanObject(); - case SolverLanguagePackage.INT_OBJECT: return createIntObject(); - case SolverLanguagePackage.REAL_OBJECT: return createRealObject(); - case SolverLanguagePackage.STRING_OBJECT: return createStringObject(); - case SolverLanguagePackage.PREDICATE: return createPredicate(); - case SolverLanguagePackage.PARAMETER: return createParameter(); - case SolverLanguagePackage.PATTERN_BODY: return createPatternBody(); - case SolverLanguagePackage.POLARITY: return createPolarity(); - case SolverLanguagePackage.CONSTRAINT: return createConstraint(); - case SolverLanguagePackage.CLOSURE_TYPE: return createClosureType(); + case SolverLanguagePackage.PREDICATE_DEFINITION: return createPredicateDefinition(); + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: return createUnnamedErrorPrediateDefinition(); + case SolverLanguagePackage.DEFAULT_DEFINITION: return createDefaultDefinition(); + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION: return createExternPredicateDefinition(); + case SolverLanguagePackage.METRIC_DEFINITION: return createMetricDefinition(); + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: return createExternMetricDefinition(); + case SolverLanguagePackage.EXPRESSION: return createExpression(); + case SolverLanguagePackage.IF_ELSE: return createIfElse(); + case SolverLanguagePackage.CASE: return createCase(); + case SolverLanguagePackage.COUNT: return createCount(); + case SolverLanguagePackage.AGGREGATION: return createAggregation(); + case SolverLanguagePackage.CALL: return createCall(); + case SolverLanguagePackage.ARGUMENT_LIST: return createArgumentList(); + case SolverLanguagePackage.ARGUMENT: return createArgument(); + case SolverLanguagePackage.EXPRESSION_ARGUMENT: return createExpressionArgument(); + case SolverLanguagePackage.STAR_ARGUMENT: return createStarArgument(); + case SolverLanguagePackage.TYPED_ARGUMENT: return createTypedArgument(); + case SolverLanguagePackage.TYPED_STAR_ARGUMENT: return createTypedStarArgument(); + case SolverLanguagePackage.REFERENCE: return createReference(); + case SolverLanguagePackage.INTERVAL: return createInterval(); case SolverLanguagePackage.LITERAL: return createLiteral(); - case SolverLanguagePackage.VARIABLE: return createVariable(); - case SolverLanguagePackage.ALL_INSTANCES: return createAllInstances(); - case SolverLanguagePackage.ALL_OBJECTS: return createAllObjects(); - case SolverLanguagePackage.DEFAULT_INTERPRETATION: return createDefaultInterpretation(); - case SolverLanguagePackage.CD_INTERPRETATION: return createCDInterpretation(); - case SolverLanguagePackage.CLASS_INTERPRETATION: return createClassInterpretation(); - case SolverLanguagePackage.ENUM_INTERPRETATION: return createEnumInterpretation(); - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION: return createFieldRelationInterpretation(); - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION: return createGlobalRelationInterpretation(); - case SolverLanguagePackage.MULTIPLICITY_DEFINITION: return createMultiplicityDefinition(); - case SolverLanguagePackage.BOOLEAN_TRUE: return createBooleanTrue(); - case SolverLanguagePackage.BOOLEAN_FALSE: return createBooleanFalse(); - case SolverLanguagePackage.TRUE: return createTrue(); - case SolverLanguagePackage.FALSE: return createFalse(); - case SolverLanguagePackage.UNKNOWN: return createUnknown(); - case SolverLanguagePackage.ERROR: return createError(); - case SolverLanguagePackage.POSITIVE: return createPositive(); - case SolverLanguagePackage.NEGATIVE: return createNegative(); - case SolverLanguagePackage.REFLEXIVE_CLOSURE: return createReflexiveClosure(); - case SolverLanguagePackage.IRREFLEXIVE_CLOSURE: return createIrreflexiveClosure(); + case SolverLanguagePackage.LOGIC_LITERAL: return createLogicLiteral(); + case SolverLanguagePackage.NUMERIC_LITERAL: return createNumericLiteral(); + case SolverLanguagePackage.INFINITY_LITERAL: return createInfinityLiteral(); + case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL: return createEmptyIntervalLiteral(); + case SolverLanguagePackage.STRING_LITERAL: return createStringLiteral(); + case SolverLanguagePackage.MEMBER_DEFINITION: return createMemberDefinition(); + case SolverLanguagePackage.MULTIPLICITY: return createMultiplicity(); + case SolverLanguagePackage.MANY_MULTIPLICITY: return createManyMultiplicity(); + case SolverLanguagePackage.EXACT_MULTIPLICITY: return createExactMultiplicity(); + case SolverLanguagePackage.BOUNDED_MULTIPLICITY: return createBoundedMultiplicity(); + case SolverLanguagePackage.SCOPE_DEFINITION: return createScopeDefinition(); + case SolverLanguagePackage.EXACT_SCOPE_DEFINITION: return createExactScopeDefinition(); + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION: return createBoundedScopeDefinition(); + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION: return createLowerBoundedScopeDefinition(); + case SolverLanguagePackage.OBJECTIVE_DEFINITION: return createObjectiveDefinition(); + case SolverLanguagePackage.NAMED_ELEMENT: return createNamedElement(); + case SolverLanguagePackage.ASSERTION: return createAssertion(); + case SolverLanguagePackage.DISJUNCTION: return createDisjunction(); + case SolverLanguagePackage.SWITCH: return createSwitch(); + case SolverLanguagePackage.CONJUNCTION: return createConjunction(); + case SolverLanguagePackage.COMPARISON: return createComparison(); + case SolverLanguagePackage.BINARY_EXPRESSION: return createBinaryExpression(); + case SolverLanguagePackage.UNARY_EXPRESSION: return createUnaryExpression(); default: throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); } } + /** + * + * + * @generated + */ + @Override + public Object createFromString(EDataType eDataType, String initialValue) + { + switch (eDataType.getClassifierID()) + { + case SolverLanguagePackage.METRIC_TYPE: + return createMetricTypeFromString(eDataType, initialValue); + case SolverLanguagePackage.BINARY_OPERATOR: + return createBinaryOperatorFromString(eDataType, initialValue); + case SolverLanguagePackage.UNARY_OP: + return createUnaryOpFromString(eDataType, initialValue); + case SolverLanguagePackage.AGGREGATION_OP: + return createAggregationOpFromString(eDataType, initialValue); + case SolverLanguagePackage.LOGIC_VALUE: + return createLogicValueFromString(eDataType, initialValue); + case SolverLanguagePackage.OBJECTIVE_KIND: + return createObjectiveKindFromString(eDataType, initialValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + @Override + public String convertToString(EDataType eDataType, Object instanceValue) + { + switch (eDataType.getClassifierID()) + { + case SolverLanguagePackage.METRIC_TYPE: + return convertMetricTypeToString(eDataType, instanceValue); + case SolverLanguagePackage.BINARY_OPERATOR: + return convertBinaryOperatorToString(eDataType, instanceValue); + case SolverLanguagePackage.UNARY_OP: + return convertUnaryOpToString(eDataType, instanceValue); + case SolverLanguagePackage.AGGREGATION_OP: + return convertAggregationOpToString(eDataType, instanceValue); + case SolverLanguagePackage.LOGIC_VALUE: + return convertLogicValueToString(eDataType, instanceValue); + case SolverLanguagePackage.OBJECTIVE_KIND: + return convertObjectiveKindToString(eDataType, instanceValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + /** * * @@ -203,10 +201,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public BooleanValue createBooleanValue() + public PredicateDefinition createPredicateDefinition() { - BooleanValueImpl booleanValue = new BooleanValueImpl(); - return booleanValue; + PredicateDefinitionImpl predicateDefinition = new PredicateDefinitionImpl(); + return predicateDefinition; } /** @@ -215,10 +213,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public TruthValue createTruthValue() + public UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition() { - TruthValueImpl truthValue = new TruthValueImpl(); - return truthValue; + UnnamedErrorPrediateDefinitionImpl unnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionImpl(); + return unnamedErrorPrediateDefinition; } /** @@ -227,10 +225,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public Interpretation createInterpretation() + public DefaultDefinition createDefaultDefinition() { - InterpretationImpl interpretation = new InterpretationImpl(); - return interpretation; + DefaultDefinitionImpl defaultDefinition = new DefaultDefinitionImpl(); + return defaultDefinition; } /** @@ -239,10 +237,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public BasicInterpretation createBasicInterpretation() + public ExternPredicateDefinition createExternPredicateDefinition() { - BasicInterpretationImpl basicInterpretation = new BasicInterpretationImpl(); - return basicInterpretation; + ExternPredicateDefinitionImpl externPredicateDefinition = new ExternPredicateDefinitionImpl(); + return externPredicateDefinition; } /** @@ -251,10 +249,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public Symbol createSymbol() + public MetricDefinition createMetricDefinition() { - SymbolImpl symbol = new SymbolImpl(); - return symbol; + MetricDefinitionImpl metricDefinition = new MetricDefinitionImpl(); + return metricDefinition; } /** @@ -263,10 +261,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public ModelSymbol createModelSymbol() + public ExternMetricDefinition createExternMetricDefinition() { - ModelSymbolImpl modelSymbol = new ModelSymbolImpl(); - return modelSymbol; + ExternMetricDefinitionImpl externMetricDefinition = new ExternMetricDefinitionImpl(); + return externMetricDefinition; } /** @@ -275,10 +273,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public PartialitySymbol createPartialitySymbol() + public Expression createExpression() { - PartialitySymbolImpl partialitySymbol = new PartialitySymbolImpl(); - return partialitySymbol; + ExpressionImpl expression = new ExpressionImpl(); + return expression; } /** @@ -287,10 +285,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public ExistSymbol createExistSymbol() + public IfElse createIfElse() { - ExistSymbolImpl existSymbol = new ExistSymbolImpl(); - return existSymbol; + IfElseImpl ifElse = new IfElseImpl(); + return ifElse; } /** @@ -299,10 +297,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public EqualsSymbol createEqualsSymbol() + public Case createCase() { - EqualsSymbolImpl equalsSymbol = new EqualsSymbolImpl(); - return equalsSymbol; + CaseImpl case_ = new CaseImpl(); + return case_; } /** @@ -311,10 +309,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public DataSymbol createDataSymbol() + public Count createCount() { - DataSymbolImpl dataSymbol = new DataSymbolImpl(); - return dataSymbol; + CountImpl count = new CountImpl(); + return count; } /** @@ -323,10 +321,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public BooleanSymbol createBooleanSymbol() + public Aggregation createAggregation() { - BooleanSymbolImpl booleanSymbol = new BooleanSymbolImpl(); - return booleanSymbol; + AggregationImpl aggregation = new AggregationImpl(); + return aggregation; } /** @@ -335,10 +333,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public IntegerSymbol createIntegerSymbol() + public Call createCall() { - IntegerSymbolImpl integerSymbol = new IntegerSymbolImpl(); - return integerSymbol; + CallImpl call = new CallImpl(); + return call; } /** @@ -347,10 +345,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public RealSymbol createRealSymbol() + public ArgumentList createArgumentList() { - RealSymbolImpl realSymbol = new RealSymbolImpl(); - return realSymbol; + ArgumentListImpl argumentList = new ArgumentListImpl(); + return argumentList; } /** @@ -359,10 +357,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public StringSymbol createStringSymbol() + public Argument createArgument() { - StringSymbolImpl stringSymbol = new StringSymbolImpl(); - return stringSymbol; + ArgumentImpl argument = new ArgumentImpl(); + return argument; } /** @@ -371,10 +369,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public ComplexObject createComplexObject() + public ExpressionArgument createExpressionArgument() { - ComplexObjectImpl complexObject = new ComplexObjectImpl(); - return complexObject; + ExpressionArgumentImpl expressionArgument = new ExpressionArgumentImpl(); + return expressionArgument; } /** @@ -383,10 +381,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public org.eclipse.viatra.solver.language.solverLanguage.Object createObject() + public StarArgument createStarArgument() { - ObjectImpl object = new ObjectImpl(); - return object; + StarArgumentImpl starArgument = new StarArgumentImpl(); + return starArgument; } /** @@ -395,10 +393,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public NamedObject createNamedObject() + public TypedArgument createTypedArgument() { - NamedObjectImpl namedObject = new NamedObjectImpl(); - return namedObject; + TypedArgumentImpl typedArgument = new TypedArgumentImpl(); + return typedArgument; } /** @@ -407,10 +405,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public UnnamedObject createUnnamedObject() + public TypedStarArgument createTypedStarArgument() { - UnnamedObjectImpl unnamedObject = new UnnamedObjectImpl(); - return unnamedObject; + TypedStarArgumentImpl typedStarArgument = new TypedStarArgumentImpl(); + return typedStarArgument; } /** @@ -419,10 +417,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public DataObject createDataObject() + public Reference createReference() { - DataObjectImpl dataObject = new DataObjectImpl(); - return dataObject; + ReferenceImpl reference = new ReferenceImpl(); + return reference; } /** @@ -431,10 +429,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public BooleanObject createBooleanObject() + public Interval createInterval() { - BooleanObjectImpl booleanObject = new BooleanObjectImpl(); - return booleanObject; + IntervalImpl interval = new IntervalImpl(); + return interval; } /** @@ -443,10 +441,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public IntObject createIntObject() + public Literal createLiteral() { - IntObjectImpl intObject = new IntObjectImpl(); - return intObject; + LiteralImpl literal = new LiteralImpl(); + return literal; } /** @@ -455,10 +453,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public RealObject createRealObject() + public LogicLiteral createLogicLiteral() { - RealObjectImpl realObject = new RealObjectImpl(); - return realObject; + LogicLiteralImpl logicLiteral = new LogicLiteralImpl(); + return logicLiteral; } /** @@ -467,10 +465,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public StringObject createStringObject() + public NumericLiteral createNumericLiteral() { - StringObjectImpl stringObject = new StringObjectImpl(); - return stringObject; + NumericLiteralImpl numericLiteral = new NumericLiteralImpl(); + return numericLiteral; } /** @@ -479,10 +477,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public Predicate createPredicate() + public InfinityLiteral createInfinityLiteral() { - PredicateImpl predicate = new PredicateImpl(); - return predicate; + InfinityLiteralImpl infinityLiteral = new InfinityLiteralImpl(); + return infinityLiteral; } /** @@ -491,10 +489,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public Parameter createParameter() + public EmptyIntervalLiteral createEmptyIntervalLiteral() { - ParameterImpl parameter = new ParameterImpl(); - return parameter; + EmptyIntervalLiteralImpl emptyIntervalLiteral = new EmptyIntervalLiteralImpl(); + return emptyIntervalLiteral; } /** @@ -503,10 +501,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public PatternBody createPatternBody() + public StringLiteral createStringLiteral() { - PatternBodyImpl patternBody = new PatternBodyImpl(); - return patternBody; + StringLiteralImpl stringLiteral = new StringLiteralImpl(); + return stringLiteral; } /** @@ -515,10 +513,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public Polarity createPolarity() + public MemberDefinition createMemberDefinition() { - PolarityImpl polarity = new PolarityImpl(); - return polarity; + MemberDefinitionImpl memberDefinition = new MemberDefinitionImpl(); + return memberDefinition; } /** @@ -527,10 +525,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public Constraint createConstraint() + public Multiplicity createMultiplicity() { - ConstraintImpl constraint = new ConstraintImpl(); - return constraint; + MultiplicityImpl multiplicity = new MultiplicityImpl(); + return multiplicity; } /** @@ -539,10 +537,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public ClosureType createClosureType() + public ManyMultiplicity createManyMultiplicity() { - ClosureTypeImpl closureType = new ClosureTypeImpl(); - return closureType; + ManyMultiplicityImpl manyMultiplicity = new ManyMultiplicityImpl(); + return manyMultiplicity; } /** @@ -551,10 +549,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public Literal createLiteral() + public ExactMultiplicity createExactMultiplicity() { - LiteralImpl literal = new LiteralImpl(); - return literal; + ExactMultiplicityImpl exactMultiplicity = new ExactMultiplicityImpl(); + return exactMultiplicity; } /** @@ -563,10 +561,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public Variable createVariable() + public BoundedMultiplicity createBoundedMultiplicity() { - VariableImpl variable = new VariableImpl(); - return variable; + BoundedMultiplicityImpl boundedMultiplicity = new BoundedMultiplicityImpl(); + return boundedMultiplicity; } /** @@ -575,10 +573,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public AllInstances createAllInstances() + public ScopeDefinition createScopeDefinition() { - AllInstancesImpl allInstances = new AllInstancesImpl(); - return allInstances; + ScopeDefinitionImpl scopeDefinition = new ScopeDefinitionImpl(); + return scopeDefinition; } /** @@ -587,10 +585,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public AllObjects createAllObjects() + public ExactScopeDefinition createExactScopeDefinition() { - AllObjectsImpl allObjects = new AllObjectsImpl(); - return allObjects; + ExactScopeDefinitionImpl exactScopeDefinition = new ExactScopeDefinitionImpl(); + return exactScopeDefinition; } /** @@ -599,10 +597,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public DefaultInterpretation createDefaultInterpretation() + public BoundedScopeDefinition createBoundedScopeDefinition() { - DefaultInterpretationImpl defaultInterpretation = new DefaultInterpretationImpl(); - return defaultInterpretation; + BoundedScopeDefinitionImpl boundedScopeDefinition = new BoundedScopeDefinitionImpl(); + return boundedScopeDefinition; } /** @@ -611,10 +609,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public CDInterpretation createCDInterpretation() + public LowerBoundedScopeDefinition createLowerBoundedScopeDefinition() { - CDInterpretationImpl cdInterpretation = new CDInterpretationImpl(); - return cdInterpretation; + LowerBoundedScopeDefinitionImpl lowerBoundedScopeDefinition = new LowerBoundedScopeDefinitionImpl(); + return lowerBoundedScopeDefinition; } /** @@ -623,10 +621,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public ClassInterpretation createClassInterpretation() + public ObjectiveDefinition createObjectiveDefinition() { - ClassInterpretationImpl classInterpretation = new ClassInterpretationImpl(); - return classInterpretation; + ObjectiveDefinitionImpl objectiveDefinition = new ObjectiveDefinitionImpl(); + return objectiveDefinition; } /** @@ -635,10 +633,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public EnumInterpretation createEnumInterpretation() + public NamedElement createNamedElement() { - EnumInterpretationImpl enumInterpretation = new EnumInterpretationImpl(); - return enumInterpretation; + NamedElementImpl namedElement = new NamedElementImpl(); + return namedElement; } /** @@ -647,10 +645,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public FieldRelationInterpretation createFieldRelationInterpretation() + public Assertion createAssertion() { - FieldRelationInterpretationImpl fieldRelationInterpretation = new FieldRelationInterpretationImpl(); - return fieldRelationInterpretation; + AssertionImpl assertion = new AssertionImpl(); + return assertion; } /** @@ -659,10 +657,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public GlobalRelationInterpretation createGlobalRelationInterpretation() + public Disjunction createDisjunction() { - GlobalRelationInterpretationImpl globalRelationInterpretation = new GlobalRelationInterpretationImpl(); - return globalRelationInterpretation; + DisjunctionImpl disjunction = new DisjunctionImpl(); + return disjunction; } /** @@ -671,10 +669,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public MultiplicityDefinition createMultiplicityDefinition() + public Switch createSwitch() { - MultiplicityDefinitionImpl multiplicityDefinition = new MultiplicityDefinitionImpl(); - return multiplicityDefinition; + SwitchImpl switch_ = new SwitchImpl(); + return switch_; } /** @@ -683,10 +681,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public BooleanTrue createBooleanTrue() + public Conjunction createConjunction() { - BooleanTrueImpl booleanTrue = new BooleanTrueImpl(); - return booleanTrue; + ConjunctionImpl conjunction = new ConjunctionImpl(); + return conjunction; } /** @@ -695,10 +693,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public BooleanFalse createBooleanFalse() + public Comparison createComparison() { - BooleanFalseImpl booleanFalse = new BooleanFalseImpl(); - return booleanFalse; + ComparisonImpl comparison = new ComparisonImpl(); + return comparison; } /** @@ -707,10 +705,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public True createTrue() + public BinaryExpression createBinaryExpression() { - TrueImpl true_ = new TrueImpl(); - return true_; + BinaryExpressionImpl binaryExpression = new BinaryExpressionImpl(); + return binaryExpression; } /** @@ -719,10 +717,10 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * @generated */ @Override - public False createFalse() + public UnaryExpression createUnaryExpression() { - FalseImpl false_ = new FalseImpl(); - return false_; + UnaryExpressionImpl unaryExpression = new UnaryExpressionImpl(); + return unaryExpression; } /** @@ -730,11 +728,11 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * * @generated */ - @Override - public Unknown createUnknown() + public MetricType createMetricTypeFromString(EDataType eDataType, String initialValue) { - UnknownImpl unknown = new UnknownImpl(); - return unknown; + MetricType result = MetricType.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; } /** @@ -742,11 +740,9 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * * @generated */ - @Override - public org.eclipse.viatra.solver.language.solverLanguage.Error createError() + public String convertMetricTypeToString(EDataType eDataType, Object instanceValue) { - ErrorImpl error = new ErrorImpl(); - return error; + return instanceValue == null ? null : instanceValue.toString(); } /** @@ -754,11 +750,11 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * * @generated */ - @Override - public Positive createPositive() + public BinaryOperator createBinaryOperatorFromString(EDataType eDataType, String initialValue) { - PositiveImpl positive = new PositiveImpl(); - return positive; + BinaryOperator result = BinaryOperator.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; } /** @@ -766,11 +762,9 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * * @generated */ - @Override - public Negative createNegative() + public String convertBinaryOperatorToString(EDataType eDataType, Object instanceValue) { - NegativeImpl negative = new NegativeImpl(); - return negative; + return instanceValue == null ? null : instanceValue.toString(); } /** @@ -778,11 +772,11 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * * @generated */ - @Override - public ReflexiveClosure createReflexiveClosure() + public UnaryOp createUnaryOpFromString(EDataType eDataType, String initialValue) { - ReflexiveClosureImpl reflexiveClosure = new ReflexiveClosureImpl(); - return reflexiveClosure; + UnaryOp result = UnaryOp.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; } /** @@ -790,11 +784,75 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan * * @generated */ - @Override - public IrreflexiveClosure createIrreflexiveClosure() + public String convertUnaryOpToString(EDataType eDataType, Object instanceValue) + { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * + * + * @generated + */ + public AggregationOp createAggregationOpFromString(EDataType eDataType, String initialValue) + { + AggregationOp result = AggregationOp.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * + * + * @generated + */ + public String convertAggregationOpToString(EDataType eDataType, Object instanceValue) + { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * + * + * @generated + */ + public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue) + { + LogicValue result = LogicValue.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * + * + * @generated + */ + public String convertLogicValueToString(EDataType eDataType, Object instanceValue) + { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * + * + * @generated + */ + public ObjectiveKind createObjectiveKindFromString(EDataType eDataType, String initialValue) + { + ObjectiveKind result = ObjectiveKind.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * + * + * @generated + */ + public String convertObjectiveKindToString(EDataType eDataType, Object instanceValue) { - IrreflexiveClosureImpl irreflexiveClosure = new IrreflexiveClosureImpl(); - return irreflexiveClosure; + return instanceValue == null ? null : instanceValue.toString(); } /** 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 @@ /** - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.solverLanguage.impl; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EEnum; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.impl.EPackageImpl; -import org.eclipse.viatra.solver.language.solverLanguage.AllInstances; -import org.eclipse.viatra.solver.language.solverLanguage.AllObjects; -import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue; -import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.ClosureType; -import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject; -import org.eclipse.viatra.solver.language.solverLanguage.Constraint; -import org.eclipse.viatra.solver.language.solverLanguage.DataObject; -import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.False; -import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.IntObject; -import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.Interpretation; -import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure; +import org.eclipse.viatra.solver.language.solverLanguage.Aggregation; +import org.eclipse.viatra.solver.language.solverLanguage.AggregationOp; +import org.eclipse.viatra.solver.language.solverLanguage.Argument; +import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList; +import org.eclipse.viatra.solver.language.solverLanguage.Assertion; +import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression; +import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator; +import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Call; +import org.eclipse.viatra.solver.language.solverLanguage.Case; +import org.eclipse.viatra.solver.language.solverLanguage.Comparison; +import org.eclipse.viatra.solver.language.solverLanguage.Conjunction; +import org.eclipse.viatra.solver.language.solverLanguage.Count; +import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Disjunction; +import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument; +import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.IfElse; +import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.Interval; import org.eclipse.viatra.solver.language.solverLanguage.Literal; -import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition; -import org.eclipse.viatra.solver.language.solverLanguage.NamedObject; -import org.eclipse.viatra.solver.language.solverLanguage.Negative; -import org.eclipse.viatra.solver.language.solverLanguage.Parameter; -import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol; -import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; -import org.eclipse.viatra.solver.language.solverLanguage.Polarity; -import org.eclipse.viatra.solver.language.solverLanguage.Positive; -import org.eclipse.viatra.solver.language.solverLanguage.Predicate; +import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.LogicValue; +import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.MetricType; +import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind; +import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition; import org.eclipse.viatra.solver.language.solverLanguage.Problem; -import org.eclipse.viatra.solver.language.solverLanguage.RealObject; -import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure; +import org.eclipse.viatra.solver.language.solverLanguage.Reference; +import org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition; import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory; import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.StarArgument; import org.eclipse.viatra.solver.language.solverLanguage.Statement; -import org.eclipse.viatra.solver.language.solverLanguage.StringObject; -import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.Symbol; -import org.eclipse.viatra.solver.language.solverLanguage.True; -import org.eclipse.viatra.solver.language.solverLanguage.TruthValue; -import org.eclipse.viatra.solver.language.solverLanguage.Unknown; -import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject; -import org.eclipse.viatra.solver.language.solverLanguage.Variable; +import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.Switch; +import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument; +import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument; +import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression; +import org.eclipse.viatra.solver.language.solverLanguage.UnaryOp; +import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition; /** * @@ -90,350 +93,350 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * * @generated */ - private EClass booleanValueEClass = null; + private EClass predicateDefinitionEClass = null; /** * * * @generated */ - private EClass truthValueEClass = null; + private EClass unnamedErrorPrediateDefinitionEClass = null; /** * * * @generated */ - private EClass interpretationEClass = null; + private EClass defaultDefinitionEClass = null; /** * * * @generated */ - private EClass basicInterpretationEClass = null; + private EClass externPredicateDefinitionEClass = null; /** * * * @generated */ - private EClass symbolEClass = null; + private EClass metricDefinitionEClass = null; /** * * * @generated */ - private EClass modelSymbolEClass = null; + private EClass externMetricDefinitionEClass = null; /** * * * @generated */ - private EClass partialitySymbolEClass = null; + private EClass expressionEClass = null; /** * * * @generated */ - private EClass existSymbolEClass = null; + private EClass ifElseEClass = null; /** * * * @generated */ - private EClass equalsSymbolEClass = null; + private EClass caseEClass = null; /** * * * @generated */ - private EClass dataSymbolEClass = null; + private EClass countEClass = null; /** * * * @generated */ - private EClass booleanSymbolEClass = null; + private EClass aggregationEClass = null; /** * * * @generated */ - private EClass integerSymbolEClass = null; + private EClass callEClass = null; /** * * * @generated */ - private EClass realSymbolEClass = null; + private EClass argumentListEClass = null; /** * * * @generated */ - private EClass stringSymbolEClass = null; + private EClass argumentEClass = null; /** * * * @generated */ - private EClass complexObjectEClass = null; + private EClass expressionArgumentEClass = null; /** * * * @generated */ - private EClass objectEClass = null; + private EClass starArgumentEClass = null; /** * * * @generated */ - private EClass namedObjectEClass = null; + private EClass typedArgumentEClass = null; /** * * * @generated */ - private EClass unnamedObjectEClass = null; + private EClass typedStarArgumentEClass = null; /** * * * @generated */ - private EClass dataObjectEClass = null; + private EClass referenceEClass = null; /** * * * @generated */ - private EClass booleanObjectEClass = null; + private EClass intervalEClass = null; /** * * * @generated */ - private EClass intObjectEClass = null; + private EClass literalEClass = null; /** * * * @generated */ - private EClass realObjectEClass = null; + private EClass logicLiteralEClass = null; /** * * * @generated */ - private EClass stringObjectEClass = null; + private EClass numericLiteralEClass = null; /** * * * @generated */ - private EClass predicateEClass = null; + private EClass infinityLiteralEClass = null; /** * * * @generated */ - private EClass parameterEClass = null; + private EClass emptyIntervalLiteralEClass = null; /** * * * @generated */ - private EClass patternBodyEClass = null; + private EClass stringLiteralEClass = null; /** * * * @generated */ - private EClass polarityEClass = null; + private EClass memberDefinitionEClass = null; /** * * * @generated */ - private EClass constraintEClass = null; + private EClass multiplicityEClass = null; /** * * * @generated */ - private EClass closureTypeEClass = null; + private EClass manyMultiplicityEClass = null; /** * * * @generated */ - private EClass literalEClass = null; + private EClass exactMultiplicityEClass = null; /** * * * @generated */ - private EClass variableEClass = null; + private EClass boundedMultiplicityEClass = null; /** * * * @generated */ - private EClass allInstancesEClass = null; + private EClass scopeDefinitionEClass = null; /** * * * @generated */ - private EClass allObjectsEClass = null; + private EClass exactScopeDefinitionEClass = null; /** * * * @generated */ - private EClass defaultInterpretationEClass = null; + private EClass boundedScopeDefinitionEClass = null; /** * * * @generated */ - private EClass cdInterpretationEClass = null; + private EClass lowerBoundedScopeDefinitionEClass = null; /** * * * @generated */ - private EClass classInterpretationEClass = null; + private EClass objectiveDefinitionEClass = null; /** * * * @generated */ - private EClass enumInterpretationEClass = null; + private EClass namedElementEClass = null; /** * * * @generated */ - private EClass fieldRelationInterpretationEClass = null; + private EClass assertionEClass = null; /** * * * @generated */ - private EClass globalRelationInterpretationEClass = null; + private EClass disjunctionEClass = null; /** * * * @generated */ - private EClass multiplicityDefinitionEClass = null; + private EClass switchEClass = null; /** * * * @generated */ - private EClass booleanTrueEClass = null; + private EClass conjunctionEClass = null; /** * * * @generated */ - private EClass booleanFalseEClass = null; + private EClass comparisonEClass = null; /** * * * @generated */ - private EClass trueEClass = null; + private EClass binaryExpressionEClass = null; /** * * * @generated */ - private EClass falseEClass = null; + private EClass unaryExpressionEClass = null; /** * * * @generated */ - private EClass unknownEClass = null; + private EEnum metricTypeEEnum = null; /** * * * @generated */ - private EClass errorEClass = null; + private EEnum binaryOperatorEEnum = null; /** * * * @generated */ - private EClass positiveEClass = null; + private EEnum unaryOpEEnum = null; /** * * * @generated */ - private EClass negativeEClass = null; + private EEnum aggregationOpEEnum = null; /** * * * @generated */ - private EClass reflexiveClosureEClass = null; + private EEnum logicValueEEnum = null; /** * * * @generated */ - private EClass irreflexiveClosureEClass = null; + private EEnum objectiveKindEEnum = null; /** * Creates an instance of the model Package, registered with @@ -537,9 +540,108 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getBooleanValue() + public EAttribute getStatement_Abstract() + { + return (EAttribute)statementEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getStatement_Name() + { + return (EAttribute)statementEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getStatement_Superclasses() + { + return (EReference)statementEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EReference getStatement_Members() + { + return (EReference)statementEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + @Override + public EClass getPredicateDefinition() + { + return predicateDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getPredicateDefinition_Head() + { + return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getPredicateDefinition_Body() + { + return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getPredicateDefinition_Functional() + { + return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getPredicateDefinition_Error() + { + return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + @Override + public EClass getUnnamedErrorPrediateDefinition() { - return booleanValueEClass; + return unnamedErrorPrediateDefinitionEClass; } /** @@ -548,9 +650,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getTruthValue() + public EReference getUnnamedErrorPrediateDefinition_ArgumentList() { - return truthValueEClass; + return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(0); } /** @@ -559,9 +661,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getInterpretation() + public EReference getUnnamedErrorPrediateDefinition_Body() { - return interpretationEClass; + return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(1); } /** @@ -570,9 +672,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getBasicInterpretation() + public EClass getDefaultDefinition() { - return basicInterpretationEClass; + return defaultDefinitionEClass; } /** @@ -581,9 +683,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getBasicInterpretation_Symbol() + public EReference getDefaultDefinition_Head() { - return (EReference)basicInterpretationEClass.getEStructuralFeatures().get(0); + return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(0); } /** @@ -592,9 +694,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getBasicInterpretation_Objects() + public EReference getDefaultDefinition_Range() { - return (EReference)basicInterpretationEClass.getEStructuralFeatures().get(1); + return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(1); } /** @@ -603,9 +705,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getBasicInterpretation_Value() + public EClass getExternPredicateDefinition() { - return (EReference)basicInterpretationEClass.getEStructuralFeatures().get(2); + return externPredicateDefinitionEClass; } /** @@ -614,9 +716,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getSymbol() + public EReference getExternPredicateDefinition_Head() { - return symbolEClass; + return (EReference)externPredicateDefinitionEClass.getEStructuralFeatures().get(0); } /** @@ -625,9 +727,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getModelSymbol() + public EClass getMetricDefinition() { - return modelSymbolEClass; + return metricDefinitionEClass; } /** @@ -636,9 +738,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EAttribute getModelSymbol_Name() + public EReference getMetricDefinition_Head() { - return (EAttribute)modelSymbolEClass.getEStructuralFeatures().get(0); + return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(0); } /** @@ -647,9 +749,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getPartialitySymbol() + public EReference getMetricDefinition_Body() { - return partialitySymbolEClass; + return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(1); } /** @@ -658,9 +760,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getExistSymbol() + public EAttribute getMetricDefinition_Type() { - return existSymbolEClass; + return (EAttribute)metricDefinitionEClass.getEStructuralFeatures().get(2); } /** @@ -669,9 +771,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getEqualsSymbol() + public EClass getExternMetricDefinition() { - return equalsSymbolEClass; + return externMetricDefinitionEClass; } /** @@ -680,9 +782,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getDataSymbol() + public EAttribute getExternMetricDefinition_Type() { - return dataSymbolEClass; + return (EAttribute)externMetricDefinitionEClass.getEStructuralFeatures().get(0); } /** @@ -691,9 +793,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getBooleanSymbol() + public EReference getExternMetricDefinition_Head() { - return booleanSymbolEClass; + return (EReference)externMetricDefinitionEClass.getEStructuralFeatures().get(1); } /** @@ -702,9 +804,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getIntegerSymbol() + public EClass getExpression() { - return integerSymbolEClass; + return expressionEClass; } /** @@ -713,9 +815,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getRealSymbol() + public EClass getIfElse() { - return realSymbolEClass; + return ifElseEClass; } /** @@ -724,9 +826,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getStringSymbol() + public EReference getIfElse_Condition() { - return stringSymbolEClass; + return (EReference)ifElseEClass.getEStructuralFeatures().get(0); } /** @@ -735,9 +837,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getComplexObject() + public EReference getIfElse_Then() { - return complexObjectEClass; + return (EReference)ifElseEClass.getEStructuralFeatures().get(1); } /** @@ -746,9 +848,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getObject() + public EReference getIfElse_Else() { - return objectEClass; + return (EReference)ifElseEClass.getEStructuralFeatures().get(2); } /** @@ -757,9 +859,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getNamedObject() + public EClass getCase() { - return namedObjectEClass; + return caseEClass; } /** @@ -768,9 +870,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EAttribute getNamedObject_Name() + public EReference getCase_Condition() { - return (EAttribute)namedObjectEClass.getEStructuralFeatures().get(0); + return (EReference)caseEClass.getEStructuralFeatures().get(0); } /** @@ -779,9 +881,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getUnnamedObject() + public EReference getCase_Body() { - return unnamedObjectEClass; + return (EReference)caseEClass.getEStructuralFeatures().get(1); } /** @@ -790,9 +892,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EAttribute getUnnamedObject_Name() + public EClass getCount() { - return (EAttribute)unnamedObjectEClass.getEStructuralFeatures().get(0); + return countEClass; } /** @@ -801,9 +903,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getDataObject() + public EReference getCount_Body() { - return dataObjectEClass; + return (EReference)countEClass.getEStructuralFeatures().get(0); } /** @@ -812,9 +914,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getBooleanObject() + public EClass getAggregation() { - return booleanObjectEClass; + return aggregationEClass; } /** @@ -823,9 +925,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getBooleanObject_Value() + public EAttribute getAggregation_Op() { - return (EReference)booleanObjectEClass.getEStructuralFeatures().get(0); + return (EAttribute)aggregationEClass.getEStructuralFeatures().get(0); } /** @@ -834,9 +936,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getIntObject() + public EReference getAggregation_Body() { - return intObjectEClass; + return (EReference)aggregationEClass.getEStructuralFeatures().get(1); } /** @@ -845,9 +947,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EAttribute getIntObject_Value() + public EReference getAggregation_Condition() { - return (EAttribute)intObjectEClass.getEStructuralFeatures().get(0); + return (EReference)aggregationEClass.getEStructuralFeatures().get(2); } /** @@ -856,9 +958,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getRealObject() + public EClass getCall() { - return realObjectEClass; + return callEClass; } /** @@ -867,9 +969,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EAttribute getRealObject_Value() + public EReference getCall_Functor() { - return (EAttribute)realObjectEClass.getEStructuralFeatures().get(0); + return (EReference)callEClass.getEStructuralFeatures().get(0); } /** @@ -878,9 +980,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getStringObject() + public EReference getCall_ArgumentList() { - return stringObjectEClass; + return (EReference)callEClass.getEStructuralFeatures().get(1); } /** @@ -889,9 +991,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EAttribute getStringObject_Value() + public EAttribute getCall_TransitiveClosure() { - return (EAttribute)stringObjectEClass.getEStructuralFeatures().get(0); + return (EAttribute)callEClass.getEStructuralFeatures().get(2); } /** @@ -900,9 +1002,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getPredicate() + public EAttribute getCall_ReflexiveTransitiveClosure() { - return predicateEClass; + return (EAttribute)callEClass.getEStructuralFeatures().get(3); } /** @@ -911,9 +1013,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EAttribute getPredicate_IsError() + public EClass getArgumentList() { - return (EAttribute)predicateEClass.getEStructuralFeatures().get(0); + return argumentListEClass; } /** @@ -922,9 +1024,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getPredicate_Symbol() + public EReference getArgumentList_Arguments() { - return (EReference)predicateEClass.getEStructuralFeatures().get(1); + return (EReference)argumentListEClass.getEStructuralFeatures().get(0); } /** @@ -933,9 +1035,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getPredicate_Parameters() + public EClass getArgument() { - return (EReference)predicateEClass.getEStructuralFeatures().get(2); + return argumentEClass; } /** @@ -944,9 +1046,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getPredicate_Bodies() + public EClass getExpressionArgument() { - return (EReference)predicateEClass.getEStructuralFeatures().get(3); + return expressionArgumentEClass; } /** @@ -955,9 +1057,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getParameter() + public EReference getExpressionArgument_Body() { - return parameterEClass; + return (EReference)expressionArgumentEClass.getEStructuralFeatures().get(0); } /** @@ -966,9 +1068,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getParameter_Variable() + public EClass getStarArgument() { - return (EReference)parameterEClass.getEStructuralFeatures().get(0); + return starArgumentEClass; } /** @@ -977,9 +1079,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getParameter_Type() + public EClass getTypedArgument() { - return (EReference)parameterEClass.getEStructuralFeatures().get(1); + return typedArgumentEClass; } /** @@ -988,9 +1090,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getPatternBody() + public EReference getTypedArgument_Type() { - return patternBodyEClass; + return (EReference)typedArgumentEClass.getEStructuralFeatures().get(0); } /** @@ -999,9 +1101,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getPatternBody_Constraints() + public EReference getTypedArgument_Variable() { - return (EReference)patternBodyEClass.getEStructuralFeatures().get(0); + return (EReference)typedArgumentEClass.getEStructuralFeatures().get(1); } /** @@ -1010,9 +1112,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getPolarity() + public EClass getTypedStarArgument() { - return polarityEClass; + return typedStarArgumentEClass; } /** @@ -1021,9 +1123,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getConstraint() + public EReference getTypedStarArgument_Type() { - return constraintEClass; + return (EReference)typedStarArgumentEClass.getEStructuralFeatures().get(0); } /** @@ -1032,9 +1134,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getConstraint_Polarity() + public EClass getReference() { - return (EReference)constraintEClass.getEStructuralFeatures().get(0); + return referenceEClass; } /** @@ -1043,9 +1145,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getConstraint_Symbol() + public EReference getReference_Referred() { - return (EReference)constraintEClass.getEStructuralFeatures().get(1); + return (EReference)referenceEClass.getEStructuralFeatures().get(0); } /** @@ -1054,9 +1156,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getConstraint_Params() + public EClass getInterval() { - return (EReference)constraintEClass.getEStructuralFeatures().get(2); + return intervalEClass; } /** @@ -1065,9 +1167,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getConstraint_ClosureType() + public EReference getInterval_LowerBound() { - return (EReference)constraintEClass.getEStructuralFeatures().get(3); + return (EReference)intervalEClass.getEStructuralFeatures().get(0); } /** @@ -1076,9 +1178,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getClosureType() + public EReference getInterval_UpperBound() { - return closureTypeEClass; + return (EReference)intervalEClass.getEStructuralFeatures().get(1); } /** @@ -1098,9 +1200,207 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getVariable() + public EClass getLogicLiteral() + { + return logicLiteralEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getLogicLiteral_Value() + { + return (EAttribute)logicLiteralEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getNumericLiteral() + { + return numericLiteralEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getNumericLiteral_Value() + { + return (EAttribute)numericLiteralEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getInfinityLiteral() + { + return infinityLiteralEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getEmptyIntervalLiteral() + { + return emptyIntervalLiteralEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getStringLiteral() + { + return stringLiteralEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getStringLiteral_Value() + { + return (EAttribute)stringLiteralEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getMemberDefinition() + { + return memberDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getMemberDefinition_Containment() + { + return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getMemberDefinition_Type() + { + return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getMemberDefinition_Multiplicity() + { + return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getMemberDefinition_Name() + { + return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + @Override + public EReference getMemberDefinition_Opposite() + { + return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(4); + } + + /** + * + * + * @generated + */ + @Override + public EClass getMultiplicity() + { + return multiplicityEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getManyMultiplicity() + { + return manyMultiplicityEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getExactMultiplicity() + { + return exactMultiplicityEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getExactMultiplicity_Multiplicity() + { + return (EAttribute)exactMultiplicityEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getBoundedMultiplicity() { - return variableEClass; + return boundedMultiplicityEClass; } /** @@ -1109,9 +1409,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EAttribute getVariable_Name() + public EAttribute getBoundedMultiplicity_LowerBound() { - return (EAttribute)variableEClass.getEStructuralFeatures().get(0); + return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(0); } /** @@ -1120,9 +1420,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getAllInstances() + public EAttribute getBoundedMultiplicity_UpperBound() { - return allInstancesEClass; + return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(1); } /** @@ -1131,9 +1431,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getAllInstances_Symbol() + public EClass getScopeDefinition() { - return (EReference)allInstancesEClass.getEStructuralFeatures().get(0); + return scopeDefinitionEClass; } /** @@ -1142,9 +1442,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getAllObjects() + public EReference getScopeDefinition_Type() { - return allObjectsEClass; + return (EReference)scopeDefinitionEClass.getEStructuralFeatures().get(0); } /** @@ -1153,9 +1453,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getDefaultInterpretation() + public EClass getExactScopeDefinition() { - return defaultInterpretationEClass; + return exactScopeDefinitionEClass; } /** @@ -1164,9 +1464,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getDefaultInterpretation_Interpretation() + public EAttribute getExactScopeDefinition_ExactScope() { - return (EReference)defaultInterpretationEClass.getEStructuralFeatures().get(0); + return (EAttribute)exactScopeDefinitionEClass.getEStructuralFeatures().get(0); } /** @@ -1175,9 +1475,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getCDInterpretation() + public EClass getBoundedScopeDefinition() { - return cdInterpretationEClass; + return boundedScopeDefinitionEClass; } /** @@ -1186,9 +1486,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getClassInterpretation() + public EAttribute getBoundedScopeDefinition_LowerBound() { - return classInterpretationEClass; + return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(0); } /** @@ -1197,9 +1497,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EAttribute getClassInterpretation_Abstract() + public EAttribute getBoundedScopeDefinition_UpperBound() { - return (EAttribute)classInterpretationEClass.getEStructuralFeatures().get(0); + return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(1); } /** @@ -1208,9 +1508,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getClassInterpretation_Symbol() + public EClass getLowerBoundedScopeDefinition() { - return (EReference)classInterpretationEClass.getEStructuralFeatures().get(1); + return lowerBoundedScopeDefinitionEClass; } /** @@ -1219,9 +1519,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getClassInterpretation_Supertypes() + public EAttribute getLowerBoundedScopeDefinition_LowerBound() { - return (EReference)classInterpretationEClass.getEStructuralFeatures().get(2); + return (EAttribute)lowerBoundedScopeDefinitionEClass.getEStructuralFeatures().get(0); } /** @@ -1230,9 +1530,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getClassInterpretation_Fielt() + public EClass getObjectiveDefinition() { - return (EReference)classInterpretationEClass.getEStructuralFeatures().get(3); + return objectiveDefinitionEClass; } /** @@ -1241,9 +1541,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getEnumInterpretation() + public EAttribute getObjectiveDefinition_Kind() { - return enumInterpretationEClass; + return (EAttribute)objectiveDefinitionEClass.getEStructuralFeatures().get(0); } /** @@ -1252,9 +1552,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getEnumInterpretation_Symbol() + public EReference getObjectiveDefinition_Objective() { - return (EReference)enumInterpretationEClass.getEStructuralFeatures().get(0); + return (EReference)objectiveDefinitionEClass.getEStructuralFeatures().get(1); } /** @@ -1263,9 +1563,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getEnumInterpretation_Objects() + public EClass getNamedElement() { - return (EReference)enumInterpretationEClass.getEStructuralFeatures().get(1); + return namedElementEClass; } /** @@ -1274,9 +1574,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getFieldRelationInterpretation() + public EAttribute getNamedElement_Name() { - return fieldRelationInterpretationEClass; + return (EAttribute)namedElementEClass.getEStructuralFeatures().get(0); } /** @@ -1285,9 +1585,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EAttribute getFieldRelationInterpretation_Containment() + public EClass getAssertion() { - return (EAttribute)fieldRelationInterpretationEClass.getEStructuralFeatures().get(0); + return assertionEClass; } /** @@ -1296,9 +1596,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getFieldRelationInterpretation_Symbol() + public EReference getAssertion_Body() { - return (EReference)fieldRelationInterpretationEClass.getEStructuralFeatures().get(1); + return (EReference)assertionEClass.getEStructuralFeatures().get(0); } /** @@ -1307,9 +1607,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getFieldRelationInterpretation_Multiplicity() + public EReference getAssertion_Range() { - return (EReference)fieldRelationInterpretationEClass.getEStructuralFeatures().get(2); + return (EReference)assertionEClass.getEStructuralFeatures().get(1); } /** @@ -1318,9 +1618,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getFieldRelationInterpretation_Target() + public EClass getDisjunction() { - return (EReference)fieldRelationInterpretationEClass.getEStructuralFeatures().get(3); + return disjunctionEClass; } /** @@ -1329,9 +1629,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getGlobalRelationInterpretation() + public EReference getDisjunction_Children() { - return globalRelationInterpretationEClass; + return (EReference)disjunctionEClass.getEStructuralFeatures().get(0); } /** @@ -1340,9 +1640,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EAttribute getGlobalRelationInterpretation_Containment() + public EClass getSwitch() { - return (EAttribute)globalRelationInterpretationEClass.getEStructuralFeatures().get(0); + return switchEClass; } /** @@ -1351,9 +1651,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getGlobalRelationInterpretation_Symbol() + public EReference getSwitch_Cases() { - return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(1); + return (EReference)switchEClass.getEStructuralFeatures().get(0); } /** @@ -1362,9 +1662,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getGlobalRelationInterpretation_SourceMultiplicity() + public EClass getConjunction() { - return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(2); + return conjunctionEClass; } /** @@ -1373,9 +1673,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getGlobalRelationInterpretation_Source() + public EReference getConjunction_Children() { - return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(3); + return (EReference)conjunctionEClass.getEStructuralFeatures().get(0); } /** @@ -1384,9 +1684,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getGlobalRelationInterpretation_TargetMultiplicity() + public EClass getComparison() { - return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(4); + return comparisonEClass; } /** @@ -1395,9 +1695,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getGlobalRelationInterpretation_Target() + public EReference getComparison_Left() { - return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(5); + return (EReference)comparisonEClass.getEStructuralFeatures().get(0); } /** @@ -1406,9 +1706,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getMultiplicityDefinition() + public EAttribute getComparison_Op() { - return multiplicityDefinitionEClass; + return (EAttribute)comparisonEClass.getEStructuralFeatures().get(1); } /** @@ -1417,9 +1717,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EAttribute getMultiplicityDefinition_Lower() + public EReference getComparison_Right() { - return (EAttribute)multiplicityDefinitionEClass.getEStructuralFeatures().get(0); + return (EReference)comparisonEClass.getEStructuralFeatures().get(2); } /** @@ -1428,9 +1728,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EAttribute getMultiplicityDefinition_Upper() + public EClass getBinaryExpression() { - return (EAttribute)multiplicityDefinitionEClass.getEStructuralFeatures().get(1); + return binaryExpressionEClass; } /** @@ -1439,9 +1739,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EAttribute getMultiplicityDefinition_UnlimitedUpper() + public EReference getBinaryExpression_Left() { - return (EAttribute)multiplicityDefinitionEClass.getEStructuralFeatures().get(2); + return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(0); } /** @@ -1450,9 +1750,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getBooleanTrue() + public EAttribute getBinaryExpression_Op() { - return booleanTrueEClass; + return (EAttribute)binaryExpressionEClass.getEStructuralFeatures().get(1); } /** @@ -1461,9 +1761,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getBooleanFalse() + public EReference getBinaryExpression_Right() { - return booleanFalseEClass; + return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(2); } /** @@ -1472,9 +1772,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getTrue() + public EClass getUnaryExpression() { - return trueEClass; + return unaryExpressionEClass; } /** @@ -1483,9 +1783,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getFalse() + public EAttribute getUnaryExpression_Op() { - return falseEClass; + return (EAttribute)unaryExpressionEClass.getEStructuralFeatures().get(0); } /** @@ -1494,9 +1794,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getUnknown() + public EReference getUnaryExpression_Body() { - return unknownEClass; + return (EReference)unaryExpressionEClass.getEStructuralFeatures().get(1); } /** @@ -1505,9 +1805,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getError() + public EEnum getMetricType() { - return errorEClass; + return metricTypeEEnum; } /** @@ -1516,9 +1816,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getPositive() + public EEnum getBinaryOperator() { - return positiveEClass; + return binaryOperatorEEnum; } /** @@ -1527,9 +1827,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getNegative() + public EEnum getUnaryOp() { - return negativeEClass; + return unaryOpEEnum; } /** @@ -1538,9 +1838,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getReflexiveClosure() + public EEnum getAggregationOp() { - return reflexiveClosureEClass; + return aggregationOpEEnum; } /** @@ -1549,9 +1849,20 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getIrreflexiveClosure() + public EEnum getLogicValue() { - return irreflexiveClosureEClass; + return logicValueEEnum; + } + + /** + * + * + * @generated + */ + @Override + public EEnum getObjectiveKind() + { + return objectiveKindEEnum; } /** @@ -1589,149 +1900,173 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan createEReference(problemEClass, PROBLEM__STATEMENTS); statementEClass = createEClass(STATEMENT); + createEAttribute(statementEClass, STATEMENT__ABSTRACT); + createEAttribute(statementEClass, STATEMENT__NAME); + createEReference(statementEClass, STATEMENT__SUPERCLASSES); + createEReference(statementEClass, STATEMENT__MEMBERS); - booleanValueEClass = createEClass(BOOLEAN_VALUE); - - truthValueEClass = createEClass(TRUTH_VALUE); - - interpretationEClass = createEClass(INTERPRETATION); - - basicInterpretationEClass = createEClass(BASIC_INTERPRETATION); - createEReference(basicInterpretationEClass, BASIC_INTERPRETATION__SYMBOL); - createEReference(basicInterpretationEClass, BASIC_INTERPRETATION__OBJECTS); - createEReference(basicInterpretationEClass, BASIC_INTERPRETATION__VALUE); - - symbolEClass = createEClass(SYMBOL); + predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION); + createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__HEAD); + createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__BODY); + createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__FUNCTIONAL); + createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__ERROR); - modelSymbolEClass = createEClass(MODEL_SYMBOL); - createEAttribute(modelSymbolEClass, MODEL_SYMBOL__NAME); + unnamedErrorPrediateDefinitionEClass = createEClass(UNNAMED_ERROR_PREDIATE_DEFINITION); + createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST); + createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__BODY); - partialitySymbolEClass = createEClass(PARTIALITY_SYMBOL); + defaultDefinitionEClass = createEClass(DEFAULT_DEFINITION); + createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__HEAD); + createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__RANGE); - existSymbolEClass = createEClass(EXIST_SYMBOL); + externPredicateDefinitionEClass = createEClass(EXTERN_PREDICATE_DEFINITION); + createEReference(externPredicateDefinitionEClass, EXTERN_PREDICATE_DEFINITION__HEAD); - equalsSymbolEClass = createEClass(EQUALS_SYMBOL); + metricDefinitionEClass = createEClass(METRIC_DEFINITION); + createEReference(metricDefinitionEClass, METRIC_DEFINITION__HEAD); + createEReference(metricDefinitionEClass, METRIC_DEFINITION__BODY); + createEAttribute(metricDefinitionEClass, METRIC_DEFINITION__TYPE); - dataSymbolEClass = createEClass(DATA_SYMBOL); + externMetricDefinitionEClass = createEClass(EXTERN_METRIC_DEFINITION); + createEAttribute(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__TYPE); + createEReference(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__HEAD); - booleanSymbolEClass = createEClass(BOOLEAN_SYMBOL); + expressionEClass = createEClass(EXPRESSION); - integerSymbolEClass = createEClass(INTEGER_SYMBOL); + ifElseEClass = createEClass(IF_ELSE); + createEReference(ifElseEClass, IF_ELSE__CONDITION); + createEReference(ifElseEClass, IF_ELSE__THEN); + createEReference(ifElseEClass, IF_ELSE__ELSE); - realSymbolEClass = createEClass(REAL_SYMBOL); + caseEClass = createEClass(CASE); + createEReference(caseEClass, CASE__CONDITION); + createEReference(caseEClass, CASE__BODY); - stringSymbolEClass = createEClass(STRING_SYMBOL); + countEClass = createEClass(COUNT); + createEReference(countEClass, COUNT__BODY); - complexObjectEClass = createEClass(COMPLEX_OBJECT); + aggregationEClass = createEClass(AGGREGATION); + createEAttribute(aggregationEClass, AGGREGATION__OP); + createEReference(aggregationEClass, AGGREGATION__BODY); + createEReference(aggregationEClass, AGGREGATION__CONDITION); - objectEClass = createEClass(OBJECT); + callEClass = createEClass(CALL); + createEReference(callEClass, CALL__FUNCTOR); + createEReference(callEClass, CALL__ARGUMENT_LIST); + createEAttribute(callEClass, CALL__TRANSITIVE_CLOSURE); + createEAttribute(callEClass, CALL__REFLEXIVE_TRANSITIVE_CLOSURE); - namedObjectEClass = createEClass(NAMED_OBJECT); - createEAttribute(namedObjectEClass, NAMED_OBJECT__NAME); + argumentListEClass = createEClass(ARGUMENT_LIST); + createEReference(argumentListEClass, ARGUMENT_LIST__ARGUMENTS); - unnamedObjectEClass = createEClass(UNNAMED_OBJECT); - createEAttribute(unnamedObjectEClass, UNNAMED_OBJECT__NAME); + argumentEClass = createEClass(ARGUMENT); - dataObjectEClass = createEClass(DATA_OBJECT); + expressionArgumentEClass = createEClass(EXPRESSION_ARGUMENT); + createEReference(expressionArgumentEClass, EXPRESSION_ARGUMENT__BODY); - booleanObjectEClass = createEClass(BOOLEAN_OBJECT); - createEReference(booleanObjectEClass, BOOLEAN_OBJECT__VALUE); + starArgumentEClass = createEClass(STAR_ARGUMENT); - intObjectEClass = createEClass(INT_OBJECT); - createEAttribute(intObjectEClass, INT_OBJECT__VALUE); + typedArgumentEClass = createEClass(TYPED_ARGUMENT); + createEReference(typedArgumentEClass, TYPED_ARGUMENT__TYPE); + createEReference(typedArgumentEClass, TYPED_ARGUMENT__VARIABLE); - realObjectEClass = createEClass(REAL_OBJECT); - createEAttribute(realObjectEClass, REAL_OBJECT__VALUE); + typedStarArgumentEClass = createEClass(TYPED_STAR_ARGUMENT); + createEReference(typedStarArgumentEClass, TYPED_STAR_ARGUMENT__TYPE); - stringObjectEClass = createEClass(STRING_OBJECT); - createEAttribute(stringObjectEClass, STRING_OBJECT__VALUE); + referenceEClass = createEClass(REFERENCE); + createEReference(referenceEClass, REFERENCE__REFERRED); - predicateEClass = createEClass(PREDICATE); - createEAttribute(predicateEClass, PREDICATE__IS_ERROR); - createEReference(predicateEClass, PREDICATE__SYMBOL); - createEReference(predicateEClass, PREDICATE__PARAMETERS); - createEReference(predicateEClass, PREDICATE__BODIES); + intervalEClass = createEClass(INTERVAL); + createEReference(intervalEClass, INTERVAL__LOWER_BOUND); + createEReference(intervalEClass, INTERVAL__UPPER_BOUND); - parameterEClass = createEClass(PARAMETER); - createEReference(parameterEClass, PARAMETER__VARIABLE); - createEReference(parameterEClass, PARAMETER__TYPE); - - patternBodyEClass = createEClass(PATTERN_BODY); - createEReference(patternBodyEClass, PATTERN_BODY__CONSTRAINTS); + literalEClass = createEClass(LITERAL); - polarityEClass = createEClass(POLARITY); + logicLiteralEClass = createEClass(LOGIC_LITERAL); + createEAttribute(logicLiteralEClass, LOGIC_LITERAL__VALUE); - constraintEClass = createEClass(CONSTRAINT); - createEReference(constraintEClass, CONSTRAINT__POLARITY); - createEReference(constraintEClass, CONSTRAINT__SYMBOL); - createEReference(constraintEClass, CONSTRAINT__PARAMS); - createEReference(constraintEClass, CONSTRAINT__CLOSURE_TYPE); + numericLiteralEClass = createEClass(NUMERIC_LITERAL); + createEAttribute(numericLiteralEClass, NUMERIC_LITERAL__VALUE); - closureTypeEClass = createEClass(CLOSURE_TYPE); + infinityLiteralEClass = createEClass(INFINITY_LITERAL); - literalEClass = createEClass(LITERAL); + emptyIntervalLiteralEClass = createEClass(EMPTY_INTERVAL_LITERAL); - variableEClass = createEClass(VARIABLE); - createEAttribute(variableEClass, VARIABLE__NAME); + stringLiteralEClass = createEClass(STRING_LITERAL); + createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE); - allInstancesEClass = createEClass(ALL_INSTANCES); - createEReference(allInstancesEClass, ALL_INSTANCES__SYMBOL); + memberDefinitionEClass = createEClass(MEMBER_DEFINITION); + createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__CONTAINMENT); + createEReference(memberDefinitionEClass, MEMBER_DEFINITION__TYPE); + createEReference(memberDefinitionEClass, MEMBER_DEFINITION__MULTIPLICITY); + createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__NAME); + createEReference(memberDefinitionEClass, MEMBER_DEFINITION__OPPOSITE); - allObjectsEClass = createEClass(ALL_OBJECTS); + multiplicityEClass = createEClass(MULTIPLICITY); - defaultInterpretationEClass = createEClass(DEFAULT_INTERPRETATION); - createEReference(defaultInterpretationEClass, DEFAULT_INTERPRETATION__INTERPRETATION); + manyMultiplicityEClass = createEClass(MANY_MULTIPLICITY); - cdInterpretationEClass = createEClass(CD_INTERPRETATION); + exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY); + createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__MULTIPLICITY); - classInterpretationEClass = createEClass(CLASS_INTERPRETATION); - createEAttribute(classInterpretationEClass, CLASS_INTERPRETATION__ABSTRACT); - createEReference(classInterpretationEClass, CLASS_INTERPRETATION__SYMBOL); - createEReference(classInterpretationEClass, CLASS_INTERPRETATION__SUPERTYPES); - createEReference(classInterpretationEClass, CLASS_INTERPRETATION__FIELT); + boundedMultiplicityEClass = createEClass(BOUNDED_MULTIPLICITY); + createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__LOWER_BOUND); + createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__UPPER_BOUND); - enumInterpretationEClass = createEClass(ENUM_INTERPRETATION); - createEReference(enumInterpretationEClass, ENUM_INTERPRETATION__SYMBOL); - createEReference(enumInterpretationEClass, ENUM_INTERPRETATION__OBJECTS); + scopeDefinitionEClass = createEClass(SCOPE_DEFINITION); + createEReference(scopeDefinitionEClass, SCOPE_DEFINITION__TYPE); - fieldRelationInterpretationEClass = createEClass(FIELD_RELATION_INTERPRETATION); - createEAttribute(fieldRelationInterpretationEClass, FIELD_RELATION_INTERPRETATION__CONTAINMENT); - createEReference(fieldRelationInterpretationEClass, FIELD_RELATION_INTERPRETATION__SYMBOL); - createEReference(fieldRelationInterpretationEClass, FIELD_RELATION_INTERPRETATION__MULTIPLICITY); - createEReference(fieldRelationInterpretationEClass, FIELD_RELATION_INTERPRETATION__TARGET); + exactScopeDefinitionEClass = createEClass(EXACT_SCOPE_DEFINITION); + createEAttribute(exactScopeDefinitionEClass, EXACT_SCOPE_DEFINITION__EXACT_SCOPE); - globalRelationInterpretationEClass = createEClass(GLOBAL_RELATION_INTERPRETATION); - createEAttribute(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__CONTAINMENT); - createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__SYMBOL); - createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY); - createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__SOURCE); - createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY); - createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__TARGET); + boundedScopeDefinitionEClass = createEClass(BOUNDED_SCOPE_DEFINITION); + createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__LOWER_BOUND); + createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__UPPER_BOUND); - multiplicityDefinitionEClass = createEClass(MULTIPLICITY_DEFINITION); - createEAttribute(multiplicityDefinitionEClass, MULTIPLICITY_DEFINITION__LOWER); - createEAttribute(multiplicityDefinitionEClass, MULTIPLICITY_DEFINITION__UPPER); - createEAttribute(multiplicityDefinitionEClass, MULTIPLICITY_DEFINITION__UNLIMITED_UPPER); + lowerBoundedScopeDefinitionEClass = createEClass(LOWER_BOUNDED_SCOPE_DEFINITION); + createEAttribute(lowerBoundedScopeDefinitionEClass, LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND); - booleanTrueEClass = createEClass(BOOLEAN_TRUE); + objectiveDefinitionEClass = createEClass(OBJECTIVE_DEFINITION); + createEAttribute(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__KIND); + createEReference(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__OBJECTIVE); - booleanFalseEClass = createEClass(BOOLEAN_FALSE); + namedElementEClass = createEClass(NAMED_ELEMENT); + createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME); - trueEClass = createEClass(TRUE); + assertionEClass = createEClass(ASSERTION); + createEReference(assertionEClass, ASSERTION__BODY); + createEReference(assertionEClass, ASSERTION__RANGE); - falseEClass = createEClass(FALSE); + disjunctionEClass = createEClass(DISJUNCTION); + createEReference(disjunctionEClass, DISJUNCTION__CHILDREN); - unknownEClass = createEClass(UNKNOWN); + switchEClass = createEClass(SWITCH); + createEReference(switchEClass, SWITCH__CASES); - errorEClass = createEClass(ERROR); + conjunctionEClass = createEClass(CONJUNCTION); + createEReference(conjunctionEClass, CONJUNCTION__CHILDREN); - positiveEClass = createEClass(POSITIVE); + comparisonEClass = createEClass(COMPARISON); + createEReference(comparisonEClass, COMPARISON__LEFT); + createEAttribute(comparisonEClass, COMPARISON__OP); + createEReference(comparisonEClass, COMPARISON__RIGHT); - negativeEClass = createEClass(NEGATIVE); + binaryExpressionEClass = createEClass(BINARY_EXPRESSION); + createEReference(binaryExpressionEClass, BINARY_EXPRESSION__LEFT); + createEAttribute(binaryExpressionEClass, BINARY_EXPRESSION__OP); + createEReference(binaryExpressionEClass, BINARY_EXPRESSION__RIGHT); - reflexiveClosureEClass = createEClass(REFLEXIVE_CLOSURE); + unaryExpressionEClass = createEClass(UNARY_EXPRESSION); + createEAttribute(unaryExpressionEClass, UNARY_EXPRESSION__OP); + createEReference(unaryExpressionEClass, UNARY_EXPRESSION__BODY); - irreflexiveClosureEClass = createEClass(IRREFLEXIVE_CLOSURE); + // Create enums + metricTypeEEnum = createEEnum(METRIC_TYPE); + binaryOperatorEEnum = createEEnum(BINARY_OPERATOR); + unaryOpEEnum = createEEnum(UNARY_OP); + aggregationOpEEnum = createEEnum(AGGREGATION_OP); + logicValueEEnum = createEEnum(LOGIC_VALUE); + objectiveKindEEnum = createEEnum(OBJECTIVE_KIND); } /** @@ -1763,195 +2098,255 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan // Set bounds for type parameters // Add supertypes to classes - interpretationEClass.getESuperTypes().add(this.getStatement()); - basicInterpretationEClass.getESuperTypes().add(this.getInterpretation()); - modelSymbolEClass.getESuperTypes().add(this.getSymbol()); - partialitySymbolEClass.getESuperTypes().add(this.getSymbol()); - existSymbolEClass.getESuperTypes().add(this.getPartialitySymbol()); - equalsSymbolEClass.getESuperTypes().add(this.getPartialitySymbol()); - dataSymbolEClass.getESuperTypes().add(this.getSymbol()); - booleanSymbolEClass.getESuperTypes().add(this.getDataSymbol()); - integerSymbolEClass.getESuperTypes().add(this.getDataSymbol()); - realSymbolEClass.getESuperTypes().add(this.getDataSymbol()); - stringSymbolEClass.getESuperTypes().add(this.getDataSymbol()); - objectEClass.getESuperTypes().add(this.getComplexObject()); - namedObjectEClass.getESuperTypes().add(this.getObject()); - namedObjectEClass.getESuperTypes().add(this.getLiteral()); - unnamedObjectEClass.getESuperTypes().add(this.getObject()); - dataObjectEClass.getESuperTypes().add(this.getObject()); - dataObjectEClass.getESuperTypes().add(this.getLiteral()); - booleanObjectEClass.getESuperTypes().add(this.getDataObject()); - intObjectEClass.getESuperTypes().add(this.getDataObject()); - realObjectEClass.getESuperTypes().add(this.getDataObject()); - stringObjectEClass.getESuperTypes().add(this.getDataObject()); - predicateEClass.getESuperTypes().add(this.getStatement()); - variableEClass.getESuperTypes().add(this.getLiteral()); - allInstancesEClass.getESuperTypes().add(this.getComplexObject()); - allObjectsEClass.getESuperTypes().add(this.getComplexObject()); - defaultInterpretationEClass.getESuperTypes().add(this.getInterpretation()); - cdInterpretationEClass.getESuperTypes().add(this.getInterpretation()); - classInterpretationEClass.getESuperTypes().add(this.getCDInterpretation()); - enumInterpretationEClass.getESuperTypes().add(this.getCDInterpretation()); - globalRelationInterpretationEClass.getESuperTypes().add(this.getCDInterpretation()); - booleanTrueEClass.getESuperTypes().add(this.getBooleanValue()); - booleanFalseEClass.getESuperTypes().add(this.getBooleanValue()); - trueEClass.getESuperTypes().add(this.getTruthValue()); - falseEClass.getESuperTypes().add(this.getTruthValue()); - unknownEClass.getESuperTypes().add(this.getTruthValue()); - errorEClass.getESuperTypes().add(this.getTruthValue()); - positiveEClass.getESuperTypes().add(this.getPolarity()); - negativeEClass.getESuperTypes().add(this.getPolarity()); - reflexiveClosureEClass.getESuperTypes().add(this.getClosureType()); - irreflexiveClosureEClass.getESuperTypes().add(this.getClosureType()); + predicateDefinitionEClass.getESuperTypes().add(this.getStatement()); + unnamedErrorPrediateDefinitionEClass.getESuperTypes().add(this.getStatement()); + defaultDefinitionEClass.getESuperTypes().add(this.getStatement()); + externPredicateDefinitionEClass.getESuperTypes().add(this.getStatement()); + metricDefinitionEClass.getESuperTypes().add(this.getStatement()); + externMetricDefinitionEClass.getESuperTypes().add(this.getStatement()); + expressionEClass.getESuperTypes().add(this.getStatement()); + ifElseEClass.getESuperTypes().add(this.getExpression()); + caseEClass.getESuperTypes().add(this.getExpression()); + countEClass.getESuperTypes().add(this.getExpression()); + aggregationEClass.getESuperTypes().add(this.getExpression()); + callEClass.getESuperTypes().add(this.getExpression()); + expressionArgumentEClass.getESuperTypes().add(this.getArgument()); + starArgumentEClass.getESuperTypes().add(this.getArgument()); + typedArgumentEClass.getESuperTypes().add(this.getArgument()); + typedStarArgumentEClass.getESuperTypes().add(this.getArgument()); + referenceEClass.getESuperTypes().add(this.getExpression()); + intervalEClass.getESuperTypes().add(this.getExpression()); + literalEClass.getESuperTypes().add(this.getExpression()); + logicLiteralEClass.getESuperTypes().add(this.getLiteral()); + numericLiteralEClass.getESuperTypes().add(this.getLiteral()); + infinityLiteralEClass.getESuperTypes().add(this.getLiteral()); + emptyIntervalLiteralEClass.getESuperTypes().add(this.getLiteral()); + stringLiteralEClass.getESuperTypes().add(this.getLiteral()); + manyMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); + exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); + boundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); + scopeDefinitionEClass.getESuperTypes().add(this.getStatement()); + exactScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition()); + boundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition()); + lowerBoundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition()); + objectiveDefinitionEClass.getESuperTypes().add(this.getStatement()); + assertionEClass.getESuperTypes().add(this.getStatement()); + disjunctionEClass.getESuperTypes().add(this.getExpression()); + switchEClass.getESuperTypes().add(this.getExpression()); + conjunctionEClass.getESuperTypes().add(this.getExpression()); + comparisonEClass.getESuperTypes().add(this.getExpression()); + binaryExpressionEClass.getESuperTypes().add(this.getExpression()); + unaryExpressionEClass.getESuperTypes().add(this.getExpression()); // Initialize classes and features; add operations and parameters initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 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); initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + 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); + 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); - initEClass(booleanValueEClass, BooleanValue.class, "BooleanValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - initEClass(truthValueEClass, TruthValue.class, "TruthValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - initEClass(interpretationEClass, Interpretation.class, "Interpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - initEClass(basicInterpretationEClass, BasicInterpretation.class, "BasicInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); - 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); - 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); - - initEClass(symbolEClass, Symbol.class, "Symbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - initEClass(modelSymbolEClass, ModelSymbol.class, "ModelSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); - - initEClass(partialitySymbolEClass, PartialitySymbol.class, "PartialitySymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(predicateDefinitionEClass, PredicateDefinition.class, "PredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + 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); + 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); - initEClass(existSymbolEClass, ExistSymbol.class, "ExistSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(unnamedErrorPrediateDefinitionEClass, UnnamedErrorPrediateDefinition.class, "UnnamedErrorPrediateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); - initEClass(equalsSymbolEClass, EqualsSymbol.class, "EqualsSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(defaultDefinitionEClass, DefaultDefinition.class, "DefaultDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); - initEClass(dataSymbolEClass, DataSymbol.class, "DataSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(externPredicateDefinitionEClass, ExternPredicateDefinition.class, "ExternPredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); - initEClass(booleanSymbolEClass, BooleanSymbol.class, "BooleanSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(metricDefinitionEClass, MetricDefinition.class, "MetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + 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); - initEClass(integerSymbolEClass, IntegerSymbol.class, "IntegerSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(externMetricDefinitionEClass, ExternMetricDefinition.class, "ExternMetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); - initEClass(realSymbolEClass, RealSymbol.class, "RealSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(expressionEClass, Expression.class, "Expression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEClass(stringSymbolEClass, StringSymbol.class, "StringSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(ifElseEClass, IfElse.class, "IfElse", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + 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); - initEClass(complexObjectEClass, ComplexObject.class, "ComplexObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(caseEClass, Case.class, "Case", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); - initEClass(objectEClass, org.eclipse.viatra.solver.language.solverLanguage.Object.class, "Object", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(countEClass, Count.class, "Count", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); - initEClass(namedObjectEClass, NamedObject.class, "NamedObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); + initEClass(aggregationEClass, Aggregation.class, "Aggregation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + 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); - initEClass(unnamedObjectEClass, UnnamedObject.class, "UnnamedObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); + initEClass(callEClass, Call.class, "Call", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + 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); + 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); - initEClass(dataObjectEClass, DataObject.class, "DataObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(argumentListEClass, ArgumentList.class, "ArgumentList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); - initEClass(booleanObjectEClass, BooleanObject.class, "BooleanObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); + initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEClass(intObjectEClass, IntObject.class, "IntObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); + initEClass(expressionArgumentEClass, ExpressionArgument.class, "ExpressionArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); - initEClass(realObjectEClass, RealObject.class, "RealObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); + initEClass(starArgumentEClass, StarArgument.class, "StarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEClass(stringObjectEClass, StringObject.class, "StringObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); + initEClass(typedArgumentEClass, TypedArgument.class, "TypedArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); - initEClass(predicateEClass, Predicate.class, "Predicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); - 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); - 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); - 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); + initEClass(typedStarArgumentEClass, TypedStarArgument.class, "TypedStarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); - initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); - 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); + initEClass(referenceEClass, Reference.class, "Reference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); - initEClass(patternBodyEClass, PatternBody.class, "PatternBody", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); - - initEClass(polarityEClass, Polarity.class, "Polarity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - initEClass(constraintEClass, Constraint.class, "Constraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); - 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); - 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); - 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); - - initEClass(closureTypeEClass, ClosureType.class, "ClosureType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(intervalEClass, Interval.class, "Interval", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); initEClass(literalEClass, Literal.class, "Literal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); - - initEClass(allInstancesEClass, AllInstances.class, "AllInstances", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); - - initEClass(allObjectsEClass, AllObjects.class, "AllObjects", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - initEClass(defaultInterpretationEClass, DefaultInterpretation.class, "DefaultInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); - - initEClass(cdInterpretationEClass, CDInterpretation.class, "CDInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - initEClass(classInterpretationEClass, ClassInterpretation.class, "ClassInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); - 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); - 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); - 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); - - initEClass(enumInterpretationEClass, EnumInterpretation.class, "EnumInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); - 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); - - initEClass(fieldRelationInterpretationEClass, FieldRelationInterpretation.class, "FieldRelationInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); - 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); - 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); - 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); - - initEClass(globalRelationInterpretationEClass, GlobalRelationInterpretation.class, "GlobalRelationInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); - 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); - 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); - 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); - 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); - 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); - - initEClass(multiplicityDefinitionEClass, MultiplicityDefinition.class, "MultiplicityDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - 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); - 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); - 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); - - initEClass(booleanTrueEClass, BooleanTrue.class, "BooleanTrue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - initEClass(booleanFalseEClass, BooleanFalse.class, "BooleanFalse", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - initEClass(trueEClass, True.class, "True", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - initEClass(falseEClass, False.class, "False", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - initEClass(unknownEClass, Unknown.class, "Unknown", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(logicLiteralEClass, LogicLiteral.class, "LogicLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); - initEClass(errorEClass, org.eclipse.viatra.solver.language.solverLanguage.Error.class, "Error", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(numericLiteralEClass, NumericLiteral.class, "NumericLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); - initEClass(positiveEClass, Positive.class, "Positive", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(infinityLiteralEClass, InfinityLiteral.class, "InfinityLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEClass(negativeEClass, Negative.class, "Negative", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(emptyIntervalLiteralEClass, EmptyIntervalLiteral.class, "EmptyIntervalLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEClass(reflexiveClosureEClass, ReflexiveClosure.class, "ReflexiveClosure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(stringLiteralEClass, StringLiteral.class, "StringLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); - initEClass(irreflexiveClosureEClass, IrreflexiveClosure.class, "IrreflexiveClosure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(memberDefinitionEClass, MemberDefinition.class, "MemberDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + 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); + 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); + 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); + + initEClass(multiplicityEClass, Multiplicity.class, "Multiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(manyMultiplicityEClass, ManyMultiplicity.class, "ManyMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(exactMultiplicityEClass, ExactMultiplicity.class, "ExactMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(boundedMultiplicityEClass, BoundedMultiplicity.class, "BoundedMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + initEClass(scopeDefinitionEClass, ScopeDefinition.class, "ScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(exactScopeDefinitionEClass, ExactScopeDefinition.class, "ExactScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(boundedScopeDefinitionEClass, BoundedScopeDefinition.class, "BoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + initEClass(lowerBoundedScopeDefinitionEClass, LowerBoundedScopeDefinition.class, "LowerBoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(objectiveDefinitionEClass, ObjectiveDefinition.class, "ObjectiveDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + initEClass(namedElementEClass, NamedElement.class, "NamedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(assertionEClass, Assertion.class, "Assertion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + initEClass(disjunctionEClass, Disjunction.class, "Disjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(switchEClass, Switch.class, "Switch", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(conjunctionEClass, Conjunction.class, "Conjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(comparisonEClass, Comparison.class, "Comparison", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + 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); + + initEClass(binaryExpressionEClass, BinaryExpression.class, "BinaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + 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); + + initEClass(unaryExpressionEClass, UnaryExpression.class, "UnaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + // Initialize enums and add enum literals + initEEnum(metricTypeEEnum, MetricType.class, "MetricType"); + addEEnumLiteral(metricTypeEEnum, MetricType.INT); + addEEnumLiteral(metricTypeEEnum, MetricType.REAL); + + initEEnum(binaryOperatorEEnum, BinaryOperator.class, "BinaryOperator"); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.EQ); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.NOT_EQ); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS_EQ); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER_EQ); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.IN); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.ADD); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.SUB); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.MUL); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.DIV); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.POW); + + initEEnum(unaryOpEEnum, UnaryOp.class, "UnaryOp"); + addEEnumLiteral(unaryOpEEnum, UnaryOp.NEG); + addEEnumLiteral(unaryOpEEnum, UnaryOp.PLUS); + addEEnumLiteral(unaryOpEEnum, UnaryOp.MINUS); + addEEnumLiteral(unaryOpEEnum, UnaryOp.MAY); + addEEnumLiteral(unaryOpEEnum, UnaryOp.MUST); + addEEnumLiteral(unaryOpEEnum, UnaryOp.CURRENT); + + initEEnum(aggregationOpEEnum, AggregationOp.class, "AggregationOp"); + addEEnumLiteral(aggregationOpEEnum, AggregationOp.ONLY); + addEEnumLiteral(aggregationOpEEnum, AggregationOp.SUM); + addEEnumLiteral(aggregationOpEEnum, AggregationOp.PROD); + addEEnumLiteral(aggregationOpEEnum, AggregationOp.AVG); + addEEnumLiteral(aggregationOpEEnum, AggregationOp.MIN); + addEEnumLiteral(aggregationOpEEnum, AggregationOp.MAX); + + initEEnum(logicValueEEnum, LogicValue.class, "LogicValue"); + addEEnumLiteral(logicValueEEnum, LogicValue.TRUE); + addEEnumLiteral(logicValueEEnum, LogicValue.FALSE); + addEEnumLiteral(logicValueEEnum, LogicValue.UNKNOWN); + addEEnumLiteral(logicValueEEnum, LogicValue.ERROR); + + initEEnum(objectiveKindEEnum, ObjectiveKind.class, "ObjectiveKind"); + addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MINIMIZE); + addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MAXIMIZE); // Create resource createResource(eNS_URI); diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java new file mode 100644 index 00000000..b0cecaab --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java @@ -0,0 +1,41 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.StarArgument; + +/** + * + * An implementation of the model object 'Star Argument'. + * + * + * @generated + */ +public class StarArgumentImpl extends ArgumentImpl implements StarArgument +{ + /** + * + * + * @generated + */ + protected StarArgumentImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.STAR_ARGUMENT; + } + +} //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 @@ /** - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.solverLanguage.impl; +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectResolvingEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; import org.eclipse.viatra.solver.language.solverLanguage.Statement; @@ -14,11 +29,80 @@ import org.eclipse.viatra.solver.language.solverLanguage.Statement; * * An implementation of the model object 'Statement'. * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#isAbstract Abstract}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#getName Name}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#getSuperclasses Superclasses}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#getMembers Members}
    • + *
    * * @generated */ public class StatementImpl extends MinimalEObjectImpl.Container implements Statement { + /** + * The default value of the '{@link #isAbstract() Abstract}' attribute. + * + * + * @see #isAbstract() + * @generated + * @ordered + */ + protected static final boolean ABSTRACT_EDEFAULT = false; + + /** + * The cached value of the '{@link #isAbstract() Abstract}' attribute. + * + * + * @see #isAbstract() + * @generated + * @ordered + */ + protected boolean abstract_ = ABSTRACT_EDEFAULT; + + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getSuperclasses() Superclasses}' reference list. + * + * + * @see #getSuperclasses() + * @generated + * @ordered + */ + protected EList superclasses; + + /** + * The cached value of the '{@link #getMembers() Members}' containment reference list. + * + * + * @see #getMembers() + * @generated + * @ordered + */ + protected EList members; + /** * * @@ -40,4 +124,218 @@ public class StatementImpl extends MinimalEObjectImpl.Container implements State return SolverLanguagePackage.Literals.STATEMENT; } + /** + * + * + * @generated + */ + @Override + public boolean isAbstract() + { + return abstract_; + } + + /** + * + * + * @generated + */ + @Override + public void setAbstract(boolean newAbstract) + { + boolean oldAbstract = abstract_; + abstract_ = newAbstract; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STATEMENT__ABSTRACT, oldAbstract, abstract_)); + } + + /** + * + * + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STATEMENT__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public EList getSuperclasses() + { + if (superclasses == null) + { + superclasses = new EObjectResolvingEList(NamedElement.class, this, SolverLanguagePackage.STATEMENT__SUPERCLASSES); + } + return superclasses; + } + + /** + * + * + * @generated + */ + @Override + public EList getMembers() + { + if (members == null) + { + members = new EObjectContainmentEList(MemberDefinition.class, this, SolverLanguagePackage.STATEMENT__MEMBERS); + } + return members; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.STATEMENT__MEMBERS: + return ((InternalEList)getMembers()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.STATEMENT__ABSTRACT: + return isAbstract(); + case SolverLanguagePackage.STATEMENT__NAME: + return getName(); + case SolverLanguagePackage.STATEMENT__SUPERCLASSES: + return getSuperclasses(); + case SolverLanguagePackage.STATEMENT__MEMBERS: + return getMembers(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.STATEMENT__ABSTRACT: + setAbstract((Boolean)newValue); + return; + case SolverLanguagePackage.STATEMENT__NAME: + setName((String)newValue); + return; + case SolverLanguagePackage.STATEMENT__SUPERCLASSES: + getSuperclasses().clear(); + getSuperclasses().addAll((Collection)newValue); + return; + case SolverLanguagePackage.STATEMENT__MEMBERS: + getMembers().clear(); + getMembers().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.STATEMENT__ABSTRACT: + setAbstract(ABSTRACT_EDEFAULT); + return; + case SolverLanguagePackage.STATEMENT__NAME: + setName(NAME_EDEFAULT); + return; + case SolverLanguagePackage.STATEMENT__SUPERCLASSES: + getSuperclasses().clear(); + return; + case SolverLanguagePackage.STATEMENT__MEMBERS: + getMembers().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.STATEMENT__ABSTRACT: + return abstract_ != ABSTRACT_EDEFAULT; + case SolverLanguagePackage.STATEMENT__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case SolverLanguagePackage.STATEMENT__SUPERCLASSES: + return superclasses != null && !superclasses.isEmpty(); + case SolverLanguagePackage.STATEMENT__MEMBERS: + return members != null && !members.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (abstract: "); + result.append(abstract_); + result.append(", name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + } //StatementImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java new file mode 100644 index 00000000..2b0b2720 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java @@ -0,0 +1,179 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral; + +/** + * + * An implementation of the model object 'String Literal'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl#getValue Value}
    • + *
    + * + * @generated + */ +public class StringLiteralImpl extends LiteralImpl implements StringLiteral +{ + /** + * The default value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected static final String VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected String value = VALUE_EDEFAULT; + + /** + * + * + * @generated + */ + protected StringLiteralImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.STRING_LITERAL; + } + + /** + * + * + * @generated + */ + @Override + public String getValue() + { + return value; + } + + /** + * + * + * @generated + */ + @Override + public void setValue(String newValue) + { + String oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STRING_LITERAL__VALUE, oldValue, value)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.STRING_LITERAL__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.STRING_LITERAL__VALUE: + setValue((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.STRING_LITERAL__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.STRING_LITERAL__VALUE: + return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //StringLiteralImpl 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/StringObjectImpl.java deleted file mode 100644 index 7a7866a7..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringObjectImpl.java +++ /dev/null @@ -1,179 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.StringObject; - -/** - * - * An implementation of the model object 'String Object'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl#getValue Value}
    • - *
    - * - * @generated - */ -public class StringObjectImpl extends DataObjectImpl implements StringObject -{ - /** - * The default value of the '{@link #getValue() Value}' attribute. - * - * - * @see #getValue() - * @generated - * @ordered - */ - protected static final String VALUE_EDEFAULT = null; - - /** - * The cached value of the '{@link #getValue() Value}' attribute. - * - * - * @see #getValue() - * @generated - * @ordered - */ - protected String value = VALUE_EDEFAULT; - - /** - * - * - * @generated - */ - protected StringObjectImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.STRING_OBJECT; - } - - /** - * - * - * @generated - */ - @Override - public String getValue() - { - return value; - } - - /** - * - * - * @generated - */ - @Override - public void setValue(String newValue) - { - String oldValue = value; - value = newValue; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STRING_OBJECT__VALUE, oldValue, value)); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.STRING_OBJECT__VALUE: - return getValue(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.STRING_OBJECT__VALUE: - setValue((String)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.STRING_OBJECT__VALUE: - setValue(VALUE_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.STRING_OBJECT__VALUE: - return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (value: "); - result.append(value); - result.append(')'); - return result.toString(); - } - -} //StringObjectImpl 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/StringSymbolImpl.java deleted file mode 100644 index faf3f06a..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringSymbolImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol; - -/** - * - * An implementation of the model object 'String Symbol'. - * - * - * @generated - */ -public class StringSymbolImpl extends DataSymbolImpl implements StringSymbol -{ - /** - * - * - * @generated - */ - protected StringSymbolImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.STRING_SYMBOL; - } - -} //StringSymbolImpl 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.solver.language.solverLanguage.Case; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Switch; + +/** + * + * An implementation of the model object 'Switch'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl#getCases Cases}
    • + *
    + * + * @generated + */ +public class SwitchImpl extends ExpressionImpl implements Switch +{ + /** + * The cached value of the '{@link #getCases() Cases}' containment reference list. + * + * + * @see #getCases() + * @generated + * @ordered + */ + protected EList cases; + + /** + * + * + * @generated + */ + protected SwitchImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.SWITCH; + } + + /** + * + * + * @generated + */ + @Override + public EList getCases() + { + if (cases == null) + { + cases = new EObjectContainmentEList(Case.class, this, SolverLanguagePackage.SWITCH__CASES); + } + return cases; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.SWITCH__CASES: + return ((InternalEList)getCases()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.SWITCH__CASES: + return getCases(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.SWITCH__CASES: + getCases().clear(); + getCases().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.SWITCH__CASES: + getCases().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.SWITCH__CASES: + return cases != null && !cases.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.Symbol; - -/** - * - * An implementation of the model object 'Symbol'. - * - * - * @generated - */ -public class SymbolImpl extends MinimalEObjectImpl.Container implements Symbol -{ - /** - * - * - * @generated - */ - protected SymbolImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.SYMBOL; - } - -} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.True; - -/** - * - * An implementation of the model object 'True'. - * - * - * @generated - */ -public class TrueImpl extends TruthValueImpl implements True -{ - /** - * - * - * @generated - */ - protected TrueImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.TRUE; - } - -} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.TruthValue; - -/** - * - * An implementation of the model object 'Truth Value'. - * - * - * @generated - */ -public class TruthValueImpl extends MinimalEObjectImpl.Container implements TruthValue -{ - /** - * - * - * @generated - */ - protected TruthValueImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.TRUTH_VALUE; - } - -} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument; + +/** + * + * An implementation of the model object 'Typed Argument'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl#getType Type}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl#getVariable Variable}
    • + *
    + * + * @generated + */ +public class TypedArgumentImpl extends ArgumentImpl implements TypedArgument +{ + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * The cached value of the '{@link #getVariable() Variable}' reference. + * + * + * @see #getVariable() + * @generated + * @ordered + */ + protected NamedElement variable; + + /** + * + * + * @generated + */ + protected TypedArgumentImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.TYPED_ARGUMENT; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getType() + { + if (type != null && type.eIsProxy()) + { + InternalEObject oldType = (InternalEObject)type; + type = (NamedElement)eResolveProxy(oldType); + if (type != oldType) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_ARGUMENT__TYPE, oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetType() + { + return type; + } + + /** + * + * + * @generated + */ + @Override + public void setType(NamedElement newType) + { + NamedElement oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_ARGUMENT__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getVariable() + { + if (variable != null && variable.eIsProxy()) + { + InternalEObject oldVariable = (InternalEObject)variable; + variable = (NamedElement)eResolveProxy(oldVariable); + if (variable != oldVariable) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE, oldVariable, variable)); + } + } + return variable; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetVariable() + { + return variable; + } + + /** + * + * + * @generated + */ + @Override + public void setVariable(NamedElement newVariable) + { + NamedElement oldVariable = variable; + variable = newVariable; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE, oldVariable, variable)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.TYPED_ARGUMENT__TYPE: + if (resolve) return getType(); + return basicGetType(); + case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE: + if (resolve) return getVariable(); + return basicGetVariable(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.TYPED_ARGUMENT__TYPE: + setType((NamedElement)newValue); + return; + case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE: + setVariable((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.TYPED_ARGUMENT__TYPE: + setType((NamedElement)null); + return; + case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE: + setVariable((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.TYPED_ARGUMENT__TYPE: + return type != null; + case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE: + return variable != null; + } + return super.eIsSet(featureID); + } + +} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument; + +/** + * + * An implementation of the model object 'Typed Star Argument'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl#getType Type}
    • + *
    + * + * @generated + */ +public class TypedStarArgumentImpl extends ArgumentImpl implements TypedStarArgument +{ + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * + * + * @generated + */ + protected TypedStarArgumentImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getType() + { + if (type != null && type.eIsProxy()) + { + InternalEObject oldType = (InternalEObject)type; + type = (NamedElement)eResolveProxy(oldType); + if (type != oldType) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE, oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetType() + { + return type; + } + + /** + * + * + * @generated + */ + @Override + public void setType(NamedElement newType) + { + NamedElement oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE: + if (resolve) return getType(); + return basicGetType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE: + setType((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE: + setType((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + +} //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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression; +import org.eclipse.viatra.solver.language.solverLanguage.UnaryOp; + +/** + * + * An implementation of the model object 'Unary Expression'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl#getOp Op}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl#getBody Body}
    • + *
    + * + * @generated + */ +public class UnaryExpressionImpl extends ExpressionImpl implements UnaryExpression +{ + /** + * The default value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected static final UnaryOp OP_EDEFAULT = UnaryOp.NEG; + + /** + * The cached value of the '{@link #getOp() Op}' attribute. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected UnaryOp op = OP_EDEFAULT; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * + * + * @generated + */ + protected UnaryExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.UNARY_EXPRESSION; + } + + /** + * + * + * @generated + */ + @Override + public UnaryOp getOp() + { + return op; + } + + /** + * + * + * @generated + */ + @Override + public void setOp(UnaryOp newOp) + { + UnaryOp oldOp = op; + op = newOp == null ? OP_EDEFAULT : newOp; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__OP, oldOp, op)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() + { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) + { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) + { + if (newBody != body) + { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNARY_EXPRESSION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNARY_EXPRESSION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.UNARY_EXPRESSION__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.UNARY_EXPRESSION__OP: + return getOp(); + case SolverLanguagePackage.UNARY_EXPRESSION__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.UNARY_EXPRESSION__OP: + setOp((UnaryOp)newValue); + return; + case SolverLanguagePackage.UNARY_EXPRESSION__BODY: + setBody((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.UNARY_EXPRESSION__OP: + setOp(OP_EDEFAULT); + return; + case SolverLanguagePackage.UNARY_EXPRESSION__BODY: + setBody((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.UNARY_EXPRESSION__OP: + return op != OP_EDEFAULT; + case SolverLanguagePackage.UNARY_EXPRESSION__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (op: "); + result.append(op); + result.append(')'); + return result.toString(); + } + +} //UnaryExpressionImpl 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/UnknownImpl.java deleted file mode 100644 index 44195feb..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnknownImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.Unknown; - -/** - * - * An implementation of the model object 'Unknown'. - * - * - * @generated - */ -public class UnknownImpl extends TruthValueImpl implements Unknown -{ - /** - * - * - * @generated - */ - protected UnknownImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.UNKNOWN; - } - -} //UnknownImpl 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 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition; + +/** + * + * An implementation of the model object 'Unnamed Error Prediate Definition'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl#getArgumentList Argument List}
    • + *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl#getBody Body}
    • + *
    + * + * @generated + */ +public class UnnamedErrorPrediateDefinitionImpl extends StatementImpl implements UnnamedErrorPrediateDefinition +{ + /** + * The cached value of the '{@link #getArgumentList() Argument List}' containment reference. + * + * + * @see #getArgumentList() + * @generated + * @ordered + */ + protected ArgumentList argumentList; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * + * + * @generated + */ + protected UnnamedErrorPrediateDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public ArgumentList getArgumentList() + { + return argumentList; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs) + { + ArgumentList oldArgumentList = argumentList; + argumentList = newArgumentList; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, oldArgumentList, newArgumentList); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setArgumentList(ArgumentList newArgumentList) + { + if (newArgumentList != argumentList) + { + NotificationChain msgs = null; + if (argumentList != null) + msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, null, msgs); + if (newArgumentList != null) + msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, null, msgs); + msgs = basicSetArgumentList(newArgumentList, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, newArgumentList, newArgumentList)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getBody() + { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs) + { + Expression oldBody = body; + body = newBody; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setBody(Expression newBody) + { + if (newBody != body) + { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST: + return basicSetArgumentList(null, msgs); + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST: + return getArgumentList(); + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST: + setArgumentList((ArgumentList)newValue); + return; + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY: + setBody((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST: + setArgumentList((ArgumentList)null); + return; + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY: + setBody((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST: + return argumentList != null; + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + +} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject; - -/** - * - * An implementation of the model object 'Unnamed Object'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl#getName Name}
    • - *
    - * - * @generated - */ -public class UnnamedObjectImpl extends ObjectImpl implements UnnamedObject -{ - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * - * - * @generated - */ - protected UnnamedObjectImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.UNNAMED_OBJECT; - } - - /** - * - * - * @generated - */ - @Override - public String getName() - { - return name; - } - - /** - * - * - * @generated - */ - @Override - public void setName(String newName) - { - String oldName = name; - name = newName; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_OBJECT__NAME, oldName, name)); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.UNNAMED_OBJECT__NAME: - return getName(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.UNNAMED_OBJECT__NAME: - setName((String)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.UNNAMED_OBJECT__NAME: - setName(NAME_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.UNNAMED_OBJECT__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (name: "); - result.append(name); - result.append(')'); - return result.toString(); - } - -} //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 @@ -/** - * generated by Xtext 2.18.0.M3 - */ -package org.eclipse.viatra.solver.language.solverLanguage.impl; - -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.Variable; - -/** - * - * An implementation of the model object 'Variable'. - * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl#getName Name}
    • - *
    - * - * @generated - */ -public class VariableImpl extends LiteralImpl implements Variable -{ - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * - * - * @generated - */ - protected VariableImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.VARIABLE; - } - - /** - * - * - * @generated - */ - @Override - public String getName() - { - return name; - } - - /** - * - * - * @generated - */ - @Override - public void setName(String newName) - { - String oldName = name; - name = newName; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.VARIABLE__NAME, oldName, name)); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.VARIABLE__NAME: - return getName(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.VARIABLE__NAME: - setName((String)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.VARIABLE__NAME: - setName(NAME_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.VARIABLE__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (name: "); - result.append(name); - result.append(')'); - return result.toString(); - } - -} //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 @@ /** - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.solverLanguage.util; @@ -10,57 +10,7 @@ import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; import org.eclipse.emf.ecore.EObject; -import org.eclipse.viatra.solver.language.solverLanguage.AllInstances; -import org.eclipse.viatra.solver.language.solverLanguage.AllObjects; -import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue; -import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.ClosureType; -import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject; -import org.eclipse.viatra.solver.language.solverLanguage.Constraint; -import org.eclipse.viatra.solver.language.solverLanguage.DataObject; -import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.False; -import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.IntObject; -import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.Interpretation; -import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure; -import org.eclipse.viatra.solver.language.solverLanguage.Literal; -import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition; -import org.eclipse.viatra.solver.language.solverLanguage.NamedObject; -import org.eclipse.viatra.solver.language.solverLanguage.Negative; -import org.eclipse.viatra.solver.language.solverLanguage.Parameter; -import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol; -import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; -import org.eclipse.viatra.solver.language.solverLanguage.Polarity; -import org.eclipse.viatra.solver.language.solverLanguage.Positive; -import org.eclipse.viatra.solver.language.solverLanguage.Predicate; -import org.eclipse.viatra.solver.language.solverLanguage.Problem; -import org.eclipse.viatra.solver.language.solverLanguage.RealObject; -import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.Statement; -import org.eclipse.viatra.solver.language.solverLanguage.StringObject; -import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.Symbol; -import org.eclipse.viatra.solver.language.solverLanguage.True; -import org.eclipse.viatra.solver.language.solverLanguage.TruthValue; -import org.eclipse.viatra.solver.language.solverLanguage.Unknown; -import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject; -import org.eclipse.viatra.solver.language.solverLanguage.Variable; +import org.eclipse.viatra.solver.language.solverLanguage.*; /** * @@ -136,254 +86,224 @@ public class SolverLanguageAdapterFactory extends AdapterFactoryImpl return createStatementAdapter(); } @Override - public Adapter caseBooleanValue(BooleanValue object) + public Adapter casePredicateDefinition(PredicateDefinition object) { - return createBooleanValueAdapter(); + return createPredicateDefinitionAdapter(); } @Override - public Adapter caseTruthValue(TruthValue object) + public Adapter caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object) { - return createTruthValueAdapter(); + return createUnnamedErrorPrediateDefinitionAdapter(); } @Override - public Adapter caseInterpretation(Interpretation object) + public Adapter caseDefaultDefinition(DefaultDefinition object) { - return createInterpretationAdapter(); + return createDefaultDefinitionAdapter(); } @Override - public Adapter caseBasicInterpretation(BasicInterpretation object) + public Adapter caseExternPredicateDefinition(ExternPredicateDefinition object) { - return createBasicInterpretationAdapter(); + return createExternPredicateDefinitionAdapter(); } @Override - public Adapter caseSymbol(Symbol object) + public Adapter caseMetricDefinition(MetricDefinition object) { - return createSymbolAdapter(); + return createMetricDefinitionAdapter(); } @Override - public Adapter caseModelSymbol(ModelSymbol object) + public Adapter caseExternMetricDefinition(ExternMetricDefinition object) { - return createModelSymbolAdapter(); + return createExternMetricDefinitionAdapter(); } @Override - public Adapter casePartialitySymbol(PartialitySymbol object) + public Adapter caseExpression(Expression object) { - return createPartialitySymbolAdapter(); + return createExpressionAdapter(); } @Override - public Adapter caseExistSymbol(ExistSymbol object) + public Adapter caseIfElse(IfElse object) { - return createExistSymbolAdapter(); + return createIfElseAdapter(); } @Override - public Adapter caseEqualsSymbol(EqualsSymbol object) + public Adapter caseCase(Case object) { - return createEqualsSymbolAdapter(); + return createCaseAdapter(); } @Override - public Adapter caseDataSymbol(DataSymbol object) + public Adapter caseCount(Count object) { - return createDataSymbolAdapter(); + return createCountAdapter(); } @Override - public Adapter caseBooleanSymbol(BooleanSymbol object) + public Adapter caseAggregation(Aggregation object) { - return createBooleanSymbolAdapter(); + return createAggregationAdapter(); } @Override - public Adapter caseIntegerSymbol(IntegerSymbol object) + public Adapter caseCall(Call object) { - return createIntegerSymbolAdapter(); + return createCallAdapter(); } @Override - public Adapter caseRealSymbol(RealSymbol object) + public Adapter caseArgumentList(ArgumentList object) { - return createRealSymbolAdapter(); + return createArgumentListAdapter(); } @Override - public Adapter caseStringSymbol(StringSymbol object) + public Adapter caseArgument(Argument object) { - return createStringSymbolAdapter(); + return createArgumentAdapter(); } @Override - public Adapter caseComplexObject(ComplexObject object) + public Adapter caseExpressionArgument(ExpressionArgument object) { - return createComplexObjectAdapter(); + return createExpressionArgumentAdapter(); } @Override - public Adapter caseObject(org.eclipse.viatra.solver.language.solverLanguage.Object object) + public Adapter caseStarArgument(StarArgument object) { - return createObjectAdapter(); + return createStarArgumentAdapter(); } @Override - public Adapter caseNamedObject(NamedObject object) + public Adapter caseTypedArgument(TypedArgument object) { - return createNamedObjectAdapter(); + return createTypedArgumentAdapter(); } @Override - public Adapter caseUnnamedObject(UnnamedObject object) + public Adapter caseTypedStarArgument(TypedStarArgument object) { - return createUnnamedObjectAdapter(); + return createTypedStarArgumentAdapter(); } @Override - public Adapter caseDataObject(DataObject object) + public Adapter caseReference(Reference object) { - return createDataObjectAdapter(); + return createReferenceAdapter(); } @Override - public Adapter caseBooleanObject(BooleanObject object) + public Adapter caseInterval(Interval object) { - return createBooleanObjectAdapter(); + return createIntervalAdapter(); } @Override - public Adapter caseIntObject(IntObject object) - { - return createIntObjectAdapter(); - } - @Override - public Adapter caseRealObject(RealObject object) - { - return createRealObjectAdapter(); - } - @Override - public Adapter caseStringObject(StringObject object) - { - return createStringObjectAdapter(); - } - @Override - public Adapter casePredicate(Predicate object) - { - return createPredicateAdapter(); - } - @Override - public Adapter caseParameter(Parameter object) - { - return createParameterAdapter(); - } - @Override - public Adapter casePatternBody(PatternBody object) - { - return createPatternBodyAdapter(); - } - @Override - public Adapter casePolarity(Polarity object) + public Adapter caseLiteral(Literal object) { - return createPolarityAdapter(); + return createLiteralAdapter(); } @Override - public Adapter caseConstraint(Constraint object) + public Adapter caseLogicLiteral(LogicLiteral object) { - return createConstraintAdapter(); + return createLogicLiteralAdapter(); } @Override - public Adapter caseClosureType(ClosureType object) + public Adapter caseNumericLiteral(NumericLiteral object) { - return createClosureTypeAdapter(); + return createNumericLiteralAdapter(); } @Override - public Adapter caseLiteral(Literal object) + public Adapter caseInfinityLiteral(InfinityLiteral object) { - return createLiteralAdapter(); + return createInfinityLiteralAdapter(); } @Override - public Adapter caseVariable(Variable object) + public Adapter caseEmptyIntervalLiteral(EmptyIntervalLiteral object) { - return createVariableAdapter(); + return createEmptyIntervalLiteralAdapter(); } @Override - public Adapter caseAllInstances(AllInstances object) + public Adapter caseStringLiteral(StringLiteral object) { - return createAllInstancesAdapter(); + return createStringLiteralAdapter(); } @Override - public Adapter caseAllObjects(AllObjects object) + public Adapter caseMemberDefinition(MemberDefinition object) { - return createAllObjectsAdapter(); + return createMemberDefinitionAdapter(); } @Override - public Adapter caseDefaultInterpretation(DefaultInterpretation object) + public Adapter caseMultiplicity(Multiplicity object) { - return createDefaultInterpretationAdapter(); + return createMultiplicityAdapter(); } @Override - public Adapter caseCDInterpretation(CDInterpretation object) + public Adapter caseManyMultiplicity(ManyMultiplicity object) { - return createCDInterpretationAdapter(); + return createManyMultiplicityAdapter(); } @Override - public Adapter caseClassInterpretation(ClassInterpretation object) + public Adapter caseExactMultiplicity(ExactMultiplicity object) { - return createClassInterpretationAdapter(); + return createExactMultiplicityAdapter(); } @Override - public Adapter caseEnumInterpretation(EnumInterpretation object) + public Adapter caseBoundedMultiplicity(BoundedMultiplicity object) { - return createEnumInterpretationAdapter(); + return createBoundedMultiplicityAdapter(); } @Override - public Adapter caseFieldRelationInterpretation(FieldRelationInterpretation object) + public Adapter caseScopeDefinition(ScopeDefinition object) { - return createFieldRelationInterpretationAdapter(); + return createScopeDefinitionAdapter(); } @Override - public Adapter caseGlobalRelationInterpretation(GlobalRelationInterpretation object) + public Adapter caseExactScopeDefinition(ExactScopeDefinition object) { - return createGlobalRelationInterpretationAdapter(); + return createExactScopeDefinitionAdapter(); } @Override - public Adapter caseMultiplicityDefinition(MultiplicityDefinition object) + public Adapter caseBoundedScopeDefinition(BoundedScopeDefinition object) { - return createMultiplicityDefinitionAdapter(); + return createBoundedScopeDefinitionAdapter(); } @Override - public Adapter caseBooleanTrue(BooleanTrue object) + public Adapter caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object) { - return createBooleanTrueAdapter(); + return createLowerBoundedScopeDefinitionAdapter(); } @Override - public Adapter caseBooleanFalse(BooleanFalse object) + public Adapter caseObjectiveDefinition(ObjectiveDefinition object) { - return createBooleanFalseAdapter(); + return createObjectiveDefinitionAdapter(); } @Override - public Adapter caseTrue(True object) + public Adapter caseNamedElement(NamedElement object) { - return createTrueAdapter(); + return createNamedElementAdapter(); } @Override - public Adapter caseFalse(False object) + public Adapter caseAssertion(Assertion object) { - return createFalseAdapter(); + return createAssertionAdapter(); } @Override - public Adapter caseUnknown(Unknown object) + public Adapter caseDisjunction(Disjunction object) { - return createUnknownAdapter(); + return createDisjunctionAdapter(); } @Override - public Adapter caseError(org.eclipse.viatra.solver.language.solverLanguage.Error object) + public Adapter caseSwitch(Switch object) { - return createErrorAdapter(); + return createSwitchAdapter(); } @Override - public Adapter casePositive(Positive object) + public Adapter caseConjunction(Conjunction object) { - return createPositiveAdapter(); + return createConjunctionAdapter(); } @Override - public Adapter caseNegative(Negative object) + public Adapter caseComparison(Comparison object) { - return createNegativeAdapter(); + return createComparisonAdapter(); } @Override - public Adapter caseReflexiveClosure(ReflexiveClosure object) + public Adapter caseBinaryExpression(BinaryExpression object) { - return createReflexiveClosureAdapter(); + return createBinaryExpressionAdapter(); } @Override - public Adapter caseIrreflexiveClosure(IrreflexiveClosure object) + public Adapter caseUnaryExpression(UnaryExpression object) { - return createIrreflexiveClosureAdapter(); + return createUnaryExpressionAdapter(); } @Override public Adapter defaultCase(EObject object) @@ -438,751 +358,661 @@ public class SolverLanguageAdapterFactory extends AdapterFactoryImpl } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanValue Boolean Value}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanValue - * @generated - */ - public Adapter createBooleanValueAdapter() - { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TruthValue Truth Value}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.TruthValue - * @generated - */ - public Adapter createTruthValueAdapter() - { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation Interpretation}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation - * @generated - */ - public Adapter createInterpretationAdapter() - { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation Basic Interpretation}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation - * @generated - */ - public Adapter createBasicInterpretationAdapter() - { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Symbol Symbol}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.Symbol - * @generated - */ - public Adapter createSymbolAdapter() - { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol Model Symbol}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition Predicate Definition}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol + * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition * @generated */ - public Adapter createModelSymbolAdapter() + public Adapter createPredicateDefinitionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol Partiality Symbol}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition Unnamed Error Prediate Definition}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol + * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition * @generated */ - public Adapter createPartialitySymbolAdapter() + public Adapter createUnnamedErrorPrediateDefinitionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol Exist Symbol}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition Default Definition}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol + * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition * @generated */ - public Adapter createExistSymbolAdapter() + public Adapter createDefaultDefinitionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol Equals Symbol}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition Extern Predicate Definition}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition * @generated */ - public Adapter createEqualsSymbolAdapter() + public Adapter createExternPredicateDefinitionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DataSymbol Data Symbol}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition Metric Definition}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.DataSymbol + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition * @generated */ - public Adapter createDataSymbolAdapter() + public Adapter createMetricDefinitionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol Boolean Symbol}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition Extern Metric Definition}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition * @generated */ - public Adapter createBooleanSymbolAdapter() + public Adapter createExternMetricDefinitionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol Integer Symbol}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Expression Expression}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol + * @see org.eclipse.viatra.solver.language.solverLanguage.Expression * @generated */ - public Adapter createIntegerSymbolAdapter() + public Adapter createExpressionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealSymbol Real Symbol}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse If Else}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.RealSymbol + * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse * @generated */ - public Adapter createRealSymbolAdapter() + public Adapter createIfElseAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringSymbol String Symbol}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Case Case}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.StringSymbol + * @see org.eclipse.viatra.solver.language.solverLanguage.Case * @generated */ - public Adapter createStringSymbolAdapter() + public Adapter createCaseAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ComplexObject Complex Object}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Count Count}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.ComplexObject + * @see org.eclipse.viatra.solver.language.solverLanguage.Count * @generated */ - public Adapter createComplexObjectAdapter() + public Adapter createCountAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Object Object}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation Aggregation}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.Object + * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation * @generated */ - public Adapter createObjectAdapter() + public Adapter createAggregationAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject Named Object}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Call Call}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.NamedObject + * @see org.eclipse.viatra.solver.language.solverLanguage.Call * @generated */ - public Adapter createNamedObjectAdapter() + public Adapter createCallAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject Unnamed Object}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList Argument List}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject + * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList * @generated */ - public Adapter createUnnamedObjectAdapter() + public Adapter createArgumentListAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DataObject Data Object}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Argument Argument}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.DataObject + * @see org.eclipse.viatra.solver.language.solverLanguage.Argument * @generated */ - public Adapter createDataObjectAdapter() + public Adapter createArgumentAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject Boolean Object}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument Expression Argument}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanObject + * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument * @generated */ - public Adapter createBooleanObjectAdapter() + public Adapter createExpressionArgumentAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject Int Object}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StarArgument Star Argument}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.IntObject + * @see org.eclipse.viatra.solver.language.solverLanguage.StarArgument * @generated */ - public Adapter createIntObjectAdapter() + public Adapter createStarArgumentAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject Real Object}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument Typed Argument}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.RealObject + * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument * @generated */ - public Adapter createRealObjectAdapter() + public Adapter createTypedArgumentAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject String Object}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument Typed Star Argument}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.StringObject + * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument * @generated */ - public Adapter createStringObjectAdapter() + public Adapter createTypedStarArgumentAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate Predicate}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference Reference}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate + * @see org.eclipse.viatra.solver.language.solverLanguage.Reference * @generated */ - public Adapter createPredicateAdapter() + public Adapter createReferenceAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter Parameter}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval Interval}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.Parameter + * @see org.eclipse.viatra.solver.language.solverLanguage.Interval * @generated */ - public Adapter createParameterAdapter() + public Adapter createIntervalAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody Pattern Body}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.PatternBody - * @generated - */ - public Adapter createPatternBodyAdapter() - { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Polarity Polarity}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal Literal}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.Polarity + * @see org.eclipse.viatra.solver.language.solverLanguage.Literal * @generated */ - public Adapter createPolarityAdapter() + public Adapter createLiteralAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint Constraint}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral Logic Literal}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint + * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral * @generated */ - public Adapter createConstraintAdapter() + public Adapter createLogicLiteralAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClosureType Closure Type}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral Numeric Literal}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.ClosureType + * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral * @generated */ - public Adapter createClosureTypeAdapter() + public Adapter createNumericLiteralAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal Literal}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral Infinity Literal}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.Literal + * @see org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral * @generated */ - public Adapter createLiteralAdapter() + public Adapter createInfinityLiteralAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable Variable}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral Empty Interval Literal}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.Variable + * @see org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral * @generated */ - public Adapter createVariableAdapter() + public Adapter createEmptyIntervalLiteralAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances All Instances}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral String Literal}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.AllInstances + * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral * @generated */ - public Adapter createAllInstancesAdapter() + public Adapter createStringLiteralAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.AllObjects All Objects}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition Member Definition}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.AllObjects + * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition * @generated */ - public Adapter createAllObjectsAdapter() + public Adapter createMemberDefinitionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation Default Interpretation}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Multiplicity Multiplicity}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation + * @see org.eclipse.viatra.solver.language.solverLanguage.Multiplicity * @generated */ - public Adapter createDefaultInterpretationAdapter() + public Adapter createMultiplicityAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation CD Interpretation}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity Many Multiplicity}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation + * @see org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity * @generated */ - public Adapter createCDInterpretationAdapter() + public Adapter createManyMultiplicityAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation Class Interpretation}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity Exact Multiplicity}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation + * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity * @generated */ - public Adapter createClassInterpretationAdapter() + public Adapter createExactMultiplicityAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation Enum Interpretation}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity Bounded Multiplicity}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity * @generated */ - public Adapter createEnumInterpretationAdapter() + public Adapter createBoundedMultiplicityAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation Field Relation Interpretation}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition Scope Definition}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation + * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition * @generated */ - public Adapter createFieldRelationInterpretationAdapter() + public Adapter createScopeDefinitionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation Global Relation Interpretation}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition Exact Scope Definition}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation + * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition * @generated */ - public Adapter createGlobalRelationInterpretationAdapter() + public Adapter createExactScopeDefinitionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition Multiplicity Definition}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition Bounded Scope Definition}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition + * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition * @generated */ - public Adapter createMultiplicityDefinitionAdapter() + public Adapter createBoundedScopeDefinitionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue Boolean True}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition Lower Bounded Scope Definition}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue + * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition * @generated */ - public Adapter createBooleanTrueAdapter() + public Adapter createLowerBoundedScopeDefinitionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse Boolean False}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition Objective Definition}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse + * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition * @generated */ - public Adapter createBooleanFalseAdapter() + public Adapter createObjectiveDefinitionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.True True}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement Named Element}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.True + * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement * @generated */ - public Adapter createTrueAdapter() + public Adapter createNamedElementAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.False False}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion Assertion}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.False + * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion * @generated */ - public Adapter createFalseAdapter() + public Adapter createAssertionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Unknown Unknown}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction Disjunction}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.Unknown + * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction * @generated */ - public Adapter createUnknownAdapter() + public Adapter createDisjunctionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Error Error}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch Switch}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.Error + * @see org.eclipse.viatra.solver.language.solverLanguage.Switch * @generated */ - public Adapter createErrorAdapter() + public Adapter createSwitchAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Positive Positive}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction Conjunction}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.Positive + * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction * @generated */ - public Adapter createPositiveAdapter() + public Adapter createConjunctionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Negative Negative}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison Comparison}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.Negative + * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison * @generated */ - public Adapter createNegativeAdapter() + public Adapter createComparisonAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure Reflexive Closure}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression Binary Expression}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure + * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression * @generated */ - public Adapter createReflexiveClosureAdapter() + public Adapter createBinaryExpressionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure Irreflexive Closure}'. + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression Unary Expression}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure + * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression * @generated */ - public Adapter createIrreflexiveClosureAdapter() + public Adapter createUnaryExpressionAdapter() { return null; } 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 @@ /** - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.solverLanguage.util; @@ -8,57 +8,7 @@ import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.util.Switch; -import org.eclipse.viatra.solver.language.solverLanguage.AllInstances; -import org.eclipse.viatra.solver.language.solverLanguage.AllObjects; -import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue; -import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue; -import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.ClosureType; -import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject; -import org.eclipse.viatra.solver.language.solverLanguage.Constraint; -import org.eclipse.viatra.solver.language.solverLanguage.DataObject; -import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.False; -import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation; -import org.eclipse.viatra.solver.language.solverLanguage.IntObject; -import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.Interpretation; -import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure; -import org.eclipse.viatra.solver.language.solverLanguage.Literal; -import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition; -import org.eclipse.viatra.solver.language.solverLanguage.NamedObject; -import org.eclipse.viatra.solver.language.solverLanguage.Negative; -import org.eclipse.viatra.solver.language.solverLanguage.Parameter; -import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol; -import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; -import org.eclipse.viatra.solver.language.solverLanguage.Polarity; -import org.eclipse.viatra.solver.language.solverLanguage.Positive; -import org.eclipse.viatra.solver.language.solverLanguage.Predicate; -import org.eclipse.viatra.solver.language.solverLanguage.Problem; -import org.eclipse.viatra.solver.language.solverLanguage.RealObject; -import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.Statement; -import org.eclipse.viatra.solver.language.solverLanguage.StringObject; -import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.Symbol; -import org.eclipse.viatra.solver.language.solverLanguage.True; -import org.eclipse.viatra.solver.language.solverLanguage.TruthValue; -import org.eclipse.viatra.solver.language.solverLanguage.Unknown; -import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject; -import org.eclipse.viatra.solver.language.solverLanguage.Variable; +import org.eclipse.viatra.solver.language.solverLanguage.*; /** * @@ -137,423 +87,377 @@ public class SolverLanguageSwitch extends Switch if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.BOOLEAN_VALUE: + case SolverLanguagePackage.PREDICATE_DEFINITION: { - BooleanValue booleanValue = (BooleanValue)theEObject; - T result = caseBooleanValue(booleanValue); + PredicateDefinition predicateDefinition = (PredicateDefinition)theEObject; + T result = casePredicateDefinition(predicateDefinition); + if (result == null) result = caseStatement(predicateDefinition); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.TRUTH_VALUE: + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: { - TruthValue truthValue = (TruthValue)theEObject; - T result = caseTruthValue(truthValue); + UnnamedErrorPrediateDefinition unnamedErrorPrediateDefinition = (UnnamedErrorPrediateDefinition)theEObject; + T result = caseUnnamedErrorPrediateDefinition(unnamedErrorPrediateDefinition); + if (result == null) result = caseStatement(unnamedErrorPrediateDefinition); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.INTERPRETATION: + case SolverLanguagePackage.DEFAULT_DEFINITION: { - Interpretation interpretation = (Interpretation)theEObject; - T result = caseInterpretation(interpretation); - if (result == null) result = caseStatement(interpretation); + DefaultDefinition defaultDefinition = (DefaultDefinition)theEObject; + T result = caseDefaultDefinition(defaultDefinition); + if (result == null) result = caseStatement(defaultDefinition); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.BASIC_INTERPRETATION: + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION: { - BasicInterpretation basicInterpretation = (BasicInterpretation)theEObject; - T result = caseBasicInterpretation(basicInterpretation); - if (result == null) result = caseInterpretation(basicInterpretation); - if (result == null) result = caseStatement(basicInterpretation); + ExternPredicateDefinition externPredicateDefinition = (ExternPredicateDefinition)theEObject; + T result = caseExternPredicateDefinition(externPredicateDefinition); + if (result == null) result = caseStatement(externPredicateDefinition); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.SYMBOL: + case SolverLanguagePackage.METRIC_DEFINITION: { - Symbol symbol = (Symbol)theEObject; - T result = caseSymbol(symbol); + MetricDefinition metricDefinition = (MetricDefinition)theEObject; + T result = caseMetricDefinition(metricDefinition); + if (result == null) result = caseStatement(metricDefinition); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.MODEL_SYMBOL: + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: { - ModelSymbol modelSymbol = (ModelSymbol)theEObject; - T result = caseModelSymbol(modelSymbol); - if (result == null) result = caseSymbol(modelSymbol); + ExternMetricDefinition externMetricDefinition = (ExternMetricDefinition)theEObject; + T result = caseExternMetricDefinition(externMetricDefinition); + if (result == null) result = caseStatement(externMetricDefinition); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.PARTIALITY_SYMBOL: + case SolverLanguagePackage.EXPRESSION: { - PartialitySymbol partialitySymbol = (PartialitySymbol)theEObject; - T result = casePartialitySymbol(partialitySymbol); - if (result == null) result = caseSymbol(partialitySymbol); + Expression expression = (Expression)theEObject; + T result = caseExpression(expression); + if (result == null) result = caseStatement(expression); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.EXIST_SYMBOL: + case SolverLanguagePackage.IF_ELSE: { - ExistSymbol existSymbol = (ExistSymbol)theEObject; - T result = caseExistSymbol(existSymbol); - if (result == null) result = casePartialitySymbol(existSymbol); - if (result == null) result = caseSymbol(existSymbol); + IfElse ifElse = (IfElse)theEObject; + T result = caseIfElse(ifElse); + if (result == null) result = caseExpression(ifElse); + if (result == null) result = caseStatement(ifElse); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.EQUALS_SYMBOL: + case SolverLanguagePackage.CASE: { - EqualsSymbol equalsSymbol = (EqualsSymbol)theEObject; - T result = caseEqualsSymbol(equalsSymbol); - if (result == null) result = casePartialitySymbol(equalsSymbol); - if (result == null) result = caseSymbol(equalsSymbol); + Case case_ = (Case)theEObject; + T result = caseCase(case_); + if (result == null) result = caseExpression(case_); + if (result == null) result = caseStatement(case_); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.DATA_SYMBOL: + case SolverLanguagePackage.COUNT: { - DataSymbol dataSymbol = (DataSymbol)theEObject; - T result = caseDataSymbol(dataSymbol); - if (result == null) result = caseSymbol(dataSymbol); + Count count = (Count)theEObject; + T result = caseCount(count); + if (result == null) result = caseExpression(count); + if (result == null) result = caseStatement(count); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.BOOLEAN_SYMBOL: + case SolverLanguagePackage.AGGREGATION: { - BooleanSymbol booleanSymbol = (BooleanSymbol)theEObject; - T result = caseBooleanSymbol(booleanSymbol); - if (result == null) result = caseDataSymbol(booleanSymbol); - if (result == null) result = caseSymbol(booleanSymbol); + Aggregation aggregation = (Aggregation)theEObject; + T result = caseAggregation(aggregation); + if (result == null) result = caseExpression(aggregation); + if (result == null) result = caseStatement(aggregation); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.INTEGER_SYMBOL: + case SolverLanguagePackage.CALL: { - IntegerSymbol integerSymbol = (IntegerSymbol)theEObject; - T result = caseIntegerSymbol(integerSymbol); - if (result == null) result = caseDataSymbol(integerSymbol); - if (result == null) result = caseSymbol(integerSymbol); + Call call = (Call)theEObject; + T result = caseCall(call); + if (result == null) result = caseExpression(call); + if (result == null) result = caseStatement(call); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.REAL_SYMBOL: + case SolverLanguagePackage.ARGUMENT_LIST: { - RealSymbol realSymbol = (RealSymbol)theEObject; - T result = caseRealSymbol(realSymbol); - if (result == null) result = caseDataSymbol(realSymbol); - if (result == null) result = caseSymbol(realSymbol); + ArgumentList argumentList = (ArgumentList)theEObject; + T result = caseArgumentList(argumentList); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.STRING_SYMBOL: + case SolverLanguagePackage.ARGUMENT: { - StringSymbol stringSymbol = (StringSymbol)theEObject; - T result = caseStringSymbol(stringSymbol); - if (result == null) result = caseDataSymbol(stringSymbol); - if (result == null) result = caseSymbol(stringSymbol); + Argument argument = (Argument)theEObject; + T result = caseArgument(argument); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.COMPLEX_OBJECT: + case SolverLanguagePackage.EXPRESSION_ARGUMENT: { - ComplexObject complexObject = (ComplexObject)theEObject; - T result = caseComplexObject(complexObject); + ExpressionArgument expressionArgument = (ExpressionArgument)theEObject; + T result = caseExpressionArgument(expressionArgument); + if (result == null) result = caseArgument(expressionArgument); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.OBJECT: + case SolverLanguagePackage.STAR_ARGUMENT: { - org.eclipse.viatra.solver.language.solverLanguage.Object object = (org.eclipse.viatra.solver.language.solverLanguage.Object)theEObject; - T result = caseObject(object); - if (result == null) result = caseComplexObject(object); + StarArgument starArgument = (StarArgument)theEObject; + T result = caseStarArgument(starArgument); + if (result == null) result = caseArgument(starArgument); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.NAMED_OBJECT: + case SolverLanguagePackage.TYPED_ARGUMENT: { - NamedObject namedObject = (NamedObject)theEObject; - T result = caseNamedObject(namedObject); - if (result == null) result = caseObject(namedObject); - if (result == null) result = caseLiteral(namedObject); - if (result == null) result = caseComplexObject(namedObject); + TypedArgument typedArgument = (TypedArgument)theEObject; + T result = caseTypedArgument(typedArgument); + if (result == null) result = caseArgument(typedArgument); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.UNNAMED_OBJECT: + case SolverLanguagePackage.TYPED_STAR_ARGUMENT: { - UnnamedObject unnamedObject = (UnnamedObject)theEObject; - T result = caseUnnamedObject(unnamedObject); - if (result == null) result = caseObject(unnamedObject); - if (result == null) result = caseComplexObject(unnamedObject); + TypedStarArgument typedStarArgument = (TypedStarArgument)theEObject; + T result = caseTypedStarArgument(typedStarArgument); + if (result == null) result = caseArgument(typedStarArgument); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.DATA_OBJECT: + case SolverLanguagePackage.REFERENCE: { - DataObject dataObject = (DataObject)theEObject; - T result = caseDataObject(dataObject); - if (result == null) result = caseObject(dataObject); - if (result == null) result = caseLiteral(dataObject); - if (result == null) result = caseComplexObject(dataObject); + Reference reference = (Reference)theEObject; + T result = caseReference(reference); + if (result == null) result = caseExpression(reference); + if (result == null) result = caseStatement(reference); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.BOOLEAN_OBJECT: + case SolverLanguagePackage.INTERVAL: { - BooleanObject booleanObject = (BooleanObject)theEObject; - T result = caseBooleanObject(booleanObject); - if (result == null) result = caseDataObject(booleanObject); - if (result == null) result = caseObject(booleanObject); - if (result == null) result = caseLiteral(booleanObject); - if (result == null) result = caseComplexObject(booleanObject); + Interval interval = (Interval)theEObject; + T result = caseInterval(interval); + if (result == null) result = caseExpression(interval); + if (result == null) result = caseStatement(interval); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.INT_OBJECT: - { - IntObject intObject = (IntObject)theEObject; - T result = caseIntObject(intObject); - if (result == null) result = caseDataObject(intObject); - if (result == null) result = caseObject(intObject); - if (result == null) result = caseLiteral(intObject); - if (result == null) result = caseComplexObject(intObject); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.REAL_OBJECT: - { - RealObject realObject = (RealObject)theEObject; - T result = caseRealObject(realObject); - if (result == null) result = caseDataObject(realObject); - if (result == null) result = caseObject(realObject); - if (result == null) result = caseLiteral(realObject); - if (result == null) result = caseComplexObject(realObject); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.STRING_OBJECT: - { - StringObject stringObject = (StringObject)theEObject; - T result = caseStringObject(stringObject); - if (result == null) result = caseDataObject(stringObject); - if (result == null) result = caseObject(stringObject); - if (result == null) result = caseLiteral(stringObject); - if (result == null) result = caseComplexObject(stringObject); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.PREDICATE: - { - Predicate predicate = (Predicate)theEObject; - T result = casePredicate(predicate); - if (result == null) result = caseStatement(predicate); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.PARAMETER: - { - Parameter parameter = (Parameter)theEObject; - T result = caseParameter(parameter); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.PATTERN_BODY: + case SolverLanguagePackage.LITERAL: { - PatternBody patternBody = (PatternBody)theEObject; - T result = casePatternBody(patternBody); + Literal literal = (Literal)theEObject; + T result = caseLiteral(literal); + if (result == null) result = caseExpression(literal); + if (result == null) result = caseStatement(literal); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.POLARITY: + case SolverLanguagePackage.LOGIC_LITERAL: { - Polarity polarity = (Polarity)theEObject; - T result = casePolarity(polarity); + LogicLiteral logicLiteral = (LogicLiteral)theEObject; + T result = caseLogicLiteral(logicLiteral); + if (result == null) result = caseLiteral(logicLiteral); + if (result == null) result = caseExpression(logicLiteral); + if (result == null) result = caseStatement(logicLiteral); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.CONSTRAINT: + case SolverLanguagePackage.NUMERIC_LITERAL: { - Constraint constraint = (Constraint)theEObject; - T result = caseConstraint(constraint); + NumericLiteral numericLiteral = (NumericLiteral)theEObject; + T result = caseNumericLiteral(numericLiteral); + if (result == null) result = caseLiteral(numericLiteral); + if (result == null) result = caseExpression(numericLiteral); + if (result == null) result = caseStatement(numericLiteral); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.CLOSURE_TYPE: + case SolverLanguagePackage.INFINITY_LITERAL: { - ClosureType closureType = (ClosureType)theEObject; - T result = caseClosureType(closureType); + InfinityLiteral infinityLiteral = (InfinityLiteral)theEObject; + T result = caseInfinityLiteral(infinityLiteral); + if (result == null) result = caseLiteral(infinityLiteral); + if (result == null) result = caseExpression(infinityLiteral); + if (result == null) result = caseStatement(infinityLiteral); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.LITERAL: + case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL: { - Literal literal = (Literal)theEObject; - T result = caseLiteral(literal); + EmptyIntervalLiteral emptyIntervalLiteral = (EmptyIntervalLiteral)theEObject; + T result = caseEmptyIntervalLiteral(emptyIntervalLiteral); + if (result == null) result = caseLiteral(emptyIntervalLiteral); + if (result == null) result = caseExpression(emptyIntervalLiteral); + if (result == null) result = caseStatement(emptyIntervalLiteral); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.VARIABLE: + case SolverLanguagePackage.STRING_LITERAL: { - Variable variable = (Variable)theEObject; - T result = caseVariable(variable); - if (result == null) result = caseLiteral(variable); + StringLiteral stringLiteral = (StringLiteral)theEObject; + T result = caseStringLiteral(stringLiteral); + if (result == null) result = caseLiteral(stringLiteral); + if (result == null) result = caseExpression(stringLiteral); + if (result == null) result = caseStatement(stringLiteral); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.ALL_INSTANCES: + case SolverLanguagePackage.MEMBER_DEFINITION: { - AllInstances allInstances = (AllInstances)theEObject; - T result = caseAllInstances(allInstances); - if (result == null) result = caseComplexObject(allInstances); + MemberDefinition memberDefinition = (MemberDefinition)theEObject; + T result = caseMemberDefinition(memberDefinition); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.ALL_OBJECTS: + case SolverLanguagePackage.MULTIPLICITY: { - AllObjects allObjects = (AllObjects)theEObject; - T result = caseAllObjects(allObjects); - if (result == null) result = caseComplexObject(allObjects); + Multiplicity multiplicity = (Multiplicity)theEObject; + T result = caseMultiplicity(multiplicity); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.DEFAULT_INTERPRETATION: + case SolverLanguagePackage.MANY_MULTIPLICITY: { - DefaultInterpretation defaultInterpretation = (DefaultInterpretation)theEObject; - T result = caseDefaultInterpretation(defaultInterpretation); - if (result == null) result = caseInterpretation(defaultInterpretation); - if (result == null) result = caseStatement(defaultInterpretation); + ManyMultiplicity manyMultiplicity = (ManyMultiplicity)theEObject; + T result = caseManyMultiplicity(manyMultiplicity); + if (result == null) result = caseMultiplicity(manyMultiplicity); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.CD_INTERPRETATION: + case SolverLanguagePackage.EXACT_MULTIPLICITY: { - CDInterpretation cdInterpretation = (CDInterpretation)theEObject; - T result = caseCDInterpretation(cdInterpretation); - if (result == null) result = caseInterpretation(cdInterpretation); - if (result == null) result = caseStatement(cdInterpretation); + ExactMultiplicity exactMultiplicity = (ExactMultiplicity)theEObject; + T result = caseExactMultiplicity(exactMultiplicity); + if (result == null) result = caseMultiplicity(exactMultiplicity); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.CLASS_INTERPRETATION: + case SolverLanguagePackage.BOUNDED_MULTIPLICITY: { - ClassInterpretation classInterpretation = (ClassInterpretation)theEObject; - T result = caseClassInterpretation(classInterpretation); - if (result == null) result = caseCDInterpretation(classInterpretation); - if (result == null) result = caseInterpretation(classInterpretation); - if (result == null) result = caseStatement(classInterpretation); + BoundedMultiplicity boundedMultiplicity = (BoundedMultiplicity)theEObject; + T result = caseBoundedMultiplicity(boundedMultiplicity); + if (result == null) result = caseMultiplicity(boundedMultiplicity); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.ENUM_INTERPRETATION: + case SolverLanguagePackage.SCOPE_DEFINITION: { - EnumInterpretation enumInterpretation = (EnumInterpretation)theEObject; - T result = caseEnumInterpretation(enumInterpretation); - if (result == null) result = caseCDInterpretation(enumInterpretation); - if (result == null) result = caseInterpretation(enumInterpretation); - if (result == null) result = caseStatement(enumInterpretation); + ScopeDefinition scopeDefinition = (ScopeDefinition)theEObject; + T result = caseScopeDefinition(scopeDefinition); + if (result == null) result = caseStatement(scopeDefinition); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION: + case SolverLanguagePackage.EXACT_SCOPE_DEFINITION: { - FieldRelationInterpretation fieldRelationInterpretation = (FieldRelationInterpretation)theEObject; - T result = caseFieldRelationInterpretation(fieldRelationInterpretation); + ExactScopeDefinition exactScopeDefinition = (ExactScopeDefinition)theEObject; + T result = caseExactScopeDefinition(exactScopeDefinition); + if (result == null) result = caseScopeDefinition(exactScopeDefinition); + if (result == null) result = caseStatement(exactScopeDefinition); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION: + case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION: { - GlobalRelationInterpretation globalRelationInterpretation = (GlobalRelationInterpretation)theEObject; - T result = caseGlobalRelationInterpretation(globalRelationInterpretation); - if (result == null) result = caseCDInterpretation(globalRelationInterpretation); - if (result == null) result = caseInterpretation(globalRelationInterpretation); - if (result == null) result = caseStatement(globalRelationInterpretation); + BoundedScopeDefinition boundedScopeDefinition = (BoundedScopeDefinition)theEObject; + T result = caseBoundedScopeDefinition(boundedScopeDefinition); + if (result == null) result = caseScopeDefinition(boundedScopeDefinition); + if (result == null) result = caseStatement(boundedScopeDefinition); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.MULTIPLICITY_DEFINITION: + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION: { - MultiplicityDefinition multiplicityDefinition = (MultiplicityDefinition)theEObject; - T result = caseMultiplicityDefinition(multiplicityDefinition); + LowerBoundedScopeDefinition lowerBoundedScopeDefinition = (LowerBoundedScopeDefinition)theEObject; + T result = caseLowerBoundedScopeDefinition(lowerBoundedScopeDefinition); + if (result == null) result = caseScopeDefinition(lowerBoundedScopeDefinition); + if (result == null) result = caseStatement(lowerBoundedScopeDefinition); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.BOOLEAN_TRUE: + case SolverLanguagePackage.OBJECTIVE_DEFINITION: { - BooleanTrue booleanTrue = (BooleanTrue)theEObject; - T result = caseBooleanTrue(booleanTrue); - if (result == null) result = caseBooleanValue(booleanTrue); + ObjectiveDefinition objectiveDefinition = (ObjectiveDefinition)theEObject; + T result = caseObjectiveDefinition(objectiveDefinition); + if (result == null) result = caseStatement(objectiveDefinition); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.BOOLEAN_FALSE: + case SolverLanguagePackage.NAMED_ELEMENT: { - BooleanFalse booleanFalse = (BooleanFalse)theEObject; - T result = caseBooleanFalse(booleanFalse); - if (result == null) result = caseBooleanValue(booleanFalse); + NamedElement namedElement = (NamedElement)theEObject; + T result = caseNamedElement(namedElement); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.TRUE: + case SolverLanguagePackage.ASSERTION: { - True true_ = (True)theEObject; - T result = caseTrue(true_); - if (result == null) result = caseTruthValue(true_); + Assertion assertion = (Assertion)theEObject; + T result = caseAssertion(assertion); + if (result == null) result = caseStatement(assertion); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.FALSE: + case SolverLanguagePackage.DISJUNCTION: { - False false_ = (False)theEObject; - T result = caseFalse(false_); - if (result == null) result = caseTruthValue(false_); + Disjunction disjunction = (Disjunction)theEObject; + T result = caseDisjunction(disjunction); + if (result == null) result = caseExpression(disjunction); + if (result == null) result = caseStatement(disjunction); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.UNKNOWN: + case SolverLanguagePackage.SWITCH: { - Unknown unknown = (Unknown)theEObject; - T result = caseUnknown(unknown); - if (result == null) result = caseTruthValue(unknown); + org.eclipse.viatra.solver.language.solverLanguage.Switch switch_ = (org.eclipse.viatra.solver.language.solverLanguage.Switch)theEObject; + T result = caseSwitch(switch_); + if (result == null) result = caseExpression(switch_); + if (result == null) result = caseStatement(switch_); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.ERROR: + case SolverLanguagePackage.CONJUNCTION: { - org.eclipse.viatra.solver.language.solverLanguage.Error error = (org.eclipse.viatra.solver.language.solverLanguage.Error)theEObject; - T result = caseError(error); - if (result == null) result = caseTruthValue(error); + Conjunction conjunction = (Conjunction)theEObject; + T result = caseConjunction(conjunction); + if (result == null) result = caseExpression(conjunction); + if (result == null) result = caseStatement(conjunction); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.POSITIVE: + case SolverLanguagePackage.COMPARISON: { - Positive positive = (Positive)theEObject; - T result = casePositive(positive); - if (result == null) result = casePolarity(positive); + Comparison comparison = (Comparison)theEObject; + T result = caseComparison(comparison); + if (result == null) result = caseExpression(comparison); + if (result == null) result = caseStatement(comparison); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.NEGATIVE: + case SolverLanguagePackage.BINARY_EXPRESSION: { - Negative negative = (Negative)theEObject; - T result = caseNegative(negative); - if (result == null) result = casePolarity(negative); + BinaryExpression binaryExpression = (BinaryExpression)theEObject; + T result = caseBinaryExpression(binaryExpression); + if (result == null) result = caseExpression(binaryExpression); + if (result == null) result = caseStatement(binaryExpression); if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.REFLEXIVE_CLOSURE: + case SolverLanguagePackage.UNARY_EXPRESSION: { - ReflexiveClosure reflexiveClosure = (ReflexiveClosure)theEObject; - T result = caseReflexiveClosure(reflexiveClosure); - if (result == null) result = caseClosureType(reflexiveClosure); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.IRREFLEXIVE_CLOSURE: - { - IrreflexiveClosure irreflexiveClosure = (IrreflexiveClosure)theEObject; - T result = caseIrreflexiveClosure(irreflexiveClosure); - if (result == null) result = caseClosureType(irreflexiveClosure); + UnaryExpression unaryExpression = (UnaryExpression)theEObject; + T result = caseUnaryExpression(unaryExpression); + if (result == null) result = caseExpression(unaryExpression); + if (result == null) result = caseStatement(unaryExpression); if (result == null) result = defaultCase(theEObject); return result; } @@ -594,801 +498,705 @@ public class SolverLanguageSwitch extends Switch } /** - * Returns the result of interpreting the object as an instance of 'Boolean Value'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Boolean Value'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseBooleanValue(BooleanValue object) - { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of 'Truth Value'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Truth Value'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseTruthValue(TruthValue object) - { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of 'Interpretation'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Interpretation'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseInterpretation(Interpretation object) - { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of 'Basic Interpretation'. + * Returns the result of interpreting the object as an instance of 'Predicate Definition'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Basic Interpretation'. + * @return the result of interpreting the object as an instance of 'Predicate Definition'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseBasicInterpretation(BasicInterpretation object) + public T casePredicateDefinition(PredicateDefinition object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Symbol'. + * Returns the result of interpreting the object as an instance of 'Unnamed Error Prediate Definition'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Symbol'. + * @return the result of interpreting the object as an instance of 'Unnamed Error Prediate Definition'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseSymbol(Symbol object) + public T caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Model Symbol'. + * Returns the result of interpreting the object as an instance of 'Default Definition'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Model Symbol'. + * @return the result of interpreting the object as an instance of 'Default Definition'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseModelSymbol(ModelSymbol object) + public T caseDefaultDefinition(DefaultDefinition object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Partiality Symbol'. + * Returns the result of interpreting the object as an instance of 'Extern Predicate Definition'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Partiality Symbol'. + * @return the result of interpreting the object as an instance of 'Extern Predicate Definition'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T casePartialitySymbol(PartialitySymbol object) + public T caseExternPredicateDefinition(ExternPredicateDefinition object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Exist Symbol'. + * Returns the result of interpreting the object as an instance of 'Metric Definition'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Exist Symbol'. + * @return the result of interpreting the object as an instance of 'Metric Definition'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseExistSymbol(ExistSymbol object) + public T caseMetricDefinition(MetricDefinition object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Equals Symbol'. + * Returns the result of interpreting the object as an instance of 'Extern Metric Definition'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Equals Symbol'. + * @return the result of interpreting the object as an instance of 'Extern Metric Definition'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseEqualsSymbol(EqualsSymbol object) + public T caseExternMetricDefinition(ExternMetricDefinition object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Data Symbol'. + * Returns the result of interpreting the object as an instance of 'Expression'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Data Symbol'. + * @return the result of interpreting the object as an instance of 'Expression'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseDataSymbol(DataSymbol object) + public T caseExpression(Expression object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Boolean Symbol'. + * Returns the result of interpreting the object as an instance of 'If Else'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Boolean Symbol'. + * @return the result of interpreting the object as an instance of 'If Else'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseBooleanSymbol(BooleanSymbol object) + public T caseIfElse(IfElse object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Integer Symbol'. + * Returns the result of interpreting the object as an instance of 'Case'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Integer Symbol'. + * @return the result of interpreting the object as an instance of 'Case'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseIntegerSymbol(IntegerSymbol object) + public T caseCase(Case object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Real Symbol'. + * Returns the result of interpreting the object as an instance of 'Count'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Real Symbol'. + * @return the result of interpreting the object as an instance of 'Count'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseRealSymbol(RealSymbol object) + public T caseCount(Count object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'String Symbol'. + * Returns the result of interpreting the object as an instance of 'Aggregation'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'String Symbol'. + * @return the result of interpreting the object as an instance of 'Aggregation'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseStringSymbol(StringSymbol object) + public T caseAggregation(Aggregation object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Complex Object'. + * Returns the result of interpreting the object as an instance of 'Call'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Complex Object'. + * @return the result of interpreting the object as an instance of 'Call'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseComplexObject(ComplexObject object) + public T caseCall(Call object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Object'. + * Returns the result of interpreting the object as an instance of 'Argument List'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Object'. + * @return the result of interpreting the object as an instance of 'Argument List'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseObject(org.eclipse.viatra.solver.language.solverLanguage.Object object) + public T caseArgumentList(ArgumentList object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Named Object'. + * Returns the result of interpreting the object as an instance of 'Argument'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Named Object'. + * @return the result of interpreting the object as an instance of 'Argument'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseNamedObject(NamedObject object) + public T caseArgument(Argument object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Unnamed Object'. + * Returns the result of interpreting the object as an instance of 'Expression Argument'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Unnamed Object'. + * @return the result of interpreting the object as an instance of 'Expression Argument'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseUnnamedObject(UnnamedObject object) + public T caseExpressionArgument(ExpressionArgument object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Data Object'. + * Returns the result of interpreting the object as an instance of 'Star Argument'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Data Object'. + * @return the result of interpreting the object as an instance of 'Star Argument'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseDataObject(DataObject object) + public T caseStarArgument(StarArgument object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Boolean Object'. + * Returns the result of interpreting the object as an instance of 'Typed Argument'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Boolean Object'. + * @return the result of interpreting the object as an instance of 'Typed Argument'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseBooleanObject(BooleanObject object) + public T caseTypedArgument(TypedArgument object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Int Object'. + * Returns the result of interpreting the object as an instance of 'Typed Star Argument'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Int Object'. + * @return the result of interpreting the object as an instance of 'Typed Star Argument'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseIntObject(IntObject object) + public T caseTypedStarArgument(TypedStarArgument object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Real Object'. + * Returns the result of interpreting the object as an instance of 'Reference'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Real Object'. + * @return the result of interpreting the object as an instance of 'Reference'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseRealObject(RealObject object) + public T caseReference(Reference object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'String Object'. + * Returns the result of interpreting the object as an instance of 'Interval'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'String Object'. + * @return the result of interpreting the object as an instance of 'Interval'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseStringObject(StringObject object) + public T caseInterval(Interval object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Predicate'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Predicate'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T casePredicate(Predicate object) - { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of 'Parameter'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Parameter'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseParameter(Parameter object) - { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of 'Pattern Body'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Pattern Body'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T casePatternBody(PatternBody object) - { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of 'Polarity'. + * Returns the result of interpreting the object as an instance of 'Literal'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Polarity'. + * @return the result of interpreting the object as an instance of 'Literal'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T casePolarity(Polarity object) + public T caseLiteral(Literal object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Constraint'. + * Returns the result of interpreting the object as an instance of 'Logic Literal'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Constraint'. + * @return the result of interpreting the object as an instance of 'Logic Literal'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseConstraint(Constraint object) + public T caseLogicLiteral(LogicLiteral object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Closure Type'. + * Returns the result of interpreting the object as an instance of 'Numeric Literal'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Closure Type'. + * @return the result of interpreting the object as an instance of 'Numeric Literal'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseClosureType(ClosureType object) + public T caseNumericLiteral(NumericLiteral object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Literal'. + * Returns the result of interpreting the object as an instance of 'Infinity Literal'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Literal'. + * @return the result of interpreting the object as an instance of 'Infinity Literal'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseLiteral(Literal object) + public T caseInfinityLiteral(InfinityLiteral object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Variable'. + * Returns the result of interpreting the object as an instance of 'Empty Interval Literal'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Variable'. + * @return the result of interpreting the object as an instance of 'Empty Interval Literal'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseVariable(Variable object) + public T caseEmptyIntervalLiteral(EmptyIntervalLiteral object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'All Instances'. + * Returns the result of interpreting the object as an instance of 'String Literal'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'All Instances'. + * @return the result of interpreting the object as an instance of 'String Literal'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseAllInstances(AllInstances object) + public T caseStringLiteral(StringLiteral object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'All Objects'. + * Returns the result of interpreting the object as an instance of 'Member Definition'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'All Objects'. + * @return the result of interpreting the object as an instance of 'Member Definition'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseAllObjects(AllObjects object) + public T caseMemberDefinition(MemberDefinition object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Default Interpretation'. + * Returns the result of interpreting the object as an instance of 'Multiplicity'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Default Interpretation'. + * @return the result of interpreting the object as an instance of 'Multiplicity'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseDefaultInterpretation(DefaultInterpretation object) + public T caseMultiplicity(Multiplicity object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'CD Interpretation'. + * Returns the result of interpreting the object as an instance of 'Many Multiplicity'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'CD Interpretation'. + * @return the result of interpreting the object as an instance of 'Many Multiplicity'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseCDInterpretation(CDInterpretation object) + public T caseManyMultiplicity(ManyMultiplicity object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Class Interpretation'. + * Returns the result of interpreting the object as an instance of 'Exact Multiplicity'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Class Interpretation'. + * @return the result of interpreting the object as an instance of 'Exact Multiplicity'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseClassInterpretation(ClassInterpretation object) + public T caseExactMultiplicity(ExactMultiplicity object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Enum Interpretation'. + * Returns the result of interpreting the object as an instance of 'Bounded Multiplicity'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Enum Interpretation'. + * @return the result of interpreting the object as an instance of 'Bounded Multiplicity'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseEnumInterpretation(EnumInterpretation object) + public T caseBoundedMultiplicity(BoundedMultiplicity object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Field Relation Interpretation'. + * Returns the result of interpreting the object as an instance of 'Scope Definition'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Field Relation Interpretation'. + * @return the result of interpreting the object as an instance of 'Scope Definition'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseFieldRelationInterpretation(FieldRelationInterpretation object) + public T caseScopeDefinition(ScopeDefinition object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Global Relation Interpretation'. + * Returns the result of interpreting the object as an instance of 'Exact Scope Definition'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Global Relation Interpretation'. + * @return the result of interpreting the object as an instance of 'Exact Scope Definition'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseGlobalRelationInterpretation(GlobalRelationInterpretation object) + public T caseExactScopeDefinition(ExactScopeDefinition object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Multiplicity Definition'. + * Returns the result of interpreting the object as an instance of 'Bounded Scope Definition'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Multiplicity Definition'. + * @return the result of interpreting the object as an instance of 'Bounded Scope Definition'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseMultiplicityDefinition(MultiplicityDefinition object) + public T caseBoundedScopeDefinition(BoundedScopeDefinition object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Boolean True'. + * Returns the result of interpreting the object as an instance of 'Lower Bounded Scope Definition'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Boolean True'. + * @return the result of interpreting the object as an instance of 'Lower Bounded Scope Definition'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseBooleanTrue(BooleanTrue object) + public T caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Boolean False'. + * Returns the result of interpreting the object as an instance of 'Objective Definition'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Boolean False'. + * @return the result of interpreting the object as an instance of 'Objective Definition'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseBooleanFalse(BooleanFalse object) + public T caseObjectiveDefinition(ObjectiveDefinition object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'True'. + * Returns the result of interpreting the object as an instance of 'Named Element'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'True'. + * @return the result of interpreting the object as an instance of 'Named Element'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseTrue(True object) + public T caseNamedElement(NamedElement object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'False'. + * Returns the result of interpreting the object as an instance of 'Assertion'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'False'. + * @return the result of interpreting the object as an instance of 'Assertion'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseFalse(False object) + public T caseAssertion(Assertion object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Unknown'. + * Returns the result of interpreting the object as an instance of 'Disjunction'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Unknown'. + * @return the result of interpreting the object as an instance of 'Disjunction'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseUnknown(Unknown object) + public T caseDisjunction(Disjunction object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Error'. + * Returns the result of interpreting the object as an instance of 'Switch'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Error'. + * @return the result of interpreting the object as an instance of 'Switch'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseError(org.eclipse.viatra.solver.language.solverLanguage.Error object) + public T caseSwitch(org.eclipse.viatra.solver.language.solverLanguage.Switch object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Positive'. + * Returns the result of interpreting the object as an instance of 'Conjunction'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Positive'. + * @return the result of interpreting the object as an instance of 'Conjunction'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T casePositive(Positive object) + public T caseConjunction(Conjunction object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Negative'. + * Returns the result of interpreting the object as an instance of 'Comparison'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Negative'. + * @return the result of interpreting the object as an instance of 'Comparison'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseNegative(Negative object) + public T caseComparison(Comparison object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Reflexive Closure'. + * Returns the result of interpreting the object as an instance of 'Binary Expression'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Reflexive Closure'. + * @return the result of interpreting the object as an instance of 'Binary Expression'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseReflexiveClosure(ReflexiveClosure object) + public T caseBinaryExpression(BinaryExpression object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Irreflexive Closure'. + * Returns the result of interpreting the object as an instance of 'Unary Expression'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Irreflexive Closure'. + * @return the result of interpreting the object as an instance of 'Unary Expression'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseIrreflexiveClosure(IrreflexiveClosure object) + public T caseUnaryExpression(UnaryExpression object) { return null; } 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.validation; 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.validation; 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 generate solverLanguage "http://www.eclipse.org/viatra/solver/language/SolverLanguage" Problem: - statements+=Statement*; -Statement: Interpretation | Predicate; - -@Override terminal STRING returns ecore::EString: '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"'; -REALLiteral returns ecore::EBigDecimal: '-'? INT '.' INT; -INTLiteral returns ecore::EInt: '-'? INT; -BooleanValue: {BooleanTrue} 'true' | 'false' {BooleanFalse}; -TruthValue: {True} 'true' | {False} 'false' | {Unknown} 'unknown' | {Error} 'error' ; - - -/////////////////// -// Core grammar -/////////////////// -Interpretation: BasicInterpretation | DefaultInterpretation | CDInterpretation; - -BasicInterpretation: symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value = TruthValue; - -Symbol: ModelSymbol | PartialitySymbol | DataSymbol; - -ModelSymbol: name = ID; - -PartialitySymbol: ExistSymbol | EqualsSymbol; -ExistSymbol:'exists'{ExistSymbol}; -EqualsSymbol:'equals' {EqualsSymbol}; - -DataSymbol: BooleanSymbol | IntegerSymbol | RealSymbol | StringSymbol; -BooleanSymbol:'bool' {BooleanSymbol}; -IntegerSymbol:'int' {IntegerSymbol}; -RealSymbol: 'real' {RealSymbol}; -StringSymbol:'string' {StringSymbol}; - -ComplexObject: Object | AllInstances | AllObjects; - -Object: NamedObject | UnnamedObject | DataObject; -NamedObject: "'" name = ID "'"; -UnnamedObject: name = ID; -DataObject: BooleanObject | IntObject | RealObject | StringObject; -BooleanObject: value = BooleanValue; -IntObject: value = INTLiteral; -RealObject: value = REALLiteral; -StringObject: value = STRING; - -/////////////////// -// Predicte grammar -/////////////////// - -Predicate: - (isError?='error')? symbol = ModelSymbol ('(' (parameters += Parameter (',' parameters += Parameter)*)? ')')? ':-' ('false' | (bodies += PatternBody ('|' bodies += PatternBody)*)) '.' -; - -Parameter: variable = Variable (':' type = Symbol)?; -PatternBody: {PatternBody} ('true' | constraints += Constraint*) ; -Polarity: {Positive} '+' | {Negative} '-'; -Constraint: (polarity = Polarity)? symbol = ModelSymbol - (('(' params += Literal? (',' params += Literal)* ')')?) - | - (closureType=ClosureType '(' params += Literal? (',' params += Literal)* ')'); -ClosureType: {ReflexiveClosure} '*' | {IrreflexiveClosure} '+'; -Literal: Variable | DataObject | NamedObject; -Variable: name = ID; - -/////////////////// -// Complex Interpretation grammar -/////////////////// - -AllInstances: ':' symbol = Symbol; -AllObjects: {AllObjects} '*'; - -/////////////////// -// Defaul Interpretation grammar -/////////////////// -DefaultInterpretation: 'default' interpretation = BasicInterpretation; - -/////////////////// -// Advanced Class-Diagram interpretations -/////////////////// -CDInterpretation: ClassInterpretation | EnumInterpretation| GlobalRelationInterpretation; -ClassInterpretation: - (abstract?='abstract')? 'class' symbol = ModelSymbol ('extends' supertypes += ModelSymbol+)?'{' - fielt += FieldRelationInterpretation* - '}' -; -EnumInterpretation: 'enum' Symbol = ModelSymbol '{' objects+=NamedObject+ '}'; -FieldRelationInterpretation: (containment ?= 'containment')? symbol = ModelSymbol ':' multiplicity = MultiplicityDefinition? target = Symbol; -GlobalRelationInterpretation: (containment ?= 'containment')? 'relation' symbol = ModelSymbol ':' sourceMultiplicity = MultiplicityDefinition? source = Symbol targetMultiplicity = MultiplicityDefinition? target = Symbol; -MultiplicityDefinition: lower = INT '..' (upper = INT | unlimitedUpper?='*'); - -////SymbolIntroduction : Type | GlobalRelation | Predicate; -////Symbol: Type | Relation | Predicate | Variable | Element; -// -////////////////////// -//// Types -////////////////////// -// -//Type: TypeDeclaration | /*TypeDefinition |*/ TypeEnumeration; -// -//TypeDeclaration: -// abstract?= 'abstract' 'class' name = ID ('extends' supertypes += [Type] (',' supertypes += [Type])) '{' -// fieldDeclarations += FieldRelationDeclaration* -// '}' -//; -//TypeEnumeration: -// 'enum' name = ID 'extends' supertypes += [Type] (',' supertypes += [Type]) '{' -// (elements += Element)* -// '}' -//; -//Element: -// name = ID -//; -// -////////////////////// -//// Relations -////////////////////// -// -//Relation: FieldRelationDeclaration | GlobalRelationDeclaration | RelationEnumeration; -//GlobalRelation returns Relation: GlobalRelationDeclaration | /*RelationDefinition |*/ RelationEnumeration; -// -//FieldRelationDeclaration: -// containment?='containment' target = [Type] name = ID -//; -// -//GlobalRelationDeclaration: -// containment?='containment' 'relation' name = ID '(' source = [Type] ',' target = [Type] ')' -//; -// -//RelationEnumeration: -// 'relation' name = ID '{' links += Link* '}' -//; -// -//Link: '(' source = Element ',' target = Element ')'; -// -// -// -// -// -// -//Model: -// 'model' '{' -// atoms += Atom (',' atoms += Atom ) -// '}' -//; -//Atom: referredSymbol = [Symbol] '(' (params += Element (',' params += Element)*)? ')'; -// -//ScopeDeclaration: -// 'scope' -//; -// + (statements+=Statement)*; + +Statement: + ( + AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | ExternPredicateDefinition | + MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | ObjectiveDefinition + ) DOT; + +AssertionOrDefinition returns Statement: + Expression ( + {Assertion.body=current} (":" range=Expression)? | + {PredicateDefinition.head=current} ":-" body=Expression | + {MetricDefinition.head=current} "=" body=Expression + ); + +PredicateDefinition: + (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression; + +UnnamedErrorPrediateDefinition: + "error" argumentList=ArgumentList ":-" body=Expression; + +DefaultDefinition: + "default" head=Call ":" range=Expression; + +ExternPredicateDefinition: + "extern" head=Call "."; + +enum MetricType: + INT="int" | REAL="real"; + +MetricDefinition: + type=MetricType head=Expression "=" body=Expression; + +ExternMetricDefinition: + "extern" type=MetricType head=Call; + +Expression: + IfElse | DisjunctiveExpression; + +IfElse: + "if" condition=Expression "then" then=Expression "else" else=Expression; + +DisjunctiveExpression returns Expression: + ConjunctiveExpression ( + {Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ | + {Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)* + )?; + +Case: + condition=ConjunctiveExpression "->" body=ConjunctiveExpression; + +ConjunctiveExpression returns Expression: + ComparisonExpression ({Conjunction.children+=current} ("," children+=ComparisonExpression)+)?; + +enum BinaryOperator: + EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW; + +enum ComparisonOperator returns BinaryOperator: + EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in"; + +ComparisonExpression returns Expression: + AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?; + +enum AdditiveBinaryOperator returns BinaryOperator: + ADD="+" | SUB="-"; + +AdditiveExpression returns Expression: + MultiplicativeExpression ({BinaryExpression.left=current} op=AdditiveBinaryOperator right=MultiplicativeExpression)*; + +enum MultiplicativeBinaryOperator returns BinaryOperator: + MUL="*" | DIV="/"; + +MultiplicativeExpression returns Expression: + ExponentialExpression ({BinaryExpression.left=current} op=MultiplicativeBinaryOperator right=ExponentialExpression)*; + +enum ExponentialOp returns BinaryOperator: + POW="^"; + +ExponentialExpression returns Expression: + UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?; + +enum UnaryOp: + NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current"; + +UnaryExpression returns Expression: + AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression; + +AggregationExpression returns Expression: + AtomicExpression | Count | Aggregation; + +Count: + "count" "{" body=Expression "}"; + +enum AggregationOp: + ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max"; + +Aggregation: + op=AggregationOp "{" body=Expression "|" condition=Expression "}"; + +AtomicExpression returns Expression: + Reference ({Call.functor=current} -> argumentList=ArgumentList)? | Interval | Literal | "(" Expression ")"; + +Call: + functor=Reference (transitiveClosure?=STAR | reflexiveTransitiveClosure?=PLUS)? argumentList=ArgumentList; + +ArgumentList: + {ArgumentList} "(" (arguments+=Argument ("," arguments+=Argument)*)? ")"; + +Argument: + ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument; + +ExpressionArgument: + body=ComparisonExpression; + +StarArgument: + {StarArgument} "*"; + +TypedArgument: + type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName]; + +TypedStarArgument: + type=[NamedElement|QualifiedName] "*"; + +Reference: + referred=[NamedElement|QualifiedName]; + +Interval: + "[" lowerBound=Expression ".." upperBound=Expression "]"; + +Literal: + LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral; + +enum LogicValue: + TRUE="true" | FALSE="false" | UNKNOWN="unknown" | ERROR="error"; + +LogicLiteral: + value=LogicValue; + +NumericLiteral: + value=Real; + +InfinityLiteral: + {InfinityLiteral} "inf"; + +EmptyIntervalLiteral: + {EmptyIntervalLiteral} "empty"; + +StringLiteral: + value=STRING; + +ClassDefinition returns Statement: + abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," superclasses+=[NamedElement|QualifiedName])*)? + "{" members+=MemberDefinition* "}"; + +MemberDefinition: + containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite" opposite=[NamedElement|QualifiedName])? ";"?; + +Multiplicity: + ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity; + +ManyMultiplicity: + {ManyMultiplicity} "[" "]"; + +ExactMultiplicity: + "[" multiplicity=UpperMultiplicty "]"; + +BoundedMultiplicity: + "[" lowerBound=INT ".." upperBound=UpperMultiplicty "]"; + +ScopeDefinition: + ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition; + +ExactScopeDefinition: + "scope" type=[NamedElement|QualifiedName] "==" exactScope=INT; + +BoundedScopeDefinition: + "scope" ( + (lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | + upperBound=INT ">=" type=[NamedElement|QualifiedName] (">=" lowerBound=INT)? + ) "."; + +LowerBoundedScopeDefinition: + "scope" ( + lowerBound=INT "<=" type=[NamedElement|QualifiedName] | + type=[NamedElement|QualifiedName] ">=" lowerBound=INT + ) "."; + +enum ObjectiveKind: + MINIMIZE="minimize" | MAXIMIZE="maximize"; + +ObjectiveDefinition: + kind=ObjectiveKind objective=Expression; + +UpperMultiplicty returns ecore::EInt: + INT | "*"; + +Real returns ecore::EBigDecimal hidden(): + INT ("." INT)?; + +QualifiedName hidden(): + ID ("." ID)* | QUOTED_ID; + +@Override +terminal STRING returns ecore::EString: + '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"'; + +terminal QUOTED_ID returns ecore::EString: + '\'' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'\'') )* '\''; + +terminal PLUS: + "synthetic::plus"; + +terminal STAR: + "synthetic::star"; + +terminal DOT: + "synthetic::dot"; + +NamedElement: + name=QualifiedName; + 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 @@ /* - * generated by Xtext 2.18.0.M3 + * generated by Xtext 2.21.0 */ package org.eclipse.viatra.solver.language.validation -- cgit v1.2.3-54-g00ecf