From b3c1c5b30ae8ea7ebad391c9250b4509d5a4cc9b Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Tue, 19 May 2020 21:18:06 +0200 Subject: Config language WIP --- .../org.eclipse.viatra.solver.language/.classpath | 19 +- .../language/solverLanguage/Aggregation.java | 115 + .../solver/language/solverLanguage/Argument.java | 19 + .../language/solverLanguage/ArgumentList.java | 39 + .../language/solverLanguage/BinaryExpression.java | 95 + .../language/solverLanguage/BinaryOperator.java | 463 ++ .../solverLanguage/BoundedMultiplicity.java | 69 + .../solverLanguage/BoundedScopeDefinition.java | 69 + .../solver/language/solverLanguage/Call.java | 115 + .../solver/language/solverLanguage/Case.java | 69 + .../language/solverLanguage/CastExpression.java | 69 + .../language/solverLanguage/ClassDefinition.java | 96 + .../solver/language/solverLanguage/Comparison.java | 95 + .../language/solverLanguage/Conjunction.java | 37 + .../language/solverLanguage/DefaultDefinition.java | 69 + .../language/solverLanguage/Disjunction.java | 37 + .../solverLanguage/EmptyIntervalLiteral.java | 18 + .../language/solverLanguage/ExactMultiplicity.java | 46 + .../solverLanguage/ExactScopeDefinition.java | 46 + .../solver/language/solverLanguage/Expression.java | 18 + .../solverLanguage/ExpressionArgument.java | 46 + .../solverLanguage/ExternAggregatorDefinition.java | 92 + .../solverLanguage/ExternDatatypeDefinition.java | 60 + .../solverLanguage/ExternMetricDefinition.java | 92 + .../solverLanguage/ExternPredicateDefinition.java | 69 + .../solver/language/solverLanguage/Functor.java | 37 + .../solver/language/solverLanguage/IfElse.java | 92 + .../language/solverLanguage/InfinityLiteral.java | 18 + .../language/solverLanguage/Interpretation.java | 69 + .../solver/language/solverLanguage/Interval.java | 69 + .../viatra/solver/language/solverLanguage/Let.java | 60 + .../solver/language/solverLanguage/LetBinding.java | 70 + .../solver/language/solverLanguage/Literal.java | 18 + .../language/solverLanguage/LocalVariables.java | 39 + .../language/solverLanguage/LogicLiteral.java | 49 + .../solver/language/solverLanguage/LogicValue.java | 256 + .../LowerBoundedScopeDefinition.java | 46 + .../language/solverLanguage/ManyMultiplicity.java | 18 + .../language/solverLanguage/MemberDefinition.java | 139 + .../solver/language/solverLanguage/Metric.java | 46 + .../language/solverLanguage/MetricDefinition.java | 92 + .../language/solverLanguage/Multiplicity.java | 19 + .../language/solverLanguage/NamedElement.java | 47 + .../solver/language/solverLanguage/Node.java | 46 + .../language/solverLanguage/NumericLiteral.java | 47 + .../solverLanguage/ObjectiveDefinition.java | 72 + .../language/solverLanguage/ObjectiveKind.java | 210 + .../solver/language/solverLanguage/Predicate.java | 18 + .../solverLanguage/PredicateDefinition.java | 115 + .../solver/language/solverLanguage/Problem.java | 39 + .../solverLanguage/QuantifiedExpression.java | 95 + .../solver/language/solverLanguage/Quantifier.java | 233 + .../solver/language/solverLanguage/Reference.java | 46 + .../language/solverLanguage/ScopeDefinition.java | 46 + .../solverLanguage/SolverLanguageFactory.java | 538 ++ .../solverLanguage/SolverLanguagePackage.java | 5191 +++++++++++++++++ .../language/solverLanguage/StarArgument.java | 18 + .../solver/language/solverLanguage/Statement.java | 19 + .../language/solverLanguage/StringLiteral.java | 46 + .../solver/language/solverLanguage/Switch.java | 37 + .../language/solverLanguage/TypedArgument.java | 69 + .../language/solverLanguage/TypedStarArgument.java | 46 + .../language/solverLanguage/UnaryExpression.java | 72 + .../solver/language/solverLanguage/UnaryOp.java | 302 + .../UnnamedErrorPrediateDefinition.java | 69 + .../solver/language/solverLanguage/Variable.java | 46 + .../solverLanguage/impl/AggregationImpl.java | 378 ++ .../language/solverLanguage/impl/ArgumentImpl.java | 40 + .../solverLanguage/impl/ArgumentListImpl.java | 154 + .../solverLanguage/impl/BinaryExpressionImpl.java | 317 ++ .../impl/BoundedMultiplicityImpl.java | 221 + .../impl/BoundedScopeDefinitionImpl.java | 221 + .../language/solverLanguage/impl/CallImpl.java | 373 ++ .../language/solverLanguage/impl/CaseImpl.java | 246 + .../solverLanguage/impl/CastExpressionImpl.java | 241 + .../solverLanguage/impl/ClassDefinitionImpl.java | 318 ++ .../solverLanguage/impl/ComparisonImpl.java | 317 ++ .../solverLanguage/impl/ConjunctionImpl.java | 152 + .../solverLanguage/impl/DefaultDefinitionImpl.java | 247 + .../solverLanguage/impl/DisjunctionImpl.java | 152 + .../impl/EmptyIntervalLiteralImpl.java | 38 + .../solverLanguage/impl/ExactMultiplicityImpl.java | 165 + .../impl/ExactScopeDefinitionImpl.java | 165 + .../impl/ExpressionArgumentImpl.java | 178 + .../solverLanguage/impl/ExpressionImpl.java | 38 + .../impl/ExternAggregatorDefinitionImpl.java | 291 + .../impl/ExternDatatypeDefinitionImpl.java | 208 + .../impl/ExternMetricDefinitionImpl.java | 311 + .../impl/ExternPredicateDefinitionImpl.java | 248 + .../language/solverLanguage/impl/FunctorImpl.java | 134 + .../language/solverLanguage/impl/IfElseImpl.java | 314 + .../solverLanguage/impl/InfinityLiteralImpl.java | 38 + .../solverLanguage/impl/InterpretationImpl.java | 246 + .../language/solverLanguage/impl/IntervalImpl.java | 246 + .../solverLanguage/impl/LetBindingImpl.java | 248 + .../language/solverLanguage/impl/LetImpl.java | 224 + .../language/solverLanguage/impl/LiteralImpl.java | 38 + .../solverLanguage/impl/LocalVariablesImpl.java | 154 + .../solverLanguage/impl/LogicLiteralImpl.java | 166 + .../impl/LowerBoundedScopeDefinitionImpl.java | 165 + .../solverLanguage/impl/ManyMultiplicityImpl.java | 38 + .../solverLanguage/impl/MemberDefinitionImpl.java | 430 ++ .../solverLanguage/impl/MetricDefinitionImpl.java | 309 + .../language/solverLanguage/impl/MetricImpl.java | 159 + .../solverLanguage/impl/MultiplicityImpl.java | 40 + .../solverLanguage/impl/NamedElementImpl.java | 166 + .../language/solverLanguage/impl/NodeImpl.java | 165 + .../solverLanguage/impl/NumericLiteralImpl.java | 167 + .../impl/ObjectiveDefinitionImpl.java | 249 + .../impl/PredicateDefinitionImpl.java | 372 ++ .../solverLanguage/impl/PredicateImpl.java | 38 + .../language/solverLanguage/impl/ProblemImpl.java | 154 + .../impl/QuantifiedExpressionImpl.java | 318 ++ .../solverLanguage/impl/ReferenceImpl.java | 159 + .../solverLanguage/impl/ScopeDefinitionImpl.java | 159 + .../impl/SolverLanguageFactoryImpl.java | 905 +++ .../impl/SolverLanguagePackageImpl.java | 2726 +++++++++ .../solverLanguage/impl/StarArgumentImpl.java | 38 + .../solverLanguage/impl/StatementImpl.java | 40 + .../solverLanguage/impl/StringLiteralImpl.java | 165 + .../language/solverLanguage/impl/SwitchImpl.java | 152 + .../solverLanguage/impl/TypedArgumentImpl.java | 221 + .../solverLanguage/impl/TypedStarArgumentImpl.java | 159 + .../solverLanguage/impl/UnaryExpressionImpl.java | 249 + .../impl/UnnamedErrorPrediateDefinitionImpl.java | 247 + .../language/solverLanguage/impl/VariableImpl.java | 159 + .../util/SolverLanguageAdapterFactory.java | 1147 ++++ .../solverLanguage/util/SolverLanguageSwitch.java | 1388 +++++ .../model/SolverLanguage.ecore | 291 + .../model/SolverLanguage.genmodel | 249 + .../model/generated/SolverLanguage.ecore | 243 - .../model/generated/SolverLanguage.genmodel | 211 - .../plugin.properties | 4 + .../org.eclipse.viatra.solver.language/plugin.xml | 2 +- .../viatra/solver/language/SolverLanguage.xtextbin | Bin 11964 -> 13021 bytes .../SolverLanguageStandaloneSetupGenerated.java | 5 - .../antlr/internal/InternalSolverLanguageParser.g | 1085 +++- .../internal/InternalSolverLanguageParser.java | 5984 +++++++++++++------- .../internal/InternalSolverLanguageParser.tokens | 147 +- .../antlr/lexer/InternalSolverLanguageLexer.g | 46 +- .../antlr/lexer/InternalSolverLanguageLexer.java | 1673 ++---- .../antlr/lexer/InternalSolverLanguageLexer.tokens | 147 +- .../SolverLanguageSemanticSequencer.java | 511 +- .../SolverLanguageSyntacticSequencer.java | 14 +- .../services/SolverLanguageGrammarAccess.java | 1153 ++-- .../language/solverLanguage/Aggregation.java | 96 - .../language/solverLanguage/AggregationOp.java | 317 -- .../solver/language/solverLanguage/Argument.java | 20 - .../language/solverLanguage/ArgumentList.java | 40 - .../solver/language/solverLanguage/Assertion.java | 70 - .../language/solverLanguage/BinaryExpression.java | 96 - .../language/solverLanguage/BinaryOperator.java | 455 -- .../solverLanguage/BoundedMultiplicity.java | 70 - .../solverLanguage/BoundedScopeDefinition.java | 70 - .../solver/language/solverLanguage/Call.java | 116 - .../solver/language/solverLanguage/Case.java | 70 - .../language/solverLanguage/ClassDefinition.java | 97 - .../solver/language/solverLanguage/Comparison.java | 96 - .../language/solverLanguage/Conjunction.java | 38 - .../solver/language/solverLanguage/Count.java | 47 - .../language/solverLanguage/DefaultDefinition.java | 70 - .../language/solverLanguage/Disjunction.java | 38 - .../solverLanguage/EmptyIntervalLiteral.java | 19 - .../language/solverLanguage/ExactMultiplicity.java | 47 - .../solverLanguage/ExactScopeDefinition.java | 47 - .../solver/language/solverLanguage/Expression.java | 19 - .../solverLanguage/ExpressionArgument.java | 47 - .../solverLanguage/ExternMetricDefinition.java | 73 - .../solverLanguage/ExternPredicateDefinition.java | 47 - .../solver/language/solverLanguage/IfElse.java | 93 - .../language/solverLanguage/InfinityLiteral.java | 19 - .../solver/language/solverLanguage/Interval.java | 70 - .../solver/language/solverLanguage/Literal.java | 19 - .../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/Multiplicity.java | 20 - .../language/solverLanguage/NamedElement.java | 48 - .../language/solverLanguage/NumericLiteral.java | 48 - .../solverLanguage/ObjectiveDefinition.java | 73 - .../language/solverLanguage/ObjectiveKind.java | 225 - .../solverLanguage/PredicateDefinition.java | 116 - .../solver/language/solverLanguage/Problem.java | 40 - .../solver/language/solverLanguage/Reference.java | 47 - .../language/solverLanguage/ScopeDefinition.java | 47 - .../solverLanguage/SolverLanguageFactory.java | 458 -- .../solverLanguage/SolverLanguagePackage.java | 4143 -------------- .../language/solverLanguage/StarArgument.java | 19 - .../solver/language/solverLanguage/Statement.java | 20 - .../language/solverLanguage/StringLiteral.java | 47 - .../solver/language/solverLanguage/Switch.java | 38 - .../language/solverLanguage/TypedArgument.java | 70 - .../language/solverLanguage/TypedStarArgument.java | 47 - .../language/solverLanguage/UnaryExpression.java | 73 - .../solver/language/solverLanguage/UnaryOp.java | 317 -- .../UnnamedErrorPrediateDefinition.java | 70 - .../solverLanguage/impl/AggregationImpl.java | 343 -- .../language/solverLanguage/impl/ArgumentImpl.java | 43 - .../solverLanguage/impl/ArgumentListImpl.java | 169 - .../solverLanguage/impl/AssertionImpl.java | 269 - .../solverLanguage/impl/BinaryExpressionImpl.java | 343 -- .../impl/BoundedMultiplicityImpl.java | 237 - .../impl/BoundedScopeDefinitionImpl.java | 237 - .../language/solverLanguage/impl/CallImpl.java | 401 -- .../language/solverLanguage/impl/CaseImpl.java | 269 - .../solverLanguage/impl/ClassDefinitionImpl.java | 340 -- .../solverLanguage/impl/ComparisonImpl.java | 343 -- .../solverLanguage/impl/ConjunctionImpl.java | 167 - .../language/solverLanguage/impl/CountImpl.java | 196 - .../solverLanguage/impl/DefaultDefinitionImpl.java | 270 - .../solverLanguage/impl/DisjunctionImpl.java | 167 - .../impl/EmptyIntervalLiteralImpl.java | 41 - .../solverLanguage/impl/ExactMultiplicityImpl.java | 179 - .../impl/ExactScopeDefinitionImpl.java | 179 - .../impl/ExpressionArgumentImpl.java | 196 - .../solverLanguage/impl/ExpressionImpl.java | 41 - .../impl/ExternMetricDefinitionImpl.java | 270 - .../impl/ExternPredicateDefinitionImpl.java | 196 - .../language/solverLanguage/impl/IfElseImpl.java | 342 -- .../solverLanguage/impl/InfinityLiteralImpl.java | 41 - .../language/solverLanguage/impl/IntervalImpl.java | 269 - .../language/solverLanguage/impl/LiteralImpl.java | 41 - .../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/MultiplicityImpl.java | 43 - .../solverLanguage/impl/NamedElementImpl.java | 180 - .../solverLanguage/impl/NumericLiteralImpl.java | 181 - .../impl/ObjectiveDefinitionImpl.java | 270 - .../impl/PredicateDefinitionImpl.java | 400 -- .../language/solverLanguage/impl/ProblemImpl.java | 169 - .../solverLanguage/impl/ReferenceImpl.java | 175 - .../solverLanguage/impl/ScopeDefinitionImpl.java | 175 - .../impl/SolverLanguageFactoryImpl.java | 894 --- .../impl/SolverLanguagePackageImpl.java | 2379 -------- .../solverLanguage/impl/StarArgumentImpl.java | 41 - .../solverLanguage/impl/StatementImpl.java | 43 - .../solverLanguage/impl/StringLiteralImpl.java | 179 - .../language/solverLanguage/impl/SwitchImpl.java | 167 - .../solverLanguage/impl/TypedArgumentImpl.java | 242 - .../solverLanguage/impl/TypedStarArgumentImpl.java | 175 - .../solverLanguage/impl/UnaryExpressionImpl.java | 270 - .../impl/UnnamedErrorPrediateDefinitionImpl.java | 270 - .../util/SolverLanguageAdapterFactory.java | 1053 ---- .../solverLanguage/util/SolverLanguageSwitch.java | 1245 ---- .../AbstractSolverLanguageValidator.java | 2 +- .../solver/language/GenerateSolverLanguage.mwe2 | 1 + .../viatra/solver/language/SolverLanguage.xtext | 71 +- ....SolverLanguageTokenDefInjectingParser.xtendbin | Bin 2742 -> 2742 bytes ...nguageSyntheticTokenSyntacticSequencer.xtendbin | Bin 2758 -> 2758 bytes 256 files changed, 35228 insertions(+), 29154 deletions(-) create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregatorDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Let.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LocalVariables.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/QuantifiedExpression.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Quantifier.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregatorDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LocalVariablesImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/QuantifiedExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java create mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java create mode 100644 Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore create mode 100644 Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel delete mode 100644 Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore delete mode 100644 Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel create mode 100644 Application/org.eclipse.viatra.solver.language/plugin.properties delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java delete 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/Argument.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java delete 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/BinaryExpression.java delete 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/BoundedMultiplicity.java delete 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/Call.java delete 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/ClassDefinition.java delete 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/Conjunction.java delete 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/DefaultDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java delete 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/ExactMultiplicity.java delete 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/Expression.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java delete 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/IfElse.java delete 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/Interval.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java delete 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/Multiplicity.java delete 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/NumericLiteral.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java delete 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/PredicateDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java delete 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/ScopeDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java delete 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/Switch.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java delete 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/UnnamedErrorPrediateDefinition.java delete 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/ArgumentImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java delete 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/BinaryExpressionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java delete 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/CallImpl.java delete 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/ClassDefinitionImpl.java delete 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/ConjunctionImpl.java delete 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/DefaultDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java delete 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/ExactMultiplicityImpl.java delete 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/ExpressionArgumentImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java delete 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/IfElseImpl.java delete 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/IntervalImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java delete 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/MultiplicityImpl.java delete 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/NumericLiteralImpl.java delete 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/PredicateDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java delete 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/ScopeDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java delete 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/SwitchImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java delete 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/UnnamedErrorPrediateDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java (limited to 'Application/org.eclipse.viatra.solver.language') diff --git a/Application/org.eclipse.viatra.solver.language/.classpath b/Application/org.eclipse.viatra.solver.language/.classpath index 1287f96c..6b0b4bdb 100644 --- a/Application/org.eclipse.viatra.solver.language/.classpath +++ b/Application/org.eclipse.viatra.solver.language/.classpath @@ -1,9 +1,10 @@ - - - - - - - - - + + + + + + + + + + diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java new file mode 100644 index 00000000..f6159bd8 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java @@ -0,0 +1,115 @@ +/** + * 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: + *

+ * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation() + * @model + * @generated + */ +public interface Aggregation extends Expression { + /** + * Returns the value of the 'Op' reference. + * + * + * @return the value of the 'Op' reference. + * @see #setOp(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Op() + * @model + * @generated + */ + NamedElement getOp(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp Op}' reference. + * + * + * @param value the new value of the 'Op' reference. + * @see #getOp() + * @generated + */ + void setOp(NamedElement value); + + /** + * Returns the value of the 'Local Variables' containment reference. + * + * + * @return the value of the 'Local Variables' containment reference. + * @see #setLocalVariables(LocalVariables) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_LocalVariables() + * @model containment="true" + * @generated + */ + LocalVariables getLocalVariables(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getLocalVariables Local Variables}' containment reference. + * + * + * @param value the new value of the 'Local Variables' containment reference. + * @see #getLocalVariables() + * @generated + */ + void setLocalVariables(LocalVariables 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java new file mode 100644 index 00000000..3f5d1b45 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java @@ -0,0 +1,19 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java new file mode 100644 index 00000000..2be01423 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java @@ -0,0 +1,39 @@ +/** + * 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: + *

+ * + * + * @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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java new file mode 100644 index 00000000..6b50beba --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java @@ -0,0 +1,95 @@ +/** + * 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: + *

+ * + * + * @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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java new file mode 100644 index 00000000..ce34afc7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java @@ -0,0 +1,463 @@ +/** + * 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 'IMPLIES' literal object. + * + * + * @see #IMPLIES_VALUE + * @generated + * @ordered + */ + IMPLIES(12, "IMPLIES", "IMPLIES"); + + /** + * 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; + + /** + * The 'IMPLIES' literal value. + * + * + * @see #IMPLIES + * @model + * @generated + * @ordered + */ + public static final int IMPLIES_VALUE = 12; + + /** + * 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, + IMPLIES, + }; + + /** + * 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; + case IMPLIES_VALUE: return IMPLIES; + } + 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java new file mode 100644 index 00000000..e0cea7d4 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java @@ -0,0 +1,69 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java new file mode 100644 index 00000000..81f87193 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java @@ -0,0 +1,69 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java new file mode 100644 index 00000000..ab0940bb --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java @@ -0,0 +1,115 @@ +/** + * 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#isTransitiveClosure Transitive Closure}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure Reflexive Transitive Closure}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList Argument List}
  • + *
+ * + * @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 '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); + + /** + * 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); + +} // Call diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java new file mode 100644 index 00000000..f2d2e5a7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java @@ -0,0 +1,69 @@ +/** + * 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#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition Condition}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase() + * @model + * @generated + */ +public interface Case 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#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); + + /** + * 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); + +} // Case diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java new file mode 100644 index 00000000..d8fe4945 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java @@ -0,0 +1,69 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Cast Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getType Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCastExpression() + * @model + * @generated + */ +public interface CastExpression 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#getCastExpression_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression#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' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCastExpression_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement value); + +} // CastExpression diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java new file mode 100644 index 00000000..0963c7a1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java @@ -0,0 +1,96 @@ +/** + * 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 'Class Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract Abstract}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses Superclasses}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers Members}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition() + * @model + * @generated + */ +public interface ClassDefinition extends Statement { + /** + * 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#getClassDefinition_Abstract() + * @model + * @generated + */ + boolean isAbstract(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#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#getClassDefinition_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#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#getClassDefinition_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#getClassDefinition_Members() + * @model containment="true" + * @generated + */ + EList getMembers(); + +} // ClassDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java new file mode 100644 index 00000000..5187c5db --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java @@ -0,0 +1,95 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java new file mode 100644 index 00000000..788f5a97 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java @@ -0,0 +1,37 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java new file mode 100644 index 00000000..ac5f6f32 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java @@ -0,0 +1,69 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java new file mode 100644 index 00000000..eb1cafde --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java @@ -0,0 +1,37 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java new file mode 100644 index 00000000..b3e5ccf7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java @@ -0,0 +1,18 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java new file mode 100644 index 00000000..666c2f43 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java @@ -0,0 +1,46 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java new file mode 100644 index 00000000..035329e2 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java @@ -0,0 +1,46 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java new file mode 100644 index 00000000..2034cdfd --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java @@ -0,0 +1,18 @@ +/** + * 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 abstract="true" + * @generated + */ +public interface Expression extends Statement { +} // Expression diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java new file mode 100644 index 00000000..26f6142e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java @@ -0,0 +1,46 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregatorDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregatorDefinition.java new file mode 100644 index 00000000..eb6b8cdf --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregatorDefinition.java @@ -0,0 +1,92 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Extern Aggregator Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getType Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getInputType Input Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternAggregatorDefinition() + * @model + * @generated + */ +public interface ExternAggregatorDefinition 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#getExternAggregatorDefinition_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement 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#getExternAggregatorDefinition_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Input Type' reference. + * + * + * @return the value of the 'Input Type' reference. + * @see #setInputType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternAggregatorDefinition_InputType() + * @model + * @generated + */ + NamedElement getInputType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getInputType Input Type}' reference. + * + * + * @param value the new value of the 'Input Type' reference. + * @see #getInputType() + * @generated + */ + void setInputType(NamedElement value); + +} // ExternAggregatorDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDefinition.java new file mode 100644 index 00000000..a0fb33eb --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDefinition.java @@ -0,0 +1,60 @@ +/** + * 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 'Extern Datatype Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getSupertypes Supertypes}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternDatatypeDefinition() + * @model + * @generated + */ +public interface ExternDatatypeDefinition extends Statement { + /** + * 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#getExternDatatypeDefinition_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Supertypes' reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}. + * + * + * @return the value of the 'Supertypes' reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternDatatypeDefinition_Supertypes() + * @model + * @generated + */ + EList getSupertypes(); + +} // ExternDatatypeDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java new file mode 100644 index 00000000..45cac1e2 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java @@ -0,0 +1,92 @@ +/** + * 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#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getArgumentList Argument List}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition() + * @model + * @generated + */ +public interface ExternMetricDefinition 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#getExternMetricDefinition_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement 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#getExternMetricDefinition_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String 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#getExternMetricDefinition_ArgumentList() + * @model containment="true" + * @generated + */ + ArgumentList getArgumentList(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getArgumentList Argument List}' containment reference. + * + * + * @param value the new value of the 'Argument List' containment reference. + * @see #getArgumentList() + * @generated + */ + void setArgumentList(ArgumentList value); + +} // ExternMetricDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java new file mode 100644 index 00000000..647f7b91 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java @@ -0,0 +1,69 @@ +/** + * 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#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getArgumentList Argument List}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternPredicateDefinition() + * @model + * @generated + */ +public interface ExternPredicateDefinition extends Statement { + /** + * 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#getExternPredicateDefinition_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String 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#getExternPredicateDefinition_ArgumentList() + * @model containment="true" + * @generated + */ + ArgumentList getArgumentList(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getArgumentList Argument List}' containment reference. + * + * + * @param value the new value of the 'Argument List' containment reference. + * @see #getArgumentList() + * @generated + */ + void setArgumentList(ArgumentList value); + +} // ExternPredicateDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java new file mode 100644 index 00000000..45861d3e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java @@ -0,0 +1,37 @@ +/** + * 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 'Functor'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Functor#getParameters Parameters}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFunctor() + * @model abstract="true" + * @generated + */ +public interface Functor extends NamedElement { + /** + * Returns the value of the 'Parameters' reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Variable}. + * + * + * @return the value of the 'Parameters' reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFunctor_Parameters() + * @model + * @generated + */ + EList getParameters(); + +} // Functor diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java new file mode 100644 index 00000000..d32ca1e3 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java @@ -0,0 +1,92 @@ +/** + * 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#getThen Then}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse Else}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition Condition}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse() + * @model + * @generated + */ +public interface IfElse extends Expression { + /** + * 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); + + /** + * 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); + +} // IfElse diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java new file mode 100644 index 00000000..5a584019 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java @@ -0,0 +1,18 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java new file mode 100644 index 00000000..4d1b6b77 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java @@ -0,0 +1,69 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Interpretation'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getRange Range}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterpretation() + * @model + * @generated + */ +public interface Interpretation 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#getInterpretation_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation#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#getInterpretation_Range() + * @model containment="true" + * @generated + */ + Expression getRange(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getRange Range}' containment reference. + * + * + * @param value the new value of the 'Range' containment reference. + * @see #getRange() + * @generated + */ + void setRange(Expression value); + +} // Interpretation diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java new file mode 100644 index 00000000..39e4cbf3 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java @@ -0,0 +1,69 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Let.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Let.java new file mode 100644 index 00000000..d3e76c1e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Let.java @@ -0,0 +1,60 @@ +/** + * 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 'Let'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Let#getBindings Bindings}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Let#getBody Body}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLet() + * @model + * @generated + */ +public interface Let extends Expression { + /** + * Returns the value of the 'Bindings' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding}. + * + * + * @return the value of the 'Bindings' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLet_Bindings() + * @model containment="true" + * @generated + */ + EList getBindings(); + + /** + * 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#getLet_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Let#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Expression value); + +} // Let diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java new file mode 100644 index 00000000..f6569b11 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java @@ -0,0 +1,70 @@ +/** + * 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 'Let Binding'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getVariable Variable}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getValue Value}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLetBinding() + * @model + * @generated + */ +public interface LetBinding extends EObject { + /** + * Returns the value of the 'Variable' containment reference. + * + * + * @return the value of the 'Variable' containment reference. + * @see #setVariable(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLetBinding_Variable() + * @model containment="true" + * @generated + */ + NamedElement getVariable(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getVariable Variable}' containment reference. + * + * + * @param value the new value of the 'Variable' containment reference. + * @see #getVariable() + * @generated + */ + void setVariable(NamedElement value); + + /** + * Returns the value of the 'Value' containment reference. + * + * + * @return the value of the 'Value' containment reference. + * @see #setValue(Expression) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLetBinding_Value() + * @model containment="true" + * @generated + */ + Expression getValue(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getValue Value}' containment reference. + * + * + * @param value the new value of the 'Value' containment reference. + * @see #getValue() + * @generated + */ + void setValue(Expression value); + +} // LetBinding diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java new file mode 100644 index 00000000..c7f7a31a --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java @@ -0,0 +1,18 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Literal'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLiteral() + * @model + * @generated + */ +public interface Literal extends Expression { +} // Literal diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LocalVariables.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LocalVariables.java new file mode 100644 index 00000000..d5edda19 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LocalVariables.java @@ -0,0 +1,39 @@ +/** + * 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 'Local Variables'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.LocalVariables#getVariables Variables}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLocalVariables() + * @model + * @generated + */ +public interface LocalVariables extends EObject { + /** + * Returns the value of the 'Variables' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}. + * + * + * @return the value of the 'Variables' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLocalVariables_Variables() + * @model containment="true" + * @generated + */ + EList getVariables(); + +} // LocalVariables diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java new file mode 100644 index 00000000..8c60650b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java @@ -0,0 +1,49 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java new file mode 100644 index 00000000..5f129c05 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java @@ -0,0 +1,256 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java new file mode 100644 index 00000000..1c1c6764 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java @@ -0,0 +1,46 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java new file mode 100644 index 00000000..2d40f570 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java @@ -0,0 +1,18 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java new file mode 100644 index 00000000..6a8d507e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java @@ -0,0 +1,139 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java new file mode 100644 index 00000000..02724d03 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java @@ -0,0 +1,46 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Metric'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Metric#getReturnType Return Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetric() + * @model + * @generated + */ +public interface Metric extends Functor { + /** + * Returns the value of the 'Return Type' reference. + * + * + * @return the value of the 'Return Type' reference. + * @see #setReturnType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetric_ReturnType() + * @model + * @generated + */ + NamedElement getReturnType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Metric#getReturnType Return Type}' reference. + * + * + * @param value the new value of the 'Return Type' reference. + * @see #getReturnType() + * @generated + */ + void setReturnType(NamedElement value); + +} // Metric diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java new file mode 100644 index 00000000..fa86f55e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java @@ -0,0 +1,92 @@ +/** + * 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' reference. + * + * + * @return the value of the 'Type' reference. + * @see #setType(NamedElement) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement value); + +} // MetricDefinition diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java new file mode 100644 index 00000000..5b6f1306 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java @@ -0,0 +1,19 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java new file mode 100644 index 00000000..4daa21ab --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java @@ -0,0 +1,47 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java new file mode 100644 index 00000000..f9c5d833 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java @@ -0,0 +1,46 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Node'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Node#isWithId With Id}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNode() + * @model + * @generated + */ +public interface Node extends NamedElement { + /** + * Returns the value of the 'With Id' attribute. + * + * + * @return the value of the 'With Id' attribute. + * @see #setWithId(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNode_WithId() + * @model + * @generated + */ + boolean isWithId(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Node#isWithId With Id}' attribute. + * + * + * @param value the new value of the 'With Id' attribute. + * @see #isWithId() + * @generated + */ + void setWithId(boolean value); + +} // Node diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java new file mode 100644 index 00000000..dcefba48 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java @@ -0,0 +1,47 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java new file mode 100644 index 00000000..ffd46d01 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java @@ -0,0 +1,72 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java new file mode 100644 index 00000000..72f5947c --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java @@ -0,0 +1,210 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java new file mode 100644 index 00000000..cfeaa0f2 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java @@ -0,0 +1,18 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Predicate'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate() + * @model + * @generated + */ +public interface Predicate extends Functor { +} // Predicate diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java new file mode 100644 index 00000000..ff248906 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java @@ -0,0 +1,115 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java new file mode 100644 index 00000000..56fac081 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java @@ -0,0 +1,39 @@ +/** + * 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 'Problem'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements Statements}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem() + * @model + * @generated + */ +public interface Problem extends EObject { + /** + * Returns the value of the 'Statements' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Statement}. + * + * + * @return the value of the 'Statements' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem_Statements() + * @model containment="true" + * @generated + */ + EList getStatements(); + +} // Problem diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/QuantifiedExpression.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/QuantifiedExpression.java new file mode 100644 index 00000000..0b2edb36 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/QuantifiedExpression.java @@ -0,0 +1,95 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + + +/** + * + * A representation of the model object 'Quantified Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getLocalVariables Local Variables}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getQuantifier Quantifier}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getQuantifiedExpression() + * @model + * @generated + */ +public interface QuantifiedExpression extends Expression { + /** + * Returns the value of the 'Local Variables' containment reference. + * + * + * @return the value of the 'Local Variables' containment reference. + * @see #setLocalVariables(LocalVariables) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getQuantifiedExpression_LocalVariables() + * @model containment="true" + * @generated + */ + LocalVariables getLocalVariables(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getLocalVariables Local Variables}' containment reference. + * + * + * @param value the new value of the 'Local Variables' containment reference. + * @see #getLocalVariables() + * @generated + */ + void setLocalVariables(LocalVariables 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#getQuantifiedExpression_Body() + * @model containment="true" + * @generated + */ + Expression getBody(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#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 'Quantifier' attribute. + * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.Quantifier}. + * + * + * @return the value of the 'Quantifier' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.Quantifier + * @see #setQuantifier(Quantifier) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getQuantifiedExpression_Quantifier() + * @model + * @generated + */ + Quantifier getQuantifier(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getQuantifier Quantifier}' attribute. + * + * + * @param value the new value of the 'Quantifier' attribute. + * @see org.eclipse.viatra.solver.language.solverLanguage.Quantifier + * @see #getQuantifier() + * @generated + */ + void setQuantifier(Quantifier value); + +} // QuantifiedExpression diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Quantifier.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Quantifier.java new file mode 100644 index 00000000..4c674fe0 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Quantifier.java @@ -0,0 +1,233 @@ +/** + * 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 'Quantifier', + * and utility methods for working with them. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getQuantifier() + * @model + * @generated + */ +public enum Quantifier implements Enumerator { + /** + * The 'EXISTS' literal object. + * + * + * @see #EXISTS_VALUE + * @generated + * @ordered + */ + EXISTS(0, "EXISTS", "EXISTS"), + + /** + * The 'FORALL' literal object. + * + * + * @see #FORALL_VALUE + * @generated + * @ordered + */ + FORALL(1, "FORALL", "FORALL"), + + /** + * The 'COUNT' literal object. + * + * + * @see #COUNT_VALUE + * @generated + * @ordered + */ + COUNT(2, "COUNT", "COUNT"); + + /** + * The 'EXISTS' literal value. + * + * + * @see #EXISTS + * @model + * @generated + * @ordered + */ + public static final int EXISTS_VALUE = 0; + + /** + * The 'FORALL' literal value. + * + * + * @see #FORALL + * @model + * @generated + * @ordered + */ + public static final int FORALL_VALUE = 1; + + /** + * The 'COUNT' literal value. + * + * + * @see #COUNT + * @model + * @generated + * @ordered + */ + public static final int COUNT_VALUE = 2; + + /** + * An array of all the 'Quantifier' enumerators. + * + * + * @generated + */ + private static final Quantifier[] VALUES_ARRAY = + new Quantifier[] { + EXISTS, + FORALL, + COUNT, + }; + + /** + * A public read-only list of all the 'Quantifier' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Quantifier' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static Quantifier get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + Quantifier result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Quantifier' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static Quantifier getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + Quantifier result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Quantifier' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static Quantifier get(int value) { + switch (value) { + case EXISTS_VALUE: return EXISTS; + case FORALL_VALUE: return FORALL; + case COUNT_VALUE: return COUNT; + } + 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 Quantifier(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; + } + +} //Quantifier diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java new file mode 100644 index 00000000..5fd43f34 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java @@ -0,0 +1,46 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java new file mode 100644 index 00000000..6cd03ef0 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java @@ -0,0 +1,46 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java new file mode 100644 index 00000000..6589eaa4 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java @@ -0,0 +1,538 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.ecore.EFactory; + +/** + * + * The Factory for the model. + * It provides a create method for each non-abstract class of the model. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage + * @generated + */ +public interface SolverLanguageFactory extends EFactory { + /** + * The singleton instance of the factory. + * + * + * @generated + */ + SolverLanguageFactory eINSTANCE = org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguageFactoryImpl.init(); + + /** + * Returns a new object of class 'Problem'. + * + * + * @return a new object of class 'Problem'. + * @generated + */ + Problem createProblem(); + + /** + * Returns a new object of class 'Statement'. + * + * + * @return a new object of class 'Statement'. + * @generated + */ + Statement createStatement(); + + /** + * Returns a new object of class 'Predicate Definition'. + * + * + * @return a new object of class 'Predicate Definition'. + * @generated + */ + PredicateDefinition createPredicateDefinition(); + + /** + * Returns a new object of class 'Unnamed Error Prediate Definition'. + * + * + * @return a new object of class 'Unnamed Error Prediate Definition'. + * @generated + */ + UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition(); + + /** + * Returns a new object of class 'Default Definition'. + * + * + * @return a new object of class 'Default Definition'. + * @generated + */ + DefaultDefinition createDefaultDefinition(); + + /** + * Returns a new object of class 'Metric Definition'. + * + * + * @return a new object of class 'Metric Definition'. + * @generated + */ + MetricDefinition createMetricDefinition(); + + /** + * Returns a new object of class 'Extern Predicate Definition'. + * + * + * @return a new object of class 'Extern Predicate Definition'. + * @generated + */ + ExternPredicateDefinition createExternPredicateDefinition(); + + /** + * Returns a new object of class 'Extern Metric Definition'. + * + * + * @return a new object of class 'Extern Metric Definition'. + * @generated + */ + ExternMetricDefinition createExternMetricDefinition(); + + /** + * Returns a new object of class 'Extern Aggregator Definition'. + * + * + * @return a new object of class 'Extern Aggregator Definition'. + * @generated + */ + ExternAggregatorDefinition createExternAggregatorDefinition(); + + /** + * Returns a new object of class 'Extern Datatype Definition'. + * + * + * @return a new object of class 'Extern Datatype Definition'. + * @generated + */ + ExternDatatypeDefinition createExternDatatypeDefinition(); + + /** + * Returns a new object of class 'Named Element'. + * + * + * @return a new object of class 'Named Element'. + * @generated + */ + NamedElement createNamedElement(); + + /** + * Returns a new object of class 'If Else'. + * + * + * @return a new object of class 'If Else'. + * @generated + */ + IfElse createIfElse(); + + /** + * Returns a new object of class 'Let'. + * + * + * @return a new object of class 'Let'. + * @generated + */ + Let createLet(); + + /** + * Returns a new object of class 'Let Binding'. + * + * + * @return a new object of class 'Let Binding'. + * @generated + */ + LetBinding createLetBinding(); + + /** + * Returns a new object of class 'Case'. + * + * + * @return a new object of class 'Case'. + * @generated + */ + Case createCase(); + + /** + * Returns a new object of class 'Local Variables'. + * + * + * @return a new object of class 'Local Variables'. + * @generated + */ + LocalVariables createLocalVariables(); + + /** + * Returns a new object of class 'Quantified Expression'. + * + * + * @return a new object of class 'Quantified Expression'. + * @generated + */ + QuantifiedExpression createQuantifiedExpression(); + + /** + * Returns a new object of class 'Aggregation'. + * + * + * @return a new object of class 'Aggregation'. + * @generated + */ + Aggregation createAggregation(); + + /** + * Returns a new object of class 'Call'. + * + * + * @return a new object of class 'Call'. + * @generated + */ + Call createCall(); + + /** + * Returns a new object of class 'Argument List'. + * + * + * @return a new object of class 'Argument List'. + * @generated + */ + ArgumentList createArgumentList(); + + /** + * Returns a new object of class 'Argument'. + * + * + * @return a new object of class 'Argument'. + * @generated + */ + Argument createArgument(); + + /** + * Returns a new object of class 'Expression Argument'. + * + * + * @return a new object of class 'Expression Argument'. + * @generated + */ + ExpressionArgument createExpressionArgument(); + + /** + * Returns a new object of class 'Star Argument'. + * + * + * @return a new object of class 'Star Argument'. + * @generated + */ + StarArgument createStarArgument(); + + /** + * Returns a new object of class 'Typed Argument'. + * + * + * @return a new object of class 'Typed Argument'. + * @generated + */ + TypedArgument createTypedArgument(); + + /** + * Returns a new object of class 'Typed Star Argument'. + * + * + * @return a new object of class 'Typed Star Argument'. + * @generated + */ + TypedStarArgument createTypedStarArgument(); + + /** + * Returns a new object of class 'Reference'. + * + * + * @return a new object of class 'Reference'. + * @generated + */ + Reference createReference(); + + /** + * Returns a new object of class 'Interval'. + * + * + * @return a new object of class 'Interval'. + * @generated + */ + Interval createInterval(); + + /** + * Returns a new object of class 'Literal'. + * + * + * @return a new object of class 'Literal'. + * @generated + */ + Literal createLiteral(); + + /** + * Returns a new object of class 'Logic Literal'. + * + * + * @return a new object of class 'Logic Literal'. + * @generated + */ + LogicLiteral createLogicLiteral(); + + /** + * Returns a new object of class 'Numeric Literal'. + * + * + * @return a new object of class 'Numeric Literal'. + * @generated + */ + NumericLiteral createNumericLiteral(); + + /** + * Returns a new object of class 'Infinity Literal'. + * + * + * @return a new object of class 'Infinity Literal'. + * @generated + */ + InfinityLiteral createInfinityLiteral(); + + /** + * Returns a new object of class 'Empty Interval Literal'. + * + * + * @return a new object of class 'Empty Interval Literal'. + * @generated + */ + EmptyIntervalLiteral createEmptyIntervalLiteral(); + + /** + * Returns a new object of class 'String Literal'. + * + * + * @return a new object of class 'String Literal'. + * @generated + */ + StringLiteral createStringLiteral(); + + /** + * Returns a new object of class 'Class Definition'. + * + * + * @return a new object of class 'Class Definition'. + * @generated + */ + ClassDefinition createClassDefinition(); + + /** + * Returns a new object of class 'Member Definition'. + * + * + * @return a new object of class 'Member Definition'. + * @generated + */ + MemberDefinition createMemberDefinition(); + + /** + * Returns a new object of class 'Multiplicity'. + * + * + * @return a new object of class 'Multiplicity'. + * @generated + */ + Multiplicity createMultiplicity(); + + /** + * Returns a new object of class 'Many Multiplicity'. + * + * + * @return a new object of class 'Many Multiplicity'. + * @generated + */ + ManyMultiplicity createManyMultiplicity(); + + /** + * Returns a new object of class 'Exact Multiplicity'. + * + * + * @return a new object of class 'Exact Multiplicity'. + * @generated + */ + ExactMultiplicity createExactMultiplicity(); + + /** + * Returns a new object of class 'Bounded Multiplicity'. + * + * + * @return a new object of class 'Bounded Multiplicity'. + * @generated + */ + BoundedMultiplicity createBoundedMultiplicity(); + + /** + * Returns a new object of class 'Scope Definition'. + * + * + * @return a new object of class 'Scope Definition'. + * @generated + */ + ScopeDefinition createScopeDefinition(); + + /** + * Returns a new object of class 'Exact Scope Definition'. + * + * + * @return a new object of class 'Exact Scope Definition'. + * @generated + */ + ExactScopeDefinition createExactScopeDefinition(); + + /** + * Returns a new object of class 'Bounded Scope Definition'. + * + * + * @return a new object of class 'Bounded Scope Definition'. + * @generated + */ + BoundedScopeDefinition createBoundedScopeDefinition(); + + /** + * Returns a new object of class 'Lower Bounded Scope Definition'. + * + * + * @return a new object of class 'Lower Bounded Scope Definition'. + * @generated + */ + LowerBoundedScopeDefinition createLowerBoundedScopeDefinition(); + + /** + * Returns a new object of class 'Objective Definition'. + * + * + * @return a new object of class 'Objective Definition'. + * @generated + */ + ObjectiveDefinition createObjectiveDefinition(); + + /** + * Returns a new object of class 'Interpretation'. + * + * + * @return a new object of class 'Interpretation'. + * @generated + */ + Interpretation createInterpretation(); + + /** + * Returns a new object of class 'Variable'. + * + * + * @return a new object of class 'Variable'. + * @generated + */ + Variable createVariable(); + + /** + * Returns a new object of class 'Disjunction'. + * + * + * @return a new object of class 'Disjunction'. + * @generated + */ + Disjunction createDisjunction(); + + /** + * Returns a new object of class 'Switch'. + * + * + * @return a new object of class 'Switch'. + * @generated + */ + Switch createSwitch(); + + /** + * Returns a new object of class 'Conjunction'. + * + * + * @return a new object of class 'Conjunction'. + * @generated + */ + Conjunction createConjunction(); + + /** + * Returns a new object of class 'Comparison'. + * + * + * @return a new object of class 'Comparison'. + * @generated + */ + Comparison createComparison(); + + /** + * Returns a new object of class 'Binary Expression'. + * + * + * @return a new object of class 'Binary Expression'. + * @generated + */ + BinaryExpression createBinaryExpression(); + + /** + * Returns a new object of class 'Cast Expression'. + * + * + * @return a new object of class 'Cast Expression'. + * @generated + */ + CastExpression createCastExpression(); + + /** + * Returns a new object of class 'Unary Expression'. + * + * + * @return a new object of class 'Unary Expression'. + * @generated + */ + UnaryExpression createUnaryExpression(); + + /** + * Returns a new object of class 'Node'. + * + * + * @return a new object of class 'Node'. + * @generated + */ + Node createNode(); + + /** + * Returns a new object of class 'Predicate'. + * + * + * @return a new object of class 'Predicate'. + * @generated + */ + Predicate createPredicate(); + + /** + * Returns a new object of class 'Metric'. + * + * + * @return a new object of class 'Metric'. + * @generated + */ + Metric createMetric(); + + /** + * Returns the package supported by this factory. + * + * + * @return the package supported by this factory. + * @generated + */ + SolverLanguagePackage getSolverLanguagePackage(); + +} //SolverLanguageFactory diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java new file mode 100644 index 00000000..9e01d8db --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java @@ -0,0 +1,5191 @@ +/** + * 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; + +/** + * + * The Package for the model. + * It contains accessors for the meta objects to represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory + * @model kind="package" + * @generated + */ +public interface SolverLanguagePackage extends EPackage { + /** + * The package name. + * + * + * @generated + */ + String eNAME = "solverLanguage"; + + /** + * The package namespace URI. + * + * + * @generated + */ + String eNS_URI = "http://www.eclipse.org/viatra/solver/language/SolverLanguage"; + + /** + * The package namespace name. + * + * + * @generated + */ + String eNS_PREFIX = "solverLanguage"; + + /** + * The singleton instance of the package. + * + * + * @generated + */ + SolverLanguagePackage eINSTANCE = org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl.init(); + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl Problem}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getProblem() + * @generated + */ + int PROBLEM = 0; + + /** + * The feature id for the 'Statements' containment reference list. + * + * + * @generated + * @ordered + */ + int PROBLEM__STATEMENTS = 0; + + /** + * The number of structural features of the 'Problem' class. + * + * + * @generated + * @ordered + */ + int PROBLEM_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl Statement}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStatement() + * @generated + */ + int STATEMENT = 1; + + /** + * The number of structural features of the 'Statement' class. + * + * + * @generated + * @ordered + */ + int STATEMENT_FEATURE_COUNT = 0; + + /** + * 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.PredicateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition() + * @generated + */ + int PREDICATE_DEFINITION = 2; + + /** + * The feature id for the 'Head' containment reference. + * + * + * @generated + * @ordered + */ + int PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int PREDICATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Functional' attribute. + * + * + * @generated + * @ordered + */ + int PREDICATE_DEFINITION__FUNCTIONAL = STATEMENT_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Error' attribute. + * + * + * @generated + * @ordered + */ + int PREDICATE_DEFINITION__ERROR = STATEMENT_FEATURE_COUNT + 3; + + /** + * The number of structural features of the 'Predicate Definition' class. + * + * + * @generated + * @ordered + */ + int PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4; + + /** + * 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 + */ + int UNNAMED_ERROR_PREDIATE_DEFINITION = 3; + + /** + * The feature id for the 'Argument List' containment reference. + * + * + * @generated + * @ordered + */ + int UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Unnamed Error Prediate Definition' class. + * + * + * @generated + * @ordered + */ + 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.DefaultDefinitionImpl Default Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition() + * @generated + */ + int DEFAULT_DEFINITION = 4; + + /** + * The feature id for the 'Head' containment reference. + * + * + * @generated + * @ordered + */ + int DEFAULT_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Range' containment reference. + * + * + * @generated + * @ordered + */ + int DEFAULT_DEFINITION__RANGE = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Default Definition' class. + * + * + * @generated + * @ordered + */ + int DEFAULT_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * 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 + */ + int METRIC_DEFINITION = 5; + + /** + * The feature id for the 'Head' containment reference. + * + * + * @generated + * @ordered + */ + int METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int METRIC_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Metric Definition' class. + * + * + * @generated + * @ordered + */ + int METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3; + + /** + * 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.ExternPredicateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition() + * @generated + */ + int EXTERN_PREDICATE_DEFINITION = 6; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EXTERN_PREDICATE_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Argument List' containment reference. + * + * + * @generated + * @ordered + */ + int EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Extern Predicate Definition' class. + * + * + * @generated + * @ordered + */ + int EXTERN_PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * 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 + */ + int EXTERN_METRIC_DEFINITION = 7; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int EXTERN_METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EXTERN_METRIC_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Argument List' containment reference. + * + * + * @generated + * @ordered + */ + int EXTERN_METRIC_DEFINITION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Extern Metric Definition' class. + * + * + * @generated + * @ordered + */ + int EXTERN_METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl Extern Aggregator Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternAggregatorDefinition() + * @generated + */ + int EXTERN_AGGREGATOR_DEFINITION = 8; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int EXTERN_AGGREGATOR_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EXTERN_AGGREGATOR_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Input Type' reference. + * + * + * @generated + * @ordered + */ + int EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE = STATEMENT_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Extern Aggregator Definition' class. + * + * + * @generated + * @ordered + */ + int EXTERN_AGGREGATOR_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDefinitionImpl Extern Datatype Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternDatatypeDefinition() + * @generated + */ + int EXTERN_DATATYPE_DEFINITION = 9; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EXTERN_DATATYPE_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Supertypes' reference list. + * + * + * @generated + * @ordered + */ + int EXTERN_DATATYPE_DEFINITION__SUPERTYPES = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Extern Datatype Definition' class. + * + * + * @generated + * @ordered + */ + int EXTERN_DATATYPE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The meta object id 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 + */ + int NAMED_ELEMENT = 10; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int NAMED_ELEMENT__NAME = 0; + + /** + * The number of structural features of the 'Named Element' class. + * + * + * @generated + * @ordered + */ + int NAMED_ELEMENT_FEATURE_COUNT = 1; + + /** + * 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 + */ + int EXPRESSION = 11; + + /** + * The number of structural features of the 'Expression' class. + * + * + * @generated + * @ordered + */ + int EXPRESSION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0; + + /** + * 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 + */ + int IF_ELSE = 12; + + /** + * The feature id for the 'Then' containment reference. + * + * + * @generated + * @ordered + */ + int IF_ELSE__THEN = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Else' containment reference. + * + * + * @generated + * @ordered + */ + int IF_ELSE__ELSE = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Condition' containment reference. + * + * + * @generated + * @ordered + */ + int IF_ELSE__CONDITION = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'If Else' class. + * + * + * @generated + * @ordered + */ + int IF_ELSE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl Let}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLet() + * @generated + */ + int LET = 13; + + /** + * The feature id for the 'Bindings' containment reference list. + * + * + * @generated + * @ordered + */ + int LET__BINDINGS = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int LET__BODY = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Let' class. + * + * + * @generated + * @ordered + */ + int LET_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl Let Binding}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLetBinding() + * @generated + */ + int LET_BINDING = 14; + + /** + * The feature id for the 'Variable' containment reference. + * + * + * @generated + * @ordered + */ + int LET_BINDING__VARIABLE = 0; + + /** + * The feature id for the 'Value' containment reference. + * + * + * @generated + * @ordered + */ + int LET_BINDING__VALUE = 1; + + /** + * The number of structural features of the 'Let Binding' class. + * + * + * @generated + * @ordered + */ + int LET_BINDING_FEATURE_COUNT = 2; + + /** + * 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.CaseImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase() + * @generated + */ + int CASE = 15; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int CASE__BODY = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Condition' containment reference. + * + * + * @generated + * @ordered + */ + int CASE__CONDITION = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Case' class. + * + * + * @generated + * @ordered + */ + int CASE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LocalVariablesImpl Local Variables}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LocalVariablesImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLocalVariables() + * @generated + */ + int LOCAL_VARIABLES = 16; + + /** + * The feature id for the 'Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int LOCAL_VARIABLES__VARIABLES = 0; + + /** + * The number of structural features of the 'Local Variables' class. + * + * + * @generated + * @ordered + */ + int LOCAL_VARIABLES_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl Quantified Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getQuantifiedExpression() + * @generated + */ + int QUANTIFIED_EXPRESSION = 17; + + /** + * The feature id for the 'Local Variables' containment reference. + * + * + * @generated + * @ordered + */ + int QUANTIFIED_EXPRESSION__LOCAL_VARIABLES = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int QUANTIFIED_EXPRESSION__BODY = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Quantifier' attribute. + * + * + * @generated + * @ordered + */ + int QUANTIFIED_EXPRESSION__QUANTIFIER = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Quantified Expression' class. + * + * + * @generated + * @ordered + */ + int QUANTIFIED_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * 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.AggregationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation() + * @generated + */ + int AGGREGATION = 18; + + /** + * The feature id for the 'Op' reference. + * + * + * @generated + * @ordered + */ + int AGGREGATION__OP = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Local Variables' containment reference. + * + * + * @generated + * @ordered + */ + int AGGREGATION__LOCAL_VARIABLES = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int AGGREGATION__BODY = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Condition' containment reference. + * + * + * @generated + * @ordered + */ + int AGGREGATION__CONDITION = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The number of structural features of the 'Aggregation' class. + * + * + * @generated + * @ordered + */ + int AGGREGATION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4; + + /** + * 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 + */ + int CALL = 19; + + /** + * The feature id for the 'Functor' containment reference. + * + * + * @generated + * @ordered + */ + int CALL__FUNCTOR = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Transitive Closure' attribute. + * + * + * @generated + * @ordered + */ + int CALL__TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Reflexive Transitive Closure' attribute. + * + * + * @generated + * @ordered + */ + int CALL__REFLEXIVE_TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Argument List' containment reference. + * + * + * @generated + * @ordered + */ + int CALL__ARGUMENT_LIST = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The number of structural features of the 'Call' class. + * + * + * @generated + * @ordered + */ + int CALL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4; + + /** + * 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 + */ + int ARGUMENT_LIST = 20; + + /** + * The feature id for the 'Arguments' containment reference list. + * + * + * @generated + * @ordered + */ + int ARGUMENT_LIST__ARGUMENTS = 0; + + /** + * The number of structural features of the 'Argument List' class. + * + * + * @generated + * @ordered + */ + int ARGUMENT_LIST_FEATURE_COUNT = 1; + + /** + * 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 + */ + int ARGUMENT = 21; + + /** + * The number of structural features of the 'Argument' class. + * + * + * @generated + * @ordered + */ + 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 = 22; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int EXPRESSION_ARGUMENT__BODY = ARGUMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Expression Argument' class. + * + * + * @generated + * @ordered + */ + int EXPRESSION_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1; + + /** + * 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.StarArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument() + * @generated + */ + int STAR_ARGUMENT = 23; + + /** + * The number of structural features of the 'Star Argument' class. + * + * + * @generated + * @ordered + */ + int STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 0; + + /** + * 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 + */ + int TYPED_ARGUMENT = 24; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int TYPED_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Variable' reference. + * + * + * @generated + * @ordered + */ + int TYPED_ARGUMENT__VARIABLE = ARGUMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Typed Argument' class. + * + * + * @generated + * @ordered + */ + 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 = 25; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int TYPED_STAR_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Typed Star Argument' class. + * + * + * @generated + * @ordered + */ + int TYPED_STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1; + + /** + * 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.ReferenceImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference() + * @generated + */ + int REFERENCE = 26; + + /** + * The feature id for the 'Referred' reference. + * + * + * @generated + * @ordered + */ + int REFERENCE__REFERRED = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Reference' class. + * + * + * @generated + * @ordered + */ + int REFERENCE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * 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.IntervalImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval() + * @generated + */ + int INTERVAL = 27; + + /** + * The feature id for the 'Lower Bound' containment reference. + * + * + * @generated + * @ordered + */ + int INTERVAL__LOWER_BOUND = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Upper Bound' containment reference. + * + * + * @generated + * @ordered + */ + int INTERVAL__UPPER_BOUND = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Interval' class. + * + * + * @generated + * @ordered + */ + int INTERVAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * 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.LiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral() + * @generated + */ + int LITERAL = 28; + + /** + * The number of structural features of the 'Literal' class. + * + * + * @generated + * @ordered + */ + int LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * 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.LogicLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral() + * @generated + */ + int LOGIC_LITERAL = 29; + + /** + * The feature id for the 'Value' attribute. + * + * + * @generated + * @ordered + */ + int LOGIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Logic Literal' class. + * + * + * @generated + * @ordered + */ + int LOGIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; + + /** + * The meta object id 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 + */ + int NUMERIC_LITERAL = 30; + + /** + * The feature id for the 'Value' attribute. + * + * + * @generated + * @ordered + */ + int NUMERIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Numeric Literal' class. + * + * + * @generated + * @ordered + */ + int NUMERIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; + + /** + * The meta object id 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 + */ + int INFINITY_LITERAL = 31; + + /** + * The number of structural features of the 'Infinity Literal' class. + * + * + * @generated + * @ordered + */ + int INFINITY_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0; + + /** + * The meta object id 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 + */ + int EMPTY_INTERVAL_LITERAL = 32; + + /** + * The number of structural features of the 'Empty Interval Literal' class. + * + * + * @generated + * @ordered + */ + int EMPTY_INTERVAL_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0; + + /** + * The meta object id 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 + */ + int STRING_LITERAL = 33; + + /** + * The feature id for the 'Value' attribute. + * + * + * @generated + * @ordered + */ + int STRING_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'String Literal' class. + * + * + * @generated + * @ordered + */ + int STRING_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl Class Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDefinition() + * @generated + */ + int CLASS_DEFINITION = 34; + + /** + * The feature id for the 'Abstract' attribute. + * + * + * @generated + * @ordered + */ + int CLASS_DEFINITION__ABSTRACT = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int CLASS_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Superclasses' reference list. + * + * + * @generated + * @ordered + */ + int CLASS_DEFINITION__SUPERCLASSES = STATEMENT_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Members' containment reference list. + * + * + * @generated + * @ordered + */ + int CLASS_DEFINITION__MEMBERS = STATEMENT_FEATURE_COUNT + 3; + + /** + * The number of structural features of the 'Class Definition' class. + * + * + * @generated + * @ordered + */ + int CLASS_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4; + + /** + * The meta object id 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 + */ + int MEMBER_DEFINITION = 35; + + /** + * The feature id for the 'Containment' attribute. + * + * + * @generated + * @ordered + */ + int MEMBER_DEFINITION__CONTAINMENT = 0; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int MEMBER_DEFINITION__TYPE = 1; + + /** + * The feature id for the 'Multiplicity' containment reference. + * + * + * @generated + * @ordered + */ + int MEMBER_DEFINITION__MULTIPLICITY = 2; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int MEMBER_DEFINITION__NAME = 3; + + /** + * The feature id for the 'Opposite' reference. + * + * + * @generated + * @ordered + */ + int MEMBER_DEFINITION__OPPOSITE = 4; + + /** + * The number of structural features of the 'Member Definition' class. + * + * + * @generated + * @ordered + */ + int MEMBER_DEFINITION_FEATURE_COUNT = 5; + + /** + * The meta object id 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 + */ + int MULTIPLICITY = 36; + + /** + * The number of structural features of the 'Multiplicity' class. + * + * + * @generated + * @ordered + */ + int MULTIPLICITY_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl Many Multiplicity}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity() + * @generated + */ + int MANY_MULTIPLICITY = 37; + + /** + * The number of structural features of the 'Many Multiplicity' class. + * + * + * @generated + * @ordered + */ + int MANY_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl Exact Multiplicity}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity() + * @generated + */ + int EXACT_MULTIPLICITY = 38; + + /** + * The feature id for the 'Multiplicity' attribute. + * + * + * @generated + * @ordered + */ + int EXACT_MULTIPLICITY__MULTIPLICITY = MULTIPLICITY_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Exact Multiplicity' class. + * + * + * @generated + * @ordered + */ + int EXACT_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl Bounded Multiplicity}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity() + * @generated + */ + int BOUNDED_MULTIPLICITY = 39; + + /** + * The feature id for the 'Lower Bound' attribute. + * + * + * @generated + * @ordered + */ + int BOUNDED_MULTIPLICITY__LOWER_BOUND = MULTIPLICITY_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Upper Bound' attribute. + * + * + * @generated + * @ordered + */ + int BOUNDED_MULTIPLICITY__UPPER_BOUND = MULTIPLICITY_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Bounded Multiplicity' class. + * + * + * @generated + * @ordered + */ + int BOUNDED_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 2; + + /** + * The meta object id 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 + */ + int SCOPE_DEFINITION = 40; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int SCOPE_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Scope Definition' class. + * + * + * @generated + * @ordered + */ + int SCOPE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; + + /** + * The meta object id 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 + */ + int EXACT_SCOPE_DEFINITION = 41; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int EXACT_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; + + /** + * The feature id for the 'Exact Scope' attribute. + * + * + * @generated + * @ordered + */ + int EXACT_SCOPE_DEFINITION__EXACT_SCOPE = SCOPE_DEFINITION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Exact Scope Definition' class. + * + * + * @generated + * @ordered + */ + int EXACT_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1; + + /** + * The meta object id 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 + */ + int BOUNDED_SCOPE_DEFINITION = 42; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; + + /** + * The feature id for the 'Lower Bound' attribute. + * + * + * @generated + * @ordered + */ + int BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Upper Bound' attribute. + * + * + * @generated + * @ordered + */ + int BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Bounded Scope Definition' class. + * + * + * @generated + * @ordered + */ + int BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 2; + + /** + * The meta object id 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 + */ + int LOWER_BOUNDED_SCOPE_DEFINITION = 43; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int LOWER_BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; + + /** + * The feature id for the 'Lower Bound' attribute. + * + * + * @generated + * @ordered + */ + int LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Lower Bounded Scope Definition' class. + * + * + * @generated + * @ordered + */ + int LOWER_BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1; + + /** + * The meta object id 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 + */ + int OBJECTIVE_DEFINITION = 44; + + /** + * The feature id for the 'Kind' attribute. + * + * + * @generated + * @ordered + */ + int OBJECTIVE_DEFINITION__KIND = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Objective' containment reference. + * + * + * @generated + * @ordered + */ + int OBJECTIVE_DEFINITION__OBJECTIVE = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Objective Definition' class. + * + * + * @generated + * @ordered + */ + int OBJECTIVE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl Interpretation}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterpretation() + * @generated + */ + int INTERPRETATION = 45; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int INTERPRETATION__BODY = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Range' containment reference. + * + * + * @generated + * @ordered + */ + int INTERPRETATION__RANGE = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Interpretation' class. + * + * + * @generated + * @ordered + */ + int INTERPRETATION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl Variable}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getVariable() + * @generated + */ + int VARIABLE = 46; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int VARIABLE__NAME = NAMED_ELEMENT__NAME; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int VARIABLE__TYPE = NAMED_ELEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Variable' class. + * + * + * @generated + * @ordered + */ + int VARIABLE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 1; + + /** + * 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 = 47; + + /** + * 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 = 48; + + /** + * 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 = 49; + + /** + * 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 = 50; + + /** + * 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 = 51; + + /** + * 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.CastExpressionImpl Cast Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CastExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCastExpression() + * @generated + */ + int CAST_EXPRESSION = 52; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int CAST_EXPRESSION__BODY = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int CAST_EXPRESSION__TYPE = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Cast Expression' class. + * + * + * @generated + * @ordered + */ + int CAST_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * 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 = 53; + + /** + * 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.impl.NodeImpl Node}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NodeImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNode() + * @generated + */ + int NODE = 54; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int NODE__NAME = NAMED_ELEMENT__NAME; + + /** + * The feature id for the 'With Id' attribute. + * + * + * @generated + * @ordered + */ + int NODE__WITH_ID = NAMED_ELEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Node' class. + * + * + * @generated + * @ordered + */ + int NODE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorImpl Functor}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFunctor() + * @generated + */ + int FUNCTOR = 55; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int FUNCTOR__NAME = NAMED_ELEMENT__NAME; + + /** + * The feature id for the 'Parameters' reference list. + * + * + * @generated + * @ordered + */ + int FUNCTOR__PARAMETERS = NAMED_ELEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Functor' class. + * + * + * @generated + * @ordered + */ + int FUNCTOR_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl Predicate}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicate() + * @generated + */ + int PREDICATE = 56; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int PREDICATE__NAME = FUNCTOR__NAME; + + /** + * The feature id for the 'Parameters' reference list. + * + * + * @generated + * @ordered + */ + int PREDICATE__PARAMETERS = FUNCTOR__PARAMETERS; + + /** + * The number of structural features of the 'Predicate' class. + * + * + * @generated + * @ordered + */ + int PREDICATE_FEATURE_COUNT = FUNCTOR_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricImpl Metric}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetric() + * @generated + */ + int METRIC = 57; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int METRIC__NAME = FUNCTOR__NAME; + + /** + * The feature id for the 'Parameters' reference list. + * + * + * @generated + * @ordered + */ + int METRIC__PARAMETERS = FUNCTOR__PARAMETERS; + + /** + * The feature id for the 'Return Type' reference. + * + * + * @generated + * @ordered + */ + int METRIC__RETURN_TYPE = FUNCTOR_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Metric' class. + * + * + * @generated + * @ordered + */ + int METRIC_FEATURE_COUNT = FUNCTOR_FEATURE_COUNT + 1; + + /** + * 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 = 58; + + /** + * 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 = 59; + + /** + * 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 = 60; + + /** + * 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 = 61; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.Quantifier Quantifier}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.Quantifier + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getQuantifier() + * @generated + */ + int QUANTIFIER = 62; + + + /** + * 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 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.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 reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType() + * @see #getMetricDefinition() + * @generated + */ + EReference getMetricDefinition_Type(); + + /** + * 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 attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getName() + * @see #getExternPredicateDefinition() + * @generated + */ + EAttribute getExternPredicateDefinition_Name(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getArgumentList Argument List}'. + * + * + * @return the meta object for the containment reference 'Argument List'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getArgumentList() + * @see #getExternPredicateDefinition() + * @generated + */ + EReference getExternPredicateDefinition_ArgumentList(); + + /** + * 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 reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType() + * @see #getExternMetricDefinition() + * @generated + */ + EReference getExternMetricDefinition_Type(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getName() + * @see #getExternMetricDefinition() + * @generated + */ + EAttribute getExternMetricDefinition_Name(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getArgumentList Argument List}'. + * + * + * @return the meta object for the containment reference 'Argument List'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getArgumentList() + * @see #getExternMetricDefinition() + * @generated + */ + EReference getExternMetricDefinition_ArgumentList(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition Extern Aggregator Definition}'. + * + * + * @return the meta object for class 'Extern Aggregator Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition + * @generated + */ + EClass getExternAggregatorDefinition(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getType() + * @see #getExternAggregatorDefinition() + * @generated + */ + EReference getExternAggregatorDefinition_Type(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getName() + * @see #getExternAggregatorDefinition() + * @generated + */ + EAttribute getExternAggregatorDefinition_Name(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getInputType Input Type}'. + * + * + * @return the meta object for the reference 'Input Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition#getInputType() + * @see #getExternAggregatorDefinition() + * @generated + */ + EReference getExternAggregatorDefinition_InputType(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition Extern Datatype Definition}'. + * + * + * @return the meta object for class 'Extern Datatype Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition + * @generated + */ + EClass getExternDatatypeDefinition(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getName() + * @see #getExternDatatypeDefinition() + * @generated + */ + EAttribute getExternDatatypeDefinition_Name(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getSupertypes Supertypes}'. + * + * + * @return the meta object for the reference list 'Supertypes'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition#getSupertypes() + * @see #getExternDatatypeDefinition() + * @generated + */ + EReference getExternDatatypeDefinition_Supertypes(); + + /** + * 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.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#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 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 class '{@link org.eclipse.viatra.solver.language.solverLanguage.Let Let}'. + * + * + * @return the meta object for class 'Let'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Let + * @generated + */ + EClass getLet(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Let#getBindings Bindings}'. + * + * + * @return the meta object for the containment reference list 'Bindings'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Let#getBindings() + * @see #getLet() + * @generated + */ + EReference getLet_Bindings(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Let#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Let#getBody() + * @see #getLet() + * @generated + */ + EReference getLet_Body(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding Let Binding}'. + * + * + * @return the meta object for class 'Let Binding'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LetBinding + * @generated + */ + EClass getLetBinding(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getVariable Variable}'. + * + * + * @return the meta object for the containment reference 'Variable'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getVariable() + * @see #getLetBinding() + * @generated + */ + EReference getLetBinding_Variable(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getValue Value}'. + * + * + * @return the meta object for the containment reference 'Value'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LetBinding#getValue() + * @see #getLetBinding() + * @generated + */ + EReference getLetBinding_Value(); + + /** + * 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#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 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 class '{@link org.eclipse.viatra.solver.language.solverLanguage.LocalVariables Local Variables}'. + * + * + * @return the meta object for class 'Local Variables'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LocalVariables + * @generated + */ + EClass getLocalVariables(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.LocalVariables#getVariables Variables}'. + * + * + * @return the meta object for the containment reference list 'Variables'. + * @see org.eclipse.viatra.solver.language.solverLanguage.LocalVariables#getVariables() + * @see #getLocalVariables() + * @generated + */ + EReference getLocalVariables_Variables(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression Quantified Expression}'. + * + * + * @return the meta object for class 'Quantified Expression'. + * @see org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression + * @generated + */ + EClass getQuantifiedExpression(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getLocalVariables Local Variables}'. + * + * + * @return the meta object for the containment reference 'Local Variables'. + * @see org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getLocalVariables() + * @see #getQuantifiedExpression() + * @generated + */ + EReference getQuantifiedExpression_LocalVariables(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getBody() + * @see #getQuantifiedExpression() + * @generated + */ + EReference getQuantifiedExpression_Body(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getQuantifier Quantifier}'. + * + * + * @return the meta object for the attribute 'Quantifier'. + * @see org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression#getQuantifier() + * @see #getQuantifiedExpression() + * @generated + */ + EAttribute getQuantifiedExpression_Quantifier(); + + /** + * 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 reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp Op}'. + * + * + * @return the meta object for the reference 'Op'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp() + * @see #getAggregation() + * @generated + */ + EReference getAggregation_Op(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getLocalVariables Local Variables}'. + * + * + * @return the meta object for the containment reference 'Local Variables'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getLocalVariables() + * @see #getAggregation() + * @generated + */ + EReference getAggregation_LocalVariables(); + + /** + * 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 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 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 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.ClassDefinition Class Definition}'. + * + * + * @return the meta object for class 'Class Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition + * @generated + */ + EClass getClassDefinition(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract Abstract}'. + * + * + * @return the meta object for the attribute 'Abstract'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract() + * @see #getClassDefinition() + * @generated + */ + EAttribute getClassDefinition_Abstract(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName() + * @see #getClassDefinition() + * @generated + */ + EAttribute getClassDefinition_Name(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses Superclasses}'. + * + * + * @return the meta object for the reference list 'Superclasses'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses() + * @see #getClassDefinition() + * @generated + */ + EReference getClassDefinition_Superclasses(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers Members}'. + * + * + * @return the meta object for the containment reference list 'Members'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers() + * @see #getClassDefinition() + * @generated + */ + EReference getClassDefinition_Members(); + + /** + * 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.Interpretation Interpretation}'. + * + * + * @return the meta object for class 'Interpretation'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation + * @generated + */ + EClass getInterpretation(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getBody() + * @see #getInterpretation() + * @generated + */ + EReference getInterpretation_Body(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getRange Range}'. + * + * + * @return the meta object for the containment reference 'Range'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation#getRange() + * @see #getInterpretation() + * @generated + */ + EReference getInterpretation_Range(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable Variable}'. + * + * + * @return the meta object for class 'Variable'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Variable + * @generated + */ + EClass getVariable(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Variable#getType() + * @see #getVariable() + * @generated + */ + EReference getVariable_Type(); + + /** + * 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.CastExpression Cast Expression}'. + * + * + * @return the meta object for class 'Cast Expression'. + * @see org.eclipse.viatra.solver.language.solverLanguage.CastExpression + * @generated + */ + EClass getCastExpression(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getBody() + * @see #getCastExpression() + * @generated + */ + EReference getCastExpression_Body(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.CastExpression#getType() + * @see #getCastExpression() + * @generated + */ + EReference getCastExpression_Type(); + + /** + * 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 class '{@link org.eclipse.viatra.solver.language.solverLanguage.Node Node}'. + * + * + * @return the meta object for class 'Node'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Node + * @generated + */ + EClass getNode(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Node#isWithId With Id}'. + * + * + * @return the meta object for the attribute 'With Id'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Node#isWithId() + * @see #getNode() + * @generated + */ + EAttribute getNode_WithId(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Functor Functor}'. + * + * + * @return the meta object for class 'Functor'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Functor + * @generated + */ + EClass getFunctor(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Functor#getParameters Parameters}'. + * + * + * @return the meta object for the reference list 'Parameters'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Functor#getParameters() + * @see #getFunctor() + * @generated + */ + EReference getFunctor_Parameters(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate Predicate}'. + * + * + * @return the meta object for class 'Predicate'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate + * @generated + */ + EClass getPredicate(); + + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Metric Metric}'. + * + * + * @return the meta object for class 'Metric'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Metric + * @generated + */ + EClass getMetric(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Metric#getReturnType Return Type}'. + * + * + * @return the meta object for the reference 'Return Type'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Metric#getReturnType() + * @see #getMetric() + * @generated + */ + EReference getMetric_ReturnType(); + + /** + * 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.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 meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.Quantifier Quantifier}'. + * + * + * @return the meta object for enum 'Quantifier'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Quantifier + * @generated + */ + EEnum getQuantifier(); + + /** + * 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,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl Problem}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getProblem() + * @generated + */ + EClass PROBLEM = eINSTANCE.getProblem(); + + /** + * The meta object literal for the 'Statements' containment reference list feature. + * + * + * @generated + */ + EReference PROBLEM__STATEMENTS = eINSTANCE.getProblem_Statements(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl Statement}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStatement() + * @generated + */ + EClass STATEMENT = eINSTANCE.getStatement(); + + /** + * 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 + */ + EClass PREDICATE_DEFINITION = eINSTANCE.getPredicateDefinition(); + + /** + * The meta object literal for the 'Head' containment reference feature. + * + * + * @generated + */ + EReference PREDICATE_DEFINITION__HEAD = eINSTANCE.getPredicateDefinition_Head(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference PREDICATE_DEFINITION__BODY = eINSTANCE.getPredicateDefinition_Body(); + + /** + * The meta object literal for the 'Functional' attribute feature. + * + * + * @generated + */ + EAttribute PREDICATE_DEFINITION__FUNCTIONAL = eINSTANCE.getPredicateDefinition_Functional(); + + /** + * The meta object literal for the 'Error' attribute feature. + * + * + * @generated + */ + EAttribute PREDICATE_DEFINITION__ERROR = eINSTANCE.getPredicateDefinition_Error(); + + /** + * 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 + */ + EClass UNNAMED_ERROR_PREDIATE_DEFINITION = eINSTANCE.getUnnamedErrorPrediateDefinition(); + + /** + * The meta object literal for the 'Argument List' containment reference feature. + * + * + * @generated + */ + EReference UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = eINSTANCE.getUnnamedErrorPrediateDefinition_ArgumentList(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = eINSTANCE.getUnnamedErrorPrediateDefinition_Body(); + + /** + * 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.DefaultDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition() + * @generated + */ + EClass DEFAULT_DEFINITION = eINSTANCE.getDefaultDefinition(); + + /** + * The meta object literal for the 'Head' containment reference feature. + * + * + * @generated + */ + EReference DEFAULT_DEFINITION__HEAD = eINSTANCE.getDefaultDefinition_Head(); + + /** + * The meta object literal for the 'Range' containment reference feature. + * + * + * @generated + */ + EReference DEFAULT_DEFINITION__RANGE = eINSTANCE.getDefaultDefinition_Range(); + + /** + * 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.MetricDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition() + * @generated + */ + EClass METRIC_DEFINITION = eINSTANCE.getMetricDefinition(); + + /** + * The meta object literal for the 'Head' containment reference feature. + * + * + * @generated + */ + EReference METRIC_DEFINITION__HEAD = eINSTANCE.getMetricDefinition_Head(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference METRIC_DEFINITION__BODY = eINSTANCE.getMetricDefinition_Body(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference METRIC_DEFINITION__TYPE = eINSTANCE.getMetricDefinition_Type(); + + /** + * 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.ExternPredicateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition() + * @generated + */ + EClass EXTERN_PREDICATE_DEFINITION = eINSTANCE.getExternPredicateDefinition(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute EXTERN_PREDICATE_DEFINITION__NAME = eINSTANCE.getExternPredicateDefinition_Name(); + + /** + * The meta object literal for the 'Argument List' containment reference feature. + * + * + * @generated + */ + EReference EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST = eINSTANCE.getExternPredicateDefinition_ArgumentList(); + + /** + * 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 + */ + EClass EXTERN_METRIC_DEFINITION = eINSTANCE.getExternMetricDefinition(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference EXTERN_METRIC_DEFINITION__TYPE = eINSTANCE.getExternMetricDefinition_Type(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute EXTERN_METRIC_DEFINITION__NAME = eINSTANCE.getExternMetricDefinition_Name(); + + /** + * The meta object literal for the 'Argument List' containment reference feature. + * + * + * @generated + */ + EReference EXTERN_METRIC_DEFINITION__ARGUMENT_LIST = eINSTANCE.getExternMetricDefinition_ArgumentList(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl Extern Aggregator Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternAggregatorDefinition() + * @generated + */ + EClass EXTERN_AGGREGATOR_DEFINITION = eINSTANCE.getExternAggregatorDefinition(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference EXTERN_AGGREGATOR_DEFINITION__TYPE = eINSTANCE.getExternAggregatorDefinition_Type(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute EXTERN_AGGREGATOR_DEFINITION__NAME = eINSTANCE.getExternAggregatorDefinition_Name(); + + /** + * The meta object literal for the 'Input Type' reference feature. + * + * + * @generated + */ + EReference EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE = eINSTANCE.getExternAggregatorDefinition_InputType(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDefinitionImpl Extern Datatype Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternDatatypeDefinition() + * @generated + */ + EClass EXTERN_DATATYPE_DEFINITION = eINSTANCE.getExternDatatypeDefinition(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute EXTERN_DATATYPE_DEFINITION__NAME = eINSTANCE.getExternDatatypeDefinition_Name(); + + /** + * The meta object literal for the 'Supertypes' reference list feature. + * + * + * @generated + */ + EReference EXTERN_DATATYPE_DEFINITION__SUPERTYPES = eINSTANCE.getExternDatatypeDefinition_Supertypes(); + + /** + * 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.ExpressionImpl Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression() + * @generated + */ + EClass EXPRESSION = eINSTANCE.getExpression(); + + /** + * 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.IfElseImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse() + * @generated + */ + EClass IF_ELSE = eINSTANCE.getIfElse(); + + /** + * The meta object literal for the 'Then' containment reference feature. + * + * + * @generated + */ + EReference IF_ELSE__THEN = eINSTANCE.getIfElse_Then(); + + /** + * The meta object literal for the 'Else' containment reference feature. + * + * + * @generated + */ + EReference IF_ELSE__ELSE = eINSTANCE.getIfElse_Else(); + + /** + * The meta object literal for the 'Condition' containment reference feature. + * + * + * @generated + */ + EReference IF_ELSE__CONDITION = eINSTANCE.getIfElse_Condition(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl Let}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLet() + * @generated + */ + EClass LET = eINSTANCE.getLet(); + + /** + * The meta object literal for the 'Bindings' containment reference list feature. + * + * + * @generated + */ + EReference LET__BINDINGS = eINSTANCE.getLet_Bindings(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference LET__BODY = eINSTANCE.getLet_Body(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl Let Binding}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLetBinding() + * @generated + */ + EClass LET_BINDING = eINSTANCE.getLetBinding(); + + /** + * The meta object literal for the 'Variable' containment reference feature. + * + * + * @generated + */ + EReference LET_BINDING__VARIABLE = eINSTANCE.getLetBinding_Variable(); + + /** + * The meta object literal for the 'Value' containment reference feature. + * + * + * @generated + */ + EReference LET_BINDING__VALUE = eINSTANCE.getLetBinding_Value(); + + /** + * 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.CaseImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase() + * @generated + */ + EClass CASE = eINSTANCE.getCase(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference CASE__BODY = eINSTANCE.getCase_Body(); + + /** + * The meta object literal for the 'Condition' containment reference feature. + * + * + * @generated + */ + EReference CASE__CONDITION = eINSTANCE.getCase_Condition(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LocalVariablesImpl Local Variables}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LocalVariablesImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLocalVariables() + * @generated + */ + EClass LOCAL_VARIABLES = eINSTANCE.getLocalVariables(); + + /** + * The meta object literal for the 'Variables' containment reference list feature. + * + * + * @generated + */ + EReference LOCAL_VARIABLES__VARIABLES = eINSTANCE.getLocalVariables_Variables(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl Quantified Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getQuantifiedExpression() + * @generated + */ + EClass QUANTIFIED_EXPRESSION = eINSTANCE.getQuantifiedExpression(); + + /** + * The meta object literal for the 'Local Variables' containment reference feature. + * + * + * @generated + */ + EReference QUANTIFIED_EXPRESSION__LOCAL_VARIABLES = eINSTANCE.getQuantifiedExpression_LocalVariables(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference QUANTIFIED_EXPRESSION__BODY = eINSTANCE.getQuantifiedExpression_Body(); + + /** + * The meta object literal for the 'Quantifier' attribute feature. + * + * + * @generated + */ + EAttribute QUANTIFIED_EXPRESSION__QUANTIFIER = eINSTANCE.getQuantifiedExpression_Quantifier(); + + /** + * 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' reference feature. + * + * + * @generated + */ + EReference AGGREGATION__OP = eINSTANCE.getAggregation_Op(); + + /** + * The meta object literal for the 'Local Variables' containment reference feature. + * + * + * @generated + */ + EReference AGGREGATION__LOCAL_VARIABLES = eINSTANCE.getAggregation_LocalVariables(); + + /** + * 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 'Transitive Closure' attribute feature. + * + * + * @generated + */ + EAttribute CALL__TRANSITIVE_CLOSURE = eINSTANCE.getCall_TransitiveClosure(); + + /** + * The meta object literal for the 'Reflexive Transitive Closure' attribute feature. + * + * + * @generated + */ + EAttribute CALL__REFLEXIVE_TRANSITIVE_CLOSURE = eINSTANCE.getCall_ReflexiveTransitiveClosure(); + + /** + * 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 '{@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 + */ + EClass ARGUMENT_LIST = eINSTANCE.getArgumentList(); + + /** + * The meta object literal for the 'Arguments' containment reference list feature. + * + * + * @generated + */ + EReference ARGUMENT_LIST__ARGUMENTS = eINSTANCE.getArgumentList_Arguments(); + + /** + * 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 + */ + EClass ARGUMENT = eINSTANCE.getArgument(); + + /** + * 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 + */ + EClass EXPRESSION_ARGUMENT = eINSTANCE.getExpressionArgument(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference EXPRESSION_ARGUMENT__BODY = eINSTANCE.getExpressionArgument_Body(); + + /** + * 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 + */ + EClass STAR_ARGUMENT = eINSTANCE.getStarArgument(); + + /** + * 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 + */ + EClass TYPED_ARGUMENT = eINSTANCE.getTypedArgument(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference TYPED_ARGUMENT__TYPE = eINSTANCE.getTypedArgument_Type(); + + /** + * The meta object literal for the 'Variable' reference feature. + * + * + * @generated + */ + EReference TYPED_ARGUMENT__VARIABLE = eINSTANCE.getTypedArgument_Variable(); + + /** + * 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.TypedStarArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument() + * @generated + */ + EClass TYPED_STAR_ARGUMENT = eINSTANCE.getTypedStarArgument(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference TYPED_STAR_ARGUMENT__TYPE = eINSTANCE.getTypedStarArgument_Type(); + + /** + * 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 + */ + EClass REFERENCE = eINSTANCE.getReference(); + + /** + * The meta object literal for the 'Referred' reference feature. + * + * + * @generated + */ + EReference REFERENCE__REFERRED = eINSTANCE.getReference_Referred(); + + /** + * 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 + */ + EClass INTERVAL = eINSTANCE.getInterval(); + + /** + * The meta object literal for the 'Lower Bound' containment reference feature. + * + * + * @generated + */ + EReference INTERVAL__LOWER_BOUND = eINSTANCE.getInterval_LowerBound(); + + /** + * The meta object literal for the 'Upper Bound' containment reference feature. + * + * + * @generated + */ + EReference INTERVAL__UPPER_BOUND = eINSTANCE.getInterval_UpperBound(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl Literal}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral() + * @generated + */ + EClass LITERAL = eINSTANCE.getLiteral(); + + /** + * 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.ClassDefinitionImpl Class Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDefinition() + * @generated + */ + EClass CLASS_DEFINITION = eINSTANCE.getClassDefinition(); + + /** + * The meta object literal for the 'Abstract' attribute feature. + * + * + * @generated + */ + EAttribute CLASS_DEFINITION__ABSTRACT = eINSTANCE.getClassDefinition_Abstract(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute CLASS_DEFINITION__NAME = eINSTANCE.getClassDefinition_Name(); + + /** + * The meta object literal for the 'Superclasses' reference list feature. + * + * + * @generated + */ + EReference CLASS_DEFINITION__SUPERCLASSES = eINSTANCE.getClassDefinition_Superclasses(); + + /** + * The meta object literal for the 'Members' containment reference list feature. + * + * + * @generated + */ + EReference CLASS_DEFINITION__MEMBERS = eINSTANCE.getClassDefinition_Members(); + + /** + * 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. + * + * + * @generated + */ + EReference MEMBER_DEFINITION__MULTIPLICITY = eINSTANCE.getMemberDefinition_Multiplicity(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute MEMBER_DEFINITION__NAME = eINSTANCE.getMemberDefinition_Name(); + + /** + * The meta object literal for the 'Opposite' reference feature. + * + * + * @generated + */ + EReference MEMBER_DEFINITION__OPPOSITE = eINSTANCE.getMemberDefinition_Opposite(); + + /** + * 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 + */ + EClass MULTIPLICITY = eINSTANCE.getMultiplicity(); + + /** + * 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.ManyMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity() + * @generated + */ + EClass MANY_MULTIPLICITY = eINSTANCE.getManyMultiplicity(); + + /** + * 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.ExactMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity() + * @generated + */ + EClass EXACT_MULTIPLICITY = eINSTANCE.getExactMultiplicity(); + + /** + * The meta object literal for the 'Multiplicity' attribute feature. + * + * + * @generated + */ + EAttribute EXACT_MULTIPLICITY__MULTIPLICITY = eINSTANCE.getExactMultiplicity_Multiplicity(); + + /** + * 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.BoundedMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity() + * @generated + */ + EClass BOUNDED_MULTIPLICITY = eINSTANCE.getBoundedMultiplicity(); + + /** + * The meta object literal for the 'Lower Bound' attribute feature. + * + * + * @generated + */ + EAttribute BOUNDED_MULTIPLICITY__LOWER_BOUND = eINSTANCE.getBoundedMultiplicity_LowerBound(); + + /** + * The meta object literal for the 'Upper Bound' attribute feature. + * + * + * @generated + */ + EAttribute BOUNDED_MULTIPLICITY__UPPER_BOUND = eINSTANCE.getBoundedMultiplicity_UpperBound(); + + /** + * 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 + */ + EClass SCOPE_DEFINITION = eINSTANCE.getScopeDefinition(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference SCOPE_DEFINITION__TYPE = eINSTANCE.getScopeDefinition_Type(); + + /** + * 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 + */ + EClass EXACT_SCOPE_DEFINITION = eINSTANCE.getExactScopeDefinition(); + + /** + * The meta object literal for the 'Exact Scope' attribute feature. + * + * + * @generated + */ + EAttribute EXACT_SCOPE_DEFINITION__EXACT_SCOPE = eINSTANCE.getExactScopeDefinition_ExactScope(); + + /** + * 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 + */ + EClass BOUNDED_SCOPE_DEFINITION = eINSTANCE.getBoundedScopeDefinition(); + + /** + * The meta object literal for the 'Lower Bound' attribute feature. + * + * + * @generated + */ + EAttribute BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getBoundedScopeDefinition_LowerBound(); + + /** + * The meta object literal for the 'Upper Bound' attribute feature. + * + * + * @generated + */ + EAttribute BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = eINSTANCE.getBoundedScopeDefinition_UpperBound(); + + /** + * 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 + */ + EClass LOWER_BOUNDED_SCOPE_DEFINITION = eINSTANCE.getLowerBoundedScopeDefinition(); + + /** + * The meta object literal for the 'Lower Bound' attribute feature. + * + * + * @generated + */ + EAttribute LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getLowerBoundedScopeDefinition_LowerBound(); + + /** + * 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 + */ + EClass OBJECTIVE_DEFINITION = eINSTANCE.getObjectiveDefinition(); + + /** + * The meta object literal for the 'Kind' attribute feature. + * + * + * @generated + */ + EAttribute OBJECTIVE_DEFINITION__KIND = eINSTANCE.getObjectiveDefinition_Kind(); + + /** + * The meta object literal for the 'Objective' containment reference feature. + * + * + * @generated + */ + EReference OBJECTIVE_DEFINITION__OBJECTIVE = eINSTANCE.getObjectiveDefinition_Objective(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl Interpretation}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterpretation() + * @generated + */ + EClass INTERPRETATION = eINSTANCE.getInterpretation(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference INTERPRETATION__BODY = eINSTANCE.getInterpretation_Body(); + + /** + * The meta object literal for the 'Range' containment reference feature. + * + * + * @generated + */ + EReference INTERPRETATION__RANGE = eINSTANCE.getInterpretation_Range(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl Variable}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getVariable() + * @generated + */ + EClass VARIABLE = eINSTANCE.getVariable(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference VARIABLE__TYPE = eINSTANCE.getVariable_Type(); + + /** + * 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 + */ + EReference SWITCH__CASES = eINSTANCE.getSwitch_Cases(); + + /** + * 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 + */ + EClass CONJUNCTION = eINSTANCE.getConjunction(); + + /** + * The meta object literal for the 'Children' containment reference list feature. + * + * + * @generated + */ + EReference CONJUNCTION__CHILDREN = eINSTANCE.getConjunction_Children(); + + /** + * 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 + */ + EClass COMPARISON = eINSTANCE.getComparison(); + + /** + * The meta object literal for the 'Left' containment reference feature. + * + * + * @generated + */ + EReference COMPARISON__LEFT = eINSTANCE.getComparison_Left(); + + /** + * The meta object literal for the 'Op' attribute feature. + * + * + * @generated + */ + EAttribute COMPARISON__OP = eINSTANCE.getComparison_Op(); + + /** + * The meta object literal for the 'Right' containment reference feature. + * + * + * @generated + */ + EReference COMPARISON__RIGHT = eINSTANCE.getComparison_Right(); + + /** + * 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 + */ + EClass BINARY_EXPRESSION = eINSTANCE.getBinaryExpression(); + + /** + * The meta object literal for the 'Left' containment reference feature. + * + * + * @generated + */ + EReference BINARY_EXPRESSION__LEFT = eINSTANCE.getBinaryExpression_Left(); + + /** + * The meta object literal for the 'Op' attribute feature. + * + * + * @generated + */ + EAttribute BINARY_EXPRESSION__OP = eINSTANCE.getBinaryExpression_Op(); + + /** + * The meta object literal for the 'Right' containment reference feature. + * + * + * @generated + */ + EReference BINARY_EXPRESSION__RIGHT = eINSTANCE.getBinaryExpression_Right(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CastExpressionImpl Cast Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CastExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCastExpression() + * @generated + */ + EClass CAST_EXPRESSION = eINSTANCE.getCastExpression(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference CAST_EXPRESSION__BODY = eINSTANCE.getCastExpression_Body(); + + /** + * The meta object literal for the 'Type' reference feature. + * + * + * @generated + */ + EReference CAST_EXPRESSION__TYPE = eINSTANCE.getCastExpression_Type(); + + /** + * 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.UnaryExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression() + * @generated + */ + EClass UNARY_EXPRESSION = eINSTANCE.getUnaryExpression(); + + /** + * The meta object literal for the 'Op' attribute feature. + * + * + * @generated + */ + EAttribute UNARY_EXPRESSION__OP = eINSTANCE.getUnaryExpression_Op(); + + /** + * The meta object literal for the 'Body' containment reference feature. + * + * + * @generated + */ + EReference UNARY_EXPRESSION__BODY = eINSTANCE.getUnaryExpression_Body(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NodeImpl Node}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NodeImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNode() + * @generated + */ + EClass NODE = eINSTANCE.getNode(); + + /** + * The meta object literal for the 'With Id' attribute feature. + * + * + * @generated + */ + EAttribute NODE__WITH_ID = eINSTANCE.getNode_WithId(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorImpl Functor}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFunctor() + * @generated + */ + EClass FUNCTOR = eINSTANCE.getFunctor(); + + /** + * The meta object literal for the 'Parameters' reference list feature. + * + * + * @generated + */ + EReference FUNCTOR__PARAMETERS = eINSTANCE.getFunctor_Parameters(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl Predicate}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicate() + * @generated + */ + EClass PREDICATE = eINSTANCE.getPredicate(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricImpl Metric}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetric() + * @generated + */ + EClass METRIC = eINSTANCE.getMetric(); + + /** + * The meta object literal for the 'Return Type' reference feature. + * + * + * @generated + */ + EReference METRIC__RETURN_TYPE = eINSTANCE.getMetric_ReturnType(); + + /** + * The meta object literal 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 + */ + EEnum BINARY_OPERATOR = eINSTANCE.getBinaryOperator(); + + /** + * The meta object literal 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 + */ + EEnum UNARY_OP = eINSTANCE.getUnaryOp(); + + /** + * The meta object literal 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 + */ + EEnum LOGIC_VALUE = eINSTANCE.getLogicValue(); + + /** + * The meta object literal 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 + */ + EEnum OBJECTIVE_KIND = eINSTANCE.getObjectiveKind(); + + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.Quantifier Quantifier}' enum. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.Quantifier + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getQuantifier() + * @generated + */ + EEnum QUANTIFIER = eINSTANCE.getQuantifier(); + + } + +} //SolverLanguagePackage diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java new file mode 100644 index 00000000..1abc7ea1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java @@ -0,0 +1,18 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java new file mode 100644 index 00000000..2dd89f73 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java @@ -0,0 +1,19 @@ +/** + * 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 'Statement'. + * + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement() + * @model + * @generated + */ +public interface Statement extends EObject { +} // Statement diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java new file mode 100644 index 00000000..7272e64a --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java @@ -0,0 +1,46 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java new file mode 100644 index 00000000..fc181c0b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java @@ -0,0 +1,37 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java new file mode 100644 index 00000000..04744ad9 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java @@ -0,0 +1,69 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java new file mode 100644 index 00000000..53a18217 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java @@ -0,0 +1,46 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java new file mode 100644 index 00000000..c0a1ddc7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java @@ -0,0 +1,72 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java new file mode 100644 index 00000000..fad289b1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java @@ -0,0 +1,302 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java new file mode 100644 index 00000000..fd916c18 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java @@ -0,0 +1,69 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java new file mode 100644 index 00000000..581ce517 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java @@ -0,0 +1,46 @@ +/** + * generated by Xtext 2.21.0 + */ +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#getType Type}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getVariable() + * @model + * @generated + */ +public interface Variable extends NamedElement { + /** + * 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#getVariable_Type() + * @model + * @generated + */ + NamedElement getType(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(NamedElement value); + +} // Variable diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java new file mode 100644 index 00000000..0f0262df --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java @@ -0,0 +1,378 @@ +/** + * 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.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.LocalVariables; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +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#getLocalVariables Local Variables}
  • + *
  • {@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 cached value of the '{@link #getOp() Op}' reference. + * + * + * @see #getOp() + * @generated + * @ordered + */ + protected NamedElement op; + + /** + * The cached value of the '{@link #getLocalVariables() Local Variables}' containment reference. + * + * + * @see #getLocalVariables() + * @generated + * @ordered + */ + protected LocalVariables localVariables; + + /** + * 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 NamedElement getOp() { + if (op != null && op.eIsProxy()) { + InternalEObject oldOp = (InternalEObject)op; + op = (NamedElement)eResolveProxy(oldOp); + if (op != oldOp) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.AGGREGATION__OP, oldOp, op)); + } + } + return op; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetOp() { + return op; + } + + /** + * + * + * @generated + */ + @Override + public void setOp(NamedElement newOp) { + NamedElement oldOp = op; + op = newOp; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__OP, oldOp, op)); + } + + /** + * + * + * @generated + */ + @Override + public LocalVariables getLocalVariables() { + return localVariables; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLocalVariables(LocalVariables newLocalVariables, NotificationChain msgs) { + LocalVariables oldLocalVariables = localVariables; + localVariables = newLocalVariables; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES, oldLocalVariables, newLocalVariables); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setLocalVariables(LocalVariables newLocalVariables) { + if (newLocalVariables != localVariables) { + NotificationChain msgs = null; + if (localVariables != null) + msgs = ((InternalEObject)localVariables).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES, null, msgs); + if (newLocalVariables != null) + msgs = ((InternalEObject)newLocalVariables).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES, null, msgs); + msgs = basicSetLocalVariables(newLocalVariables, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES, newLocalVariables, newLocalVariables)); + } + + /** + * + * + * @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__LOCAL_VARIABLES: + return basicSetLocalVariables(null, msgs); + 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: + if (resolve) return getOp(); + return basicGetOp(); + case SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES: + return getLocalVariables(); + 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((NamedElement)newValue); + return; + case SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES: + setLocalVariables((LocalVariables)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((NamedElement)null); + return; + case SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES: + setLocalVariables((LocalVariables)null); + 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 != null; + case SolverLanguagePackage.AGGREGATION__LOCAL_VARIABLES: + return localVariables != null; + case SolverLanguagePackage.AGGREGATION__BODY: + return body != null; + case SolverLanguagePackage.AGGREGATION__CONDITION: + return condition != null; + } + return super.eIsSet(featureID); + } + +} //AggregationImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java new file mode 100644 index 00000000..afd14afa --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java @@ -0,0 +1,40 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java new file mode 100644 index 00000000..fce298f1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java @@ -0,0 +1,154 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java new file mode 100644 index 00000000..e85a40f9 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java @@ -0,0 +1,317 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java new file mode 100644 index 00000000..9b4f0385 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java @@ -0,0 +1,221 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java new file mode 100644 index 00000000..7d3a981e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java @@ -0,0 +1,221 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java new file mode 100644 index 00000000..bbc2dd4c --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java @@ -0,0 +1,373 @@ +/** + * 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#isTransitiveClosure Transitive Closure}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isReflexiveTransitiveClosure Reflexive Transitive Closure}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getArgumentList Argument List}
  • + *
+ * + * @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 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; + + /** + * The cached value of the '{@link #getArgumentList() Argument List}' containment reference. + * + * + * @see #getArgumentList() + * @generated + * @ordered + */ + protected ArgumentList argumentList; + + /** + * + * + * @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 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 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 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__TRANSITIVE_CLOSURE: + return isTransitiveClosure(); + case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: + return isReflexiveTransitiveClosure(); + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + return getArgumentList(); + } + 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__TRANSITIVE_CLOSURE: + setTransitiveClosure((Boolean)newValue); + return; + case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: + setReflexiveTransitiveClosure((Boolean)newValue); + return; + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + setArgumentList((ArgumentList)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__TRANSITIVE_CLOSURE: + setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT); + return; + case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: + setReflexiveTransitiveClosure(REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT); + return; + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + setArgumentList((ArgumentList)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CALL__FUNCTOR: + return functor != null; + case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: + return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT; + case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: + return reflexiveTransitiveClosure != REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT; + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + return argumentList != null; + } + 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java new file mode 100644 index 00000000..d6905f3b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java @@ -0,0 +1,246 @@ +/** + * 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#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl#getCondition Condition}
  • + *
+ * + * @generated + */ +public class CaseImpl extends ExpressionImpl implements Case { + /** + * 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 CaseImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.CASE; + } + + /** + * + * + * @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 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 NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.CASE__BODY: + return basicSetBody(null, msgs); + case SolverLanguagePackage.CASE__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.CASE__BODY: + return getBody(); + case SolverLanguagePackage.CASE__CONDITION: + return getCondition(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.CASE__BODY: + setBody((Expression)newValue); + return; + case SolverLanguagePackage.CASE__CONDITION: + setCondition((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CASE__BODY: + setBody((Expression)null); + return; + case SolverLanguagePackage.CASE__CONDITION: + setCondition((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CASE__BODY: + return body != null; + case SolverLanguagePackage.CASE__CONDITION: + return condition != null; + } + return super.eIsSet(featureID); + } + +} //CaseImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java new file mode 100644 index 00000000..39e20e46 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java @@ -0,0 +1,241 @@ +/** + * 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.CastExpression; +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Cast Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CastExpressionImpl#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CastExpressionImpl#getType Type}
  • + *
+ * + * @generated + */ +public class CastExpressionImpl extends ExpressionImpl implements CastExpression { + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * + * + * @generated + */ + protected CastExpressionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.CAST_EXPRESSION; + } + + /** + * + * + * @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.CAST_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.CAST_EXPRESSION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CAST_EXPRESSION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CAST_EXPRESSION__BODY, newBody, newBody)); + } + + /** + * + * + * @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.CAST_EXPRESSION__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.CAST_EXPRESSION__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.CAST_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.CAST_EXPRESSION__BODY: + return getBody(); + case SolverLanguagePackage.CAST_EXPRESSION__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.CAST_EXPRESSION__BODY: + setBody((Expression)newValue); + return; + case SolverLanguagePackage.CAST_EXPRESSION__TYPE: + setType((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CAST_EXPRESSION__BODY: + setBody((Expression)null); + return; + case SolverLanguagePackage.CAST_EXPRESSION__TYPE: + setType((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CAST_EXPRESSION__BODY: + return body != null; + case SolverLanguagePackage.CAST_EXPRESSION__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + +} //CastExpressionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java new file mode 100644 index 00000000..9fe48f0b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java @@ -0,0 +1,318 @@ +/** + * 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.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectResolvingEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Class Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#isAbstract Abstract}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getSuperclasses Superclasses}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getMembers Members}
  • + *
+ * + * @generated + */ +public class ClassDefinitionImpl extends StatementImpl implements ClassDefinition { + /** + * 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; + + /** + * + * + * @generated + */ + protected ClassDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.CLASS_DEFINITION; + } + + /** + * + * + * @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_DEFINITION__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.CLASS_DEFINITION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public EList getSuperclasses() { + if (superclasses == null) { + superclasses = new EObjectResolvingEList(NamedElement.class, this, SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES); + } + return superclasses; + } + + /** + * + * + * @generated + */ + @Override + public EList getMembers() { + if (members == null) { + members = new EObjectContainmentEList(MemberDefinition.class, this, SolverLanguagePackage.CLASS_DEFINITION__MEMBERS); + } + return members; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.CLASS_DEFINITION__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.CLASS_DEFINITION__ABSTRACT: + return isAbstract(); + case SolverLanguagePackage.CLASS_DEFINITION__NAME: + return getName(); + case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES: + return getSuperclasses(); + case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS: + return getMembers(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT: + setAbstract((Boolean)newValue); + return; + case SolverLanguagePackage.CLASS_DEFINITION__NAME: + setName((String)newValue); + return; + case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES: + getSuperclasses().clear(); + getSuperclasses().addAll((Collection)newValue); + return; + case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS: + getMembers().clear(); + getMembers().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT: + setAbstract(ABSTRACT_EDEFAULT); + return; + case SolverLanguagePackage.CLASS_DEFINITION__NAME: + setName(NAME_EDEFAULT); + return; + case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES: + getSuperclasses().clear(); + return; + case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS: + getMembers().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT: + return abstract_ != ABSTRACT_EDEFAULT; + case SolverLanguagePackage.CLASS_DEFINITION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES: + return superclasses != null && !superclasses.isEmpty(); + case SolverLanguagePackage.CLASS_DEFINITION__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(); + } + +} //ClassDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java new file mode 100644 index 00000000..37cc2e07 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java @@ -0,0 +1,317 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java new file mode 100644 index 00000000..cc689c0d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java @@ -0,0 +1,152 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java new file mode 100644 index 00000000..f1ad7bea --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java @@ -0,0 +1,247 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java new file mode 100644 index 00000000..47dd7bcc --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java @@ -0,0 +1,152 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java new file mode 100644 index 00000000..26717519 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java @@ -0,0 +1,38 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java new file mode 100644 index 00000000..fdeeae5e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java @@ -0,0 +1,165 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java new file mode 100644 index 00000000..d5a375b0 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java @@ -0,0 +1,165 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java new file mode 100644 index 00000000..798b4b68 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java @@ -0,0 +1,178 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java new file mode 100644 index 00000000..5b1c5969 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java @@ -0,0 +1,38 @@ +/** + * 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 abstract 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregatorDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregatorDefinitionImpl.java new file mode 100644 index 00000000..2b4efc07 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregatorDefinitionImpl.java @@ -0,0 +1,291 @@ +/** + * 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.ExternAggregatorDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Extern Aggregator Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl#getType Type}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternAggregatorDefinitionImpl#getInputType Input Type}
  • + *
+ * + * @generated + */ +public class ExternAggregatorDefinitionImpl extends StatementImpl implements ExternAggregatorDefinition { + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * 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 #getInputType() Input Type}' reference. + * + * + * @see #getInputType() + * @generated + * @ordered + */ + protected NamedElement inputType; + + /** + * + * + * @generated + */ + protected ExternAggregatorDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_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.EXTERN_AGGREGATOR_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.EXTERN_AGGREGATOR_DEFINITION__TYPE, oldType, type)); + } + + /** + * + * + * @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.EXTERN_AGGREGATOR_DEFINITION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getInputType() { + if (inputType != null && inputType.eIsProxy()) { + InternalEObject oldInputType = (InternalEObject)inputType; + inputType = (NamedElement)eResolveProxy(oldInputType); + if (inputType != oldInputType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE, oldInputType, inputType)); + } + } + return inputType; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetInputType() { + return inputType; + } + + /** + * + * + * @generated + */ + @Override + public void setInputType(NamedElement newInputType) { + NamedElement oldInputType = inputType; + inputType = newInputType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE, oldInputType, inputType)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__TYPE: + if (resolve) return getType(); + return basicGetType(); + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__NAME: + return getName(); + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE: + if (resolve) return getInputType(); + return basicGetInputType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__TYPE: + setType((NamedElement)newValue); + return; + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__NAME: + setName((String)newValue); + return; + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE: + setInputType((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__TYPE: + setType((NamedElement)null); + return; + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__NAME: + setName(NAME_EDEFAULT); + return; + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE: + setInputType((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__TYPE: + return type != null; + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE: + return inputType != null; + } + 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(); + } + +} //ExternAggregatorDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDefinitionImpl.java new file mode 100644 index 00000000..d186fb95 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDefinitionImpl.java @@ -0,0 +1,208 @@ +/** + * 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.util.EList; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +import org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Extern Datatype Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDefinitionImpl#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternDatatypeDefinitionImpl#getSupertypes Supertypes}
  • + *
+ * + * @generated + */ +public class ExternDatatypeDefinitionImpl extends StatementImpl implements ExternDatatypeDefinition { + /** + * 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 #getSupertypes() Supertypes}' reference list. + * + * + * @see #getSupertypes() + * @generated + * @ordered + */ + protected EList supertypes; + + /** + * + * + * @generated + */ + protected ExternDatatypeDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXTERN_DATATYPE_DEFINITION; + } + + /** + * + * + * @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.EXTERN_DATATYPE_DEFINITION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public EList getSupertypes() { + if (supertypes == null) { + supertypes = new EObjectResolvingEList(NamedElement.class, this, SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__SUPERTYPES); + } + return supertypes; + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__NAME: + return getName(); + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__SUPERTYPES: + return getSupertypes(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__NAME: + setName((String)newValue); + return; + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__SUPERTYPES: + getSupertypes().clear(); + getSupertypes().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__NAME: + setName(NAME_EDEFAULT); + return; + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__SUPERTYPES: + getSupertypes().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION__SUPERTYPES: + return supertypes != null && !supertypes.isEmpty(); + } + 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(); + } + +} //ExternDatatypeDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java new file mode 100644 index 00000000..97c76273 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java @@ -0,0 +1,311 @@ +/** + * 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.ExternMetricDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +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#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl#getArgumentList Argument List}
  • + *
+ * + * @generated + */ +public class ExternMetricDefinitionImpl extends StatementImpl implements ExternMetricDefinition { + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * 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 #getArgumentList() Argument List}' containment reference. + * + * + * @see #getArgumentList() + * @generated + * @ordered + */ + protected ArgumentList argumentList; + + /** + * + * + * @generated + */ + protected ExternMetricDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXTERN_METRIC_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.EXTERN_METRIC_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.EXTERN_METRIC_DEFINITION__TYPE, oldType, type)); + } + + /** + * + * + * @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.EXTERN_METRIC_DEFINITION__NAME, oldName, name)); + } + + /** + * + * + * @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.EXTERN_METRIC_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.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST, null, msgs); + if (newArgumentList != null) + msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST, null, msgs); + msgs = basicSetArgumentList(newArgumentList, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST, newArgumentList, newArgumentList)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__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.EXTERN_METRIC_DEFINITION__TYPE: + if (resolve) return getType(); + return basicGetType(); + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__NAME: + return getName(); + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST: + return getArgumentList(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE: + setType((NamedElement)newValue); + return; + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__NAME: + setName((String)newValue); + return; + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST: + setArgumentList((ArgumentList)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE: + setType((NamedElement)null); + return; + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__NAME: + setName(NAME_EDEFAULT); + return; + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST: + setArgumentList((ArgumentList)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE: + return type != null; + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST: + return argumentList != null; + } + 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(); + } + +} //ExternMetricDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java new file mode 100644 index 00000000..e59fa4e3 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java @@ -0,0 +1,248 @@ +/** + * 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.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#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl#getArgumentList Argument List}
  • + *
+ * + * @generated + */ +public class ExternPredicateDefinitionImpl extends StatementImpl implements ExternPredicateDefinition { + /** + * 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 #getArgumentList() Argument List}' containment reference. + * + * + * @see #getArgumentList() + * @generated + * @ordered + */ + protected ArgumentList argumentList; + + /** + * + * + * @generated + */ + protected ExternPredicateDefinitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION; + } + + /** + * + * + * @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.EXTERN_PREDICATE_DEFINITION__NAME, oldName, name)); + } + + /** + * + * + * @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.EXTERN_PREDICATE_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.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST, null, msgs); + if (newArgumentList != null) + msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST, null, msgs); + msgs = basicSetArgumentList(newArgumentList, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST, newArgumentList, newArgumentList)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__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.EXTERN_PREDICATE_DEFINITION__NAME: + return getName(); + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST: + return getArgumentList(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__NAME: + setName((String)newValue); + return; + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST: + setArgumentList((ArgumentList)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__NAME: + setName(NAME_EDEFAULT); + return; + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST: + setArgumentList((ArgumentList)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST: + return argumentList != null; + } + 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(); + } + +} //ExternPredicateDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java new file mode 100644 index 00000000..73bbc04f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java @@ -0,0 +1,134 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +import org.eclipse.viatra.solver.language.solverLanguage.Functor; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Variable; + +/** + * + * An implementation of the model object 'Functor'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.FunctorImpl#getParameters Parameters}
  • + *
+ * + * @generated + */ +public abstract class FunctorImpl extends NamedElementImpl implements Functor { + /** + * The cached value of the '{@link #getParameters() Parameters}' reference list. + * + * + * @see #getParameters() + * @generated + * @ordered + */ + protected EList parameters; + + /** + * + * + * @generated + */ + protected FunctorImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.FUNCTOR; + } + + /** + * + * + * @generated + */ + @Override + public EList getParameters() { + if (parameters == null) { + parameters = new EObjectResolvingEList(Variable.class, this, SolverLanguagePackage.FUNCTOR__PARAMETERS); + } + return parameters; + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.FUNCTOR__PARAMETERS: + return getParameters(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.FUNCTOR__PARAMETERS: + getParameters().clear(); + getParameters().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.FUNCTOR__PARAMETERS: + getParameters().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.FUNCTOR__PARAMETERS: + return parameters != null && !parameters.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //FunctorImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java new file mode 100644 index 00000000..3c6bb17a --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java @@ -0,0 +1,314 @@ +/** + * 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#getThen Then}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getElse Else}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getCondition Condition}
  • + *
+ * + * @generated + */ +public class IfElseImpl extends ExpressionImpl implements IfElse { + /** + * 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_; + + /** + * The cached value of the '{@link #getCondition() Condition}' containment reference. + * + * + * @see #getCondition() + * @generated + * @ordered + */ + protected Expression condition; + + /** + * + * + * @generated + */ + protected IfElseImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.IF_ELSE; + } + + /** + * + * + * @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 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 NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.IF_ELSE__THEN: + return basicSetThen(null, msgs); + case SolverLanguagePackage.IF_ELSE__ELSE: + return basicSetElse(null, msgs); + case SolverLanguagePackage.IF_ELSE__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.IF_ELSE__THEN: + return getThen(); + case SolverLanguagePackage.IF_ELSE__ELSE: + return getElse(); + case SolverLanguagePackage.IF_ELSE__CONDITION: + return getCondition(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.IF_ELSE__THEN: + setThen((Expression)newValue); + return; + case SolverLanguagePackage.IF_ELSE__ELSE: + setElse((Expression)newValue); + return; + case SolverLanguagePackage.IF_ELSE__CONDITION: + setCondition((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.IF_ELSE__THEN: + setThen((Expression)null); + return; + case SolverLanguagePackage.IF_ELSE__ELSE: + setElse((Expression)null); + return; + case SolverLanguagePackage.IF_ELSE__CONDITION: + setCondition((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.IF_ELSE__THEN: + return then != null; + case SolverLanguagePackage.IF_ELSE__ELSE: + return else_ != null; + case SolverLanguagePackage.IF_ELSE__CONDITION: + return condition != null; + } + return super.eIsSet(featureID); + } + +} //IfElseImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java new file mode 100644 index 00000000..348f51df --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java @@ -0,0 +1,38 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java new file mode 100644 index 00000000..fab8335a --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java @@ -0,0 +1,246 @@ +/** + * 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.Interpretation; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Interpretation'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl#getRange Range}
  • + *
+ * + * @generated + */ +public class InterpretationImpl extends StatementImpl implements Interpretation { + /** + * 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 InterpretationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.INTERPRETATION; + } + + /** + * + * + * @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.INTERPRETATION__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.INTERPRETATION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERPRETATION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERPRETATION__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.INTERPRETATION__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.INTERPRETATION__RANGE, null, msgs); + if (newRange != null) + msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERPRETATION__RANGE, null, msgs); + msgs = basicSetRange(newRange, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERPRETATION__RANGE, newRange, newRange)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.INTERPRETATION__BODY: + return basicSetBody(null, msgs); + case SolverLanguagePackage.INTERPRETATION__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.INTERPRETATION__BODY: + return getBody(); + case SolverLanguagePackage.INTERPRETATION__RANGE: + return getRange(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.INTERPRETATION__BODY: + setBody((Expression)newValue); + return; + case SolverLanguagePackage.INTERPRETATION__RANGE: + setRange((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.INTERPRETATION__BODY: + setBody((Expression)null); + return; + case SolverLanguagePackage.INTERPRETATION__RANGE: + setRange((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.INTERPRETATION__BODY: + return body != null; + case SolverLanguagePackage.INTERPRETATION__RANGE: + return range != null; + } + return super.eIsSet(featureID); + } + +} //InterpretationImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java new file mode 100644 index 00000000..a04dae76 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java @@ -0,0 +1,246 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java new file mode 100644 index 00000000..9788c44d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java @@ -0,0 +1,248 @@ +/** + * 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.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.LetBinding; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Let Binding'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl#getVariable Variable}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetBindingImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class LetBindingImpl extends MinimalEObjectImpl.Container implements LetBinding { + /** + * The cached value of the '{@link #getVariable() Variable}' containment reference. + * + * + * @see #getVariable() + * @generated + * @ordered + */ + protected NamedElement variable; + + /** + * The cached value of the '{@link #getValue() Value}' containment reference. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected Expression value; + + /** + * + * + * @generated + */ + protected LetBindingImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.LET_BINDING; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getVariable() { + return variable; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetVariable(NamedElement newVariable, NotificationChain msgs) { + NamedElement oldVariable = variable; + variable = newVariable; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__VARIABLE, oldVariable, newVariable); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setVariable(NamedElement newVariable) { + if (newVariable != variable) { + NotificationChain msgs = null; + if (variable != null) + msgs = ((InternalEObject)variable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_BINDING__VARIABLE, null, msgs); + if (newVariable != null) + msgs = ((InternalEObject)newVariable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_BINDING__VARIABLE, null, msgs); + msgs = basicSetVariable(newVariable, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__VARIABLE, newVariable, newVariable)); + } + + /** + * + * + * @generated + */ + @Override + public Expression getValue() { + return value; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetValue(Expression newValue, NotificationChain msgs) { + Expression oldValue = value; + value = newValue; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__VALUE, oldValue, newValue); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setValue(Expression newValue) { + if (newValue != value) { + NotificationChain msgs = null; + if (value != null) + msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_BINDING__VALUE, null, msgs); + if (newValue != null) + msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET_BINDING__VALUE, null, msgs); + msgs = basicSetValue(newValue, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET_BINDING__VALUE, newValue, newValue)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.LET_BINDING__VARIABLE: + return basicSetVariable(null, msgs); + case SolverLanguagePackage.LET_BINDING__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.LET_BINDING__VARIABLE: + return getVariable(); + case SolverLanguagePackage.LET_BINDING__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.LET_BINDING__VARIABLE: + setVariable((NamedElement)newValue); + return; + case SolverLanguagePackage.LET_BINDING__VALUE: + setValue((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LET_BINDING__VARIABLE: + setVariable((NamedElement)null); + return; + case SolverLanguagePackage.LET_BINDING__VALUE: + setValue((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LET_BINDING__VARIABLE: + return variable != null; + case SolverLanguagePackage.LET_BINDING__VALUE: + return value != null; + } + return super.eIsSet(featureID); + } + +} //LetBindingImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetImpl.java new file mode 100644 index 00000000..841c74c7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetImpl.java @@ -0,0 +1,224 @@ +/** + * 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.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.solver.language.solverLanguage.Expression; +import org.eclipse.viatra.solver.language.solverLanguage.Let; +import org.eclipse.viatra.solver.language.solverLanguage.LetBinding; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Let'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl#getBindings Bindings}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LetImpl#getBody Body}
  • + *
+ * + * @generated + */ +public class LetImpl extends ExpressionImpl implements Let { + /** + * The cached value of the '{@link #getBindings() Bindings}' containment reference list. + * + * + * @see #getBindings() + * @generated + * @ordered + */ + protected EList bindings; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * + * + * @generated + */ + protected LetImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.LET; + } + + /** + * + * + * @generated + */ + @Override + public EList getBindings() { + if (bindings == null) { + bindings = new EObjectContainmentEList(LetBinding.class, this, SolverLanguagePackage.LET__BINDINGS); + } + return bindings; + } + + /** + * + * + * @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.LET__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.LET__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.LET__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LET__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.LET__BINDINGS: + return ((InternalEList)getBindings()).basicRemove(otherEnd, msgs); + case SolverLanguagePackage.LET__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.LET__BINDINGS: + return getBindings(); + case SolverLanguagePackage.LET__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.LET__BINDINGS: + getBindings().clear(); + getBindings().addAll((Collection)newValue); + return; + case SolverLanguagePackage.LET__BODY: + setBody((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LET__BINDINGS: + getBindings().clear(); + return; + case SolverLanguagePackage.LET__BODY: + setBody((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LET__BINDINGS: + return bindings != null && !bindings.isEmpty(); + case SolverLanguagePackage.LET__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + +} //LetImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java new file mode 100644 index 00000000..671fa305 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java @@ -0,0 +1,38 @@ +/** + * 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.Literal; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Literal'. + * + * + * @generated + */ +public class LiteralImpl extends ExpressionImpl implements Literal { + /** + * + * + * @generated + */ + protected LiteralImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.LITERAL; + } + +} //LiteralImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LocalVariablesImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LocalVariablesImpl.java new file mode 100644 index 00000000..e34a61c6 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LocalVariablesImpl.java @@ -0,0 +1,154 @@ +/** + * 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.LocalVariables; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Local Variables'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.LocalVariablesImpl#getVariables Variables}
  • + *
+ * + * @generated + */ +public class LocalVariablesImpl extends MinimalEObjectImpl.Container implements LocalVariables { + /** + * The cached value of the '{@link #getVariables() Variables}' containment reference list. + * + * + * @see #getVariables() + * @generated + * @ordered + */ + protected EList variables; + + /** + * + * + * @generated + */ + protected LocalVariablesImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.LOCAL_VARIABLES; + } + + /** + * + * + * @generated + */ + @Override + public EList getVariables() { + if (variables == null) { + variables = new EObjectContainmentEList(NamedElement.class, this, SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES); + } + return variables; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES: + return ((InternalEList)getVariables()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES: + return getVariables(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES: + getVariables().clear(); + getVariables().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES: + getVariables().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.LOCAL_VARIABLES__VARIABLES: + return variables != null && !variables.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //LocalVariablesImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java new file mode 100644 index 00000000..602edee1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java @@ -0,0 +1,166 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java new file mode 100644 index 00000000..0e33864d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java @@ -0,0 +1,165 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java new file mode 100644 index 00000000..20a59027 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java @@ -0,0 +1,38 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java new file mode 100644 index 00000000..f632faa4 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java @@ -0,0 +1,430 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java new file mode 100644 index 00000000..d441b8c1 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java @@ -0,0 +1,309 @@ +/** + * 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.NamedElement; +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 cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * + * + * @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 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.METRIC_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.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: + 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.METRIC_DEFINITION__HEAD: + setHead((Expression)newValue); + return; + case SolverLanguagePackage.METRIC_DEFINITION__BODY: + setBody((Expression)newValue); + return; + case SolverLanguagePackage.METRIC_DEFINITION__TYPE: + setType((NamedElement)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((NamedElement)null); + 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 != null; + } + return super.eIsSet(featureID); + } + +} //MetricDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java new file mode 100644 index 00000000..41fbe6de --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java @@ -0,0 +1,159 @@ +/** + * 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.Metric; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Metric'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricImpl#getReturnType Return Type}
  • + *
+ * + * @generated + */ +public class MetricImpl extends FunctorImpl implements Metric { + /** + * The cached value of the '{@link #getReturnType() Return Type}' reference. + * + * + * @see #getReturnType() + * @generated + * @ordered + */ + protected NamedElement returnType; + + /** + * + * + * @generated + */ + protected MetricImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.METRIC; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement getReturnType() { + if (returnType != null && returnType.eIsProxy()) { + InternalEObject oldReturnType = (InternalEObject)returnType; + returnType = (NamedElement)eResolveProxy(oldReturnType); + if (returnType != oldReturnType) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.METRIC__RETURN_TYPE, oldReturnType, returnType)); + } + } + return returnType; + } + + /** + * + * + * @generated + */ + public NamedElement basicGetReturnType() { + return returnType; + } + + /** + * + * + * @generated + */ + @Override + public void setReturnType(NamedElement newReturnType) { + NamedElement oldReturnType = returnType; + returnType = newReturnType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC__RETURN_TYPE, oldReturnType, returnType)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.METRIC__RETURN_TYPE: + if (resolve) return getReturnType(); + return basicGetReturnType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.METRIC__RETURN_TYPE: + setReturnType((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.METRIC__RETURN_TYPE: + setReturnType((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.METRIC__RETURN_TYPE: + return returnType != null; + } + return super.eIsSet(featureID); + } + +} //MetricImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java new file mode 100644 index 00000000..e29fe9f6 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java @@ -0,0 +1,40 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java new file mode 100644 index 00000000..a6b102ac --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java @@ -0,0 +1,166 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java new file mode 100644 index 00000000..a4fcf51f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java @@ -0,0 +1,165 @@ +/** + * 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.Node; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Node'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.NodeImpl#isWithId With Id}
  • + *
+ * + * @generated + */ +public class NodeImpl extends NamedElementImpl implements Node { + /** + * The default value of the '{@link #isWithId() With Id}' attribute. + * + * + * @see #isWithId() + * @generated + * @ordered + */ + protected static final boolean WITH_ID_EDEFAULT = false; + + /** + * The cached value of the '{@link #isWithId() With Id}' attribute. + * + * + * @see #isWithId() + * @generated + * @ordered + */ + protected boolean withId = WITH_ID_EDEFAULT; + + /** + * + * + * @generated + */ + protected NodeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.NODE; + } + + /** + * + * + * @generated + */ + @Override + public boolean isWithId() { + return withId; + } + + /** + * + * + * @generated + */ + @Override + public void setWithId(boolean newWithId) { + boolean oldWithId = withId; + withId = newWithId; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NODE__WITH_ID, oldWithId, withId)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.NODE__WITH_ID: + return isWithId(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.NODE__WITH_ID: + setWithId((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.NODE__WITH_ID: + setWithId(WITH_ID_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.NODE__WITH_ID: + return withId != WITH_ID_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (withId: "); + result.append(withId); + result.append(')'); + return result.toString(); + } + +} //NodeImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java new file mode 100644 index 00000000..ffd4294d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java @@ -0,0 +1,167 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java new file mode 100644 index 00000000..7d0e4c50 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java @@ -0,0 +1,249 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java new file mode 100644 index 00000000..251a27d9 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java @@ -0,0 +1,372 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java new file mode 100644 index 00000000..626b6419 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java @@ -0,0 +1,38 @@ +/** + * 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.Predicate; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Predicate'. + * + * + * @generated + */ +public class PredicateImpl extends FunctorImpl implements Predicate { + /** + * + * + * @generated + */ + protected PredicateImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.PREDICATE; + } + +} //PredicateImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java new file mode 100644 index 00000000..0a4ad5ce --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java @@ -0,0 +1,154 @@ +/** + * 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.Problem; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Statement; + +/** + * + * An implementation of the model object 'Problem'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl#getStatements Statements}
  • + *
+ * + * @generated + */ +public class ProblemImpl extends MinimalEObjectImpl.Container implements Problem { + /** + * The cached value of the '{@link #getStatements() Statements}' containment reference list. + * + * + * @see #getStatements() + * @generated + * @ordered + */ + protected EList statements; + + /** + * + * + * @generated + */ + protected ProblemImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.PROBLEM; + } + + /** + * + * + * @generated + */ + @Override + public EList getStatements() { + if (statements == null) { + statements = new EObjectContainmentEList(Statement.class, this, SolverLanguagePackage.PROBLEM__STATEMENTS); + } + return statements; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.PROBLEM__STATEMENTS: + return ((InternalEList)getStatements()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.PROBLEM__STATEMENTS: + return getStatements(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.PROBLEM__STATEMENTS: + getStatements().clear(); + getStatements().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.PROBLEM__STATEMENTS: + getStatements().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.PROBLEM__STATEMENTS: + return statements != null && !statements.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //ProblemImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/QuantifiedExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/QuantifiedExpressionImpl.java new file mode 100644 index 00000000..a1eecebd --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/QuantifiedExpressionImpl.java @@ -0,0 +1,318 @@ +/** + * 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.LocalVariables; +import org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression; +import org.eclipse.viatra.solver.language.solverLanguage.Quantifier; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Quantified Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl#getLocalVariables Local Variables}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl#getBody Body}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.QuantifiedExpressionImpl#getQuantifier Quantifier}
  • + *
+ * + * @generated + */ +public class QuantifiedExpressionImpl extends ExpressionImpl implements QuantifiedExpression { + /** + * The cached value of the '{@link #getLocalVariables() Local Variables}' containment reference. + * + * + * @see #getLocalVariables() + * @generated + * @ordered + */ + protected LocalVariables localVariables; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Expression body; + + /** + * The default value of the '{@link #getQuantifier() Quantifier}' attribute. + * + * + * @see #getQuantifier() + * @generated + * @ordered + */ + protected static final Quantifier QUANTIFIER_EDEFAULT = Quantifier.EXISTS; + + /** + * The cached value of the '{@link #getQuantifier() Quantifier}' attribute. + * + * + * @see #getQuantifier() + * @generated + * @ordered + */ + protected Quantifier quantifier = QUANTIFIER_EDEFAULT; + + /** + * + * + * @generated + */ + protected QuantifiedExpressionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.QUANTIFIED_EXPRESSION; + } + + /** + * + * + * @generated + */ + @Override + public LocalVariables getLocalVariables() { + return localVariables; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLocalVariables(LocalVariables newLocalVariables, NotificationChain msgs) { + LocalVariables oldLocalVariables = localVariables; + localVariables = newLocalVariables; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES, oldLocalVariables, newLocalVariables); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setLocalVariables(LocalVariables newLocalVariables) { + if (newLocalVariables != localVariables) { + NotificationChain msgs = null; + if (localVariables != null) + msgs = ((InternalEObject)localVariables).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES, null, msgs); + if (newLocalVariables != null) + msgs = ((InternalEObject)newLocalVariables).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES, null, msgs); + msgs = basicSetLocalVariables(newLocalVariables, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES, newLocalVariables, newLocalVariables)); + } + + /** + * + * + * @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.QUANTIFIED_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.QUANTIFIED_EXPRESSION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public Quantifier getQuantifier() { + return quantifier; + } + + /** + * + * + * @generated + */ + @Override + public void setQuantifier(Quantifier newQuantifier) { + Quantifier oldQuantifier = quantifier; + quantifier = newQuantifier == null ? QUANTIFIER_EDEFAULT : newQuantifier; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIER, oldQuantifier, quantifier)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES: + return basicSetLocalVariables(null, msgs); + case SolverLanguagePackage.QUANTIFIED_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.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES: + return getLocalVariables(); + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY: + return getBody(); + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIER: + return getQuantifier(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES: + setLocalVariables((LocalVariables)newValue); + return; + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY: + setBody((Expression)newValue); + return; + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIER: + setQuantifier((Quantifier)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES: + setLocalVariables((LocalVariables)null); + return; + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY: + setBody((Expression)null); + return; + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIER: + setQuantifier(QUANTIFIER_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__LOCAL_VARIABLES: + return localVariables != null; + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__BODY: + return body != null; + case SolverLanguagePackage.QUANTIFIED_EXPRESSION__QUANTIFIER: + return quantifier != QUANTIFIER_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (quantifier: "); + result.append(quantifier); + result.append(')'); + return result.toString(); + } + +} //QuantifiedExpressionImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java new file mode 100644 index 00000000..0be1aac7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java @@ -0,0 +1,159 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java new file mode 100644 index 00000000..a4cf94a7 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java @@ -0,0 +1,159 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java new file mode 100644 index 00000000..5787175b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java @@ -0,0 +1,905 @@ +/** + * 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; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +import org.eclipse.viatra.solver.language.solverLanguage.*; + +/** + * + * An implementation of the model Factory. + * + * @generated + */ +public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLanguageFactory { + /** + * Creates the default factory implementation. + * + * + * @generated + */ + public static SolverLanguageFactory init() { + try { + SolverLanguageFactory theSolverLanguageFactory = (SolverLanguageFactory)EPackage.Registry.INSTANCE.getEFactory(SolverLanguagePackage.eNS_URI); + if (theSolverLanguageFactory != null) { + return theSolverLanguageFactory; + } + } + catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new SolverLanguageFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * + * + * @generated + */ + public SolverLanguageFactoryImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case SolverLanguagePackage.PROBLEM: return createProblem(); + case SolverLanguagePackage.STATEMENT: return createStatement(); + case SolverLanguagePackage.PREDICATE_DEFINITION: return createPredicateDefinition(); + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: return createUnnamedErrorPrediateDefinition(); + case SolverLanguagePackage.DEFAULT_DEFINITION: return createDefaultDefinition(); + case SolverLanguagePackage.METRIC_DEFINITION: return createMetricDefinition(); + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION: return createExternPredicateDefinition(); + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: return createExternMetricDefinition(); + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION: return createExternAggregatorDefinition(); + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION: return createExternDatatypeDefinition(); + case SolverLanguagePackage.NAMED_ELEMENT: return createNamedElement(); + case SolverLanguagePackage.IF_ELSE: return createIfElse(); + case SolverLanguagePackage.LET: return createLet(); + case SolverLanguagePackage.LET_BINDING: return createLetBinding(); + case SolverLanguagePackage.CASE: return createCase(); + case SolverLanguagePackage.LOCAL_VARIABLES: return createLocalVariables(); + case SolverLanguagePackage.QUANTIFIED_EXPRESSION: return createQuantifiedExpression(); + 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.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.CLASS_DEFINITION: return createClassDefinition(); + 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.INTERPRETATION: return createInterpretation(); + case SolverLanguagePackage.VARIABLE: return createVariable(); + 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.CAST_EXPRESSION: return createCastExpression(); + case SolverLanguagePackage.UNARY_EXPRESSION: return createUnaryExpression(); + case SolverLanguagePackage.NODE: return createNode(); + case SolverLanguagePackage.PREDICATE: return createPredicate(); + case SolverLanguagePackage.METRIC: return createMetric(); + 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.BINARY_OPERATOR: + return createBinaryOperatorFromString(eDataType, initialValue); + case SolverLanguagePackage.UNARY_OP: + return createUnaryOpFromString(eDataType, initialValue); + case SolverLanguagePackage.LOGIC_VALUE: + return createLogicValueFromString(eDataType, initialValue); + case SolverLanguagePackage.OBJECTIVE_KIND: + return createObjectiveKindFromString(eDataType, initialValue); + case SolverLanguagePackage.QUANTIFIER: + return createQuantifierFromString(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.BINARY_OPERATOR: + return convertBinaryOperatorToString(eDataType, instanceValue); + case SolverLanguagePackage.UNARY_OP: + return convertUnaryOpToString(eDataType, instanceValue); + case SolverLanguagePackage.LOGIC_VALUE: + return convertLogicValueToString(eDataType, instanceValue); + case SolverLanguagePackage.OBJECTIVE_KIND: + return convertObjectiveKindToString(eDataType, instanceValue); + case SolverLanguagePackage.QUANTIFIER: + return convertQuantifierToString(eDataType, instanceValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + @Override + public Problem createProblem() { + ProblemImpl problem = new ProblemImpl(); + return problem; + } + + /** + * + * + * @generated + */ + @Override + public Statement createStatement() { + StatementImpl statement = new StatementImpl(); + return statement; + } + + /** + * + * + * @generated + */ + @Override + public PredicateDefinition createPredicateDefinition() { + PredicateDefinitionImpl predicateDefinition = new PredicateDefinitionImpl(); + return predicateDefinition; + } + + /** + * + * + * @generated + */ + @Override + public UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition() { + UnnamedErrorPrediateDefinitionImpl unnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionImpl(); + return unnamedErrorPrediateDefinition; + } + + /** + * + * + * @generated + */ + @Override + public DefaultDefinition createDefaultDefinition() { + DefaultDefinitionImpl defaultDefinition = new DefaultDefinitionImpl(); + return defaultDefinition; + } + + /** + * + * + * @generated + */ + @Override + public MetricDefinition createMetricDefinition() { + MetricDefinitionImpl metricDefinition = new MetricDefinitionImpl(); + return metricDefinition; + } + + /** + * + * + * @generated + */ + @Override + public ExternPredicateDefinition createExternPredicateDefinition() { + ExternPredicateDefinitionImpl externPredicateDefinition = new ExternPredicateDefinitionImpl(); + return externPredicateDefinition; + } + + /** + * + * + * @generated + */ + @Override + public ExternMetricDefinition createExternMetricDefinition() { + ExternMetricDefinitionImpl externMetricDefinition = new ExternMetricDefinitionImpl(); + return externMetricDefinition; + } + + /** + * + * + * @generated + */ + @Override + public ExternAggregatorDefinition createExternAggregatorDefinition() { + ExternAggregatorDefinitionImpl externAggregatorDefinition = new ExternAggregatorDefinitionImpl(); + return externAggregatorDefinition; + } + + /** + * + * + * @generated + */ + @Override + public ExternDatatypeDefinition createExternDatatypeDefinition() { + ExternDatatypeDefinitionImpl externDatatypeDefinition = new ExternDatatypeDefinitionImpl(); + return externDatatypeDefinition; + } + + /** + * + * + * @generated + */ + @Override + public NamedElement createNamedElement() { + NamedElementImpl namedElement = new NamedElementImpl(); + return namedElement; + } + + /** + * + * + * @generated + */ + @Override + public IfElse createIfElse() { + IfElseImpl ifElse = new IfElseImpl(); + return ifElse; + } + + /** + * + * + * @generated + */ + @Override + public Let createLet() { + LetImpl let = new LetImpl(); + return let; + } + + /** + * + * + * @generated + */ + @Override + public LetBinding createLetBinding() { + LetBindingImpl letBinding = new LetBindingImpl(); + return letBinding; + } + + /** + * + * + * @generated + */ + @Override + public Case createCase() { + CaseImpl case_ = new CaseImpl(); + return case_; + } + + /** + * + * + * @generated + */ + @Override + public LocalVariables createLocalVariables() { + LocalVariablesImpl localVariables = new LocalVariablesImpl(); + return localVariables; + } + + /** + * + * + * @generated + */ + @Override + public QuantifiedExpression createQuantifiedExpression() { + QuantifiedExpressionImpl quantifiedExpression = new QuantifiedExpressionImpl(); + return quantifiedExpression; + } + + /** + * + * + * @generated + */ + @Override + public Aggregation createAggregation() { + AggregationImpl aggregation = new AggregationImpl(); + return aggregation; + } + + /** + * + * + * @generated + */ + @Override + public Call createCall() { + CallImpl call = new CallImpl(); + return call; + } + + /** + * + * + * @generated + */ + @Override + public ArgumentList createArgumentList() { + ArgumentListImpl argumentList = new ArgumentListImpl(); + return argumentList; + } + + /** + * + * + * @generated + */ + @Override + public Argument createArgument() { + ArgumentImpl argument = new ArgumentImpl(); + return argument; + } + + /** + * + * + * @generated + */ + @Override + public ExpressionArgument createExpressionArgument() { + ExpressionArgumentImpl expressionArgument = new ExpressionArgumentImpl(); + return expressionArgument; + } + + /** + * + * + * @generated + */ + @Override + public StarArgument createStarArgument() { + StarArgumentImpl starArgument = new StarArgumentImpl(); + return starArgument; + } + + /** + * + * + * @generated + */ + @Override + public TypedArgument createTypedArgument() { + TypedArgumentImpl typedArgument = new TypedArgumentImpl(); + return typedArgument; + } + + /** + * + * + * @generated + */ + @Override + public TypedStarArgument createTypedStarArgument() { + TypedStarArgumentImpl typedStarArgument = new TypedStarArgumentImpl(); + return typedStarArgument; + } + + /** + * + * + * @generated + */ + @Override + public Reference createReference() { + ReferenceImpl reference = new ReferenceImpl(); + return reference; + } + + /** + * + * + * @generated + */ + @Override + public Interval createInterval() { + IntervalImpl interval = new IntervalImpl(); + return interval; + } + + /** + * + * + * @generated + */ + @Override + public Literal createLiteral() { + LiteralImpl literal = new LiteralImpl(); + return literal; + } + + /** + * + * + * @generated + */ + @Override + public LogicLiteral createLogicLiteral() { + LogicLiteralImpl logicLiteral = new LogicLiteralImpl(); + return logicLiteral; + } + + /** + * + * + * @generated + */ + @Override + public NumericLiteral createNumericLiteral() { + NumericLiteralImpl numericLiteral = new NumericLiteralImpl(); + return numericLiteral; + } + + /** + * + * + * @generated + */ + @Override + public InfinityLiteral createInfinityLiteral() { + InfinityLiteralImpl infinityLiteral = new InfinityLiteralImpl(); + return infinityLiteral; + } + + /** + * + * + * @generated + */ + @Override + public EmptyIntervalLiteral createEmptyIntervalLiteral() { + EmptyIntervalLiteralImpl emptyIntervalLiteral = new EmptyIntervalLiteralImpl(); + return emptyIntervalLiteral; + } + + /** + * + * + * @generated + */ + @Override + public StringLiteral createStringLiteral() { + StringLiteralImpl stringLiteral = new StringLiteralImpl(); + return stringLiteral; + } + + /** + * + * + * @generated + */ + @Override + public ClassDefinition createClassDefinition() { + ClassDefinitionImpl classDefinition = new ClassDefinitionImpl(); + return classDefinition; + } + + /** + * + * + * @generated + */ + @Override + public MemberDefinition createMemberDefinition() { + MemberDefinitionImpl memberDefinition = new MemberDefinitionImpl(); + return memberDefinition; + } + + /** + * + * + * @generated + */ + @Override + public Multiplicity createMultiplicity() { + MultiplicityImpl multiplicity = new MultiplicityImpl(); + return multiplicity; + } + + /** + * + * + * @generated + */ + @Override + public ManyMultiplicity createManyMultiplicity() { + ManyMultiplicityImpl manyMultiplicity = new ManyMultiplicityImpl(); + return manyMultiplicity; + } + + /** + * + * + * @generated + */ + @Override + public ExactMultiplicity createExactMultiplicity() { + ExactMultiplicityImpl exactMultiplicity = new ExactMultiplicityImpl(); + return exactMultiplicity; + } + + /** + * + * + * @generated + */ + @Override + public BoundedMultiplicity createBoundedMultiplicity() { + BoundedMultiplicityImpl boundedMultiplicity = new BoundedMultiplicityImpl(); + return boundedMultiplicity; + } + + /** + * + * + * @generated + */ + @Override + public ScopeDefinition createScopeDefinition() { + ScopeDefinitionImpl scopeDefinition = new ScopeDefinitionImpl(); + return scopeDefinition; + } + + /** + * + * + * @generated + */ + @Override + public ExactScopeDefinition createExactScopeDefinition() { + ExactScopeDefinitionImpl exactScopeDefinition = new ExactScopeDefinitionImpl(); + return exactScopeDefinition; + } + + /** + * + * + * @generated + */ + @Override + public BoundedScopeDefinition createBoundedScopeDefinition() { + BoundedScopeDefinitionImpl boundedScopeDefinition = new BoundedScopeDefinitionImpl(); + return boundedScopeDefinition; + } + + /** + * + * + * @generated + */ + @Override + public LowerBoundedScopeDefinition createLowerBoundedScopeDefinition() { + LowerBoundedScopeDefinitionImpl lowerBoundedScopeDefinition = new LowerBoundedScopeDefinitionImpl(); + return lowerBoundedScopeDefinition; + } + + /** + * + * + * @generated + */ + @Override + public ObjectiveDefinition createObjectiveDefinition() { + ObjectiveDefinitionImpl objectiveDefinition = new ObjectiveDefinitionImpl(); + return objectiveDefinition; + } + + /** + * + * + * @generated + */ + @Override + public Interpretation createInterpretation() { + InterpretationImpl interpretation = new InterpretationImpl(); + return interpretation; + } + + /** + * + * + * @generated + */ + @Override + public Variable createVariable() { + VariableImpl variable = new VariableImpl(); + return variable; + } + + /** + * + * + * @generated + */ + @Override + public Disjunction createDisjunction() { + DisjunctionImpl disjunction = new DisjunctionImpl(); + return disjunction; + } + + /** + * + * + * @generated + */ + @Override + public Switch createSwitch() { + SwitchImpl switch_ = new SwitchImpl(); + return switch_; + } + + /** + * + * + * @generated + */ + @Override + public Conjunction createConjunction() { + ConjunctionImpl conjunction = new ConjunctionImpl(); + return conjunction; + } + + /** + * + * + * @generated + */ + @Override + public Comparison createComparison() { + ComparisonImpl comparison = new ComparisonImpl(); + return comparison; + } + + /** + * + * + * @generated + */ + @Override + public BinaryExpression createBinaryExpression() { + BinaryExpressionImpl binaryExpression = new BinaryExpressionImpl(); + return binaryExpression; + } + + /** + * + * + * @generated + */ + @Override + public CastExpression createCastExpression() { + CastExpressionImpl castExpression = new CastExpressionImpl(); + return castExpression; + } + + /** + * + * + * @generated + */ + @Override + public UnaryExpression createUnaryExpression() { + UnaryExpressionImpl unaryExpression = new UnaryExpressionImpl(); + return unaryExpression; + } + + /** + * + * + * @generated + */ + @Override + public Node createNode() { + NodeImpl node = new NodeImpl(); + return node; + } + + /** + * + * + * @generated + */ + @Override + public Predicate createPredicate() { + PredicateImpl predicate = new PredicateImpl(); + return predicate; + } + + /** + * + * + * @generated + */ + @Override + public Metric createMetric() { + MetricImpl metric = new MetricImpl(); + return metric; + } + + /** + * + * + * @generated + */ + public BinaryOperator createBinaryOperatorFromString(EDataType eDataType, String initialValue) { + BinaryOperator result = BinaryOperator.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * + * + * @generated + */ + public String convertBinaryOperatorToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * + * + * @generated + */ + public UnaryOp createUnaryOpFromString(EDataType eDataType, String initialValue) { + UnaryOp result = UnaryOp.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * + * + * @generated + */ + public String convertUnaryOpToString(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) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * + * + * @generated + */ + public Quantifier createQuantifierFromString(EDataType eDataType, String initialValue) { + Quantifier result = Quantifier.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * + * + * @generated + */ + public String convertQuantifierToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * + * + * @generated + */ + @Override + public SolverLanguagePackage getSolverLanguagePackage() { + return (SolverLanguagePackage)getEPackage(); + } + + /** + * + * + * @deprecated + * @generated + */ + @Deprecated + public static SolverLanguagePackage getPackage() { + return SolverLanguagePackage.eINSTANCE; + } + +} //SolverLanguageFactoryImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java new file mode 100644 index 00000000..e8834386 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java @@ -0,0 +1,2726 @@ +/** + * 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.Aggregation; +import org.eclipse.viatra.solver.language.solverLanguage.Argument; +import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList; +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.CastExpression; +import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Comparison; +import org.eclipse.viatra.solver.language.solverLanguage.Conjunction; +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.ExternAggregatorDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Functor; +import org.eclipse.viatra.solver.language.solverLanguage.IfElse; +import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.Interpretation; +import org.eclipse.viatra.solver.language.solverLanguage.Interval; +import org.eclipse.viatra.solver.language.solverLanguage.Let; +import org.eclipse.viatra.solver.language.solverLanguage.LetBinding; +import org.eclipse.viatra.solver.language.solverLanguage.Literal; +import org.eclipse.viatra.solver.language.solverLanguage.LocalVariables; +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.Metric; +import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.Node; +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.Predicate; +import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Problem; +import org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression; +import org.eclipse.viatra.solver.language.solverLanguage.Quantifier; +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.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; +import org.eclipse.viatra.solver.language.solverLanguage.Variable; + +/** + * + * An implementation of the model Package. + * + * @generated + */ +public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLanguagePackage { + /** + * + * + * @generated + */ + private EClass problemEClass = null; + + /** + * + * + * @generated + */ + private EClass statementEClass = null; + + /** + * + * + * @generated + */ + private EClass predicateDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass unnamedErrorPrediateDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass defaultDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass metricDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass externPredicateDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass externMetricDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass externAggregatorDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass externDatatypeDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass namedElementEClass = null; + + /** + * + * + * @generated + */ + private EClass expressionEClass = null; + + /** + * + * + * @generated + */ + private EClass ifElseEClass = null; + + /** + * + * + * @generated + */ + private EClass letEClass = null; + + /** + * + * + * @generated + */ + private EClass letBindingEClass = null; + + /** + * + * + * @generated + */ + private EClass caseEClass = null; + + /** + * + * + * @generated + */ + private EClass localVariablesEClass = null; + + /** + * + * + * @generated + */ + private EClass quantifiedExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass aggregationEClass = null; + + /** + * + * + * @generated + */ + private EClass callEClass = null; + + /** + * + * + * @generated + */ + private EClass argumentListEClass = null; + + /** + * + * + * @generated + */ + private EClass argumentEClass = null; + + /** + * + * + * @generated + */ + private EClass expressionArgumentEClass = null; + + /** + * + * + * @generated + */ + private EClass starArgumentEClass = null; + + /** + * + * + * @generated + */ + private EClass typedArgumentEClass = null; + + /** + * + * + * @generated + */ + private EClass typedStarArgumentEClass = null; + + /** + * + * + * @generated + */ + private EClass referenceEClass = null; + + /** + * + * + * @generated + */ + private EClass intervalEClass = null; + + /** + * + * + * @generated + */ + private EClass literalEClass = null; + + /** + * + * + * @generated + */ + private EClass logicLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass numericLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass infinityLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass emptyIntervalLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass stringLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass classDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass memberDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass multiplicityEClass = null; + + /** + * + * + * @generated + */ + private EClass manyMultiplicityEClass = null; + + /** + * + * + * @generated + */ + private EClass exactMultiplicityEClass = null; + + /** + * + * + * @generated + */ + private EClass boundedMultiplicityEClass = null; + + /** + * + * + * @generated + */ + private EClass scopeDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass exactScopeDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass boundedScopeDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass lowerBoundedScopeDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass objectiveDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass interpretationEClass = null; + + /** + * + * + * @generated + */ + private EClass variableEClass = null; + + /** + * + * + * @generated + */ + private EClass disjunctionEClass = null; + + /** + * + * + * @generated + */ + private EClass switchEClass = null; + + /** + * + * + * @generated + */ + private EClass conjunctionEClass = null; + + /** + * + * + * @generated + */ + private EClass comparisonEClass = null; + + /** + * + * + * @generated + */ + private EClass binaryExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass castExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass unaryExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass nodeEClass = null; + + /** + * + * + * @generated + */ + private EClass functorEClass = null; + + /** + * + * + * @generated + */ + private EClass predicateEClass = null; + + /** + * + * + * @generated + */ + private EClass metricEClass = null; + + /** + * + * + * @generated + */ + private EEnum binaryOperatorEEnum = null; + + /** + * + * + * @generated + */ + private EEnum unaryOpEEnum = null; + + /** + * + * + * @generated + */ + private EEnum logicValueEEnum = null; + + /** + * + * + * @generated + */ + private EEnum objectiveKindEEnum = null; + + /** + * + * + * @generated + */ + private EEnum quantifierEEnum = null; + + /** + * Creates an instance of the model Package, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + *

Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * + * + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#eNS_URI + * @see #init() + * @generated + */ + private SolverLanguagePackageImpl() { + super(eNS_URI, SolverLanguageFactory.eINSTANCE); + } + + /** + * + * + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. + * + *

This method is used to initialize {@link SolverLanguagePackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * + * + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static SolverLanguagePackage init() { + if (isInited) return (SolverLanguagePackage)EPackage.Registry.INSTANCE.getEPackage(SolverLanguagePackage.eNS_URI); + + // Obtain or create and register package + Object registeredSolverLanguagePackage = EPackage.Registry.INSTANCE.get(eNS_URI); + SolverLanguagePackageImpl theSolverLanguagePackage = registeredSolverLanguagePackage instanceof SolverLanguagePackageImpl ? (SolverLanguagePackageImpl)registeredSolverLanguagePackage : new SolverLanguagePackageImpl(); + + isInited = true; + + // Create package meta-data objects + theSolverLanguagePackage.createPackageContents(); + + // Initialize created meta-data + theSolverLanguagePackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theSolverLanguagePackage.freeze(); + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(SolverLanguagePackage.eNS_URI, theSolverLanguagePackage); + return theSolverLanguagePackage; + } + + /** + * + * + * @generated + */ + @Override + public EClass getProblem() { + return problemEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getProblem_Statements() { + return (EReference)problemEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getStatement() { + return statementEClass; + } + + /** + * + * + * @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 unnamedErrorPrediateDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getUnnamedErrorPrediateDefinition_ArgumentList() { + return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getUnnamedErrorPrediateDefinition_Body() { + return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getDefaultDefinition() { + return defaultDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getDefaultDefinition_Head() { + return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getDefaultDefinition_Range() { + return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getMetricDefinition() { + return metricDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getMetricDefinition_Head() { + return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getMetricDefinition_Body() { + return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getMetricDefinition_Type() { + return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EClass getExternPredicateDefinition() { + return externPredicateDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getExternPredicateDefinition_Name() { + return (EAttribute)externPredicateDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getExternPredicateDefinition_ArgumentList() { + return (EReference)externPredicateDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getExternMetricDefinition() { + return externMetricDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getExternMetricDefinition_Type() { + return (EReference)externMetricDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getExternMetricDefinition_Name() { + return (EAttribute)externMetricDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getExternMetricDefinition_ArgumentList() { + return (EReference)externMetricDefinitionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EClass getExternAggregatorDefinition() { + return externAggregatorDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getExternAggregatorDefinition_Type() { + return (EReference)externAggregatorDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getExternAggregatorDefinition_Name() { + return (EAttribute)externAggregatorDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getExternAggregatorDefinition_InputType() { + return (EReference)externAggregatorDefinitionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EClass getExternDatatypeDefinition() { + return externDatatypeDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getExternDatatypeDefinition_Name() { + return (EAttribute)externDatatypeDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getExternDatatypeDefinition_Supertypes() { + return (EReference)externDatatypeDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getNamedElement() { + return namedElementEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getNamedElement_Name() { + return (EAttribute)namedElementEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getExpression() { + return expressionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getIfElse() { + return ifElseEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getIfElse_Then() { + return (EReference)ifElseEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getIfElse_Else() { + return (EReference)ifElseEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getIfElse_Condition() { + return (EReference)ifElseEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EClass getLet() { + return letEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getLet_Bindings() { + return (EReference)letEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getLet_Body() { + return (EReference)letEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getLetBinding() { + return letBindingEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getLetBinding_Variable() { + return (EReference)letBindingEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getLetBinding_Value() { + return (EReference)letBindingEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getCase() { + return caseEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getCase_Body() { + return (EReference)caseEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getCase_Condition() { + return (EReference)caseEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getLocalVariables() { + return localVariablesEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getLocalVariables_Variables() { + return (EReference)localVariablesEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getQuantifiedExpression() { + return quantifiedExpressionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getQuantifiedExpression_LocalVariables() { + return (EReference)quantifiedExpressionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getQuantifiedExpression_Body() { + return (EReference)quantifiedExpressionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getQuantifiedExpression_Quantifier() { + return (EAttribute)quantifiedExpressionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EClass getAggregation() { + return aggregationEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getAggregation_Op() { + return (EReference)aggregationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getAggregation_LocalVariables() { + return (EReference)aggregationEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getAggregation_Body() { + return (EReference)aggregationEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EReference getAggregation_Condition() { + return (EReference)aggregationEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + @Override + public EClass getCall() { + return callEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getCall_Functor() { + return (EReference)callEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getCall_TransitiveClosure() { + return (EAttribute)callEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getCall_ReflexiveTransitiveClosure() { + return (EAttribute)callEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EReference getCall_ArgumentList() { + return (EReference)callEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + @Override + public EClass getArgumentList() { + return argumentListEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getArgumentList_Arguments() { + return (EReference)argumentListEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getArgument() { + return argumentEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getExpressionArgument() { + return expressionArgumentEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getExpressionArgument_Body() { + return (EReference)expressionArgumentEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getStarArgument() { + return starArgumentEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getTypedArgument() { + return typedArgumentEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getTypedArgument_Type() { + return (EReference)typedArgumentEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getTypedArgument_Variable() { + return (EReference)typedArgumentEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getTypedStarArgument() { + return typedStarArgumentEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getTypedStarArgument_Type() { + return (EReference)typedStarArgumentEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getReference() { + return referenceEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getReference_Referred() { + return (EReference)referenceEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getInterval() { + return intervalEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getInterval_LowerBound() { + return (EReference)intervalEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getInterval_UpperBound() { + return (EReference)intervalEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getLiteral() { + return literalEClass; + } + + /** + * + * + * @generated + */ + @Override + 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 getClassDefinition() { + return classDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getClassDefinition_Abstract() { + return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getClassDefinition_Name() { + return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getClassDefinition_Superclasses() { + return (EReference)classDefinitionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EReference getClassDefinition_Members() { + return (EReference)classDefinitionEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @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 boundedMultiplicityEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getBoundedMultiplicity_LowerBound() { + return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getBoundedMultiplicity_UpperBound() { + return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getScopeDefinition() { + return scopeDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getScopeDefinition_Type() { + return (EReference)scopeDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getExactScopeDefinition() { + return exactScopeDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getExactScopeDefinition_ExactScope() { + return (EAttribute)exactScopeDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getBoundedScopeDefinition() { + return boundedScopeDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getBoundedScopeDefinition_LowerBound() { + return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getBoundedScopeDefinition_UpperBound() { + return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getLowerBoundedScopeDefinition() { + return lowerBoundedScopeDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getLowerBoundedScopeDefinition_LowerBound() { + return (EAttribute)lowerBoundedScopeDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getObjectiveDefinition() { + return objectiveDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getObjectiveDefinition_Kind() { + return (EAttribute)objectiveDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getObjectiveDefinition_Objective() { + return (EReference)objectiveDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getInterpretation() { + return interpretationEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getInterpretation_Body() { + return (EReference)interpretationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getInterpretation_Range() { + return (EReference)interpretationEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getVariable() { + return variableEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getVariable_Type() { + return (EReference)variableEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getDisjunction() { + return disjunctionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getDisjunction_Children() { + return (EReference)disjunctionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getSwitch() { + return switchEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getSwitch_Cases() { + return (EReference)switchEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getConjunction() { + return conjunctionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getConjunction_Children() { + return (EReference)conjunctionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getComparison() { + return comparisonEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getComparison_Left() { + return (EReference)comparisonEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getComparison_Op() { + return (EAttribute)comparisonEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getComparison_Right() { + return (EReference)comparisonEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EClass getBinaryExpression() { + return binaryExpressionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getBinaryExpression_Left() { + return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getBinaryExpression_Op() { + return (EAttribute)binaryExpressionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getBinaryExpression_Right() { + return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EClass getCastExpression() { + return castExpressionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getCastExpression_Body() { + return (EReference)castExpressionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getCastExpression_Type() { + return (EReference)castExpressionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getUnaryExpression() { + return unaryExpressionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getUnaryExpression_Op() { + return (EAttribute)unaryExpressionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getUnaryExpression_Body() { + return (EReference)unaryExpressionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getNode() { + return nodeEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getNode_WithId() { + return (EAttribute)nodeEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getFunctor() { + return functorEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getFunctor_Parameters() { + return (EReference)functorEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getPredicate() { + return predicateEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getMetric() { + return metricEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getMetric_ReturnType() { + return (EReference)metricEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EEnum getBinaryOperator() { + return binaryOperatorEEnum; + } + + /** + * + * + * @generated + */ + @Override + public EEnum getUnaryOp() { + return unaryOpEEnum; + } + + /** + * + * + * @generated + */ + @Override + public EEnum getLogicValue() { + return logicValueEEnum; + } + + /** + * + * + * @generated + */ + @Override + public EEnum getObjectiveKind() { + return objectiveKindEEnum; + } + + /** + * + * + * @generated + */ + @Override + public EEnum getQuantifier() { + return quantifierEEnum; + } + + /** + * + * + * @generated + */ + @Override + public SolverLanguageFactory getSolverLanguageFactory() { + return (SolverLanguageFactory)getEFactoryInstance(); + } + + /** + * + * + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void createPackageContents() { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + problemEClass = createEClass(PROBLEM); + createEReference(problemEClass, PROBLEM__STATEMENTS); + + statementEClass = createEClass(STATEMENT); + + predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION); + createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__HEAD); + createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__BODY); + createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__FUNCTIONAL); + createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__ERROR); + + unnamedErrorPrediateDefinitionEClass = createEClass(UNNAMED_ERROR_PREDIATE_DEFINITION); + createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST); + createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__BODY); + + defaultDefinitionEClass = createEClass(DEFAULT_DEFINITION); + createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__HEAD); + createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__RANGE); + + metricDefinitionEClass = createEClass(METRIC_DEFINITION); + createEReference(metricDefinitionEClass, METRIC_DEFINITION__HEAD); + createEReference(metricDefinitionEClass, METRIC_DEFINITION__BODY); + createEReference(metricDefinitionEClass, METRIC_DEFINITION__TYPE); + + externPredicateDefinitionEClass = createEClass(EXTERN_PREDICATE_DEFINITION); + createEAttribute(externPredicateDefinitionEClass, EXTERN_PREDICATE_DEFINITION__NAME); + createEReference(externPredicateDefinitionEClass, EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST); + + externMetricDefinitionEClass = createEClass(EXTERN_METRIC_DEFINITION); + createEReference(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__TYPE); + createEAttribute(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__NAME); + createEReference(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__ARGUMENT_LIST); + + externAggregatorDefinitionEClass = createEClass(EXTERN_AGGREGATOR_DEFINITION); + createEReference(externAggregatorDefinitionEClass, EXTERN_AGGREGATOR_DEFINITION__TYPE); + createEAttribute(externAggregatorDefinitionEClass, EXTERN_AGGREGATOR_DEFINITION__NAME); + createEReference(externAggregatorDefinitionEClass, EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE); + + externDatatypeDefinitionEClass = createEClass(EXTERN_DATATYPE_DEFINITION); + createEAttribute(externDatatypeDefinitionEClass, EXTERN_DATATYPE_DEFINITION__NAME); + createEReference(externDatatypeDefinitionEClass, EXTERN_DATATYPE_DEFINITION__SUPERTYPES); + + namedElementEClass = createEClass(NAMED_ELEMENT); + createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME); + + expressionEClass = createEClass(EXPRESSION); + + ifElseEClass = createEClass(IF_ELSE); + createEReference(ifElseEClass, IF_ELSE__THEN); + createEReference(ifElseEClass, IF_ELSE__ELSE); + createEReference(ifElseEClass, IF_ELSE__CONDITION); + + letEClass = createEClass(LET); + createEReference(letEClass, LET__BINDINGS); + createEReference(letEClass, LET__BODY); + + letBindingEClass = createEClass(LET_BINDING); + createEReference(letBindingEClass, LET_BINDING__VARIABLE); + createEReference(letBindingEClass, LET_BINDING__VALUE); + + caseEClass = createEClass(CASE); + createEReference(caseEClass, CASE__BODY); + createEReference(caseEClass, CASE__CONDITION); + + localVariablesEClass = createEClass(LOCAL_VARIABLES); + createEReference(localVariablesEClass, LOCAL_VARIABLES__VARIABLES); + + quantifiedExpressionEClass = createEClass(QUANTIFIED_EXPRESSION); + createEReference(quantifiedExpressionEClass, QUANTIFIED_EXPRESSION__LOCAL_VARIABLES); + createEReference(quantifiedExpressionEClass, QUANTIFIED_EXPRESSION__BODY); + createEAttribute(quantifiedExpressionEClass, QUANTIFIED_EXPRESSION__QUANTIFIER); + + aggregationEClass = createEClass(AGGREGATION); + createEReference(aggregationEClass, AGGREGATION__OP); + createEReference(aggregationEClass, AGGREGATION__LOCAL_VARIABLES); + createEReference(aggregationEClass, AGGREGATION__BODY); + createEReference(aggregationEClass, AGGREGATION__CONDITION); + + callEClass = createEClass(CALL); + createEReference(callEClass, CALL__FUNCTOR); + createEAttribute(callEClass, CALL__TRANSITIVE_CLOSURE); + createEAttribute(callEClass, CALL__REFLEXIVE_TRANSITIVE_CLOSURE); + createEReference(callEClass, CALL__ARGUMENT_LIST); + + argumentListEClass = createEClass(ARGUMENT_LIST); + createEReference(argumentListEClass, ARGUMENT_LIST__ARGUMENTS); + + argumentEClass = createEClass(ARGUMENT); + + expressionArgumentEClass = createEClass(EXPRESSION_ARGUMENT); + createEReference(expressionArgumentEClass, EXPRESSION_ARGUMENT__BODY); + + starArgumentEClass = createEClass(STAR_ARGUMENT); + + typedArgumentEClass = createEClass(TYPED_ARGUMENT); + createEReference(typedArgumentEClass, TYPED_ARGUMENT__TYPE); + createEReference(typedArgumentEClass, TYPED_ARGUMENT__VARIABLE); + + typedStarArgumentEClass = createEClass(TYPED_STAR_ARGUMENT); + createEReference(typedStarArgumentEClass, TYPED_STAR_ARGUMENT__TYPE); + + referenceEClass = createEClass(REFERENCE); + createEReference(referenceEClass, REFERENCE__REFERRED); + + intervalEClass = createEClass(INTERVAL); + createEReference(intervalEClass, INTERVAL__LOWER_BOUND); + createEReference(intervalEClass, INTERVAL__UPPER_BOUND); + + literalEClass = createEClass(LITERAL); + + logicLiteralEClass = createEClass(LOGIC_LITERAL); + createEAttribute(logicLiteralEClass, LOGIC_LITERAL__VALUE); + + numericLiteralEClass = createEClass(NUMERIC_LITERAL); + createEAttribute(numericLiteralEClass, NUMERIC_LITERAL__VALUE); + + infinityLiteralEClass = createEClass(INFINITY_LITERAL); + + emptyIntervalLiteralEClass = createEClass(EMPTY_INTERVAL_LITERAL); + + stringLiteralEClass = createEClass(STRING_LITERAL); + createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE); + + classDefinitionEClass = createEClass(CLASS_DEFINITION); + createEAttribute(classDefinitionEClass, CLASS_DEFINITION__ABSTRACT); + createEAttribute(classDefinitionEClass, CLASS_DEFINITION__NAME); + createEReference(classDefinitionEClass, CLASS_DEFINITION__SUPERCLASSES); + createEReference(classDefinitionEClass, CLASS_DEFINITION__MEMBERS); + + 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); + + multiplicityEClass = createEClass(MULTIPLICITY); + + manyMultiplicityEClass = createEClass(MANY_MULTIPLICITY); + + exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY); + createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__MULTIPLICITY); + + boundedMultiplicityEClass = createEClass(BOUNDED_MULTIPLICITY); + createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__LOWER_BOUND); + createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__UPPER_BOUND); + + scopeDefinitionEClass = createEClass(SCOPE_DEFINITION); + createEReference(scopeDefinitionEClass, SCOPE_DEFINITION__TYPE); + + exactScopeDefinitionEClass = createEClass(EXACT_SCOPE_DEFINITION); + createEAttribute(exactScopeDefinitionEClass, EXACT_SCOPE_DEFINITION__EXACT_SCOPE); + + boundedScopeDefinitionEClass = createEClass(BOUNDED_SCOPE_DEFINITION); + createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__LOWER_BOUND); + createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__UPPER_BOUND); + + lowerBoundedScopeDefinitionEClass = createEClass(LOWER_BOUNDED_SCOPE_DEFINITION); + createEAttribute(lowerBoundedScopeDefinitionEClass, LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND); + + objectiveDefinitionEClass = createEClass(OBJECTIVE_DEFINITION); + createEAttribute(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__KIND); + createEReference(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__OBJECTIVE); + + interpretationEClass = createEClass(INTERPRETATION); + createEReference(interpretationEClass, INTERPRETATION__BODY); + createEReference(interpretationEClass, INTERPRETATION__RANGE); + + variableEClass = createEClass(VARIABLE); + createEReference(variableEClass, VARIABLE__TYPE); + + disjunctionEClass = createEClass(DISJUNCTION); + createEReference(disjunctionEClass, DISJUNCTION__CHILDREN); + + switchEClass = createEClass(SWITCH); + createEReference(switchEClass, SWITCH__CASES); + + conjunctionEClass = createEClass(CONJUNCTION); + createEReference(conjunctionEClass, CONJUNCTION__CHILDREN); + + comparisonEClass = createEClass(COMPARISON); + createEReference(comparisonEClass, COMPARISON__LEFT); + createEAttribute(comparisonEClass, COMPARISON__OP); + createEReference(comparisonEClass, COMPARISON__RIGHT); + + binaryExpressionEClass = createEClass(BINARY_EXPRESSION); + createEReference(binaryExpressionEClass, BINARY_EXPRESSION__LEFT); + createEAttribute(binaryExpressionEClass, BINARY_EXPRESSION__OP); + createEReference(binaryExpressionEClass, BINARY_EXPRESSION__RIGHT); + + castExpressionEClass = createEClass(CAST_EXPRESSION); + createEReference(castExpressionEClass, CAST_EXPRESSION__BODY); + createEReference(castExpressionEClass, CAST_EXPRESSION__TYPE); + + unaryExpressionEClass = createEClass(UNARY_EXPRESSION); + createEAttribute(unaryExpressionEClass, UNARY_EXPRESSION__OP); + createEReference(unaryExpressionEClass, UNARY_EXPRESSION__BODY); + + nodeEClass = createEClass(NODE); + createEAttribute(nodeEClass, NODE__WITH_ID); + + functorEClass = createEClass(FUNCTOR); + createEReference(functorEClass, FUNCTOR__PARAMETERS); + + predicateEClass = createEClass(PREDICATE); + + metricEClass = createEClass(METRIC); + createEReference(metricEClass, METRIC__RETURN_TYPE); + + // Create enums + binaryOperatorEEnum = createEEnum(BINARY_OPERATOR); + unaryOpEEnum = createEEnum(UNARY_OP); + logicValueEEnum = createEEnum(LOGIC_VALUE); + objectiveKindEEnum = createEEnum(OBJECTIVE_KIND); + quantifierEEnum = createEEnum(QUANTIFIER); + } + + /** + * + * + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void initializePackageContents() { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + predicateDefinitionEClass.getESuperTypes().add(this.getStatement()); + unnamedErrorPrediateDefinitionEClass.getESuperTypes().add(this.getStatement()); + defaultDefinitionEClass.getESuperTypes().add(this.getStatement()); + metricDefinitionEClass.getESuperTypes().add(this.getStatement()); + externPredicateDefinitionEClass.getESuperTypes().add(this.getStatement()); + externMetricDefinitionEClass.getESuperTypes().add(this.getStatement()); + externAggregatorDefinitionEClass.getESuperTypes().add(this.getStatement()); + externDatatypeDefinitionEClass.getESuperTypes().add(this.getStatement()); + expressionEClass.getESuperTypes().add(this.getStatement()); + ifElseEClass.getESuperTypes().add(this.getExpression()); + letEClass.getESuperTypes().add(this.getExpression()); + caseEClass.getESuperTypes().add(this.getExpression()); + quantifiedExpressionEClass.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()); + classDefinitionEClass.getESuperTypes().add(this.getStatement()); + 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()); + interpretationEClass.getESuperTypes().add(this.getStatement()); + variableEClass.getESuperTypes().add(this.getNamedElement()); + 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()); + castExpressionEClass.getESuperTypes().add(this.getExpression()); + unaryExpressionEClass.getESuperTypes().add(this.getExpression()); + nodeEClass.getESuperTypes().add(this.getNamedElement()); + functorEClass.getESuperTypes().add(this.getNamedElement()); + predicateEClass.getESuperTypes().add(this.getFunctor()); + metricEClass.getESuperTypes().add(this.getFunctor()); + + // 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); + + 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(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(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(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); + initEReference(getMetricDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(externPredicateDefinitionEClass, ExternPredicateDefinition.class, "ExternPredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getExternPredicateDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ExternPredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getExternPredicateDefinition_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, ExternPredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(externMetricDefinitionEClass, ExternMetricDefinition.class, "ExternMetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getExternMetricDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getExternMetricDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getExternMetricDefinition_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(externAggregatorDefinitionEClass, ExternAggregatorDefinition.class, "ExternAggregatorDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getExternAggregatorDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, ExternAggregatorDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getExternAggregatorDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ExternAggregatorDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getExternAggregatorDefinition_InputType(), this.getNamedElement(), null, "inputType", null, 0, 1, ExternAggregatorDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(externDatatypeDefinitionEClass, ExternDatatypeDefinition.class, "ExternDatatypeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getExternDatatypeDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ExternDatatypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getExternDatatypeDefinition_Supertypes(), this.getNamedElement(), null, "supertypes", null, 0, -1, ExternDatatypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + 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(expressionEClass, Expression.class, "Expression", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(ifElseEClass, IfElse.class, "IfElse", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + initEClass(letEClass, Let.class, "Let", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getLet_Bindings(), this.getLetBinding(), null, "bindings", null, 0, -1, Let.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getLet_Body(), this.getExpression(), null, "body", null, 0, 1, Let.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(letBindingEClass, LetBinding.class, "LetBinding", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getLetBinding_Variable(), this.getNamedElement(), null, "variable", null, 0, 1, LetBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getLetBinding_Value(), this.getExpression(), null, "value", null, 0, 1, LetBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(caseEClass, Case.class, "Case", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + initEClass(localVariablesEClass, LocalVariables.class, "LocalVariables", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getLocalVariables_Variables(), this.getNamedElement(), null, "variables", null, 0, -1, LocalVariables.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(quantifiedExpressionEClass, QuantifiedExpression.class, "QuantifiedExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getQuantifiedExpression_LocalVariables(), this.getLocalVariables(), null, "localVariables", null, 0, 1, QuantifiedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getQuantifiedExpression_Body(), this.getExpression(), null, "body", null, 0, 1, QuantifiedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getQuantifiedExpression_Quantifier(), this.getQuantifier(), "quantifier", null, 0, 1, QuantifiedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(aggregationEClass, Aggregation.class, "Aggregation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getAggregation_Op(), this.getNamedElement(), null, "op", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAggregation_LocalVariables(), this.getLocalVariables(), null, "localVariables", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + 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(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); + 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); + 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); + + 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(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + 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(starArgumentEClass, StarArgument.class, "StarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + 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(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(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(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(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(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(infinityLiteralEClass, InfinityLiteral.class, "InfinityLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(emptyIntervalLiteralEClass, EmptyIntervalLiteral.class, "EmptyIntervalLiteral", !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(classDefinitionEClass, ClassDefinition.class, "ClassDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getClassDefinition_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getClassDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getClassDefinition_Superclasses(), this.getNamedElement(), null, "superclasses", null, 0, -1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getClassDefinition_Members(), this.getMemberDefinition(), null, "members", null, 0, -1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + 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(interpretationEClass, Interpretation.class, "Interpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getInterpretation_Body(), this.getExpression(), null, "body", null, 0, 1, Interpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getInterpretation_Range(), this.getExpression(), null, "range", null, 0, 1, Interpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getVariable_Type(), this.getNamedElement(), null, "type", null, 0, 1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + 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(castExpressionEClass, CastExpression.class, "CastExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getCastExpression_Body(), this.getExpression(), null, "body", null, 0, 1, CastExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCastExpression_Type(), this.getNamedElement(), null, "type", null, 0, 1, CastExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + 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); + + initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getNode_WithId(), ecorePackage.getEBoolean(), "withId", null, 0, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(functorEClass, Functor.class, "Functor", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getFunctor_Parameters(), this.getVariable(), null, "parameters", null, 0, -1, Functor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(predicateEClass, Predicate.class, "Predicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(metricEClass, Metric.class, "Metric", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getMetric_ReturnType(), this.getNamedElement(), null, "returnType", null, 0, 1, Metric.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Initialize enums and add enum literals + 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); + addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.IMPLIES); + + 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(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); + + initEEnum(quantifierEEnum, Quantifier.class, "Quantifier"); + addEEnumLiteral(quantifierEEnum, Quantifier.EXISTS); + addEEnumLiteral(quantifierEEnum, Quantifier.FORALL); + addEEnumLiteral(quantifierEEnum, Quantifier.COUNT); + + // Create resource + createResource(eNS_URI); + } + +} //SolverLanguagePackageImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java new file mode 100644 index 00000000..93d3ce7f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java @@ -0,0 +1,38 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java new file mode 100644 index 00000000..bf4d9e6a --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java @@ -0,0 +1,40 @@ +/** + * 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.SolverLanguagePackage; +import org.eclipse.viatra.solver.language.solverLanguage.Statement; + +/** + * + * An implementation of the model object 'Statement'. + * + * + * @generated + */ +public class StatementImpl extends MinimalEObjectImpl.Container implements Statement { + /** + * + * + * @generated + */ + protected StatementImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.STATEMENT; + } + +} //StatementImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java new file mode 100644 index 00000000..30bef702 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java @@ -0,0 +1,165 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java new file mode 100644 index 00000000..23215a72 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java @@ -0,0 +1,152 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java new file mode 100644 index 00000000..03032f1c --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java @@ -0,0 +1,221 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java new file mode 100644 index 00000000..c806b3c2 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java @@ -0,0 +1,159 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java new file mode 100644 index 00000000..a3a7b1dc --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java @@ -0,0 +1,249 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java new file mode 100644 index 00000000..35450b74 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java @@ -0,0 +1,247 @@ +/** + * 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/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java new file mode 100644 index 00000000..1762d35c --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java @@ -0,0 +1,159 @@ +/** + * 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.Variable; + +/** + * + * An implementation of the model object 'Variable'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl#getType Type}
  • + *
+ * + * @generated + */ +public class VariableImpl extends NamedElementImpl implements Variable { + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected NamedElement type; + + /** + * + * + * @generated + */ + protected VariableImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SolverLanguagePackage.Literals.VARIABLE; + } + + /** + * + * + * @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.VARIABLE__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.VARIABLE__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SolverLanguagePackage.VARIABLE__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.VARIABLE__TYPE: + setType((NamedElement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SolverLanguagePackage.VARIABLE__TYPE: + setType((NamedElement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SolverLanguagePackage.VARIABLE__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + +} //VariableImpl diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java new file mode 100644 index 00000000..23971e9d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java @@ -0,0 +1,1147 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.util; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.viatra.solver.language.solverLanguage.*; + +/** + * + * The Adapter Factory for the model. + * It provides an adapter createXXX method for each class of the model. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage + * @generated + */ +public class SolverLanguageAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * + * + * @generated + */ + protected static SolverLanguagePackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * + * + * @generated + */ + public SolverLanguageAdapterFactory() { + if (modelPackage == null) { + modelPackage = SolverLanguagePackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * + * This implementation returns true if the object is either the model's package or is an instance object of the model. + * + * @return whether this factory is applicable for the type of the object. + * @generated + */ + @Override + public boolean isFactoryForType(Object object) { + if (object == modelPackage) { + return true; + } + if (object instanceof EObject) { + return ((EObject)object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch that delegates to the createXXX methods. + * + * + * @generated + */ + protected SolverLanguageSwitch modelSwitch = + new SolverLanguageSwitch() { + @Override + public Adapter caseProblem(Problem object) { + return createProblemAdapter(); + } + @Override + public Adapter caseStatement(Statement object) { + return createStatementAdapter(); + } + @Override + public Adapter casePredicateDefinition(PredicateDefinition object) { + return createPredicateDefinitionAdapter(); + } + @Override + public Adapter caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object) { + return createUnnamedErrorPrediateDefinitionAdapter(); + } + @Override + public Adapter caseDefaultDefinition(DefaultDefinition object) { + return createDefaultDefinitionAdapter(); + } + @Override + public Adapter caseMetricDefinition(MetricDefinition object) { + return createMetricDefinitionAdapter(); + } + @Override + public Adapter caseExternPredicateDefinition(ExternPredicateDefinition object) { + return createExternPredicateDefinitionAdapter(); + } + @Override + public Adapter caseExternMetricDefinition(ExternMetricDefinition object) { + return createExternMetricDefinitionAdapter(); + } + @Override + public Adapter caseExternAggregatorDefinition(ExternAggregatorDefinition object) { + return createExternAggregatorDefinitionAdapter(); + } + @Override + public Adapter caseExternDatatypeDefinition(ExternDatatypeDefinition object) { + return createExternDatatypeDefinitionAdapter(); + } + @Override + public Adapter caseNamedElement(NamedElement object) { + return createNamedElementAdapter(); + } + @Override + public Adapter caseExpression(Expression object) { + return createExpressionAdapter(); + } + @Override + public Adapter caseIfElse(IfElse object) { + return createIfElseAdapter(); + } + @Override + public Adapter caseLet(Let object) { + return createLetAdapter(); + } + @Override + public Adapter caseLetBinding(LetBinding object) { + return createLetBindingAdapter(); + } + @Override + public Adapter caseCase(Case object) { + return createCaseAdapter(); + } + @Override + public Adapter caseLocalVariables(LocalVariables object) { + return createLocalVariablesAdapter(); + } + @Override + public Adapter caseQuantifiedExpression(QuantifiedExpression object) { + return createQuantifiedExpressionAdapter(); + } + @Override + public Adapter caseAggregation(Aggregation object) { + return createAggregationAdapter(); + } + @Override + public Adapter caseCall(Call object) { + return createCallAdapter(); + } + @Override + public Adapter caseArgumentList(ArgumentList object) { + return createArgumentListAdapter(); + } + @Override + public Adapter caseArgument(Argument object) { + return createArgumentAdapter(); + } + @Override + public Adapter caseExpressionArgument(ExpressionArgument object) { + return createExpressionArgumentAdapter(); + } + @Override + public Adapter caseStarArgument(StarArgument object) { + return createStarArgumentAdapter(); + } + @Override + public Adapter caseTypedArgument(TypedArgument object) { + return createTypedArgumentAdapter(); + } + @Override + public Adapter caseTypedStarArgument(TypedStarArgument object) { + return createTypedStarArgumentAdapter(); + } + @Override + public Adapter caseReference(Reference object) { + return createReferenceAdapter(); + } + @Override + public Adapter caseInterval(Interval object) { + return createIntervalAdapter(); + } + @Override + public Adapter caseLiteral(Literal object) { + return createLiteralAdapter(); + } + @Override + public Adapter caseLogicLiteral(LogicLiteral object) { + return createLogicLiteralAdapter(); + } + @Override + public Adapter caseNumericLiteral(NumericLiteral object) { + return createNumericLiteralAdapter(); + } + @Override + public Adapter caseInfinityLiteral(InfinityLiteral object) { + return createInfinityLiteralAdapter(); + } + @Override + public Adapter caseEmptyIntervalLiteral(EmptyIntervalLiteral object) { + return createEmptyIntervalLiteralAdapter(); + } + @Override + public Adapter caseStringLiteral(StringLiteral object) { + return createStringLiteralAdapter(); + } + @Override + public Adapter caseClassDefinition(ClassDefinition object) { + return createClassDefinitionAdapter(); + } + @Override + public Adapter caseMemberDefinition(MemberDefinition object) { + return createMemberDefinitionAdapter(); + } + @Override + public Adapter caseMultiplicity(Multiplicity object) { + return createMultiplicityAdapter(); + } + @Override + public Adapter caseManyMultiplicity(ManyMultiplicity object) { + return createManyMultiplicityAdapter(); + } + @Override + public Adapter caseExactMultiplicity(ExactMultiplicity object) { + return createExactMultiplicityAdapter(); + } + @Override + public Adapter caseBoundedMultiplicity(BoundedMultiplicity object) { + return createBoundedMultiplicityAdapter(); + } + @Override + public Adapter caseScopeDefinition(ScopeDefinition object) { + return createScopeDefinitionAdapter(); + } + @Override + public Adapter caseExactScopeDefinition(ExactScopeDefinition object) { + return createExactScopeDefinitionAdapter(); + } + @Override + public Adapter caseBoundedScopeDefinition(BoundedScopeDefinition object) { + return createBoundedScopeDefinitionAdapter(); + } + @Override + public Adapter caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object) { + return createLowerBoundedScopeDefinitionAdapter(); + } + @Override + public Adapter caseObjectiveDefinition(ObjectiveDefinition object) { + return createObjectiveDefinitionAdapter(); + } + @Override + public Adapter caseInterpretation(Interpretation object) { + return createInterpretationAdapter(); + } + @Override + public Adapter caseVariable(Variable object) { + return createVariableAdapter(); + } + @Override + public Adapter caseDisjunction(Disjunction object) { + return createDisjunctionAdapter(); + } + @Override + public Adapter caseSwitch(Switch object) { + return createSwitchAdapter(); + } + @Override + public Adapter caseConjunction(Conjunction object) { + return createConjunctionAdapter(); + } + @Override + public Adapter caseComparison(Comparison object) { + return createComparisonAdapter(); + } + @Override + public Adapter caseBinaryExpression(BinaryExpression object) { + return createBinaryExpressionAdapter(); + } + @Override + public Adapter caseCastExpression(CastExpression object) { + return createCastExpressionAdapter(); + } + @Override + public Adapter caseUnaryExpression(UnaryExpression object) { + return createUnaryExpressionAdapter(); + } + @Override + public Adapter caseNode(Node object) { + return createNodeAdapter(); + } + @Override + public Adapter caseFunctor(Functor object) { + return createFunctorAdapter(); + } + @Override + public Adapter casePredicate(Predicate object) { + return createPredicateAdapter(); + } + @Override + public Adapter caseMetric(Metric object) { + return createMetricAdapter(); + } + @Override + public Adapter defaultCase(EObject object) { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the target. + * + * + * @param target the object to adapt. + * @return the adapter for the target. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) { + return modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem Problem}'. + * + * 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.Problem + * @generated + */ + public Adapter createProblemAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement Statement}'. + * + * 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.Statement + * @generated + */ + public Adapter createStatementAdapter() { + return null; + } + + /** + * 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.PredicateDefinition + * @generated + */ + public Adapter createPredicateDefinitionAdapter() { + return null; + } + + /** + * 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.UnnamedErrorPrediateDefinition + * @generated + */ + public Adapter createUnnamedErrorPrediateDefinitionAdapter() { + return null; + } + + /** + * 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.DefaultDefinition + * @generated + */ + public Adapter createDefaultDefinitionAdapter() { + return null; + } + + /** + * 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.MetricDefinition + * @generated + */ + public Adapter createMetricDefinitionAdapter() { + return null; + } + + /** + * 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.ExternPredicateDefinition + * @generated + */ + public Adapter createExternPredicateDefinitionAdapter() { + return null; + } + + /** + * 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.ExternMetricDefinition + * @generated + */ + public Adapter createExternMetricDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition Extern Aggregator 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.ExternAggregatorDefinition + * @generated + */ + public Adapter createExternAggregatorDefinitionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition Extern Datatype 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.ExternDatatypeDefinition + * @generated + */ + public Adapter createExternDatatypeDefinitionAdapter() { + return null; + } + + /** + * 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.NamedElement + * @generated + */ + public Adapter createNamedElementAdapter() { + return null; + } + + /** + * 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.Expression + * @generated + */ + public Adapter createExpressionAdapter() { + return null; + } + + /** + * 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.IfElse + * @generated + */ + public Adapter createIfElseAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Let Let}'. + * + * 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.Let + * @generated + */ + public Adapter createLetAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LetBinding Let Binding}'. + * + * 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.LetBinding + * @generated + */ + public Adapter createLetBindingAdapter() { + return null; + } + + /** + * 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.Case + * @generated + */ + public Adapter createCaseAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LocalVariables Local Variables}'. + * + * 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.LocalVariables + * @generated + */ + public Adapter createLocalVariablesAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression Quantified 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.QuantifiedExpression + * @generated + */ + public Adapter createQuantifiedExpressionAdapter() { + return null; + } + + /** + * 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.Aggregation + * @generated + */ + public Adapter createAggregationAdapter() { + return null; + } + + /** + * 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.Call + * @generated + */ + public Adapter createCallAdapter() { + return null; + } + + /** + * 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.ArgumentList + * @generated + */ + public Adapter createArgumentListAdapter() { + return null; + } + + /** + * 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.Argument + * @generated + */ + public Adapter createArgumentAdapter() { + return null; + } + + /** + * 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.ExpressionArgument + * @generated + */ + public Adapter createExpressionArgumentAdapter() { + return null; + } + + /** + * 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.StarArgument + * @generated + */ + public Adapter createStarArgumentAdapter() { + return null; + } + + /** + * 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.TypedArgument + * @generated + */ + public Adapter createTypedArgumentAdapter() { + return null; + } + + /** + * 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.TypedStarArgument + * @generated + */ + public Adapter createTypedStarArgumentAdapter() { + return null; + } + + /** + * 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.Reference + * @generated + */ + public Adapter createReferenceAdapter() { + return null; + } + + /** + * 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.Interval + * @generated + */ + public Adapter createIntervalAdapter() { + return null; + } + + /** + * 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.Literal + * @generated + */ + public Adapter createLiteralAdapter() { + return null; + } + + /** + * 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.LogicLiteral + * @generated + */ + public Adapter createLogicLiteralAdapter() { + return null; + } + + /** + * 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.NumericLiteral + * @generated + */ + public Adapter createNumericLiteralAdapter() { + return null; + } + + /** + * 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.InfinityLiteral + * @generated + */ + public Adapter createInfinityLiteralAdapter() { + return null; + } + + /** + * 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.EmptyIntervalLiteral + * @generated + */ + public Adapter createEmptyIntervalLiteralAdapter() { + return null; + } + + /** + * 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.StringLiteral + * @generated + */ + public Adapter createStringLiteralAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition Class 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.ClassDefinition + * @generated + */ + public Adapter createClassDefinitionAdapter() { + return null; + } + + /** + * 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.MemberDefinition + * @generated + */ + public Adapter createMemberDefinitionAdapter() { + return null; + } + + /** + * 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.Multiplicity + * @generated + */ + public Adapter createMultiplicityAdapter() { + return null; + } + + /** + * 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.ManyMultiplicity + * @generated + */ + public Adapter createManyMultiplicityAdapter() { + return null; + } + + /** + * 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.ExactMultiplicity + * @generated + */ + public Adapter createExactMultiplicityAdapter() { + return null; + } + + /** + * 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.BoundedMultiplicity + * @generated + */ + public Adapter createBoundedMultiplicityAdapter() { + return null; + } + + /** + * 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.ScopeDefinition + * @generated + */ + public Adapter createScopeDefinitionAdapter() { + return null; + } + + /** + * 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.ExactScopeDefinition + * @generated + */ + public Adapter createExactScopeDefinitionAdapter() { + return null; + } + + /** + * 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.BoundedScopeDefinition + * @generated + */ + public Adapter createBoundedScopeDefinitionAdapter() { + return null; + } + + /** + * 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.LowerBoundedScopeDefinition + * @generated + */ + public Adapter createLowerBoundedScopeDefinitionAdapter() { + return null; + } + + /** + * 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.ObjectiveDefinition + * @generated + */ + public Adapter createObjectiveDefinitionAdapter() { + 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.Variable Variable}'. + * + * 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 + * @generated + */ + public Adapter createVariableAdapter() { + return null; + } + + /** + * 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.Disjunction + * @generated + */ + public Adapter createDisjunctionAdapter() { + return null; + } + + /** + * 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.Switch + * @generated + */ + public Adapter createSwitchAdapter() { + return null; + } + + /** + * 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.Conjunction + * @generated + */ + public Adapter createConjunctionAdapter() { + return null; + } + + /** + * 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.Comparison + * @generated + */ + public Adapter createComparisonAdapter() { + return null; + } + + /** + * 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.BinaryExpression + * @generated + */ + public Adapter createBinaryExpressionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.CastExpression Cast 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.CastExpression + * @generated + */ + public Adapter createCastExpressionAdapter() { + return null; + } + + /** + * 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.UnaryExpression + * @generated + */ + public Adapter createUnaryExpressionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Node Node}'. + * + * 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.Node + * @generated + */ + public Adapter createNodeAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Functor Functor}'. + * + * 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.Functor + * @generated + */ + public Adapter createFunctorAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate Predicate}'. + * + * 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 + * @generated + */ + public Adapter createPredicateAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Metric Metric}'. + * + * 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.Metric + * @generated + */ + public Adapter createMetricAdapter() { + return null; + } + + /** + * Creates a new adapter for the default case. + * + * This default implementation returns null. + * + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() { + return null; + } + +} //SolverLanguageAdapterFactory diff --git a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java new file mode 100644 index 00000000..4e5929e6 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java @@ -0,0 +1,1388 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.util; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +import org.eclipse.viatra.solver.language.solverLanguage.*; + +/** + * + * The Switch for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the caseXXX method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage + * @generated + */ +public class SolverLanguageSwitch extends Switch { + /** + * The cached model package + * + * + * @generated + */ + protected static SolverLanguagePackage modelPackage; + + /** + * Creates an instance of the switch. + * + * + * @generated + */ + public SolverLanguageSwitch() { + if (modelPackage == null) { + modelPackage = SolverLanguagePackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * + * + * @param ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) { + return ePackage == modelPackage; + } + + /** + * Calls caseXXX for each class of the model until one returns a non null result; it yields that result. + * + * + * @return the first non-null result returned by a caseXXX call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case SolverLanguagePackage.PROBLEM: { + Problem problem = (Problem)theEObject; + T result = caseProblem(problem); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.STATEMENT: { + Statement statement = (Statement)theEObject; + T result = caseStatement(statement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.PREDICATE_DEFINITION: { + PredicateDefinition predicateDefinition = (PredicateDefinition)theEObject; + T result = casePredicateDefinition(predicateDefinition); + if (result == null) result = caseStatement(predicateDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: { + UnnamedErrorPrediateDefinition unnamedErrorPrediateDefinition = (UnnamedErrorPrediateDefinition)theEObject; + T result = caseUnnamedErrorPrediateDefinition(unnamedErrorPrediateDefinition); + if (result == null) result = caseStatement(unnamedErrorPrediateDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.DEFAULT_DEFINITION: { + DefaultDefinition defaultDefinition = (DefaultDefinition)theEObject; + T result = caseDefaultDefinition(defaultDefinition); + if (result == null) result = caseStatement(defaultDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.METRIC_DEFINITION: { + MetricDefinition metricDefinition = (MetricDefinition)theEObject; + T result = caseMetricDefinition(metricDefinition); + if (result == null) result = caseStatement(metricDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION: { + ExternPredicateDefinition externPredicateDefinition = (ExternPredicateDefinition)theEObject; + T result = caseExternPredicateDefinition(externPredicateDefinition); + if (result == null) result = caseStatement(externPredicateDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: { + ExternMetricDefinition externMetricDefinition = (ExternMetricDefinition)theEObject; + T result = caseExternMetricDefinition(externMetricDefinition); + if (result == null) result = caseStatement(externMetricDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION: { + ExternAggregatorDefinition externAggregatorDefinition = (ExternAggregatorDefinition)theEObject; + T result = caseExternAggregatorDefinition(externAggregatorDefinition); + if (result == null) result = caseStatement(externAggregatorDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION: { + ExternDatatypeDefinition externDatatypeDefinition = (ExternDatatypeDefinition)theEObject; + T result = caseExternDatatypeDefinition(externDatatypeDefinition); + if (result == null) result = caseStatement(externDatatypeDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.NAMED_ELEMENT: { + NamedElement namedElement = (NamedElement)theEObject; + T result = caseNamedElement(namedElement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXPRESSION: { + Expression expression = (Expression)theEObject; + T result = caseExpression(expression); + if (result == null) result = caseStatement(expression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.IF_ELSE: { + 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.LET: { + Let let = (Let)theEObject; + T result = caseLet(let); + if (result == null) result = caseExpression(let); + if (result == null) result = caseStatement(let); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.LET_BINDING: { + LetBinding letBinding = (LetBinding)theEObject; + T result = caseLetBinding(letBinding); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.CASE: { + 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.LOCAL_VARIABLES: { + LocalVariables localVariables = (LocalVariables)theEObject; + T result = caseLocalVariables(localVariables); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.QUANTIFIED_EXPRESSION: { + QuantifiedExpression quantifiedExpression = (QuantifiedExpression)theEObject; + T result = caseQuantifiedExpression(quantifiedExpression); + if (result == null) result = caseExpression(quantifiedExpression); + if (result == null) result = caseStatement(quantifiedExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.AGGREGATION: { + 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.CALL: { + 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.ARGUMENT_LIST: { + ArgumentList argumentList = (ArgumentList)theEObject; + T result = caseArgumentList(argumentList); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.ARGUMENT: { + Argument argument = (Argument)theEObject; + T result = caseArgument(argument); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXPRESSION_ARGUMENT: { + ExpressionArgument expressionArgument = (ExpressionArgument)theEObject; + T result = caseExpressionArgument(expressionArgument); + if (result == null) result = caseArgument(expressionArgument); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.STAR_ARGUMENT: { + StarArgument starArgument = (StarArgument)theEObject; + T result = caseStarArgument(starArgument); + if (result == null) result = caseArgument(starArgument); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.TYPED_ARGUMENT: { + TypedArgument typedArgument = (TypedArgument)theEObject; + T result = caseTypedArgument(typedArgument); + if (result == null) result = caseArgument(typedArgument); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.TYPED_STAR_ARGUMENT: { + TypedStarArgument typedStarArgument = (TypedStarArgument)theEObject; + T result = caseTypedStarArgument(typedStarArgument); + if (result == null) result = caseArgument(typedStarArgument); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.REFERENCE: { + 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.INTERVAL: { + 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.LITERAL: { + 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.LOGIC_LITERAL: { + 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.NUMERIC_LITERAL: { + 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.INFINITY_LITERAL: { + 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.EMPTY_INTERVAL_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.STRING_LITERAL: { + 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.CLASS_DEFINITION: { + ClassDefinition classDefinition = (ClassDefinition)theEObject; + T result = caseClassDefinition(classDefinition); + if (result == null) result = caseStatement(classDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.MEMBER_DEFINITION: { + MemberDefinition memberDefinition = (MemberDefinition)theEObject; + T result = caseMemberDefinition(memberDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.MULTIPLICITY: { + Multiplicity multiplicity = (Multiplicity)theEObject; + T result = caseMultiplicity(multiplicity); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.MANY_MULTIPLICITY: { + ManyMultiplicity manyMultiplicity = (ManyMultiplicity)theEObject; + T result = caseManyMultiplicity(manyMultiplicity); + if (result == null) result = caseMultiplicity(manyMultiplicity); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXACT_MULTIPLICITY: { + ExactMultiplicity exactMultiplicity = (ExactMultiplicity)theEObject; + T result = caseExactMultiplicity(exactMultiplicity); + if (result == null) result = caseMultiplicity(exactMultiplicity); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.BOUNDED_MULTIPLICITY: { + BoundedMultiplicity boundedMultiplicity = (BoundedMultiplicity)theEObject; + T result = caseBoundedMultiplicity(boundedMultiplicity); + if (result == null) result = caseMultiplicity(boundedMultiplicity); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.SCOPE_DEFINITION: { + ScopeDefinition scopeDefinition = (ScopeDefinition)theEObject; + T result = caseScopeDefinition(scopeDefinition); + if (result == null) result = caseStatement(scopeDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.EXACT_SCOPE_DEFINITION: { + 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.BOUNDED_SCOPE_DEFINITION: { + 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.LOWER_BOUNDED_SCOPE_DEFINITION: { + 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.OBJECTIVE_DEFINITION: { + ObjectiveDefinition objectiveDefinition = (ObjectiveDefinition)theEObject; + T result = caseObjectiveDefinition(objectiveDefinition); + if (result == null) result = caseStatement(objectiveDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.INTERPRETATION: { + Interpretation interpretation = (Interpretation)theEObject; + T result = caseInterpretation(interpretation); + if (result == null) result = caseStatement(interpretation); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.VARIABLE: { + Variable variable = (Variable)theEObject; + T result = caseVariable(variable); + if (result == null) result = caseNamedElement(variable); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.DISJUNCTION: { + 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.SWITCH: { + 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.CONJUNCTION: { + 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.COMPARISON: { + 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.BINARY_EXPRESSION: { + 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.CAST_EXPRESSION: { + CastExpression castExpression = (CastExpression)theEObject; + T result = caseCastExpression(castExpression); + if (result == null) result = caseExpression(castExpression); + if (result == null) result = caseStatement(castExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.UNARY_EXPRESSION: { + 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; + } + case SolverLanguagePackage.NODE: { + Node node = (Node)theEObject; + T result = caseNode(node); + if (result == null) result = caseNamedElement(node); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.FUNCTOR: { + Functor functor = (Functor)theEObject; + T result = caseFunctor(functor); + if (result == null) result = caseNamedElement(functor); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.PREDICATE: { + Predicate predicate = (Predicate)theEObject; + T result = casePredicate(predicate); + if (result == null) result = caseFunctor(predicate); + if (result == null) result = caseNamedElement(predicate); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SolverLanguagePackage.METRIC: { + Metric metric = (Metric)theEObject; + T result = caseMetric(metric); + if (result == null) result = caseFunctor(metric); + if (result == null) result = caseNamedElement(metric); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of 'Problem'. + * + * 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 'Problem'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseProblem(Problem object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Statement'. + * + * 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 'Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStatement(Statement object) { + return null; + } + + /** + * 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 'Predicate Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePredicateDefinition(PredicateDefinition object) { + return null; + } + + /** + * 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 'Unnamed Error Prediate Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object) { + return null; + } + + /** + * 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 'Default Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDefaultDefinition(DefaultDefinition object) { + return null; + } + + /** + * 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 'Metric Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMetricDefinition(MetricDefinition object) { + return null; + } + + /** + * 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 'Extern Predicate Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExternPredicateDefinition(ExternPredicateDefinition object) { + return null; + } + + /** + * 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 'Extern Metric Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExternMetricDefinition(ExternMetricDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Extern Aggregator 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 'Extern Aggregator Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExternAggregatorDefinition(ExternAggregatorDefinition object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Extern Datatype 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 'Extern Datatype Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExternDatatypeDefinition(ExternDatatypeDefinition object) { + return null; + } + + /** + * 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 'Named Element'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNamedElement(NamedElement object) { + return null; + } + + /** + * 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 'Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExpression(Expression object) { + return null; + } + + /** + * 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 'If Else'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseIfElse(IfElse object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Let'. + * + * 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 'Let'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLet(Let object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Let Binding'. + * + * 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 'Let Binding'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLetBinding(LetBinding object) { + return null; + } + + /** + * 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 'Case'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCase(Case object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Local Variables'. + * + * 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 'Local Variables'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLocalVariables(LocalVariables object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Quantified 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 'Quantified Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseQuantifiedExpression(QuantifiedExpression object) { + return null; + } + + /** + * 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 'Aggregation'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAggregation(Aggregation object) { + return null; + } + + /** + * 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 'Call'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCall(Call object) { + return null; + } + + /** + * 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 'Argument List'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseArgumentList(ArgumentList object) { + return null; + } + + /** + * 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 'Argument'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseArgument(Argument object) { + return null; + } + + /** + * 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 'Expression Argument'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExpressionArgument(ExpressionArgument object) { + return null; + } + + /** + * 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 'Star Argument'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStarArgument(StarArgument object) { + return null; + } + + /** + * 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 'Typed Argument'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTypedArgument(TypedArgument object) { + return null; + } + + /** + * 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 'Typed Star Argument'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTypedStarArgument(TypedStarArgument object) { + return null; + } + + /** + * 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 'Reference'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseReference(Reference object) { + return null; + } + + /** + * 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 'Interval'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInterval(Interval object) { + return null; + } + + /** + * 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 'Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLiteral(Literal object) { + return null; + } + + /** + * 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 'Logic Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLogicLiteral(LogicLiteral object) { + return null; + } + + /** + * 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 'Numeric Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNumericLiteral(NumericLiteral object) { + return null; + } + + /** + * 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 'Infinity Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInfinityLiteral(InfinityLiteral object) { + return null; + } + + /** + * 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 'Empty Interval Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEmptyIntervalLiteral(EmptyIntervalLiteral object) { + return null; + } + + /** + * 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 'String Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStringLiteral(StringLiteral object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Class 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 'Class Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseClassDefinition(ClassDefinition object) { + return null; + } + + /** + * 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 'Member Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMemberDefinition(MemberDefinition object) { + return null; + } + + /** + * 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 'Multiplicity'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMultiplicity(Multiplicity object) { + return null; + } + + /** + * 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 'Many Multiplicity'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseManyMultiplicity(ManyMultiplicity object) { + return null; + } + + /** + * 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 'Exact Multiplicity'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExactMultiplicity(ExactMultiplicity object) { + return null; + } + + /** + * 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 'Bounded Multiplicity'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBoundedMultiplicity(BoundedMultiplicity object) { + return null; + } + + /** + * 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 'Scope Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseScopeDefinition(ScopeDefinition object) { + return null; + } + + /** + * 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 'Exact Scope Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExactScopeDefinition(ExactScopeDefinition object) { + return null; + } + + /** + * 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 'Bounded Scope Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBoundedScopeDefinition(BoundedScopeDefinition object) { + return null; + } + + /** + * 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 'Lower Bounded Scope Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object) { + return null; + } + + /** + * 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 'Objective Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseObjectiveDefinition(ObjectiveDefinition 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 'Variable'. + * + * 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'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseVariable(Variable object) { + return null; + } + + /** + * 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 'Disjunction'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDisjunction(Disjunction object) { + return null; + } + + /** + * 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 'Switch'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSwitch(org.eclipse.viatra.solver.language.solverLanguage.Switch object) { + return null; + } + + /** + * 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 'Conjunction'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseConjunction(Conjunction object) { + return null; + } + + /** + * 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 'Comparison'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseComparison(Comparison object) { + return null; + } + + /** + * 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 'Binary Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBinaryExpression(BinaryExpression object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Cast 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 'Cast Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCastExpression(CastExpression object) { + return null; + } + + /** + * 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 'Unary Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnaryExpression(UnaryExpression object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Node'. + * + * 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 'Node'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNode(Node object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Functor'. + * + * 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 'Functor'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFunctor(Functor 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 'Metric'. + * + * 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 'Metric'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMetric(Metric object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'EObject'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'EObject'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) { + return null; + } + +} //SolverLanguageSwitch diff --git a/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore b/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore new file mode 100644 index 00000000..905e5a90 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel b/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel new file mode 100644 index 00000000..2325d668 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel @@ -0,0 +1,249 @@ + + + SolverLanguage.ecore + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore deleted file mode 100644 index bd516038..00000000 --- a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore +++ /dev/null @@ -1,243 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel deleted file mode 100644 index 53c17e2a..00000000 --- a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Application/org.eclipse.viatra.solver.language/plugin.properties b/Application/org.eclipse.viatra.solver.language/plugin.properties new file mode 100644 index 00000000..a81f16eb --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/plugin.properties @@ -0,0 +1,4 @@ +# generated by Xtext 2.21.0 + +pluginName = org.eclipse.viatra.solver.language +providerName = My Company diff --git a/Application/org.eclipse.viatra.solver.language/plugin.xml b/Application/org.eclipse.viatra.solver.language/plugin.xml index 3e332568..79c1ea47 100644 --- a/Application/org.eclipse.viatra.solver.language/plugin.xml +++ b/Application/org.eclipse.viatra.solver.language/plugin.xml @@ -5,6 +5,6 @@ + genModel = "model/SolverLanguage.genmodel" /> diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin index da698ba6..da513ba9 100644 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 33c82701..c487738b 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguageStandaloneSetupGenerated.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguageStandaloneSetupGenerated.java @@ -5,9 +5,7 @@ package org.eclipse.viatra.solver.language; import com.google.inject.Guice; import com.google.inject.Injector; -import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; import org.eclipse.xtext.ISetup; import org.eclipse.xtext.common.TerminalsStandaloneSetup; import org.eclipse.xtext.resource.IResourceFactory; @@ -30,9 +28,6 @@ public class SolverLanguageStandaloneSetupGenerated implements ISetup { } public void register(Injector injector) { - if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/viatra/solver/language/SolverLanguage")) { - EPackage.Registry.INSTANCE.put("http://www.eclipse.org/viatra/solver/language/SolverLanguage", SolverLanguagePackage.eINSTANCE); - } IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class); IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class); diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g index 6cd0341f..8ec69aaa 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g @@ -144,20 +144,20 @@ ruleStatement returns [EObject current=null] } | { - newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); + newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_4()); } - this_ExternPredicateDefinition_4=ruleExternPredicateDefinition + this_MetricDefinition_4=ruleMetricDefinition { - $current = $this_ExternPredicateDefinition_4.current; + $current = $this_MetricDefinition_4.current; afterParserOrEnumRuleCall(); } | { - newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); + newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_5()); } - this_MetricDefinition_5=ruleMetricDefinition + this_ExternPredicateDefinition_5=ruleExternPredicateDefinition { - $current = $this_MetricDefinition_5.current; + $current = $this_ExternPredicateDefinition_5.current; afterParserOrEnumRuleCall(); } | @@ -171,35 +171,53 @@ ruleStatement returns [EObject current=null] } | { - newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); + newCompositeNode(grammarAccess.getStatementAccess().getExternAggregatorDefinitionParserRuleCall_0_7()); } - this_ClassDefinition_7=ruleClassDefinition + this_ExternAggregatorDefinition_7=ruleExternAggregatorDefinition { - $current = $this_ClassDefinition_7.current; + $current = $this_ExternAggregatorDefinition_7.current; afterParserOrEnumRuleCall(); } | { - newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); + newCompositeNode(grammarAccess.getStatementAccess().getExternDatatypeDefinitionParserRuleCall_0_8()); } - this_ScopeDefinition_8=ruleScopeDefinition + this_ExternDatatypeDefinition_8=ruleExternDatatypeDefinition { - $current = $this_ScopeDefinition_8.current; + $current = $this_ExternDatatypeDefinition_8.current; afterParserOrEnumRuleCall(); } | { - newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); + newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_9()); } - this_ObjectiveDefinition_9=ruleObjectiveDefinition + this_ClassDefinition_9=ruleClassDefinition { - $current = $this_ObjectiveDefinition_9.current; + $current = $this_ClassDefinition_9.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_10()); + } + this_ScopeDefinition_10=ruleScopeDefinition + { + $current = $this_ScopeDefinition_10.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_11()); + } + this_ObjectiveDefinition_11=ruleObjectiveDefinition + { + $current = $this_ObjectiveDefinition_11.current; afterParserOrEnumRuleCall(); } ) - this_FULL_STOP_10=RULE_FULL_STOP + this_FULL_STOP_12=RULE_FULL_STOP { - newLeafNode(this_FULL_STOP_10, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); + newLeafNode(this_FULL_STOP_12, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); } ) ; @@ -233,35 +251,33 @@ ruleAssertionOrDefinition returns [EObject current=null] ( { $current = forceCreateModelElementAndSet( - grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0(), + grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0(), $current); } ) + otherlv_2=Colon + { + newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1()); + } ( - otherlv_2=Colon - { - 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(); + { + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_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(); + } ) - )? + ) ) | ( @@ -329,7 +345,7 @@ ruleAssertionOrDefinition returns [EObject current=null] ) ) ) - ) + )? ) ; @@ -587,6 +603,83 @@ ruleDefaultDefinition returns [EObject current=null] ) ; +// Entry rule entryRuleMetricDefinition +entryRuleMetricDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getMetricDefinitionRule()); } + iv_ruleMetricDefinition=ruleMetricDefinition + { $current=$iv_ruleMetricDefinition.current; } + EOF; + +// Rule MetricDefinition +ruleMetricDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getMetricDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementCrossReference_0_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0()); + } + lv_head_1_0=ruleCall + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); + } + set( + $current, + "head", + lv_head_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2=EqualsSign + { + newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + } + lv_body_3_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); + } + set( + $current, + "body", + lv_body_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + // Entry rule entryRuleExternPredicateDefinition entryRuleExternPredicateDefinition returns [EObject current=null]: { newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); } @@ -610,18 +703,37 @@ ruleExternPredicateDefinition returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0()); } - lv_head_1_0=ruleCall + lv_name_1_0=ruleQualifiedName { if ($current==null) { $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); } set( $current, - "head", - lv_head_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + "name", + lv_name_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0()); + } + lv_argumentList_2_0=ruleArgumentList + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); + } + set( + $current, + "argumentList", + lv_argumentList_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); afterParserOrEnumRuleCall(); } ) @@ -629,15 +741,15 @@ ruleExternPredicateDefinition returns [EObject current=null] ) ; -// Entry rule entryRuleMetricDefinition -entryRuleMetricDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getMetricDefinitionRule()); } - iv_ruleMetricDefinition=ruleMetricDefinition - { $current=$iv_ruleMetricDefinition.current; } +// Entry rule entryRuleExternMetricDefinition +entryRuleExternMetricDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); } + iv_ruleExternMetricDefinition=ruleExternMetricDefinition + { $current=$iv_ruleExternMetricDefinition.current; } EOF; -// Rule MetricDefinition -ruleMetricDefinition returns [EObject current=null] +// Rule ExternMetricDefinition +ruleExternMetricDefinition returns [EObject current=null] @init { enterRule(); } @@ -645,21 +757,41 @@ ruleMetricDefinition returns [EObject current=null] leaveRule(); }: ( + otherlv_0=Extern + { + newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); + } ( ( { - newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); + if ($current==null) { + $current = createModelElement(grammarAccess.getExternMetricDefinitionRule()); + } } - lv_type_0_0=ruleMetricType + { + newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); + } + lv_name_2_0=ruleQualifiedName { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); + $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); } set( $current, - "type", - lv_type_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); + "name", + lv_name_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); afterParserOrEnumRuleCall(); } ) @@ -667,57 +799,120 @@ ruleMetricDefinition returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0()); } - lv_head_1_0=ruleExpression + lv_argumentList_3_0=ruleArgumentList { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); + $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); } set( $current, - "head", - lv_head_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + "argumentList", + lv_argumentList_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); afterParserOrEnumRuleCall(); } ) ) - otherlv_2=EqualsSign + ) +; + +// Entry rule entryRuleExternAggregatorDefinition +entryRuleExternAggregatorDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExternAggregatorDefinitionRule()); } + iv_ruleExternAggregatorDefinition=ruleExternAggregatorDefinition + { $current=$iv_ruleExternAggregatorDefinition.current; } + EOF; + +// Rule ExternAggregatorDefinition +ruleExternAggregatorDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=Extern { - newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); + newLeafNode(otherlv_0, grammarAccess.getExternAggregatorDefinitionAccess().getExternKeyword_0()); } ( ( { - newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + if ($current==null) { + $current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule()); + } } - lv_body_3_0=ruleExpression + { + newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); + } + lv_name_2_0=ruleQualifiedName { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); + $current = createModelElementForParent(grammarAccess.getExternAggregatorDefinitionRule()); } set( $current, - "body", - lv_body_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + "name", + lv_name_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); afterParserOrEnumRuleCall(); } ) ) + otherlv_3=LeftCurlyBracket + { + newLeafNode(otherlv_3, grammarAccess.getExternAggregatorDefinitionAccess().getLeftCurlyBracketKeyword_3()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementCrossReference_4_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_5=FullStopFullStopFullStop + { + newLeafNode(otherlv_5, grammarAccess.getExternAggregatorDefinitionAccess().getFullStopFullStopFullStopKeyword_5()); + } + otherlv_6=RightCurlyBracket + { + newLeafNode(otherlv_6, grammarAccess.getExternAggregatorDefinitionAccess().getRightCurlyBracketKeyword_6()); + } ) ; -// Entry rule entryRuleExternMetricDefinition -entryRuleExternMetricDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); } - iv_ruleExternMetricDefinition=ruleExternMetricDefinition - { $current=$iv_ruleExternMetricDefinition.current; } +// Entry rule entryRuleExternDatatypeDefinition +entryRuleExternDatatypeDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExternDatatypeDefinitionRule()); } + iv_ruleExternDatatypeDefinition=ruleExternDatatypeDefinition + { $current=$iv_ruleExternDatatypeDefinition.current; } EOF; -// Rule ExternMetricDefinition -ruleExternMetricDefinition returns [EObject current=null] +// Rule ExternDatatypeDefinition +ruleExternDatatypeDefinition returns [EObject current=null] @init { enterRule(); } @@ -727,45 +922,127 @@ ruleExternMetricDefinition returns [EObject current=null] ( otherlv_0=Extern { - newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDefinitionAccess().getExternKeyword_0()); + } + otherlv_1=Datatype + { + newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDefinitionAccess().getDatatypeKeyword_1()); } ( ( { - newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); + newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); } - lv_type_1_0=ruleMetricType + lv_name_2_0=ruleQualifiedName { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + $current = createModelElementForParent(grammarAccess.getExternDatatypeDefinitionRule()); } set( $current, - "type", - lv_type_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); + "name", + lv_name_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); afterParserOrEnumRuleCall(); } ) ) ( + otherlv_3=Extends + { + newLeafNode(otherlv_3, grammarAccess.getExternDatatypeDefinitionAccess().getExtendsKeyword_3_0()); + } ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_5=Comma { - newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); + newLeafNode(otherlv_5, grammarAccess.getExternDatatypeDefinitionAccess().getCommaKeyword_3_2_0()); } - lv_head_2_0=ruleCall + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_2_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) + ) +; + +// Entry rule entryRuleVariable +entryRuleVariable returns [EObject current=null]: + { newCompositeNode(grammarAccess.getVariableRule()); } + iv_ruleVariable=ruleVariable + { $current=$iv_ruleVariable.current; } + EOF; + +// Rule Variable +ruleVariable returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + $current = createModelElement(grammarAccess.getVariableRule()); } - set( - $current, - "head", - lv_head_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + } + { + newCompositeNode(grammarAccess.getVariableAccess().getTypeNamedElementCrossReference_0_0()); + } + ruleQualifiedName + { afterParserOrEnumRuleCall(); } ) + )? + ( + ( + lv_name_1_0=RULE_ID + { + newLeafNode(lv_name_1_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getVariableRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_1_0, + "org.eclipse.xtext.common.Terminals.ID"); + } + ) ) ) ; @@ -796,11 +1073,20 @@ ruleExpression returns [EObject current=null] } | { - newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); + newCompositeNode(grammarAccess.getExpressionAccess().getLetParserRuleCall_1()); + } + this_Let_1=ruleLet + { + $current = $this_Let_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getExpressionAccess().getImplicationExpressionParserRuleCall_2()); } - this_DisjunctiveExpression_1=ruleDisjunctiveExpression + this_ImplicationExpression_2=ruleImplicationExpression { - $current = $this_DisjunctiveExpression_1.current; + $current = $this_ImplicationExpression_2.current; afterParserOrEnumRuleCall(); } ) @@ -870,23 +1156,174 @@ ruleIfElse returns [EObject current=null] ) otherlv_4=Else { - newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4()); + 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 entryRuleLet +entryRuleLet returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLetRule()); } + iv_ruleLet=ruleLet + { $current=$iv_ruleLet.current; } + EOF; + +// Rule Let +ruleLet returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=Let + { + newLeafNode(otherlv_0, grammarAccess.getLetAccess().getLetKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_1_0()); + } + lv_bindings_1_0=ruleLetBinding + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLetRule()); + } + add( + $current, + "bindings", + lv_bindings_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=Comma + { + newLeafNode(otherlv_2, grammarAccess.getLetAccess().getCommaKeyword_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_2_1_0()); + } + lv_bindings_3_0=ruleLetBinding + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLetRule()); + } + add( + $current, + "bindings", + lv_bindings_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_4=In + { + newLeafNode(otherlv_4, grammarAccess.getLetAccess().getInKeyword_3()); + } + ( + ( + { + newCompositeNode(grammarAccess.getLetAccess().getBodyExpressionParserRuleCall_4_0()); + } + lv_body_5_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLetRule()); + } + set( + $current, + "body", + lv_body_5_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleLetBinding +entryRuleLetBinding returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLetBindingRule()); } + iv_ruleLetBinding=ruleLetBinding + { $current=$iv_ruleLetBinding.current; } + EOF; + +// Rule LetBinding +ruleLetBinding returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0()); + } + lv_variable_0_0=ruleVariable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLetBindingRule()); + } + set( + $current, + "variable", + lv_variable_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_1=EqualsSign + { + newLeafNode(otherlv_1, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_1()); } ( ( { - newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); + newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0()); } - lv_else_5_0=ruleExpression + lv_value_2_0=ruleAdditiveExpression { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getIfElseRule()); + $current = createModelElementForParent(grammarAccess.getLetBindingRule()); } set( $current, - "else", - lv_else_5_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + "value", + lv_value_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); afterParserOrEnumRuleCall(); } ) @@ -894,6 +1331,80 @@ ruleIfElse returns [EObject current=null] ) ; +// Entry rule entryRuleImplicationExpression +entryRuleImplicationExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getImplicationExpressionRule()); } + iv_ruleImplicationExpression=ruleImplicationExpression + { $current=$iv_ruleImplicationExpression.current; } + EOF; + +// Rule ImplicationExpression +ruleImplicationExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getImplicationExpressionAccess().getDisjunctiveExpressionParserRuleCall_0()); + } + this_DisjunctiveExpression_0=ruleDisjunctiveExpression + { + $current = $this_DisjunctiveExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getImplicationExpressionAccess().getBinaryExpressionLeftAction_1_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getImplicationExpressionAccess().getOpImplicationOperatorEnumRuleCall_1_1_0()); + } + lv_op_2_0=ruleImplicationOperator + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getImplicationExpressionRule()); + } + set( + $current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationOperator"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getImplicationExpressionAccess().getRightImplicationExpressionParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleImplicationExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getImplicationExpressionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + // Entry rule entryRuleDisjunctiveExpression entryRuleDisjunctiveExpression returns [EObject current=null]: { newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); } @@ -1383,11 +1894,11 @@ ruleExponentialExpression returns [EObject current=null] }: ( { - newCompositeNode(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); + newCompositeNode(grammarAccess.getExponentialExpressionAccess().getCastExpressionParserRuleCall_0()); } - this_UnaryExpression_0=ruleUnaryExpression + this_CastExpression_0=ruleCastExpression { - $current = $this_UnaryExpression_0.current; + $current = $this_CastExpression_0.current; afterParserOrEnumRuleCall(); } ( @@ -1420,9 +1931,9 @@ ruleExponentialExpression returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); + newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightCastExpressionParserRuleCall_1_2_0()); } - lv_right_3_0=ruleExponentialExpression + lv_right_3_0=ruleCastExpression { if ($current==null) { $current = createModelElementForParent(grammarAccess.getExponentialExpressionRule()); @@ -1431,7 +1942,63 @@ ruleExponentialExpression returns [EObject current=null] $current, "right", lv_right_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); + "org.eclipse.viatra.solver.language.SolverLanguage.CastExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleCastExpression +entryRuleCastExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getCastExpressionRule()); } + iv_ruleCastExpression=ruleCastExpression + { $current=$iv_ruleCastExpression.current; } + EOF; + +// Rule CastExpression +ruleCastExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getCastExpressionAccess().getUnaryExpressionParserRuleCall_0()); + } + this_UnaryExpression_0=ruleUnaryExpression + { + $current = $this_UnaryExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getCastExpressionAccess().getCastExpressionBodyAction_1_0(), + $current); + } + ) + otherlv_2=As + { + newLeafNode(otherlv_2, grammarAccess.getCastExpressionAccess().getAsKeyword_1_1()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getCastExpressionRule()); + } + } + { + newCompositeNode(grammarAccess.getCastExpressionAccess().getTypeNamedElementCrossReference_1_2_0()); + } + ruleQualifiedName + { afterParserOrEnumRuleCall(); } ) @@ -1541,11 +2108,11 @@ ruleAggregationExpression returns [EObject current=null] } | { - newCompositeNode(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); + newCompositeNode(grammarAccess.getAggregationExpressionAccess().getQuantifiedExpressionParserRuleCall_1()); } - this_Count_1=ruleCount + this_QuantifiedExpression_1=ruleQuantifiedExpression { - $current = $this_Count_1.current; + $current = $this_QuantifiedExpression_1.current; afterParserOrEnumRuleCall(); } | @@ -1560,15 +2127,15 @@ ruleAggregationExpression returns [EObject current=null] ) ; -// Entry rule entryRuleCount -entryRuleCount returns [EObject current=null]: - { newCompositeNode(grammarAccess.getCountRule()); } - iv_ruleCount=ruleCount - { $current=$iv_ruleCount.current; } +// Entry rule entryRuleLocalVariables +entryRuleLocalVariables returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLocalVariablesRule()); } + iv_ruleLocalVariables=ruleLocalVariables + { $current=$iv_ruleLocalVariables.current; } EOF; -// Rule Count -ruleCount returns [EObject current=null] +// Rule LocalVariables +ruleLocalVariables returns [EObject current=null] @init { enterRule(); } @@ -1576,36 +2143,150 @@ ruleCount returns [EObject current=null] leaveRule(); }: ( - otherlv_0=Count + ( + { + $current = forceCreateModelElement( + grammarAccess.getLocalVariablesAccess().getLocalVariablesAction_0(), + $current); + } + ) + otherlv_1=LeftSquareBracket + { + newLeafNode(otherlv_1, grammarAccess.getLocalVariablesAccess().getLeftSquareBracketKeyword_1()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_0_0()); + } + lv_variables_2_0=ruleVariable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLocalVariablesRule()); + } + add( + $current, + "variables", + lv_variables_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=Comma + { + newLeafNode(otherlv_3, grammarAccess.getLocalVariablesAccess().getCommaKeyword_2_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_1_1_0()); + } + lv_variables_4_0=ruleVariable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLocalVariablesRule()); + } + add( + $current, + "variables", + lv_variables_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_5=RightSquareBracket { - newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0()); + newLeafNode(otherlv_5, grammarAccess.getLocalVariablesAccess().getRightSquareBracketKeyword_3()); } - otherlv_1=LeftCurlyBracket + ) +; + +// Entry rule entryRuleQuantifiedExpression +entryRuleQuantifiedExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getQuantifiedExpressionRule()); } + iv_ruleQuantifiedExpression=ruleQuantifiedExpression + { $current=$iv_ruleQuantifiedExpression.current; } + EOF; + +// Rule QuantifiedExpression +ruleQuantifiedExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getQuantifierQuantifierEnumRuleCall_0_0()); + } + lv_quantifier_0_0=ruleQuantifier + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); + } + set( + $current, + "quantifier", + lv_quantifier_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Quantifier"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0()); + } + lv_localVariables_1_0=ruleLocalVariables + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); + } + set( + $current, + "localVariables", + lv_localVariables_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables"); + afterParserOrEnumRuleCall(); + } + ) + )? + otherlv_2=LeftCurlyBracket { - newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); + newLeafNode(otherlv_2, grammarAccess.getQuantifiedExpressionAccess().getLeftCurlyBracketKeyword_2()); } ( ( { - newCompositeNode(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); + newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getBodyExpressionParserRuleCall_3_0()); } - lv_body_2_0=ruleExpression + lv_body_3_0=ruleExpression { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getCountRule()); + $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); } set( $current, "body", - lv_body_2_0, + lv_body_3_0, "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); afterParserOrEnumRuleCall(); } ) ) - otherlv_3=RightCurlyBracket + otherlv_4=RightCurlyBracket { - newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); + newLeafNode(otherlv_4, grammarAccess.getQuantifiedExpressionAccess().getRightCurlyBracketKeyword_4()); } ) ; @@ -1628,72 +2309,90 @@ ruleAggregation returns [EObject current=null] ( ( ( - { - newCompositeNode(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); - } - lv_op_0_0=ruleAggregationOp { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAggregationRule()); + $current = createModelElement(grammarAccess.getAggregationRule()); } - set( - $current, - "op", - lv_op_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp"); + } + { + newCompositeNode(grammarAccess.getAggregationAccess().getOpNamedElementCrossReference_0_0()); + } + ruleQualifiedName + { afterParserOrEnumRuleCall(); } ) ) - otherlv_1=LeftCurlyBracket - { - newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); - } ( ( { - newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); + newCompositeNode(grammarAccess.getAggregationAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0()); } - lv_body_2_0=ruleExpression + lv_localVariables_1_0=ruleLocalVariables { if ($current==null) { $current = createModelElementForParent(grammarAccess.getAggregationRule()); } set( $current, - "body", - lv_body_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + "localVariables", + lv_localVariables_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables"); afterParserOrEnumRuleCall(); } ) - ) - otherlv_3=VerticalLine + )? + otherlv_2=LeftCurlyBracket { - newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); + newLeafNode(otherlv_2, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_2()); } ( ( { - newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); + newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_3_0()); } - lv_condition_4_0=ruleExpression + lv_body_3_0=ruleExpression { if ($current==null) { $current = createModelElementForParent(grammarAccess.getAggregationRule()); } set( $current, - "condition", - lv_condition_4_0, + "body", + lv_body_3_0, "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); afterParserOrEnumRuleCall(); } ) ) - otherlv_5=RightCurlyBracket + ( + otherlv_4=VerticalLine + { + newLeafNode(otherlv_4, grammarAccess.getAggregationAccess().getVerticalLineKeyword_4_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_1_0()); + } + lv_condition_5_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAggregationRule()); + } + set( + $current, + "condition", + lv_condition_5_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + otherlv_6=RightCurlyBracket { - newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); + newLeafNode(otherlv_6, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); } ) ; @@ -3485,8 +4184,8 @@ finally { myHiddenTokenState.restore(); } -// Rule MetricType -ruleMetricType returns [Enumerator current=null] +// Rule ImplicationOperator +ruleImplicationOperator returns [Enumerator current=null] @init { enterRule(); } @@ -3494,21 +4193,11 @@ ruleMetricType returns [Enumerator current=null] 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()); - } - ) + enumLiteral_0=EqualsSignGreaterThanSign + { + $current = grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration()); + } ) ; @@ -3709,8 +4398,8 @@ ruleUnaryOp returns [Enumerator current=null] ) ; -// Rule AggregationOp -ruleAggregationOp returns [Enumerator current=null] +// Rule Quantifier +ruleQuantifier returns [Enumerator current=null] @init { enterRule(); } @@ -3719,50 +4408,26 @@ ruleAggregationOp returns [Enumerator current=null] }: ( ( - 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 + enumLiteral_0=Exists { - $current = grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); + $current = grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0()); } ) | ( - enumLiteral_4=Min + enumLiteral_1=Forall { - $current = grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_4, grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); + $current = grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1()); } ) | ( - enumLiteral_5=Max + enumLiteral_2=Count { - $current = grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_5, grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); + $current = grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2()); } ) ) diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java index 7dbfa002..3e25746c 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java @@ -22,92 +22,79 @@ import java.util.ArrayList; @SuppressWarnings("all") public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "GREATER_EQ", "Functional", "Abstract", "Contains", "Maximize", "Minimize", "Opposite", "GREATER", "LESS_EQ", "Current", "Default", "Extends", "Unknown", "NOT_EQ", "Extern", "Class", "Count", "Empty", "Error", "False", "Scope", "LESS", "Else", "Must", "Only", "Prod", "Real", "Then", "True", "ADD", "DIV", "MUL", "POW", "SUB", "Avg", "Inf", "Int", "Max", "May", "Min", "Sum", "ExclamationMarkEqualsSign", "HyphenMinusGreaterThanSign", "FullStopFullStop", "ColonHyphenMinus", "LessThanSignEqualsSign", "EqualsSignEqualsSign", "GreaterThanSignEqualsSign", "EQ", "IN", "If", "In", "ExclamationMark", "LeftParenthesis", "RightParenthesis", "Asterisk", "PlusSign", "Comma", "HyphenMinus", "FullStop", "Solidus", "Colon", "Semicolon", "LessThanSign", "EqualsSign", "GreaterThanSign", "LeftSquareBracket", "RightSquareBracket", "CircumflexAccent", "LeftCurlyBracket", "VerticalLine", "RightCurlyBracket", "RULE_STRING", "RULE_QUOTED_ID", "RULE_SL_COMMENT", "RULE_TRANSITIVE_CLOSURE", "RULE_REFLEXIVE_TRANSITIVE_CLOSURE", "RULE_FULL_STOP", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_WS", "RULE_ANY_OTHER" + "", "", "", "", "Functional", "Abstract", "Contains", "Datatype", "Maximize", "Minimize", "Opposite", "Current", "Default", "Extends", "Unknown", "Exists", "Extern", "Forall", "Class", "Count", "Empty", "Error", "False", "Scope", "Else", "Must", "Then", "True", "FullStopFullStopFullStop", "Inf", "Let", "May", "ExclamationMarkEqualsSign", "HyphenMinusGreaterThanSign", "FullStopFullStop", "ColonHyphenMinus", "LessThanSignEqualsSign", "EqualsSignEqualsSign", "EqualsSignGreaterThanSign", "GreaterThanSignEqualsSign", "As", "If", "In", "ExclamationMark", "LeftParenthesis", "RightParenthesis", "Asterisk", "PlusSign", "Comma", "HyphenMinus", "FullStop", "Solidus", "Colon", "Semicolon", "LessThanSign", "EqualsSign", "GreaterThanSign", "LeftSquareBracket", "RightSquareBracket", "CircumflexAccent", "LeftCurlyBracket", "VerticalLine", "RightCurlyBracket", "RULE_STRING", "RULE_QUOTED_ID", "RULE_SL_COMMENT", "RULE_TRANSITIVE_CLOSURE", "RULE_REFLEXIVE_TRANSITIVE_CLOSURE", "RULE_FULL_STOP", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_WS", "RULE_ANY_OTHER" }; - public static final int ADD=33; - public static final int True=32; - public static final int GREATER_EQ=4; - public static final int Count=20; - public static final int False=23; - public static final int Must=27; - public static final int LessThanSign=67; - public static final int LeftParenthesis=57; - public static final int Unknown=16; - public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80; - public static final int FullStopFullStop=47; - public static final int Real=30; - public static final int Then=31; - public static final int Extends=15; - public static final int RightSquareBracket=71; - public static final int ExclamationMark=56; + public static final int EqualsSignGreaterThanSign=38; + public static final int True=27; + public static final int Count=19; + public static final int False=22; + public static final int Must=25; + public static final int FullStopFullStopFullStop=28; + public static final int LessThanSign=54; + public static final int Datatype=7; + public static final int LeftParenthesis=44; + public static final int Unknown=14; + public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67; + public static final int FullStopFullStop=34; + public static final int Then=26; + public static final int Extends=13; + public static final int Forall=17; + public static final int RightSquareBracket=58; + public static final int ExclamationMark=43; public static final int Opposite=10; - public static final int SUB=37; - public static final int GreaterThanSign=69; - public static final int NOT_EQ=17; - public static final int RULE_ID=82; - public static final int MUL=35; - public static final int IN=53; - public static final int RULE_QUOTED_ID=77; - public static final int RightParenthesis=58; - public static final int Sum=44; - public static final int EQ=52; - public static final int GreaterThanSignEqualsSign=51; - public static final int Functional=5; - public static final int EqualsSignEqualsSign=50; - public static final int Avg=38; - public static final int Min=43; - public static final int VerticalLine=74; - public static final int PlusSign=60; - public static final int RULE_INT=83; - public static final int Contains=7; - public static final int RULE_ML_COMMENT=84; - public static final int POW=36; - public static final int RULE_TRANSITIVE_CLOSURE=79; - public static final int Class=19; - public static final int LESS=25; - public static final int LeftSquareBracket=70; - public static final int RULE_FULL_STOP=81; - public static final int Current=13; - public static final int If=54; - public static final int Inf=39; - public static final int LESS_EQ=12; - public static final int May=42; - public static final int Max=41; - public static final int In=55; - public static final int RULE_STRING=76; - public static final int Int=40; - public static final int Extern=18; - public static final int RULE_SL_COMMENT=78; - public static final int Prod=29; - public static final int Comma=61; - public static final int EqualsSign=68; - public static final int Empty=21; - public static final int HyphenMinus=62; + public static final int GreaterThanSign=56; + public static final int RULE_ID=69; + public static final int RULE_QUOTED_ID=64; + public static final int RightParenthesis=45; + public static final int GreaterThanSignEqualsSign=39; + public static final int Functional=4; + public static final int EqualsSignEqualsSign=37; + public static final int VerticalLine=61; + public static final int PlusSign=47; + public static final int RULE_INT=70; + public static final int Contains=6; + public static final int RULE_ML_COMMENT=71; + public static final int RULE_TRANSITIVE_CLOSURE=66; + public static final int Class=18; + public static final int LeftSquareBracket=57; + public static final int RULE_FULL_STOP=68; + public static final int Current=11; + public static final int If=41; + public static final int Inf=29; + public static final int May=31; + public static final int In=42; + public static final int RULE_STRING=63; + public static final int Extern=16; + public static final int RULE_SL_COMMENT=65; + public static final int Comma=48; + public static final int EqualsSign=55; + public static final int Empty=20; + public static final int As=40; + public static final int HyphenMinus=49; public static final int Maximize=8; - public static final int LessThanSignEqualsSign=49; - public static final int Solidus=64; - public static final int Colon=65; - public static final int RightCurlyBracket=75; + public static final int LessThanSignEqualsSign=36; + public static final int Solidus=51; + public static final int Colon=52; + public static final int RightCurlyBracket=62; public static final int EOF=-1; - public static final int Asterisk=59; - public static final int FullStop=63; - public static final int RULE_WS=85; - public static final int Abstract=6; + public static final int Asterisk=46; + public static final int FullStop=50; + public static final int RULE_WS=72; + public static final int Abstract=5; public static final int Minimize=9; - public static final int GREATER=11; - public static final int LeftCurlyBracket=73; - public static final int Error=22; - public static final int Only=28; - public static final int RULE_ANY_OTHER=86; - public static final int Default=14; - public static final int ColonHyphenMinus=48; - public static final int CircumflexAccent=72; - public static final int DIV=34; - public static final int Semicolon=66; - public static final int Scope=24; - public static final int Else=26; - public static final int ExclamationMarkEqualsSign=45; - public static final int HyphenMinusGreaterThanSign=46; + public static final int LeftCurlyBracket=60; + public static final int Error=21; + public static final int RULE_ANY_OTHER=73; + public static final int Default=12; + public static final int ColonHyphenMinus=35; + public static final int CircumflexAccent=59; + public static final int Semicolon=53; + public static final int Scope=23; + public static final int Exists=15; + public static final int Else=24; + public static final int Let=30; + public static final int ExclamationMarkEqualsSign=32; + public static final int HyphenMinusGreaterThanSign=33; // delegates // delegators @@ -205,7 +192,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { int alt1=2; int LA1_0 = input.LA(1); - if ( ((LA1_0>=Functional && LA1_0<=Abstract)||(LA1_0>=Maximize && LA1_0<=Minimize)||(LA1_0>=Current && LA1_0<=Default)||LA1_0==Unknown||(LA1_0>=Extern && LA1_0<=False)||LA1_0==Scope||(LA1_0>=Must && LA1_0<=Real)||LA1_0==True||(LA1_0>=Avg && LA1_0<=Sum)||LA1_0==If||(LA1_0>=ExclamationMark && LA1_0<=LeftParenthesis)||LA1_0==PlusSign||LA1_0==HyphenMinus||LA1_0==LeftSquareBracket||(LA1_0>=RULE_STRING && LA1_0<=RULE_QUOTED_ID)||(LA1_0>=RULE_ID && LA1_0<=RULE_INT)) ) { + if ( ((LA1_0>=Functional && LA1_0<=Abstract)||(LA1_0>=Maximize && LA1_0<=Minimize)||(LA1_0>=Current && LA1_0<=Default)||(LA1_0>=Unknown && LA1_0<=False)||LA1_0==Scope||LA1_0==Must||LA1_0==True||(LA1_0>=Inf && LA1_0<=May)||LA1_0==If||(LA1_0>=ExclamationMark && LA1_0<=LeftParenthesis)||LA1_0==PlusSign||LA1_0==HyphenMinus||LA1_0==LeftSquareBracket||(LA1_0>=RULE_STRING && LA1_0<=RULE_QUOTED_ID)||(LA1_0>=RULE_ID && LA1_0<=RULE_INT)) ) { alt1=1; } @@ -304,11 +291,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleStatement" - // InternalSolverLanguageParser.g:101:1: ruleStatement returns [EObject current=null] : ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP ) ; + // InternalSolverLanguageParser.g:101:1: ruleStatement returns [EObject current=null] : ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP ) ; public final EObject ruleStatement() throws RecognitionException { EObject current = null; - Token this_FULL_STOP_10=null; + Token this_FULL_STOP_12=null; EObject this_AssertionOrDefinition_0 = null; EObject this_PredicateDefinition_1 = null; @@ -317,31 +304,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { EObject this_DefaultDefinition_3 = null; - EObject this_ExternPredicateDefinition_4 = null; + EObject this_MetricDefinition_4 = null; - EObject this_MetricDefinition_5 = null; + EObject this_ExternPredicateDefinition_5 = null; EObject this_ExternMetricDefinition_6 = null; - EObject this_ClassDefinition_7 = null; + EObject this_ExternAggregatorDefinition_7 = null; - EObject this_ScopeDefinition_8 = null; + EObject this_ExternDatatypeDefinition_8 = null; - EObject this_ObjectiveDefinition_9 = null; + EObject this_ClassDefinition_9 = null; + + EObject this_ScopeDefinition_10 = null; + + EObject this_ObjectiveDefinition_11 = null; enterRule(); try { - // InternalSolverLanguageParser.g:107:2: ( ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP ) ) - // InternalSolverLanguageParser.g:108:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:107:2: ( ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:108:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP ) { - // InternalSolverLanguageParser.g:108:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP ) - // InternalSolverLanguageParser.g:109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP + // InternalSolverLanguageParser.g:108:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP { - // InternalSolverLanguageParser.g:109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) - int alt2=10; + // InternalSolverLanguageParser.g:109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) + int alt2=12; alt2 = dfa2.predict(input); switch (alt2) { case 1 : @@ -417,36 +408,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 5 : - // InternalSolverLanguageParser.g:146:4: this_ExternPredicateDefinition_4= ruleExternPredicateDefinition + // InternalSolverLanguageParser.g:146:4: this_MetricDefinition_4= ruleMetricDefinition { - newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); + newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_4()); pushFollow(FOLLOW_4); - this_ExternPredicateDefinition_4=ruleExternPredicateDefinition(); + this_MetricDefinition_4=ruleMetricDefinition(); state._fsp--; - current = this_ExternPredicateDefinition_4; + current = this_MetricDefinition_4; afterParserOrEnumRuleCall(); } break; case 6 : - // InternalSolverLanguageParser.g:155:4: this_MetricDefinition_5= ruleMetricDefinition + // InternalSolverLanguageParser.g:155:4: this_ExternPredicateDefinition_5= ruleExternPredicateDefinition { - newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); + newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_5()); pushFollow(FOLLOW_4); - this_MetricDefinition_5=ruleMetricDefinition(); + this_ExternPredicateDefinition_5=ruleExternPredicateDefinition(); state._fsp--; - current = this_MetricDefinition_5; + current = this_ExternPredicateDefinition_5; afterParserOrEnumRuleCall(); @@ -471,54 +462,90 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 8 : - // InternalSolverLanguageParser.g:173:4: this_ClassDefinition_7= ruleClassDefinition + // InternalSolverLanguageParser.g:173:4: this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition { - newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); + newCompositeNode(grammarAccess.getStatementAccess().getExternAggregatorDefinitionParserRuleCall_0_7()); pushFollow(FOLLOW_4); - this_ClassDefinition_7=ruleClassDefinition(); + this_ExternAggregatorDefinition_7=ruleExternAggregatorDefinition(); state._fsp--; - current = this_ClassDefinition_7; + current = this_ExternAggregatorDefinition_7; afterParserOrEnumRuleCall(); } break; case 9 : - // InternalSolverLanguageParser.g:182:4: this_ScopeDefinition_8= ruleScopeDefinition + // InternalSolverLanguageParser.g:182:4: this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition { - newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); + newCompositeNode(grammarAccess.getStatementAccess().getExternDatatypeDefinitionParserRuleCall_0_8()); pushFollow(FOLLOW_4); - this_ScopeDefinition_8=ruleScopeDefinition(); + this_ExternDatatypeDefinition_8=ruleExternDatatypeDefinition(); state._fsp--; - current = this_ScopeDefinition_8; + current = this_ExternDatatypeDefinition_8; afterParserOrEnumRuleCall(); } break; case 10 : - // InternalSolverLanguageParser.g:191:4: this_ObjectiveDefinition_9= ruleObjectiveDefinition + // InternalSolverLanguageParser.g:191:4: this_ClassDefinition_9= ruleClassDefinition + { + + newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_9()); + + pushFollow(FOLLOW_4); + this_ClassDefinition_9=ruleClassDefinition(); + + state._fsp--; + + + current = this_ClassDefinition_9; + afterParserOrEnumRuleCall(); + + + } + break; + case 11 : + // InternalSolverLanguageParser.g:200:4: this_ScopeDefinition_10= ruleScopeDefinition + { + + newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_10()); + + pushFollow(FOLLOW_4); + this_ScopeDefinition_10=ruleScopeDefinition(); + + state._fsp--; + + + current = this_ScopeDefinition_10; + afterParserOrEnumRuleCall(); + + + } + break; + case 12 : + // InternalSolverLanguageParser.g:209:4: this_ObjectiveDefinition_11= ruleObjectiveDefinition { - newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); + newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_11()); pushFollow(FOLLOW_4); - this_ObjectiveDefinition_9=ruleObjectiveDefinition(); + this_ObjectiveDefinition_11=ruleObjectiveDefinition(); state._fsp--; - current = this_ObjectiveDefinition_9; + current = this_ObjectiveDefinition_11; afterParserOrEnumRuleCall(); @@ -527,9 +554,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - this_FULL_STOP_10=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); + this_FULL_STOP_12=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); - newLeafNode(this_FULL_STOP_10, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); + newLeafNode(this_FULL_STOP_12, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); } @@ -554,7 +581,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleAssertionOrDefinition" - // InternalSolverLanguageParser.g:208:1: entryRuleAssertionOrDefinition returns [EObject current=null] : iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ; + // InternalSolverLanguageParser.g:226:1: entryRuleAssertionOrDefinition returns [EObject current=null] : iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ; public final EObject entryRuleAssertionOrDefinition() throws RecognitionException { EObject current = null; @@ -562,8 +589,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:208:62: (iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ) - // InternalSolverLanguageParser.g:209:2: iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF + // InternalSolverLanguageParser.g:226:62: (iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ) + // InternalSolverLanguageParser.g:227:2: iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF { newCompositeNode(grammarAccess.getAssertionOrDefinitionRule()); pushFollow(FOLLOW_1); @@ -590,7 +617,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAssertionOrDefinition" - // InternalSolverLanguageParser.g:215:1: ruleAssertionOrDefinition returns [EObject current=null] : (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) ) ; + // InternalSolverLanguageParser.g:233:1: ruleAssertionOrDefinition returns [EObject current=null] : (this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? ) ; public final EObject ruleAssertionOrDefinition() throws RecognitionException { EObject current = null; @@ -610,11 +637,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:221:2: ( (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) ) ) - // InternalSolverLanguageParser.g:222:2: (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) ) + // InternalSolverLanguageParser.g:239:2: ( (this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? ) ) + // InternalSolverLanguageParser.g:240:2: (this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? ) { - // InternalSolverLanguageParser.g:222:2: (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) ) - // InternalSolverLanguageParser.g:223:3: this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) + // InternalSolverLanguageParser.g:240:2: (this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? ) + // InternalSolverLanguageParser.g:241:3: this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? { newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); @@ -628,100 +655,76 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current = this_Expression_0; afterParserOrEnumRuleCall(); - // InternalSolverLanguageParser.g:231:3: ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) - int alt4=3; + // InternalSolverLanguageParser.g:249:3: ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? + int alt3=4; switch ( input.LA(1) ) { - case EOF: - case Colon: - case RULE_FULL_STOP: - { - alt4=1; - } - break; - case ColonHyphenMinus: - { - alt4=2; - } - break; - case EqualsSign: - { - alt4=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 4, 0, input); - - throw nvae; + case Colon: + { + alt3=1; + } + break; + case ColonHyphenMinus: + { + alt3=2; + } + break; + case EqualsSign: + { + alt3=3; + } + break; } - switch (alt4) { + switch (alt3) { case 1 : - // InternalSolverLanguageParser.g:232:4: ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) + // InternalSolverLanguageParser.g:250:4: ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) { - // InternalSolverLanguageParser.g:232:4: ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) - // InternalSolverLanguageParser.g:233:5: () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? + // InternalSolverLanguageParser.g:250:4: ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:251:5: () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) { - // InternalSolverLanguageParser.g:233:5: () - // InternalSolverLanguageParser.g:234:6: + // InternalSolverLanguageParser.g:251:5: () + // InternalSolverLanguageParser.g:252:6: { current = forceCreateModelElementAndSet( - grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0(), + grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0(), current); } - // InternalSolverLanguageParser.g:240:5: (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? - int alt3=2; - int LA3_0 = input.LA(1); - - if ( (LA3_0==Colon) ) { - alt3=1; - } - switch (alt3) { - case 1 : - // InternalSolverLanguageParser.g:241:6: otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) - { - otherlv_2=(Token)match(input,Colon,FOLLOW_6); - - newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); - - // InternalSolverLanguageParser.g:245:6: ( (lv_range_3_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:246:7: (lv_range_3_0= ruleExpression ) - { - // InternalSolverLanguageParser.g:246:7: (lv_range_3_0= ruleExpression ) - // InternalSolverLanguageParser.g:247:8: lv_range_3_0= ruleExpression - { - - newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); - - pushFollow(FOLLOW_2); - lv_range_3_0=ruleExpression(); - - state._fsp--; + otherlv_2=(Token)match(input,Colon,FOLLOW_6); + newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1()); + + // InternalSolverLanguageParser.g:262:5: ( (lv_range_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:263:6: (lv_range_3_0= ruleExpression ) + { + // InternalSolverLanguageParser.g:263:6: (lv_range_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:264:7: 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(); - + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0()); + + pushFollow(FOLLOW_2); + lv_range_3_0=ruleExpression(); - } + state._fsp--; - } + if (current==null) { + current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); + } + set( + current, + "range", + lv_range_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + } - } - break; } @@ -732,13 +735,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:267:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:283:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) { - // InternalSolverLanguageParser.g:267:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) - // InternalSolverLanguageParser.g:268:5: () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:283:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:284:5: () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) { - // InternalSolverLanguageParser.g:268:5: () - // InternalSolverLanguageParser.g:269:6: + // InternalSolverLanguageParser.g:284:5: () + // InternalSolverLanguageParser.g:285:6: { current = forceCreateModelElementAndSet( @@ -752,11 +755,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); - // InternalSolverLanguageParser.g:279:5: ( (lv_body_6_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:280:6: (lv_body_6_0= ruleExpression ) + // InternalSolverLanguageParser.g:295:5: ( (lv_body_6_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:296:6: (lv_body_6_0= ruleExpression ) { - // InternalSolverLanguageParser.g:280:6: (lv_body_6_0= ruleExpression ) - // InternalSolverLanguageParser.g:281:7: lv_body_6_0= ruleExpression + // InternalSolverLanguageParser.g:296:6: (lv_body_6_0= ruleExpression ) + // InternalSolverLanguageParser.g:297:7: lv_body_6_0= ruleExpression { newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); @@ -790,13 +793,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguageParser.g:300:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:316:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) { - // InternalSolverLanguageParser.g:300:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) - // InternalSolverLanguageParser.g:301:5: () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:316:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:317:5: () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) { - // InternalSolverLanguageParser.g:301:5: () - // InternalSolverLanguageParser.g:302:6: + // InternalSolverLanguageParser.g:317:5: () + // InternalSolverLanguageParser.g:318:6: { current = forceCreateModelElementAndSet( @@ -810,11 +813,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); - // InternalSolverLanguageParser.g:312:5: ( (lv_body_9_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:313:6: (lv_body_9_0= ruleExpression ) + // InternalSolverLanguageParser.g:328:5: ( (lv_body_9_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:329:6: (lv_body_9_0= ruleExpression ) { - // InternalSolverLanguageParser.g:313:6: (lv_body_9_0= ruleExpression ) - // InternalSolverLanguageParser.g:314:7: lv_body_9_0= ruleExpression + // InternalSolverLanguageParser.g:329:6: (lv_body_9_0= ruleExpression ) + // InternalSolverLanguageParser.g:330:7: lv_body_9_0= ruleExpression { newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); @@ -873,7 +876,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRulePredicateDefinition" - // InternalSolverLanguageParser.g:337:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ; + // InternalSolverLanguageParser.g:353:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ; public final EObject entryRulePredicateDefinition() throws RecognitionException { EObject current = null; @@ -881,8 +884,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:337:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF ) - // InternalSolverLanguageParser.g:338:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF + // InternalSolverLanguageParser.g:353:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF ) + // InternalSolverLanguageParser.g:354:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF { newCompositeNode(grammarAccess.getPredicateDefinitionRule()); pushFollow(FOLLOW_1); @@ -909,7 +912,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "rulePredicateDefinition" - // InternalSolverLanguageParser.g:344:1: rulePredicateDefinition returns [EObject current=null] : ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) ; + // InternalSolverLanguageParser.g:360:1: rulePredicateDefinition returns [EObject current=null] : ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) ; public final EObject rulePredicateDefinition() throws RecognitionException { EObject current = null; @@ -927,40 +930,40 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:350:2: ( ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) ) - // InternalSolverLanguageParser.g:351:2: ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:366:2: ( ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) ) + // InternalSolverLanguageParser.g:367:2: ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) { - // InternalSolverLanguageParser.g:351:2: ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) - // InternalSolverLanguageParser.g:352:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:367:2: ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:368:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) { - // InternalSolverLanguageParser.g:352: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); + // InternalSolverLanguageParser.g:368:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) + int alt6=2; + int LA6_0 = input.LA(1); - if ( (LA7_0==Functional) ) { - alt7=1; + if ( (LA6_0==Functional) ) { + alt6=1; } - else if ( (LA7_0==Error) ) { - alt7=2; + else if ( (LA6_0==Error) ) { + alt6=2; } else { NoViableAltException nvae = - new NoViableAltException("", 7, 0, input); + new NoViableAltException("", 6, 0, input); throw nvae; } - switch (alt7) { + switch (alt6) { case 1 : - // InternalSolverLanguageParser.g:353:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) + // InternalSolverLanguageParser.g:369:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) { - // InternalSolverLanguageParser.g:353:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) - // InternalSolverLanguageParser.g:354:5: ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? + // InternalSolverLanguageParser.g:369:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) + // InternalSolverLanguageParser.g:370:5: ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? { - // InternalSolverLanguageParser.g:354:5: ( (lv_functional_0_0= Functional ) ) - // InternalSolverLanguageParser.g:355:6: (lv_functional_0_0= Functional ) + // InternalSolverLanguageParser.g:370:5: ( (lv_functional_0_0= Functional ) ) + // InternalSolverLanguageParser.g:371:6: (lv_functional_0_0= Functional ) { - // InternalSolverLanguageParser.g:355:6: (lv_functional_0_0= Functional ) - // InternalSolverLanguageParser.g:356:7: lv_functional_0_0= Functional + // InternalSolverLanguageParser.g:371:6: (lv_functional_0_0= Functional ) + // InternalSolverLanguageParser.g:372:7: lv_functional_0_0= Functional { lv_functional_0_0=(Token)match(input,Functional,FOLLOW_7); @@ -978,19 +981,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:368:5: ( (lv_error_1_0= Error ) )? - int alt5=2; - int LA5_0 = input.LA(1); + // InternalSolverLanguageParser.g:384:5: ( (lv_error_1_0= Error ) )? + int alt4=2; + int LA4_0 = input.LA(1); - if ( (LA5_0==Error) ) { - alt5=1; + if ( (LA4_0==Error) ) { + alt4=1; } - switch (alt5) { + switch (alt4) { case 1 : - // InternalSolverLanguageParser.g:369:6: (lv_error_1_0= Error ) + // InternalSolverLanguageParser.g:385:6: (lv_error_1_0= Error ) { - // InternalSolverLanguageParser.g:369:6: (lv_error_1_0= Error ) - // InternalSolverLanguageParser.g:370:7: lv_error_1_0= Error + // InternalSolverLanguageParser.g:385:6: (lv_error_1_0= Error ) + // InternalSolverLanguageParser.g:386:7: lv_error_1_0= Error { lv_error_1_0=(Token)match(input,Error,FOLLOW_8); @@ -1018,16 +1021,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:384:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) + // InternalSolverLanguageParser.g:400:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) { - // InternalSolverLanguageParser.g:384:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) - // InternalSolverLanguageParser.g:385:5: ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? + // InternalSolverLanguageParser.g:400:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) + // InternalSolverLanguageParser.g:401:5: ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? { - // InternalSolverLanguageParser.g:385:5: ( (lv_error_2_0= Error ) ) - // InternalSolverLanguageParser.g:386:6: (lv_error_2_0= Error ) + // InternalSolverLanguageParser.g:401:5: ( (lv_error_2_0= Error ) ) + // InternalSolverLanguageParser.g:402:6: (lv_error_2_0= Error ) { - // InternalSolverLanguageParser.g:386:6: (lv_error_2_0= Error ) - // InternalSolverLanguageParser.g:387:7: lv_error_2_0= Error + // InternalSolverLanguageParser.g:402:6: (lv_error_2_0= Error ) + // InternalSolverLanguageParser.g:403:7: lv_error_2_0= Error { lv_error_2_0=(Token)match(input,Error,FOLLOW_9); @@ -1045,19 +1048,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:399:5: ( (lv_functional_3_0= Functional ) )? - int alt6=2; - int LA6_0 = input.LA(1); + // InternalSolverLanguageParser.g:415:5: ( (lv_functional_3_0= Functional ) )? + int alt5=2; + int LA5_0 = input.LA(1); - if ( (LA6_0==Functional) ) { - alt6=1; + if ( (LA5_0==Functional) ) { + alt5=1; } - switch (alt6) { + switch (alt5) { case 1 : - // InternalSolverLanguageParser.g:400:6: (lv_functional_3_0= Functional ) + // InternalSolverLanguageParser.g:416:6: (lv_functional_3_0= Functional ) { - // InternalSolverLanguageParser.g:400:6: (lv_functional_3_0= Functional ) - // InternalSolverLanguageParser.g:401:7: lv_functional_3_0= Functional + // InternalSolverLanguageParser.g:416:6: (lv_functional_3_0= Functional ) + // InternalSolverLanguageParser.g:417:7: lv_functional_3_0= Functional { lv_functional_3_0=(Token)match(input,Functional,FOLLOW_8); @@ -1087,11 +1090,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:415:3: ( (lv_head_4_0= ruleCall ) ) - // InternalSolverLanguageParser.g:416:4: (lv_head_4_0= ruleCall ) + // InternalSolverLanguageParser.g:431:3: ( (lv_head_4_0= ruleCall ) ) + // InternalSolverLanguageParser.g:432:4: (lv_head_4_0= ruleCall ) { - // InternalSolverLanguageParser.g:416:4: (lv_head_4_0= ruleCall ) - // InternalSolverLanguageParser.g:417:5: lv_head_4_0= ruleCall + // InternalSolverLanguageParser.g:432:4: (lv_head_4_0= ruleCall ) + // InternalSolverLanguageParser.g:433:5: lv_head_4_0= ruleCall { newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); @@ -1122,11 +1125,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); - // InternalSolverLanguageParser.g:438:3: ( (lv_body_6_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:439:4: (lv_body_6_0= ruleExpression ) + // InternalSolverLanguageParser.g:454:3: ( (lv_body_6_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:455:4: (lv_body_6_0= ruleExpression ) { - // InternalSolverLanguageParser.g:439:4: (lv_body_6_0= ruleExpression ) - // InternalSolverLanguageParser.g:440:5: lv_body_6_0= ruleExpression + // InternalSolverLanguageParser.g:455:4: (lv_body_6_0= ruleExpression ) + // InternalSolverLanguageParser.g:456:5: lv_body_6_0= ruleExpression { newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); @@ -1176,7 +1179,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleUnnamedErrorPrediateDefinition" - // InternalSolverLanguageParser.g:461:1: entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null] : iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ; + // InternalSolverLanguageParser.g:477:1: entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null] : iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ; public final EObject entryRuleUnnamedErrorPrediateDefinition() throws RecognitionException { EObject current = null; @@ -1184,8 +1187,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:461:71: (iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ) - // InternalSolverLanguageParser.g:462:2: iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF + // InternalSolverLanguageParser.g:477:71: (iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ) + // InternalSolverLanguageParser.g:478:2: iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF { newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); pushFollow(FOLLOW_1); @@ -1212,7 +1215,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleUnnamedErrorPrediateDefinition" - // InternalSolverLanguageParser.g:468:1: ruleUnnamedErrorPrediateDefinition returns [EObject current=null] : (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) ; + // InternalSolverLanguageParser.g:484:1: ruleUnnamedErrorPrediateDefinition returns [EObject current=null] : (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) ; public final EObject ruleUnnamedErrorPrediateDefinition() throws RecognitionException { EObject current = null; @@ -1227,21 +1230,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:474:2: ( (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) ) - // InternalSolverLanguageParser.g:475:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:490:2: ( (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) ) + // InternalSolverLanguageParser.g:491:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) { - // InternalSolverLanguageParser.g:475:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) - // InternalSolverLanguageParser.g:476:3: otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:491:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:492:3: otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) { otherlv_0=(Token)match(input,Error,FOLLOW_11); newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); - // InternalSolverLanguageParser.g:480:3: ( (lv_argumentList_1_0= ruleArgumentList ) ) - // InternalSolverLanguageParser.g:481:4: (lv_argumentList_1_0= ruleArgumentList ) + // InternalSolverLanguageParser.g:496:3: ( (lv_argumentList_1_0= ruleArgumentList ) ) + // InternalSolverLanguageParser.g:497:4: (lv_argumentList_1_0= ruleArgumentList ) { - // InternalSolverLanguageParser.g:481:4: (lv_argumentList_1_0= ruleArgumentList ) - // InternalSolverLanguageParser.g:482:5: lv_argumentList_1_0= ruleArgumentList + // InternalSolverLanguageParser.g:497:4: (lv_argumentList_1_0= ruleArgumentList ) + // InternalSolverLanguageParser.g:498:5: lv_argumentList_1_0= ruleArgumentList { newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); @@ -1272,11 +1275,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); - // InternalSolverLanguageParser.g:503:3: ( (lv_body_3_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:504:4: (lv_body_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:519:3: ( (lv_body_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:520:4: (lv_body_3_0= ruleExpression ) { - // InternalSolverLanguageParser.g:504:4: (lv_body_3_0= ruleExpression ) - // InternalSolverLanguageParser.g:505:5: lv_body_3_0= ruleExpression + // InternalSolverLanguageParser.g:520:4: (lv_body_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:521:5: lv_body_3_0= ruleExpression { newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); @@ -1326,7 +1329,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleDefaultDefinition" - // InternalSolverLanguageParser.g:526:1: entryRuleDefaultDefinition returns [EObject current=null] : iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ; + // InternalSolverLanguageParser.g:542:1: entryRuleDefaultDefinition returns [EObject current=null] : iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ; public final EObject entryRuleDefaultDefinition() throws RecognitionException { EObject current = null; @@ -1334,8 +1337,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:526:58: (iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ) - // InternalSolverLanguageParser.g:527:2: iv_ruleDefaultDefinition= ruleDefaultDefinition EOF + // InternalSolverLanguageParser.g:542:58: (iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ) + // InternalSolverLanguageParser.g:543:2: iv_ruleDefaultDefinition= ruleDefaultDefinition EOF { newCompositeNode(grammarAccess.getDefaultDefinitionRule()); pushFollow(FOLLOW_1); @@ -1362,7 +1365,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleDefaultDefinition" - // InternalSolverLanguageParser.g:533:1: ruleDefaultDefinition returns [EObject current=null] : (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) ; + // InternalSolverLanguageParser.g:549:1: ruleDefaultDefinition returns [EObject current=null] : (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) ; public final EObject ruleDefaultDefinition() throws RecognitionException { EObject current = null; @@ -1377,21 +1380,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:539:2: ( (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) ) - // InternalSolverLanguageParser.g:540:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:555:2: ( (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) ) + // InternalSolverLanguageParser.g:556:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) { - // InternalSolverLanguageParser.g:540:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) - // InternalSolverLanguageParser.g:541:3: otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:556:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:557:3: otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) { otherlv_0=(Token)match(input,Default,FOLLOW_8); newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); - // InternalSolverLanguageParser.g:545:3: ( (lv_head_1_0= ruleCall ) ) - // InternalSolverLanguageParser.g:546:4: (lv_head_1_0= ruleCall ) + // InternalSolverLanguageParser.g:561:3: ( (lv_head_1_0= ruleCall ) ) + // InternalSolverLanguageParser.g:562:4: (lv_head_1_0= ruleCall ) { - // InternalSolverLanguageParser.g:546:4: (lv_head_1_0= ruleCall ) - // InternalSolverLanguageParser.g:547:5: lv_head_1_0= ruleCall + // InternalSolverLanguageParser.g:562:4: (lv_head_1_0= ruleCall ) + // InternalSolverLanguageParser.g:563:5: lv_head_1_0= ruleCall { newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); @@ -1422,11 +1425,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); - // InternalSolverLanguageParser.g:568:3: ( (lv_range_3_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:569:4: (lv_range_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:584:3: ( (lv_range_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:585:4: (lv_range_3_0= ruleExpression ) { - // InternalSolverLanguageParser.g:569:4: (lv_range_3_0= ruleExpression ) - // InternalSolverLanguageParser.g:570:5: lv_range_3_0= ruleExpression + // InternalSolverLanguageParser.g:585:4: (lv_range_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:586:5: lv_range_3_0= ruleExpression { newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); @@ -1475,120 +1478,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR end "ruleDefaultDefinition" - // $ANTLR start "entryRuleExternPredicateDefinition" - // InternalSolverLanguageParser.g:591:1: entryRuleExternPredicateDefinition returns [EObject current=null] : iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ; - public final EObject entryRuleExternPredicateDefinition() throws RecognitionException { - EObject current = null; - - EObject iv_ruleExternPredicateDefinition = null; - - - try { - // InternalSolverLanguageParser.g:591:66: (iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ) - // InternalSolverLanguageParser.g:592:2: iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF - { - newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); - pushFollow(FOLLOW_1); - iv_ruleExternPredicateDefinition=ruleExternPredicateDefinition(); - - state._fsp--; - - current =iv_ruleExternPredicateDefinition; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleExternPredicateDefinition" - - - // $ANTLR start "ruleExternPredicateDefinition" - // InternalSolverLanguageParser.g:598:1: ruleExternPredicateDefinition returns [EObject current=null] : (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) ; - public final EObject ruleExternPredicateDefinition() throws RecognitionException { - EObject current = null; - - Token otherlv_0=null; - EObject lv_head_1_0 = null; - - - - enterRule(); - - try { - // InternalSolverLanguageParser.g:604:2: ( (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) ) - // InternalSolverLanguageParser.g:605:2: (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) - { - // InternalSolverLanguageParser.g:605:2: (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) - // InternalSolverLanguageParser.g:606:3: otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) - { - otherlv_0=(Token)match(input,Extern,FOLLOW_8); - - newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); - - // InternalSolverLanguageParser.g:610:3: ( (lv_head_1_0= ruleCall ) ) - // InternalSolverLanguageParser.g:611:4: (lv_head_1_0= ruleCall ) - { - // InternalSolverLanguageParser.g:611:4: (lv_head_1_0= ruleCall ) - // InternalSolverLanguageParser.g:612:5: lv_head_1_0= ruleCall - { - - newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); - - pushFollow(FOLLOW_2); - lv_head_1_0=ruleCall(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); - } - set( - current, - "head", - lv_head_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Call"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleExternPredicateDefinition" - - // $ANTLR start "entryRuleMetricDefinition" - // InternalSolverLanguageParser.g:633:1: entryRuleMetricDefinition returns [EObject current=null] : iv_ruleMetricDefinition= ruleMetricDefinition EOF ; + // InternalSolverLanguageParser.g:607:1: entryRuleMetricDefinition returns [EObject current=null] : iv_ruleMetricDefinition= ruleMetricDefinition EOF ; public final EObject entryRuleMetricDefinition() throws RecognitionException { EObject current = null; @@ -1596,8 +1487,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:633:57: (iv_ruleMetricDefinition= ruleMetricDefinition EOF ) - // InternalSolverLanguageParser.g:634:2: iv_ruleMetricDefinition= ruleMetricDefinition EOF + // InternalSolverLanguageParser.g:607:57: (iv_ruleMetricDefinition= ruleMetricDefinition EOF ) + // InternalSolverLanguageParser.g:608:2: iv_ruleMetricDefinition= ruleMetricDefinition EOF { newCompositeNode(grammarAccess.getMetricDefinitionRule()); pushFollow(FOLLOW_1); @@ -1624,13 +1515,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleMetricDefinition" - // InternalSolverLanguageParser.g:640:1: ruleMetricDefinition returns [EObject current=null] : ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) ; + // InternalSolverLanguageParser.g:614:1: ruleMetricDefinition returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) ; public final EObject ruleMetricDefinition() throws RecognitionException { EObject current = null; Token otherlv_2=null; - Enumerator lv_type_0_0 = null; - EObject lv_head_1_0 = null; EObject lv_body_3_0 = null; @@ -1640,35 +1529,32 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:646:2: ( ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) ) - // InternalSolverLanguageParser.g:647:2: ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:620:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) ) + // InternalSolverLanguageParser.g:621:2: ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) { - // InternalSolverLanguageParser.g:647:2: ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) - // InternalSolverLanguageParser.g:648:3: ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:621:2: ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:622:3: ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) { - // InternalSolverLanguageParser.g:648:3: ( (lv_type_0_0= ruleMetricType ) ) - // InternalSolverLanguageParser.g:649:4: (lv_type_0_0= ruleMetricType ) + // InternalSolverLanguageParser.g:622:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:623:4: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:649:4: (lv_type_0_0= ruleMetricType ) - // InternalSolverLanguageParser.g:650:5: lv_type_0_0= ruleMetricType + // InternalSolverLanguageParser.g:623:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:624:5: ruleQualifiedName { - newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); + if (current==null) { + current = createModelElement(grammarAccess.getMetricDefinitionRule()); + } - pushFollow(FOLLOW_6); - lv_type_0_0=ruleMetricType(); + + newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementCrossReference_0_0()); + + pushFollow(FOLLOW_8); + ruleQualifiedName(); state._fsp--; - if (current==null) { - current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); - } - set( - current, - "type", - lv_type_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); afterParserOrEnumRuleCall(); @@ -1677,17 +1563,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:667:3: ( (lv_head_1_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:668:4: (lv_head_1_0= ruleExpression ) + // InternalSolverLanguageParser.g:638:3: ( (lv_head_1_0= ruleCall ) ) + // InternalSolverLanguageParser.g:639:4: (lv_head_1_0= ruleCall ) { - // InternalSolverLanguageParser.g:668:4: (lv_head_1_0= ruleExpression ) - // InternalSolverLanguageParser.g:669:5: lv_head_1_0= ruleExpression + // InternalSolverLanguageParser.g:639:4: (lv_head_1_0= ruleCall ) + // InternalSolverLanguageParser.g:640:5: lv_head_1_0= ruleCall { - newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0()); pushFollow(FOLLOW_13); - lv_head_1_0=ruleExpression(); + lv_head_1_0=ruleCall(); state._fsp--; @@ -1699,7 +1585,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current, "head", lv_head_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); afterParserOrEnumRuleCall(); @@ -1712,11 +1598,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); - // InternalSolverLanguageParser.g:690:3: ( (lv_body_3_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:691:4: (lv_body_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:661:3: ( (lv_body_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:662:4: (lv_body_3_0= ruleExpression ) { - // InternalSolverLanguageParser.g:691:4: (lv_body_3_0= ruleExpression ) - // InternalSolverLanguageParser.g:692:5: lv_body_3_0= ruleExpression + // InternalSolverLanguageParser.g:662:4: (lv_body_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:663:5: lv_body_3_0= ruleExpression { newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); @@ -1765,25 +1651,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR end "ruleMetricDefinition" - // $ANTLR start "entryRuleExternMetricDefinition" - // InternalSolverLanguageParser.g:713:1: entryRuleExternMetricDefinition returns [EObject current=null] : iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ; - public final EObject entryRuleExternMetricDefinition() throws RecognitionException { + // $ANTLR start "entryRuleExternPredicateDefinition" + // InternalSolverLanguageParser.g:684:1: entryRuleExternPredicateDefinition returns [EObject current=null] : iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ; + public final EObject entryRuleExternPredicateDefinition() throws RecognitionException { EObject current = null; - EObject iv_ruleExternMetricDefinition = null; + EObject iv_ruleExternPredicateDefinition = null; try { - // InternalSolverLanguageParser.g:713:63: (iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ) - // InternalSolverLanguageParser.g:714:2: iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF + // InternalSolverLanguageParser.g:684:66: (iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ) + // InternalSolverLanguageParser.g:685:2: iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF { - newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); + newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); pushFollow(FOLLOW_1); - iv_ruleExternMetricDefinition=ruleExternMetricDefinition(); + iv_ruleExternPredicateDefinition=ruleExternPredicateDefinition(); state._fsp--; - current =iv_ruleExternMetricDefinition; + current =iv_ruleExternPredicateDefinition; match(input,EOF,FOLLOW_2); } @@ -1798,57 +1684,57 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleExternMetricDefinition" + // $ANTLR end "entryRuleExternPredicateDefinition" - // $ANTLR start "ruleExternMetricDefinition" - // InternalSolverLanguageParser.g:720: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 { + // $ANTLR start "ruleExternPredicateDefinition" + // InternalSolverLanguageParser.g:691:1: ruleExternPredicateDefinition returns [EObject current=null] : (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) ) ; + public final EObject ruleExternPredicateDefinition() throws RecognitionException { EObject current = null; Token otherlv_0=null; - Enumerator lv_type_1_0 = null; + AntlrDatatypeRuleToken lv_name_1_0 = null; - EObject lv_head_2_0 = null; + EObject lv_argumentList_2_0 = null; enterRule(); try { - // InternalSolverLanguageParser.g:726:2: ( (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) ) - // InternalSolverLanguageParser.g:727:2: (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) + // InternalSolverLanguageParser.g:697:2: ( (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) ) ) + // InternalSolverLanguageParser.g:698:2: (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) ) { - // InternalSolverLanguageParser.g:727:2: (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) - // InternalSolverLanguageParser.g:728:3: otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) + // InternalSolverLanguageParser.g:698:2: (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) ) + // InternalSolverLanguageParser.g:699:3: otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) { - otherlv_0=(Token)match(input,Extern,FOLLOW_14); + otherlv_0=(Token)match(input,Extern,FOLLOW_8); - newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); - // InternalSolverLanguageParser.g:732:3: ( (lv_type_1_0= ruleMetricType ) ) - // InternalSolverLanguageParser.g:733:4: (lv_type_1_0= ruleMetricType ) + // InternalSolverLanguageParser.g:703:3: ( (lv_name_1_0= ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:704:4: (lv_name_1_0= ruleQualifiedName ) { - // InternalSolverLanguageParser.g:733:4: (lv_type_1_0= ruleMetricType ) - // InternalSolverLanguageParser.g:734:5: lv_type_1_0= ruleMetricType + // InternalSolverLanguageParser.g:704:4: (lv_name_1_0= ruleQualifiedName ) + // InternalSolverLanguageParser.g:705:5: lv_name_1_0= ruleQualifiedName { - newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); + newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0()); - pushFollow(FOLLOW_8); - lv_type_1_0=ruleMetricType(); + pushFollow(FOLLOW_11); + lv_name_1_0=ruleQualifiedName(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); } set( current, - "type", - lv_type_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); + "name", + lv_name_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); afterParserOrEnumRuleCall(); @@ -1857,29 +1743,29 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:751:3: ( (lv_head_2_0= ruleCall ) ) - // InternalSolverLanguageParser.g:752:4: (lv_head_2_0= ruleCall ) + // InternalSolverLanguageParser.g:722:3: ( (lv_argumentList_2_0= ruleArgumentList ) ) + // InternalSolverLanguageParser.g:723:4: (lv_argumentList_2_0= ruleArgumentList ) { - // InternalSolverLanguageParser.g:752:4: (lv_head_2_0= ruleCall ) - // InternalSolverLanguageParser.g:753:5: lv_head_2_0= ruleCall + // InternalSolverLanguageParser.g:723:4: (lv_argumentList_2_0= ruleArgumentList ) + // InternalSolverLanguageParser.g:724:5: lv_argumentList_2_0= ruleArgumentList { - newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); + newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0()); pushFollow(FOLLOW_2); - lv_head_2_0=ruleCall(); + lv_argumentList_2_0=ruleArgumentList(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); } set( current, - "head", - lv_head_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + "argumentList", + lv_argumentList_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); afterParserOrEnumRuleCall(); @@ -1907,28 +1793,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleExternMetricDefinition" + // $ANTLR end "ruleExternPredicateDefinition" - // $ANTLR start "entryRuleExpression" - // InternalSolverLanguageParser.g:774:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ; - public final EObject entryRuleExpression() throws RecognitionException { + // $ANTLR start "entryRuleExternMetricDefinition" + // InternalSolverLanguageParser.g:745:1: entryRuleExternMetricDefinition returns [EObject current=null] : iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ; + public final EObject entryRuleExternMetricDefinition() throws RecognitionException { EObject current = null; - EObject iv_ruleExpression = null; + EObject iv_ruleExternMetricDefinition = null; try { - // InternalSolverLanguageParser.g:774:51: (iv_ruleExpression= ruleExpression EOF ) - // InternalSolverLanguageParser.g:775:2: iv_ruleExpression= ruleExpression EOF + // InternalSolverLanguageParser.g:745:63: (iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ) + // InternalSolverLanguageParser.g:746:2: iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF { - newCompositeNode(grammarAccess.getExpressionRule()); + newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); pushFollow(FOLLOW_1); - iv_ruleExpression=ruleExpression(); + iv_ruleExternMetricDefinition=ruleExternMetricDefinition(); state._fsp--; - current =iv_ruleExpression; + current =iv_ruleExternMetricDefinition; match(input,EOF,FOLLOW_2); } @@ -1943,79 +1829,1244 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleExpression" + // $ANTLR end "entryRuleExternMetricDefinition" - // $ANTLR start "ruleExpression" - // InternalSolverLanguageParser.g:781:1: ruleExpression returns [EObject current=null] : (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) ; - public final EObject ruleExpression() throws RecognitionException { + // $ANTLR start "ruleExternMetricDefinition" + // InternalSolverLanguageParser.g:752:1: ruleExternMetricDefinition returns [EObject current=null] : (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ; + public final EObject ruleExternMetricDefinition() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + AntlrDatatypeRuleToken lv_name_2_0 = null; + + EObject lv_argumentList_3_0 = null; + + + + enterRule(); + + try { + // InternalSolverLanguageParser.g:758:2: ( (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ) + // InternalSolverLanguageParser.g:759:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) ) + { + // InternalSolverLanguageParser.g:759:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) ) + // InternalSolverLanguageParser.g:760:3: otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) + { + otherlv_0=(Token)match(input,Extern,FOLLOW_8); + + newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); + + // InternalSolverLanguageParser.g:764:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:765:4: ( ruleQualifiedName ) + { + // InternalSolverLanguageParser.g:765:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:766:5: ruleQualifiedName + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternMetricDefinitionRule()); + } + + + newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + + pushFollow(FOLLOW_8); + ruleQualifiedName(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalSolverLanguageParser.g:780:3: ( (lv_name_2_0= ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:781:4: (lv_name_2_0= ruleQualifiedName ) + { + // InternalSolverLanguageParser.g:781:4: (lv_name_2_0= ruleQualifiedName ) + // InternalSolverLanguageParser.g:782:5: lv_name_2_0= ruleQualifiedName + { + + newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); + + pushFollow(FOLLOW_11); + lv_name_2_0=ruleQualifiedName(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + } + set( + current, + "name", + lv_name_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalSolverLanguageParser.g:799:3: ( (lv_argumentList_3_0= ruleArgumentList ) ) + // InternalSolverLanguageParser.g:800:4: (lv_argumentList_3_0= ruleArgumentList ) + { + // InternalSolverLanguageParser.g:800:4: (lv_argumentList_3_0= ruleArgumentList ) + // InternalSolverLanguageParser.g:801:5: lv_argumentList_3_0= ruleArgumentList + { + + newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0()); + + pushFollow(FOLLOW_2); + lv_argumentList_3_0=ruleArgumentList(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + } + set( + current, + "argumentList", + lv_argumentList_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleExternMetricDefinition" + + + // $ANTLR start "entryRuleExternAggregatorDefinition" + // InternalSolverLanguageParser.g:822:1: entryRuleExternAggregatorDefinition returns [EObject current=null] : iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF ; + public final EObject entryRuleExternAggregatorDefinition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleExternAggregatorDefinition = null; + + + try { + // InternalSolverLanguageParser.g:822:67: (iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF ) + // InternalSolverLanguageParser.g:823:2: iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF + { + newCompositeNode(grammarAccess.getExternAggregatorDefinitionRule()); + pushFollow(FOLLOW_1); + iv_ruleExternAggregatorDefinition=ruleExternAggregatorDefinition(); + + state._fsp--; + + current =iv_ruleExternAggregatorDefinition; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleExternAggregatorDefinition" + + + // $ANTLR start "ruleExternAggregatorDefinition" + // InternalSolverLanguageParser.g:829:1: ruleExternAggregatorDefinition returns [EObject current=null] : (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket ) ; + public final EObject ruleExternAggregatorDefinition() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_6=null; + AntlrDatatypeRuleToken lv_name_2_0 = null; + + + + enterRule(); + + try { + // InternalSolverLanguageParser.g:835:2: ( (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket ) ) + // InternalSolverLanguageParser.g:836:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket ) + { + // InternalSolverLanguageParser.g:836:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket ) + // InternalSolverLanguageParser.g:837:3: otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket + { + otherlv_0=(Token)match(input,Extern,FOLLOW_8); + + newLeafNode(otherlv_0, grammarAccess.getExternAggregatorDefinitionAccess().getExternKeyword_0()); + + // InternalSolverLanguageParser.g:841:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:842:4: ( ruleQualifiedName ) + { + // InternalSolverLanguageParser.g:842:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:843:5: ruleQualifiedName + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule()); + } + + + newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + + pushFollow(FOLLOW_8); + ruleQualifiedName(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalSolverLanguageParser.g:857:3: ( (lv_name_2_0= ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:858:4: (lv_name_2_0= ruleQualifiedName ) + { + // InternalSolverLanguageParser.g:858:4: (lv_name_2_0= ruleQualifiedName ) + // InternalSolverLanguageParser.g:859:5: lv_name_2_0= ruleQualifiedName + { + + newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); + + pushFollow(FOLLOW_14); + lv_name_2_0=ruleQualifiedName(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternAggregatorDefinitionRule()); + } + set( + current, + "name", + lv_name_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_3=(Token)match(input,LeftCurlyBracket,FOLLOW_8); + + newLeafNode(otherlv_3, grammarAccess.getExternAggregatorDefinitionAccess().getLeftCurlyBracketKeyword_3()); + + // InternalSolverLanguageParser.g:880:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:881:4: ( ruleQualifiedName ) + { + // InternalSolverLanguageParser.g:881:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:882:5: ruleQualifiedName + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule()); + } + + + newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementCrossReference_4_0()); + + pushFollow(FOLLOW_15); + ruleQualifiedName(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,FullStopFullStopFullStop,FOLLOW_16); + + newLeafNode(otherlv_5, grammarAccess.getExternAggregatorDefinitionAccess().getFullStopFullStopFullStopKeyword_5()); + + otherlv_6=(Token)match(input,RightCurlyBracket,FOLLOW_2); + + newLeafNode(otherlv_6, grammarAccess.getExternAggregatorDefinitionAccess().getRightCurlyBracketKeyword_6()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleExternAggregatorDefinition" + + + // $ANTLR start "entryRuleExternDatatypeDefinition" + // InternalSolverLanguageParser.g:908:1: entryRuleExternDatatypeDefinition returns [EObject current=null] : iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF ; + public final EObject entryRuleExternDatatypeDefinition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleExternDatatypeDefinition = null; + + + try { + // InternalSolverLanguageParser.g:908:65: (iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF ) + // InternalSolverLanguageParser.g:909:2: iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF + { + newCompositeNode(grammarAccess.getExternDatatypeDefinitionRule()); + pushFollow(FOLLOW_1); + iv_ruleExternDatatypeDefinition=ruleExternDatatypeDefinition(); + + state._fsp--; + + current =iv_ruleExternDatatypeDefinition; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleExternDatatypeDefinition" + + + // $ANTLR start "ruleExternDatatypeDefinition" + // InternalSolverLanguageParser.g:915:1: ruleExternDatatypeDefinition returns [EObject current=null] : (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) ) ; + public final EObject ruleExternDatatypeDefinition() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + AntlrDatatypeRuleToken lv_name_2_0 = null; + + + + enterRule(); + + try { + // InternalSolverLanguageParser.g:921:2: ( (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) ) ) + // InternalSolverLanguageParser.g:922:2: (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) ) + { + // InternalSolverLanguageParser.g:922:2: (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) ) + // InternalSolverLanguageParser.g:923:3: otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) + { + otherlv_0=(Token)match(input,Extern,FOLLOW_17); + + newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDefinitionAccess().getExternKeyword_0()); + + otherlv_1=(Token)match(input,Datatype,FOLLOW_8); + + newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDefinitionAccess().getDatatypeKeyword_1()); + + // InternalSolverLanguageParser.g:931:3: ( (lv_name_2_0= ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:932:4: (lv_name_2_0= ruleQualifiedName ) + { + // InternalSolverLanguageParser.g:932:4: (lv_name_2_0= ruleQualifiedName ) + // InternalSolverLanguageParser.g:933:5: lv_name_2_0= ruleQualifiedName + { + + newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); + + pushFollow(FOLLOW_18); + lv_name_2_0=ruleQualifiedName(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternDatatypeDefinitionRule()); + } + set( + current, + "name", + lv_name_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalSolverLanguageParser.g:950:3: (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) + // InternalSolverLanguageParser.g:951:4: otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* + { + otherlv_3=(Token)match(input,Extends,FOLLOW_8); + + newLeafNode(otherlv_3, grammarAccess.getExternDatatypeDefinitionAccess().getExtendsKeyword_3_0()); + + // InternalSolverLanguageParser.g:955:4: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:956:5: ( ruleQualifiedName ) + { + // InternalSolverLanguageParser.g:956:5: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:957:6: ruleQualifiedName + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule()); + } + + + newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_1_0()); + + pushFollow(FOLLOW_19); + ruleQualifiedName(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalSolverLanguageParser.g:971:4: (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* + loop7: + do { + int alt7=2; + int LA7_0 = input.LA(1); + + if ( (LA7_0==Comma) ) { + alt7=1; + } + + + switch (alt7) { + case 1 : + // InternalSolverLanguageParser.g:972:5: otherlv_5= Comma ( ( ruleQualifiedName ) ) + { + otherlv_5=(Token)match(input,Comma,FOLLOW_8); + + newLeafNode(otherlv_5, grammarAccess.getExternDatatypeDefinitionAccess().getCommaKeyword_3_2_0()); + + // InternalSolverLanguageParser.g:976:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:977:6: ( ruleQualifiedName ) + { + // InternalSolverLanguageParser.g:977:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:978:7: ruleQualifiedName + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule()); + } + + + newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_2_1_0()); + + pushFollow(FOLLOW_19); + ruleQualifiedName(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop7; + } + } while (true); + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleExternDatatypeDefinition" + + + // $ANTLR start "entryRuleVariable" + // InternalSolverLanguageParser.g:998:1: entryRuleVariable returns [EObject current=null] : iv_ruleVariable= ruleVariable EOF ; + public final EObject entryRuleVariable() throws RecognitionException { + EObject current = null; + + EObject iv_ruleVariable = null; + + + try { + // InternalSolverLanguageParser.g:998:49: (iv_ruleVariable= ruleVariable EOF ) + // InternalSolverLanguageParser.g:999:2: iv_ruleVariable= ruleVariable EOF + { + newCompositeNode(grammarAccess.getVariableRule()); + pushFollow(FOLLOW_1); + iv_ruleVariable=ruleVariable(); + + state._fsp--; + + current =iv_ruleVariable; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleVariable" + + + // $ANTLR start "ruleVariable" + // InternalSolverLanguageParser.g:1005:1: ruleVariable returns [EObject current=null] : ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) ) ; + public final EObject ruleVariable() throws RecognitionException { + EObject current = null; + + Token lv_name_1_0=null; + + + enterRule(); + + try { + // InternalSolverLanguageParser.g:1011:2: ( ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) ) ) + // InternalSolverLanguageParser.g:1012:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) ) + { + // InternalSolverLanguageParser.g:1012:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) ) + // InternalSolverLanguageParser.g:1013:3: ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) + { + // InternalSolverLanguageParser.g:1013:3: ( ( ruleQualifiedName ) )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0==RULE_ID) ) { + int LA8_1 = input.LA(2); + + if ( (LA8_1==FullStop||LA8_1==RULE_ID) ) { + alt8=1; + } + } + else if ( (LA8_0==RULE_QUOTED_ID) ) { + alt8=1; + } + switch (alt8) { + case 1 : + // InternalSolverLanguageParser.g:1014:4: ( ruleQualifiedName ) + { + // InternalSolverLanguageParser.g:1014:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:1015:5: ruleQualifiedName + { + + if (current==null) { + current = createModelElement(grammarAccess.getVariableRule()); + } + + + newCompositeNode(grammarAccess.getVariableAccess().getTypeNamedElementCrossReference_0_0()); + + pushFollow(FOLLOW_20); + ruleQualifiedName(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + } + + // InternalSolverLanguageParser.g:1029:3: ( (lv_name_1_0= RULE_ID ) ) + // InternalSolverLanguageParser.g:1030:4: (lv_name_1_0= RULE_ID ) + { + // InternalSolverLanguageParser.g:1030:4: (lv_name_1_0= RULE_ID ) + // InternalSolverLanguageParser.g:1031:5: lv_name_1_0= RULE_ID + { + lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_2); + + newLeafNode(lv_name_1_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_1_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getVariableRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_1_0, + "org.eclipse.xtext.common.Terminals.ID"); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleVariable" + + + // $ANTLR start "entryRuleExpression" + // InternalSolverLanguageParser.g:1051:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ; + public final EObject entryRuleExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleExpression = null; + + + try { + // InternalSolverLanguageParser.g:1051:51: (iv_ruleExpression= ruleExpression EOF ) + // InternalSolverLanguageParser.g:1052:2: iv_ruleExpression= ruleExpression EOF + { + newCompositeNode(grammarAccess.getExpressionRule()); + pushFollow(FOLLOW_1); + iv_ruleExpression=ruleExpression(); + + state._fsp--; + + current =iv_ruleExpression; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleExpression" + + + // $ANTLR start "ruleExpression" + // InternalSolverLanguageParser.g:1058:1: ruleExpression returns [EObject current=null] : (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression ) ; + public final EObject ruleExpression() throws RecognitionException { + EObject current = null; + + EObject this_IfElse_0 = null; + + EObject this_Let_1 = null; + + EObject this_ImplicationExpression_2 = null; + + + + enterRule(); + + try { + // InternalSolverLanguageParser.g:1064:2: ( (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression ) ) + // InternalSolverLanguageParser.g:1065:2: (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression ) + { + // InternalSolverLanguageParser.g:1065:2: (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression ) + int alt9=3; + switch ( input.LA(1) ) { + case If: + { + alt9=1; + } + break; + case Let: + { + alt9=2; + } + break; + case Current: + case Unknown: + case Exists: + case Forall: + case Count: + case Empty: + case Error: + case False: + case Must: + case True: + case Inf: + case May: + case ExclamationMark: + case LeftParenthesis: + case PlusSign: + case HyphenMinus: + case LeftSquareBracket: + case RULE_STRING: + case RULE_QUOTED_ID: + case RULE_ID: + case RULE_INT: + { + alt9=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 9, 0, input); + + throw nvae; + } + + switch (alt9) { + case 1 : + // InternalSolverLanguageParser.g:1066:3: this_IfElse_0= ruleIfElse + { + + newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); + + pushFollow(FOLLOW_2); + this_IfElse_0=ruleIfElse(); + + state._fsp--; + + + current = this_IfElse_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // InternalSolverLanguageParser.g:1075:3: this_Let_1= ruleLet + { + + newCompositeNode(grammarAccess.getExpressionAccess().getLetParserRuleCall_1()); + + pushFollow(FOLLOW_2); + this_Let_1=ruleLet(); + + state._fsp--; + + + current = this_Let_1; + afterParserOrEnumRuleCall(); + + + } + break; + case 3 : + // InternalSolverLanguageParser.g:1084:3: this_ImplicationExpression_2= ruleImplicationExpression + { + + newCompositeNode(grammarAccess.getExpressionAccess().getImplicationExpressionParserRuleCall_2()); + + pushFollow(FOLLOW_2); + this_ImplicationExpression_2=ruleImplicationExpression(); + + state._fsp--; + + + current = this_ImplicationExpression_2; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleExpression" + + + // $ANTLR start "entryRuleIfElse" + // InternalSolverLanguageParser.g:1096:1: entryRuleIfElse returns [EObject current=null] : iv_ruleIfElse= ruleIfElse EOF ; + public final EObject entryRuleIfElse() throws RecognitionException { EObject current = null; - EObject this_IfElse_0 = null; + EObject iv_ruleIfElse = null; + + + try { + // InternalSolverLanguageParser.g:1096:47: (iv_ruleIfElse= ruleIfElse EOF ) + // InternalSolverLanguageParser.g:1097:2: iv_ruleIfElse= ruleIfElse EOF + { + newCompositeNode(grammarAccess.getIfElseRule()); + pushFollow(FOLLOW_1); + iv_ruleIfElse=ruleIfElse(); + + state._fsp--; + + current =iv_ruleIfElse; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleIfElse" + + + // $ANTLR start "ruleIfElse" + // InternalSolverLanguageParser.g:1103:1: ruleIfElse returns [EObject current=null] : (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) ; + 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 this_DisjunctiveExpression_1 = null; + EObject lv_else_5_0 = null; enterRule(); try { - // InternalSolverLanguageParser.g:787:2: ( (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) ) - // InternalSolverLanguageParser.g:788:2: (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) + // InternalSolverLanguageParser.g:1109:2: ( (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) ) + // InternalSolverLanguageParser.g:1110:2: (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) { - // InternalSolverLanguageParser.g:788:2: (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) - int alt8=2; - int LA8_0 = input.LA(1); + // InternalSolverLanguageParser.g:1110:2: (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:1111:3: otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) + { + otherlv_0=(Token)match(input,If,FOLLOW_6); + + newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0()); + + // InternalSolverLanguageParser.g:1115:3: ( (lv_condition_1_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:1116:4: (lv_condition_1_0= ruleExpression ) + { + // InternalSolverLanguageParser.g:1116:4: (lv_condition_1_0= ruleExpression ) + // InternalSolverLanguageParser.g:1117:5: lv_condition_1_0= ruleExpression + { + + newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); + + pushFollow(FOLLOW_21); + lv_condition_1_0=ruleExpression(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIfElseRule()); + } + set( + current, + "condition", + lv_condition_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + - if ( (LA8_0==If) ) { - alt8=1; } - else if ( (LA8_0==Current||LA8_0==Unknown||(LA8_0>=Count && LA8_0<=False)||(LA8_0>=Must && LA8_0<=Prod)||LA8_0==True||(LA8_0>=Avg && LA8_0<=Inf)||(LA8_0>=Max && LA8_0<=Sum)||(LA8_0>=ExclamationMark && LA8_0<=LeftParenthesis)||LA8_0==PlusSign||LA8_0==HyphenMinus||LA8_0==LeftSquareBracket||(LA8_0>=RULE_STRING && LA8_0<=RULE_QUOTED_ID)||(LA8_0>=RULE_ID && LA8_0<=RULE_INT)) ) { - alt8=2; + + } - else { - NoViableAltException nvae = - new NoViableAltException("", 8, 0, input); - throw nvae; - } - switch (alt8) { - case 1 : - // InternalSolverLanguageParser.g:789:3: this_IfElse_0= ruleIfElse - { + otherlv_2=(Token)match(input,Then,FOLLOW_6); + + newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2()); + + // InternalSolverLanguageParser.g:1138:3: ( (lv_then_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:1139:4: (lv_then_3_0= ruleExpression ) + { + // InternalSolverLanguageParser.g:1139:4: (lv_then_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:1140:5: lv_then_3_0= ruleExpression + { + + newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); + + pushFollow(FOLLOW_22); + lv_then_3_0=ruleExpression(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIfElseRule()); + } + set( + current, + "then", + lv_then_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,Else,FOLLOW_6); + + newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4()); + + // InternalSolverLanguageParser.g:1161:3: ( (lv_else_5_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:1162:4: (lv_else_5_0= ruleExpression ) + { + // InternalSolverLanguageParser.g:1162:4: (lv_else_5_0= ruleExpression ) + // InternalSolverLanguageParser.g:1163:5: lv_else_5_0= ruleExpression + { + + newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); + + pushFollow(FOLLOW_2); + lv_else_5_0=ruleExpression(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIfElseRule()); + } + set( + current, + "else", + lv_else_5_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleIfElse" + + + // $ANTLR start "entryRuleLet" + // InternalSolverLanguageParser.g:1184:1: entryRuleLet returns [EObject current=null] : iv_ruleLet= ruleLet EOF ; + public final EObject entryRuleLet() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLet = null; + + + try { + // InternalSolverLanguageParser.g:1184:44: (iv_ruleLet= ruleLet EOF ) + // InternalSolverLanguageParser.g:1185:2: iv_ruleLet= ruleLet EOF + { + newCompositeNode(grammarAccess.getLetRule()); + pushFollow(FOLLOW_1); + iv_ruleLet=ruleLet(); + + state._fsp--; + + current =iv_ruleLet; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLet" + + + // $ANTLR start "ruleLet" + // InternalSolverLanguageParser.g:1191:1: ruleLet returns [EObject current=null] : (otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) ) ) ; + public final EObject ruleLet() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + EObject lv_bindings_1_0 = null; + + EObject lv_bindings_3_0 = null; + + EObject lv_body_5_0 = null; + + + + enterRule(); + + try { + // InternalSolverLanguageParser.g:1197:2: ( (otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) ) ) ) + // InternalSolverLanguageParser.g:1198:2: (otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) ) ) + { + // InternalSolverLanguageParser.g:1198:2: (otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:1199:3: otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) ) + { + otherlv_0=(Token)match(input,Let,FOLLOW_8); + + newLeafNode(otherlv_0, grammarAccess.getLetAccess().getLetKeyword_0()); + + // InternalSolverLanguageParser.g:1203:3: ( (lv_bindings_1_0= ruleLetBinding ) ) + // InternalSolverLanguageParser.g:1204:4: (lv_bindings_1_0= ruleLetBinding ) + { + // InternalSolverLanguageParser.g:1204:4: (lv_bindings_1_0= ruleLetBinding ) + // InternalSolverLanguageParser.g:1205:5: lv_bindings_1_0= ruleLetBinding + { + + newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_1_0()); + + pushFollow(FOLLOW_23); + lv_bindings_1_0=ruleLetBinding(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLetRule()); + } + add( + current, + "bindings", + lv_bindings_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalSolverLanguageParser.g:1222:3: (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* + loop10: + do { + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0==Comma) ) { + alt10=1; + } + + + switch (alt10) { + case 1 : + // InternalSolverLanguageParser.g:1223:4: otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) + { + otherlv_2=(Token)match(input,Comma,FOLLOW_8); + + newLeafNode(otherlv_2, grammarAccess.getLetAccess().getCommaKeyword_2_0()); + + // InternalSolverLanguageParser.g:1227:4: ( (lv_bindings_3_0= ruleLetBinding ) ) + // InternalSolverLanguageParser.g:1228:5: (lv_bindings_3_0= ruleLetBinding ) + { + // InternalSolverLanguageParser.g:1228:5: (lv_bindings_3_0= ruleLetBinding ) + // InternalSolverLanguageParser.g:1229:6: lv_bindings_3_0= ruleLetBinding + { + + newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_2_1_0()); + + pushFollow(FOLLOW_23); + lv_bindings_3_0=ruleLetBinding(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLetRule()); + } + add( + current, + "bindings", + lv_bindings_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding"); + afterParserOrEnumRuleCall(); + + + } + + + } - newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); - - pushFollow(FOLLOW_2); - this_IfElse_0=ruleIfElse(); - state._fsp--; + } + break; + default : + break loop10; + } + } while (true); - current = this_IfElse_0; - afterParserOrEnumRuleCall(); - + otherlv_4=(Token)match(input,In,FOLLOW_6); - } - break; - case 2 : - // InternalSolverLanguageParser.g:798:3: this_DisjunctiveExpression_1= ruleDisjunctiveExpression - { + newLeafNode(otherlv_4, grammarAccess.getLetAccess().getInKeyword_3()); + + // InternalSolverLanguageParser.g:1251:3: ( (lv_body_5_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:1252:4: (lv_body_5_0= ruleExpression ) + { + // InternalSolverLanguageParser.g:1252:4: (lv_body_5_0= ruleExpression ) + // InternalSolverLanguageParser.g:1253:5: lv_body_5_0= ruleExpression + { - newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_DisjunctiveExpression_1=ruleDisjunctiveExpression(); + newCompositeNode(grammarAccess.getLetAccess().getBodyExpressionParserRuleCall_4_0()); + + pushFollow(FOLLOW_2); + lv_body_5_0=ruleExpression(); - state._fsp--; + state._fsp--; - current = this_DisjunctiveExpression_1; - afterParserOrEnumRuleCall(); - + if (current==null) { + current = createModelElementForParent(grammarAccess.getLetRule()); + } + set( + current, + "body", + lv_body_5_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + + } + + + } - } - break; } @@ -2035,28 +3086,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleExpression" + // $ANTLR end "ruleLet" - // $ANTLR start "entryRuleIfElse" - // InternalSolverLanguageParser.g:810:1: entryRuleIfElse returns [EObject current=null] : iv_ruleIfElse= ruleIfElse EOF ; - public final EObject entryRuleIfElse() throws RecognitionException { + // $ANTLR start "entryRuleLetBinding" + // InternalSolverLanguageParser.g:1274:1: entryRuleLetBinding returns [EObject current=null] : iv_ruleLetBinding= ruleLetBinding EOF ; + public final EObject entryRuleLetBinding() throws RecognitionException { EObject current = null; - EObject iv_ruleIfElse = null; + EObject iv_ruleLetBinding = null; try { - // InternalSolverLanguageParser.g:810:47: (iv_ruleIfElse= ruleIfElse EOF ) - // InternalSolverLanguageParser.g:811:2: iv_ruleIfElse= ruleIfElse EOF + // InternalSolverLanguageParser.g:1274:51: (iv_ruleLetBinding= ruleLetBinding EOF ) + // InternalSolverLanguageParser.g:1275:2: iv_ruleLetBinding= ruleLetBinding EOF { - newCompositeNode(grammarAccess.getIfElseRule()); + newCompositeNode(grammarAccess.getLetBindingRule()); pushFollow(FOLLOW_1); - iv_ruleIfElse=ruleIfElse(); + iv_ruleLetBinding=ruleLetBinding(); state._fsp--; - current =iv_ruleIfElse; + current =iv_ruleLetBinding; match(input,EOF,FOLLOW_2); } @@ -2071,61 +3122,53 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleIfElse" + // $ANTLR end "entryRuleLetBinding" - // $ANTLR start "ruleIfElse" - // InternalSolverLanguageParser.g:817:1: ruleIfElse returns [EObject current=null] : (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) ; - public final EObject ruleIfElse() throws RecognitionException { + // $ANTLR start "ruleLetBinding" + // InternalSolverLanguageParser.g:1281:1: ruleLetBinding returns [EObject current=null] : ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) ) ; + public final EObject ruleLetBinding() 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; + Token otherlv_1=null; + EObject lv_variable_0_0 = null; - EObject lv_else_5_0 = null; + EObject lv_value_2_0 = null; enterRule(); try { - // InternalSolverLanguageParser.g:823:2: ( (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) ) - // InternalSolverLanguageParser.g:824:2: (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:1287:2: ( ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) ) ) + // InternalSolverLanguageParser.g:1288:2: ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) ) { - // InternalSolverLanguageParser.g:824:2: (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) - // InternalSolverLanguageParser.g:825:3: otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:1288:2: ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) ) + // InternalSolverLanguageParser.g:1289:3: ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) { - otherlv_0=(Token)match(input,If,FOLLOW_6); - - newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0()); - - // InternalSolverLanguageParser.g:829:3: ( (lv_condition_1_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:830:4: (lv_condition_1_0= ruleExpression ) + // InternalSolverLanguageParser.g:1289:3: ( (lv_variable_0_0= ruleVariable ) ) + // InternalSolverLanguageParser.g:1290:4: (lv_variable_0_0= ruleVariable ) { - // InternalSolverLanguageParser.g:830:4: (lv_condition_1_0= ruleExpression ) - // InternalSolverLanguageParser.g:831:5: lv_condition_1_0= ruleExpression + // InternalSolverLanguageParser.g:1290:4: (lv_variable_0_0= ruleVariable ) + // InternalSolverLanguageParser.g:1291:5: lv_variable_0_0= ruleVariable { - newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0()); - pushFollow(FOLLOW_15); - lv_condition_1_0=ruleExpression(); + pushFollow(FOLLOW_13); + lv_variable_0_0=ruleVariable(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getIfElseRule()); + current = createModelElementForParent(grammarAccess.getLetBindingRule()); } set( current, - "condition", - lv_condition_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + "variable", + lv_variable_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); afterParserOrEnumRuleCall(); @@ -2134,33 +3177,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_2=(Token)match(input,Then,FOLLOW_6); + otherlv_1=(Token)match(input,EqualsSign,FOLLOW_6); - newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2()); + newLeafNode(otherlv_1, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_1()); - // InternalSolverLanguageParser.g:852:3: ( (lv_then_3_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:853:4: (lv_then_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:1312:3: ( (lv_value_2_0= ruleAdditiveExpression ) ) + // InternalSolverLanguageParser.g:1313:4: (lv_value_2_0= ruleAdditiveExpression ) { - // InternalSolverLanguageParser.g:853:4: (lv_then_3_0= ruleExpression ) - // InternalSolverLanguageParser.g:854:5: lv_then_3_0= ruleExpression + // InternalSolverLanguageParser.g:1313:4: (lv_value_2_0= ruleAdditiveExpression ) + // InternalSolverLanguageParser.g:1314:5: lv_value_2_0= ruleAdditiveExpression { - newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); + newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0()); - pushFollow(FOLLOW_16); - lv_then_3_0=ruleExpression(); + pushFollow(FOLLOW_2); + lv_value_2_0=ruleAdditiveExpression(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getIfElseRule()); + current = createModelElementForParent(grammarAccess.getLetBindingRule()); } set( current, - "then", - lv_then_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + "value", + lv_value_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); afterParserOrEnumRuleCall(); @@ -2169,38 +3212,185 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_4=(Token)match(input,Else,FOLLOW_6); - newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4()); - - // InternalSolverLanguageParser.g:875:3: ( (lv_else_5_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:876:4: (lv_else_5_0= ruleExpression ) + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLetBinding" + + + // $ANTLR start "entryRuleImplicationExpression" + // InternalSolverLanguageParser.g:1335:1: entryRuleImplicationExpression returns [EObject current=null] : iv_ruleImplicationExpression= ruleImplicationExpression EOF ; + public final EObject entryRuleImplicationExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleImplicationExpression = null; + + + try { + // InternalSolverLanguageParser.g:1335:62: (iv_ruleImplicationExpression= ruleImplicationExpression EOF ) + // InternalSolverLanguageParser.g:1336:2: iv_ruleImplicationExpression= ruleImplicationExpression EOF + { + newCompositeNode(grammarAccess.getImplicationExpressionRule()); + pushFollow(FOLLOW_1); + iv_ruleImplicationExpression=ruleImplicationExpression(); + + state._fsp--; + + current =iv_ruleImplicationExpression; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleImplicationExpression" + + + // $ANTLR start "ruleImplicationExpression" + // InternalSolverLanguageParser.g:1342:1: ruleImplicationExpression returns [EObject current=null] : (this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? ) ; + public final EObject ruleImplicationExpression() throws RecognitionException { + EObject current = null; + + EObject this_DisjunctiveExpression_0 = null; + + Enumerator lv_op_2_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalSolverLanguageParser.g:1348:2: ( (this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? ) ) + // InternalSolverLanguageParser.g:1349:2: (this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? ) { - // InternalSolverLanguageParser.g:876:4: (lv_else_5_0= ruleExpression ) - // InternalSolverLanguageParser.g:877:5: lv_else_5_0= ruleExpression + // InternalSolverLanguageParser.g:1349:2: (this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? ) + // InternalSolverLanguageParser.g:1350:3: this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? { - newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); - - pushFollow(FOLLOW_2); - lv_else_5_0=ruleExpression(); + newCompositeNode(grammarAccess.getImplicationExpressionAccess().getDisjunctiveExpressionParserRuleCall_0()); + + pushFollow(FOLLOW_24); + this_DisjunctiveExpression_0=ruleDisjunctiveExpression(); state._fsp--; - if (current==null) { - current = createModelElementForParent(grammarAccess.getIfElseRule()); - } - set( - current, - "else", - lv_else_5_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - + current = this_DisjunctiveExpression_0; + afterParserOrEnumRuleCall(); + + // InternalSolverLanguageParser.g:1358:3: ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? + int alt11=2; + int LA11_0 = input.LA(1); + if ( (LA11_0==EqualsSignGreaterThanSign) ) { + alt11=1; } + switch (alt11) { + case 1 : + // InternalSolverLanguageParser.g:1359:4: () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) + { + // InternalSolverLanguageParser.g:1359:4: () + // InternalSolverLanguageParser.g:1360:5: + { + + current = forceCreateModelElementAndSet( + grammarAccess.getImplicationExpressionAccess().getBinaryExpressionLeftAction_1_0(), + current); + + + } + + // InternalSolverLanguageParser.g:1366:4: ( (lv_op_2_0= ruleImplicationOperator ) ) + // InternalSolverLanguageParser.g:1367:5: (lv_op_2_0= ruleImplicationOperator ) + { + // InternalSolverLanguageParser.g:1367:5: (lv_op_2_0= ruleImplicationOperator ) + // InternalSolverLanguageParser.g:1368:6: lv_op_2_0= ruleImplicationOperator + { + + newCompositeNode(grammarAccess.getImplicationExpressionAccess().getOpImplicationOperatorEnumRuleCall_1_1_0()); + + pushFollow(FOLLOW_6); + lv_op_2_0=ruleImplicationOperator(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getImplicationExpressionRule()); + } + set( + current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationOperator"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalSolverLanguageParser.g:1385:4: ( (lv_right_3_0= ruleImplicationExpression ) ) + // InternalSolverLanguageParser.g:1386:5: (lv_right_3_0= ruleImplicationExpression ) + { + // InternalSolverLanguageParser.g:1386:5: (lv_right_3_0= ruleImplicationExpression ) + // InternalSolverLanguageParser.g:1387:6: lv_right_3_0= ruleImplicationExpression + { + + newCompositeNode(grammarAccess.getImplicationExpressionAccess().getRightImplicationExpressionParserRuleCall_1_2_0()); + + pushFollow(FOLLOW_2); + lv_right_3_0=ruleImplicationExpression(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getImplicationExpressionRule()); + } + set( + current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationExpression"); + afterParserOrEnumRuleCall(); + + + } + + } + + + } + break; } @@ -2223,11 +3413,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleIfElse" + // $ANTLR end "ruleImplicationExpression" // $ANTLR start "entryRuleDisjunctiveExpression" - // InternalSolverLanguageParser.g:898:1: entryRuleDisjunctiveExpression returns [EObject current=null] : iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ; + // InternalSolverLanguageParser.g:1409:1: entryRuleDisjunctiveExpression returns [EObject current=null] : iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ; public final EObject entryRuleDisjunctiveExpression() throws RecognitionException { EObject current = null; @@ -2235,8 +3425,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:898:62: (iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ) - // InternalSolverLanguageParser.g:899:2: iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF + // InternalSolverLanguageParser.g:1409:62: (iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ) + // InternalSolverLanguageParser.g:1410:2: iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF { newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); pushFollow(FOLLOW_1); @@ -2263,7 +3453,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleDisjunctiveExpression" - // InternalSolverLanguageParser.g:905:1: ruleDisjunctiveExpression returns [EObject current=null] : (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) ; + // InternalSolverLanguageParser.g:1416:1: ruleDisjunctiveExpression returns [EObject current=null] : (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) ; public final EObject ruleDisjunctiveExpression() throws RecognitionException { EObject current = null; @@ -2283,16 +3473,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:911:2: ( (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) ) - // InternalSolverLanguageParser.g:912:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) + // InternalSolverLanguageParser.g:1422:2: ( (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) ) + // InternalSolverLanguageParser.g:1423:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) { - // InternalSolverLanguageParser.g:912:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) - // InternalSolverLanguageParser.g:913:3: this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? + // InternalSolverLanguageParser.g:1423:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) + // InternalSolverLanguageParser.g:1424:3: this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? { newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); - pushFollow(FOLLOW_17); + pushFollow(FOLLOW_25); this_ConjunctiveExpression_0=ruleConjunctiveExpression(); state._fsp--; @@ -2301,25 +3491,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current = this_ConjunctiveExpression_0; afterParserOrEnumRuleCall(); - // InternalSolverLanguageParser.g:921:3: ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? - int alt11=3; - int LA11_0 = input.LA(1); + // InternalSolverLanguageParser.g:1432:3: ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? + int alt14=3; + int LA14_0 = input.LA(1); - if ( (LA11_0==Semicolon) ) { - alt11=1; + if ( (LA14_0==Semicolon) ) { + alt14=1; } - else if ( (LA11_0==HyphenMinusGreaterThanSign) ) { - alt11=2; + else if ( (LA14_0==HyphenMinusGreaterThanSign) ) { + alt14=2; } - switch (alt11) { + switch (alt14) { case 1 : - // InternalSolverLanguageParser.g:922:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) + // InternalSolverLanguageParser.g:1433:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) { - // InternalSolverLanguageParser.g:922:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) - // InternalSolverLanguageParser.g:923:5: () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ + // InternalSolverLanguageParser.g:1433:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) + // InternalSolverLanguageParser.g:1434:5: () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ { - // InternalSolverLanguageParser.g:923:5: () - // InternalSolverLanguageParser.g:924:6: + // InternalSolverLanguageParser.g:1434:5: () + // InternalSolverLanguageParser.g:1435:6: { current = forceCreateModelElementAndAdd( @@ -2329,36 +3519,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:930:5: (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ - int cnt9=0; - loop9: + // InternalSolverLanguageParser.g:1441:5: (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ + int cnt12=0; + loop12: do { - int alt9=2; - int LA9_0 = input.LA(1); + int alt12=2; + int LA12_0 = input.LA(1); - if ( (LA9_0==Semicolon) ) { - alt9=1; + if ( (LA12_0==Semicolon) ) { + alt12=1; } - switch (alt9) { + switch (alt12) { case 1 : - // InternalSolverLanguageParser.g:931:6: otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:1442:6: otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) { otherlv_2=(Token)match(input,Semicolon,FOLLOW_6); newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); - // InternalSolverLanguageParser.g:935:6: ( (lv_children_3_0= ruleConjunctiveExpression ) ) - // InternalSolverLanguageParser.g:936:7: (lv_children_3_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1446:6: ( (lv_children_3_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:1447:7: (lv_children_3_0= ruleConjunctiveExpression ) { - // InternalSolverLanguageParser.g:936:7: (lv_children_3_0= ruleConjunctiveExpression ) - // InternalSolverLanguageParser.g:937:8: lv_children_3_0= ruleConjunctiveExpression + // InternalSolverLanguageParser.g:1447:7: (lv_children_3_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1448:8: lv_children_3_0= ruleConjunctiveExpression { newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); - pushFollow(FOLLOW_18); + pushFollow(FOLLOW_26); lv_children_3_0=ruleConjunctiveExpression(); state._fsp--; @@ -2385,12 +3575,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - if ( cnt9 >= 1 ) break loop9; + if ( cnt12 >= 1 ) break loop12; EarlyExitException eee = - new EarlyExitException(9, input); + new EarlyExitException(12, input); throw eee; } - cnt9++; + cnt12++; } while (true); @@ -2400,13 +3590,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:957:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) + // InternalSolverLanguageParser.g:1468:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) { - // InternalSolverLanguageParser.g:957:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) - // InternalSolverLanguageParser.g:958:5: () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* + // InternalSolverLanguageParser.g:1468:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) + // InternalSolverLanguageParser.g:1469:5: () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* { - // InternalSolverLanguageParser.g:958:5: () - // InternalSolverLanguageParser.g:959:6: + // InternalSolverLanguageParser.g:1469:5: () + // InternalSolverLanguageParser.g:1470:6: { current = forceCreateModelElementAndSet( @@ -2420,16 +3610,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); - // InternalSolverLanguageParser.g:969:5: ( (lv_body_6_0= ruleConjunctiveExpression ) ) - // InternalSolverLanguageParser.g:970:6: (lv_body_6_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1480:5: ( (lv_body_6_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:1481:6: (lv_body_6_0= ruleConjunctiveExpression ) { - // InternalSolverLanguageParser.g:970:6: (lv_body_6_0= ruleConjunctiveExpression ) - // InternalSolverLanguageParser.g:971:7: lv_body_6_0= ruleConjunctiveExpression + // InternalSolverLanguageParser.g:1481:6: (lv_body_6_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1482:7: lv_body_6_0= ruleConjunctiveExpression { newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); - pushFollow(FOLLOW_18); + pushFollow(FOLLOW_26); lv_body_6_0=ruleConjunctiveExpression(); state._fsp--; @@ -2451,8 +3641,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:988:5: () - // InternalSolverLanguageParser.g:989:6: + // InternalSolverLanguageParser.g:1499:5: () + // InternalSolverLanguageParser.g:1500:6: { current = forceCreateModelElementAndAdd( @@ -2462,35 +3652,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:995:5: (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* - loop10: + // InternalSolverLanguageParser.g:1506:5: (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* + loop13: do { - int alt10=2; - int LA10_0 = input.LA(1); + int alt13=2; + int LA13_0 = input.LA(1); - if ( (LA10_0==Semicolon) ) { - alt10=1; + if ( (LA13_0==Semicolon) ) { + alt13=1; } - switch (alt10) { + switch (alt13) { case 1 : - // InternalSolverLanguageParser.g:996:6: otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) + // InternalSolverLanguageParser.g:1507:6: otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) { otherlv_8=(Token)match(input,Semicolon,FOLLOW_6); newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); - // InternalSolverLanguageParser.g:1000:6: ( (lv_cases_9_0= ruleCase ) ) - // InternalSolverLanguageParser.g:1001:7: (lv_cases_9_0= ruleCase ) + // InternalSolverLanguageParser.g:1511:6: ( (lv_cases_9_0= ruleCase ) ) + // InternalSolverLanguageParser.g:1512:7: (lv_cases_9_0= ruleCase ) { - // InternalSolverLanguageParser.g:1001:7: (lv_cases_9_0= ruleCase ) - // InternalSolverLanguageParser.g:1002:8: lv_cases_9_0= ruleCase + // InternalSolverLanguageParser.g:1512:7: (lv_cases_9_0= ruleCase ) + // InternalSolverLanguageParser.g:1513:8: lv_cases_9_0= ruleCase { newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); - pushFollow(FOLLOW_18); + pushFollow(FOLLOW_26); lv_cases_9_0=ruleCase(); state._fsp--; @@ -2517,7 +3707,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop10; + break loop13; } } while (true); @@ -2553,7 +3743,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleCase" - // InternalSolverLanguageParser.g:1026:1: entryRuleCase returns [EObject current=null] : iv_ruleCase= ruleCase EOF ; + // InternalSolverLanguageParser.g:1537:1: entryRuleCase returns [EObject current=null] : iv_ruleCase= ruleCase EOF ; public final EObject entryRuleCase() throws RecognitionException { EObject current = null; @@ -2561,8 +3751,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1026:45: (iv_ruleCase= ruleCase EOF ) - // InternalSolverLanguageParser.g:1027:2: iv_ruleCase= ruleCase EOF + // InternalSolverLanguageParser.g:1537:45: (iv_ruleCase= ruleCase EOF ) + // InternalSolverLanguageParser.g:1538:2: iv_ruleCase= ruleCase EOF { newCompositeNode(grammarAccess.getCaseRule()); pushFollow(FOLLOW_1); @@ -2589,7 +3779,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleCase" - // InternalSolverLanguageParser.g:1033:1: ruleCase returns [EObject current=null] : ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ; + // InternalSolverLanguageParser.g:1544:1: ruleCase returns [EObject current=null] : ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ; public final EObject ruleCase() throws RecognitionException { EObject current = null; @@ -2603,22 +3793,22 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:1039:2: ( ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ) - // InternalSolverLanguageParser.g:1040:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) + // InternalSolverLanguageParser.g:1550:2: ( ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ) + // InternalSolverLanguageParser.g:1551:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) { - // InternalSolverLanguageParser.g:1040:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) - // InternalSolverLanguageParser.g:1041:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:1551:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) + // InternalSolverLanguageParser.g:1552:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) { - // InternalSolverLanguageParser.g:1041:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) - // InternalSolverLanguageParser.g:1042:4: (lv_condition_0_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1552:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:1553:4: (lv_condition_0_0= ruleConjunctiveExpression ) { - // InternalSolverLanguageParser.g:1042:4: (lv_condition_0_0= ruleConjunctiveExpression ) - // InternalSolverLanguageParser.g:1043:5: lv_condition_0_0= ruleConjunctiveExpression + // InternalSolverLanguageParser.g:1553:4: (lv_condition_0_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1554:5: lv_condition_0_0= ruleConjunctiveExpression { newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); - pushFollow(FOLLOW_19); + pushFollow(FOLLOW_27); lv_condition_0_0=ruleConjunctiveExpression(); state._fsp--; @@ -2644,11 +3834,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); - // InternalSolverLanguageParser.g:1064:3: ( (lv_body_2_0= ruleConjunctiveExpression ) ) - // InternalSolverLanguageParser.g:1065:4: (lv_body_2_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1575:3: ( (lv_body_2_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:1576:4: (lv_body_2_0= ruleConjunctiveExpression ) { - // InternalSolverLanguageParser.g:1065:4: (lv_body_2_0= ruleConjunctiveExpression ) - // InternalSolverLanguageParser.g:1066:5: lv_body_2_0= ruleConjunctiveExpression + // InternalSolverLanguageParser.g:1576:4: (lv_body_2_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1577:5: lv_body_2_0= ruleConjunctiveExpression { newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); @@ -2698,7 +3888,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleConjunctiveExpression" - // InternalSolverLanguageParser.g:1087:1: entryRuleConjunctiveExpression returns [EObject current=null] : iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ; + // InternalSolverLanguageParser.g:1598:1: entryRuleConjunctiveExpression returns [EObject current=null] : iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ; public final EObject entryRuleConjunctiveExpression() throws RecognitionException { EObject current = null; @@ -2706,8 +3896,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1087:62: (iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ) - // InternalSolverLanguageParser.g:1088:2: iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF + // InternalSolverLanguageParser.g:1598:62: (iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ) + // InternalSolverLanguageParser.g:1599:2: iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF { newCompositeNode(grammarAccess.getConjunctiveExpressionRule()); pushFollow(FOLLOW_1); @@ -2734,7 +3924,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleConjunctiveExpression" - // InternalSolverLanguageParser.g:1094:1: ruleConjunctiveExpression returns [EObject current=null] : (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ; + // InternalSolverLanguageParser.g:1605:1: ruleConjunctiveExpression returns [EObject current=null] : (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ; public final EObject ruleConjunctiveExpression() throws RecognitionException { EObject current = null; @@ -2748,16 +3938,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:1100:2: ( (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ) - // InternalSolverLanguageParser.g:1101:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) + // InternalSolverLanguageParser.g:1611:2: ( (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ) + // InternalSolverLanguageParser.g:1612:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) { - // InternalSolverLanguageParser.g:1101:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) - // InternalSolverLanguageParser.g:1102:3: this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? + // InternalSolverLanguageParser.g:1612:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) + // InternalSolverLanguageParser.g:1613:3: this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? { newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); - pushFollow(FOLLOW_20); + pushFollow(FOLLOW_19); this_ComparisonExpression_0=ruleComparisonExpression(); state._fsp--; @@ -2766,19 +3956,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current = this_ComparisonExpression_0; afterParserOrEnumRuleCall(); - // InternalSolverLanguageParser.g:1110:3: ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? - int alt13=2; - int LA13_0 = input.LA(1); + // InternalSolverLanguageParser.g:1621:3: ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? + int alt16=2; + int LA16_0 = input.LA(1); - if ( (LA13_0==Comma) ) { - alt13=1; + if ( (LA16_0==Comma) ) { + alt16=1; } - switch (alt13) { + switch (alt16) { case 1 : - // InternalSolverLanguageParser.g:1111:4: () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ + // InternalSolverLanguageParser.g:1622:4: () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ { - // InternalSolverLanguageParser.g:1111:4: () - // InternalSolverLanguageParser.g:1112:5: + // InternalSolverLanguageParser.g:1622:4: () + // InternalSolverLanguageParser.g:1623:5: { current = forceCreateModelElementAndAdd( @@ -2788,36 +3978,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1118:4: (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ - int cnt12=0; - loop12: + // InternalSolverLanguageParser.g:1629:4: (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ + int cnt15=0; + loop15: do { - int alt12=2; - int LA12_0 = input.LA(1); + int alt15=2; + int LA15_0 = input.LA(1); - if ( (LA12_0==Comma) ) { - alt12=1; + if ( (LA15_0==Comma) ) { + alt15=1; } - switch (alt12) { + switch (alt15) { case 1 : - // InternalSolverLanguageParser.g:1119:5: otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) + // InternalSolverLanguageParser.g:1630:5: otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) { otherlv_2=(Token)match(input,Comma,FOLLOW_6); newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); - // InternalSolverLanguageParser.g:1123:5: ( (lv_children_3_0= ruleComparisonExpression ) ) - // InternalSolverLanguageParser.g:1124:6: (lv_children_3_0= ruleComparisonExpression ) + // InternalSolverLanguageParser.g:1634:5: ( (lv_children_3_0= ruleComparisonExpression ) ) + // InternalSolverLanguageParser.g:1635:6: (lv_children_3_0= ruleComparisonExpression ) { - // InternalSolverLanguageParser.g:1124:6: (lv_children_3_0= ruleComparisonExpression ) - // InternalSolverLanguageParser.g:1125:7: lv_children_3_0= ruleComparisonExpression + // InternalSolverLanguageParser.g:1635:6: (lv_children_3_0= ruleComparisonExpression ) + // InternalSolverLanguageParser.g:1636:7: lv_children_3_0= ruleComparisonExpression { newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); - pushFollow(FOLLOW_20); + pushFollow(FOLLOW_19); lv_children_3_0=ruleComparisonExpression(); state._fsp--; @@ -2844,12 +4034,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - if ( cnt12 >= 1 ) break loop12; + if ( cnt15 >= 1 ) break loop15; EarlyExitException eee = - new EarlyExitException(12, input); + new EarlyExitException(15, input); throw eee; } - cnt12++; + cnt15++; } while (true); @@ -2881,7 +4071,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleComparisonExpression" - // InternalSolverLanguageParser.g:1148:1: entryRuleComparisonExpression returns [EObject current=null] : iv_ruleComparisonExpression= ruleComparisonExpression EOF ; + // InternalSolverLanguageParser.g:1659:1: entryRuleComparisonExpression returns [EObject current=null] : iv_ruleComparisonExpression= ruleComparisonExpression EOF ; public final EObject entryRuleComparisonExpression() throws RecognitionException { EObject current = null; @@ -2889,8 +4079,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1148:61: (iv_ruleComparisonExpression= ruleComparisonExpression EOF ) - // InternalSolverLanguageParser.g:1149:2: iv_ruleComparisonExpression= ruleComparisonExpression EOF + // InternalSolverLanguageParser.g:1659:61: (iv_ruleComparisonExpression= ruleComparisonExpression EOF ) + // InternalSolverLanguageParser.g:1660:2: iv_ruleComparisonExpression= ruleComparisonExpression EOF { newCompositeNode(grammarAccess.getComparisonExpressionRule()); pushFollow(FOLLOW_1); @@ -2917,7 +4107,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleComparisonExpression" - // InternalSolverLanguageParser.g:1155:1: ruleComparisonExpression returns [EObject current=null] : (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ; + // InternalSolverLanguageParser.g:1666: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; @@ -2932,16 +4122,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:1161:2: ( (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ) - // InternalSolverLanguageParser.g:1162:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) + // InternalSolverLanguageParser.g:1672:2: ( (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ) + // InternalSolverLanguageParser.g:1673:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) { - // InternalSolverLanguageParser.g:1162:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) - // InternalSolverLanguageParser.g:1163:3: this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? + // InternalSolverLanguageParser.g:1673:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) + // InternalSolverLanguageParser.g:1674:3: this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? { newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); - pushFollow(FOLLOW_21); + pushFollow(FOLLOW_28); this_AdditiveExpression_0=ruleAdditiveExpression(); state._fsp--; @@ -2950,19 +4140,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current = this_AdditiveExpression_0; afterParserOrEnumRuleCall(); - // InternalSolverLanguageParser.g:1171:3: ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? - int alt14=2; - int LA14_0 = input.LA(1); + // InternalSolverLanguageParser.g:1682:3: ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? + int alt17=2; + int LA17_0 = input.LA(1); - if ( (LA14_0==ExclamationMarkEqualsSign||(LA14_0>=LessThanSignEqualsSign && LA14_0<=GreaterThanSignEqualsSign)||LA14_0==In||LA14_0==LessThanSign||LA14_0==GreaterThanSign) ) { - alt14=1; + if ( (LA17_0==ExclamationMarkEqualsSign||(LA17_0>=LessThanSignEqualsSign && LA17_0<=EqualsSignEqualsSign)||LA17_0==GreaterThanSignEqualsSign||LA17_0==In||LA17_0==LessThanSign||LA17_0==GreaterThanSign) ) { + alt17=1; } - switch (alt14) { + switch (alt17) { case 1 : - // InternalSolverLanguageParser.g:1172:4: () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) + // InternalSolverLanguageParser.g:1683:4: () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) { - // InternalSolverLanguageParser.g:1172:4: () - // InternalSolverLanguageParser.g:1173:5: + // InternalSolverLanguageParser.g:1683:4: () + // InternalSolverLanguageParser.g:1684:5: { current = forceCreateModelElementAndSet( @@ -2972,11 +4162,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1179:4: ( (lv_op_2_0= ruleComparisonOperator ) ) - // InternalSolverLanguageParser.g:1180:5: (lv_op_2_0= ruleComparisonOperator ) + // InternalSolverLanguageParser.g:1690:4: ( (lv_op_2_0= ruleComparisonOperator ) ) + // InternalSolverLanguageParser.g:1691:5: (lv_op_2_0= ruleComparisonOperator ) { - // InternalSolverLanguageParser.g:1180:5: (lv_op_2_0= ruleComparisonOperator ) - // InternalSolverLanguageParser.g:1181:6: lv_op_2_0= ruleComparisonOperator + // InternalSolverLanguageParser.g:1691:5: (lv_op_2_0= ruleComparisonOperator ) + // InternalSolverLanguageParser.g:1692:6: lv_op_2_0= ruleComparisonOperator { newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); @@ -3003,11 +4193,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1198:4: ( (lv_right_3_0= ruleAdditiveExpression ) ) - // InternalSolverLanguageParser.g:1199:5: (lv_right_3_0= ruleAdditiveExpression ) + // InternalSolverLanguageParser.g:1709:4: ( (lv_right_3_0= ruleAdditiveExpression ) ) + // InternalSolverLanguageParser.g:1710:5: (lv_right_3_0= ruleAdditiveExpression ) { - // InternalSolverLanguageParser.g:1199:5: (lv_right_3_0= ruleAdditiveExpression ) - // InternalSolverLanguageParser.g:1200:6: lv_right_3_0= ruleAdditiveExpression + // InternalSolverLanguageParser.g:1710:5: (lv_right_3_0= ruleAdditiveExpression ) + // InternalSolverLanguageParser.g:1711:6: lv_right_3_0= ruleAdditiveExpression { newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); @@ -3063,7 +4253,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleAdditiveExpression" - // InternalSolverLanguageParser.g:1222:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ; + // InternalSolverLanguageParser.g:1733:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ; public final EObject entryRuleAdditiveExpression() throws RecognitionException { EObject current = null; @@ -3071,8 +4261,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1222:59: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ) - // InternalSolverLanguageParser.g:1223:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF + // InternalSolverLanguageParser.g:1733:59: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ) + // InternalSolverLanguageParser.g:1734:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF { newCompositeNode(grammarAccess.getAdditiveExpressionRule()); pushFollow(FOLLOW_1); @@ -3099,7 +4289,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAdditiveExpression" - // InternalSolverLanguageParser.g:1229:1: ruleAdditiveExpression returns [EObject current=null] : (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ; + // InternalSolverLanguageParser.g:1740: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; @@ -3114,16 +4304,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:1235:2: ( (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ) - // InternalSolverLanguageParser.g:1236:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) + // InternalSolverLanguageParser.g:1746:2: ( (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ) + // InternalSolverLanguageParser.g:1747:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) { - // InternalSolverLanguageParser.g:1236:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) - // InternalSolverLanguageParser.g:1237:3: this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* + // InternalSolverLanguageParser.g:1747:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) + // InternalSolverLanguageParser.g:1748:3: this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* { newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); - pushFollow(FOLLOW_22); + pushFollow(FOLLOW_29); this_MultiplicativeExpression_0=ruleMultiplicativeExpression(); state._fsp--; @@ -3132,23 +4322,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current = this_MultiplicativeExpression_0; afterParserOrEnumRuleCall(); - // InternalSolverLanguageParser.g:1245:3: ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* - loop15: + // InternalSolverLanguageParser.g:1756:3: ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* + loop18: do { - int alt15=2; - int LA15_0 = input.LA(1); + int alt18=2; + int LA18_0 = input.LA(1); - if ( (LA15_0==PlusSign||LA15_0==HyphenMinus) ) { - alt15=1; + if ( (LA18_0==PlusSign||LA18_0==HyphenMinus) ) { + alt18=1; } - switch (alt15) { + switch (alt18) { case 1 : - // InternalSolverLanguageParser.g:1246:4: () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) + // InternalSolverLanguageParser.g:1757:4: () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) { - // InternalSolverLanguageParser.g:1246:4: () - // InternalSolverLanguageParser.g:1247:5: + // InternalSolverLanguageParser.g:1757:4: () + // InternalSolverLanguageParser.g:1758:5: { current = forceCreateModelElementAndSet( @@ -3158,11 +4348,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1253:4: ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) - // InternalSolverLanguageParser.g:1254:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) + // InternalSolverLanguageParser.g:1764:4: ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) + // InternalSolverLanguageParser.g:1765:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) { - // InternalSolverLanguageParser.g:1254:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) - // InternalSolverLanguageParser.g:1255:6: lv_op_2_0= ruleAdditiveBinaryOperator + // InternalSolverLanguageParser.g:1765:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) + // InternalSolverLanguageParser.g:1766:6: lv_op_2_0= ruleAdditiveBinaryOperator { newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); @@ -3189,16 +4379,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1272:4: ( (lv_right_3_0= ruleMultiplicativeExpression ) ) - // InternalSolverLanguageParser.g:1273:5: (lv_right_3_0= ruleMultiplicativeExpression ) + // InternalSolverLanguageParser.g:1783:4: ( (lv_right_3_0= ruleMultiplicativeExpression ) ) + // InternalSolverLanguageParser.g:1784:5: (lv_right_3_0= ruleMultiplicativeExpression ) { - // InternalSolverLanguageParser.g:1273:5: (lv_right_3_0= ruleMultiplicativeExpression ) - // InternalSolverLanguageParser.g:1274:6: lv_right_3_0= ruleMultiplicativeExpression + // InternalSolverLanguageParser.g:1784:5: (lv_right_3_0= ruleMultiplicativeExpression ) + // InternalSolverLanguageParser.g:1785:6: lv_right_3_0= ruleMultiplicativeExpression { newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); - pushFollow(FOLLOW_22); + pushFollow(FOLLOW_29); lv_right_3_0=ruleMultiplicativeExpression(); state._fsp--; @@ -3225,7 +4415,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop15; + break loop18; } } while (true); @@ -3252,7 +4442,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleMultiplicativeExpression" - // InternalSolverLanguageParser.g:1296:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ; + // InternalSolverLanguageParser.g:1807:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ; public final EObject entryRuleMultiplicativeExpression() throws RecognitionException { EObject current = null; @@ -3260,8 +4450,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1296:65: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ) - // InternalSolverLanguageParser.g:1297:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF + // InternalSolverLanguageParser.g:1807:65: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ) + // InternalSolverLanguageParser.g:1808:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF { newCompositeNode(grammarAccess.getMultiplicativeExpressionRule()); pushFollow(FOLLOW_1); @@ -3288,7 +4478,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleMultiplicativeExpression" - // InternalSolverLanguageParser.g:1303:1: ruleMultiplicativeExpression returns [EObject current=null] : (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ; + // InternalSolverLanguageParser.g:1814: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; @@ -3303,16 +4493,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:1309:2: ( (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ) - // InternalSolverLanguageParser.g:1310:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) + // InternalSolverLanguageParser.g:1820:2: ( (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ) + // InternalSolverLanguageParser.g:1821:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) { - // InternalSolverLanguageParser.g:1310:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) - // InternalSolverLanguageParser.g:1311:3: this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* + // InternalSolverLanguageParser.g:1821:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) + // InternalSolverLanguageParser.g:1822:3: this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* { newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); - pushFollow(FOLLOW_23); + pushFollow(FOLLOW_30); this_ExponentialExpression_0=ruleExponentialExpression(); state._fsp--; @@ -3321,23 +4511,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current = this_ExponentialExpression_0; afterParserOrEnumRuleCall(); - // InternalSolverLanguageParser.g:1319:3: ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* - loop16: + // InternalSolverLanguageParser.g:1830:3: ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* + loop19: do { - int alt16=2; - int LA16_0 = input.LA(1); + int alt19=2; + int LA19_0 = input.LA(1); - if ( (LA16_0==Asterisk||LA16_0==Solidus) ) { - alt16=1; + if ( (LA19_0==Asterisk||LA19_0==Solidus) ) { + alt19=1; } - switch (alt16) { + switch (alt19) { case 1 : - // InternalSolverLanguageParser.g:1320:4: () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) + // InternalSolverLanguageParser.g:1831:4: () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) { - // InternalSolverLanguageParser.g:1320:4: () - // InternalSolverLanguageParser.g:1321:5: + // InternalSolverLanguageParser.g:1831:4: () + // InternalSolverLanguageParser.g:1832:5: { current = forceCreateModelElementAndSet( @@ -3347,11 +4537,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1327:4: ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) - // InternalSolverLanguageParser.g:1328:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) + // InternalSolverLanguageParser.g:1838:4: ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) + // InternalSolverLanguageParser.g:1839:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) { - // InternalSolverLanguageParser.g:1328:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) - // InternalSolverLanguageParser.g:1329:6: lv_op_2_0= ruleMultiplicativeBinaryOperator + // InternalSolverLanguageParser.g:1839:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) + // InternalSolverLanguageParser.g:1840:6: lv_op_2_0= ruleMultiplicativeBinaryOperator { newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); @@ -3378,16 +4568,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1346:4: ( (lv_right_3_0= ruleExponentialExpression ) ) - // InternalSolverLanguageParser.g:1347:5: (lv_right_3_0= ruleExponentialExpression ) + // InternalSolverLanguageParser.g:1857:4: ( (lv_right_3_0= ruleExponentialExpression ) ) + // InternalSolverLanguageParser.g:1858:5: (lv_right_3_0= ruleExponentialExpression ) { - // InternalSolverLanguageParser.g:1347:5: (lv_right_3_0= ruleExponentialExpression ) - // InternalSolverLanguageParser.g:1348:6: lv_right_3_0= ruleExponentialExpression + // InternalSolverLanguageParser.g:1858:5: (lv_right_3_0= ruleExponentialExpression ) + // InternalSolverLanguageParser.g:1859:6: lv_right_3_0= ruleExponentialExpression { newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); - pushFollow(FOLLOW_23); + pushFollow(FOLLOW_30); lv_right_3_0=ruleExponentialExpression(); state._fsp--; @@ -3414,7 +4604,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop16; + break loop19; } } while (true); @@ -3441,7 +4631,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleExponentialExpression" - // InternalSolverLanguageParser.g:1370:1: entryRuleExponentialExpression returns [EObject current=null] : iv_ruleExponentialExpression= ruleExponentialExpression EOF ; + // InternalSolverLanguageParser.g:1881:1: entryRuleExponentialExpression returns [EObject current=null] : iv_ruleExponentialExpression= ruleExponentialExpression EOF ; public final EObject entryRuleExponentialExpression() throws RecognitionException { EObject current = null; @@ -3449,8 +4639,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1370:62: (iv_ruleExponentialExpression= ruleExponentialExpression EOF ) - // InternalSolverLanguageParser.g:1371:2: iv_ruleExponentialExpression= ruleExponentialExpression EOF + // InternalSolverLanguageParser.g:1881:62: (iv_ruleExponentialExpression= ruleExponentialExpression EOF ) + // InternalSolverLanguageParser.g:1882:2: iv_ruleExponentialExpression= ruleExponentialExpression EOF { newCompositeNode(grammarAccess.getExponentialExpressionRule()); pushFollow(FOLLOW_1); @@ -3477,11 +4667,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExponentialExpression" - // InternalSolverLanguageParser.g:1377:1: ruleExponentialExpression returns [EObject current=null] : (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) ; + // InternalSolverLanguageParser.g:1888:1: ruleExponentialExpression returns [EObject current=null] : (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) ; public final EObject ruleExponentialExpression() throws RecognitionException { EObject current = null; - EObject this_UnaryExpression_0 = null; + EObject this_CastExpression_0 = null; Enumerator lv_op_2_0 = null; @@ -3492,37 +4682,37 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:1383:2: ( (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) ) - // InternalSolverLanguageParser.g:1384:2: (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) + // InternalSolverLanguageParser.g:1894:2: ( (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) ) + // InternalSolverLanguageParser.g:1895:2: (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) { - // InternalSolverLanguageParser.g:1384:2: (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) - // InternalSolverLanguageParser.g:1385:3: this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? + // InternalSolverLanguageParser.g:1895:2: (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) + // InternalSolverLanguageParser.g:1896:3: this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? { - newCompositeNode(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); + newCompositeNode(grammarAccess.getExponentialExpressionAccess().getCastExpressionParserRuleCall_0()); - pushFollow(FOLLOW_24); - this_UnaryExpression_0=ruleUnaryExpression(); + pushFollow(FOLLOW_31); + this_CastExpression_0=ruleCastExpression(); state._fsp--; - current = this_UnaryExpression_0; + current = this_CastExpression_0; afterParserOrEnumRuleCall(); - // InternalSolverLanguageParser.g:1393:3: ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? - int alt17=2; - int LA17_0 = input.LA(1); + // InternalSolverLanguageParser.g:1904:3: ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? + int alt20=2; + int LA20_0 = input.LA(1); - if ( (LA17_0==CircumflexAccent) ) { - alt17=1; + if ( (LA20_0==CircumflexAccent) ) { + alt20=1; } - switch (alt17) { + switch (alt20) { case 1 : - // InternalSolverLanguageParser.g:1394:4: () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) + // InternalSolverLanguageParser.g:1905:4: () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) { - // InternalSolverLanguageParser.g:1394:4: () - // InternalSolverLanguageParser.g:1395:5: + // InternalSolverLanguageParser.g:1905:4: () + // InternalSolverLanguageParser.g:1906:5: { current = forceCreateModelElementAndSet( @@ -3532,11 +4722,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1401:4: ( (lv_op_2_0= ruleExponentialOp ) ) - // InternalSolverLanguageParser.g:1402:5: (lv_op_2_0= ruleExponentialOp ) + // InternalSolverLanguageParser.g:1912:4: ( (lv_op_2_0= ruleExponentialOp ) ) + // InternalSolverLanguageParser.g:1913:5: (lv_op_2_0= ruleExponentialOp ) { - // InternalSolverLanguageParser.g:1402:5: (lv_op_2_0= ruleExponentialOp ) - // InternalSolverLanguageParser.g:1403:6: lv_op_2_0= ruleExponentialOp + // InternalSolverLanguageParser.g:1913:5: (lv_op_2_0= ruleExponentialOp ) + // InternalSolverLanguageParser.g:1914:6: lv_op_2_0= ruleExponentialOp { newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); @@ -3563,17 +4753,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1420:4: ( (lv_right_3_0= ruleExponentialExpression ) ) - // InternalSolverLanguageParser.g:1421:5: (lv_right_3_0= ruleExponentialExpression ) + // InternalSolverLanguageParser.g:1931:4: ( (lv_right_3_0= ruleCastExpression ) ) + // InternalSolverLanguageParser.g:1932:5: (lv_right_3_0= ruleCastExpression ) { - // InternalSolverLanguageParser.g:1421:5: (lv_right_3_0= ruleExponentialExpression ) - // InternalSolverLanguageParser.g:1422:6: lv_right_3_0= ruleExponentialExpression + // InternalSolverLanguageParser.g:1932:5: (lv_right_3_0= ruleCastExpression ) + // InternalSolverLanguageParser.g:1933:6: lv_right_3_0= ruleCastExpression { - newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); + newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightCastExpressionParserRuleCall_1_2_0()); pushFollow(FOLLOW_2); - lv_right_3_0=ruleExponentialExpression(); + lv_right_3_0=ruleCastExpression(); state._fsp--; @@ -3585,7 +4775,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current, "right", lv_right_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); + "org.eclipse.viatra.solver.language.SolverLanguage.CastExpression"); afterParserOrEnumRuleCall(); @@ -3622,8 +4812,157 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR end "ruleExponentialExpression" + // $ANTLR start "entryRuleCastExpression" + // InternalSolverLanguageParser.g:1955:1: entryRuleCastExpression returns [EObject current=null] : iv_ruleCastExpression= ruleCastExpression EOF ; + public final EObject entryRuleCastExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleCastExpression = null; + + + try { + // InternalSolverLanguageParser.g:1955:55: (iv_ruleCastExpression= ruleCastExpression EOF ) + // InternalSolverLanguageParser.g:1956:2: iv_ruleCastExpression= ruleCastExpression EOF + { + newCompositeNode(grammarAccess.getCastExpressionRule()); + pushFollow(FOLLOW_1); + iv_ruleCastExpression=ruleCastExpression(); + + state._fsp--; + + current =iv_ruleCastExpression; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleCastExpression" + + + // $ANTLR start "ruleCastExpression" + // InternalSolverLanguageParser.g:1962:1: ruleCastExpression returns [EObject current=null] : (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) ; + public final EObject ruleCastExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_UnaryExpression_0 = null; + + + + enterRule(); + + try { + // InternalSolverLanguageParser.g:1968:2: ( (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) ) + // InternalSolverLanguageParser.g:1969:2: (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) + { + // InternalSolverLanguageParser.g:1969:2: (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) + // InternalSolverLanguageParser.g:1970:3: this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? + { + + newCompositeNode(grammarAccess.getCastExpressionAccess().getUnaryExpressionParserRuleCall_0()); + + pushFollow(FOLLOW_32); + this_UnaryExpression_0=ruleUnaryExpression(); + + state._fsp--; + + + current = this_UnaryExpression_0; + afterParserOrEnumRuleCall(); + + // InternalSolverLanguageParser.g:1978:3: ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? + int alt21=2; + int LA21_0 = input.LA(1); + + if ( (LA21_0==As) ) { + alt21=1; + } + switch (alt21) { + case 1 : + // InternalSolverLanguageParser.g:1979:4: () otherlv_2= As ( ( ruleQualifiedName ) ) + { + // InternalSolverLanguageParser.g:1979:4: () + // InternalSolverLanguageParser.g:1980:5: + { + + current = forceCreateModelElementAndSet( + grammarAccess.getCastExpressionAccess().getCastExpressionBodyAction_1_0(), + current); + + + } + + otherlv_2=(Token)match(input,As,FOLLOW_8); + + newLeafNode(otherlv_2, grammarAccess.getCastExpressionAccess().getAsKeyword_1_1()); + + // InternalSolverLanguageParser.g:1990:4: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:1991:5: ( ruleQualifiedName ) + { + // InternalSolverLanguageParser.g:1991:5: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:1992:6: ruleQualifiedName + { + + if (current==null) { + current = createModelElement(grammarAccess.getCastExpressionRule()); + } + + + newCompositeNode(grammarAccess.getCastExpressionAccess().getTypeNamedElementCrossReference_1_2_0()); + + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleCastExpression" + + // $ANTLR start "entryRuleUnaryExpression" - // InternalSolverLanguageParser.g:1444:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ; + // InternalSolverLanguageParser.g:2011:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ; public final EObject entryRuleUnaryExpression() throws RecognitionException { EObject current = null; @@ -3631,8 +4970,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1444:56: (iv_ruleUnaryExpression= ruleUnaryExpression EOF ) - // InternalSolverLanguageParser.g:1445:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF + // InternalSolverLanguageParser.g:2011:56: (iv_ruleUnaryExpression= ruleUnaryExpression EOF ) + // InternalSolverLanguageParser.g:2012:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF { newCompositeNode(grammarAccess.getUnaryExpressionRule()); pushFollow(FOLLOW_1); @@ -3659,7 +4998,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleUnaryExpression" - // InternalSolverLanguageParser.g:1451:1: ruleUnaryExpression returns [EObject current=null] : (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ; + // InternalSolverLanguageParser.g:2018: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; @@ -3674,28 +5013,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:1457:2: ( (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ) - // InternalSolverLanguageParser.g:1458:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) + // InternalSolverLanguageParser.g:2024:2: ( (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ) + // InternalSolverLanguageParser.g:2025:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) { - // InternalSolverLanguageParser.g:1458:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) - int alt18=2; - int LA18_0 = input.LA(1); + // InternalSolverLanguageParser.g:2025:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) + int alt22=2; + int LA22_0 = input.LA(1); - if ( (LA18_0==Unknown||(LA18_0>=Count && LA18_0<=False)||(LA18_0>=Only && LA18_0<=Prod)||LA18_0==True||(LA18_0>=Avg && LA18_0<=Inf)||LA18_0==Max||(LA18_0>=Min && LA18_0<=Sum)||LA18_0==LeftParenthesis||LA18_0==LeftSquareBracket||(LA18_0>=RULE_STRING && LA18_0<=RULE_QUOTED_ID)||(LA18_0>=RULE_ID && LA18_0<=RULE_INT)) ) { - alt18=1; + if ( ((LA22_0>=Unknown && LA22_0<=Exists)||LA22_0==Forall||(LA22_0>=Count && LA22_0<=False)||LA22_0==True||LA22_0==Inf||LA22_0==LeftParenthesis||LA22_0==LeftSquareBracket||(LA22_0>=RULE_STRING && LA22_0<=RULE_QUOTED_ID)||(LA22_0>=RULE_ID && LA22_0<=RULE_INT)) ) { + alt22=1; } - else if ( (LA18_0==Current||LA18_0==Must||LA18_0==May||LA18_0==ExclamationMark||LA18_0==PlusSign||LA18_0==HyphenMinus) ) { - alt18=2; + else if ( (LA22_0==Current||LA22_0==Must||LA22_0==May||LA22_0==ExclamationMark||LA22_0==PlusSign||LA22_0==HyphenMinus) ) { + alt22=2; } else { NoViableAltException nvae = - new NoViableAltException("", 18, 0, input); + new NoViableAltException("", 22, 0, input); throw nvae; } - switch (alt18) { + switch (alt22) { case 1 : - // InternalSolverLanguageParser.g:1459:3: this_AggregationExpression_0= ruleAggregationExpression + // InternalSolverLanguageParser.g:2026:3: this_AggregationExpression_0= ruleAggregationExpression { newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); @@ -3713,13 +5052,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:1468:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) + // InternalSolverLanguageParser.g:2035:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) { - // InternalSolverLanguageParser.g:1468:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) - // InternalSolverLanguageParser.g:1469:4: () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) + // InternalSolverLanguageParser.g:2035:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) + // InternalSolverLanguageParser.g:2036:4: () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) { - // InternalSolverLanguageParser.g:1469:4: () - // InternalSolverLanguageParser.g:1470:5: + // InternalSolverLanguageParser.g:2036:4: () + // InternalSolverLanguageParser.g:2037:5: { current = forceCreateModelElement( @@ -3729,16 +5068,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1476:4: ( (lv_op_2_0= ruleUnaryOp ) ) - // InternalSolverLanguageParser.g:1477:5: (lv_op_2_0= ruleUnaryOp ) + // InternalSolverLanguageParser.g:2043:4: ( (lv_op_2_0= ruleUnaryOp ) ) + // InternalSolverLanguageParser.g:2044:5: (lv_op_2_0= ruleUnaryOp ) { - // InternalSolverLanguageParser.g:1477:5: (lv_op_2_0= ruleUnaryOp ) - // InternalSolverLanguageParser.g:1478:6: lv_op_2_0= ruleUnaryOp + // InternalSolverLanguageParser.g:2044:5: (lv_op_2_0= ruleUnaryOp ) + // InternalSolverLanguageParser.g:2045:6: lv_op_2_0= ruleUnaryOp { newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); - pushFollow(FOLLOW_25); + pushFollow(FOLLOW_33); lv_op_2_0=ruleUnaryOp(); state._fsp--; @@ -3760,11 +5099,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1495:4: ( (lv_body_3_0= ruleAggregationExpression ) ) - // InternalSolverLanguageParser.g:1496:5: (lv_body_3_0= ruleAggregationExpression ) + // InternalSolverLanguageParser.g:2062:4: ( (lv_body_3_0= ruleAggregationExpression ) ) + // InternalSolverLanguageParser.g:2063:5: (lv_body_3_0= ruleAggregationExpression ) { - // InternalSolverLanguageParser.g:1496:5: (lv_body_3_0= ruleAggregationExpression ) - // InternalSolverLanguageParser.g:1497:6: lv_body_3_0= ruleAggregationExpression + // InternalSolverLanguageParser.g:2063:5: (lv_body_3_0= ruleAggregationExpression ) + // InternalSolverLanguageParser.g:2064:6: lv_body_3_0= ruleAggregationExpression { newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); @@ -3816,28 +5155,163 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleUnaryExpression" + // $ANTLR end "ruleUnaryExpression" + + + // $ANTLR start "entryRuleAggregationExpression" + // InternalSolverLanguageParser.g:2086:1: entryRuleAggregationExpression returns [EObject current=null] : iv_ruleAggregationExpression= ruleAggregationExpression EOF ; + public final EObject entryRuleAggregationExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAggregationExpression = null; + + + try { + // InternalSolverLanguageParser.g:2086:62: (iv_ruleAggregationExpression= ruleAggregationExpression EOF ) + // InternalSolverLanguageParser.g:2087:2: iv_ruleAggregationExpression= ruleAggregationExpression EOF + { + newCompositeNode(grammarAccess.getAggregationExpressionRule()); + pushFollow(FOLLOW_1); + iv_ruleAggregationExpression=ruleAggregationExpression(); + + state._fsp--; + + current =iv_ruleAggregationExpression; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAggregationExpression" + + + // $ANTLR start "ruleAggregationExpression" + // InternalSolverLanguageParser.g:2093:1: ruleAggregationExpression returns [EObject current=null] : (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation ) ; + public final EObject ruleAggregationExpression() throws RecognitionException { + EObject current = null; + + EObject this_AtomicExpression_0 = null; + + EObject this_QuantifiedExpression_1 = null; + + EObject this_Aggregation_2 = null; + + + + enterRule(); + + try { + // InternalSolverLanguageParser.g:2099:2: ( (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation ) ) + // InternalSolverLanguageParser.g:2100:2: (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation ) + { + // InternalSolverLanguageParser.g:2100:2: (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation ) + int alt23=3; + alt23 = dfa23.predict(input); + switch (alt23) { + case 1 : + // InternalSolverLanguageParser.g:2101:3: this_AtomicExpression_0= ruleAtomicExpression + { + + newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); + + pushFollow(FOLLOW_2); + this_AtomicExpression_0=ruleAtomicExpression(); + + state._fsp--; + + + current = this_AtomicExpression_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // InternalSolverLanguageParser.g:2110:3: this_QuantifiedExpression_1= ruleQuantifiedExpression + { + + newCompositeNode(grammarAccess.getAggregationExpressionAccess().getQuantifiedExpressionParserRuleCall_1()); + + pushFollow(FOLLOW_2); + this_QuantifiedExpression_1=ruleQuantifiedExpression(); + + state._fsp--; + + + current = this_QuantifiedExpression_1; + afterParserOrEnumRuleCall(); + + + } + break; + case 3 : + // InternalSolverLanguageParser.g:2119:3: this_Aggregation_2= ruleAggregation + { + + newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); + + pushFollow(FOLLOW_2); + this_Aggregation_2=ruleAggregation(); + + state._fsp--; + + + current = this_Aggregation_2; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAggregationExpression" - // $ANTLR start "entryRuleAggregationExpression" - // InternalSolverLanguageParser.g:1519:1: entryRuleAggregationExpression returns [EObject current=null] : iv_ruleAggregationExpression= ruleAggregationExpression EOF ; - public final EObject entryRuleAggregationExpression() throws RecognitionException { + // $ANTLR start "entryRuleLocalVariables" + // InternalSolverLanguageParser.g:2131:1: entryRuleLocalVariables returns [EObject current=null] : iv_ruleLocalVariables= ruleLocalVariables EOF ; + public final EObject entryRuleLocalVariables() throws RecognitionException { EObject current = null; - EObject iv_ruleAggregationExpression = null; + EObject iv_ruleLocalVariables = null; try { - // InternalSolverLanguageParser.g:1519:62: (iv_ruleAggregationExpression= ruleAggregationExpression EOF ) - // InternalSolverLanguageParser.g:1520:2: iv_ruleAggregationExpression= ruleAggregationExpression EOF + // InternalSolverLanguageParser.g:2131:55: (iv_ruleLocalVariables= ruleLocalVariables EOF ) + // InternalSolverLanguageParser.g:2132:2: iv_ruleLocalVariables= ruleLocalVariables EOF { - newCompositeNode(grammarAccess.getAggregationExpressionRule()); + newCompositeNode(grammarAccess.getLocalVariablesRule()); pushFollow(FOLLOW_1); - iv_ruleAggregationExpression=ruleAggregationExpression(); + iv_ruleLocalVariables=ruleLocalVariables(); state._fsp--; - current =iv_ruleAggregationExpression; + current =iv_ruleLocalVariables; match(input,EOF,FOLLOW_2); } @@ -3852,127 +5326,161 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleAggregationExpression" + // $ANTLR end "entryRuleLocalVariables" - // $ANTLR start "ruleAggregationExpression" - // InternalSolverLanguageParser.g:1526:1: ruleAggregationExpression returns [EObject current=null] : (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) ; - public final EObject ruleAggregationExpression() throws RecognitionException { + // $ANTLR start "ruleLocalVariables" + // InternalSolverLanguageParser.g:2138:1: ruleLocalVariables returns [EObject current=null] : ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket ) ; + public final EObject ruleLocalVariables() throws RecognitionException { EObject current = null; - EObject this_AtomicExpression_0 = null; - - EObject this_Count_1 = null; + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + EObject lv_variables_2_0 = null; - EObject this_Aggregation_2 = null; + EObject lv_variables_4_0 = null; enterRule(); try { - // InternalSolverLanguageParser.g:1532:2: ( (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) ) - // InternalSolverLanguageParser.g:1533:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) + // InternalSolverLanguageParser.g:2144:2: ( ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket ) ) + // InternalSolverLanguageParser.g:2145:2: ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket ) + { + // InternalSolverLanguageParser.g:2145:2: ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket ) + // InternalSolverLanguageParser.g:2146:3: () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket + { + // InternalSolverLanguageParser.g:2146:3: () + // InternalSolverLanguageParser.g:2147:4: { - // InternalSolverLanguageParser.g:1533:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) - int alt19=3; - switch ( input.LA(1) ) { - case Unknown: - case Empty: - case Error: - case False: - case True: - case Inf: - case LeftParenthesis: - case LeftSquareBracket: - case RULE_STRING: - case RULE_QUOTED_ID: - case RULE_ID: - case RULE_INT: - { - alt19=1; - } - break; - case Count: - { - alt19=2; - } - break; - case Only: - case Prod: - case Avg: - case Max: - case Min: - case Sum: - { - alt19=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 19, 0, input); - throw nvae; + current = forceCreateModelElement( + grammarAccess.getLocalVariablesAccess().getLocalVariablesAction_0(), + current); + + } - switch (alt19) { + otherlv_1=(Token)match(input,LeftSquareBracket,FOLLOW_34); + + newLeafNode(otherlv_1, grammarAccess.getLocalVariablesAccess().getLeftSquareBracketKeyword_1()); + + // InternalSolverLanguageParser.g:2157:3: ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? + int alt25=2; + int LA25_0 = input.LA(1); + + if ( (LA25_0==RULE_QUOTED_ID||LA25_0==RULE_ID) ) { + alt25=1; + } + switch (alt25) { case 1 : - // InternalSolverLanguageParser.g:1534:3: this_AtomicExpression_0= ruleAtomicExpression + // InternalSolverLanguageParser.g:2158:4: ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* + { + // InternalSolverLanguageParser.g:2158:4: ( (lv_variables_2_0= ruleVariable ) ) + // InternalSolverLanguageParser.g:2159:5: (lv_variables_2_0= ruleVariable ) + { + // InternalSolverLanguageParser.g:2159:5: (lv_variables_2_0= ruleVariable ) + // InternalSolverLanguageParser.g:2160:6: lv_variables_2_0= ruleVariable { - newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); - - pushFollow(FOLLOW_2); - this_AtomicExpression_0=ruleAtomicExpression(); + newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_0_0()); + + pushFollow(FOLLOW_35); + lv_variables_2_0=ruleVariable(); state._fsp--; - current = this_AtomicExpression_0; - afterParserOrEnumRuleCall(); - + if (current==null) { + current = createModelElementForParent(grammarAccess.getLocalVariablesRule()); + } + add( + current, + "variables", + lv_variables_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); + afterParserOrEnumRuleCall(); + } - break; - case 2 : - // InternalSolverLanguageParser.g:1543:3: this_Count_1= ruleCount - { - newCompositeNode(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_Count_1=ruleCount(); - state._fsp--; + } + // InternalSolverLanguageParser.g:2177:4: (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* + loop24: + do { + int alt24=2; + int LA24_0 = input.LA(1); - current = this_Count_1; - afterParserOrEnumRuleCall(); - + if ( (LA24_0==Comma) ) { + alt24=1; + } - } - break; - case 3 : - // InternalSolverLanguageParser.g:1552:3: this_Aggregation_2= ruleAggregation - { - newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); - - pushFollow(FOLLOW_2); - this_Aggregation_2=ruleAggregation(); + switch (alt24) { + case 1 : + // InternalSolverLanguageParser.g:2178:5: otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) + { + otherlv_3=(Token)match(input,Comma,FOLLOW_8); - state._fsp--; + newLeafNode(otherlv_3, grammarAccess.getLocalVariablesAccess().getCommaKeyword_2_1_0()); + + // InternalSolverLanguageParser.g:2182:5: ( (lv_variables_4_0= ruleVariable ) ) + // InternalSolverLanguageParser.g:2183:6: (lv_variables_4_0= ruleVariable ) + { + // InternalSolverLanguageParser.g:2183:6: (lv_variables_4_0= ruleVariable ) + // InternalSolverLanguageParser.g:2184:7: lv_variables_4_0= ruleVariable + { + newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_1_1_0()); + + pushFollow(FOLLOW_35); + lv_variables_4_0=ruleVariable(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLocalVariablesRule()); + } + add( + current, + "variables", + lv_variables_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop24; + } + } while (true); - current = this_Aggregation_2; - afterParserOrEnumRuleCall(); - } break; } + otherlv_5=(Token)match(input,RightSquareBracket,FOLLOW_2); + + newLeafNode(otherlv_5, grammarAccess.getLocalVariablesAccess().getRightSquareBracketKeyword_3()); + + + } + } @@ -3989,28 +5497,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleAggregationExpression" + // $ANTLR end "ruleLocalVariables" - // $ANTLR start "entryRuleCount" - // InternalSolverLanguageParser.g:1564:1: entryRuleCount returns [EObject current=null] : iv_ruleCount= ruleCount EOF ; - public final EObject entryRuleCount() throws RecognitionException { + // $ANTLR start "entryRuleQuantifiedExpression" + // InternalSolverLanguageParser.g:2211:1: entryRuleQuantifiedExpression returns [EObject current=null] : iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF ; + public final EObject entryRuleQuantifiedExpression() throws RecognitionException { EObject current = null; - EObject iv_ruleCount = null; + EObject iv_ruleQuantifiedExpression = null; try { - // InternalSolverLanguageParser.g:1564:46: (iv_ruleCount= ruleCount EOF ) - // InternalSolverLanguageParser.g:1565:2: iv_ruleCount= ruleCount EOF + // InternalSolverLanguageParser.g:2211:61: (iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF ) + // InternalSolverLanguageParser.g:2212:2: iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF { - newCompositeNode(grammarAccess.getCountRule()); + newCompositeNode(grammarAccess.getQuantifiedExpressionRule()); pushFollow(FOLLOW_1); - iv_ruleCount=ruleCount(); + iv_ruleQuantifiedExpression=ruleQuantifiedExpression(); state._fsp--; - current =iv_ruleCount; + current =iv_ruleQuantifiedExpression; match(input,EOF,FOLLOW_2); } @@ -4025,60 +5533,132 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleCount" + // $ANTLR end "entryRuleQuantifiedExpression" - // $ANTLR start "ruleCount" - // InternalSolverLanguageParser.g:1571:1: ruleCount returns [EObject current=null] : (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) ; - public final EObject ruleCount() throws RecognitionException { + // $ANTLR start "ruleQuantifiedExpression" + // InternalSolverLanguageParser.g:2218:1: ruleQuantifiedExpression returns [EObject current=null] : ( ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket ) ; + public final EObject ruleQuantifiedExpression() throws RecognitionException { EObject current = null; - Token otherlv_0=null; - Token otherlv_1=null; - Token otherlv_3=null; - EObject lv_body_2_0 = null; + Token otherlv_2=null; + Token otherlv_4=null; + Enumerator lv_quantifier_0_0 = null; + + EObject lv_localVariables_1_0 = null; + + EObject lv_body_3_0 = null; enterRule(); try { - // InternalSolverLanguageParser.g:1577:2: ( (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) ) - // InternalSolverLanguageParser.g:1578:2: (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) + // InternalSolverLanguageParser.g:2224:2: ( ( ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket ) ) + // InternalSolverLanguageParser.g:2225:2: ( ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket ) + { + // InternalSolverLanguageParser.g:2225:2: ( ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket ) + // InternalSolverLanguageParser.g:2226:3: ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket + { + // InternalSolverLanguageParser.g:2226:3: ( (lv_quantifier_0_0= ruleQuantifier ) ) + // InternalSolverLanguageParser.g:2227:4: (lv_quantifier_0_0= ruleQuantifier ) { - // InternalSolverLanguageParser.g:1578:2: (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) - // InternalSolverLanguageParser.g:1579:3: otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket + // InternalSolverLanguageParser.g:2227:4: (lv_quantifier_0_0= ruleQuantifier ) + // InternalSolverLanguageParser.g:2228:5: lv_quantifier_0_0= ruleQuantifier { - otherlv_0=(Token)match(input,Count,FOLLOW_26); - newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0()); - - otherlv_1=(Token)match(input,LeftCurlyBracket,FOLLOW_6); + newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getQuantifierQuantifierEnumRuleCall_0_0()); + + pushFollow(FOLLOW_36); + lv_quantifier_0_0=ruleQuantifier(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); + } + set( + current, + "quantifier", + lv_quantifier_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Quantifier"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalSolverLanguageParser.g:2245:3: ( (lv_localVariables_1_0= ruleLocalVariables ) )? + int alt26=2; + int LA26_0 = input.LA(1); + + if ( (LA26_0==LeftSquareBracket) ) { + alt26=1; + } + switch (alt26) { + case 1 : + // InternalSolverLanguageParser.g:2246:4: (lv_localVariables_1_0= ruleLocalVariables ) + { + // InternalSolverLanguageParser.g:2246:4: (lv_localVariables_1_0= ruleLocalVariables ) + // InternalSolverLanguageParser.g:2247:5: lv_localVariables_1_0= ruleLocalVariables + { + + newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0()); + + pushFollow(FOLLOW_14); + lv_localVariables_1_0=ruleLocalVariables(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); + } + set( + current, + "localVariables", + lv_localVariables_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + } - newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); + otherlv_2=(Token)match(input,LeftCurlyBracket,FOLLOW_6); + + newLeafNode(otherlv_2, grammarAccess.getQuantifiedExpressionAccess().getLeftCurlyBracketKeyword_2()); - // InternalSolverLanguageParser.g:1587:3: ( (lv_body_2_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:1588:4: (lv_body_2_0= ruleExpression ) + // InternalSolverLanguageParser.g:2268:3: ( (lv_body_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:2269:4: (lv_body_3_0= ruleExpression ) { - // InternalSolverLanguageParser.g:1588:4: (lv_body_2_0= ruleExpression ) - // InternalSolverLanguageParser.g:1589:5: lv_body_2_0= ruleExpression + // InternalSolverLanguageParser.g:2269:4: (lv_body_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:2270:5: lv_body_3_0= ruleExpression { - newCompositeNode(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); + newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getBodyExpressionParserRuleCall_3_0()); - pushFollow(FOLLOW_27); - lv_body_2_0=ruleExpression(); + pushFollow(FOLLOW_16); + lv_body_3_0=ruleExpression(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getCountRule()); + current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); } set( current, "body", - lv_body_2_0, + lv_body_3_0, "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); afterParserOrEnumRuleCall(); @@ -4088,9 +5668,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_3=(Token)match(input,RightCurlyBracket,FOLLOW_2); + otherlv_4=(Token)match(input,RightCurlyBracket,FOLLOW_2); - newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); + newLeafNode(otherlv_4, grammarAccess.getQuantifiedExpressionAccess().getRightCurlyBracketKeyword_4()); } @@ -4111,11 +5691,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleCount" + // $ANTLR end "ruleQuantifiedExpression" // $ANTLR start "entryRuleAggregation" - // InternalSolverLanguageParser.g:1614:1: entryRuleAggregation returns [EObject current=null] : iv_ruleAggregation= ruleAggregation EOF ; + // InternalSolverLanguageParser.g:2295:1: entryRuleAggregation returns [EObject current=null] : iv_ruleAggregation= ruleAggregation EOF ; public final EObject entryRuleAggregation() throws RecognitionException { EObject current = null; @@ -4123,8 +5703,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1614:52: (iv_ruleAggregation= ruleAggregation EOF ) - // InternalSolverLanguageParser.g:1615:2: iv_ruleAggregation= ruleAggregation EOF + // InternalSolverLanguageParser.g:2295:52: (iv_ruleAggregation= ruleAggregation EOF ) + // InternalSolverLanguageParser.g:2296:2: iv_ruleAggregation= ruleAggregation EOF { newCompositeNode(grammarAccess.getAggregationRule()); pushFollow(FOLLOW_1); @@ -4151,53 +5731,50 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAggregation" - // InternalSolverLanguageParser.g:1621:1: ruleAggregation returns [EObject current=null] : ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) ; + // InternalSolverLanguageParser.g:2302:1: ruleAggregation returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket ) ; public final EObject ruleAggregation() throws RecognitionException { EObject current = null; - Token otherlv_1=null; - Token otherlv_3=null; - Token otherlv_5=null; - Enumerator lv_op_0_0 = null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_localVariables_1_0 = null; - EObject lv_body_2_0 = null; + EObject lv_body_3_0 = null; - EObject lv_condition_4_0 = null; + EObject lv_condition_5_0 = null; enterRule(); try { - // InternalSolverLanguageParser.g:1627:2: ( ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) ) - // InternalSolverLanguageParser.g:1628:2: ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) + // InternalSolverLanguageParser.g:2308:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket ) ) + // InternalSolverLanguageParser.g:2309:2: ( ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket ) { - // InternalSolverLanguageParser.g:1628:2: ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) - // InternalSolverLanguageParser.g:1629:3: ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket + // InternalSolverLanguageParser.g:2309:2: ( ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket ) + // InternalSolverLanguageParser.g:2310:3: ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket { - // InternalSolverLanguageParser.g:1629:3: ( (lv_op_0_0= ruleAggregationOp ) ) - // InternalSolverLanguageParser.g:1630:4: (lv_op_0_0= ruleAggregationOp ) + // InternalSolverLanguageParser.g:2310:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2311:4: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:1630:4: (lv_op_0_0= ruleAggregationOp ) - // InternalSolverLanguageParser.g:1631:5: lv_op_0_0= ruleAggregationOp + // InternalSolverLanguageParser.g:2311:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2312:5: ruleQualifiedName { - newCompositeNode(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); + if (current==null) { + current = createModelElement(grammarAccess.getAggregationRule()); + } + + + newCompositeNode(grammarAccess.getAggregationAccess().getOpNamedElementCrossReference_0_0()); - pushFollow(FOLLOW_26); - lv_op_0_0=ruleAggregationOp(); + pushFollow(FOLLOW_36); + ruleQualifiedName(); state._fsp--; - if (current==null) { - current = createModelElementForParent(grammarAccess.getAggregationRule()); - } - set( - current, - "op", - lv_op_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp"); afterParserOrEnumRuleCall(); @@ -4206,21 +5783,63 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_1=(Token)match(input,LeftCurlyBracket,FOLLOW_6); + // InternalSolverLanguageParser.g:2326:3: ( (lv_localVariables_1_0= ruleLocalVariables ) )? + int alt27=2; + int LA27_0 = input.LA(1); + + if ( (LA27_0==LeftSquareBracket) ) { + alt27=1; + } + switch (alt27) { + case 1 : + // InternalSolverLanguageParser.g:2327:4: (lv_localVariables_1_0= ruleLocalVariables ) + { + // InternalSolverLanguageParser.g:2327:4: (lv_localVariables_1_0= ruleLocalVariables ) + // InternalSolverLanguageParser.g:2328:5: lv_localVariables_1_0= ruleLocalVariables + { + + newCompositeNode(grammarAccess.getAggregationAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0()); + + pushFollow(FOLLOW_14); + lv_localVariables_1_0=ruleLocalVariables(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAggregationRule()); + } + set( + current, + "localVariables", + lv_localVariables_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + } + + otherlv_2=(Token)match(input,LeftCurlyBracket,FOLLOW_6); - newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); + newLeafNode(otherlv_2, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_2()); - // InternalSolverLanguageParser.g:1652:3: ( (lv_body_2_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:1653:4: (lv_body_2_0= ruleExpression ) + // InternalSolverLanguageParser.g:2349:3: ( (lv_body_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:2350:4: (lv_body_3_0= ruleExpression ) { - // InternalSolverLanguageParser.g:1653:4: (lv_body_2_0= ruleExpression ) - // InternalSolverLanguageParser.g:1654:5: lv_body_2_0= ruleExpression + // InternalSolverLanguageParser.g:2350:4: (lv_body_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:2351:5: lv_body_3_0= ruleExpression { - newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); + newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_3_0()); - pushFollow(FOLLOW_28); - lv_body_2_0=ruleExpression(); + pushFollow(FOLLOW_37); + lv_body_3_0=ruleExpression(); state._fsp--; @@ -4231,7 +5850,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { set( current, "body", - lv_body_2_0, + lv_body_3_0, "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); afterParserOrEnumRuleCall(); @@ -4239,46 +5858,63 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - } + } + + // InternalSolverLanguageParser.g:2368:3: (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? + int alt28=2; + int LA28_0 = input.LA(1); + + if ( (LA28_0==VerticalLine) ) { + alt28=1; + } + switch (alt28) { + case 1 : + // InternalSolverLanguageParser.g:2369:4: otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) + { + otherlv_4=(Token)match(input,VerticalLine,FOLLOW_6); + + newLeafNode(otherlv_4, grammarAccess.getAggregationAccess().getVerticalLineKeyword_4_0()); + + // InternalSolverLanguageParser.g:2373:4: ( (lv_condition_5_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:2374:5: (lv_condition_5_0= ruleExpression ) + { + // InternalSolverLanguageParser.g:2374:5: (lv_condition_5_0= ruleExpression ) + // InternalSolverLanguageParser.g:2375:6: lv_condition_5_0= ruleExpression + { + + newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_1_0()); + + pushFollow(FOLLOW_16); + lv_condition_5_0=ruleExpression(); - otherlv_3=(Token)match(input,VerticalLine,FOLLOW_6); + state._fsp--; - newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); - - // InternalSolverLanguageParser.g:1675:3: ( (lv_condition_4_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:1676:4: (lv_condition_4_0= ruleExpression ) - { - // InternalSolverLanguageParser.g:1676:4: (lv_condition_4_0= ruleExpression ) - // InternalSolverLanguageParser.g:1677:5: lv_condition_4_0= ruleExpression - { - newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); - - pushFollow(FOLLOW_27); - lv_condition_4_0=ruleExpression(); + if (current==null) { + current = createModelElementForParent(grammarAccess.getAggregationRule()); + } + set( + current, + "condition", + lv_condition_5_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + - state._fsp--; + } - if (current==null) { - current = createModelElementForParent(grammarAccess.getAggregationRule()); - } - set( - current, - "condition", - lv_condition_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - + } - } + } + break; } - otherlv_5=(Token)match(input,RightCurlyBracket,FOLLOW_2); + otherlv_6=(Token)match(input,RightCurlyBracket,FOLLOW_2); - newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); + newLeafNode(otherlv_6, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); } @@ -4303,7 +5939,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleAtomicExpression" - // InternalSolverLanguageParser.g:1702:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ; + // InternalSolverLanguageParser.g:2401:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ; public final EObject entryRuleAtomicExpression() throws RecognitionException { EObject current = null; @@ -4311,8 +5947,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1702:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF ) - // InternalSolverLanguageParser.g:1703:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF + // InternalSolverLanguageParser.g:2401:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF ) + // InternalSolverLanguageParser.g:2402:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF { newCompositeNode(grammarAccess.getAtomicExpressionRule()); pushFollow(FOLLOW_1); @@ -4339,7 +5975,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAtomicExpression" - // InternalSolverLanguageParser.g:1709:1: ruleAtomicExpression returns [EObject current=null] : (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) ; + // InternalSolverLanguageParser.g:2408:1: ruleAtomicExpression returns [EObject current=null] : (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) ; public final EObject ruleAtomicExpression() throws RecognitionException { EObject current = null; @@ -4360,15 +5996,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:1715:2: ( (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) ) - // InternalSolverLanguageParser.g:1716:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) + // InternalSolverLanguageParser.g:2414:2: ( (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) ) + // InternalSolverLanguageParser.g:2415:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) { - // InternalSolverLanguageParser.g:1716:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) - int alt20=5; - alt20 = dfa20.predict(input); - switch (alt20) { + // InternalSolverLanguageParser.g:2415:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) + int alt29=5; + alt29 = dfa29.predict(input); + switch (alt29) { case 1 : - // InternalSolverLanguageParser.g:1717:3: this_Reference_0= ruleReference + // InternalSolverLanguageParser.g:2416:3: this_Reference_0= ruleReference { newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0()); @@ -4386,7 +6022,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:1726:3: this_Call_1= ruleCall + // InternalSolverLanguageParser.g:2425:3: this_Call_1= ruleCall { newCompositeNode(grammarAccess.getAtomicExpressionAccess().getCallParserRuleCall_1()); @@ -4404,7 +6040,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguageParser.g:1735:3: this_Interval_2= ruleInterval + // InternalSolverLanguageParser.g:2434:3: this_Interval_2= ruleInterval { newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_2()); @@ -4422,7 +6058,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 4 : - // InternalSolverLanguageParser.g:1744:3: this_Literal_3= ruleLiteral + // InternalSolverLanguageParser.g:2443:3: this_Literal_3= ruleLiteral { newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_3()); @@ -4440,10 +6076,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 5 : - // InternalSolverLanguageParser.g:1753:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) + // InternalSolverLanguageParser.g:2452:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) { - // InternalSolverLanguageParser.g:1753:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) - // InternalSolverLanguageParser.g:1754:4: otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis + // InternalSolverLanguageParser.g:2452:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) + // InternalSolverLanguageParser.g:2453:4: otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis { otherlv_4=(Token)match(input,LeftParenthesis,FOLLOW_6); @@ -4452,7 +6088,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_4_1()); - pushFollow(FOLLOW_29); + pushFollow(FOLLOW_38); this_Expression_5=ruleExpression(); state._fsp--; @@ -4494,7 +6130,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleCall" - // InternalSolverLanguageParser.g:1775:1: entryRuleCall returns [EObject current=null] : iv_ruleCall= ruleCall EOF ; + // InternalSolverLanguageParser.g:2474:1: entryRuleCall returns [EObject current=null] : iv_ruleCall= ruleCall EOF ; public final EObject entryRuleCall() throws RecognitionException { EObject current = null; @@ -4502,8 +6138,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1775:45: (iv_ruleCall= ruleCall EOF ) - // InternalSolverLanguageParser.g:1776:2: iv_ruleCall= ruleCall EOF + // InternalSolverLanguageParser.g:2474:45: (iv_ruleCall= ruleCall EOF ) + // InternalSolverLanguageParser.g:2475:2: iv_ruleCall= ruleCall EOF { newCompositeNode(grammarAccess.getCallRule()); pushFollow(FOLLOW_1); @@ -4530,7 +6166,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleCall" - // InternalSolverLanguageParser.g:1782:1: ruleCall returns [EObject current=null] : ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ; + // InternalSolverLanguageParser.g:2481:1: ruleCall returns [EObject current=null] : ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ; public final EObject ruleCall() throws RecognitionException { EObject current = null; @@ -4545,22 +6181,22 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:1788:2: ( ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ) - // InternalSolverLanguageParser.g:1789:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) + // InternalSolverLanguageParser.g:2487:2: ( ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ) + // InternalSolverLanguageParser.g:2488:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) { - // InternalSolverLanguageParser.g:1789:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) - // InternalSolverLanguageParser.g:1790:3: ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) + // InternalSolverLanguageParser.g:2488:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) + // InternalSolverLanguageParser.g:2489:3: ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) { - // InternalSolverLanguageParser.g:1790:3: ( (lv_functor_0_0= ruleReference ) ) - // InternalSolverLanguageParser.g:1791:4: (lv_functor_0_0= ruleReference ) + // InternalSolverLanguageParser.g:2489:3: ( (lv_functor_0_0= ruleReference ) ) + // InternalSolverLanguageParser.g:2490:4: (lv_functor_0_0= ruleReference ) { - // InternalSolverLanguageParser.g:1791:4: (lv_functor_0_0= ruleReference ) - // InternalSolverLanguageParser.g:1792:5: lv_functor_0_0= ruleReference + // InternalSolverLanguageParser.g:2490:4: (lv_functor_0_0= ruleReference ) + // InternalSolverLanguageParser.g:2491:5: lv_functor_0_0= ruleReference { newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); - pushFollow(FOLLOW_30); + pushFollow(FOLLOW_39); lv_functor_0_0=ruleReference(); state._fsp--; @@ -4582,25 +6218,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1809:3: ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? - int alt21=3; - int LA21_0 = input.LA(1); + // InternalSolverLanguageParser.g:2508:3: ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? + int alt30=3; + int LA30_0 = input.LA(1); - if ( (LA21_0==RULE_TRANSITIVE_CLOSURE) ) { - alt21=1; + if ( (LA30_0==RULE_TRANSITIVE_CLOSURE) ) { + alt30=1; } - else if ( (LA21_0==RULE_REFLEXIVE_TRANSITIVE_CLOSURE) ) { - alt21=2; + else if ( (LA30_0==RULE_REFLEXIVE_TRANSITIVE_CLOSURE) ) { + alt30=2; } - switch (alt21) { + switch (alt30) { case 1 : - // InternalSolverLanguageParser.g:1810:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) + // InternalSolverLanguageParser.g:2509:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) { - // InternalSolverLanguageParser.g:1810:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) - // InternalSolverLanguageParser.g:1811:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) + // InternalSolverLanguageParser.g:2509:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) + // InternalSolverLanguageParser.g:2510:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) { - // InternalSolverLanguageParser.g:1811:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) - // InternalSolverLanguageParser.g:1812:6: lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE + // InternalSolverLanguageParser.g:2510:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) + // InternalSolverLanguageParser.g:2511:6: lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE { lv_transitiveClosure_1_0=(Token)match(input,RULE_TRANSITIVE_CLOSURE,FOLLOW_11); @@ -4626,13 +6262,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:1829:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) + // InternalSolverLanguageParser.g:2528:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) { - // InternalSolverLanguageParser.g:1829:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) - // InternalSolverLanguageParser.g:1830:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) + // InternalSolverLanguageParser.g:2528:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) + // InternalSolverLanguageParser.g:2529:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) { - // InternalSolverLanguageParser.g:1830:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) - // InternalSolverLanguageParser.g:1831:6: lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE + // InternalSolverLanguageParser.g:2529:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) + // InternalSolverLanguageParser.g:2530:6: lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE { lv_reflexiveTransitiveClosure_2_0=(Token)match(input,RULE_REFLEXIVE_TRANSITIVE_CLOSURE,FOLLOW_11); @@ -4660,11 +6296,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1848:3: ( (lv_argumentList_3_0= ruleArgumentList ) ) - // InternalSolverLanguageParser.g:1849:4: (lv_argumentList_3_0= ruleArgumentList ) + // InternalSolverLanguageParser.g:2547:3: ( (lv_argumentList_3_0= ruleArgumentList ) ) + // InternalSolverLanguageParser.g:2548:4: (lv_argumentList_3_0= ruleArgumentList ) { - // InternalSolverLanguageParser.g:1849:4: (lv_argumentList_3_0= ruleArgumentList ) - // InternalSolverLanguageParser.g:1850:5: lv_argumentList_3_0= ruleArgumentList + // InternalSolverLanguageParser.g:2548:4: (lv_argumentList_3_0= ruleArgumentList ) + // InternalSolverLanguageParser.g:2549:5: lv_argumentList_3_0= ruleArgumentList { newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); @@ -4714,7 +6350,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleArgumentList" - // InternalSolverLanguageParser.g:1871:1: entryRuleArgumentList returns [EObject current=null] : iv_ruleArgumentList= ruleArgumentList EOF ; + // InternalSolverLanguageParser.g:2570:1: entryRuleArgumentList returns [EObject current=null] : iv_ruleArgumentList= ruleArgumentList EOF ; public final EObject entryRuleArgumentList() throws RecognitionException { EObject current = null; @@ -4722,8 +6358,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1871:53: (iv_ruleArgumentList= ruleArgumentList EOF ) - // InternalSolverLanguageParser.g:1872:2: iv_ruleArgumentList= ruleArgumentList EOF + // InternalSolverLanguageParser.g:2570:53: (iv_ruleArgumentList= ruleArgumentList EOF ) + // InternalSolverLanguageParser.g:2571:2: iv_ruleArgumentList= ruleArgumentList EOF { newCompositeNode(grammarAccess.getArgumentListRule()); pushFollow(FOLLOW_1); @@ -4750,7 +6386,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleArgumentList" - // InternalSolverLanguageParser.g:1878:1: ruleArgumentList returns [EObject current=null] : ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) ; + // InternalSolverLanguageParser.g:2577:1: ruleArgumentList returns [EObject current=null] : ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) ; public final EObject ruleArgumentList() throws RecognitionException { EObject current = null; @@ -4766,14 +6402,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:1884:2: ( ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) ) - // InternalSolverLanguageParser.g:1885:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) + // InternalSolverLanguageParser.g:2583:2: ( ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) ) + // InternalSolverLanguageParser.g:2584:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) { - // InternalSolverLanguageParser.g:1885:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) - // InternalSolverLanguageParser.g:1886:3: () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis + // InternalSolverLanguageParser.g:2584:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) + // InternalSolverLanguageParser.g:2585:3: () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis { - // InternalSolverLanguageParser.g:1886:3: () - // InternalSolverLanguageParser.g:1887:4: + // InternalSolverLanguageParser.g:2585:3: () + // InternalSolverLanguageParser.g:2586:4: { current = forceCreateModelElement( @@ -4783,31 +6419,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_1=(Token)match(input,LeftParenthesis,FOLLOW_31); + otherlv_1=(Token)match(input,LeftParenthesis,FOLLOW_40); newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); - // InternalSolverLanguageParser.g:1897:3: ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? - int alt23=2; - int LA23_0 = input.LA(1); + // InternalSolverLanguageParser.g:2596:3: ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? + int alt32=2; + int LA32_0 = input.LA(1); - if ( (LA23_0==Current||LA23_0==Unknown||(LA23_0>=Count && LA23_0<=False)||(LA23_0>=Must && LA23_0<=Prod)||LA23_0==True||(LA23_0>=Avg && LA23_0<=Inf)||(LA23_0>=Max && LA23_0<=Sum)||(LA23_0>=ExclamationMark && LA23_0<=LeftParenthesis)||(LA23_0>=Asterisk && LA23_0<=PlusSign)||LA23_0==HyphenMinus||LA23_0==LeftSquareBracket||(LA23_0>=RULE_STRING && LA23_0<=RULE_QUOTED_ID)||(LA23_0>=RULE_ID && LA23_0<=RULE_INT)) ) { - alt23=1; + if ( (LA32_0==Current||(LA32_0>=Unknown && LA32_0<=Exists)||LA32_0==Forall||(LA32_0>=Count && LA32_0<=False)||LA32_0==Must||LA32_0==True||LA32_0==Inf||LA32_0==May||(LA32_0>=ExclamationMark && LA32_0<=LeftParenthesis)||(LA32_0>=Asterisk && LA32_0<=PlusSign)||LA32_0==HyphenMinus||LA32_0==LeftSquareBracket||(LA32_0>=RULE_STRING && LA32_0<=RULE_QUOTED_ID)||(LA32_0>=RULE_ID && LA32_0<=RULE_INT)) ) { + alt32=1; } - switch (alt23) { + switch (alt32) { case 1 : - // InternalSolverLanguageParser.g:1898:4: ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* + // InternalSolverLanguageParser.g:2597:4: ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* { - // InternalSolverLanguageParser.g:1898:4: ( (lv_arguments_2_0= ruleArgument ) ) - // InternalSolverLanguageParser.g:1899:5: (lv_arguments_2_0= ruleArgument ) + // InternalSolverLanguageParser.g:2597:4: ( (lv_arguments_2_0= ruleArgument ) ) + // InternalSolverLanguageParser.g:2598:5: (lv_arguments_2_0= ruleArgument ) { - // InternalSolverLanguageParser.g:1899:5: (lv_arguments_2_0= ruleArgument ) - // InternalSolverLanguageParser.g:1900:6: lv_arguments_2_0= ruleArgument + // InternalSolverLanguageParser.g:2598:5: (lv_arguments_2_0= ruleArgument ) + // InternalSolverLanguageParser.g:2599:6: lv_arguments_2_0= ruleArgument { newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); - pushFollow(FOLLOW_32); + pushFollow(FOLLOW_41); lv_arguments_2_0=ruleArgument(); state._fsp--; @@ -4829,35 +6465,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1917:4: (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* - loop22: + // InternalSolverLanguageParser.g:2616:4: (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* + loop31: do { - int alt22=2; - int LA22_0 = input.LA(1); + int alt31=2; + int LA31_0 = input.LA(1); - if ( (LA22_0==Comma) ) { - alt22=1; + if ( (LA31_0==Comma) ) { + alt31=1; } - switch (alt22) { + switch (alt31) { case 1 : - // InternalSolverLanguageParser.g:1918:5: otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) + // InternalSolverLanguageParser.g:2617:5: otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) { - otherlv_3=(Token)match(input,Comma,FOLLOW_33); + otherlv_3=(Token)match(input,Comma,FOLLOW_42); newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); - // InternalSolverLanguageParser.g:1922:5: ( (lv_arguments_4_0= ruleArgument ) ) - // InternalSolverLanguageParser.g:1923:6: (lv_arguments_4_0= ruleArgument ) + // InternalSolverLanguageParser.g:2621:5: ( (lv_arguments_4_0= ruleArgument ) ) + // InternalSolverLanguageParser.g:2622:6: (lv_arguments_4_0= ruleArgument ) { - // InternalSolverLanguageParser.g:1923:6: (lv_arguments_4_0= ruleArgument ) - // InternalSolverLanguageParser.g:1924:7: lv_arguments_4_0= ruleArgument + // InternalSolverLanguageParser.g:2622:6: (lv_arguments_4_0= ruleArgument ) + // InternalSolverLanguageParser.g:2623:7: lv_arguments_4_0= ruleArgument { newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); - pushFollow(FOLLOW_32); + pushFollow(FOLLOW_41); lv_arguments_4_0=ruleArgument(); state._fsp--; @@ -4884,7 +6520,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop22; + break loop31; } } while (true); @@ -4921,7 +6557,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleArgument" - // InternalSolverLanguageParser.g:1951:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ; + // InternalSolverLanguageParser.g:2650:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ; public final EObject entryRuleArgument() throws RecognitionException { EObject current = null; @@ -4929,8 +6565,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1951:49: (iv_ruleArgument= ruleArgument EOF ) - // InternalSolverLanguageParser.g:1952:2: iv_ruleArgument= ruleArgument EOF + // InternalSolverLanguageParser.g:2650:49: (iv_ruleArgument= ruleArgument EOF ) + // InternalSolverLanguageParser.g:2651:2: iv_ruleArgument= ruleArgument EOF { newCompositeNode(grammarAccess.getArgumentRule()); pushFollow(FOLLOW_1); @@ -4957,7 +6593,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleArgument" - // InternalSolverLanguageParser.g:1958:1: ruleArgument returns [EObject current=null] : (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ; + // InternalSolverLanguageParser.g:2657:1: ruleArgument returns [EObject current=null] : (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ; public final EObject ruleArgument() throws RecognitionException { EObject current = null; @@ -4974,15 +6610,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:1964:2: ( (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ) - // InternalSolverLanguageParser.g:1965:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) + // InternalSolverLanguageParser.g:2663:2: ( (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ) + // InternalSolverLanguageParser.g:2664:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) { - // InternalSolverLanguageParser.g:1965:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) - int alt24=4; - alt24 = dfa24.predict(input); - switch (alt24) { + // InternalSolverLanguageParser.g:2664:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) + int alt33=4; + alt33 = dfa33.predict(input); + switch (alt33) { case 1 : - // InternalSolverLanguageParser.g:1966:3: this_ExpressionArgument_0= ruleExpressionArgument + // InternalSolverLanguageParser.g:2665:3: this_ExpressionArgument_0= ruleExpressionArgument { newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); @@ -5000,7 +6636,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:1975:3: this_StarArgument_1= ruleStarArgument + // InternalSolverLanguageParser.g:2674:3: this_StarArgument_1= ruleStarArgument { newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); @@ -5018,7 +6654,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguageParser.g:1984:3: this_TypedArgument_2= ruleTypedArgument + // InternalSolverLanguageParser.g:2683:3: this_TypedArgument_2= ruleTypedArgument { newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); @@ -5036,7 +6672,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 4 : - // InternalSolverLanguageParser.g:1993:3: this_TypedStarArgument_3= ruleTypedStarArgument + // InternalSolverLanguageParser.g:2692:3: this_TypedStarArgument_3= ruleTypedStarArgument { newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); @@ -5076,7 +6712,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleExpressionArgument" - // InternalSolverLanguageParser.g:2005:1: entryRuleExpressionArgument returns [EObject current=null] : iv_ruleExpressionArgument= ruleExpressionArgument EOF ; + // InternalSolverLanguageParser.g:2704:1: entryRuleExpressionArgument returns [EObject current=null] : iv_ruleExpressionArgument= ruleExpressionArgument EOF ; public final EObject entryRuleExpressionArgument() throws RecognitionException { EObject current = null; @@ -5084,8 +6720,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2005:59: (iv_ruleExpressionArgument= ruleExpressionArgument EOF ) - // InternalSolverLanguageParser.g:2006:2: iv_ruleExpressionArgument= ruleExpressionArgument EOF + // InternalSolverLanguageParser.g:2704:59: (iv_ruleExpressionArgument= ruleExpressionArgument EOF ) + // InternalSolverLanguageParser.g:2705:2: iv_ruleExpressionArgument= ruleExpressionArgument EOF { newCompositeNode(grammarAccess.getExpressionArgumentRule()); pushFollow(FOLLOW_1); @@ -5112,7 +6748,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExpressionArgument" - // InternalSolverLanguageParser.g:2012:1: ruleExpressionArgument returns [EObject current=null] : ( (lv_body_0_0= ruleComparisonExpression ) ) ; + // InternalSolverLanguageParser.g:2711:1: ruleExpressionArgument returns [EObject current=null] : ( (lv_body_0_0= ruleComparisonExpression ) ) ; public final EObject ruleExpressionArgument() throws RecognitionException { EObject current = null; @@ -5123,14 +6759,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2018:2: ( ( (lv_body_0_0= ruleComparisonExpression ) ) ) - // InternalSolverLanguageParser.g:2019:2: ( (lv_body_0_0= ruleComparisonExpression ) ) + // InternalSolverLanguageParser.g:2717:2: ( ( (lv_body_0_0= ruleComparisonExpression ) ) ) + // InternalSolverLanguageParser.g:2718:2: ( (lv_body_0_0= ruleComparisonExpression ) ) { - // InternalSolverLanguageParser.g:2019:2: ( (lv_body_0_0= ruleComparisonExpression ) ) - // InternalSolverLanguageParser.g:2020:3: (lv_body_0_0= ruleComparisonExpression ) + // InternalSolverLanguageParser.g:2718:2: ( (lv_body_0_0= ruleComparisonExpression ) ) + // InternalSolverLanguageParser.g:2719:3: (lv_body_0_0= ruleComparisonExpression ) { - // InternalSolverLanguageParser.g:2020:3: (lv_body_0_0= ruleComparisonExpression ) - // InternalSolverLanguageParser.g:2021:4: lv_body_0_0= ruleComparisonExpression + // InternalSolverLanguageParser.g:2719:3: (lv_body_0_0= ruleComparisonExpression ) + // InternalSolverLanguageParser.g:2720:4: lv_body_0_0= ruleComparisonExpression { newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); @@ -5177,7 +6813,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleStarArgument" - // InternalSolverLanguageParser.g:2041:1: entryRuleStarArgument returns [EObject current=null] : iv_ruleStarArgument= ruleStarArgument EOF ; + // InternalSolverLanguageParser.g:2740:1: entryRuleStarArgument returns [EObject current=null] : iv_ruleStarArgument= ruleStarArgument EOF ; public final EObject entryRuleStarArgument() throws RecognitionException { EObject current = null; @@ -5185,8 +6821,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2041:53: (iv_ruleStarArgument= ruleStarArgument EOF ) - // InternalSolverLanguageParser.g:2042:2: iv_ruleStarArgument= ruleStarArgument EOF + // InternalSolverLanguageParser.g:2740:53: (iv_ruleStarArgument= ruleStarArgument EOF ) + // InternalSolverLanguageParser.g:2741:2: iv_ruleStarArgument= ruleStarArgument EOF { newCompositeNode(grammarAccess.getStarArgumentRule()); pushFollow(FOLLOW_1); @@ -5213,7 +6849,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleStarArgument" - // InternalSolverLanguageParser.g:2048:1: ruleStarArgument returns [EObject current=null] : ( () otherlv_1= Asterisk ) ; + // InternalSolverLanguageParser.g:2747:1: ruleStarArgument returns [EObject current=null] : ( () otherlv_1= Asterisk ) ; public final EObject ruleStarArgument() throws RecognitionException { EObject current = null; @@ -5223,14 +6859,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2054:2: ( ( () otherlv_1= Asterisk ) ) - // InternalSolverLanguageParser.g:2055:2: ( () otherlv_1= Asterisk ) + // InternalSolverLanguageParser.g:2753:2: ( ( () otherlv_1= Asterisk ) ) + // InternalSolverLanguageParser.g:2754:2: ( () otherlv_1= Asterisk ) { - // InternalSolverLanguageParser.g:2055:2: ( () otherlv_1= Asterisk ) - // InternalSolverLanguageParser.g:2056:3: () otherlv_1= Asterisk + // InternalSolverLanguageParser.g:2754:2: ( () otherlv_1= Asterisk ) + // InternalSolverLanguageParser.g:2755:3: () otherlv_1= Asterisk { - // InternalSolverLanguageParser.g:2056:3: () - // InternalSolverLanguageParser.g:2057:4: + // InternalSolverLanguageParser.g:2755:3: () + // InternalSolverLanguageParser.g:2756:4: { current = forceCreateModelElement( @@ -5267,7 +6903,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleTypedArgument" - // InternalSolverLanguageParser.g:2071:1: entryRuleTypedArgument returns [EObject current=null] : iv_ruleTypedArgument= ruleTypedArgument EOF ; + // InternalSolverLanguageParser.g:2770:1: entryRuleTypedArgument returns [EObject current=null] : iv_ruleTypedArgument= ruleTypedArgument EOF ; public final EObject entryRuleTypedArgument() throws RecognitionException { EObject current = null; @@ -5275,8 +6911,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2071:54: (iv_ruleTypedArgument= ruleTypedArgument EOF ) - // InternalSolverLanguageParser.g:2072:2: iv_ruleTypedArgument= ruleTypedArgument EOF + // InternalSolverLanguageParser.g:2770:54: (iv_ruleTypedArgument= ruleTypedArgument EOF ) + // InternalSolverLanguageParser.g:2771:2: iv_ruleTypedArgument= ruleTypedArgument EOF { newCompositeNode(grammarAccess.getTypedArgumentRule()); pushFollow(FOLLOW_1); @@ -5303,7 +6939,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleTypedArgument" - // InternalSolverLanguageParser.g:2078:1: ruleTypedArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ; + // InternalSolverLanguageParser.g:2777:1: ruleTypedArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ; public final EObject ruleTypedArgument() throws RecognitionException { EObject current = null; @@ -5311,17 +6947,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2084:2: ( ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ) - // InternalSolverLanguageParser.g:2085:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguageParser.g:2783:2: ( ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ) + // InternalSolverLanguageParser.g:2784:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) { - // InternalSolverLanguageParser.g:2085:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) - // InternalSolverLanguageParser.g:2086:3: ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2784:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguageParser.g:2785:3: ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) { - // InternalSolverLanguageParser.g:2086:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:2087:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2785:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2786:4: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:2087:4: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:2088:5: ruleQualifiedName + // InternalSolverLanguageParser.g:2786:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2787:5: ruleQualifiedName { if (current==null) { @@ -5345,11 +6981,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:2102:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:2103:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2801:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2802:4: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:2103:4: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:2104:5: ruleQualifiedName + // InternalSolverLanguageParser.g:2802:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2803:5: ruleQualifiedName { if (current==null) { @@ -5396,7 +7032,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleTypedStarArgument" - // InternalSolverLanguageParser.g:2122:1: entryRuleTypedStarArgument returns [EObject current=null] : iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ; + // InternalSolverLanguageParser.g:2821:1: entryRuleTypedStarArgument returns [EObject current=null] : iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ; public final EObject entryRuleTypedStarArgument() throws RecognitionException { EObject current = null; @@ -5404,8 +7040,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2122:58: (iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ) - // InternalSolverLanguageParser.g:2123:2: iv_ruleTypedStarArgument= ruleTypedStarArgument EOF + // InternalSolverLanguageParser.g:2821:58: (iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ) + // InternalSolverLanguageParser.g:2822:2: iv_ruleTypedStarArgument= ruleTypedStarArgument EOF { newCompositeNode(grammarAccess.getTypedStarArgumentRule()); pushFollow(FOLLOW_1); @@ -5432,7 +7068,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleTypedStarArgument" - // InternalSolverLanguageParser.g:2129:1: ruleTypedStarArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ; + // InternalSolverLanguageParser.g:2828:1: ruleTypedStarArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ; public final EObject ruleTypedStarArgument() throws RecognitionException { EObject current = null; @@ -5442,17 +7078,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2135:2: ( ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ) - // InternalSolverLanguageParser.g:2136:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) + // InternalSolverLanguageParser.g:2834:2: ( ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ) + // InternalSolverLanguageParser.g:2835:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) { - // InternalSolverLanguageParser.g:2136:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) - // InternalSolverLanguageParser.g:2137:3: ( ( ruleQualifiedName ) ) otherlv_1= Asterisk + // InternalSolverLanguageParser.g:2835:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) + // InternalSolverLanguageParser.g:2836:3: ( ( ruleQualifiedName ) ) otherlv_1= Asterisk { - // InternalSolverLanguageParser.g:2137:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:2138:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2836:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2837:4: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:2138:4: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:2139:5: ruleQualifiedName + // InternalSolverLanguageParser.g:2837:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2838:5: ruleQualifiedName { if (current==null) { @@ -5462,7 +7098,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); - pushFollow(FOLLOW_34); + pushFollow(FOLLOW_43); ruleQualifiedName(); state._fsp--; @@ -5503,7 +7139,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleReference" - // InternalSolverLanguageParser.g:2161:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ; + // InternalSolverLanguageParser.g:2860:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ; public final EObject entryRuleReference() throws RecognitionException { EObject current = null; @@ -5511,8 +7147,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2161:50: (iv_ruleReference= ruleReference EOF ) - // InternalSolverLanguageParser.g:2162:2: iv_ruleReference= ruleReference EOF + // InternalSolverLanguageParser.g:2860:50: (iv_ruleReference= ruleReference EOF ) + // InternalSolverLanguageParser.g:2861:2: iv_ruleReference= ruleReference EOF { newCompositeNode(grammarAccess.getReferenceRule()); pushFollow(FOLLOW_1); @@ -5539,7 +7175,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleReference" - // InternalSolverLanguageParser.g:2168:1: ruleReference returns [EObject current=null] : ( ( ruleQualifiedName ) ) ; + // InternalSolverLanguageParser.g:2867:1: ruleReference returns [EObject current=null] : ( ( ruleQualifiedName ) ) ; public final EObject ruleReference() throws RecognitionException { EObject current = null; @@ -5547,14 +7183,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2174:2: ( ( ( ruleQualifiedName ) ) ) - // InternalSolverLanguageParser.g:2175:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2873:2: ( ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguageParser.g:2874:2: ( ( ruleQualifiedName ) ) { - // InternalSolverLanguageParser.g:2175:2: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:2176:3: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2874:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2875:3: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:2176:3: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:2177:4: ruleQualifiedName + // InternalSolverLanguageParser.g:2875:3: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2876:4: ruleQualifiedName { if (current==null) { @@ -5598,7 +7234,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleInterval" - // InternalSolverLanguageParser.g:2194:1: entryRuleInterval returns [EObject current=null] : iv_ruleInterval= ruleInterval EOF ; + // InternalSolverLanguageParser.g:2893:1: entryRuleInterval returns [EObject current=null] : iv_ruleInterval= ruleInterval EOF ; public final EObject entryRuleInterval() throws RecognitionException { EObject current = null; @@ -5606,8 +7242,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2194:49: (iv_ruleInterval= ruleInterval EOF ) - // InternalSolverLanguageParser.g:2195:2: iv_ruleInterval= ruleInterval EOF + // InternalSolverLanguageParser.g:2893:49: (iv_ruleInterval= ruleInterval EOF ) + // InternalSolverLanguageParser.g:2894:2: iv_ruleInterval= ruleInterval EOF { newCompositeNode(grammarAccess.getIntervalRule()); pushFollow(FOLLOW_1); @@ -5634,7 +7270,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleInterval" - // InternalSolverLanguageParser.g:2201:1: ruleInterval returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) ; + // InternalSolverLanguageParser.g:2900:1: ruleInterval returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) ; public final EObject ruleInterval() throws RecognitionException { EObject current = null; @@ -5650,26 +7286,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2207:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) ) - // InternalSolverLanguageParser.g:2208:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) + // InternalSolverLanguageParser.g:2906:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) ) + // InternalSolverLanguageParser.g:2907:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) { - // InternalSolverLanguageParser.g:2208:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) - // InternalSolverLanguageParser.g:2209:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket + // InternalSolverLanguageParser.g:2907:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) + // InternalSolverLanguageParser.g:2908:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket { otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_6); newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); - // InternalSolverLanguageParser.g:2213:3: ( (lv_lowerBound_1_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:2214:4: (lv_lowerBound_1_0= ruleExpression ) + // InternalSolverLanguageParser.g:2912:3: ( (lv_lowerBound_1_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:2913:4: (lv_lowerBound_1_0= ruleExpression ) { - // InternalSolverLanguageParser.g:2214:4: (lv_lowerBound_1_0= ruleExpression ) - // InternalSolverLanguageParser.g:2215:5: lv_lowerBound_1_0= ruleExpression + // InternalSolverLanguageParser.g:2913:4: (lv_lowerBound_1_0= ruleExpression ) + // InternalSolverLanguageParser.g:2914:5: lv_lowerBound_1_0= ruleExpression { newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); - pushFollow(FOLLOW_35); + pushFollow(FOLLOW_44); lv_lowerBound_1_0=ruleExpression(); state._fsp--; @@ -5695,16 +7331,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); - // InternalSolverLanguageParser.g:2236:3: ( (lv_upperBound_3_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:2237:4: (lv_upperBound_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:2935:3: ( (lv_upperBound_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:2936:4: (lv_upperBound_3_0= ruleExpression ) { - // InternalSolverLanguageParser.g:2237:4: (lv_upperBound_3_0= ruleExpression ) - // InternalSolverLanguageParser.g:2238:5: lv_upperBound_3_0= ruleExpression + // InternalSolverLanguageParser.g:2936:4: (lv_upperBound_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:2937:5: lv_upperBound_3_0= ruleExpression { newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); - pushFollow(FOLLOW_36); + pushFollow(FOLLOW_45); lv_upperBound_3_0=ruleExpression(); state._fsp--; @@ -5753,7 +7389,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleLiteral" - // InternalSolverLanguageParser.g:2263:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; + // InternalSolverLanguageParser.g:2962:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; public final EObject entryRuleLiteral() throws RecognitionException { EObject current = null; @@ -5761,8 +7397,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2263:48: (iv_ruleLiteral= ruleLiteral EOF ) - // InternalSolverLanguageParser.g:2264:2: iv_ruleLiteral= ruleLiteral EOF + // InternalSolverLanguageParser.g:2962:48: (iv_ruleLiteral= ruleLiteral EOF ) + // InternalSolverLanguageParser.g:2963:2: iv_ruleLiteral= ruleLiteral EOF { newCompositeNode(grammarAccess.getLiteralRule()); pushFollow(FOLLOW_1); @@ -5789,7 +7425,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleLiteral" - // InternalSolverLanguageParser.g:2270:1: ruleLiteral returns [EObject current=null] : (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) ; + // InternalSolverLanguageParser.g:2969:1: ruleLiteral returns [EObject current=null] : (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) ; public final EObject ruleLiteral() throws RecognitionException { EObject current = null; @@ -5808,50 +7444,50 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2276:2: ( (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) ) - // InternalSolverLanguageParser.g:2277:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) + // InternalSolverLanguageParser.g:2975:2: ( (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) ) + // InternalSolverLanguageParser.g:2976:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) { - // InternalSolverLanguageParser.g:2277:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) - int alt25=5; + // InternalSolverLanguageParser.g:2976:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) + int alt34=5; switch ( input.LA(1) ) { case Unknown: case Error: case False: case True: { - alt25=1; + alt34=1; } break; case RULE_INT: { - alt25=2; + alt34=2; } break; case Inf: { - alt25=3; + alt34=3; } break; case Empty: { - alt25=4; + alt34=4; } break; case RULE_STRING: { - alt25=5; + alt34=5; } break; default: NoViableAltException nvae = - new NoViableAltException("", 25, 0, input); + new NoViableAltException("", 34, 0, input); throw nvae; } - switch (alt25) { + switch (alt34) { case 1 : - // InternalSolverLanguageParser.g:2278:3: this_LogicLiteral_0= ruleLogicLiteral + // InternalSolverLanguageParser.g:2977:3: this_LogicLiteral_0= ruleLogicLiteral { newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); @@ -5869,7 +7505,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:2287:3: this_NumericLiteral_1= ruleNumericLiteral + // InternalSolverLanguageParser.g:2986:3: this_NumericLiteral_1= ruleNumericLiteral { newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); @@ -5887,7 +7523,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguageParser.g:2296:3: this_InfinityLiteral_2= ruleInfinityLiteral + // InternalSolverLanguageParser.g:2995:3: this_InfinityLiteral_2= ruleInfinityLiteral { newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); @@ -5905,7 +7541,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 4 : - // InternalSolverLanguageParser.g:2305:3: this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral + // InternalSolverLanguageParser.g:3004:3: this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral { newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); @@ -5923,7 +7559,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 5 : - // InternalSolverLanguageParser.g:2314:3: this_StringLiteral_4= ruleStringLiteral + // InternalSolverLanguageParser.g:3013:3: this_StringLiteral_4= ruleStringLiteral { newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); @@ -5963,7 +7599,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleLogicLiteral" - // InternalSolverLanguageParser.g:2326:1: entryRuleLogicLiteral returns [EObject current=null] : iv_ruleLogicLiteral= ruleLogicLiteral EOF ; + // InternalSolverLanguageParser.g:3025:1: entryRuleLogicLiteral returns [EObject current=null] : iv_ruleLogicLiteral= ruleLogicLiteral EOF ; public final EObject entryRuleLogicLiteral() throws RecognitionException { EObject current = null; @@ -5971,8 +7607,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2326:53: (iv_ruleLogicLiteral= ruleLogicLiteral EOF ) - // InternalSolverLanguageParser.g:2327:2: iv_ruleLogicLiteral= ruleLogicLiteral EOF + // InternalSolverLanguageParser.g:3025:53: (iv_ruleLogicLiteral= ruleLogicLiteral EOF ) + // InternalSolverLanguageParser.g:3026:2: iv_ruleLogicLiteral= ruleLogicLiteral EOF { newCompositeNode(grammarAccess.getLogicLiteralRule()); pushFollow(FOLLOW_1); @@ -5999,7 +7635,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleLogicLiteral" - // InternalSolverLanguageParser.g:2333:1: ruleLogicLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleLogicValue ) ) ; + // InternalSolverLanguageParser.g:3032:1: ruleLogicLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleLogicValue ) ) ; public final EObject ruleLogicLiteral() throws RecognitionException { EObject current = null; @@ -6010,14 +7646,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2339:2: ( ( (lv_value_0_0= ruleLogicValue ) ) ) - // InternalSolverLanguageParser.g:2340:2: ( (lv_value_0_0= ruleLogicValue ) ) + // InternalSolverLanguageParser.g:3038:2: ( ( (lv_value_0_0= ruleLogicValue ) ) ) + // InternalSolverLanguageParser.g:3039:2: ( (lv_value_0_0= ruleLogicValue ) ) { - // InternalSolverLanguageParser.g:2340:2: ( (lv_value_0_0= ruleLogicValue ) ) - // InternalSolverLanguageParser.g:2341:3: (lv_value_0_0= ruleLogicValue ) + // InternalSolverLanguageParser.g:3039:2: ( (lv_value_0_0= ruleLogicValue ) ) + // InternalSolverLanguageParser.g:3040:3: (lv_value_0_0= ruleLogicValue ) { - // InternalSolverLanguageParser.g:2341:3: (lv_value_0_0= ruleLogicValue ) - // InternalSolverLanguageParser.g:2342:4: lv_value_0_0= ruleLogicValue + // InternalSolverLanguageParser.g:3040:3: (lv_value_0_0= ruleLogicValue ) + // InternalSolverLanguageParser.g:3041:4: lv_value_0_0= ruleLogicValue { newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); @@ -6064,7 +7700,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleNumericLiteral" - // InternalSolverLanguageParser.g:2362:1: entryRuleNumericLiteral returns [EObject current=null] : iv_ruleNumericLiteral= ruleNumericLiteral EOF ; + // InternalSolverLanguageParser.g:3061:1: entryRuleNumericLiteral returns [EObject current=null] : iv_ruleNumericLiteral= ruleNumericLiteral EOF ; public final EObject entryRuleNumericLiteral() throws RecognitionException { EObject current = null; @@ -6072,8 +7708,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2362:55: (iv_ruleNumericLiteral= ruleNumericLiteral EOF ) - // InternalSolverLanguageParser.g:2363:2: iv_ruleNumericLiteral= ruleNumericLiteral EOF + // InternalSolverLanguageParser.g:3061:55: (iv_ruleNumericLiteral= ruleNumericLiteral EOF ) + // InternalSolverLanguageParser.g:3062:2: iv_ruleNumericLiteral= ruleNumericLiteral EOF { newCompositeNode(grammarAccess.getNumericLiteralRule()); pushFollow(FOLLOW_1); @@ -6100,7 +7736,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleNumericLiteral" - // InternalSolverLanguageParser.g:2369:1: ruleNumericLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleReal ) ) ; + // InternalSolverLanguageParser.g:3068:1: ruleNumericLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleReal ) ) ; public final EObject ruleNumericLiteral() throws RecognitionException { EObject current = null; @@ -6111,14 +7747,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2375:2: ( ( (lv_value_0_0= ruleReal ) ) ) - // InternalSolverLanguageParser.g:2376:2: ( (lv_value_0_0= ruleReal ) ) + // InternalSolverLanguageParser.g:3074:2: ( ( (lv_value_0_0= ruleReal ) ) ) + // InternalSolverLanguageParser.g:3075:2: ( (lv_value_0_0= ruleReal ) ) { - // InternalSolverLanguageParser.g:2376:2: ( (lv_value_0_0= ruleReal ) ) - // InternalSolverLanguageParser.g:2377:3: (lv_value_0_0= ruleReal ) + // InternalSolverLanguageParser.g:3075:2: ( (lv_value_0_0= ruleReal ) ) + // InternalSolverLanguageParser.g:3076:3: (lv_value_0_0= ruleReal ) { - // InternalSolverLanguageParser.g:2377:3: (lv_value_0_0= ruleReal ) - // InternalSolverLanguageParser.g:2378:4: lv_value_0_0= ruleReal + // InternalSolverLanguageParser.g:3076:3: (lv_value_0_0= ruleReal ) + // InternalSolverLanguageParser.g:3077:4: lv_value_0_0= ruleReal { newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); @@ -6165,7 +7801,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleInfinityLiteral" - // InternalSolverLanguageParser.g:2398:1: entryRuleInfinityLiteral returns [EObject current=null] : iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ; + // InternalSolverLanguageParser.g:3097:1: entryRuleInfinityLiteral returns [EObject current=null] : iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ; public final EObject entryRuleInfinityLiteral() throws RecognitionException { EObject current = null; @@ -6173,8 +7809,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2398:56: (iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ) - // InternalSolverLanguageParser.g:2399:2: iv_ruleInfinityLiteral= ruleInfinityLiteral EOF + // InternalSolverLanguageParser.g:3097:56: (iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ) + // InternalSolverLanguageParser.g:3098:2: iv_ruleInfinityLiteral= ruleInfinityLiteral EOF { newCompositeNode(grammarAccess.getInfinityLiteralRule()); pushFollow(FOLLOW_1); @@ -6201,7 +7837,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleInfinityLiteral" - // InternalSolverLanguageParser.g:2405:1: ruleInfinityLiteral returns [EObject current=null] : ( () otherlv_1= Inf ) ; + // InternalSolverLanguageParser.g:3104:1: ruleInfinityLiteral returns [EObject current=null] : ( () otherlv_1= Inf ) ; public final EObject ruleInfinityLiteral() throws RecognitionException { EObject current = null; @@ -6211,14 +7847,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2411:2: ( ( () otherlv_1= Inf ) ) - // InternalSolverLanguageParser.g:2412:2: ( () otherlv_1= Inf ) + // InternalSolverLanguageParser.g:3110:2: ( ( () otherlv_1= Inf ) ) + // InternalSolverLanguageParser.g:3111:2: ( () otherlv_1= Inf ) { - // InternalSolverLanguageParser.g:2412:2: ( () otherlv_1= Inf ) - // InternalSolverLanguageParser.g:2413:3: () otherlv_1= Inf + // InternalSolverLanguageParser.g:3111:2: ( () otherlv_1= Inf ) + // InternalSolverLanguageParser.g:3112:3: () otherlv_1= Inf { - // InternalSolverLanguageParser.g:2413:3: () - // InternalSolverLanguageParser.g:2414:4: + // InternalSolverLanguageParser.g:3112:3: () + // InternalSolverLanguageParser.g:3113:4: { current = forceCreateModelElement( @@ -6255,7 +7891,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleEmptyIntervalLiteral" - // InternalSolverLanguageParser.g:2428:1: entryRuleEmptyIntervalLiteral returns [EObject current=null] : iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ; + // InternalSolverLanguageParser.g:3127:1: entryRuleEmptyIntervalLiteral returns [EObject current=null] : iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ; public final EObject entryRuleEmptyIntervalLiteral() throws RecognitionException { EObject current = null; @@ -6263,8 +7899,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2428:61: (iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ) - // InternalSolverLanguageParser.g:2429:2: iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF + // InternalSolverLanguageParser.g:3127:61: (iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ) + // InternalSolverLanguageParser.g:3128:2: iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF { newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule()); pushFollow(FOLLOW_1); @@ -6291,7 +7927,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleEmptyIntervalLiteral" - // InternalSolverLanguageParser.g:2435:1: ruleEmptyIntervalLiteral returns [EObject current=null] : ( () otherlv_1= Empty ) ; + // InternalSolverLanguageParser.g:3134:1: ruleEmptyIntervalLiteral returns [EObject current=null] : ( () otherlv_1= Empty ) ; public final EObject ruleEmptyIntervalLiteral() throws RecognitionException { EObject current = null; @@ -6301,14 +7937,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2441:2: ( ( () otherlv_1= Empty ) ) - // InternalSolverLanguageParser.g:2442:2: ( () otherlv_1= Empty ) + // InternalSolverLanguageParser.g:3140:2: ( ( () otherlv_1= Empty ) ) + // InternalSolverLanguageParser.g:3141:2: ( () otherlv_1= Empty ) { - // InternalSolverLanguageParser.g:2442:2: ( () otherlv_1= Empty ) - // InternalSolverLanguageParser.g:2443:3: () otherlv_1= Empty + // InternalSolverLanguageParser.g:3141:2: ( () otherlv_1= Empty ) + // InternalSolverLanguageParser.g:3142:3: () otherlv_1= Empty { - // InternalSolverLanguageParser.g:2443:3: () - // InternalSolverLanguageParser.g:2444:4: + // InternalSolverLanguageParser.g:3142:3: () + // InternalSolverLanguageParser.g:3143:4: { current = forceCreateModelElement( @@ -6345,7 +7981,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleStringLiteral" - // InternalSolverLanguageParser.g:2458:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ; + // InternalSolverLanguageParser.g:3157:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ; public final EObject entryRuleStringLiteral() throws RecognitionException { EObject current = null; @@ -6353,8 +7989,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2458:54: (iv_ruleStringLiteral= ruleStringLiteral EOF ) - // InternalSolverLanguageParser.g:2459:2: iv_ruleStringLiteral= ruleStringLiteral EOF + // InternalSolverLanguageParser.g:3157:54: (iv_ruleStringLiteral= ruleStringLiteral EOF ) + // InternalSolverLanguageParser.g:3158:2: iv_ruleStringLiteral= ruleStringLiteral EOF { newCompositeNode(grammarAccess.getStringLiteralRule()); pushFollow(FOLLOW_1); @@ -6381,7 +8017,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleStringLiteral" - // InternalSolverLanguageParser.g:2465:1: ruleStringLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; + // InternalSolverLanguageParser.g:3164:1: ruleStringLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; public final EObject ruleStringLiteral() throws RecognitionException { EObject current = null; @@ -6391,14 +8027,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2471:2: ( ( (lv_value_0_0= RULE_STRING ) ) ) - // InternalSolverLanguageParser.g:2472:2: ( (lv_value_0_0= RULE_STRING ) ) + // InternalSolverLanguageParser.g:3170:2: ( ( (lv_value_0_0= RULE_STRING ) ) ) + // InternalSolverLanguageParser.g:3171:2: ( (lv_value_0_0= RULE_STRING ) ) { - // InternalSolverLanguageParser.g:2472:2: ( (lv_value_0_0= RULE_STRING ) ) - // InternalSolverLanguageParser.g:2473:3: (lv_value_0_0= RULE_STRING ) + // InternalSolverLanguageParser.g:3171:2: ( (lv_value_0_0= RULE_STRING ) ) + // InternalSolverLanguageParser.g:3172:3: (lv_value_0_0= RULE_STRING ) { - // InternalSolverLanguageParser.g:2473:3: (lv_value_0_0= RULE_STRING ) - // InternalSolverLanguageParser.g:2474:4: lv_value_0_0= RULE_STRING + // InternalSolverLanguageParser.g:3172:3: (lv_value_0_0= RULE_STRING ) + // InternalSolverLanguageParser.g:3173:4: lv_value_0_0= RULE_STRING { lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); @@ -6440,7 +8076,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleClassDefinition" - // InternalSolverLanguageParser.g:2493:1: entryRuleClassDefinition returns [EObject current=null] : iv_ruleClassDefinition= ruleClassDefinition EOF ; + // InternalSolverLanguageParser.g:3192:1: entryRuleClassDefinition returns [EObject current=null] : iv_ruleClassDefinition= ruleClassDefinition EOF ; public final EObject entryRuleClassDefinition() throws RecognitionException { EObject current = null; @@ -6448,8 +8084,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2493:56: (iv_ruleClassDefinition= ruleClassDefinition EOF ) - // InternalSolverLanguageParser.g:2494:2: iv_ruleClassDefinition= ruleClassDefinition EOF + // InternalSolverLanguageParser.g:3192:56: (iv_ruleClassDefinition= ruleClassDefinition EOF ) + // InternalSolverLanguageParser.g:3193:2: iv_ruleClassDefinition= ruleClassDefinition EOF { newCompositeNode(grammarAccess.getClassDefinitionRule()); pushFollow(FOLLOW_1); @@ -6476,7 +8112,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleClassDefinition" - // InternalSolverLanguageParser.g:2500:1: ruleClassDefinition returns [EObject current=null] : ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) ; + // InternalSolverLanguageParser.g:3199:1: ruleClassDefinition returns [EObject current=null] : ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) ; public final EObject ruleClassDefinition() throws RecognitionException { EObject current = null; @@ -6494,27 +8130,27 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2506:2: ( ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) ) - // InternalSolverLanguageParser.g:2507:2: ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) + // InternalSolverLanguageParser.g:3205:2: ( ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) ) + // InternalSolverLanguageParser.g:3206:2: ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) { - // InternalSolverLanguageParser.g:2507:2: ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) - // InternalSolverLanguageParser.g:2508:3: ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket + // InternalSolverLanguageParser.g:3206:2: ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) + // InternalSolverLanguageParser.g:3207:3: ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket { - // InternalSolverLanguageParser.g:2508:3: ( (lv_abstract_0_0= Abstract ) )? - int alt26=2; - int LA26_0 = input.LA(1); + // InternalSolverLanguageParser.g:3207:3: ( (lv_abstract_0_0= Abstract ) )? + int alt35=2; + int LA35_0 = input.LA(1); - if ( (LA26_0==Abstract) ) { - alt26=1; + if ( (LA35_0==Abstract) ) { + alt35=1; } - switch (alt26) { + switch (alt35) { case 1 : - // InternalSolverLanguageParser.g:2509:4: (lv_abstract_0_0= Abstract ) + // InternalSolverLanguageParser.g:3208:4: (lv_abstract_0_0= Abstract ) { - // InternalSolverLanguageParser.g:2509:4: (lv_abstract_0_0= Abstract ) - // InternalSolverLanguageParser.g:2510:5: lv_abstract_0_0= Abstract + // InternalSolverLanguageParser.g:3208:4: (lv_abstract_0_0= Abstract ) + // InternalSolverLanguageParser.g:3209:5: lv_abstract_0_0= Abstract { - lv_abstract_0_0=(Token)match(input,Abstract,FOLLOW_37); + lv_abstract_0_0=(Token)match(input,Abstract,FOLLOW_46); newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); @@ -6533,17 +8169,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_1=(Token)match(input,Class,FOLLOW_38); + otherlv_1=(Token)match(input,Class,FOLLOW_20); newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); - // InternalSolverLanguageParser.g:2526:3: ( (lv_name_2_0= RULE_ID ) ) - // InternalSolverLanguageParser.g:2527:4: (lv_name_2_0= RULE_ID ) + // InternalSolverLanguageParser.g:3225:3: ( (lv_name_2_0= RULE_ID ) ) + // InternalSolverLanguageParser.g:3226:4: (lv_name_2_0= RULE_ID ) { - // InternalSolverLanguageParser.g:2527:4: (lv_name_2_0= RULE_ID ) - // InternalSolverLanguageParser.g:2528:5: lv_name_2_0= RULE_ID + // InternalSolverLanguageParser.g:3226:4: (lv_name_2_0= RULE_ID ) + // InternalSolverLanguageParser.g:3227:5: lv_name_2_0= RULE_ID { - lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_39); + lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_47); newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); @@ -6563,26 +8199,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:2544:3: (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? - int alt28=2; - int LA28_0 = input.LA(1); + // InternalSolverLanguageParser.g:3243:3: (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? + int alt37=2; + int LA37_0 = input.LA(1); - if ( (LA28_0==Extends) ) { - alt28=1; + if ( (LA37_0==Extends) ) { + alt37=1; } - switch (alt28) { + switch (alt37) { case 1 : - // InternalSolverLanguageParser.g:2545:4: otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* + // InternalSolverLanguageParser.g:3244:4: otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* { otherlv_3=(Token)match(input,Extends,FOLLOW_8); newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); - // InternalSolverLanguageParser.g:2549:4: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:2550:5: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3248:4: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3249:5: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:2550:5: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:2551:6: ruleQualifiedName + // InternalSolverLanguageParser.g:3249:5: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3250:6: ruleQualifiedName { if (current==null) { @@ -6592,7 +8228,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); - pushFollow(FOLLOW_40); + pushFollow(FOLLOW_48); ruleQualifiedName(); state._fsp--; @@ -6606,30 +8242,30 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:2565:4: (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* - loop27: + // InternalSolverLanguageParser.g:3264:4: (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* + loop36: do { - int alt27=2; - int LA27_0 = input.LA(1); + int alt36=2; + int LA36_0 = input.LA(1); - if ( (LA27_0==Comma) ) { - alt27=1; + if ( (LA36_0==Comma) ) { + alt36=1; } - switch (alt27) { + switch (alt36) { case 1 : - // InternalSolverLanguageParser.g:2566:5: otherlv_5= Comma ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3265:5: otherlv_5= Comma ( ( ruleQualifiedName ) ) { otherlv_5=(Token)match(input,Comma,FOLLOW_8); newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); - // InternalSolverLanguageParser.g:2570:5: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:2571:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3269:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3270:6: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:2571:6: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:2572:7: ruleQualifiedName + // InternalSolverLanguageParser.g:3270:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3271:7: ruleQualifiedName { if (current==null) { @@ -6639,7 +8275,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); - pushFollow(FOLLOW_40); + pushFollow(FOLLOW_48); ruleQualifiedName(); state._fsp--; @@ -6658,7 +8294,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop27; + break loop36; } } while (true); @@ -6668,32 +8304,32 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_7=(Token)match(input,LeftCurlyBracket,FOLLOW_41); + otherlv_7=(Token)match(input,LeftCurlyBracket,FOLLOW_49); newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); - // InternalSolverLanguageParser.g:2592:3: ( (lv_members_8_0= ruleMemberDefinition ) )* - loop29: + // InternalSolverLanguageParser.g:3291:3: ( (lv_members_8_0= ruleMemberDefinition ) )* + loop38: do { - int alt29=2; - int LA29_0 = input.LA(1); + int alt38=2; + int LA38_0 = input.LA(1); - if ( (LA29_0==Contains||LA29_0==RULE_QUOTED_ID||LA29_0==RULE_ID) ) { - alt29=1; + if ( (LA38_0==Contains||LA38_0==RULE_QUOTED_ID||LA38_0==RULE_ID) ) { + alt38=1; } - switch (alt29) { + switch (alt38) { case 1 : - // InternalSolverLanguageParser.g:2593:4: (lv_members_8_0= ruleMemberDefinition ) + // InternalSolverLanguageParser.g:3292:4: (lv_members_8_0= ruleMemberDefinition ) { - // InternalSolverLanguageParser.g:2593:4: (lv_members_8_0= ruleMemberDefinition ) - // InternalSolverLanguageParser.g:2594:5: lv_members_8_0= ruleMemberDefinition + // InternalSolverLanguageParser.g:3292:4: (lv_members_8_0= ruleMemberDefinition ) + // InternalSolverLanguageParser.g:3293:5: lv_members_8_0= ruleMemberDefinition { newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); - pushFollow(FOLLOW_41); + pushFollow(FOLLOW_49); lv_members_8_0=ruleMemberDefinition(); state._fsp--; @@ -6717,7 +8353,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop29; + break loop38; } } while (true); @@ -6748,7 +8384,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleMemberDefinition" - // InternalSolverLanguageParser.g:2619:1: entryRuleMemberDefinition returns [EObject current=null] : iv_ruleMemberDefinition= ruleMemberDefinition EOF ; + // InternalSolverLanguageParser.g:3318:1: entryRuleMemberDefinition returns [EObject current=null] : iv_ruleMemberDefinition= ruleMemberDefinition EOF ; public final EObject entryRuleMemberDefinition() throws RecognitionException { EObject current = null; @@ -6756,8 +8392,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2619:57: (iv_ruleMemberDefinition= ruleMemberDefinition EOF ) - // InternalSolverLanguageParser.g:2620:2: iv_ruleMemberDefinition= ruleMemberDefinition EOF + // InternalSolverLanguageParser.g:3318:57: (iv_ruleMemberDefinition= ruleMemberDefinition EOF ) + // InternalSolverLanguageParser.g:3319:2: iv_ruleMemberDefinition= ruleMemberDefinition EOF { newCompositeNode(grammarAccess.getMemberDefinitionRule()); pushFollow(FOLLOW_1); @@ -6784,7 +8420,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleMemberDefinition" - // InternalSolverLanguageParser.g:2626:1: ruleMemberDefinition returns [EObject current=null] : ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) ; + // InternalSolverLanguageParser.g:3325:1: ruleMemberDefinition returns [EObject current=null] : ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) ; public final EObject ruleMemberDefinition() throws RecognitionException { EObject current = null; @@ -6799,25 +8435,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2632:2: ( ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) ) - // InternalSolverLanguageParser.g:2633:2: ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) + // InternalSolverLanguageParser.g:3331:2: ( ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) ) + // InternalSolverLanguageParser.g:3332:2: ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) { - // InternalSolverLanguageParser.g:2633:2: ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) - // InternalSolverLanguageParser.g:2634:3: ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? + // InternalSolverLanguageParser.g:3332:2: ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) + // InternalSolverLanguageParser.g:3333:3: ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? { - // InternalSolverLanguageParser.g:2634:3: ( (lv_containment_0_0= Contains ) )? - int alt30=2; - int LA30_0 = input.LA(1); + // InternalSolverLanguageParser.g:3333:3: ( (lv_containment_0_0= Contains ) )? + int alt39=2; + int LA39_0 = input.LA(1); - if ( (LA30_0==Contains) ) { - alt30=1; + if ( (LA39_0==Contains) ) { + alt39=1; } - switch (alt30) { + switch (alt39) { case 1 : - // InternalSolverLanguageParser.g:2635:4: (lv_containment_0_0= Contains ) + // InternalSolverLanguageParser.g:3334:4: (lv_containment_0_0= Contains ) { - // InternalSolverLanguageParser.g:2635:4: (lv_containment_0_0= Contains ) - // InternalSolverLanguageParser.g:2636:5: lv_containment_0_0= Contains + // InternalSolverLanguageParser.g:3334:4: (lv_containment_0_0= Contains ) + // InternalSolverLanguageParser.g:3335:5: lv_containment_0_0= Contains { lv_containment_0_0=(Token)match(input,Contains,FOLLOW_8); @@ -6838,11 +8474,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:2648:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:2649:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3347:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3348:4: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:2649:4: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:2650:5: ruleQualifiedName + // InternalSolverLanguageParser.g:3348:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3349:5: ruleQualifiedName { if (current==null) { @@ -6852,7 +8488,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); - pushFollow(FOLLOW_42); + pushFollow(FOLLOW_50); ruleQualifiedName(); state._fsp--; @@ -6866,24 +8502,24 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:2664:3: ( (lv_multiplicity_2_0= ruleMultiplicity ) )? - int alt31=2; - int LA31_0 = input.LA(1); + // InternalSolverLanguageParser.g:3363:3: ( (lv_multiplicity_2_0= ruleMultiplicity ) )? + int alt40=2; + int LA40_0 = input.LA(1); - if ( (LA31_0==LeftSquareBracket) ) { - alt31=1; + if ( (LA40_0==LeftSquareBracket) ) { + alt40=1; } - switch (alt31) { + switch (alt40) { case 1 : - // InternalSolverLanguageParser.g:2665:4: (lv_multiplicity_2_0= ruleMultiplicity ) + // InternalSolverLanguageParser.g:3364:4: (lv_multiplicity_2_0= ruleMultiplicity ) { - // InternalSolverLanguageParser.g:2665:4: (lv_multiplicity_2_0= ruleMultiplicity ) - // InternalSolverLanguageParser.g:2666:5: lv_multiplicity_2_0= ruleMultiplicity + // InternalSolverLanguageParser.g:3364:4: (lv_multiplicity_2_0= ruleMultiplicity ) + // InternalSolverLanguageParser.g:3365:5: lv_multiplicity_2_0= ruleMultiplicity { newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_20); lv_multiplicity_2_0=ruleMultiplicity(); state._fsp--; @@ -6908,13 +8544,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:2683:3: ( (lv_name_3_0= RULE_ID ) ) - // InternalSolverLanguageParser.g:2684:4: (lv_name_3_0= RULE_ID ) + // InternalSolverLanguageParser.g:3382:3: ( (lv_name_3_0= RULE_ID ) ) + // InternalSolverLanguageParser.g:3383:4: (lv_name_3_0= RULE_ID ) { - // InternalSolverLanguageParser.g:2684:4: (lv_name_3_0= RULE_ID ) - // InternalSolverLanguageParser.g:2685:5: lv_name_3_0= RULE_ID + // InternalSolverLanguageParser.g:3383:4: (lv_name_3_0= RULE_ID ) + // InternalSolverLanguageParser.g:3384:5: lv_name_3_0= RULE_ID { - lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_43); + lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_51); newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); @@ -6934,26 +8570,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:2701:3: (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? - int alt32=2; - int LA32_0 = input.LA(1); + // InternalSolverLanguageParser.g:3400:3: (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? + int alt41=2; + int LA41_0 = input.LA(1); - if ( (LA32_0==Opposite) ) { - alt32=1; + if ( (LA41_0==Opposite) ) { + alt41=1; } - switch (alt32) { + switch (alt41) { case 1 : - // InternalSolverLanguageParser.g:2702:4: otherlv_4= Opposite ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3401:4: otherlv_4= Opposite ( ( ruleQualifiedName ) ) { otherlv_4=(Token)match(input,Opposite,FOLLOW_8); newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); - // InternalSolverLanguageParser.g:2706:4: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:2707:5: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3405:4: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3406:5: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:2707:5: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:2708:6: ruleQualifiedName + // InternalSolverLanguageParser.g:3406:5: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3407:6: ruleQualifiedName { if (current==null) { @@ -6963,7 +8599,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); - pushFollow(FOLLOW_18); + pushFollow(FOLLOW_26); ruleQualifiedName(); state._fsp--; @@ -6983,16 +8619,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:2723:3: (otherlv_6= Semicolon )? - int alt33=2; - int LA33_0 = input.LA(1); + // InternalSolverLanguageParser.g:3422:3: (otherlv_6= Semicolon )? + int alt42=2; + int LA42_0 = input.LA(1); - if ( (LA33_0==Semicolon) ) { - alt33=1; + if ( (LA42_0==Semicolon) ) { + alt42=1; } - switch (alt33) { + switch (alt42) { case 1 : - // InternalSolverLanguageParser.g:2724:4: otherlv_6= Semicolon + // InternalSolverLanguageParser.g:3423:4: otherlv_6= Semicolon { otherlv_6=(Token)match(input,Semicolon,FOLLOW_2); @@ -7027,7 +8663,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleMultiplicity" - // InternalSolverLanguageParser.g:2733:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ; + // InternalSolverLanguageParser.g:3432:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ; public final EObject entryRuleMultiplicity() throws RecognitionException { EObject current = null; @@ -7035,8 +8671,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2733:53: (iv_ruleMultiplicity= ruleMultiplicity EOF ) - // InternalSolverLanguageParser.g:2734:2: iv_ruleMultiplicity= ruleMultiplicity EOF + // InternalSolverLanguageParser.g:3432:53: (iv_ruleMultiplicity= ruleMultiplicity EOF ) + // InternalSolverLanguageParser.g:3433:2: iv_ruleMultiplicity= ruleMultiplicity EOF { newCompositeNode(grammarAccess.getMultiplicityRule()); pushFollow(FOLLOW_1); @@ -7063,7 +8699,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleMultiplicity" - // InternalSolverLanguageParser.g:2740:1: ruleMultiplicity returns [EObject current=null] : (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ; + // InternalSolverLanguageParser.g:3439: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; @@ -7078,28 +8714,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2746:2: ( (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ) - // InternalSolverLanguageParser.g:2747:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) + // InternalSolverLanguageParser.g:3445:2: ( (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ) + // InternalSolverLanguageParser.g:3446:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) { - // InternalSolverLanguageParser.g:2747:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) - int alt34=3; - int LA34_0 = input.LA(1); + // InternalSolverLanguageParser.g:3446:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) + int alt43=3; + int LA43_0 = input.LA(1); - if ( (LA34_0==LeftSquareBracket) ) { + if ( (LA43_0==LeftSquareBracket) ) { switch ( input.LA(2) ) { case RULE_INT: { - int LA34_2 = input.LA(3); + int LA43_2 = input.LA(3); - if ( (LA34_2==FullStopFullStop) ) { - alt34=3; + if ( (LA43_2==FullStopFullStop) ) { + alt43=3; } - else if ( (LA34_2==RightSquareBracket) ) { - alt34=2; + else if ( (LA43_2==RightSquareBracket) ) { + alt43=2; } else { NoViableAltException nvae = - new NoViableAltException("", 34, 2, input); + new NoViableAltException("", 43, 2, input); throw nvae; } @@ -7107,17 +8743,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; case Asterisk: { - alt34=2; + alt43=2; } break; case RightSquareBracket: { - alt34=1; + alt43=1; } break; default: NoViableAltException nvae = - new NoViableAltException("", 34, 1, input); + new NoViableAltException("", 43, 1, input); throw nvae; } @@ -7125,13 +8761,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } else { NoViableAltException nvae = - new NoViableAltException("", 34, 0, input); + new NoViableAltException("", 43, 0, input); throw nvae; } - switch (alt34) { + switch (alt43) { case 1 : - // InternalSolverLanguageParser.g:2748:3: this_ManyMultiplicity_0= ruleManyMultiplicity + // InternalSolverLanguageParser.g:3447:3: this_ManyMultiplicity_0= ruleManyMultiplicity { newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); @@ -7149,7 +8785,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:2757:3: this_ExactMultiplicity_1= ruleExactMultiplicity + // InternalSolverLanguageParser.g:3456:3: this_ExactMultiplicity_1= ruleExactMultiplicity { newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); @@ -7167,7 +8803,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguageParser.g:2766:3: this_BoundedMultiplicity_2= ruleBoundedMultiplicity + // InternalSolverLanguageParser.g:3465:3: this_BoundedMultiplicity_2= ruleBoundedMultiplicity { newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); @@ -7207,7 +8843,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleManyMultiplicity" - // InternalSolverLanguageParser.g:2778:1: entryRuleManyMultiplicity returns [EObject current=null] : iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ; + // InternalSolverLanguageParser.g:3477:1: entryRuleManyMultiplicity returns [EObject current=null] : iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ; public final EObject entryRuleManyMultiplicity() throws RecognitionException { EObject current = null; @@ -7215,8 +8851,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2778:57: (iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ) - // InternalSolverLanguageParser.g:2779:2: iv_ruleManyMultiplicity= ruleManyMultiplicity EOF + // InternalSolverLanguageParser.g:3477:57: (iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ) + // InternalSolverLanguageParser.g:3478:2: iv_ruleManyMultiplicity= ruleManyMultiplicity EOF { newCompositeNode(grammarAccess.getManyMultiplicityRule()); pushFollow(FOLLOW_1); @@ -7243,7 +8879,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleManyMultiplicity" - // InternalSolverLanguageParser.g:2785:1: ruleManyMultiplicity returns [EObject current=null] : ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ; + // InternalSolverLanguageParser.g:3484:1: ruleManyMultiplicity returns [EObject current=null] : ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ; public final EObject ruleManyMultiplicity() throws RecognitionException { EObject current = null; @@ -7254,14 +8890,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2791:2: ( ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ) - // InternalSolverLanguageParser.g:2792:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) + // InternalSolverLanguageParser.g:3490:2: ( ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ) + // InternalSolverLanguageParser.g:3491:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) { - // InternalSolverLanguageParser.g:2792:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) - // InternalSolverLanguageParser.g:2793:3: () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket + // InternalSolverLanguageParser.g:3491:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) + // InternalSolverLanguageParser.g:3492:3: () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket { - // InternalSolverLanguageParser.g:2793:3: () - // InternalSolverLanguageParser.g:2794:4: + // InternalSolverLanguageParser.g:3492:3: () + // InternalSolverLanguageParser.g:3493:4: { current = forceCreateModelElement( @@ -7271,7 +8907,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_1=(Token)match(input,LeftSquareBracket,FOLLOW_36); + otherlv_1=(Token)match(input,LeftSquareBracket,FOLLOW_45); newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); @@ -7302,7 +8938,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleExactMultiplicity" - // InternalSolverLanguageParser.g:2812:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ; + // InternalSolverLanguageParser.g:3511:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ; public final EObject entryRuleExactMultiplicity() throws RecognitionException { EObject current = null; @@ -7310,8 +8946,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2812:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ) - // InternalSolverLanguageParser.g:2813:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF + // InternalSolverLanguageParser.g:3511:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ) + // InternalSolverLanguageParser.g:3512:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF { newCompositeNode(grammarAccess.getExactMultiplicityRule()); pushFollow(FOLLOW_1); @@ -7338,7 +8974,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExactMultiplicity" - // InternalSolverLanguageParser.g:2819:1: ruleExactMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ; + // InternalSolverLanguageParser.g:3518:1: ruleExactMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ; public final EObject ruleExactMultiplicity() throws RecognitionException { EObject current = null; @@ -7351,26 +8987,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2825:2: ( (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ) - // InternalSolverLanguageParser.g:2826:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) + // InternalSolverLanguageParser.g:3524:2: ( (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ) + // InternalSolverLanguageParser.g:3525:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) { - // InternalSolverLanguageParser.g:2826:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) - // InternalSolverLanguageParser.g:2827:3: otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket + // InternalSolverLanguageParser.g:3525:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) + // InternalSolverLanguageParser.g:3526:3: otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket { - otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_44); + otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_52); newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); - // InternalSolverLanguageParser.g:2831:3: ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) - // InternalSolverLanguageParser.g:2832:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) + // InternalSolverLanguageParser.g:3530:3: ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) + // InternalSolverLanguageParser.g:3531:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) { - // InternalSolverLanguageParser.g:2832:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) - // InternalSolverLanguageParser.g:2833:5: lv_multiplicity_1_0= ruleUpperMultiplicty + // InternalSolverLanguageParser.g:3531:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) + // InternalSolverLanguageParser.g:3532:5: lv_multiplicity_1_0= ruleUpperMultiplicty { newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); - pushFollow(FOLLOW_36); + pushFollow(FOLLOW_45); lv_multiplicity_1_0=ruleUpperMultiplicty(); state._fsp--; @@ -7419,7 +9055,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleBoundedMultiplicity" - // InternalSolverLanguageParser.g:2858:1: entryRuleBoundedMultiplicity returns [EObject current=null] : iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ; + // InternalSolverLanguageParser.g:3557:1: entryRuleBoundedMultiplicity returns [EObject current=null] : iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ; public final EObject entryRuleBoundedMultiplicity() throws RecognitionException { EObject current = null; @@ -7427,8 +9063,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2858:60: (iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ) - // InternalSolverLanguageParser.g:2859:2: iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF + // InternalSolverLanguageParser.g:3557:60: (iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ) + // InternalSolverLanguageParser.g:3558:2: iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF { newCompositeNode(grammarAccess.getBoundedMultiplicityRule()); pushFollow(FOLLOW_1); @@ -7455,7 +9091,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleBoundedMultiplicity" - // InternalSolverLanguageParser.g:2865:1: ruleBoundedMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) ; + // InternalSolverLanguageParser.g:3564:1: ruleBoundedMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) ; public final EObject ruleBoundedMultiplicity() throws RecognitionException { EObject current = null; @@ -7470,23 +9106,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2871:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) ) - // InternalSolverLanguageParser.g:2872:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) + // InternalSolverLanguageParser.g:3570:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) ) + // InternalSolverLanguageParser.g:3571:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) { - // InternalSolverLanguageParser.g:2872:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) - // InternalSolverLanguageParser.g:2873:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket + // InternalSolverLanguageParser.g:3571:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) + // InternalSolverLanguageParser.g:3572:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket { - otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_45); + otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_53); newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); - // InternalSolverLanguageParser.g:2877:3: ( (lv_lowerBound_1_0= RULE_INT ) ) - // InternalSolverLanguageParser.g:2878:4: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguageParser.g:3576:3: ( (lv_lowerBound_1_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3577:4: (lv_lowerBound_1_0= RULE_INT ) { - // InternalSolverLanguageParser.g:2878:4: (lv_lowerBound_1_0= RULE_INT ) - // InternalSolverLanguageParser.g:2879:5: lv_lowerBound_1_0= RULE_INT + // InternalSolverLanguageParser.g:3577:4: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguageParser.g:3578:5: lv_lowerBound_1_0= RULE_INT { - lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_35); + lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_44); newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); @@ -7506,20 +9142,20 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_2=(Token)match(input,FullStopFullStop,FOLLOW_44); + otherlv_2=(Token)match(input,FullStopFullStop,FOLLOW_52); newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); - // InternalSolverLanguageParser.g:2899:3: ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) - // InternalSolverLanguageParser.g:2900:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) + // InternalSolverLanguageParser.g:3598:3: ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) + // InternalSolverLanguageParser.g:3599:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) { - // InternalSolverLanguageParser.g:2900:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) - // InternalSolverLanguageParser.g:2901:5: lv_upperBound_3_0= ruleUpperMultiplicty + // InternalSolverLanguageParser.g:3599:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) + // InternalSolverLanguageParser.g:3600:5: lv_upperBound_3_0= ruleUpperMultiplicty { newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); - pushFollow(FOLLOW_36); + pushFollow(FOLLOW_45); lv_upperBound_3_0=ruleUpperMultiplicty(); state._fsp--; @@ -7568,7 +9204,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleScopeDefinition" - // InternalSolverLanguageParser.g:2926:1: entryRuleScopeDefinition returns [EObject current=null] : iv_ruleScopeDefinition= ruleScopeDefinition EOF ; + // InternalSolverLanguageParser.g:3625:1: entryRuleScopeDefinition returns [EObject current=null] : iv_ruleScopeDefinition= ruleScopeDefinition EOF ; public final EObject entryRuleScopeDefinition() throws RecognitionException { EObject current = null; @@ -7576,8 +9212,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2926:56: (iv_ruleScopeDefinition= ruleScopeDefinition EOF ) - // InternalSolverLanguageParser.g:2927:2: iv_ruleScopeDefinition= ruleScopeDefinition EOF + // InternalSolverLanguageParser.g:3625:56: (iv_ruleScopeDefinition= ruleScopeDefinition EOF ) + // InternalSolverLanguageParser.g:3626:2: iv_ruleScopeDefinition= ruleScopeDefinition EOF { newCompositeNode(grammarAccess.getScopeDefinitionRule()); pushFollow(FOLLOW_1); @@ -7604,7 +9240,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleScopeDefinition" - // InternalSolverLanguageParser.g:2933:1: ruleScopeDefinition returns [EObject current=null] : (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ; + // InternalSolverLanguageParser.g:3632: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; @@ -7619,15 +9255,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2939:2: ( (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ) - // InternalSolverLanguageParser.g:2940:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) + // InternalSolverLanguageParser.g:3638:2: ( (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ) + // InternalSolverLanguageParser.g:3639:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) { - // InternalSolverLanguageParser.g:2940:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) - int alt35=3; - alt35 = dfa35.predict(input); - switch (alt35) { + // InternalSolverLanguageParser.g:3639:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) + int alt44=3; + alt44 = dfa44.predict(input); + switch (alt44) { case 1 : - // InternalSolverLanguageParser.g:2941:3: this_ExactScopeDefinition_0= ruleExactScopeDefinition + // InternalSolverLanguageParser.g:3640:3: this_ExactScopeDefinition_0= ruleExactScopeDefinition { newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); @@ -7645,7 +9281,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:2950:3: this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition + // InternalSolverLanguageParser.g:3649:3: this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition { newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); @@ -7663,7 +9299,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguageParser.g:2959:3: this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition + // InternalSolverLanguageParser.g:3658:3: this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition { newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); @@ -7703,7 +9339,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleExactScopeDefinition" - // InternalSolverLanguageParser.g:2971:1: entryRuleExactScopeDefinition returns [EObject current=null] : iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ; + // InternalSolverLanguageParser.g:3670:1: entryRuleExactScopeDefinition returns [EObject current=null] : iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ; public final EObject entryRuleExactScopeDefinition() throws RecognitionException { EObject current = null; @@ -7711,8 +9347,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2971:61: (iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ) - // InternalSolverLanguageParser.g:2972:2: iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF + // InternalSolverLanguageParser.g:3670:61: (iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ) + // InternalSolverLanguageParser.g:3671:2: iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF { newCompositeNode(grammarAccess.getExactScopeDefinitionRule()); pushFollow(FOLLOW_1); @@ -7739,7 +9375,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExactScopeDefinition" - // InternalSolverLanguageParser.g:2978:1: ruleExactScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) ; + // InternalSolverLanguageParser.g:3677:1: ruleExactScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) ; public final EObject ruleExactScopeDefinition() throws RecognitionException { EObject current = null; @@ -7751,21 +9387,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2984:2: ( (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) ) - // InternalSolverLanguageParser.g:2985:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) + // InternalSolverLanguageParser.g:3683:2: ( (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) ) + // InternalSolverLanguageParser.g:3684:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) { - // InternalSolverLanguageParser.g:2985:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) - // InternalSolverLanguageParser.g:2986:3: otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3684:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) + // InternalSolverLanguageParser.g:3685:3: otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) { otherlv_0=(Token)match(input,Scope,FOLLOW_8); newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); - // InternalSolverLanguageParser.g:2990:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:2991:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3689:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3690:4: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:2991:4: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:2992:5: ruleQualifiedName + // InternalSolverLanguageParser.g:3690:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3691:5: ruleQualifiedName { if (current==null) { @@ -7775,7 +9411,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); - pushFollow(FOLLOW_46); + pushFollow(FOLLOW_54); ruleQualifiedName(); state._fsp--; @@ -7789,15 +9425,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_2=(Token)match(input,EqualsSignEqualsSign,FOLLOW_45); + otherlv_2=(Token)match(input,EqualsSignEqualsSign,FOLLOW_53); newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); - // InternalSolverLanguageParser.g:3010:3: ( (lv_exactScope_3_0= RULE_INT ) ) - // InternalSolverLanguageParser.g:3011:4: (lv_exactScope_3_0= RULE_INT ) + // InternalSolverLanguageParser.g:3709:3: ( (lv_exactScope_3_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3710:4: (lv_exactScope_3_0= RULE_INT ) { - // InternalSolverLanguageParser.g:3011:4: (lv_exactScope_3_0= RULE_INT ) - // InternalSolverLanguageParser.g:3012:5: lv_exactScope_3_0= RULE_INT + // InternalSolverLanguageParser.g:3710:4: (lv_exactScope_3_0= RULE_INT ) + // InternalSolverLanguageParser.g:3711:5: lv_exactScope_3_0= RULE_INT { lv_exactScope_3_0=(Token)match(input,RULE_INT,FOLLOW_2); @@ -7842,7 +9478,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleBoundedScopeDefinition" - // InternalSolverLanguageParser.g:3032:1: entryRuleBoundedScopeDefinition returns [EObject current=null] : iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ; + // InternalSolverLanguageParser.g:3731:1: entryRuleBoundedScopeDefinition returns [EObject current=null] : iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ; public final EObject entryRuleBoundedScopeDefinition() throws RecognitionException { EObject current = null; @@ -7850,8 +9486,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:3032:63: (iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ) - // InternalSolverLanguageParser.g:3033:2: iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF + // InternalSolverLanguageParser.g:3731:63: (iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ) + // InternalSolverLanguageParser.g:3732:2: iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF { newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule()); pushFollow(FOLLOW_1); @@ -7878,7 +9514,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleBoundedScopeDefinition" - // InternalSolverLanguageParser.g:3039:1: ruleBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) ; + // InternalSolverLanguageParser.g:3738:1: ruleBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) ; public final EObject ruleBoundedScopeDefinition() throws RecognitionException { EObject current = null; @@ -7896,70 +9532,70 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:3045:2: ( (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) ) - // InternalSolverLanguageParser.g:3046:2: (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) + // InternalSolverLanguageParser.g:3744:2: ( (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) ) + // InternalSolverLanguageParser.g:3745:2: (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) { - // InternalSolverLanguageParser.g:3046:2: (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) - // InternalSolverLanguageParser.g:3047:3: otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) + // InternalSolverLanguageParser.g:3745:2: (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) + // InternalSolverLanguageParser.g:3746:3: otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) { - otherlv_0=(Token)match(input,Scope,FOLLOW_47); + otherlv_0=(Token)match(input,Scope,FOLLOW_55); newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); - // InternalSolverLanguageParser.g:3051:3: ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) - int alt38=2; - int LA38_0 = input.LA(1); + // InternalSolverLanguageParser.g:3750:3: ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) + int alt47=2; + int LA47_0 = input.LA(1); - if ( (LA38_0==RULE_INT) ) { - int LA38_1 = input.LA(2); + if ( (LA47_0==RULE_INT) ) { + int LA47_1 = input.LA(2); - if ( (LA38_1==GreaterThanSignEqualsSign) ) { - alt38=2; + if ( (LA47_1==GreaterThanSignEqualsSign) ) { + alt47=2; } - else if ( (LA38_1==LessThanSignEqualsSign) ) { - alt38=1; + else if ( (LA47_1==LessThanSignEqualsSign) ) { + alt47=1; } else { NoViableAltException nvae = - new NoViableAltException("", 38, 1, input); + new NoViableAltException("", 47, 1, input); throw nvae; } } - else if ( (LA38_0==RULE_QUOTED_ID||LA38_0==RULE_ID) ) { - alt38=1; + else if ( (LA47_0==RULE_QUOTED_ID||LA47_0==RULE_ID) ) { + alt47=1; } else { NoViableAltException nvae = - new NoViableAltException("", 38, 0, input); + new NoViableAltException("", 47, 0, input); throw nvae; } - switch (alt38) { + switch (alt47) { case 1 : - // InternalSolverLanguageParser.g:3052:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) + // InternalSolverLanguageParser.g:3751:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) { - // InternalSolverLanguageParser.g:3052:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) - // InternalSolverLanguageParser.g:3053:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3751:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) + // InternalSolverLanguageParser.g:3752:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) { - // InternalSolverLanguageParser.g:3053:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? - int alt36=2; - int LA36_0 = input.LA(1); + // InternalSolverLanguageParser.g:3752:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? + int alt45=2; + int LA45_0 = input.LA(1); - if ( (LA36_0==RULE_INT) ) { - alt36=1; + if ( (LA45_0==RULE_INT) ) { + alt45=1; } - switch (alt36) { + switch (alt45) { case 1 : - // InternalSolverLanguageParser.g:3054:6: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign + // InternalSolverLanguageParser.g:3753:6: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign { - // InternalSolverLanguageParser.g:3054:6: ( (lv_lowerBound_1_0= RULE_INT ) ) - // InternalSolverLanguageParser.g:3055:7: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguageParser.g:3753:6: ( (lv_lowerBound_1_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3754:7: (lv_lowerBound_1_0= RULE_INT ) { - // InternalSolverLanguageParser.g:3055:7: (lv_lowerBound_1_0= RULE_INT ) - // InternalSolverLanguageParser.g:3056:8: lv_lowerBound_1_0= RULE_INT + // InternalSolverLanguageParser.g:3754:7: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguageParser.g:3755:8: lv_lowerBound_1_0= RULE_INT { - lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_48); + lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_56); newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); @@ -7989,11 +9625,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:3077:5: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:3078:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3776:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3777:6: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:3078:6: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:3079:7: ruleQualifiedName + // InternalSolverLanguageParser.g:3777:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3778:7: ruleQualifiedName { if (current==null) { @@ -8003,7 +9639,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); - pushFollow(FOLLOW_48); + pushFollow(FOLLOW_56); ruleQualifiedName(); state._fsp--; @@ -8017,15 +9653,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_4=(Token)match(input,LessThanSignEqualsSign,FOLLOW_45); + otherlv_4=(Token)match(input,LessThanSignEqualsSign,FOLLOW_53); newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); - // InternalSolverLanguageParser.g:3097:5: ( (lv_upperBound_5_0= RULE_INT ) ) - // InternalSolverLanguageParser.g:3098:6: (lv_upperBound_5_0= RULE_INT ) + // InternalSolverLanguageParser.g:3796:5: ( (lv_upperBound_5_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3797:6: (lv_upperBound_5_0= RULE_INT ) { - // InternalSolverLanguageParser.g:3098:6: (lv_upperBound_5_0= RULE_INT ) - // InternalSolverLanguageParser.g:3099:7: lv_upperBound_5_0= RULE_INT + // InternalSolverLanguageParser.g:3797:6: (lv_upperBound_5_0= RULE_INT ) + // InternalSolverLanguageParser.g:3798:7: lv_upperBound_5_0= RULE_INT { lv_upperBound_5_0=(Token)match(input,RULE_INT,FOLLOW_2); @@ -8054,18 +9690,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:3117:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) + // InternalSolverLanguageParser.g:3816:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) { - // InternalSolverLanguageParser.g:3117:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) - // InternalSolverLanguageParser.g:3118:5: ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? + // InternalSolverLanguageParser.g:3816:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) + // InternalSolverLanguageParser.g:3817:5: ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? { - // InternalSolverLanguageParser.g:3118:5: ( (lv_upperBound_6_0= RULE_INT ) ) - // InternalSolverLanguageParser.g:3119:6: (lv_upperBound_6_0= RULE_INT ) + // InternalSolverLanguageParser.g:3817:5: ( (lv_upperBound_6_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3818:6: (lv_upperBound_6_0= RULE_INT ) { - // InternalSolverLanguageParser.g:3119:6: (lv_upperBound_6_0= RULE_INT ) - // InternalSolverLanguageParser.g:3120:7: lv_upperBound_6_0= RULE_INT + // InternalSolverLanguageParser.g:3818:6: (lv_upperBound_6_0= RULE_INT ) + // InternalSolverLanguageParser.g:3819:7: lv_upperBound_6_0= RULE_INT { - lv_upperBound_6_0=(Token)match(input,RULE_INT,FOLLOW_49); + lv_upperBound_6_0=(Token)match(input,RULE_INT,FOLLOW_57); newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); @@ -8089,11 +9725,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); - // InternalSolverLanguageParser.g:3140:5: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:3141:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3839:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3840:6: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:3141:6: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:3142:7: ruleQualifiedName + // InternalSolverLanguageParser.g:3840:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3841:7: ruleQualifiedName { if (current==null) { @@ -8103,7 +9739,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); - pushFollow(FOLLOW_50); + pushFollow(FOLLOW_58); ruleQualifiedName(); state._fsp--; @@ -8117,26 +9753,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:3156:5: (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? - int alt37=2; - int LA37_0 = input.LA(1); + // InternalSolverLanguageParser.g:3855:5: (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? + int alt46=2; + int LA46_0 = input.LA(1); - if ( (LA37_0==GreaterThanSignEqualsSign) ) { - alt37=1; + if ( (LA46_0==GreaterThanSignEqualsSign) ) { + alt46=1; } - switch (alt37) { + switch (alt46) { case 1 : - // InternalSolverLanguageParser.g:3157:6: otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3856:6: otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) { - otherlv_9=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_45); + otherlv_9=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_53); newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); - // InternalSolverLanguageParser.g:3161:6: ( (lv_lowerBound_10_0= RULE_INT ) ) - // InternalSolverLanguageParser.g:3162:7: (lv_lowerBound_10_0= RULE_INT ) + // InternalSolverLanguageParser.g:3860:6: ( (lv_lowerBound_10_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3861:7: (lv_lowerBound_10_0= RULE_INT ) { - // InternalSolverLanguageParser.g:3162:7: (lv_lowerBound_10_0= RULE_INT ) - // InternalSolverLanguageParser.g:3163:8: lv_lowerBound_10_0= RULE_INT + // InternalSolverLanguageParser.g:3861:7: (lv_lowerBound_10_0= RULE_INT ) + // InternalSolverLanguageParser.g:3862:8: lv_lowerBound_10_0= RULE_INT { lv_lowerBound_10_0=(Token)match(input,RULE_INT,FOLLOW_2); @@ -8196,7 +9832,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleLowerBoundedScopeDefinition" - // InternalSolverLanguageParser.g:3186:1: entryRuleLowerBoundedScopeDefinition returns [EObject current=null] : iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ; + // InternalSolverLanguageParser.g:3885:1: entryRuleLowerBoundedScopeDefinition returns [EObject current=null] : iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ; public final EObject entryRuleLowerBoundedScopeDefinition() throws RecognitionException { EObject current = null; @@ -8204,8 +9840,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:3186:68: (iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ) - // InternalSolverLanguageParser.g:3187:2: iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF + // InternalSolverLanguageParser.g:3885:68: (iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ) + // InternalSolverLanguageParser.g:3886:2: iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF { newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule()); pushFollow(FOLLOW_1); @@ -8232,7 +9868,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleLowerBoundedScopeDefinition" - // InternalSolverLanguageParser.g:3193:1: ruleLowerBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) ; + // InternalSolverLanguageParser.g:3892:1: ruleLowerBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) ; public final EObject ruleLowerBoundedScopeDefinition() throws RecognitionException { EObject current = null; @@ -8246,46 +9882,46 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:3199:2: ( (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) ) - // InternalSolverLanguageParser.g:3200:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) + // InternalSolverLanguageParser.g:3898:2: ( (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) ) + // InternalSolverLanguageParser.g:3899:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) { - // InternalSolverLanguageParser.g:3200:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) - // InternalSolverLanguageParser.g:3201:3: otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) + // InternalSolverLanguageParser.g:3899:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) + // InternalSolverLanguageParser.g:3900:3: otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) { - otherlv_0=(Token)match(input,Scope,FOLLOW_47); + otherlv_0=(Token)match(input,Scope,FOLLOW_55); newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); - // InternalSolverLanguageParser.g:3205:3: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) - int alt39=2; - int LA39_0 = input.LA(1); + // InternalSolverLanguageParser.g:3904:3: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) + int alt48=2; + int LA48_0 = input.LA(1); - if ( (LA39_0==RULE_INT) ) { - alt39=1; + if ( (LA48_0==RULE_INT) ) { + alt48=1; } - else if ( (LA39_0==RULE_QUOTED_ID||LA39_0==RULE_ID) ) { - alt39=2; + else if ( (LA48_0==RULE_QUOTED_ID||LA48_0==RULE_ID) ) { + alt48=2; } else { NoViableAltException nvae = - new NoViableAltException("", 39, 0, input); + new NoViableAltException("", 48, 0, input); throw nvae; } - switch (alt39) { + switch (alt48) { case 1 : - // InternalSolverLanguageParser.g:3206:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguageParser.g:3905:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) { - // InternalSolverLanguageParser.g:3206:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) - // InternalSolverLanguageParser.g:3207:5: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3905:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguageParser.g:3906:5: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) { - // InternalSolverLanguageParser.g:3207:5: ( (lv_lowerBound_1_0= RULE_INT ) ) - // InternalSolverLanguageParser.g:3208:6: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguageParser.g:3906:5: ( (lv_lowerBound_1_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3907:6: (lv_lowerBound_1_0= RULE_INT ) { - // InternalSolverLanguageParser.g:3208:6: (lv_lowerBound_1_0= RULE_INT ) - // InternalSolverLanguageParser.g:3209:7: lv_lowerBound_1_0= RULE_INT + // InternalSolverLanguageParser.g:3907:6: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguageParser.g:3908:7: lv_lowerBound_1_0= RULE_INT { - lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_48); + lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_56); newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); @@ -8309,11 +9945,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); - // InternalSolverLanguageParser.g:3229:5: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:3230:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3928:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3929:6: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:3230:6: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:3231:7: ruleQualifiedName + // InternalSolverLanguageParser.g:3929:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3930:7: ruleQualifiedName { if (current==null) { @@ -8344,16 +9980,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:3247:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) + // InternalSolverLanguageParser.g:3946:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) { - // InternalSolverLanguageParser.g:3247:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) - // InternalSolverLanguageParser.g:3248:5: ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3946:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) + // InternalSolverLanguageParser.g:3947:5: ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) { - // InternalSolverLanguageParser.g:3248:5: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:3249:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3947:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3948:6: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:3249:6: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:3250:7: ruleQualifiedName + // InternalSolverLanguageParser.g:3948:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3949:7: ruleQualifiedName { if (current==null) { @@ -8363,7 +9999,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); - pushFollow(FOLLOW_49); + pushFollow(FOLLOW_57); ruleQualifiedName(); state._fsp--; @@ -8377,15 +10013,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_45); + otherlv_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_53); newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); - // InternalSolverLanguageParser.g:3268:5: ( (lv_lowerBound_6_0= RULE_INT ) ) - // InternalSolverLanguageParser.g:3269:6: (lv_lowerBound_6_0= RULE_INT ) + // InternalSolverLanguageParser.g:3967:5: ( (lv_lowerBound_6_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3968:6: (lv_lowerBound_6_0= RULE_INT ) { - // InternalSolverLanguageParser.g:3269:6: (lv_lowerBound_6_0= RULE_INT ) - // InternalSolverLanguageParser.g:3270:7: lv_lowerBound_6_0= RULE_INT + // InternalSolverLanguageParser.g:3968:6: (lv_lowerBound_6_0= RULE_INT ) + // InternalSolverLanguageParser.g:3969:7: lv_lowerBound_6_0= RULE_INT { lv_lowerBound_6_0=(Token)match(input,RULE_INT,FOLLOW_2); @@ -8439,7 +10075,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleObjectiveDefinition" - // InternalSolverLanguageParser.g:3292:1: entryRuleObjectiveDefinition returns [EObject current=null] : iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ; + // InternalSolverLanguageParser.g:3991:1: entryRuleObjectiveDefinition returns [EObject current=null] : iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ; public final EObject entryRuleObjectiveDefinition() throws RecognitionException { EObject current = null; @@ -8447,8 +10083,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:3292:60: (iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ) - // InternalSolverLanguageParser.g:3293:2: iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF + // InternalSolverLanguageParser.g:3991:60: (iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ) + // InternalSolverLanguageParser.g:3992:2: iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF { newCompositeNode(grammarAccess.getObjectiveDefinitionRule()); pushFollow(FOLLOW_1); @@ -8475,7 +10111,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleObjectiveDefinition" - // InternalSolverLanguageParser.g:3299:1: ruleObjectiveDefinition returns [EObject current=null] : ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ; + // InternalSolverLanguageParser.g:3998: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; @@ -8488,17 +10124,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:3305:2: ( ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ) - // InternalSolverLanguageParser.g:3306:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:4004:2: ( ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ) + // InternalSolverLanguageParser.g:4005:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) { - // InternalSolverLanguageParser.g:3306:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) - // InternalSolverLanguageParser.g:3307:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:4005:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:4006:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) { - // InternalSolverLanguageParser.g:3307:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) - // InternalSolverLanguageParser.g:3308:4: (lv_kind_0_0= ruleObjectiveKind ) + // InternalSolverLanguageParser.g:4006:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) + // InternalSolverLanguageParser.g:4007:4: (lv_kind_0_0= ruleObjectiveKind ) { - // InternalSolverLanguageParser.g:3308:4: (lv_kind_0_0= ruleObjectiveKind ) - // InternalSolverLanguageParser.g:3309:5: lv_kind_0_0= ruleObjectiveKind + // InternalSolverLanguageParser.g:4007:4: (lv_kind_0_0= ruleObjectiveKind ) + // InternalSolverLanguageParser.g:4008:5: lv_kind_0_0= ruleObjectiveKind { newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); @@ -8525,11 +10161,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:3326:3: ( (lv_objective_1_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:3327:4: (lv_objective_1_0= ruleExpression ) + // InternalSolverLanguageParser.g:4025:3: ( (lv_objective_1_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:4026:4: (lv_objective_1_0= ruleExpression ) { - // InternalSolverLanguageParser.g:3327:4: (lv_objective_1_0= ruleExpression ) - // InternalSolverLanguageParser.g:3328:5: lv_objective_1_0= ruleExpression + // InternalSolverLanguageParser.g:4026:4: (lv_objective_1_0= ruleExpression ) + // InternalSolverLanguageParser.g:4027:5: lv_objective_1_0= ruleExpression { newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); @@ -8579,7 +10215,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleUpperMultiplicty" - // InternalSolverLanguageParser.g:3349:1: entryRuleUpperMultiplicty returns [String current=null] : iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ; + // InternalSolverLanguageParser.g:4048:1: entryRuleUpperMultiplicty returns [String current=null] : iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ; public final String entryRuleUpperMultiplicty() throws RecognitionException { String current = null; @@ -8587,8 +10223,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:3349:56: (iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ) - // InternalSolverLanguageParser.g:3350:2: iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF + // InternalSolverLanguageParser.g:4048:56: (iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ) + // InternalSolverLanguageParser.g:4049:2: iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF { newCompositeNode(grammarAccess.getUpperMultiplictyRule()); pushFollow(FOLLOW_1); @@ -8615,7 +10251,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleUpperMultiplicty" - // InternalSolverLanguageParser.g:3356:1: ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= Asterisk ) ; + // InternalSolverLanguageParser.g:4055:1: ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= Asterisk ) ; public final AntlrDatatypeRuleToken ruleUpperMultiplicty() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -8626,28 +10262,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:3362:2: ( (this_INT_0= RULE_INT | kw= Asterisk ) ) - // InternalSolverLanguageParser.g:3363:2: (this_INT_0= RULE_INT | kw= Asterisk ) + // InternalSolverLanguageParser.g:4061:2: ( (this_INT_0= RULE_INT | kw= Asterisk ) ) + // InternalSolverLanguageParser.g:4062:2: (this_INT_0= RULE_INT | kw= Asterisk ) { - // InternalSolverLanguageParser.g:3363:2: (this_INT_0= RULE_INT | kw= Asterisk ) - int alt40=2; - int LA40_0 = input.LA(1); + // InternalSolverLanguageParser.g:4062:2: (this_INT_0= RULE_INT | kw= Asterisk ) + int alt49=2; + int LA49_0 = input.LA(1); - if ( (LA40_0==RULE_INT) ) { - alt40=1; + if ( (LA49_0==RULE_INT) ) { + alt49=1; } - else if ( (LA40_0==Asterisk) ) { - alt40=2; + else if ( (LA49_0==Asterisk) ) { + alt49=2; } else { NoViableAltException nvae = - new NoViableAltException("", 40, 0, input); + new NoViableAltException("", 49, 0, input); throw nvae; } - switch (alt40) { + switch (alt49) { case 1 : - // InternalSolverLanguageParser.g:3364:3: this_INT_0= RULE_INT + // InternalSolverLanguageParser.g:4063:3: this_INT_0= RULE_INT { this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); @@ -8660,7 +10296,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:3372:3: kw= Asterisk + // InternalSolverLanguageParser.g:4071:3: kw= Asterisk { kw=(Token)match(input,Asterisk,FOLLOW_2); @@ -8693,7 +10329,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleReal" - // InternalSolverLanguageParser.g:3381:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ; + // InternalSolverLanguageParser.g:4080:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ; public final String entryRuleReal() throws RecognitionException { String current = null; @@ -8704,8 +10340,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); try { - // InternalSolverLanguageParser.g:3383:2: (iv_ruleReal= ruleReal EOF ) - // InternalSolverLanguageParser.g:3384:2: iv_ruleReal= ruleReal EOF + // InternalSolverLanguageParser.g:4082:2: (iv_ruleReal= ruleReal EOF ) + // InternalSolverLanguageParser.g:4083:2: iv_ruleReal= ruleReal EOF { newCompositeNode(grammarAccess.getRealRule()); pushFollow(FOLLOW_1); @@ -8735,7 +10371,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleReal" - // InternalSolverLanguageParser.g:3393:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ; + // InternalSolverLanguageParser.g:4092:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ; public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -8748,31 +10384,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); try { - // InternalSolverLanguageParser.g:3400:2: ( (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ) - // InternalSolverLanguageParser.g:3401:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) + // InternalSolverLanguageParser.g:4099:2: ( (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ) + // InternalSolverLanguageParser.g:4100:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) { - // InternalSolverLanguageParser.g:3401:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) - // InternalSolverLanguageParser.g:3402:3: this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? + // InternalSolverLanguageParser.g:4100:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) + // InternalSolverLanguageParser.g:4101:3: this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? { - this_INT_0=(Token)match(input,RULE_INT,FOLLOW_51); + this_INT_0=(Token)match(input,RULE_INT,FOLLOW_59); current.merge(this_INT_0); newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); - // InternalSolverLanguageParser.g:3409:3: (kw= FullStop this_INT_2= RULE_INT )? - int alt41=2; - int LA41_0 = input.LA(1); + // InternalSolverLanguageParser.g:4108:3: (kw= FullStop this_INT_2= RULE_INT )? + int alt50=2; + int LA50_0 = input.LA(1); - if ( (LA41_0==FullStop) ) { - alt41=1; + if ( (LA50_0==FullStop) ) { + alt50=1; } - switch (alt41) { + switch (alt50) { case 1 : - // InternalSolverLanguageParser.g:3410:4: kw= FullStop this_INT_2= RULE_INT + // InternalSolverLanguageParser.g:4109:4: kw= FullStop this_INT_2= RULE_INT { - kw=(Token)match(input,FullStop,FOLLOW_45); + kw=(Token)match(input,FullStop,FOLLOW_53); current.merge(kw); newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0()); @@ -8816,7 +10452,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleQualifiedName" - // InternalSolverLanguageParser.g:3430:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; + // InternalSolverLanguageParser.g:4129:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; public final String entryRuleQualifiedName() throws RecognitionException { String current = null; @@ -8827,8 +10463,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); try { - // InternalSolverLanguageParser.g:3432:2: (iv_ruleQualifiedName= ruleQualifiedName EOF ) - // InternalSolverLanguageParser.g:3433:2: iv_ruleQualifiedName= ruleQualifiedName EOF + // InternalSolverLanguageParser.g:4131:2: (iv_ruleQualifiedName= ruleQualifiedName EOF ) + // InternalSolverLanguageParser.g:4132:2: iv_ruleQualifiedName= ruleQualifiedName EOF { newCompositeNode(grammarAccess.getQualifiedNameRule()); pushFollow(FOLLOW_1); @@ -8858,7 +10494,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleQualifiedName" - // InternalSolverLanguageParser.g:3442:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ; + // InternalSolverLanguageParser.g:4141:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ; public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -8872,60 +10508,60 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); try { - // InternalSolverLanguageParser.g:3449:2: ( ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ) - // InternalSolverLanguageParser.g:3450:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) + // InternalSolverLanguageParser.g:4148:2: ( ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ) + // InternalSolverLanguageParser.g:4149:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) { - // InternalSolverLanguageParser.g:3450:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) - int alt43=2; - int LA43_0 = input.LA(1); + // InternalSolverLanguageParser.g:4149:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) + int alt52=2; + int LA52_0 = input.LA(1); - if ( (LA43_0==RULE_ID) ) { - alt43=1; + if ( (LA52_0==RULE_ID) ) { + alt52=1; } - else if ( (LA43_0==RULE_QUOTED_ID) ) { - alt43=2; + else if ( (LA52_0==RULE_QUOTED_ID) ) { + alt52=2; } else { NoViableAltException nvae = - new NoViableAltException("", 43, 0, input); + new NoViableAltException("", 52, 0, input); throw nvae; } - switch (alt43) { + switch (alt52) { case 1 : - // InternalSolverLanguageParser.g:3451:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) + // InternalSolverLanguageParser.g:4150:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) { - // InternalSolverLanguageParser.g:3451:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) - // InternalSolverLanguageParser.g:3452:4: this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* + // InternalSolverLanguageParser.g:4150:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) + // InternalSolverLanguageParser.g:4151:4: this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* { - this_ID_0=(Token)match(input,RULE_ID,FOLLOW_51); + this_ID_0=(Token)match(input,RULE_ID,FOLLOW_59); current.merge(this_ID_0); newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); - // InternalSolverLanguageParser.g:3459:4: (kw= FullStop this_ID_2= RULE_ID )* - loop42: + // InternalSolverLanguageParser.g:4158:4: (kw= FullStop this_ID_2= RULE_ID )* + loop51: do { - int alt42=2; - int LA42_0 = input.LA(1); + int alt51=2; + int LA51_0 = input.LA(1); - if ( (LA42_0==FullStop) ) { - alt42=1; + if ( (LA51_0==FullStop) ) { + alt51=1; } - switch (alt42) { + switch (alt51) { case 1 : - // InternalSolverLanguageParser.g:3460:5: kw= FullStop this_ID_2= RULE_ID + // InternalSolverLanguageParser.g:4159:5: kw= FullStop this_ID_2= RULE_ID { - kw=(Token)match(input,FullStop,FOLLOW_38); + kw=(Token)match(input,FullStop,FOLLOW_20); current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); - this_ID_2=(Token)match(input,RULE_ID,FOLLOW_51); + this_ID_2=(Token)match(input,RULE_ID,FOLLOW_59); current.merge(this_ID_2); @@ -8937,7 +10573,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop42; + break loop51; } } while (true); @@ -8948,7 +10584,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:3475:3: this_QUOTED_ID_3= RULE_QUOTED_ID + // InternalSolverLanguageParser.g:4174:3: this_QUOTED_ID_3= RULE_QUOTED_ID { this_QUOTED_ID_3=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2); @@ -8985,72 +10621,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR end "ruleQualifiedName" - // $ANTLR start "ruleMetricType" - // InternalSolverLanguageParser.g:3489:1: ruleMetricType returns [Enumerator current=null] : ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) ; - public final Enumerator ruleMetricType() throws RecognitionException { + // $ANTLR start "ruleImplicationOperator" + // InternalSolverLanguageParser.g:4188:1: ruleImplicationOperator returns [Enumerator current=null] : (enumLiteral_0= EqualsSignGreaterThanSign ) ; + public final Enumerator ruleImplicationOperator() throws RecognitionException { Enumerator current = null; Token enumLiteral_0=null; - Token enumLiteral_1=null; enterRule(); try { - // InternalSolverLanguageParser.g:3495:2: ( ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) ) - // InternalSolverLanguageParser.g:3496:2: ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) + // InternalSolverLanguageParser.g:4194:2: ( (enumLiteral_0= EqualsSignGreaterThanSign ) ) + // InternalSolverLanguageParser.g:4195:2: (enumLiteral_0= EqualsSignGreaterThanSign ) { - // InternalSolverLanguageParser.g:3496:2: ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) - int alt44=2; - int LA44_0 = input.LA(1); - - if ( (LA44_0==Int) ) { - alt44=1; - } - else if ( (LA44_0==Real) ) { - alt44=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 44, 0, input); - - throw nvae; - } - switch (alt44) { - case 1 : - // InternalSolverLanguageParser.g:3497:3: (enumLiteral_0= Int ) - { - // InternalSolverLanguageParser.g:3497:3: (enumLiteral_0= Int ) - // InternalSolverLanguageParser.g:3498:4: enumLiteral_0= Int - { - enumLiteral_0=(Token)match(input,Int,FOLLOW_2); - - current = grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); - - - } - - - } - break; - case 2 : - // InternalSolverLanguageParser.g:3505:3: (enumLiteral_1= Real ) - { - // InternalSolverLanguageParser.g:3505:3: (enumLiteral_1= Real ) - // InternalSolverLanguageParser.g:3506:4: enumLiteral_1= Real - { - enumLiteral_1=(Token)match(input,Real,FOLLOW_2); - - current = grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1()); - - - } - + // InternalSolverLanguageParser.g:4195:2: (enumLiteral_0= EqualsSignGreaterThanSign ) + // InternalSolverLanguageParser.g:4196:3: enumLiteral_0= EqualsSignGreaterThanSign + { + enumLiteral_0=(Token)match(input,EqualsSignGreaterThanSign,FOLLOW_2); - } - break; + current = grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration()); + } @@ -9070,11 +10662,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleMetricType" + // $ANTLR end "ruleImplicationOperator" // $ANTLR start "ruleComparisonOperator" - // InternalSolverLanguageParser.g:3516:1: ruleComparisonOperator returns [Enumerator current=null] : ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) ; + // InternalSolverLanguageParser.g:4205:1: ruleComparisonOperator returns [Enumerator current=null] : ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) ; public final Enumerator ruleComparisonOperator() throws RecognitionException { Enumerator current = null; @@ -9090,60 +10682,60 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:3522:2: ( ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) ) - // InternalSolverLanguageParser.g:3523:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) + // InternalSolverLanguageParser.g:4211:2: ( ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) ) + // InternalSolverLanguageParser.g:4212:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) { - // InternalSolverLanguageParser.g:3523:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) - int alt45=7; + // InternalSolverLanguageParser.g:4212:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) + int alt53=7; switch ( input.LA(1) ) { case EqualsSignEqualsSign: { - alt45=1; + alt53=1; } break; case ExclamationMarkEqualsSign: { - alt45=2; + alt53=2; } break; case LessThanSign: { - alt45=3; + alt53=3; } break; case LessThanSignEqualsSign: { - alt45=4; + alt53=4; } break; case GreaterThanSign: { - alt45=5; + alt53=5; } break; case GreaterThanSignEqualsSign: { - alt45=6; + alt53=6; } break; case In: { - alt45=7; + alt53=7; } break; default: NoViableAltException nvae = - new NoViableAltException("", 45, 0, input); + new NoViableAltException("", 53, 0, input); throw nvae; } - switch (alt45) { + switch (alt53) { case 1 : - // InternalSolverLanguageParser.g:3524:3: (enumLiteral_0= EqualsSignEqualsSign ) + // InternalSolverLanguageParser.g:4213:3: (enumLiteral_0= EqualsSignEqualsSign ) { - // InternalSolverLanguageParser.g:3524:3: (enumLiteral_0= EqualsSignEqualsSign ) - // InternalSolverLanguageParser.g:3525:4: enumLiteral_0= EqualsSignEqualsSign + // InternalSolverLanguageParser.g:4213:3: (enumLiteral_0= EqualsSignEqualsSign ) + // InternalSolverLanguageParser.g:4214:4: enumLiteral_0= EqualsSignEqualsSign { enumLiteral_0=(Token)match(input,EqualsSignEqualsSign,FOLLOW_2); @@ -9157,10 +10749,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:3532:3: (enumLiteral_1= ExclamationMarkEqualsSign ) + // InternalSolverLanguageParser.g:4221:3: (enumLiteral_1= ExclamationMarkEqualsSign ) { - // InternalSolverLanguageParser.g:3532:3: (enumLiteral_1= ExclamationMarkEqualsSign ) - // InternalSolverLanguageParser.g:3533:4: enumLiteral_1= ExclamationMarkEqualsSign + // InternalSolverLanguageParser.g:4221:3: (enumLiteral_1= ExclamationMarkEqualsSign ) + // InternalSolverLanguageParser.g:4222:4: enumLiteral_1= ExclamationMarkEqualsSign { enumLiteral_1=(Token)match(input,ExclamationMarkEqualsSign,FOLLOW_2); @@ -9174,10 +10766,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguageParser.g:3540:3: (enumLiteral_2= LessThanSign ) + // InternalSolverLanguageParser.g:4229:3: (enumLiteral_2= LessThanSign ) { - // InternalSolverLanguageParser.g:3540:3: (enumLiteral_2= LessThanSign ) - // InternalSolverLanguageParser.g:3541:4: enumLiteral_2= LessThanSign + // InternalSolverLanguageParser.g:4229:3: (enumLiteral_2= LessThanSign ) + // InternalSolverLanguageParser.g:4230:4: enumLiteral_2= LessThanSign { enumLiteral_2=(Token)match(input,LessThanSign,FOLLOW_2); @@ -9191,10 +10783,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 4 : - // InternalSolverLanguageParser.g:3548:3: (enumLiteral_3= LessThanSignEqualsSign ) + // InternalSolverLanguageParser.g:4237:3: (enumLiteral_3= LessThanSignEqualsSign ) { - // InternalSolverLanguageParser.g:3548:3: (enumLiteral_3= LessThanSignEqualsSign ) - // InternalSolverLanguageParser.g:3549:4: enumLiteral_3= LessThanSignEqualsSign + // InternalSolverLanguageParser.g:4237:3: (enumLiteral_3= LessThanSignEqualsSign ) + // InternalSolverLanguageParser.g:4238:4: enumLiteral_3= LessThanSignEqualsSign { enumLiteral_3=(Token)match(input,LessThanSignEqualsSign,FOLLOW_2); @@ -9208,10 +10800,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 5 : - // InternalSolverLanguageParser.g:3556:3: (enumLiteral_4= GreaterThanSign ) + // InternalSolverLanguageParser.g:4245:3: (enumLiteral_4= GreaterThanSign ) { - // InternalSolverLanguageParser.g:3556:3: (enumLiteral_4= GreaterThanSign ) - // InternalSolverLanguageParser.g:3557:4: enumLiteral_4= GreaterThanSign + // InternalSolverLanguageParser.g:4245:3: (enumLiteral_4= GreaterThanSign ) + // InternalSolverLanguageParser.g:4246:4: enumLiteral_4= GreaterThanSign { enumLiteral_4=(Token)match(input,GreaterThanSign,FOLLOW_2); @@ -9225,10 +10817,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 6 : - // InternalSolverLanguageParser.g:3564:3: (enumLiteral_5= GreaterThanSignEqualsSign ) + // InternalSolverLanguageParser.g:4253:3: (enumLiteral_5= GreaterThanSignEqualsSign ) { - // InternalSolverLanguageParser.g:3564:3: (enumLiteral_5= GreaterThanSignEqualsSign ) - // InternalSolverLanguageParser.g:3565:4: enumLiteral_5= GreaterThanSignEqualsSign + // InternalSolverLanguageParser.g:4253:3: (enumLiteral_5= GreaterThanSignEqualsSign ) + // InternalSolverLanguageParser.g:4254:4: enumLiteral_5= GreaterThanSignEqualsSign { enumLiteral_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_2); @@ -9242,10 +10834,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 7 : - // InternalSolverLanguageParser.g:3572:3: (enumLiteral_6= In ) + // InternalSolverLanguageParser.g:4261:3: (enumLiteral_6= In ) { - // InternalSolverLanguageParser.g:3572:3: (enumLiteral_6= In ) - // InternalSolverLanguageParser.g:3573:4: enumLiteral_6= In + // InternalSolverLanguageParser.g:4261:3: (enumLiteral_6= In ) + // InternalSolverLanguageParser.g:4262:4: enumLiteral_6= In { enumLiteral_6=(Token)match(input,In,FOLLOW_2); @@ -9281,7 +10873,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAdditiveBinaryOperator" - // InternalSolverLanguageParser.g:3583:1: ruleAdditiveBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ; + // InternalSolverLanguageParser.g:4272:1: ruleAdditiveBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ; public final Enumerator ruleAdditiveBinaryOperator() throws RecognitionException { Enumerator current = null; @@ -9292,31 +10884,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:3589:2: ( ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ) - // InternalSolverLanguageParser.g:3590:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) + // InternalSolverLanguageParser.g:4278:2: ( ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ) + // InternalSolverLanguageParser.g:4279:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) { - // InternalSolverLanguageParser.g:3590:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) - int alt46=2; - int LA46_0 = input.LA(1); + // InternalSolverLanguageParser.g:4279:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) + int alt54=2; + int LA54_0 = input.LA(1); - if ( (LA46_0==PlusSign) ) { - alt46=1; + if ( (LA54_0==PlusSign) ) { + alt54=1; } - else if ( (LA46_0==HyphenMinus) ) { - alt46=2; + else if ( (LA54_0==HyphenMinus) ) { + alt54=2; } else { NoViableAltException nvae = - new NoViableAltException("", 46, 0, input); + new NoViableAltException("", 54, 0, input); throw nvae; } - switch (alt46) { + switch (alt54) { case 1 : - // InternalSolverLanguageParser.g:3591:3: (enumLiteral_0= PlusSign ) + // InternalSolverLanguageParser.g:4280:3: (enumLiteral_0= PlusSign ) { - // InternalSolverLanguageParser.g:3591:3: (enumLiteral_0= PlusSign ) - // InternalSolverLanguageParser.g:3592:4: enumLiteral_0= PlusSign + // InternalSolverLanguageParser.g:4280:3: (enumLiteral_0= PlusSign ) + // InternalSolverLanguageParser.g:4281:4: enumLiteral_0= PlusSign { enumLiteral_0=(Token)match(input,PlusSign,FOLLOW_2); @@ -9330,10 +10922,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:3599:3: (enumLiteral_1= HyphenMinus ) + // InternalSolverLanguageParser.g:4288:3: (enumLiteral_1= HyphenMinus ) { - // InternalSolverLanguageParser.g:3599:3: (enumLiteral_1= HyphenMinus ) - // InternalSolverLanguageParser.g:3600:4: enumLiteral_1= HyphenMinus + // InternalSolverLanguageParser.g:4288:3: (enumLiteral_1= HyphenMinus ) + // InternalSolverLanguageParser.g:4289:4: enumLiteral_1= HyphenMinus { enumLiteral_1=(Token)match(input,HyphenMinus,FOLLOW_2); @@ -9369,7 +10961,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleMultiplicativeBinaryOperator" - // InternalSolverLanguageParser.g:3610:1: ruleMultiplicativeBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ; + // InternalSolverLanguageParser.g:4299:1: ruleMultiplicativeBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ; public final Enumerator ruleMultiplicativeBinaryOperator() throws RecognitionException { Enumerator current = null; @@ -9380,31 +10972,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:3616:2: ( ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ) - // InternalSolverLanguageParser.g:3617:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) + // InternalSolverLanguageParser.g:4305:2: ( ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ) + // InternalSolverLanguageParser.g:4306:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) { - // InternalSolverLanguageParser.g:3617:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) - int alt47=2; - int LA47_0 = input.LA(1); + // InternalSolverLanguageParser.g:4306:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) + int alt55=2; + int LA55_0 = input.LA(1); - if ( (LA47_0==Asterisk) ) { - alt47=1; + if ( (LA55_0==Asterisk) ) { + alt55=1; } - else if ( (LA47_0==Solidus) ) { - alt47=2; + else if ( (LA55_0==Solidus) ) { + alt55=2; } else { NoViableAltException nvae = - new NoViableAltException("", 47, 0, input); + new NoViableAltException("", 55, 0, input); throw nvae; } - switch (alt47) { + switch (alt55) { case 1 : - // InternalSolverLanguageParser.g:3618:3: (enumLiteral_0= Asterisk ) + // InternalSolverLanguageParser.g:4307:3: (enumLiteral_0= Asterisk ) { - // InternalSolverLanguageParser.g:3618:3: (enumLiteral_0= Asterisk ) - // InternalSolverLanguageParser.g:3619:4: enumLiteral_0= Asterisk + // InternalSolverLanguageParser.g:4307:3: (enumLiteral_0= Asterisk ) + // InternalSolverLanguageParser.g:4308:4: enumLiteral_0= Asterisk { enumLiteral_0=(Token)match(input,Asterisk,FOLLOW_2); @@ -9418,10 +11010,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:3626:3: (enumLiteral_1= Solidus ) + // InternalSolverLanguageParser.g:4315:3: (enumLiteral_1= Solidus ) { - // InternalSolverLanguageParser.g:3626:3: (enumLiteral_1= Solidus ) - // InternalSolverLanguageParser.g:3627:4: enumLiteral_1= Solidus + // InternalSolverLanguageParser.g:4315:3: (enumLiteral_1= Solidus ) + // InternalSolverLanguageParser.g:4316:4: enumLiteral_1= Solidus { enumLiteral_1=(Token)match(input,Solidus,FOLLOW_2); @@ -9457,7 +11049,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExponentialOp" - // InternalSolverLanguageParser.g:3637:1: ruleExponentialOp returns [Enumerator current=null] : (enumLiteral_0= CircumflexAccent ) ; + // InternalSolverLanguageParser.g:4326:1: ruleExponentialOp returns [Enumerator current=null] : (enumLiteral_0= CircumflexAccent ) ; public final Enumerator ruleExponentialOp() throws RecognitionException { Enumerator current = null; @@ -9467,11 +11059,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:3643:2: ( (enumLiteral_0= CircumflexAccent ) ) - // InternalSolverLanguageParser.g:3644:2: (enumLiteral_0= CircumflexAccent ) + // InternalSolverLanguageParser.g:4332:2: ( (enumLiteral_0= CircumflexAccent ) ) + // InternalSolverLanguageParser.g:4333:2: (enumLiteral_0= CircumflexAccent ) { - // InternalSolverLanguageParser.g:3644:2: (enumLiteral_0= CircumflexAccent ) - // InternalSolverLanguageParser.g:3645:3: enumLiteral_0= CircumflexAccent + // InternalSolverLanguageParser.g:4333:2: (enumLiteral_0= CircumflexAccent ) + // InternalSolverLanguageParser.g:4334:3: enumLiteral_0= CircumflexAccent { enumLiteral_0=(Token)match(input,CircumflexAccent,FOLLOW_2); @@ -9501,7 +11093,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleUnaryOp" - // InternalSolverLanguageParser.g:3654:1: ruleUnaryOp returns [Enumerator current=null] : ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) ; + // InternalSolverLanguageParser.g:4343:1: ruleUnaryOp returns [Enumerator current=null] : ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) ; public final Enumerator ruleUnaryOp() throws RecognitionException { Enumerator current = null; @@ -9516,55 +11108,55 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:3660:2: ( ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) ) - // InternalSolverLanguageParser.g:3661:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) + // InternalSolverLanguageParser.g:4349:2: ( ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) ) + // InternalSolverLanguageParser.g:4350:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) { - // InternalSolverLanguageParser.g:3661:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) - int alt48=6; + // InternalSolverLanguageParser.g:4350:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) + int alt56=6; switch ( input.LA(1) ) { case ExclamationMark: { - alt48=1; + alt56=1; } break; case PlusSign: { - alt48=2; + alt56=2; } break; case HyphenMinus: { - alt48=3; + alt56=3; } break; case May: { - alt48=4; + alt56=4; } break; case Must: { - alt48=5; + alt56=5; } break; case Current: { - alt48=6; + alt56=6; } break; default: NoViableAltException nvae = - new NoViableAltException("", 48, 0, input); + new NoViableAltException("", 56, 0, input); throw nvae; } - switch (alt48) { + switch (alt56) { case 1 : - // InternalSolverLanguageParser.g:3662:3: (enumLiteral_0= ExclamationMark ) + // InternalSolverLanguageParser.g:4351:3: (enumLiteral_0= ExclamationMark ) { - // InternalSolverLanguageParser.g:3662:3: (enumLiteral_0= ExclamationMark ) - // InternalSolverLanguageParser.g:3663:4: enumLiteral_0= ExclamationMark + // InternalSolverLanguageParser.g:4351:3: (enumLiteral_0= ExclamationMark ) + // InternalSolverLanguageParser.g:4352:4: enumLiteral_0= ExclamationMark { enumLiteral_0=(Token)match(input,ExclamationMark,FOLLOW_2); @@ -9578,10 +11170,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:3670:3: (enumLiteral_1= PlusSign ) + // InternalSolverLanguageParser.g:4359:3: (enumLiteral_1= PlusSign ) { - // InternalSolverLanguageParser.g:3670:3: (enumLiteral_1= PlusSign ) - // InternalSolverLanguageParser.g:3671:4: enumLiteral_1= PlusSign + // InternalSolverLanguageParser.g:4359:3: (enumLiteral_1= PlusSign ) + // InternalSolverLanguageParser.g:4360:4: enumLiteral_1= PlusSign { enumLiteral_1=(Token)match(input,PlusSign,FOLLOW_2); @@ -9595,10 +11187,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguageParser.g:3678:3: (enumLiteral_2= HyphenMinus ) + // InternalSolverLanguageParser.g:4367:3: (enumLiteral_2= HyphenMinus ) { - // InternalSolverLanguageParser.g:3678:3: (enumLiteral_2= HyphenMinus ) - // InternalSolverLanguageParser.g:3679:4: enumLiteral_2= HyphenMinus + // InternalSolverLanguageParser.g:4367:3: (enumLiteral_2= HyphenMinus ) + // InternalSolverLanguageParser.g:4368:4: enumLiteral_2= HyphenMinus { enumLiteral_2=(Token)match(input,HyphenMinus,FOLLOW_2); @@ -9612,10 +11204,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 4 : - // InternalSolverLanguageParser.g:3686:3: (enumLiteral_3= May ) + // InternalSolverLanguageParser.g:4375:3: (enumLiteral_3= May ) { - // InternalSolverLanguageParser.g:3686:3: (enumLiteral_3= May ) - // InternalSolverLanguageParser.g:3687:4: enumLiteral_3= May + // InternalSolverLanguageParser.g:4375:3: (enumLiteral_3= May ) + // InternalSolverLanguageParser.g:4376:4: enumLiteral_3= May { enumLiteral_3=(Token)match(input,May,FOLLOW_2); @@ -9629,10 +11221,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 5 : - // InternalSolverLanguageParser.g:3694:3: (enumLiteral_4= Must ) + // InternalSolverLanguageParser.g:4383:3: (enumLiteral_4= Must ) { - // InternalSolverLanguageParser.g:3694:3: (enumLiteral_4= Must ) - // InternalSolverLanguageParser.g:3695:4: enumLiteral_4= Must + // InternalSolverLanguageParser.g:4383:3: (enumLiteral_4= Must ) + // InternalSolverLanguageParser.g:4384:4: enumLiteral_4= Must { enumLiteral_4=(Token)match(input,Must,FOLLOW_2); @@ -9646,10 +11238,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 6 : - // InternalSolverLanguageParser.g:3702:3: (enumLiteral_5= Current ) + // InternalSolverLanguageParser.g:4391:3: (enumLiteral_5= Current ) { - // InternalSolverLanguageParser.g:3702:3: (enumLiteral_5= Current ) - // InternalSolverLanguageParser.g:3703:4: enumLiteral_5= Current + // InternalSolverLanguageParser.g:4391:3: (enumLiteral_5= Current ) + // InternalSolverLanguageParser.g:4392:4: enumLiteral_5= Current { enumLiteral_5=(Token)match(input,Current,FOLLOW_2); @@ -9684,76 +11276,58 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR end "ruleUnaryOp" - // $ANTLR start "ruleAggregationOp" - // InternalSolverLanguageParser.g:3713:1: ruleAggregationOp returns [Enumerator current=null] : ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) ; - public final Enumerator ruleAggregationOp() throws RecognitionException { + // $ANTLR start "ruleQuantifier" + // InternalSolverLanguageParser.g:4402:1: ruleQuantifier returns [Enumerator current=null] : ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) ) ; + public final Enumerator ruleQuantifier() 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 { - // InternalSolverLanguageParser.g:3719:2: ( ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) ) - // InternalSolverLanguageParser.g:3720:2: ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) + // InternalSolverLanguageParser.g:4408:2: ( ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) ) ) + // InternalSolverLanguageParser.g:4409:2: ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) ) { - // InternalSolverLanguageParser.g:3720:2: ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) - int alt49=6; + // InternalSolverLanguageParser.g:4409:2: ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) ) + int alt57=3; switch ( input.LA(1) ) { - case Only: - { - alt49=1; - } - break; - case Sum: - { - alt49=2; - } - break; - case Prod: - { - alt49=3; - } - break; - case Avg: + case Exists: { - alt49=4; + alt57=1; } break; - case Min: + case Forall: { - alt49=5; + alt57=2; } break; - case Max: + case Count: { - alt49=6; + alt57=3; } break; default: NoViableAltException nvae = - new NoViableAltException("", 49, 0, input); + new NoViableAltException("", 57, 0, input); throw nvae; } - switch (alt49) { + switch (alt57) { case 1 : - // InternalSolverLanguageParser.g:3721:3: (enumLiteral_0= Only ) + // InternalSolverLanguageParser.g:4410:3: (enumLiteral_0= Exists ) { - // InternalSolverLanguageParser.g:3721:3: (enumLiteral_0= Only ) - // InternalSolverLanguageParser.g:3722:4: enumLiteral_0= Only + // InternalSolverLanguageParser.g:4410:3: (enumLiteral_0= Exists ) + // InternalSolverLanguageParser.g:4411:4: enumLiteral_0= Exists { - enumLiteral_0=(Token)match(input,Only,FOLLOW_2); + enumLiteral_0=(Token)match(input,Exists,FOLLOW_2); - current = grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); + current = grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0()); } @@ -9762,15 +11336,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:3729:3: (enumLiteral_1= Sum ) + // InternalSolverLanguageParser.g:4418:3: (enumLiteral_1= Forall ) { - // InternalSolverLanguageParser.g:3729:3: (enumLiteral_1= Sum ) - // InternalSolverLanguageParser.g:3730:4: enumLiteral_1= Sum + // InternalSolverLanguageParser.g:4418:3: (enumLiteral_1= Forall ) + // InternalSolverLanguageParser.g:4419:4: enumLiteral_1= Forall { - enumLiteral_1=(Token)match(input,Sum,FOLLOW_2); + enumLiteral_1=(Token)match(input,Forall,FOLLOW_2); - current = grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); + current = grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1()); } @@ -9779,66 +11353,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguageParser.g:3737:3: (enumLiteral_2= Prod ) - { - // InternalSolverLanguageParser.g:3737:3: (enumLiteral_2= Prod ) - // InternalSolverLanguageParser.g:3738:4: enumLiteral_2= Prod - { - enumLiteral_2=(Token)match(input,Prod,FOLLOW_2); - - current = grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2()); - - - } - - - } - break; - case 4 : - // InternalSolverLanguageParser.g:3745:3: (enumLiteral_3= Avg ) - { - // InternalSolverLanguageParser.g:3745:3: (enumLiteral_3= Avg ) - // InternalSolverLanguageParser.g:3746:4: enumLiteral_3= Avg - { - enumLiteral_3=(Token)match(input,Avg,FOLLOW_2); - - current = grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); - - - } - - - } - break; - case 5 : - // InternalSolverLanguageParser.g:3753:3: (enumLiteral_4= Min ) - { - // InternalSolverLanguageParser.g:3753:3: (enumLiteral_4= Min ) - // InternalSolverLanguageParser.g:3754:4: enumLiteral_4= Min - { - enumLiteral_4=(Token)match(input,Min,FOLLOW_2); - - current = grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_4, grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); - - - } - - - } - break; - case 6 : - // InternalSolverLanguageParser.g:3761:3: (enumLiteral_5= Max ) + // InternalSolverLanguageParser.g:4426:3: (enumLiteral_2= Count ) { - // InternalSolverLanguageParser.g:3761:3: (enumLiteral_5= Max ) - // InternalSolverLanguageParser.g:3762:4: enumLiteral_5= Max + // InternalSolverLanguageParser.g:4426:3: (enumLiteral_2= Count ) + // InternalSolverLanguageParser.g:4427:4: enumLiteral_2= Count { - enumLiteral_5=(Token)match(input,Max,FOLLOW_2); + enumLiteral_2=(Token)match(input,Count,FOLLOW_2); - current = grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_5, grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); + current = grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2()); } @@ -9865,11 +11388,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleAggregationOp" + // $ANTLR end "ruleQuantifier" // $ANTLR start "ruleLogicValue" - // InternalSolverLanguageParser.g:3772:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ; + // InternalSolverLanguageParser.g:4437: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; @@ -9882,45 +11405,45 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:3778:2: ( ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ) - // InternalSolverLanguageParser.g:3779:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) + // InternalSolverLanguageParser.g:4443:2: ( ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ) + // InternalSolverLanguageParser.g:4444:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) { - // InternalSolverLanguageParser.g:3779:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) - int alt50=4; + // InternalSolverLanguageParser.g:4444:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) + int alt58=4; switch ( input.LA(1) ) { case True: { - alt50=1; + alt58=1; } break; case False: { - alt50=2; + alt58=2; } break; case Unknown: { - alt50=3; + alt58=3; } break; case Error: { - alt50=4; + alt58=4; } break; default: NoViableAltException nvae = - new NoViableAltException("", 50, 0, input); + new NoViableAltException("", 58, 0, input); throw nvae; } - switch (alt50) { + switch (alt58) { case 1 : - // InternalSolverLanguageParser.g:3780:3: (enumLiteral_0= True ) + // InternalSolverLanguageParser.g:4445:3: (enumLiteral_0= True ) { - // InternalSolverLanguageParser.g:3780:3: (enumLiteral_0= True ) - // InternalSolverLanguageParser.g:3781:4: enumLiteral_0= True + // InternalSolverLanguageParser.g:4445:3: (enumLiteral_0= True ) + // InternalSolverLanguageParser.g:4446:4: enumLiteral_0= True { enumLiteral_0=(Token)match(input,True,FOLLOW_2); @@ -9934,10 +11457,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:3788:3: (enumLiteral_1= False ) + // InternalSolverLanguageParser.g:4453:3: (enumLiteral_1= False ) { - // InternalSolverLanguageParser.g:3788:3: (enumLiteral_1= False ) - // InternalSolverLanguageParser.g:3789:4: enumLiteral_1= False + // InternalSolverLanguageParser.g:4453:3: (enumLiteral_1= False ) + // InternalSolverLanguageParser.g:4454:4: enumLiteral_1= False { enumLiteral_1=(Token)match(input,False,FOLLOW_2); @@ -9951,10 +11474,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguageParser.g:3796:3: (enumLiteral_2= Unknown ) + // InternalSolverLanguageParser.g:4461:3: (enumLiteral_2= Unknown ) { - // InternalSolverLanguageParser.g:3796:3: (enumLiteral_2= Unknown ) - // InternalSolverLanguageParser.g:3797:4: enumLiteral_2= Unknown + // InternalSolverLanguageParser.g:4461:3: (enumLiteral_2= Unknown ) + // InternalSolverLanguageParser.g:4462:4: enumLiteral_2= Unknown { enumLiteral_2=(Token)match(input,Unknown,FOLLOW_2); @@ -9968,10 +11491,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 4 : - // InternalSolverLanguageParser.g:3804:3: (enumLiteral_3= Error ) + // InternalSolverLanguageParser.g:4469:3: (enumLiteral_3= Error ) { - // InternalSolverLanguageParser.g:3804:3: (enumLiteral_3= Error ) - // InternalSolverLanguageParser.g:3805:4: enumLiteral_3= Error + // InternalSolverLanguageParser.g:4469:3: (enumLiteral_3= Error ) + // InternalSolverLanguageParser.g:4470:4: enumLiteral_3= Error { enumLiteral_3=(Token)match(input,Error,FOLLOW_2); @@ -10007,7 +11530,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleObjectiveKind" - // InternalSolverLanguageParser.g:3815:1: ruleObjectiveKind returns [Enumerator current=null] : ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ; + // InternalSolverLanguageParser.g:4480:1: ruleObjectiveKind returns [Enumerator current=null] : ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ; public final Enumerator ruleObjectiveKind() throws RecognitionException { Enumerator current = null; @@ -10018,31 +11541,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:3821:2: ( ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ) - // InternalSolverLanguageParser.g:3822:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) + // InternalSolverLanguageParser.g:4486:2: ( ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ) + // InternalSolverLanguageParser.g:4487:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) { - // InternalSolverLanguageParser.g:3822:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) - int alt51=2; - int LA51_0 = input.LA(1); + // InternalSolverLanguageParser.g:4487:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) + int alt59=2; + int LA59_0 = input.LA(1); - if ( (LA51_0==Minimize) ) { - alt51=1; + if ( (LA59_0==Minimize) ) { + alt59=1; } - else if ( (LA51_0==Maximize) ) { - alt51=2; + else if ( (LA59_0==Maximize) ) { + alt59=2; } else { NoViableAltException nvae = - new NoViableAltException("", 51, 0, input); + new NoViableAltException("", 59, 0, input); throw nvae; } - switch (alt51) { + switch (alt59) { case 1 : - // InternalSolverLanguageParser.g:3823:3: (enumLiteral_0= Minimize ) + // InternalSolverLanguageParser.g:4488:3: (enumLiteral_0= Minimize ) { - // InternalSolverLanguageParser.g:3823:3: (enumLiteral_0= Minimize ) - // InternalSolverLanguageParser.g:3824:4: enumLiteral_0= Minimize + // InternalSolverLanguageParser.g:4488:3: (enumLiteral_0= Minimize ) + // InternalSolverLanguageParser.g:4489:4: enumLiteral_0= Minimize { enumLiteral_0=(Token)match(input,Minimize,FOLLOW_2); @@ -10056,10 +11579,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:3831:3: (enumLiteral_1= Maximize ) + // InternalSolverLanguageParser.g:4496:3: (enumLiteral_1= Maximize ) { - // InternalSolverLanguageParser.g:3831:3: (enumLiteral_1= Maximize ) - // InternalSolverLanguageParser.g:3832:4: enumLiteral_1= Maximize + // InternalSolverLanguageParser.g:4496:3: (enumLiteral_1= Maximize ) + // InternalSolverLanguageParser.g:4497:4: enumLiteral_1= Maximize { enumLiteral_1=(Token)match(input,Maximize,FOLLOW_2); @@ -10097,28 +11620,43 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { protected DFA2 dfa2 = new DFA2(this); - protected DFA20 dfa20 = new DFA20(this); - protected DFA24 dfa24 = new DFA24(this); - protected DFA35 dfa35 = new DFA35(this); - static final String dfa_1s = "\15\uffff"; - static final String dfa_2s = "\1\5\1\uffff\1\5\2\uffff\1\36\7\uffff"; - static final String dfa_3s = "\1\123\1\uffff\1\122\2\uffff\1\122\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}>"; + protected DFA23 dfa23 = new DFA23(this); + protected DFA29 dfa29 = new DFA29(this); + protected DFA33 dfa33 = new DFA33(this); + protected DFA44 dfa44 = new DFA44(this); + static final String dfa_1s = "\33\uffff"; + static final String dfa_2s = "\1\4\1\uffff\2\40\1\4\2\uffff\1\7\3\uffff\1\105\2\uffff\2\54\1\uffff\1\40\1\105\2\54\1\uffff\1\54\1\105\2\uffff\1\54"; + static final String dfa_3s = "\1\106\1\uffff\3\105\2\uffff\1\105\3\uffff\1\105\2\uffff\2\105\1\uffff\2\105\2\74\1\uffff\2\105\2\uffff\1\74"; + static final String dfa_4s = "\1\uffff\1\1\3\uffff\1\2\1\4\1\uffff\1\12\1\13\1\14\1\uffff\1\5\1\3\2\uffff\1\11\4\uffff\1\6\2\uffff\1\7\1\10\1\uffff"; + static final String dfa_5s = "\33\uffff}>"; static final String[] dfa_6s = { - "\1\3\1\7\1\uffff\2\11\3\uffff\1\1\1\4\1\uffff\1\1\1\uffff\1\5\1\7\2\1\1\2\1\1\1\10\2\uffff\3\1\1\6\1\uffff\1\1\5\uffff\2\1\1\6\4\1\11\uffff\1\1\1\uffff\2\1\2\uffff\1\1\1\uffff\1\1\7\uffff\1\1\5\uffff\2\1\4\uffff\2\1", + "\1\5\1\10\2\uffff\2\12\1\uffff\1\1\1\6\1\uffff\2\1\1\7\1\1\1\10\2\1\1\4\1\1\1\11\1\uffff\1\1\1\uffff\1\1\1\uffff\3\1\11\uffff\1\1\1\uffff\2\1\2\uffff\1\1\1\uffff\1\1\7\uffff\1\1\5\uffff\1\1\1\3\4\uffff\1\2\1\1", "", - "\1\3\47\uffff\2\1\1\uffff\4\1\3\uffff\1\1\1\uffff\1\12\1\uffff\4\1\1\uffff\6\1\2\uffff\1\1\4\uffff\1\3\3\uffff\1\1\1\3", + "\2\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\13\7\1\1\uffff\2\1\3\uffff\1\14\1\uffff\3\1\1\14", + "\2\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\uffff\7\1\1\uffff\2\1\3\uffff\1\14\1\uffff\3\1\1\14", + "\1\5\33\uffff\2\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\15\1\uffff\4\1\1\uffff\6\1\2\uffff\1\1\4\uffff\1\5\3\uffff\1\1\1\5", "", "", - "\1\14\11\uffff\1\14\44\uffff\1\13\4\uffff\1\13", + "\1\20\70\uffff\1\17\4\uffff\1\16", "", "", "", + "\1\21", "", "", + "\1\25\5\uffff\1\22\15\uffff\1\24\4\uffff\1\23", + "\1\25\23\uffff\1\24\4\uffff\1\23", "", - "" + "\2\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\13\7\1\1\uffff\2\1\3\uffff\1\14\1\uffff\3\1\1\14", + "\1\26", + "\1\30\5\uffff\1\27\11\uffff\1\31", + "\1\30\17\uffff\1\31", + "", + "\1\25\5\uffff\1\22\15\uffff\1\24\4\uffff\1\23", + "\1\32", + "", + "", + "\1\30\5\uffff\1\27\11\uffff\1\31" }; static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); @@ -10142,26 +11680,24 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { this.transition = dfa_6; } public String getDescription() { - return "109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition )"; + return "109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition )"; } } - static final String dfa_7s = "\12\uffff"; - static final String dfa_8s = "\1\uffff\2\10\6\uffff\1\10"; - static final String dfa_9s = "\1\20\2\32\3\uffff\1\122\2\uffff\1\32"; - static final String dfa_10s = "\1\123\2\121\3\uffff\1\122\2\uffff\1\121"; - static final String dfa_11s = "\3\uffff\1\3\1\4\1\5\1\uffff\1\2\1\1\1\uffff"; - static final String dfa_12s = "\12\uffff}>"; + static final String dfa_7s = "\10\uffff"; + static final String dfa_8s = "\1\uffff\2\3\4\uffff\1\3"; + static final String dfa_9s = "\1\16\2\30\2\uffff\1\105\1\uffff\1\30"; + static final String dfa_10s = "\1\106\2\104\2\uffff\1\105\1\uffff\1\104"; + static final String dfa_11s = "\3\uffff\1\1\1\2\1\uffff\1\3\1\uffff"; + static final String dfa_12s = "\10\uffff}>"; static final String[] dfa_13s = { - "\1\4\4\uffff\3\4\10\uffff\1\4\6\uffff\1\4\21\uffff\1\5\14\uffff\1\3\5\uffff\1\4\1\2\4\uffff\1\1\1\4", - "\1\10\4\uffff\1\10\15\uffff\7\10\3\uffff\1\10\1\uffff\1\7\5\10\1\6\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10", - "\1\10\4\uffff\1\10\15\uffff\7\10\3\uffff\1\10\1\uffff\1\7\5\10\1\uffff\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10", - "", - "", + "\1\3\1\4\1\uffff\1\4\1\uffff\1\4\3\3\4\uffff\1\3\1\uffff\1\3\16\uffff\1\3\14\uffff\1\3\5\uffff\1\3\1\2\4\uffff\1\1\1\3", + "\1\3\1\uffff\1\3\5\uffff\11\3\1\uffff\1\3\1\uffff\6\3\1\5\6\3\1\6\2\3\1\6\2\3\3\uffff\3\3", + "\1\3\1\uffff\1\3\5\uffff\11\3\1\uffff\1\3\1\uffff\6\3\1\uffff\6\3\1\6\2\3\1\6\2\3\3\uffff\3\3", "", - "\1\11", "", + "\1\7", "", - "\1\10\4\uffff\1\10\15\uffff\7\10\3\uffff\1\10\1\uffff\1\7\5\10\1\6\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10" + "\1\3\1\uffff\1\3\5\uffff\11\3\1\uffff\1\3\1\uffff\6\3\1\5\6\3\1\6\2\3\1\6\2\3\3\uffff\3\3" }; static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); @@ -10172,11 +11708,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s); - class DFA20 extends DFA { + class DFA23 extends DFA { - public DFA20(BaseRecognizer recognizer) { + public DFA23(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 20; + this.decisionNumber = 23; this.eot = dfa_7; this.eof = dfa_8; this.min = dfa_9; @@ -10186,60 +11722,104 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { this.transition = dfa_13; } public String getDescription() { - return "1716:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) )"; + return "2100:2: (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation )"; } } - static final String dfa_14s = "\1\uffff\2\3\3\uffff\1\11\1\uffff\1\3\1\uffff"; - static final String dfa_15s = "\1\15\2\55\2\uffff\1\122\1\15\1\uffff\1\55\1\uffff"; - static final String dfa_16s = "\1\123\2\122\2\uffff\1\122\1\123\1\uffff\1\122\1\uffff"; - static final String dfa_17s = "\3\uffff\1\1\1\2\2\uffff\1\3\1\uffff\1\4"; - static final String[] dfa_18s = { - "\1\3\2\uffff\1\3\3\uffff\4\3\3\uffff\3\3\2\uffff\1\3\5\uffff\2\3\1\uffff\4\3\13\uffff\2\3\1\uffff\1\4\1\3\1\uffff\1\3\7\uffff\1\3\5\uffff\1\3\1\2\4\uffff\1\1\1\3", - "\1\3\3\uffff\3\3\3\uffff\1\3\1\uffff\2\3\1\6\3\3\1\5\1\3\2\uffff\1\3\1\uffff\1\3\2\uffff\1\3\4\uffff\1\7\1\uffff\2\3\1\uffff\1\7", - "\1\3\3\uffff\3\3\3\uffff\1\3\1\uffff\2\3\1\6\3\3\1\uffff\1\3\2\uffff\1\3\1\uffff\1\3\2\uffff\1\3\4\uffff\1\7\1\uffff\2\3\1\uffff\1\7", + static final String dfa_14s = "\12\uffff"; + static final String dfa_15s = "\1\uffff\2\10\6\uffff\1\10"; + static final String dfa_16s = "\1\16\2\30\3\uffff\1\105\2\uffff\1\30"; + static final String dfa_17s = "\1\106\2\104\3\uffff\1\105\2\uffff\1\104"; + static final String dfa_18s = "\3\uffff\1\3\1\4\1\5\1\uffff\1\2\1\1\1\uffff"; + static final String dfa_19s = "\12\uffff}>"; + static final String[] dfa_20s = { + "\1\4\5\uffff\3\4\4\uffff\1\4\1\uffff\1\4\16\uffff\1\5\14\uffff\1\3\5\uffff\1\4\1\2\4\uffff\1\1\1\4", + "\1\10\1\uffff\1\10\5\uffff\11\10\1\uffff\1\10\1\uffff\1\7\5\10\1\6\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10", + "\1\10\1\uffff\1\10\5\uffff\11\10\1\uffff\1\10\1\uffff\1\7\5\10\1\uffff\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10", "", "", - "\1\10", - "\1\3\2\uffff\1\3\3\uffff\4\3\3\uffff\3\3\2\uffff\1\3\5\uffff\2\3\1\uffff\4\3\13\uffff\2\3\1\11\1\uffff\1\3\1\11\1\3\7\uffff\1\3\5\uffff\2\3\4\uffff\2\3", "", - "\1\3\3\uffff\3\3\3\uffff\1\3\1\uffff\2\3\1\6\3\3\1\5\1\3\2\uffff\1\3\1\uffff\1\3\2\uffff\1\3\4\uffff\1\7\1\uffff\2\3\1\uffff\1\7", - "" + "\1\11", + "", + "", + "\1\10\1\uffff\1\10\5\uffff\11\10\1\uffff\1\10\1\uffff\1\7\5\10\1\6\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10" }; + static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s); - static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s); + static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s); static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s); - static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s); - static final short[][] dfa_18 = unpackEncodedStringArray(dfa_18s); + 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 DFA24 extends DFA { + class DFA29 extends DFA { - public DFA24(BaseRecognizer recognizer) { + public DFA29(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 24; - this.eot = dfa_7; - this.eof = dfa_14; - this.min = dfa_15; - this.max = dfa_16; - this.accept = dfa_17; - this.special = dfa_12; - this.transition = dfa_18; + this.decisionNumber = 29; + 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 "1965:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )"; + return "2415:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) )"; } } - static final String dfa_19s = "\17\uffff"; - static final String dfa_20s = "\12\uffff\2\10\2\uffff\1\10"; - static final String dfa_21s = "\1\30\1\115\3\61\1\115\1\uffff\1\122\2\uffff\3\61\1\122\1\61"; - static final String dfa_22s = "\1\30\1\123\1\63\1\77\1\63\1\122\1\uffff\1\122\2\uffff\2\121\1\77\1\122\1\121"; - static final String dfa_23s = "\6\uffff\1\2\1\uffff\1\3\1\1\5\uffff"; - static final String dfa_24s = "\17\uffff}>"; + static final String dfa_21s = "\1\uffff\2\3\3\uffff\1\11\1\uffff\1\3\1\uffff"; + static final String dfa_22s = "\1\13\2\40\2\uffff\1\105\1\13\1\uffff\1\40\1\uffff"; + static final String dfa_23s = "\1\106\2\105\2\uffff\1\105\1\106\1\uffff\1\105\1\uffff"; + static final String dfa_24s = "\3\uffff\1\1\1\2\2\uffff\1\3\1\uffff\1\4"; static final String[] dfa_25s = { + "\1\3\2\uffff\2\3\1\uffff\1\3\1\uffff\4\3\2\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\13\uffff\2\3\1\uffff\1\4\1\3\1\uffff\1\3\7\uffff\1\3\5\uffff\1\3\1\2\4\uffff\1\1\1\3", + "\1\3\3\uffff\2\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\6\3\3\1\5\1\3\2\uffff\1\3\1\uffff\2\3\1\uffff\2\3\3\uffff\1\7\1\uffff\2\3\1\uffff\1\7", + "\1\3\3\uffff\2\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\6\3\3\1\uffff\1\3\2\uffff\1\3\1\uffff\2\3\1\uffff\2\3\3\uffff\1\7\1\uffff\2\3\1\uffff\1\7", + "", + "", + "\1\10", + "\1\3\2\uffff\2\3\1\uffff\1\3\1\uffff\4\3\2\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\13\uffff\2\3\1\11\1\uffff\1\3\1\11\1\3\7\uffff\1\3\5\uffff\2\3\4\uffff\2\3", + "", + "\1\3\3\uffff\2\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\6\3\3\1\5\1\3\2\uffff\1\3\1\uffff\2\3\1\uffff\2\3\3\uffff\1\7\1\uffff\2\3\1\uffff\1\7", + "" + }; + static final short[] dfa_21 = DFA.unpackEncodedString(dfa_21s); + static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s); + static final char[] dfa_23 = DFA.unpackEncodedStringToUnsignedChars(dfa_23s); + static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s); + static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s); + + class DFA33 extends DFA { + + public DFA33(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 33; + this.eot = dfa_14; + this.eof = dfa_21; + this.min = dfa_22; + this.max = dfa_23; + this.accept = dfa_24; + this.special = dfa_19; + this.transition = dfa_25; + } + public String getDescription() { + return "2664:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )"; + } + } + static final String dfa_26s = "\17\uffff"; + static final String dfa_27s = "\12\uffff\2\10\2\uffff\1\10"; + static final String dfa_28s = "\1\27\1\100\3\44\1\100\1\uffff\1\105\2\uffff\3\44\1\105\1\44"; + static final String dfa_29s = "\1\27\1\106\1\47\1\62\1\47\1\105\1\uffff\1\105\2\uffff\2\104\1\62\1\105\1\104"; + static final String dfa_30s = "\6\uffff\1\2\1\uffff\1\3\1\1\5\uffff"; + static final String dfa_31s = "\17\uffff}>"; + static final String[] dfa_32s = { "\1\1", "\1\4\4\uffff\1\3\1\2", - "\1\5\1\uffff\1\6", - "\1\6\1\11\1\10\13\uffff\1\7", - "\1\6\1\11\1\10", + "\1\5\2\uffff\1\6", + "\1\6\1\11\1\uffff\1\10\12\uffff\1\7", + "\1\6\1\11\1\uffff\1\10", "\1\13\4\uffff\1\12", "", "\1\14", @@ -10247,88 +11827,96 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { "", "\1\6\15\uffff\1\15\21\uffff\1\10", "\1\6\37\uffff\1\10", - "\1\6\1\11\1\10\13\uffff\1\7", + "\1\6\1\11\1\uffff\1\10\12\uffff\1\7", "\1\16", "\1\6\15\uffff\1\15\21\uffff\1\10" }; - static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); - static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s); - static final char[] dfa_21 = DFA.unpackEncodedStringToUnsignedChars(dfa_21s); - static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s); - static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); - static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s); - static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s); + static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s); + static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s); + static final char[] dfa_28 = DFA.unpackEncodedStringToUnsignedChars(dfa_28s); + static final char[] dfa_29 = DFA.unpackEncodedStringToUnsignedChars(dfa_29s); + static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s); + static final short[] dfa_31 = DFA.unpackEncodedString(dfa_31s); + static final short[][] dfa_32 = unpackEncodedStringArray(dfa_32s); - class DFA35 extends DFA { + class DFA44 extends DFA { - public DFA35(BaseRecognizer recognizer) { + public DFA44(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 35; - this.eot = dfa_19; - this.eof = dfa_20; - this.min = dfa_21; - this.max = dfa_22; - this.accept = dfa_23; - this.special = dfa_24; - this.transition = dfa_25; + this.decisionNumber = 44; + this.eot = dfa_26; + this.eof = dfa_27; + this.min = dfa_28; + this.max = dfa_29; + this.accept = dfa_30; + this.special = dfa_31; + this.transition = dfa_32; } public String getDescription() { - return "2940:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )"; + return "3639: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[]{0x53401FC179FD6362L,0x00000000000C3040L}); - public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); - public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0001000000000002L,0x0000000000000012L}); - public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x53401EC138F12000L,0x00000000000C3040L}); - public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000400000L,0x0000000000042000L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000000L,0x0000000000042000L}); - public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000020L,0x0000000000042000L}); - public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0001000000000000L}); - public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0200000000000000L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); - public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000010040000000L}); - public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000004000000L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000400000000002L,0x0000000000000004L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000004L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000400000000000L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x2000000000000002L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x008E200000000002L,0x0000000000000028L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x5000000000000002L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0800000000000002L,0x0000000000000001L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x02001AC130F10000L,0x00000000000C3040L}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0400000000000000L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0200000000000000L,0x0000000000018000L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x5F401EC138F12000L,0x00000000000C3040L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x2400000000000000L}); - public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x5B401EC138F12000L,0x00000000000C3040L}); - public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0800000000000000L}); - public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000800000000000L}); - public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); - public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000080000L}); - public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); - public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000008000L,0x0000000000000200L}); - public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x2000000000000000L,0x0000000000000200L}); - public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000000000080L,0x0000000000042800L}); - public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040040L}); - public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000000402L,0x0000000000000004L}); - public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0800000000000000L,0x0000000000080000L}); - public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); - public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0004000000000000L}); - public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000000L,0x00000000000C2000L}); - public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0002000000000000L}); - public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0008000000000000L}); - public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0008000000000002L}); - public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x8000000000000002L}); + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x82029A00EAFFDB32L,0x0000000000000061L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0090000800000002L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x82029A00EA7AC800L,0x0000000000000061L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000200000L,0x0000000000000021L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000021L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000021L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000800000000L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0010000000000000L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0080000000000000L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x1000000000000000L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000010000000L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x4000000000000000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0001000000000002L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000004000000L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0001040000000000L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000004000000002L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0020000200000002L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0020000000000002L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x014004B100000002L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0002800000000002L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0008400000000002L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0800000000000002L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000010000000002L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x82001000287AC000L,0x0000000000000061L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0400000000000000L,0x0000000000000021L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0401000000000000L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x1200000000000000L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x6000000000000000L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000200000000000L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000100000000000L,0x000000000000000CL}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x8202FA00EA7AC800L,0x0000000000000061L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0001200000000000L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x8202DA00EA7AC800L,0x0000000000000061L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0400000000000000L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000000040000L}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x1000000000002000L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x1001000000000000L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x4000000000000040L,0x0000000000000021L}); + public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0200000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0020000000000402L}); + public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000400000000000L,0x0000000000000040L}); + public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); + public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000002000000000L}); + public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000061L}); + public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000001000000000L}); + public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000008000000000L}); + public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000008000000002L}); + public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0004000000000002L}); } \ No newline at end of file diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens index 81343db5..736b2f0a 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens @@ -1,83 +1,70 @@ -'!'=56 -'!='=45 -'('=57 -')'=58 -'*'=59 -'+'=60 -','=61 -'-'=62 -'->'=46 -'.'=63 -'..'=47 -'/'=64 -':'=65 -':-'=48 -';'=66 -'<'=67 -'<='=49 -'='=68 -'=='=50 -'>'=69 -'>='=51 -'ADD'=33 -'DIV'=34 -'EQ'=52 -'GREATER'=11 -'GREATER_EQ'=4 -'IN'=53 -'LESS'=25 -'LESS_EQ'=12 -'MUL'=35 -'NOT_EQ'=17 -'POW'=36 -'SUB'=37 -'['=70 -']'=71 -'^'=72 -'abstract'=6 -'avg'=38 -'class'=19 -'contains'=7 -'count'=20 -'current'=13 -'default'=14 -'else'=26 -'empty'=21 -'error'=22 -'extends'=15 -'extern'=18 -'false'=23 -'functional'=5 -'if'=54 -'in'=55 -'inf'=39 -'int'=40 -'max'=41 +'!'=43 +'!='=32 +'('=44 +')'=45 +'*'=46 +'+'=47 +','=48 +'-'=49 +'->'=33 +'.'=50 +'..'=34 +'...'=28 +'/'=51 +':'=52 +':-'=35 +';'=53 +'<'=54 +'<='=36 +'='=55 +'=='=37 +'=>'=38 +'>'=56 +'>='=39 +'['=57 +']'=58 +'^'=59 +'abstract'=5 +'as'=40 +'class'=18 +'contains'=6 +'count'=19 +'current'=11 +'datatype'=7 +'default'=12 +'else'=24 +'empty'=20 +'error'=21 +'exists'=15 +'extends'=13 +'extern'=16 +'false'=22 +'forall'=17 +'functional'=4 +'if'=41 +'in'=42 +'inf'=29 +'let'=30 'maximize'=8 -'may'=42 -'min'=43 +'may'=31 'minimize'=9 -'must'=27 -'only'=28 +'must'=25 'opposite'=10 -'prod'=29 -'real'=30 -'scope'=24 -'sum'=44 -'then'=31 -'true'=32 -'unknown'=16 -'{'=73 -'|'=74 -'}'=75 -RULE_ANY_OTHER=86 -RULE_FULL_STOP=81 -RULE_ID=82 -RULE_INT=83 -RULE_ML_COMMENT=84 -RULE_QUOTED_ID=77 -RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80 -RULE_SL_COMMENT=78 -RULE_STRING=76 -RULE_TRANSITIVE_CLOSURE=79 -RULE_WS=85 +'scope'=23 +'then'=26 +'true'=27 +'unknown'=14 +'{'=60 +'|'=61 +'}'=62 +RULE_ANY_OTHER=73 +RULE_FULL_STOP=68 +RULE_ID=69 +RULE_INT=70 +RULE_ML_COMMENT=71 +RULE_QUOTED_ID=64 +RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67 +RULE_SL_COMMENT=65 +RULE_STRING=63 +RULE_TRANSITIVE_CLOSURE=66 +RULE_WS=72 diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g index 1a29e53b..3c496e8a 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g @@ -11,24 +11,20 @@ package org.eclipse.viatra.solver.language.parser.antlr.lexer; import org.eclipse.xtext.parser.antlr.Lexer; } -GREATER_EQ : 'GREATER_EQ'; - Functional : 'functional'; Abstract : 'abstract'; Contains : 'contains'; +Datatype : 'datatype'; + Maximize : 'maximize'; Minimize : 'minimize'; Opposite : 'opposite'; -GREATER : 'GREATER'; - -LESS_EQ : 'LESS_EQ'; - Current : 'current'; Default : 'default'; @@ -37,10 +33,12 @@ Extends : 'extends'; Unknown : 'unknown'; -NOT_EQ : 'NOT_EQ'; +Exists : 'exists'; Extern : 'extern'; +Forall : 'forall'; + Class : 'class'; Count : 'count'; @@ -53,46 +51,22 @@ False : 'false'; Scope : 'scope'; -LESS : 'LESS'; - Else : 'else'; Must : 'must'; -Only : 'only'; - -Prod : 'prod'; - -Real : 'real'; - Then : 'then'; True : 'true'; -ADD : 'ADD'; - -DIV : 'DIV'; - -MUL : 'MUL'; - -POW : 'POW'; - -SUB : 'SUB'; - -Avg : 'avg'; +FullStopFullStopFullStop : '...'; Inf : 'inf'; -Int : 'int'; - -Max : 'max'; +Let : 'let'; May : 'may'; -Min : 'min'; - -Sum : 'sum'; - ExclamationMarkEqualsSign : '!='; HyphenMinusGreaterThanSign : '->'; @@ -105,11 +79,11 @@ LessThanSignEqualsSign : '<='; EqualsSignEqualsSign : '=='; -GreaterThanSignEqualsSign : '>='; +EqualsSignGreaterThanSign : '=>'; -EQ : 'EQ'; +GreaterThanSignEqualsSign : '>='; -IN : 'IN'; +As : 'as'; If : 'if'; diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java index b46f86fc..b113baaf 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java @@ -12,90 +12,77 @@ import java.util.ArrayList; @SuppressWarnings("all") public class InternalSolverLanguageLexer extends Lexer { - public static final int ADD=33; - public static final int True=32; - public static final int GREATER_EQ=4; - public static final int Count=20; - public static final int False=23; - public static final int Must=27; - public static final int LessThanSign=67; - public static final int LeftParenthesis=57; - public static final int Unknown=16; - public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80; - public static final int FullStopFullStop=47; - public static final int Real=30; - public static final int Then=31; - public static final int Extends=15; - public static final int RightSquareBracket=71; - public static final int ExclamationMark=56; + public static final int EqualsSignGreaterThanSign=38; + public static final int True=27; + public static final int Count=19; + public static final int False=22; + public static final int Must=25; + public static final int FullStopFullStopFullStop=28; + public static final int LessThanSign=54; + public static final int Datatype=7; + public static final int LeftParenthesis=44; + public static final int Unknown=14; + public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67; + public static final int FullStopFullStop=34; + public static final int Then=26; + public static final int Extends=13; + public static final int Forall=17; + public static final int RightSquareBracket=58; + public static final int ExclamationMark=43; public static final int Opposite=10; - public static final int SUB=37; - public static final int GreaterThanSign=69; - public static final int NOT_EQ=17; - public static final int RULE_ID=82; - public static final int MUL=35; - public static final int IN=53; - public static final int RULE_QUOTED_ID=77; - public static final int RightParenthesis=58; - public static final int Sum=44; - public static final int EQ=52; - public static final int GreaterThanSignEqualsSign=51; - public static final int Functional=5; - public static final int EqualsSignEqualsSign=50; - public static final int Avg=38; - public static final int Min=43; - public static final int VerticalLine=74; - public static final int PlusSign=60; - public static final int RULE_INT=83; - public static final int Contains=7; - public static final int RULE_ML_COMMENT=84; - public static final int POW=36; - public static final int RULE_TRANSITIVE_CLOSURE=79; - public static final int Class=19; - public static final int LESS=25; - public static final int LeftSquareBracket=70; - public static final int RULE_FULL_STOP=81; - public static final int Current=13; - public static final int If=54; - public static final int Inf=39; - public static final int LESS_EQ=12; - public static final int May=42; - public static final int Max=41; - public static final int In=55; - public static final int RULE_STRING=76; - public static final int Int=40; - public static final int Extern=18; - public static final int RULE_SL_COMMENT=78; - public static final int Prod=29; - public static final int Comma=61; - public static final int EqualsSign=68; - public static final int Empty=21; - public static final int HyphenMinus=62; + public static final int GreaterThanSign=56; + public static final int RULE_ID=69; + public static final int RULE_QUOTED_ID=64; + public static final int RightParenthesis=45; + public static final int GreaterThanSignEqualsSign=39; + public static final int Functional=4; + public static final int EqualsSignEqualsSign=37; + public static final int VerticalLine=61; + public static final int PlusSign=47; + public static final int RULE_INT=70; + public static final int Contains=6; + public static final int RULE_ML_COMMENT=71; + public static final int RULE_TRANSITIVE_CLOSURE=66; + public static final int Class=18; + public static final int LeftSquareBracket=57; + public static final int RULE_FULL_STOP=68; + public static final int Current=11; + public static final int If=41; + public static final int Inf=29; + public static final int May=31; + public static final int In=42; + public static final int RULE_STRING=63; + public static final int Extern=16; + public static final int RULE_SL_COMMENT=65; + public static final int Comma=48; + public static final int EqualsSign=55; + public static final int Empty=20; + public static final int As=40; + public static final int HyphenMinus=49; public static final int Maximize=8; - public static final int LessThanSignEqualsSign=49; - public static final int Solidus=64; - public static final int Colon=65; - public static final int RightCurlyBracket=75; + public static final int LessThanSignEqualsSign=36; + public static final int Solidus=51; + public static final int Colon=52; + public static final int RightCurlyBracket=62; public static final int EOF=-1; - public static final int Asterisk=59; - public static final int FullStop=63; - public static final int RULE_WS=85; - public static final int Abstract=6; + public static final int Asterisk=46; + public static final int FullStop=50; + public static final int RULE_WS=72; + public static final int Abstract=5; public static final int Minimize=9; - public static final int GREATER=11; - public static final int LeftCurlyBracket=73; - public static final int Error=22; - public static final int Only=28; - public static final int RULE_ANY_OTHER=86; - public static final int Default=14; - public static final int ColonHyphenMinus=48; - public static final int CircumflexAccent=72; - public static final int DIV=34; - public static final int Semicolon=66; - public static final int Scope=24; - public static final int Else=26; - public static final int ExclamationMarkEqualsSign=45; - public static final int HyphenMinusGreaterThanSign=46; + public static final int LeftCurlyBracket=60; + public static final int Error=21; + public static final int RULE_ANY_OTHER=73; + public static final int Default=12; + public static final int ColonHyphenMinus=35; + public static final int CircumflexAccent=59; + public static final int Semicolon=53; + public static final int Scope=23; + public static final int Exists=15; + public static final int Else=24; + public static final int Let=30; + public static final int ExclamationMarkEqualsSign=32; + public static final int HyphenMinusGreaterThanSign=33; // delegates // delegators @@ -110,34 +97,13 @@ public class InternalSolverLanguageLexer extends Lexer { } public String getGrammarFileName() { return "InternalSolverLanguageLexer.g"; } - // $ANTLR start "GREATER_EQ" - public final void mGREATER_EQ() throws RecognitionException { - try { - int _type = GREATER_EQ; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:14:12: ( 'GREATER_EQ' ) - // InternalSolverLanguageLexer.g:14:14: 'GREATER_EQ' - { - match("GREATER_EQ"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "GREATER_EQ" - // $ANTLR start "Functional" public final void mFunctional() throws RecognitionException { try { int _type = Functional; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:16:12: ( 'functional' ) - // InternalSolverLanguageLexer.g:16:14: 'functional' + // InternalSolverLanguageLexer.g:14:12: ( 'functional' ) + // InternalSolverLanguageLexer.g:14:14: 'functional' { match("functional"); @@ -157,8 +123,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Abstract; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:18:10: ( 'abstract' ) - // InternalSolverLanguageLexer.g:18:12: 'abstract' + // InternalSolverLanguageLexer.g:16:10: ( 'abstract' ) + // InternalSolverLanguageLexer.g:16:12: 'abstract' { match("abstract"); @@ -178,8 +144,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Contains; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:20:10: ( 'contains' ) - // InternalSolverLanguageLexer.g:20:12: 'contains' + // InternalSolverLanguageLexer.g:18:10: ( 'contains' ) + // InternalSolverLanguageLexer.g:18:12: 'contains' { match("contains"); @@ -194,6 +160,27 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "Contains" + // $ANTLR start "Datatype" + public final void mDatatype() throws RecognitionException { + try { + int _type = Datatype; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:20:10: ( 'datatype' ) + // InternalSolverLanguageLexer.g:20:12: 'datatype' + { + match("datatype"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Datatype" + // $ANTLR start "Maximize" public final void mMaximize() throws RecognitionException { try { @@ -257,55 +244,13 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "Opposite" - // $ANTLR start "GREATER" - public final void mGREATER() throws RecognitionException { - try { - int _type = GREATER; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:28:9: ( 'GREATER' ) - // InternalSolverLanguageLexer.g:28:11: 'GREATER' - { - match("GREATER"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "GREATER" - - // $ANTLR start "LESS_EQ" - public final void mLESS_EQ() throws RecognitionException { - try { - int _type = LESS_EQ; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:30:9: ( 'LESS_EQ' ) - // InternalSolverLanguageLexer.g:30:11: 'LESS_EQ' - { - match("LESS_EQ"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "LESS_EQ" - // $ANTLR start "Current" public final void mCurrent() throws RecognitionException { try { int _type = Current; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:32:9: ( 'current' ) - // InternalSolverLanguageLexer.g:32:11: 'current' + // InternalSolverLanguageLexer.g:28:9: ( 'current' ) + // InternalSolverLanguageLexer.g:28:11: 'current' { match("current"); @@ -325,8 +270,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Default; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:34:9: ( 'default' ) - // InternalSolverLanguageLexer.g:34:11: 'default' + // InternalSolverLanguageLexer.g:30:9: ( 'default' ) + // InternalSolverLanguageLexer.g:30:11: 'default' { match("default"); @@ -346,8 +291,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Extends; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:36:9: ( 'extends' ) - // InternalSolverLanguageLexer.g:36:11: 'extends' + // InternalSolverLanguageLexer.g:32:9: ( 'extends' ) + // InternalSolverLanguageLexer.g:32:11: 'extends' { match("extends"); @@ -367,8 +312,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Unknown; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:38:9: ( 'unknown' ) - // InternalSolverLanguageLexer.g:38:11: 'unknown' + // InternalSolverLanguageLexer.g:34:9: ( 'unknown' ) + // InternalSolverLanguageLexer.g:34:11: 'unknown' { match("unknown"); @@ -383,15 +328,15 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "Unknown" - // $ANTLR start "NOT_EQ" - public final void mNOT_EQ() throws RecognitionException { + // $ANTLR start "Exists" + public final void mExists() throws RecognitionException { try { - int _type = NOT_EQ; + int _type = Exists; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:40:8: ( 'NOT_EQ' ) - // InternalSolverLanguageLexer.g:40:10: 'NOT_EQ' + // InternalSolverLanguageLexer.g:36:8: ( 'exists' ) + // InternalSolverLanguageLexer.g:36:10: 'exists' { - match("NOT_EQ"); + match("exists"); } @@ -402,15 +347,15 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "NOT_EQ" + // $ANTLR end "Exists" // $ANTLR start "Extern" public final void mExtern() throws RecognitionException { try { int _type = Extern; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:42:8: ( 'extern' ) - // InternalSolverLanguageLexer.g:42:10: 'extern' + // InternalSolverLanguageLexer.g:38:8: ( 'extern' ) + // InternalSolverLanguageLexer.g:38:10: 'extern' { match("extern"); @@ -425,13 +370,34 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "Extern" + // $ANTLR start "Forall" + public final void mForall() throws RecognitionException { + try { + int _type = Forall; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:40:8: ( 'forall' ) + // InternalSolverLanguageLexer.g:40:10: 'forall' + { + match("forall"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Forall" + // $ANTLR start "Class" public final void mClass() throws RecognitionException { try { int _type = Class; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:44:7: ( 'class' ) - // InternalSolverLanguageLexer.g:44:9: 'class' + // InternalSolverLanguageLexer.g:42:7: ( 'class' ) + // InternalSolverLanguageLexer.g:42:9: 'class' { match("class"); @@ -451,8 +417,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Count; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:46:7: ( 'count' ) - // InternalSolverLanguageLexer.g:46:9: 'count' + // InternalSolverLanguageLexer.g:44:7: ( 'count' ) + // InternalSolverLanguageLexer.g:44:9: 'count' { match("count"); @@ -472,8 +438,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Empty; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:48:7: ( 'empty' ) - // InternalSolverLanguageLexer.g:48:9: 'empty' + // InternalSolverLanguageLexer.g:46:7: ( 'empty' ) + // InternalSolverLanguageLexer.g:46:9: 'empty' { match("empty"); @@ -493,8 +459,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Error; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:50:7: ( 'error' ) - // InternalSolverLanguageLexer.g:50:9: 'error' + // InternalSolverLanguageLexer.g:48:7: ( 'error' ) + // InternalSolverLanguageLexer.g:48:9: 'error' { match("error"); @@ -514,8 +480,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = False; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:52:7: ( 'false' ) - // InternalSolverLanguageLexer.g:52:9: 'false' + // InternalSolverLanguageLexer.g:50:7: ( 'false' ) + // InternalSolverLanguageLexer.g:50:9: 'false' { match("false"); @@ -535,8 +501,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Scope; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:54:7: ( 'scope' ) - // InternalSolverLanguageLexer.g:54:9: 'scope' + // InternalSolverLanguageLexer.g:52:7: ( 'scope' ) + // InternalSolverLanguageLexer.g:52:9: 'scope' { match("scope"); @@ -551,34 +517,13 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "Scope" - // $ANTLR start "LESS" - public final void mLESS() throws RecognitionException { - try { - int _type = LESS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:56:6: ( 'LESS' ) - // InternalSolverLanguageLexer.g:56:8: 'LESS' - { - match("LESS"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "LESS" - // $ANTLR start "Else" public final void mElse() throws RecognitionException { try { int _type = Else; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:58:6: ( 'else' ) - // InternalSolverLanguageLexer.g:58:8: 'else' + // InternalSolverLanguageLexer.g:54:6: ( 'else' ) + // InternalSolverLanguageLexer.g:54:8: 'else' { match("else"); @@ -598,8 +543,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Must; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:60:6: ( 'must' ) - // InternalSolverLanguageLexer.g:60:8: 'must' + // InternalSolverLanguageLexer.g:56:6: ( 'must' ) + // InternalSolverLanguageLexer.g:56:8: 'must' { match("must"); @@ -614,76 +559,13 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "Must" - // $ANTLR start "Only" - public final void mOnly() throws RecognitionException { - try { - int _type = Only; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:62:6: ( 'only' ) - // InternalSolverLanguageLexer.g:62:8: 'only' - { - match("only"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "Only" - - // $ANTLR start "Prod" - public final void mProd() throws RecognitionException { - try { - int _type = Prod; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:64:6: ( 'prod' ) - // InternalSolverLanguageLexer.g:64:8: 'prod' - { - match("prod"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "Prod" - - // $ANTLR start "Real" - public final void mReal() throws RecognitionException { - try { - int _type = Real; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:66:6: ( 'real' ) - // InternalSolverLanguageLexer.g:66:8: 'real' - { - match("real"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "Real" - // $ANTLR start "Then" public final void mThen() throws RecognitionException { try { int _type = Then; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:68:6: ( 'then' ) - // InternalSolverLanguageLexer.g:68:8: 'then' + // InternalSolverLanguageLexer.g:58:6: ( 'then' ) + // InternalSolverLanguageLexer.g:58:8: 'then' { match("then"); @@ -703,8 +585,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = True; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:70:6: ( 'true' ) - // InternalSolverLanguageLexer.g:70:8: 'true' + // InternalSolverLanguageLexer.g:60:6: ( 'true' ) + // InternalSolverLanguageLexer.g:60:8: 'true' { match("true"); @@ -719,120 +601,15 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "True" - // $ANTLR start "ADD" - public final void mADD() throws RecognitionException { - try { - int _type = ADD; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:72:5: ( 'ADD' ) - // InternalSolverLanguageLexer.g:72:7: 'ADD' - { - match("ADD"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "ADD" - - // $ANTLR start "DIV" - public final void mDIV() throws RecognitionException { - try { - int _type = DIV; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:74:5: ( 'DIV' ) - // InternalSolverLanguageLexer.g:74:7: 'DIV' - { - match("DIV"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "DIV" - - // $ANTLR start "MUL" - public final void mMUL() throws RecognitionException { - try { - int _type = MUL; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:76:5: ( 'MUL' ) - // InternalSolverLanguageLexer.g:76:7: 'MUL' - { - match("MUL"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "MUL" - - // $ANTLR start "POW" - public final void mPOW() throws RecognitionException { - try { - int _type = POW; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:78:5: ( 'POW' ) - // InternalSolverLanguageLexer.g:78:7: 'POW' - { - match("POW"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "POW" - - // $ANTLR start "SUB" - public final void mSUB() throws RecognitionException { - try { - int _type = SUB; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:80:5: ( 'SUB' ) - // InternalSolverLanguageLexer.g:80:7: 'SUB' - { - match("SUB"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "SUB" - - // $ANTLR start "Avg" - public final void mAvg() throws RecognitionException { + // $ANTLR start "FullStopFullStopFullStop" + public final void mFullStopFullStopFullStop() throws RecognitionException { try { - int _type = Avg; + int _type = FullStopFullStopFullStop; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:82:5: ( 'avg' ) - // InternalSolverLanguageLexer.g:82:7: 'avg' + // InternalSolverLanguageLexer.g:62:26: ( '...' ) + // InternalSolverLanguageLexer.g:62:28: '...' { - match("avg"); + match("..."); } @@ -843,15 +620,15 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "Avg" + // $ANTLR end "FullStopFullStopFullStop" // $ANTLR start "Inf" public final void mInf() throws RecognitionException { try { int _type = Inf; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:84:5: ( 'inf' ) - // InternalSolverLanguageLexer.g:84:7: 'inf' + // InternalSolverLanguageLexer.g:64:5: ( 'inf' ) + // InternalSolverLanguageLexer.g:64:7: 'inf' { match("inf"); @@ -866,36 +643,15 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "Inf" - // $ANTLR start "Int" - public final void mInt() throws RecognitionException { - try { - int _type = Int; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:86:5: ( 'int' ) - // InternalSolverLanguageLexer.g:86:7: 'int' - { - match("int"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "Int" - - // $ANTLR start "Max" - public final void mMax() throws RecognitionException { + // $ANTLR start "Let" + public final void mLet() throws RecognitionException { try { - int _type = Max; + int _type = Let; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:88:5: ( 'max' ) - // InternalSolverLanguageLexer.g:88:7: 'max' + // InternalSolverLanguageLexer.g:66:5: ( 'let' ) + // InternalSolverLanguageLexer.g:66:7: 'let' { - match("max"); + match("let"); } @@ -906,15 +662,15 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "Max" + // $ANTLR end "Let" // $ANTLR start "May" public final void mMay() throws RecognitionException { try { int _type = May; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:90:5: ( 'may' ) - // InternalSolverLanguageLexer.g:90:7: 'may' + // InternalSolverLanguageLexer.g:68:5: ( 'may' ) + // InternalSolverLanguageLexer.g:68:7: 'may' { match("may"); @@ -929,55 +685,13 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "May" - // $ANTLR start "Min" - public final void mMin() throws RecognitionException { - try { - int _type = Min; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:92:5: ( 'min' ) - // InternalSolverLanguageLexer.g:92:7: 'min' - { - match("min"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "Min" - - // $ANTLR start "Sum" - public final void mSum() throws RecognitionException { - try { - int _type = Sum; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:94:5: ( 'sum' ) - // InternalSolverLanguageLexer.g:94:7: 'sum' - { - match("sum"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "Sum" - // $ANTLR start "ExclamationMarkEqualsSign" public final void mExclamationMarkEqualsSign() throws RecognitionException { try { int _type = ExclamationMarkEqualsSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:96:27: ( '!=' ) - // InternalSolverLanguageLexer.g:96:29: '!=' + // InternalSolverLanguageLexer.g:70:27: ( '!=' ) + // InternalSolverLanguageLexer.g:70:29: '!=' { match("!="); @@ -997,8 +711,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = HyphenMinusGreaterThanSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:98:28: ( '->' ) - // InternalSolverLanguageLexer.g:98:30: '->' + // InternalSolverLanguageLexer.g:72:28: ( '->' ) + // InternalSolverLanguageLexer.g:72:30: '->' { match("->"); @@ -1018,8 +732,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = FullStopFullStop; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:100:18: ( '..' ) - // InternalSolverLanguageLexer.g:100:20: '..' + // InternalSolverLanguageLexer.g:74:18: ( '..' ) + // InternalSolverLanguageLexer.g:74:20: '..' { match(".."); @@ -1039,8 +753,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = ColonHyphenMinus; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:102:18: ( ':-' ) - // InternalSolverLanguageLexer.g:102:20: ':-' + // InternalSolverLanguageLexer.g:76:18: ( ':-' ) + // InternalSolverLanguageLexer.g:76:20: ':-' { match(":-"); @@ -1060,8 +774,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = LessThanSignEqualsSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:104:24: ( '<=' ) - // InternalSolverLanguageLexer.g:104:26: '<=' + // InternalSolverLanguageLexer.g:78:24: ( '<=' ) + // InternalSolverLanguageLexer.g:78:26: '<=' { match("<="); @@ -1081,8 +795,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = EqualsSignEqualsSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:106:22: ( '==' ) - // InternalSolverLanguageLexer.g:106:24: '==' + // InternalSolverLanguageLexer.g:80:22: ( '==' ) + // InternalSolverLanguageLexer.g:80:24: '==' { match("=="); @@ -1097,15 +811,15 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "EqualsSignEqualsSign" - // $ANTLR start "GreaterThanSignEqualsSign" - public final void mGreaterThanSignEqualsSign() throws RecognitionException { + // $ANTLR start "EqualsSignGreaterThanSign" + public final void mEqualsSignGreaterThanSign() throws RecognitionException { try { - int _type = GreaterThanSignEqualsSign; + int _type = EqualsSignGreaterThanSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:108:27: ( '>=' ) - // InternalSolverLanguageLexer.g:108:29: '>=' + // InternalSolverLanguageLexer.g:82:27: ( '=>' ) + // InternalSolverLanguageLexer.g:82:29: '=>' { - match(">="); + match("=>"); } @@ -1116,17 +830,17 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "GreaterThanSignEqualsSign" + // $ANTLR end "EqualsSignGreaterThanSign" - // $ANTLR start "EQ" - public final void mEQ() throws RecognitionException { + // $ANTLR start "GreaterThanSignEqualsSign" + public final void mGreaterThanSignEqualsSign() throws RecognitionException { try { - int _type = EQ; + int _type = GreaterThanSignEqualsSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:110:4: ( 'EQ' ) - // InternalSolverLanguageLexer.g:110:6: 'EQ' + // InternalSolverLanguageLexer.g:84:27: ( '>=' ) + // InternalSolverLanguageLexer.g:84:29: '>=' { - match("EQ"); + match(">="); } @@ -1137,17 +851,17 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "EQ" + // $ANTLR end "GreaterThanSignEqualsSign" - // $ANTLR start "IN" - public final void mIN() throws RecognitionException { + // $ANTLR start "As" + public final void mAs() throws RecognitionException { try { - int _type = IN; + int _type = As; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:112:4: ( 'IN' ) - // InternalSolverLanguageLexer.g:112:6: 'IN' + // InternalSolverLanguageLexer.g:86:4: ( 'as' ) + // InternalSolverLanguageLexer.g:86:6: 'as' { - match("IN"); + match("as"); } @@ -1158,15 +872,15 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "IN" + // $ANTLR end "As" // $ANTLR start "If" public final void mIf() throws RecognitionException { try { int _type = If; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:114:4: ( 'if' ) - // InternalSolverLanguageLexer.g:114:6: 'if' + // InternalSolverLanguageLexer.g:88:4: ( 'if' ) + // InternalSolverLanguageLexer.g:88:6: 'if' { match("if"); @@ -1186,8 +900,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = In; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:116:4: ( 'in' ) - // InternalSolverLanguageLexer.g:116:6: 'in' + // InternalSolverLanguageLexer.g:90:4: ( 'in' ) + // InternalSolverLanguageLexer.g:90:6: 'in' { match("in"); @@ -1207,8 +921,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = ExclamationMark; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:118:17: ( '!' ) - // InternalSolverLanguageLexer.g:118:19: '!' + // InternalSolverLanguageLexer.g:92:17: ( '!' ) + // InternalSolverLanguageLexer.g:92:19: '!' { match('!'); @@ -1227,8 +941,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = LeftParenthesis; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:120:17: ( '(' ) - // InternalSolverLanguageLexer.g:120:19: '(' + // InternalSolverLanguageLexer.g:94:17: ( '(' ) + // InternalSolverLanguageLexer.g:94:19: '(' { match('('); @@ -1247,8 +961,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RightParenthesis; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:122:18: ( ')' ) - // InternalSolverLanguageLexer.g:122:20: ')' + // InternalSolverLanguageLexer.g:96:18: ( ')' ) + // InternalSolverLanguageLexer.g:96:20: ')' { match(')'); @@ -1267,8 +981,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Asterisk; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:124:10: ( '*' ) - // InternalSolverLanguageLexer.g:124:12: '*' + // InternalSolverLanguageLexer.g:98:10: ( '*' ) + // InternalSolverLanguageLexer.g:98:12: '*' { match('*'); @@ -1287,8 +1001,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = PlusSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:126:10: ( '+' ) - // InternalSolverLanguageLexer.g:126:12: '+' + // InternalSolverLanguageLexer.g:100:10: ( '+' ) + // InternalSolverLanguageLexer.g:100:12: '+' { match('+'); @@ -1307,8 +1021,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Comma; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:128:7: ( ',' ) - // InternalSolverLanguageLexer.g:128:9: ',' + // InternalSolverLanguageLexer.g:102:7: ( ',' ) + // InternalSolverLanguageLexer.g:102:9: ',' { match(','); @@ -1327,8 +1041,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = HyphenMinus; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:130:13: ( '-' ) - // InternalSolverLanguageLexer.g:130:15: '-' + // InternalSolverLanguageLexer.g:104:13: ( '-' ) + // InternalSolverLanguageLexer.g:104:15: '-' { match('-'); @@ -1347,8 +1061,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = FullStop; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:132:10: ( '.' ) - // InternalSolverLanguageLexer.g:132:12: '.' + // InternalSolverLanguageLexer.g:106:10: ( '.' ) + // InternalSolverLanguageLexer.g:106:12: '.' { match('.'); @@ -1367,8 +1081,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Solidus; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:134:9: ( '/' ) - // InternalSolverLanguageLexer.g:134:11: '/' + // InternalSolverLanguageLexer.g:108:9: ( '/' ) + // InternalSolverLanguageLexer.g:108:11: '/' { match('/'); @@ -1387,8 +1101,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Colon; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:136:7: ( ':' ) - // InternalSolverLanguageLexer.g:136:9: ':' + // InternalSolverLanguageLexer.g:110:7: ( ':' ) + // InternalSolverLanguageLexer.g:110:9: ':' { match(':'); @@ -1407,8 +1121,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Semicolon; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:138:11: ( ';' ) - // InternalSolverLanguageLexer.g:138:13: ';' + // InternalSolverLanguageLexer.g:112:11: ( ';' ) + // InternalSolverLanguageLexer.g:112:13: ';' { match(';'); @@ -1427,8 +1141,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = LessThanSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:140:14: ( '<' ) - // InternalSolverLanguageLexer.g:140:16: '<' + // InternalSolverLanguageLexer.g:114:14: ( '<' ) + // InternalSolverLanguageLexer.g:114:16: '<' { match('<'); @@ -1447,8 +1161,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = EqualsSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:142:12: ( '=' ) - // InternalSolverLanguageLexer.g:142:14: '=' + // InternalSolverLanguageLexer.g:116:12: ( '=' ) + // InternalSolverLanguageLexer.g:116:14: '=' { match('='); @@ -1467,8 +1181,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = GreaterThanSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:144:17: ( '>' ) - // InternalSolverLanguageLexer.g:144:19: '>' + // InternalSolverLanguageLexer.g:118:17: ( '>' ) + // InternalSolverLanguageLexer.g:118:19: '>' { match('>'); @@ -1487,8 +1201,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = LeftSquareBracket; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:146:19: ( '[' ) - // InternalSolverLanguageLexer.g:146:21: '[' + // InternalSolverLanguageLexer.g:120:19: ( '[' ) + // InternalSolverLanguageLexer.g:120:21: '[' { match('['); @@ -1507,8 +1221,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RightSquareBracket; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:148:20: ( ']' ) - // InternalSolverLanguageLexer.g:148:22: ']' + // InternalSolverLanguageLexer.g:122:20: ( ']' ) + // InternalSolverLanguageLexer.g:122:22: ']' { match(']'); @@ -1527,8 +1241,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = CircumflexAccent; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:150:18: ( '^' ) - // InternalSolverLanguageLexer.g:150:20: '^' + // InternalSolverLanguageLexer.g:124:18: ( '^' ) + // InternalSolverLanguageLexer.g:124:20: '^' { match('^'); @@ -1547,8 +1261,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = LeftCurlyBracket; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:152:18: ( '{' ) - // InternalSolverLanguageLexer.g:152:20: '{' + // InternalSolverLanguageLexer.g:126:18: ( '{' ) + // InternalSolverLanguageLexer.g:126:20: '{' { match('{'); @@ -1567,8 +1281,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = VerticalLine; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:154:14: ( '|' ) - // InternalSolverLanguageLexer.g:154:16: '|' + // InternalSolverLanguageLexer.g:128:14: ( '|' ) + // InternalSolverLanguageLexer.g:128:16: '|' { match('|'); @@ -1587,8 +1301,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RightCurlyBracket; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:156:19: ( '}' ) - // InternalSolverLanguageLexer.g:156:21: '}' + // InternalSolverLanguageLexer.g:130:19: ( '}' ) + // InternalSolverLanguageLexer.g:130:21: '}' { match('}'); @@ -1607,11 +1321,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_STRING; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:158:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) - // InternalSolverLanguageLexer.g:158:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + // InternalSolverLanguageLexer.g:132:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) + // InternalSolverLanguageLexer.g:132:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' { match('\"'); - // InternalSolverLanguageLexer.g:158:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + // InternalSolverLanguageLexer.g:132:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* loop1: do { int alt1=3; @@ -1627,7 +1341,7 @@ public class InternalSolverLanguageLexer extends Lexer { switch (alt1) { case 1 : - // InternalSolverLanguageLexer.g:158:20: '\\\\' . + // InternalSolverLanguageLexer.g:132:20: '\\\\' . { match('\\'); matchAny(); @@ -1635,7 +1349,7 @@ public class InternalSolverLanguageLexer extends Lexer { } break; case 2 : - // InternalSolverLanguageLexer.g:158:27: ~ ( ( '\\\\' | '\"' ) ) + // InternalSolverLanguageLexer.g:132:27: ~ ( ( '\\\\' | '\"' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1672,11 +1386,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_QUOTED_ID; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:160:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) - // InternalSolverLanguageLexer.g:160:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + // InternalSolverLanguageLexer.g:134:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalSolverLanguageLexer.g:134:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' { match('\''); - // InternalSolverLanguageLexer.g:160:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + // InternalSolverLanguageLexer.g:134:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* loop2: do { int alt2=3; @@ -1692,7 +1406,7 @@ public class InternalSolverLanguageLexer extends Lexer { switch (alt2) { case 1 : - // InternalSolverLanguageLexer.g:160:24: '\\\\' . + // InternalSolverLanguageLexer.g:134:24: '\\\\' . { match('\\'); matchAny(); @@ -1700,7 +1414,7 @@ public class InternalSolverLanguageLexer extends Lexer { } break; case 2 : - // InternalSolverLanguageLexer.g:160:31: ~ ( ( '\\\\' | '\\'' ) ) + // InternalSolverLanguageLexer.g:134:31: ~ ( ( '\\\\' | '\\'' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1737,10 +1451,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:162:17: ( ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalSolverLanguageLexer.g:162:19: ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalSolverLanguageLexer.g:136:17: ( ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalSolverLanguageLexer.g:136:19: ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { - // InternalSolverLanguageLexer.g:162:19: ( '%' | '//' ) + // InternalSolverLanguageLexer.g:136:19: ( '%' | '//' ) int alt3=2; int LA3_0 = input.LA(1); @@ -1758,14 +1472,14 @@ public class InternalSolverLanguageLexer extends Lexer { } switch (alt3) { case 1 : - // InternalSolverLanguageLexer.g:162:20: '%' + // InternalSolverLanguageLexer.g:136:20: '%' { match('%'); } break; case 2 : - // InternalSolverLanguageLexer.g:162:24: '//' + // InternalSolverLanguageLexer.g:136:24: '//' { match("//"); @@ -1775,7 +1489,7 @@ public class InternalSolverLanguageLexer extends Lexer { } - // InternalSolverLanguageLexer.g:162:30: (~ ( ( '\\n' | '\\r' ) ) )* + // InternalSolverLanguageLexer.g:136:30: (~ ( ( '\\n' | '\\r' ) ) )* loop4: do { int alt4=2; @@ -1788,7 +1502,7 @@ public class InternalSolverLanguageLexer extends Lexer { switch (alt4) { case 1 : - // InternalSolverLanguageLexer.g:162:30: ~ ( ( '\\n' | '\\r' ) ) + // InternalSolverLanguageLexer.g:136:30: ~ ( ( '\\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(); @@ -1808,7 +1522,7 @@ public class InternalSolverLanguageLexer extends Lexer { } } while (true); - // InternalSolverLanguageLexer.g:162:46: ( ( '\\r' )? '\\n' )? + // InternalSolverLanguageLexer.g:136:46: ( ( '\\r' )? '\\n' )? int alt6=2; int LA6_0 = input.LA(1); @@ -1817,9 +1531,9 @@ public class InternalSolverLanguageLexer extends Lexer { } switch (alt6) { case 1 : - // InternalSolverLanguageLexer.g:162:47: ( '\\r' )? '\\n' + // InternalSolverLanguageLexer.g:136:47: ( '\\r' )? '\\n' { - // InternalSolverLanguageLexer.g:162:47: ( '\\r' )? + // InternalSolverLanguageLexer.g:136:47: ( '\\r' )? int alt5=2; int LA5_0 = input.LA(1); @@ -1828,7 +1542,7 @@ public class InternalSolverLanguageLexer extends Lexer { } switch (alt5) { case 1 : - // InternalSolverLanguageLexer.g:162:47: '\\r' + // InternalSolverLanguageLexer.g:136:47: '\\r' { match('\r'); @@ -1858,8 +1572,8 @@ public class InternalSolverLanguageLexer extends Lexer { // $ANTLR start "RULE_TRANSITIVE_CLOSURE" public final void mRULE_TRANSITIVE_CLOSURE() throws RecognitionException { try { - // InternalSolverLanguageLexer.g:164:34: () - // InternalSolverLanguageLexer.g:164:36: + // InternalSolverLanguageLexer.g:138:34: () + // InternalSolverLanguageLexer.g:138:36: { } @@ -1872,8 +1586,8 @@ public class InternalSolverLanguageLexer extends Lexer { // $ANTLR start "RULE_REFLEXIVE_TRANSITIVE_CLOSURE" public final void mRULE_REFLEXIVE_TRANSITIVE_CLOSURE() throws RecognitionException { try { - // InternalSolverLanguageLexer.g:166:44: () - // InternalSolverLanguageLexer.g:166:46: + // InternalSolverLanguageLexer.g:140:44: () + // InternalSolverLanguageLexer.g:140:46: { } @@ -1886,8 +1600,8 @@ public class InternalSolverLanguageLexer extends Lexer { // $ANTLR start "RULE_FULL_STOP" public final void mRULE_FULL_STOP() throws RecognitionException { try { - // InternalSolverLanguageLexer.g:168:25: () - // InternalSolverLanguageLexer.g:168:27: + // InternalSolverLanguageLexer.g:142:25: () + // InternalSolverLanguageLexer.g:142:27: { } @@ -1902,10 +1616,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_ID; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:170:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalSolverLanguageLexer.g:170:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalSolverLanguageLexer.g:144:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalSolverLanguageLexer.g:144:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // InternalSolverLanguageLexer.g:170:11: ( '^' )? + // InternalSolverLanguageLexer.g:144:11: ( '^' )? int alt7=2; int LA7_0 = input.LA(1); @@ -1914,7 +1628,7 @@ public class InternalSolverLanguageLexer extends Lexer { } switch (alt7) { case 1 : - // InternalSolverLanguageLexer.g:170:11: '^' + // InternalSolverLanguageLexer.g:144:11: '^' { match('^'); @@ -1932,7 +1646,7 @@ public class InternalSolverLanguageLexer extends Lexer { recover(mse); throw mse;} - // InternalSolverLanguageLexer.g:170:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalSolverLanguageLexer.g:144:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop8: do { int alt8=2; @@ -1981,10 +1695,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_INT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:172:10: ( ( '0' .. '9' )+ ) - // InternalSolverLanguageLexer.g:172:12: ( '0' .. '9' )+ + // InternalSolverLanguageLexer.g:146:10: ( ( '0' .. '9' )+ ) + // InternalSolverLanguageLexer.g:146:12: ( '0' .. '9' )+ { - // InternalSolverLanguageLexer.g:172:12: ( '0' .. '9' )+ + // InternalSolverLanguageLexer.g:146:12: ( '0' .. '9' )+ int cnt9=0; loop9: do { @@ -1998,7 +1712,7 @@ public class InternalSolverLanguageLexer extends Lexer { switch (alt9) { case 1 : - // InternalSolverLanguageLexer.g:172:13: '0' .. '9' + // InternalSolverLanguageLexer.g:146:13: '0' .. '9' { matchRange('0','9'); @@ -2030,12 +1744,12 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:174:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalSolverLanguageLexer.g:174:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalSolverLanguageLexer.g:148:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalSolverLanguageLexer.g:148:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalSolverLanguageLexer.g:174:24: ( options {greedy=false; } : . )* + // InternalSolverLanguageLexer.g:148:24: ( options {greedy=false; } : . )* loop10: do { int alt10=2; @@ -2060,7 +1774,7 @@ public class InternalSolverLanguageLexer extends Lexer { switch (alt10) { case 1 : - // InternalSolverLanguageLexer.g:174:52: . + // InternalSolverLanguageLexer.g:148:52: . { matchAny(); @@ -2090,10 +1804,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:176:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalSolverLanguageLexer.g:176:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalSolverLanguageLexer.g:150:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalSolverLanguageLexer.g:150:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // InternalSolverLanguageLexer.g:176:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalSolverLanguageLexer.g:150:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt11=0; loop11: do { @@ -2147,8 +1861,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_ANY_OTHER; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:178:16: ( . ) - // InternalSolverLanguageLexer.g:178:18: . + // InternalSolverLanguageLexer.g:152:16: ( . ) + // InternalSolverLanguageLexer.g:152:18: . { matchAny(); @@ -2163,565 +1877,474 @@ public class InternalSolverLanguageLexer extends Lexer { // $ANTLR end "RULE_ANY_OTHER" public void mTokens() throws RecognitionException { - // InternalSolverLanguageLexer.g:1:8: ( GREATER_EQ | Functional | Abstract | Contains | Maximize | Minimize | Opposite | GREATER | LESS_EQ | Current | Default | Extends | Unknown | NOT_EQ | Extern | Class | Count | Empty | Error | False | Scope | LESS | Else | Must | Only | Prod | Real | Then | True | ADD | DIV | MUL | POW | SUB | Avg | Inf | Int | Max | May | Min | Sum | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | FullStopFullStop | ColonHyphenMinus | LessThanSignEqualsSign | EqualsSignEqualsSign | GreaterThanSignEqualsSign | EQ | IN | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER ) - int alt12=80; + // InternalSolverLanguageLexer.g:1:8: ( Functional | Abstract | Contains | Datatype | Maximize | Minimize | Opposite | Current | Default | Extends | Unknown | Exists | Extern | Forall | Class | Count | Empty | Error | False | Scope | Else | Must | Then | True | FullStopFullStopFullStop | Inf | Let | May | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | FullStopFullStop | ColonHyphenMinus | LessThanSignEqualsSign | EqualsSignEqualsSign | EqualsSignGreaterThanSign | GreaterThanSignEqualsSign | As | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt12=67; alt12 = dfa12.predict(input); switch (alt12) { case 1 : - // InternalSolverLanguageLexer.g:1:10: GREATER_EQ + // InternalSolverLanguageLexer.g:1:10: Functional { - mGREATER_EQ(); + mFunctional(); } break; case 2 : - // InternalSolverLanguageLexer.g:1:21: Functional + // InternalSolverLanguageLexer.g:1:21: Abstract { - mFunctional(); + mAbstract(); } break; case 3 : - // InternalSolverLanguageLexer.g:1:32: Abstract + // InternalSolverLanguageLexer.g:1:30: Contains { - mAbstract(); + mContains(); } break; case 4 : - // InternalSolverLanguageLexer.g:1:41: Contains + // InternalSolverLanguageLexer.g:1:39: Datatype { - mContains(); + mDatatype(); } break; case 5 : - // InternalSolverLanguageLexer.g:1:50: Maximize + // InternalSolverLanguageLexer.g:1:48: Maximize { mMaximize(); } break; case 6 : - // InternalSolverLanguageLexer.g:1:59: Minimize + // InternalSolverLanguageLexer.g:1:57: Minimize { mMinimize(); } break; case 7 : - // InternalSolverLanguageLexer.g:1:68: Opposite + // InternalSolverLanguageLexer.g:1:66: Opposite { mOpposite(); } break; case 8 : - // InternalSolverLanguageLexer.g:1:77: GREATER + // InternalSolverLanguageLexer.g:1:75: Current { - mGREATER(); + mCurrent(); } break; case 9 : - // InternalSolverLanguageLexer.g:1:85: LESS_EQ + // InternalSolverLanguageLexer.g:1:83: Default { - mLESS_EQ(); + mDefault(); } break; case 10 : - // InternalSolverLanguageLexer.g:1:93: Current + // InternalSolverLanguageLexer.g:1:91: Extends { - mCurrent(); + mExtends(); } break; case 11 : - // InternalSolverLanguageLexer.g:1:101: Default + // InternalSolverLanguageLexer.g:1:99: Unknown { - mDefault(); + mUnknown(); } break; case 12 : - // InternalSolverLanguageLexer.g:1:109: Extends + // InternalSolverLanguageLexer.g:1:107: Exists { - mExtends(); + mExists(); } break; case 13 : - // InternalSolverLanguageLexer.g:1:117: Unknown + // InternalSolverLanguageLexer.g:1:114: Extern { - mUnknown(); + mExtern(); } break; case 14 : - // InternalSolverLanguageLexer.g:1:125: NOT_EQ + // InternalSolverLanguageLexer.g:1:121: Forall { - mNOT_EQ(); + mForall(); } break; case 15 : - // InternalSolverLanguageLexer.g:1:132: Extern + // InternalSolverLanguageLexer.g:1:128: Class { - mExtern(); + mClass(); } break; case 16 : - // InternalSolverLanguageLexer.g:1:139: Class + // InternalSolverLanguageLexer.g:1:134: Count { - mClass(); + mCount(); } break; case 17 : - // InternalSolverLanguageLexer.g:1:145: Count + // InternalSolverLanguageLexer.g:1:140: Empty { - mCount(); + mEmpty(); } break; case 18 : - // InternalSolverLanguageLexer.g:1:151: Empty + // InternalSolverLanguageLexer.g:1:146: Error { - mEmpty(); + mError(); } break; case 19 : - // InternalSolverLanguageLexer.g:1:157: Error + // InternalSolverLanguageLexer.g:1:152: False { - mError(); + mFalse(); } break; case 20 : - // InternalSolverLanguageLexer.g:1:163: False + // InternalSolverLanguageLexer.g:1:158: Scope { - mFalse(); + mScope(); } break; case 21 : - // InternalSolverLanguageLexer.g:1:169: Scope + // InternalSolverLanguageLexer.g:1:164: Else { - mScope(); + mElse(); } break; case 22 : - // InternalSolverLanguageLexer.g:1:175: LESS + // InternalSolverLanguageLexer.g:1:169: Must { - mLESS(); + mMust(); } break; case 23 : - // InternalSolverLanguageLexer.g:1:180: Else + // InternalSolverLanguageLexer.g:1:174: Then { - mElse(); + mThen(); } break; case 24 : - // InternalSolverLanguageLexer.g:1:185: Must + // InternalSolverLanguageLexer.g:1:179: True { - mMust(); + mTrue(); } break; case 25 : - // InternalSolverLanguageLexer.g:1:190: Only + // InternalSolverLanguageLexer.g:1:184: FullStopFullStopFullStop { - mOnly(); + mFullStopFullStopFullStop(); } break; case 26 : - // InternalSolverLanguageLexer.g:1:195: Prod + // InternalSolverLanguageLexer.g:1:209: Inf { - mProd(); + mInf(); } break; case 27 : - // InternalSolverLanguageLexer.g:1:200: Real + // InternalSolverLanguageLexer.g:1:213: Let { - mReal(); + mLet(); } break; case 28 : - // InternalSolverLanguageLexer.g:1:205: Then + // InternalSolverLanguageLexer.g:1:217: May { - mThen(); + mMay(); } break; case 29 : - // InternalSolverLanguageLexer.g:1:210: True + // InternalSolverLanguageLexer.g:1:221: ExclamationMarkEqualsSign { - mTrue(); + mExclamationMarkEqualsSign(); } break; case 30 : - // InternalSolverLanguageLexer.g:1:215: ADD + // InternalSolverLanguageLexer.g:1:247: HyphenMinusGreaterThanSign { - mADD(); + mHyphenMinusGreaterThanSign(); } break; case 31 : - // InternalSolverLanguageLexer.g:1:219: DIV + // InternalSolverLanguageLexer.g:1:274: FullStopFullStop { - mDIV(); + mFullStopFullStop(); } break; case 32 : - // InternalSolverLanguageLexer.g:1:223: MUL + // InternalSolverLanguageLexer.g:1:291: ColonHyphenMinus { - mMUL(); + mColonHyphenMinus(); } break; case 33 : - // InternalSolverLanguageLexer.g:1:227: POW + // InternalSolverLanguageLexer.g:1:308: LessThanSignEqualsSign { - mPOW(); + mLessThanSignEqualsSign(); } break; case 34 : - // InternalSolverLanguageLexer.g:1:231: SUB + // InternalSolverLanguageLexer.g:1:331: EqualsSignEqualsSign { - mSUB(); + mEqualsSignEqualsSign(); } break; case 35 : - // InternalSolverLanguageLexer.g:1:235: Avg + // InternalSolverLanguageLexer.g:1:352: EqualsSignGreaterThanSign { - mAvg(); + mEqualsSignGreaterThanSign(); } break; case 36 : - // InternalSolverLanguageLexer.g:1:239: Inf + // InternalSolverLanguageLexer.g:1:378: GreaterThanSignEqualsSign { - mInf(); + mGreaterThanSignEqualsSign(); } break; case 37 : - // InternalSolverLanguageLexer.g:1:243: Int + // InternalSolverLanguageLexer.g:1:404: As { - mInt(); + mAs(); } break; case 38 : - // InternalSolverLanguageLexer.g:1:247: Max - { - mMax(); - - } - break; - case 39 : - // InternalSolverLanguageLexer.g:1:251: May - { - mMay(); - - } - break; - case 40 : - // InternalSolverLanguageLexer.g:1:255: Min - { - mMin(); - - } - break; - case 41 : - // InternalSolverLanguageLexer.g:1:259: Sum - { - mSum(); - - } - break; - case 42 : - // InternalSolverLanguageLexer.g:1:263: ExclamationMarkEqualsSign - { - mExclamationMarkEqualsSign(); - - } - break; - case 43 : - // InternalSolverLanguageLexer.g:1:289: HyphenMinusGreaterThanSign - { - mHyphenMinusGreaterThanSign(); - - } - break; - case 44 : - // InternalSolverLanguageLexer.g:1:316: FullStopFullStop - { - mFullStopFullStop(); - - } - break; - case 45 : - // InternalSolverLanguageLexer.g:1:333: ColonHyphenMinus - { - mColonHyphenMinus(); - - } - break; - case 46 : - // InternalSolverLanguageLexer.g:1:350: LessThanSignEqualsSign - { - mLessThanSignEqualsSign(); - - } - break; - case 47 : - // InternalSolverLanguageLexer.g:1:373: EqualsSignEqualsSign - { - mEqualsSignEqualsSign(); - - } - break; - case 48 : - // InternalSolverLanguageLexer.g:1:394: GreaterThanSignEqualsSign - { - mGreaterThanSignEqualsSign(); - - } - break; - case 49 : - // InternalSolverLanguageLexer.g:1:420: EQ - { - mEQ(); - - } - break; - case 50 : - // InternalSolverLanguageLexer.g:1:423: IN - { - mIN(); - - } - break; - case 51 : - // InternalSolverLanguageLexer.g:1:426: If + // InternalSolverLanguageLexer.g:1:407: If { mIf(); } break; - case 52 : - // InternalSolverLanguageLexer.g:1:429: In + case 39 : + // InternalSolverLanguageLexer.g:1:410: In { mIn(); } break; - case 53 : - // InternalSolverLanguageLexer.g:1:432: ExclamationMark + case 40 : + // InternalSolverLanguageLexer.g:1:413: ExclamationMark { mExclamationMark(); } break; - case 54 : - // InternalSolverLanguageLexer.g:1:448: LeftParenthesis + case 41 : + // InternalSolverLanguageLexer.g:1:429: LeftParenthesis { mLeftParenthesis(); } break; - case 55 : - // InternalSolverLanguageLexer.g:1:464: RightParenthesis + case 42 : + // InternalSolverLanguageLexer.g:1:445: RightParenthesis { mRightParenthesis(); } break; - case 56 : - // InternalSolverLanguageLexer.g:1:481: Asterisk + case 43 : + // InternalSolverLanguageLexer.g:1:462: Asterisk { mAsterisk(); } break; - case 57 : - // InternalSolverLanguageLexer.g:1:490: PlusSign + case 44 : + // InternalSolverLanguageLexer.g:1:471: PlusSign { mPlusSign(); } break; - case 58 : - // InternalSolverLanguageLexer.g:1:499: Comma + case 45 : + // InternalSolverLanguageLexer.g:1:480: Comma { mComma(); } break; - case 59 : - // InternalSolverLanguageLexer.g:1:505: HyphenMinus + case 46 : + // InternalSolverLanguageLexer.g:1:486: HyphenMinus { mHyphenMinus(); } break; - case 60 : - // InternalSolverLanguageLexer.g:1:517: FullStop + case 47 : + // InternalSolverLanguageLexer.g:1:498: FullStop { mFullStop(); } break; - case 61 : - // InternalSolverLanguageLexer.g:1:526: Solidus + case 48 : + // InternalSolverLanguageLexer.g:1:507: Solidus { mSolidus(); } break; - case 62 : - // InternalSolverLanguageLexer.g:1:534: Colon + case 49 : + // InternalSolverLanguageLexer.g:1:515: Colon { mColon(); } break; - case 63 : - // InternalSolverLanguageLexer.g:1:540: Semicolon + case 50 : + // InternalSolverLanguageLexer.g:1:521: Semicolon { mSemicolon(); } break; - case 64 : - // InternalSolverLanguageLexer.g:1:550: LessThanSign + case 51 : + // InternalSolverLanguageLexer.g:1:531: LessThanSign { mLessThanSign(); } break; - case 65 : - // InternalSolverLanguageLexer.g:1:563: EqualsSign + case 52 : + // InternalSolverLanguageLexer.g:1:544: EqualsSign { mEqualsSign(); } break; - case 66 : - // InternalSolverLanguageLexer.g:1:574: GreaterThanSign + case 53 : + // InternalSolverLanguageLexer.g:1:555: GreaterThanSign { mGreaterThanSign(); } break; - case 67 : - // InternalSolverLanguageLexer.g:1:590: LeftSquareBracket + case 54 : + // InternalSolverLanguageLexer.g:1:571: LeftSquareBracket { mLeftSquareBracket(); } break; - case 68 : - // InternalSolverLanguageLexer.g:1:608: RightSquareBracket + case 55 : + // InternalSolverLanguageLexer.g:1:589: RightSquareBracket { mRightSquareBracket(); } break; - case 69 : - // InternalSolverLanguageLexer.g:1:627: CircumflexAccent + case 56 : + // InternalSolverLanguageLexer.g:1:608: CircumflexAccent { mCircumflexAccent(); } break; - case 70 : - // InternalSolverLanguageLexer.g:1:644: LeftCurlyBracket + case 57 : + // InternalSolverLanguageLexer.g:1:625: LeftCurlyBracket { mLeftCurlyBracket(); } break; - case 71 : - // InternalSolverLanguageLexer.g:1:661: VerticalLine + case 58 : + // InternalSolverLanguageLexer.g:1:642: VerticalLine { mVerticalLine(); } break; - case 72 : - // InternalSolverLanguageLexer.g:1:674: RightCurlyBracket + case 59 : + // InternalSolverLanguageLexer.g:1:655: RightCurlyBracket { mRightCurlyBracket(); } break; - case 73 : - // InternalSolverLanguageLexer.g:1:692: RULE_STRING + case 60 : + // InternalSolverLanguageLexer.g:1:673: RULE_STRING { mRULE_STRING(); } break; - case 74 : - // InternalSolverLanguageLexer.g:1:704: RULE_QUOTED_ID + case 61 : + // InternalSolverLanguageLexer.g:1:685: RULE_QUOTED_ID { mRULE_QUOTED_ID(); } break; - case 75 : - // InternalSolverLanguageLexer.g:1:719: RULE_SL_COMMENT + case 62 : + // InternalSolverLanguageLexer.g:1:700: RULE_SL_COMMENT { mRULE_SL_COMMENT(); } break; - case 76 : - // InternalSolverLanguageLexer.g:1:735: RULE_ID + case 63 : + // InternalSolverLanguageLexer.g:1:716: RULE_ID { mRULE_ID(); } break; - case 77 : - // InternalSolverLanguageLexer.g:1:743: RULE_INT + case 64 : + // InternalSolverLanguageLexer.g:1:724: RULE_INT { mRULE_INT(); } break; - case 78 : - // InternalSolverLanguageLexer.g:1:752: RULE_ML_COMMENT + case 65 : + // InternalSolverLanguageLexer.g:1:733: RULE_ML_COMMENT { mRULE_ML_COMMENT(); } break; - case 79 : - // InternalSolverLanguageLexer.g:1:768: RULE_WS + case 66 : + // InternalSolverLanguageLexer.g:1:749: RULE_WS { mRULE_WS(); } break; - case 80 : - // InternalSolverLanguageLexer.g:1:776: RULE_ANY_OTHER + case 67 : + // InternalSolverLanguageLexer.g:1:757: RULE_ANY_OTHER { mRULE_ANY_OTHER(); @@ -2735,104 +2358,90 @@ public class InternalSolverLanguageLexer extends Lexer { protected DFA12 dfa12 = new DFA12(this); static final String DFA12_eotS = - "\1\uffff\25\64\1\127\1\131\1\133\1\135\1\137\1\141\1\143\2\64\5\uffff\1\155\3\uffff\1\161\3\uffff\2\62\5\uffff\1\64\1\uffff\37\64\1\u009d\1\u009e\16\uffff\1\u009f\1\u00a0\23\uffff\4\64\1\u00a5\4\64\1\u00ab\1\u00ac\1\u00ae\14\64\1\u00bb\4\64\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\4\uffff\4\64\1\uffff\5\64\2\uffff\1\64\1\uffff\1\u00d1\1\64\1\u00d3\1\u00d5\4\64\1\u00db\3\64\1\uffff\1\u00df\1\u00e0\1\u00e1\1\u00e2\7\uffff\2\64\1\u00e5\2\64\1\u00e8\1\64\1\u00ea\2\64\1\uffff\1\64\1\uffff\1\64\1\uffff\3\64\1\u00f2\1\u00f3\1\uffff\2\64\1\u00f6\4\uffff\2\64\1\uffff\2\64\1\uffff\1\64\1\uffff\6\64\1\u0102\2\uffff\1\64\1\u0104\1\uffff\1\u0106\3\64\1\u010a\3\64\1\u010e\1\u010f\1\u0110\1\uffff\1\u0111\1\uffff\1\64\1\uffff\1\64\1\u0114\1\u0115\1\uffff\1\u0116\1\u0117\1\u0118\4\uffff\2\64\5\uffff\1\u011b\1\u011c\2\uffff"; + "\1\uffff\12\53\1\100\2\53\1\105\1\107\1\111\1\113\1\116\1\120\5\uffff\1\130\3\uffff\1\134\3\uffff\2\47\5\uffff\3\53\1\uffff\1\53\1\150\21\53\1\176\1\uffff\1\u0080\1\u0081\1\53\40\uffff\4\53\1\uffff\7\53\1\u008e\14\53\2\uffff\1\u009b\2\uffff\1\u009c\13\53\1\uffff\1\53\1\u00a9\5\53\1\u00b0\2\53\1\u00b3\1\u00b4\2\uffff\2\53\1\u00b7\2\53\1\u00ba\1\53\1\u00bc\4\53\1\uffff\4\53\1\u00c5\1\u00c6\1\uffff\1\53\1\u00c8\2\uffff\1\53\1\u00ca\1\uffff\2\53\1\uffff\1\53\1\uffff\6\53\1\u00d4\1\u00d5\2\uffff\1\53\1\uffff\1\53\1\uffff\2\53\1\u00da\1\53\1\u00dc\3\53\1\u00e0\2\uffff\1\u00e1\1\53\1\u00e3\1\u00e4\1\uffff\1\u00e5\1\uffff\1\u00e6\1\u00e7\1\u00e8\2\uffff\1\53\6\uffff\1\u00ea\1\uffff"; static final String DFA12_eofS = - "\u011d\uffff"; + "\u00eb\uffff"; static final String DFA12_minS = - "\1\0\1\122\1\141\1\142\1\154\1\141\1\156\1\105\1\145\1\154\1\156\1\117\1\143\1\162\1\145\1\150\1\104\1\111\1\125\1\117\1\125\1\146\1\75\1\76\1\56\1\55\3\75\1\121\1\116\5\uffff\1\52\3\uffff\1\101\3\uffff\2\0\5\uffff\1\105\1\uffff\1\156\1\154\1\163\1\147\1\156\1\162\1\141\1\170\1\156\1\163\1\160\1\154\1\123\1\146\1\164\1\160\1\162\1\163\1\153\1\124\1\157\1\155\1\157\1\141\1\145\1\165\1\104\1\126\1\114\1\127\1\102\2\60\16\uffff\2\60\23\uffff\1\101\1\143\1\163\1\164\1\60\1\164\1\156\1\162\1\163\3\60\1\164\1\157\1\171\1\123\1\141\1\145\1\164\1\157\1\145\1\156\1\137\1\160\1\60\1\144\1\154\1\156\1\145\7\60\4\uffff\1\124\1\164\1\145\1\162\1\uffff\1\141\1\164\1\145\1\163\1\155\2\uffff\1\155\1\uffff\1\60\1\163\2\60\1\165\1\156\1\171\1\162\1\60\1\157\1\105\1\145\1\uffff\4\60\7\uffff\1\105\1\151\1\60\1\141\1\151\1\60\1\156\1\60\2\151\1\uffff\1\151\1\uffff\1\105\1\uffff\1\154\1\144\1\156\2\60\1\uffff\1\167\1\121\1\60\4\uffff\1\122\1\157\1\uffff\1\143\1\156\1\uffff\1\164\1\uffff\2\172\1\164\1\121\1\164\1\163\1\60\2\uffff\1\156\1\60\1\uffff\1\60\1\156\1\164\1\163\1\60\3\145\3\60\1\uffff\1\60\1\uffff\1\105\1\uffff\1\141\2\60\1\uffff\3\60\4\uffff\1\121\1\154\5\uffff\2\60\2\uffff"; + "\1\0\1\141\1\142\1\154\2\141\1\160\1\154\1\156\1\143\1\150\1\56\1\146\1\145\1\75\1\76\1\55\3\75\5\uffff\1\52\3\uffff\1\101\3\uffff\2\0\5\uffff\1\156\1\162\1\154\1\uffff\1\163\1\60\1\156\1\162\1\141\1\164\1\146\1\170\1\156\1\163\1\160\1\151\1\160\1\162\1\163\1\153\1\157\1\145\1\165\1\56\1\uffff\2\60\1\164\40\uffff\1\143\1\141\1\163\1\164\1\uffff\1\164\1\156\1\162\1\163\2\141\1\151\1\60\1\151\1\164\1\157\1\145\1\163\1\164\1\157\1\145\1\156\1\160\1\156\1\145\2\uffff\1\60\2\uffff\1\60\1\164\1\154\1\145\1\162\1\141\1\164\1\145\1\163\1\164\1\165\1\155\1\uffff\1\155\1\60\1\163\1\156\1\164\1\171\1\162\1\60\1\157\1\145\2\60\2\uffff\1\151\1\154\1\60\1\141\1\151\1\60\1\156\1\60\1\171\1\154\2\151\1\uffff\1\151\1\144\1\156\1\163\2\60\1\uffff\1\167\1\60\2\uffff\1\157\1\60\1\uffff\1\143\1\156\1\uffff\1\164\1\uffff\1\160\1\164\2\172\1\164\1\163\2\60\2\uffff\1\156\1\uffff\1\156\1\uffff\1\164\1\163\1\60\1\145\1\60\3\145\1\60\2\uffff\1\60\1\141\2\60\1\uffff\1\60\1\uffff\3\60\2\uffff\1\154\6\uffff\1\60\1\uffff"; static final String DFA12_maxS = - "\1\uffff\1\122\1\165\1\166\2\165\1\160\1\105\1\145\1\170\1\156\1\117\1\165\1\162\1\145\1\162\1\104\1\111\1\125\1\117\1\125\1\156\1\75\1\76\1\56\1\55\3\75\1\121\1\116\5\uffff\1\57\3\uffff\1\172\3\uffff\2\uffff\5\uffff\1\105\1\uffff\1\156\1\154\1\163\1\147\1\165\1\162\1\141\1\171\1\156\1\163\1\160\1\154\1\123\1\146\1\164\1\160\1\162\1\163\1\153\1\124\1\157\1\155\1\157\1\141\1\145\1\165\1\104\1\126\1\114\1\127\1\102\2\172\16\uffff\2\172\23\uffff\1\101\1\143\1\163\1\164\1\172\1\164\1\156\1\162\1\163\3\172\1\164\1\157\1\171\1\123\1\141\1\145\1\164\1\157\1\145\1\156\1\137\1\160\1\172\1\144\1\154\1\156\1\145\7\172\4\uffff\1\124\1\164\1\145\1\162\1\uffff\1\141\1\164\1\145\1\163\1\155\2\uffff\1\155\1\uffff\1\172\1\163\2\172\1\165\1\162\1\171\1\162\1\172\1\157\1\105\1\145\1\uffff\4\172\7\uffff\1\105\1\151\1\172\1\141\1\151\1\172\1\156\1\172\2\151\1\uffff\1\151\1\uffff\1\105\1\uffff\1\154\1\144\1\156\2\172\1\uffff\1\167\1\121\1\172\4\uffff\1\122\1\157\1\uffff\1\143\1\156\1\uffff\1\164\1\uffff\2\172\1\164\1\121\1\164\1\163\1\172\2\uffff\1\156\1\172\1\uffff\1\172\1\156\1\164\1\163\1\172\3\145\3\172\1\uffff\1\172\1\uffff\1\105\1\uffff\1\141\2\172\1\uffff\3\172\4\uffff\1\121\1\154\5\uffff\2\172\2\uffff"; + "\1\uffff\1\165\1\163\1\165\1\145\1\165\1\160\1\170\1\156\1\143\1\162\1\56\1\156\1\145\1\75\1\76\1\55\1\75\1\76\1\75\5\uffff\1\57\3\uffff\1\172\3\uffff\2\uffff\5\uffff\1\156\1\162\1\154\1\uffff\1\163\1\172\1\165\1\162\1\141\1\164\1\146\1\171\1\156\1\163\1\160\1\164\1\160\1\162\1\163\1\153\1\157\1\145\1\165\1\56\1\uffff\2\172\1\164\40\uffff\1\143\1\141\1\163\1\164\1\uffff\1\164\1\156\1\162\1\163\2\141\1\151\1\172\1\151\1\164\1\157\1\145\1\163\1\164\1\157\1\145\1\156\1\160\1\156\1\145\2\uffff\1\172\2\uffff\1\172\1\164\1\154\1\145\1\162\1\141\1\164\1\145\1\163\1\164\1\165\1\155\1\uffff\1\155\1\172\1\163\1\162\1\164\1\171\1\162\1\172\1\157\1\145\2\172\2\uffff\1\151\1\154\1\172\1\141\1\151\1\172\1\156\1\172\1\171\1\154\2\151\1\uffff\1\151\1\144\1\156\1\163\2\172\1\uffff\1\167\1\172\2\uffff\1\157\1\172\1\uffff\1\143\1\156\1\uffff\1\164\1\uffff\1\160\1\164\2\172\1\164\1\163\2\172\2\uffff\1\156\1\uffff\1\156\1\uffff\1\164\1\163\1\172\1\145\1\172\3\145\1\172\2\uffff\1\172\1\141\2\172\1\uffff\1\172\1\uffff\3\172\2\uffff\1\154\6\uffff\1\172\1\uffff"; static final String DFA12_acceptS = - "\37\uffff\1\66\1\67\1\70\1\71\1\72\1\uffff\1\77\1\103\1\104\1\uffff\1\106\1\107\1\110\2\uffff\1\113\1\114\1\115\1\117\1\120\1\uffff\1\114\41\uffff\1\52\1\65\1\53\1\73\1\54\1\74\1\55\1\76\1\56\1\100\1\57\1\101\1\60\1\102\2\uffff\1\66\1\67\1\70\1\71\1\72\1\113\1\116\1\75\1\77\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\115\1\117\44\uffff\1\64\1\63\1\61\1\62\4\uffff\1\43\5\uffff\1\46\1\47\1\uffff\1\50\14\uffff\1\51\4\uffff\1\36\1\37\1\40\1\41\1\42\1\44\1\45\12\uffff\1\30\1\uffff\1\31\1\uffff\1\26\5\uffff\1\27\3\uffff\1\32\1\33\1\34\1\35\2\uffff\1\24\2\uffff\1\21\1\uffff\1\20\7\uffff\1\22\1\23\2\uffff\1\25\13\uffff\1\17\1\uffff\1\16\1\uffff\1\10\3\uffff\1\12\3\uffff\1\11\1\13\1\14\1\15\2\uffff\1\3\1\4\1\5\1\6\1\7\2\uffff\1\1\1\2"; + "\24\uffff\1\51\1\52\1\53\1\54\1\55\1\uffff\1\62\1\66\1\67\1\uffff\1\71\1\72\1\73\2\uffff\1\76\1\77\1\100\1\102\1\103\3\uffff\1\77\24\uffff\1\57\3\uffff\1\35\1\50\1\36\1\56\1\40\1\61\1\41\1\63\1\42\1\43\1\64\1\44\1\65\1\51\1\52\1\53\1\54\1\55\1\76\1\101\1\60\1\62\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\100\1\102\4\uffff\1\45\24\uffff\1\31\1\37\1\uffff\1\47\1\46\14\uffff\1\34\14\uffff\1\32\1\33\14\uffff\1\26\6\uffff\1\25\2\uffff\1\27\1\30\2\uffff\1\23\2\uffff\1\20\1\uffff\1\17\10\uffff\1\21\1\22\1\uffff\1\24\1\uffff\1\16\11\uffff\1\15\1\14\4\uffff\1\10\1\uffff\1\11\3\uffff\1\12\1\13\1\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\uffff\1\1"; static final String DFA12_specialS = - "\1\1\53\uffff\1\0\1\2\u00ef\uffff}>"; + "\1\2\40\uffff\1\0\1\1\u00c8\uffff}>"; static final String[] DFA12_transitionS = { - "\11\62\2\61\2\62\1\61\22\62\1\61\1\26\1\54\2\62\1\56\1\62\1\55\1\37\1\40\1\41\1\42\1\43\1\27\1\30\1\44\12\60\1\31\1\45\1\32\1\33\1\34\2\62\1\20\2\57\1\21\1\35\1\57\1\1\1\57\1\36\2\57\1\7\1\22\1\13\1\57\1\23\2\57\1\24\7\57\1\46\1\62\1\47\1\50\1\57\1\62\1\3\1\57\1\4\1\10\1\11\1\2\2\57\1\25\3\57\1\5\1\57\1\6\1\15\1\57\1\16\1\14\1\17\1\12\5\57\1\51\1\52\1\53\uff82\62", - "\1\63", - "\1\66\23\uffff\1\65", - "\1\67\23\uffff\1\70", - "\1\73\2\uffff\1\71\5\uffff\1\72", - "\1\74\7\uffff\1\75\13\uffff\1\76", - "\1\100\1\uffff\1\77", - "\1\101", - "\1\102", - "\1\106\1\104\4\uffff\1\105\5\uffff\1\103", - "\1\107", + "\11\47\2\46\2\47\1\46\22\47\1\46\1\16\1\41\2\47\1\43\1\47\1\42\1\24\1\25\1\26\1\27\1\30\1\17\1\13\1\31\12\45\1\20\1\32\1\21\1\22\1\23\2\47\32\44\1\33\1\47\1\34\1\35\1\44\1\47\1\2\1\44\1\3\1\4\1\7\1\1\2\44\1\14\2\44\1\15\1\5\1\44\1\6\3\44\1\11\1\12\1\10\5\44\1\36\1\37\1\40\uff82\47", + "\1\52\15\uffff\1\51\5\uffff\1\50", + "\1\54\20\uffff\1\55", + "\1\60\2\uffff\1\56\5\uffff\1\57", + "\1\61\3\uffff\1\62", + "\1\63\7\uffff\1\64\13\uffff\1\65", + "\1\66", + "\1\72\1\70\4\uffff\1\71\5\uffff\1\67", + "\1\73", + "\1\74", + "\1\75\11\uffff\1\76", + "\1\77", + "\1\102\7\uffff\1\101", + "\1\103", + "\1\104", + "\1\106", "\1\110", - "\1\111\21\uffff\1\112", - "\1\113", - "\1\114", - "\1\115\11\uffff\1\116", + "\1\112", + "\1\114\1\115", "\1\117", - "\1\120", - "\1\121", - "\1\122", - "\1\123", - "\1\125\7\uffff\1\124", - "\1\126", - "\1\130", - "\1\132", - "\1\134", - "\1\136", - "\1\140", - "\1\142", - "\1\144", - "\1\145", "", "", "", "", "", - "\1\154\4\uffff\1\153", + "\1\127\4\uffff\1\126", "", "", "", - "\32\64\4\uffff\1\64\1\uffff\32\64", + "\32\53\4\uffff\1\53\1\uffff\32\53", "", "", "", - "\0\165", - "\0\166", + "\0\140", + "\0\141", "", "", "", "", "", + "\1\144", + "\1\145", + "\1\146", + "", + "\1\147", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\151\6\uffff\1\152", + "\1\153", + "\1\154", + "\1\155", + "\1\156", + "\1\157\1\160", + "\1\161", + "\1\162", + "\1\163", + "\1\165\12\uffff\1\164", + "\1\166", + "\1\167", + "\1\170", "\1\171", - "", "\1\172", "\1\173", "\1\174", "\1\175", - "\1\176\6\uffff\1\177", - "\1\u0080", - "\1\u0081", - "\1\u0082\1\u0083", - "\1\u0084", - "\1\u0085", - "\1\u0086", - "\1\u0087", - "\1\u0088", - "\1\u0089", - "\1\u008a", - "\1\u008b", - "\1\u008c", - "\1\u008d", - "\1\u008e", - "\1\u008f", - "\1\u0090", - "\1\u0091", - "\1\u0092", - "\1\u0093", - "\1\u0094", - "\1\u0095", - "\1\u0096", - "\1\u0097", - "\1\u0098", - "\1\u0099", - "\1\u009a", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\5\64\1\u009b\15\64\1\u009c\6\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\5\53\1\177\24\53", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u0082", + "", + "", + "", + "", "", "", "", @@ -2847,8 +2456,6 @@ public class InternalSolverLanguageLexer extends Lexer { "", "", "", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", "", "", "", @@ -2863,174 +2470,140 @@ public class InternalSolverLanguageLexer extends Lexer { "", "", "", + "\1\u0083", + "\1\u0084", + "\1\u0085", + "\1\u0086", "", + "\1\u0087", + "\1\u0088", + "\1\u0089", + "\1\u008a", + "\1\u008b", + "\1\u008c", + "\1\u008d", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u008f", + "\1\u0090", + "\1\u0091", + "\1\u0092", + "\1\u0093", + "\1\u0094", + "\1\u0095", + "\1\u0096", + "\1\u0097", + "\1\u0098", + "\1\u0099", + "\1\u009a", "", "", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", "", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u009d", + "\1\u009e", + "\1\u009f", + "\1\u00a0", "\1\u00a1", "\1\u00a2", "\1\u00a3", "\1\u00a4", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u00a5", "\1\u00a6", "\1\u00a7", + "", "\1\u00a8", - "\1\u00a9", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\10\64\1\u00aa\21\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\10\64\1\u00ad\21\64", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u00aa", + "\1\u00ab\3\uffff\1\u00ac", + "\1\u00ad", + "\1\u00ae", "\1\u00af", - "\1\u00b0", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\1\u00b1", "\1\u00b2", - "\1\u00b3", - "\1\u00b4", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "", + "", "\1\u00b5", "\1\u00b6", - "\1\u00b7", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\1\u00b8", "\1\u00b9", - "\1\u00ba", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\1\u00bc", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u00bb", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\1\u00bd", "\1\u00be", "\1\u00bf", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u00c0", "", + "\1\u00c1", + "\1\u00c2", + "\1\u00c3", + "\1\u00c4", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", + "\1\u00c7", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", "", - "\1\u00c7", - "\1\u00c8", "\1\u00c9", - "\1\u00ca", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", "\1\u00cb", "\1\u00cc", + "", "\1\u00cd", + "", "\1\u00ce", "\1\u00cf", - "", - "", "\1\u00d0", - "", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u00d1", "\1\u00d2", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\u00d4\1\uffff\32\64", + "\1\u00d3", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "", + "", "\1\u00d6", - "\1\u00d7\3\uffff\1\u00d8", + "", + "\1\u00d7", + "", + "\1\u00d8", "\1\u00d9", - "\1\u00da", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\1\u00dc", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u00db", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\1\u00dd", "\1\u00de", - "", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u00df", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", "", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u00e2", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", "", - "", - "\1\u00e3", - "\1\u00e4", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\1\u00e6", - "\1\u00e7", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", "\1\u00e9", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\1\u00eb", - "\1\u00ec", - "", - "\1\u00ed", - "", - "\1\u00ee", - "", - "\1\u00ef", - "\1\u00f0", - "\1\u00f1", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "", - "\1\u00f4", - "\1\u00f5", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "", - "", - "", - "", - "\1\u00f7", - "\1\u00f8", - "", - "\1\u00f9", - "\1\u00fa", - "", - "\1\u00fb", - "", - "\1\u00fc", - "\1\u00fd", - "\1\u00fe", - "\1\u00ff", - "\1\u0100", - "\1\u0101", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "", - "", - "\1\u0103", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", "", - "\12\64\7\uffff\32\64\4\uffff\1\u0105\1\uffff\32\64", - "\1\u0107", - "\1\u0108", - "\1\u0109", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\1\u010b", - "\1\u010c", - "\1\u010d", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", "", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", "", - "\1\u0112", "", - "\1\u0113", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", "", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "", - "", - "", - "", - "\1\u0119", - "\1\u011a", - "", - "", - "", - "", - "", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", - "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", "", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "" }; @@ -3064,135 +2637,113 @@ public class InternalSolverLanguageLexer extends Lexer { this.transition = DFA12_transition; } public String getDescription() { - return "1:1: Tokens : ( GREATER_EQ | Functional | Abstract | Contains | Maximize | Minimize | Opposite | GREATER | LESS_EQ | Current | Default | Extends | Unknown | NOT_EQ | Extern | Class | Count | Empty | Error | False | Scope | LESS | Else | Must | Only | Prod | Real | Then | True | ADD | DIV | MUL | POW | SUB | Avg | Inf | Int | Max | May | Min | Sum | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | FullStopFullStop | ColonHyphenMinus | LessThanSignEqualsSign | EqualsSignEqualsSign | GreaterThanSignEqualsSign | EQ | IN | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER );"; + return "1:1: Tokens : ( Functional | Abstract | Contains | Datatype | Maximize | Minimize | Opposite | Current | Default | Extends | Unknown | Exists | Extern | Forall | Class | Count | Empty | Error | False | Scope | Else | Must | Then | True | FullStopFullStopFullStop | Inf | Let | May | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | FullStopFullStop | ColonHyphenMinus | LessThanSignEqualsSign | EqualsSignEqualsSign | EqualsSignGreaterThanSign | GreaterThanSignEqualsSign | As | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { IntStream input = _input; int _s = s; switch ( s ) { case 0 : - int LA12_44 = input.LA(1); + int LA12_33 = input.LA(1); s = -1; - if ( ((LA12_44>='\u0000' && LA12_44<='\uFFFF')) ) {s = 117;} + if ( ((LA12_33>='\u0000' && LA12_33<='\uFFFF')) ) {s = 96;} - else s = 50; + else s = 39; if ( s>=0 ) return s; break; case 1 : - int LA12_0 = input.LA(1); + int LA12_34 = input.LA(1); s = -1; - if ( (LA12_0=='G') ) {s = 1;} - - else if ( (LA12_0=='f') ) {s = 2;} - - else if ( (LA12_0=='a') ) {s = 3;} - - else if ( (LA12_0=='c') ) {s = 4;} - - else if ( (LA12_0=='m') ) {s = 5;} - - else if ( (LA12_0=='o') ) {s = 6;} + if ( ((LA12_34>='\u0000' && LA12_34<='\uFFFF')) ) {s = 97;} - else if ( (LA12_0=='L') ) {s = 7;} + else s = 39; - else if ( (LA12_0=='d') ) {s = 8;} - - else if ( (LA12_0=='e') ) {s = 9;} - - else if ( (LA12_0=='u') ) {s = 10;} - - else if ( (LA12_0=='N') ) {s = 11;} - - else if ( (LA12_0=='s') ) {s = 12;} - - else if ( (LA12_0=='p') ) {s = 13;} - - else if ( (LA12_0=='r') ) {s = 14;} + if ( s>=0 ) return s; + break; + case 2 : + int LA12_0 = input.LA(1); - else if ( (LA12_0=='t') ) {s = 15;} + s = -1; + if ( (LA12_0=='f') ) {s = 1;} - else if ( (LA12_0=='A') ) {s = 16;} + else if ( (LA12_0=='a') ) {s = 2;} - else if ( (LA12_0=='D') ) {s = 17;} + else if ( (LA12_0=='c') ) {s = 3;} - else if ( (LA12_0=='M') ) {s = 18;} + else if ( (LA12_0=='d') ) {s = 4;} - else if ( (LA12_0=='P') ) {s = 19;} + else if ( (LA12_0=='m') ) {s = 5;} - else if ( (LA12_0=='S') ) {s = 20;} + else if ( (LA12_0=='o') ) {s = 6;} - else if ( (LA12_0=='i') ) {s = 21;} + else if ( (LA12_0=='e') ) {s = 7;} - else if ( (LA12_0=='!') ) {s = 22;} + else if ( (LA12_0=='u') ) {s = 8;} - else if ( (LA12_0=='-') ) {s = 23;} + else if ( (LA12_0=='s') ) {s = 9;} - else if ( (LA12_0=='.') ) {s = 24;} + else if ( (LA12_0=='t') ) {s = 10;} - else if ( (LA12_0==':') ) {s = 25;} + else if ( (LA12_0=='.') ) {s = 11;} - else if ( (LA12_0=='<') ) {s = 26;} + else if ( (LA12_0=='i') ) {s = 12;} - else if ( (LA12_0=='=') ) {s = 27;} + else if ( (LA12_0=='l') ) {s = 13;} - else if ( (LA12_0=='>') ) {s = 28;} + else if ( (LA12_0=='!') ) {s = 14;} - else if ( (LA12_0=='E') ) {s = 29;} + else if ( (LA12_0=='-') ) {s = 15;} - else if ( (LA12_0=='I') ) {s = 30;} + else if ( (LA12_0==':') ) {s = 16;} - else if ( (LA12_0=='(') ) {s = 31;} + else if ( (LA12_0=='<') ) {s = 17;} - else if ( (LA12_0==')') ) {s = 32;} + else if ( (LA12_0=='=') ) {s = 18;} - else if ( (LA12_0=='*') ) {s = 33;} + else if ( (LA12_0=='>') ) {s = 19;} - else if ( (LA12_0=='+') ) {s = 34;} + else if ( (LA12_0=='(') ) {s = 20;} - else if ( (LA12_0==',') ) {s = 35;} + else if ( (LA12_0==')') ) {s = 21;} - else if ( (LA12_0=='/') ) {s = 36;} + else if ( (LA12_0=='*') ) {s = 22;} - else if ( (LA12_0==';') ) {s = 37;} + else if ( (LA12_0=='+') ) {s = 23;} - else if ( (LA12_0=='[') ) {s = 38;} + else if ( (LA12_0==',') ) {s = 24;} - else if ( (LA12_0==']') ) {s = 39;} + else if ( (LA12_0=='/') ) {s = 25;} - else if ( (LA12_0=='^') ) {s = 40;} + else if ( (LA12_0==';') ) {s = 26;} - else if ( (LA12_0=='{') ) {s = 41;} + else if ( (LA12_0=='[') ) {s = 27;} - else if ( (LA12_0=='|') ) {s = 42;} + else if ( (LA12_0==']') ) {s = 28;} - else if ( (LA12_0=='}') ) {s = 43;} + else if ( (LA12_0=='^') ) {s = 29;} - else if ( (LA12_0=='\"') ) {s = 44;} + else if ( (LA12_0=='{') ) {s = 30;} - else if ( (LA12_0=='\'') ) {s = 45;} + else if ( (LA12_0=='|') ) {s = 31;} - else if ( (LA12_0=='%') ) {s = 46;} + else if ( (LA12_0=='}') ) {s = 32;} - else if ( ((LA12_0>='B' && LA12_0<='C')||LA12_0=='F'||LA12_0=='H'||(LA12_0>='J' && LA12_0<='K')||LA12_0=='O'||(LA12_0>='Q' && LA12_0<='R')||(LA12_0>='T' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='b'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='l')||LA12_0=='n'||LA12_0=='q'||(LA12_0>='v' && LA12_0<='z')) ) {s = 47;} + else if ( (LA12_0=='\"') ) {s = 33;} - else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 48;} + else if ( (LA12_0=='\'') ) {s = 34;} - else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 49;} + else if ( (LA12_0=='%') ) {s = 35;} - else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='$')||LA12_0=='&'||(LA12_0>='?' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='`'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 50;} + else if ( ((LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='b'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='k')||LA12_0=='n'||(LA12_0>='p' && LA12_0<='r')||(LA12_0>='v' && LA12_0<='z')) ) {s = 36;} - if ( s>=0 ) return s; - break; - case 2 : - int LA12_45 = input.LA(1); + else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 37;} - s = -1; - if ( ((LA12_45>='\u0000' && LA12_45<='\uFFFF')) ) {s = 118;} + else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 38;} - else s = 50; + else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='$')||LA12_0=='&'||(LA12_0>='?' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='`'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 39;} if ( s>=0 ) return s; break; diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens index 133cc9d6..178103e2 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens @@ -1,83 +1,70 @@ -ADD=33 -Abstract=6 -Asterisk=59 -Avg=38 -CircumflexAccent=72 -Class=19 -Colon=65 -ColonHyphenMinus=48 -Comma=61 -Contains=7 -Count=20 -Current=13 -DIV=34 -Default=14 -EQ=52 -Else=26 -Empty=21 -EqualsSign=68 -EqualsSignEqualsSign=50 -Error=22 -ExclamationMark=56 -ExclamationMarkEqualsSign=45 -Extends=15 -Extern=18 -False=23 -FullStop=63 -FullStopFullStop=47 -Functional=5 -GREATER=11 -GREATER_EQ=4 -GreaterThanSign=69 -GreaterThanSignEqualsSign=51 -HyphenMinus=62 -HyphenMinusGreaterThanSign=46 -IN=53 -If=54 -In=55 -Inf=39 -Int=40 -LESS=25 -LESS_EQ=12 -LeftCurlyBracket=73 -LeftParenthesis=57 -LeftSquareBracket=70 -LessThanSign=67 -LessThanSignEqualsSign=49 -MUL=35 -Max=41 +Abstract=5 +As=40 +Asterisk=46 +CircumflexAccent=59 +Class=18 +Colon=52 +ColonHyphenMinus=35 +Comma=48 +Contains=6 +Count=19 +Current=11 +Datatype=7 +Default=12 +Else=24 +Empty=20 +EqualsSign=55 +EqualsSignEqualsSign=37 +EqualsSignGreaterThanSign=38 +Error=21 +ExclamationMark=43 +ExclamationMarkEqualsSign=32 +Exists=15 +Extends=13 +Extern=16 +False=22 +Forall=17 +FullStop=50 +FullStopFullStop=34 +FullStopFullStopFullStop=28 +Functional=4 +GreaterThanSign=56 +GreaterThanSignEqualsSign=39 +HyphenMinus=49 +HyphenMinusGreaterThanSign=33 +If=41 +In=42 +Inf=29 +LeftCurlyBracket=60 +LeftParenthesis=44 +LeftSquareBracket=57 +LessThanSign=54 +LessThanSignEqualsSign=36 +Let=30 Maximize=8 -May=42 -Min=43 +May=31 Minimize=9 -Must=27 -NOT_EQ=17 -Only=28 +Must=25 Opposite=10 -POW=36 -PlusSign=60 -Prod=29 -RULE_ANY_OTHER=86 -RULE_FULL_STOP=81 -RULE_ID=82 -RULE_INT=83 -RULE_ML_COMMENT=84 -RULE_QUOTED_ID=77 -RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80 -RULE_SL_COMMENT=78 -RULE_STRING=76 -RULE_TRANSITIVE_CLOSURE=79 -RULE_WS=85 -Real=30 -RightCurlyBracket=75 -RightParenthesis=58 -RightSquareBracket=71 -SUB=37 -Scope=24 -Semicolon=66 -Solidus=64 -Sum=44 -Then=31 -True=32 -Unknown=16 -VerticalLine=74 +PlusSign=47 +RULE_ANY_OTHER=73 +RULE_FULL_STOP=68 +RULE_ID=69 +RULE_INT=70 +RULE_ML_COMMENT=71 +RULE_QUOTED_ID=64 +RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67 +RULE_SL_COMMENT=65 +RULE_STRING=63 +RULE_TRANSITIVE_CLOSURE=66 +RULE_WS=72 +RightCurlyBracket=62 +RightParenthesis=45 +RightSquareBracket=58 +Scope=23 +Semicolon=53 +Solidus=51 +Then=26 +True=27 +Unknown=14 +VerticalLine=61 diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java index 5cb73796..dc93975f 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java @@ -10,37 +10,42 @@ import org.eclipse.emf.ecore.EPackage; import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess; 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.CastExpression; import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition; 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.ExternAggregatorDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition; 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.Interpretation; import org.eclipse.viatra.solver.language.solverLanguage.Interval; +import org.eclipse.viatra.solver.language.solverLanguage.Let; +import org.eclipse.viatra.solver.language.solverLanguage.LetBinding; +import org.eclipse.viatra.solver.language.solverLanguage.LocalVariables; 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.QuantifiedExpression; import org.eclipse.viatra.solver.language.solverLanguage.Reference; import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; import org.eclipse.viatra.solver.language.solverLanguage.StarArgument; @@ -50,6 +55,7 @@ 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.viatra.solver.language.solverLanguage.Variable; import org.eclipse.xtext.Action; import org.eclipse.xtext.Parameter; import org.eclipse.xtext.ParserRule; @@ -78,11 +84,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS case SolverLanguagePackage.ARGUMENT_LIST: sequence_ArgumentList(context, (ArgumentList) semanticObject); return; - case SolverLanguagePackage.ASSERTION: - sequence_AssertionOrDefinition(context, (Assertion) semanticObject); - return; case SolverLanguagePackage.BINARY_EXPRESSION: - sequence_AdditiveExpression_ExponentialExpression_MultiplicativeExpression(context, (BinaryExpression) semanticObject); + sequence_AdditiveExpression_ExponentialExpression_ImplicationExpression_MultiplicativeExpression(context, (BinaryExpression) semanticObject); return; case SolverLanguagePackage.BOUNDED_MULTIPLICITY: sequence_BoundedMultiplicity(context, (BoundedMultiplicity) semanticObject); @@ -103,6 +106,9 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS return; } else break; + case SolverLanguagePackage.CAST_EXPRESSION: + sequence_CastExpression(context, (CastExpression) semanticObject); + return; case SolverLanguagePackage.CLASS_DEFINITION: sequence_ClassDefinition(context, (ClassDefinition) semanticObject); return; @@ -112,9 +118,6 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS case SolverLanguagePackage.CONJUNCTION: sequence_ConjunctiveExpression(context, (Conjunction) semanticObject); return; - case SolverLanguagePackage.COUNT: - sequence_Count(context, (Count) semanticObject); - return; case SolverLanguagePackage.DEFAULT_DEFINITION: sequence_DefaultDefinition(context, (DefaultDefinition) semanticObject); return; @@ -133,6 +136,12 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS case SolverLanguagePackage.EXPRESSION_ARGUMENT: sequence_ExpressionArgument(context, (ExpressionArgument) semanticObject); return; + case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION: + sequence_ExternAggregatorDefinition(context, (ExternAggregatorDefinition) semanticObject); + return; + case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION: + sequence_ExternDatatypeDefinition(context, (ExternDatatypeDefinition) semanticObject); + return; case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: sequence_ExternMetricDefinition(context, (ExternMetricDefinition) semanticObject); return; @@ -145,9 +154,21 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS case SolverLanguagePackage.INFINITY_LITERAL: sequence_InfinityLiteral(context, (InfinityLiteral) semanticObject); return; + case SolverLanguagePackage.INTERPRETATION: + sequence_AssertionOrDefinition(context, (Interpretation) semanticObject); + return; case SolverLanguagePackage.INTERVAL: sequence_Interval(context, (Interval) semanticObject); return; + case SolverLanguagePackage.LET: + sequence_Let(context, (Let) semanticObject); + return; + case SolverLanguagePackage.LET_BINDING: + sequence_LetBinding(context, (LetBinding) semanticObject); + return; + case SolverLanguagePackage.LOCAL_VARIABLES: + sequence_LocalVariables(context, (LocalVariables) semanticObject); + return; case SolverLanguagePackage.LOGIC_LITERAL: sequence_LogicLiteral(context, (LogicLiteral) semanticObject); return; @@ -174,9 +195,6 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS return; } else break; - case SolverLanguagePackage.NAMED_ELEMENT: - sequence_NamedElement(context, (NamedElement) semanticObject); - return; case SolverLanguagePackage.NUMERIC_LITERAL: sequence_NumericLiteral(context, (NumericLiteral) semanticObject); return; @@ -200,6 +218,9 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS case SolverLanguagePackage.PROBLEM: sequence_Problem(context, (Problem) semanticObject); return; + case SolverLanguagePackage.QUANTIFIED_EXPRESSION: + sequence_QuantifiedExpression(context, (QuantifiedExpression) semanticObject); + return; case SolverLanguagePackage.REFERENCE: sequence_Reference(context, (Reference) semanticObject); return; @@ -224,6 +245,9 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: sequence_UnnamedErrorPrediateDefinition(context, (UnnamedErrorPrediateDefinition) semanticObject); return; + case SolverLanguagePackage.VARIABLE: + sequence_Variable(context, (Variable) semanticObject); + return; } if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); @@ -231,10 +255,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * AssertionOrDefinition.Assertion_1_0_0 returns BinaryExpression + * Statement returns BinaryExpression + * AssertionOrDefinition returns BinaryExpression + * AssertionOrDefinition.Interpretation_1_0_0 returns BinaryExpression * AssertionOrDefinition.PredicateDefinition_1_1_0 returns BinaryExpression * AssertionOrDefinition.MetricDefinition_1_2_0 returns BinaryExpression * Expression returns BinaryExpression + * ImplicationExpression returns BinaryExpression + * ImplicationExpression.BinaryExpression_1_0 returns BinaryExpression * DisjunctiveExpression returns BinaryExpression * DisjunctiveExpression.Disjunction_1_0_0 returns BinaryExpression * DisjunctiveExpression.Case_1_1_0 returns BinaryExpression @@ -248,28 +276,35 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * MultiplicativeExpression.BinaryExpression_1_0 returns BinaryExpression * ExponentialExpression returns BinaryExpression * ExponentialExpression.BinaryExpression_1_0 returns BinaryExpression + * CastExpression returns BinaryExpression + * CastExpression.CastExpression_1_0 returns BinaryExpression * UnaryExpression returns BinaryExpression * AggregationExpression returns BinaryExpression * AtomicExpression returns BinaryExpression * * Constraint: * ( + * (left=ImplicationExpression_BinaryExpression_1_0 op=ImplicationOperator right=ImplicationExpression) | * (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) + * (left=ExponentialExpression_BinaryExpression_1_0 op=ExponentialOp right=CastExpression) * ) */ - protected void sequence_AdditiveExpression_ExponentialExpression_MultiplicativeExpression(ISerializationContext context, BinaryExpression semanticObject) { + protected void sequence_AdditiveExpression_ExponentialExpression_ImplicationExpression_MultiplicativeExpression(ISerializationContext context, BinaryExpression semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * AssertionOrDefinition.Assertion_1_0_0 returns Aggregation + * Statement returns Aggregation + * AssertionOrDefinition returns Aggregation + * AssertionOrDefinition.Interpretation_1_0_0 returns Aggregation * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Aggregation * AssertionOrDefinition.MetricDefinition_1_2_0 returns Aggregation * Expression returns Aggregation + * ImplicationExpression returns Aggregation + * ImplicationExpression.BinaryExpression_1_0 returns Aggregation * DisjunctiveExpression returns Aggregation * DisjunctiveExpression.Disjunction_1_0_0 returns Aggregation * DisjunctiveExpression.Case_1_1_0 returns Aggregation @@ -283,28 +318,18 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * MultiplicativeExpression.BinaryExpression_1_0 returns Aggregation * ExponentialExpression returns Aggregation * ExponentialExpression.BinaryExpression_1_0 returns Aggregation + * CastExpression returns Aggregation + * CastExpression.CastExpression_1_0 returns Aggregation * UnaryExpression returns Aggregation * AggregationExpression returns Aggregation * Aggregation returns Aggregation * AtomicExpression returns Aggregation * * Constraint: - * (op=AggregationOp body=Expression condition=Expression) + * (op=[NamedElement|QualifiedName] localVariables=LocalVariables? body=Expression condition=Expression?) */ protected void sequence_Aggregation(ISerializationContext context, Aggregation semanticObject) { - if (errorAcceptor != null) { - 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.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(); + genericSequencer.createSequence(context, semanticObject); } @@ -322,14 +347,23 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * Statement returns Assertion - * AssertionOrDefinition returns Assertion + * Statement returns Interpretation + * AssertionOrDefinition returns Interpretation * * Constraint: - * (body=AssertionOrDefinition_Assertion_1_0_0 range=Expression?) + * (body=AssertionOrDefinition_Interpretation_1_0_0 range=Expression) */ - protected void sequence_AssertionOrDefinition(ISerializationContext context, Assertion semanticObject) { - genericSequencer.createSequence(context, semanticObject); + protected void sequence_AssertionOrDefinition(ISerializationContext context, Interpretation semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.INTERPRETATION__BODY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INTERPRETATION__BODY)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.INTERPRETATION__RANGE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INTERPRETATION__RANGE)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0(), semanticObject.getBody()); + feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0(), semanticObject.getRange()); + feeder.finish(); } @@ -359,7 +393,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * Statement returns MetricDefinition * * Constraint: - * ((head=AssertionOrDefinition_MetricDefinition_1_2_0 body=Expression) | (type=MetricType head=Expression body=Expression)) + * ((head=AssertionOrDefinition_MetricDefinition_1_2_0 body=Expression) | (type=[NamedElement|QualifiedName] head=Call body=Expression)) */ protected void sequence_AssertionOrDefinition_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -440,10 +474,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * AssertionOrDefinition.Assertion_1_0_0 returns Call + * Statement returns Call + * AssertionOrDefinition returns Call + * AssertionOrDefinition.Interpretation_1_0_0 returns Call * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Call * AssertionOrDefinition.MetricDefinition_1_2_0 returns Call * Expression returns Call + * ImplicationExpression returns Call + * ImplicationExpression.BinaryExpression_1_0 returns Call * DisjunctiveExpression returns Call * DisjunctiveExpression.Disjunction_1_0_0 returns Call * DisjunctiveExpression.Case_1_1_0 returns Call @@ -457,6 +495,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * MultiplicativeExpression.BinaryExpression_1_0 returns Call * ExponentialExpression returns Call * ExponentialExpression.BinaryExpression_1_0 returns Call + * CastExpression returns Call + * CastExpression.CastExpression_1_0 returns Call * UnaryExpression returns Call * AggregationExpression returns Call * AtomicExpression returns Call @@ -495,6 +535,52 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS } + /** + * Contexts: + * Statement returns CastExpression + * AssertionOrDefinition returns CastExpression + * AssertionOrDefinition.Interpretation_1_0_0 returns CastExpression + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns CastExpression + * AssertionOrDefinition.MetricDefinition_1_2_0 returns CastExpression + * Expression returns CastExpression + * ImplicationExpression returns CastExpression + * ImplicationExpression.BinaryExpression_1_0 returns CastExpression + * DisjunctiveExpression returns CastExpression + * DisjunctiveExpression.Disjunction_1_0_0 returns CastExpression + * DisjunctiveExpression.Case_1_1_0 returns CastExpression + * ConjunctiveExpression returns CastExpression + * ConjunctiveExpression.Conjunction_1_0 returns CastExpression + * ComparisonExpression returns CastExpression + * ComparisonExpression.Comparison_1_0 returns CastExpression + * AdditiveExpression returns CastExpression + * AdditiveExpression.BinaryExpression_1_0 returns CastExpression + * MultiplicativeExpression returns CastExpression + * MultiplicativeExpression.BinaryExpression_1_0 returns CastExpression + * ExponentialExpression returns CastExpression + * ExponentialExpression.BinaryExpression_1_0 returns CastExpression + * CastExpression returns CastExpression + * CastExpression.CastExpression_1_0 returns CastExpression + * UnaryExpression returns CastExpression + * AggregationExpression returns CastExpression + * AtomicExpression returns CastExpression + * + * Constraint: + * (body=CastExpression_CastExpression_1_0 type=[NamedElement|QualifiedName]) + */ + protected void sequence_CastExpression(ISerializationContext context, CastExpression semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__BODY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__BODY)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__TYPE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__TYPE)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getCastExpressionAccess().getCastExpressionBodyAction_1_0(), semanticObject.getBody()); + feeder.accept(grammarAccess.getCastExpressionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.CAST_EXPRESSION__TYPE, false)); + feeder.finish(); + } + + /** * Contexts: * Statement returns ClassDefinition @@ -515,10 +601,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * AssertionOrDefinition.Assertion_1_0_0 returns Comparison + * Statement returns Comparison + * AssertionOrDefinition returns Comparison + * AssertionOrDefinition.Interpretation_1_0_0 returns Comparison * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Comparison * AssertionOrDefinition.MetricDefinition_1_2_0 returns Comparison * Expression returns Comparison + * ImplicationExpression returns Comparison + * ImplicationExpression.BinaryExpression_1_0 returns Comparison * DisjunctiveExpression returns Comparison * DisjunctiveExpression.Disjunction_1_0_0 returns Comparison * DisjunctiveExpression.Case_1_1_0 returns Comparison @@ -532,6 +622,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * MultiplicativeExpression.BinaryExpression_1_0 returns Comparison * ExponentialExpression returns Comparison * ExponentialExpression.BinaryExpression_1_0 returns Comparison + * CastExpression returns Comparison + * CastExpression.CastExpression_1_0 returns Comparison * UnaryExpression returns Comparison * AggregationExpression returns Comparison * AtomicExpression returns Comparison @@ -558,10 +650,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * AssertionOrDefinition.Assertion_1_0_0 returns Conjunction + * Statement returns Conjunction + * AssertionOrDefinition returns Conjunction + * AssertionOrDefinition.Interpretation_1_0_0 returns Conjunction * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Conjunction * AssertionOrDefinition.MetricDefinition_1_2_0 returns Conjunction * Expression returns Conjunction + * ImplicationExpression returns Conjunction + * ImplicationExpression.BinaryExpression_1_0 returns Conjunction * DisjunctiveExpression returns Conjunction * DisjunctiveExpression.Disjunction_1_0_0 returns Conjunction * DisjunctiveExpression.Case_1_1_0 returns Conjunction @@ -575,6 +671,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * MultiplicativeExpression.BinaryExpression_1_0 returns Conjunction * ExponentialExpression returns Conjunction * ExponentialExpression.BinaryExpression_1_0 returns Conjunction + * CastExpression returns Conjunction + * CastExpression.CastExpression_1_0 returns Conjunction * UnaryExpression returns Conjunction * AggregationExpression returns Conjunction * AtomicExpression returns Conjunction @@ -587,44 +685,6 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS } - /** - * Contexts: - * 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 @@ -649,10 +709,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * AssertionOrDefinition.Assertion_1_0_0 returns Disjunction + * Statement returns Disjunction + * AssertionOrDefinition returns Disjunction + * AssertionOrDefinition.Interpretation_1_0_0 returns Disjunction * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Disjunction * AssertionOrDefinition.MetricDefinition_1_2_0 returns Disjunction * Expression returns Disjunction + * ImplicationExpression returns Disjunction + * ImplicationExpression.BinaryExpression_1_0 returns Disjunction * DisjunctiveExpression returns Disjunction * DisjunctiveExpression.Disjunction_1_0_0 returns Disjunction * DisjunctiveExpression.Case_1_1_0 returns Disjunction @@ -666,6 +730,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * MultiplicativeExpression.BinaryExpression_1_0 returns Disjunction * ExponentialExpression returns Disjunction * ExponentialExpression.BinaryExpression_1_0 returns Disjunction + * CastExpression returns Disjunction + * CastExpression.CastExpression_1_0 returns Disjunction * UnaryExpression returns Disjunction * AggregationExpression returns Disjunction * AtomicExpression returns Disjunction @@ -680,10 +746,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * AssertionOrDefinition.Assertion_1_0_0 returns Switch + * Statement returns Switch + * AssertionOrDefinition returns Switch + * AssertionOrDefinition.Interpretation_1_0_0 returns Switch * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Switch * AssertionOrDefinition.MetricDefinition_1_2_0 returns Switch * Expression returns Switch + * ImplicationExpression returns Switch + * ImplicationExpression.BinaryExpression_1_0 returns Switch * DisjunctiveExpression returns Switch * DisjunctiveExpression.Disjunction_1_0_0 returns Switch * DisjunctiveExpression.Case_1_1_0 returns Switch @@ -697,6 +767,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * MultiplicativeExpression.BinaryExpression_1_0 returns Switch * ExponentialExpression returns Switch * ExponentialExpression.BinaryExpression_1_0 returns Switch + * CastExpression returns Switch + * CastExpression.CastExpression_1_0 returns Switch * UnaryExpression returns Switch * AggregationExpression returns Switch * AtomicExpression returns Switch @@ -732,10 +804,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * AssertionOrDefinition.Assertion_1_0_0 returns EmptyIntervalLiteral + * Statement returns EmptyIntervalLiteral + * AssertionOrDefinition returns EmptyIntervalLiteral + * AssertionOrDefinition.Interpretation_1_0_0 returns EmptyIntervalLiteral * AssertionOrDefinition.PredicateDefinition_1_1_0 returns EmptyIntervalLiteral * AssertionOrDefinition.MetricDefinition_1_2_0 returns EmptyIntervalLiteral * Expression returns EmptyIntervalLiteral + * ImplicationExpression returns EmptyIntervalLiteral + * ImplicationExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral * DisjunctiveExpression returns EmptyIntervalLiteral * DisjunctiveExpression.Disjunction_1_0_0 returns EmptyIntervalLiteral * DisjunctiveExpression.Case_1_1_0 returns EmptyIntervalLiteral @@ -749,6 +825,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * MultiplicativeExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral * ExponentialExpression returns EmptyIntervalLiteral * ExponentialExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral + * CastExpression returns EmptyIntervalLiteral + * CastExpression.CastExpression_1_0 returns EmptyIntervalLiteral * UnaryExpression returns EmptyIntervalLiteral * AggregationExpression returns EmptyIntervalLiteral * AtomicExpression returns EmptyIntervalLiteral @@ -824,24 +902,65 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS } + /** + * Contexts: + * Statement returns ExternAggregatorDefinition + * ExternAggregatorDefinition returns ExternAggregatorDefinition + * + * Constraint: + * (type=[NamedElement|QualifiedName] name=QualifiedName inputType=[NamedElement|QualifiedName]) + */ + protected void sequence_ExternAggregatorDefinition(ISerializationContext context, ExternAggregatorDefinition semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__TYPE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__TYPE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__NAME) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__NAME)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__TYPE, false)); + feeder.accept(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0(), semanticObject.getName()); + feeder.accept(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE, false)); + feeder.finish(); + } + + + /** + * Contexts: + * Statement returns ExternDatatypeDefinition + * ExternDatatypeDefinition returns ExternDatatypeDefinition + * + * Constraint: + * (name=QualifiedName supertypes+=[NamedElement|QualifiedName] supertypes+=[NamedElement|QualifiedName]*) + */ + protected void sequence_ExternDatatypeDefinition(ISerializationContext context, ExternDatatypeDefinition semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + /** * Contexts: * Statement returns ExternMetricDefinition * ExternMetricDefinition returns ExternMetricDefinition * * Constraint: - * (type=MetricType head=Call) + * (type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList) */ 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)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__NAME) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__NAME)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0(), semanticObject.getType()); - feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0(), semanticObject.getHead()); + feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE, false)); + feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0(), semanticObject.getName()); + feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0(), semanticObject.getArgumentList()); feeder.finish(); } @@ -852,26 +971,33 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * ExternPredicateDefinition returns ExternPredicateDefinition * * Constraint: - * head=Call + * (name=QualifiedName argumentList=ArgumentList) */ 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)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__NAME) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__NAME)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0(), semanticObject.getHead()); + feeder.accept(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0(), semanticObject.getName()); + feeder.accept(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0(), semanticObject.getArgumentList()); feeder.finish(); } /** * Contexts: - * AssertionOrDefinition.Assertion_1_0_0 returns IfElse + * Statement returns IfElse + * AssertionOrDefinition returns IfElse + * AssertionOrDefinition.Interpretation_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 + * ImplicationExpression returns IfElse + * ImplicationExpression.BinaryExpression_1_0 returns IfElse * DisjunctiveExpression returns IfElse * DisjunctiveExpression.Disjunction_1_0_0 returns IfElse * DisjunctiveExpression.Case_1_1_0 returns IfElse @@ -885,6 +1011,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * MultiplicativeExpression.BinaryExpression_1_0 returns IfElse * ExponentialExpression returns IfElse * ExponentialExpression.BinaryExpression_1_0 returns IfElse + * CastExpression returns IfElse + * CastExpression.CastExpression_1_0 returns IfElse * UnaryExpression returns IfElse * AggregationExpression returns IfElse * AtomicExpression returns IfElse @@ -911,10 +1039,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * AssertionOrDefinition.Assertion_1_0_0 returns InfinityLiteral + * Statement returns InfinityLiteral + * AssertionOrDefinition returns InfinityLiteral + * AssertionOrDefinition.Interpretation_1_0_0 returns InfinityLiteral * AssertionOrDefinition.PredicateDefinition_1_1_0 returns InfinityLiteral * AssertionOrDefinition.MetricDefinition_1_2_0 returns InfinityLiteral * Expression returns InfinityLiteral + * ImplicationExpression returns InfinityLiteral + * ImplicationExpression.BinaryExpression_1_0 returns InfinityLiteral * DisjunctiveExpression returns InfinityLiteral * DisjunctiveExpression.Disjunction_1_0_0 returns InfinityLiteral * DisjunctiveExpression.Case_1_1_0 returns InfinityLiteral @@ -928,6 +1060,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * MultiplicativeExpression.BinaryExpression_1_0 returns InfinityLiteral * ExponentialExpression returns InfinityLiteral * ExponentialExpression.BinaryExpression_1_0 returns InfinityLiteral + * CastExpression returns InfinityLiteral + * CastExpression.CastExpression_1_0 returns InfinityLiteral * UnaryExpression returns InfinityLiteral * AggregationExpression returns InfinityLiteral * AtomicExpression returns InfinityLiteral @@ -944,10 +1078,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * AssertionOrDefinition.Assertion_1_0_0 returns Interval + * Statement returns Interval + * AssertionOrDefinition returns Interval + * AssertionOrDefinition.Interpretation_1_0_0 returns Interval * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Interval * AssertionOrDefinition.MetricDefinition_1_2_0 returns Interval * Expression returns Interval + * ImplicationExpression returns Interval + * ImplicationExpression.BinaryExpression_1_0 returns Interval * DisjunctiveExpression returns Interval * DisjunctiveExpression.Disjunction_1_0_0 returns Interval * DisjunctiveExpression.Case_1_1_0 returns Interval @@ -961,6 +1099,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * MultiplicativeExpression.BinaryExpression_1_0 returns Interval * ExponentialExpression returns Interval * ExponentialExpression.BinaryExpression_1_0 returns Interval + * CastExpression returns Interval + * CastExpression.CastExpression_1_0 returns Interval * UnaryExpression returns Interval * AggregationExpression returns Interval * AtomicExpression returns Interval @@ -985,10 +1125,85 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * AssertionOrDefinition.Assertion_1_0_0 returns LogicLiteral + * LetBinding returns LetBinding + * + * Constraint: + * (variable=Variable value=AdditiveExpression) + */ + protected void sequence_LetBinding(ISerializationContext context, LetBinding semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.LET_BINDING__VARIABLE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.LET_BINDING__VARIABLE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.LET_BINDING__VALUE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.LET_BINDING__VALUE)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0(), semanticObject.getVariable()); + feeder.accept(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0(), semanticObject.getValue()); + feeder.finish(); + } + + + /** + * Contexts: + * Statement returns Let + * AssertionOrDefinition returns Let + * AssertionOrDefinition.Interpretation_1_0_0 returns Let + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Let + * AssertionOrDefinition.MetricDefinition_1_2_0 returns Let + * Expression returns Let + * Let returns Let + * ImplicationExpression returns Let + * ImplicationExpression.BinaryExpression_1_0 returns Let + * DisjunctiveExpression returns Let + * DisjunctiveExpression.Disjunction_1_0_0 returns Let + * DisjunctiveExpression.Case_1_1_0 returns Let + * ConjunctiveExpression returns Let + * ConjunctiveExpression.Conjunction_1_0 returns Let + * ComparisonExpression returns Let + * ComparisonExpression.Comparison_1_0 returns Let + * AdditiveExpression returns Let + * AdditiveExpression.BinaryExpression_1_0 returns Let + * MultiplicativeExpression returns Let + * MultiplicativeExpression.BinaryExpression_1_0 returns Let + * ExponentialExpression returns Let + * ExponentialExpression.BinaryExpression_1_0 returns Let + * CastExpression returns Let + * CastExpression.CastExpression_1_0 returns Let + * UnaryExpression returns Let + * AggregationExpression returns Let + * AtomicExpression returns Let + * + * Constraint: + * (bindings+=LetBinding bindings+=LetBinding* body=Expression) + */ + protected void sequence_Let(ISerializationContext context, Let semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * LocalVariables returns LocalVariables + * + * Constraint: + * (variables+=Variable variables+=Variable*)? + */ + protected void sequence_LocalVariables(ISerializationContext context, LocalVariables semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Statement returns LogicLiteral + * AssertionOrDefinition returns LogicLiteral + * AssertionOrDefinition.Interpretation_1_0_0 returns LogicLiteral * AssertionOrDefinition.PredicateDefinition_1_1_0 returns LogicLiteral * AssertionOrDefinition.MetricDefinition_1_2_0 returns LogicLiteral * Expression returns LogicLiteral + * ImplicationExpression returns LogicLiteral + * ImplicationExpression.BinaryExpression_1_0 returns LogicLiteral * DisjunctiveExpression returns LogicLiteral * DisjunctiveExpression.Disjunction_1_0_0 returns LogicLiteral * DisjunctiveExpression.Case_1_1_0 returns LogicLiteral @@ -1002,6 +1217,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * MultiplicativeExpression.BinaryExpression_1_0 returns LogicLiteral * ExponentialExpression returns LogicLiteral * ExponentialExpression.BinaryExpression_1_0 returns LogicLiteral + * CastExpression returns LogicLiteral + * CastExpression.CastExpression_1_0 returns LogicLiteral * UnaryExpression returns LogicLiteral * AggregationExpression returns LogicLiteral * AtomicExpression returns LogicLiteral @@ -1066,7 +1283,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * MetricDefinition returns MetricDefinition * * Constraint: - * (type=MetricType head=Expression body=Expression) + * (type=[NamedElement|QualifiedName] head=Call body=Expression) */ protected void sequence_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) { if (errorAcceptor != null) { @@ -1078,8 +1295,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0(), semanticObject.getType()); - feeder.accept(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0(), semanticObject.getHead()); + feeder.accept(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.METRIC_DEFINITION__TYPE, false)); + feeder.accept(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0(), semanticObject.getHead()); feeder.accept(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0(), semanticObject.getBody()); feeder.finish(); } @@ -1087,28 +1304,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * NamedElement returns NamedElement - * - * Constraint: - * name=QualifiedName - */ - 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: - * AssertionOrDefinition.Assertion_1_0_0 returns NumericLiteral + * Statement returns NumericLiteral + * AssertionOrDefinition returns NumericLiteral + * AssertionOrDefinition.Interpretation_1_0_0 returns NumericLiteral * AssertionOrDefinition.PredicateDefinition_1_1_0 returns NumericLiteral * AssertionOrDefinition.MetricDefinition_1_2_0 returns NumericLiteral * Expression returns NumericLiteral + * ImplicationExpression returns NumericLiteral + * ImplicationExpression.BinaryExpression_1_0 returns NumericLiteral * DisjunctiveExpression returns NumericLiteral * DisjunctiveExpression.Disjunction_1_0_0 returns NumericLiteral * DisjunctiveExpression.Case_1_1_0 returns NumericLiteral @@ -1122,6 +1325,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * MultiplicativeExpression.BinaryExpression_1_0 returns NumericLiteral * ExponentialExpression returns NumericLiteral * ExponentialExpression.BinaryExpression_1_0 returns NumericLiteral + * CastExpression returns NumericLiteral + * CastExpression.CastExpression_1_0 returns NumericLiteral * UnaryExpression returns NumericLiteral * AggregationExpression returns NumericLiteral * AtomicExpression returns NumericLiteral @@ -1190,10 +1395,52 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * AssertionOrDefinition.Assertion_1_0_0 returns Reference + * Statement returns QuantifiedExpression + * AssertionOrDefinition returns QuantifiedExpression + * AssertionOrDefinition.Interpretation_1_0_0 returns QuantifiedExpression + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns QuantifiedExpression + * AssertionOrDefinition.MetricDefinition_1_2_0 returns QuantifiedExpression + * Expression returns QuantifiedExpression + * ImplicationExpression returns QuantifiedExpression + * ImplicationExpression.BinaryExpression_1_0 returns QuantifiedExpression + * DisjunctiveExpression returns QuantifiedExpression + * DisjunctiveExpression.Disjunction_1_0_0 returns QuantifiedExpression + * DisjunctiveExpression.Case_1_1_0 returns QuantifiedExpression + * ConjunctiveExpression returns QuantifiedExpression + * ConjunctiveExpression.Conjunction_1_0 returns QuantifiedExpression + * ComparisonExpression returns QuantifiedExpression + * ComparisonExpression.Comparison_1_0 returns QuantifiedExpression + * AdditiveExpression returns QuantifiedExpression + * AdditiveExpression.BinaryExpression_1_0 returns QuantifiedExpression + * MultiplicativeExpression returns QuantifiedExpression + * MultiplicativeExpression.BinaryExpression_1_0 returns QuantifiedExpression + * ExponentialExpression returns QuantifiedExpression + * ExponentialExpression.BinaryExpression_1_0 returns QuantifiedExpression + * CastExpression returns QuantifiedExpression + * CastExpression.CastExpression_1_0 returns QuantifiedExpression + * UnaryExpression returns QuantifiedExpression + * AggregationExpression returns QuantifiedExpression + * QuantifiedExpression returns QuantifiedExpression + * AtomicExpression returns QuantifiedExpression + * + * Constraint: + * (quantifier=Quantifier localVariables=LocalVariables? body=Expression) + */ + protected void sequence_QuantifiedExpression(ISerializationContext context, QuantifiedExpression semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Statement returns Reference + * AssertionOrDefinition returns Reference + * AssertionOrDefinition.Interpretation_1_0_0 returns Reference * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Reference * AssertionOrDefinition.MetricDefinition_1_2_0 returns Reference * Expression returns Reference + * ImplicationExpression returns Reference + * ImplicationExpression.BinaryExpression_1_0 returns Reference * DisjunctiveExpression returns Reference * DisjunctiveExpression.Disjunction_1_0_0 returns Reference * DisjunctiveExpression.Case_1_1_0 returns Reference @@ -1207,6 +1454,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * MultiplicativeExpression.BinaryExpression_1_0 returns Reference * ExponentialExpression returns Reference * ExponentialExpression.BinaryExpression_1_0 returns Reference + * CastExpression returns Reference + * CastExpression.CastExpression_1_0 returns Reference * UnaryExpression returns Reference * AggregationExpression returns Reference * AtomicExpression returns Reference @@ -1241,10 +1490,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * AssertionOrDefinition.Assertion_1_0_0 returns StringLiteral + * Statement returns StringLiteral + * AssertionOrDefinition returns StringLiteral + * AssertionOrDefinition.Interpretation_1_0_0 returns StringLiteral * AssertionOrDefinition.PredicateDefinition_1_1_0 returns StringLiteral * AssertionOrDefinition.MetricDefinition_1_2_0 returns StringLiteral * Expression returns StringLiteral + * ImplicationExpression returns StringLiteral + * ImplicationExpression.BinaryExpression_1_0 returns StringLiteral * DisjunctiveExpression returns StringLiteral * DisjunctiveExpression.Disjunction_1_0_0 returns StringLiteral * DisjunctiveExpression.Case_1_1_0 returns StringLiteral @@ -1258,6 +1511,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * MultiplicativeExpression.BinaryExpression_1_0 returns StringLiteral * ExponentialExpression returns StringLiteral * ExponentialExpression.BinaryExpression_1_0 returns StringLiteral + * CastExpression returns StringLiteral + * CastExpression.CastExpression_1_0 returns StringLiteral * UnaryExpression returns StringLiteral * AggregationExpression returns StringLiteral * AtomicExpression returns StringLiteral @@ -1321,10 +1576,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * AssertionOrDefinition.Assertion_1_0_0 returns UnaryExpression + * Statement returns UnaryExpression + * AssertionOrDefinition returns UnaryExpression + * AssertionOrDefinition.Interpretation_1_0_0 returns UnaryExpression * AssertionOrDefinition.PredicateDefinition_1_1_0 returns UnaryExpression * AssertionOrDefinition.MetricDefinition_1_2_0 returns UnaryExpression * Expression returns UnaryExpression + * ImplicationExpression returns UnaryExpression + * ImplicationExpression.BinaryExpression_1_0 returns UnaryExpression * DisjunctiveExpression returns UnaryExpression * DisjunctiveExpression.Disjunction_1_0_0 returns UnaryExpression * DisjunctiveExpression.Case_1_1_0 returns UnaryExpression @@ -1338,6 +1597,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * MultiplicativeExpression.BinaryExpression_1_0 returns UnaryExpression * ExponentialExpression returns UnaryExpression * ExponentialExpression.BinaryExpression_1_0 returns UnaryExpression + * CastExpression returns UnaryExpression + * CastExpression.CastExpression_1_0 returns UnaryExpression * UnaryExpression returns UnaryExpression * AggregationExpression returns UnaryExpression * AtomicExpression returns UnaryExpression @@ -1381,4 +1642,16 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS } + /** + * Contexts: + * Variable returns Variable + * + * Constraint: + * (type=[NamedElement|QualifiedName]? name=ID) + */ + protected void sequence_Variable(ISerializationContext context, Variable semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + } diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java index 1fa1a820..8b187721 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java @@ -83,18 +83,22 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer * * This ambiguous syntax occurs at: * (rule start) (ambiguity) '[' lowerBound=Expression - * (rule start) (ambiguity) 'count' '{' body=Expression * (rule start) (ambiguity) 'empty' (rule start) + * (rule start) (ambiguity) 'empty' FULL_STOP (rule start) * (rule start) (ambiguity) 'if' condition=Expression * (rule start) (ambiguity) 'inf' (rule start) + * (rule start) (ambiguity) 'inf' FULL_STOP (rule start) + * (rule start) (ambiguity) 'let' bindings+=LetBinding * (rule start) (ambiguity) functor=Reference - * (rule start) (ambiguity) op=AggregationOp * (rule start) (ambiguity) op=UnaryOp + * (rule start) (ambiguity) op=[NamedElement|QualifiedName] + * (rule start) (ambiguity) quantifier=Quantifier * (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) {CastExpression.body=} * (rule start) (ambiguity) {Comparison.left=} * (rule start) (ambiguity) {Conjunction.children+=} * (rule start) (ambiguity) {Disjunction.children+=} @@ -109,11 +113,13 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer * '('+ * * This ambiguous syntax occurs at: - * (rule start) (ambiguity) 'count' '{' body=Expression * (rule start) (ambiguity) 'if' condition=Expression - * (rule start) (ambiguity) op=AggregationOp + * (rule start) (ambiguity) 'let' bindings+=LetBinding * (rule start) (ambiguity) op=UnaryOp + * (rule start) (ambiguity) op=[NamedElement|QualifiedName] + * (rule start) (ambiguity) quantifier=Quantifier * (rule start) (ambiguity) {BinaryExpression.left=} + * (rule start) (ambiguity) {CastExpression.body=} * (rule start) (ambiguity) {Comparison.left=} * (rule start) (ambiguity) {Conjunction.children+=} * (rule start) (ambiguity) {Disjunction.children+=} diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java index 0252938a..ed1569a5 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java @@ -50,28 +50,30 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { 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 cMetricDefinitionParserRuleCall_0_4 = (RuleCall)cAlternatives_0.eContents().get(4); + private final RuleCall cExternPredicateDefinitionParserRuleCall_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 cExternAggregatorDefinitionParserRuleCall_0_7 = (RuleCall)cAlternatives_0.eContents().get(7); + private final RuleCall cExternDatatypeDefinitionParserRuleCall_0_8 = (RuleCall)cAlternatives_0.eContents().get(8); + private final RuleCall cClassDefinitionParserRuleCall_0_9 = (RuleCall)cAlternatives_0.eContents().get(9); + private final RuleCall cScopeDefinitionParserRuleCall_0_10 = (RuleCall)cAlternatives_0.eContents().get(10); + private final RuleCall cObjectiveDefinitionParserRuleCall_0_11 = (RuleCall)cAlternatives_0.eContents().get(11); private final RuleCall cFULL_STOPTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); //Statement: - // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | - // ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | - // ObjectiveDefinition) FULL_STOP; + // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition + // | ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition | + // ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP; @Override public ParserRule getRule() { return rule; } - //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | - //ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | - //ObjectiveDefinition) FULL_STOP + //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition | + //ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition | + //ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP public Group getGroup() { return cGroup; } - //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | - //ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | - //ObjectiveDefinition) + //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition | + //ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition | + //ClassDefinition | ScopeDefinition | ObjectiveDefinition) public Alternatives getAlternatives_0() { return cAlternatives_0; } //AssertionOrDefinition @@ -86,23 +88,29 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //DefaultDefinition public RuleCall getDefaultDefinitionParserRuleCall_0_3() { return cDefaultDefinitionParserRuleCall_0_3; } - //ExternPredicateDefinition - public RuleCall getExternPredicateDefinitionParserRuleCall_0_4() { return cExternPredicateDefinitionParserRuleCall_0_4; } - //MetricDefinition - public RuleCall getMetricDefinitionParserRuleCall_0_5() { return cMetricDefinitionParserRuleCall_0_5; } + public RuleCall getMetricDefinitionParserRuleCall_0_4() { return cMetricDefinitionParserRuleCall_0_4; } + + //ExternPredicateDefinition + public RuleCall getExternPredicateDefinitionParserRuleCall_0_5() { return cExternPredicateDefinitionParserRuleCall_0_5; } //ExternMetricDefinition public RuleCall getExternMetricDefinitionParserRuleCall_0_6() { return cExternMetricDefinitionParserRuleCall_0_6; } + //ExternAggregatorDefinition + public RuleCall getExternAggregatorDefinitionParserRuleCall_0_7() { return cExternAggregatorDefinitionParserRuleCall_0_7; } + + //ExternDatatypeDefinition + public RuleCall getExternDatatypeDefinitionParserRuleCall_0_8() { return cExternDatatypeDefinitionParserRuleCall_0_8; } + //ClassDefinition - public RuleCall getClassDefinitionParserRuleCall_0_7() { return cClassDefinitionParserRuleCall_0_7; } + public RuleCall getClassDefinitionParserRuleCall_0_9() { return cClassDefinitionParserRuleCall_0_9; } //ScopeDefinition - public RuleCall getScopeDefinitionParserRuleCall_0_8() { return cScopeDefinitionParserRuleCall_0_8; } + public RuleCall getScopeDefinitionParserRuleCall_0_10() { return cScopeDefinitionParserRuleCall_0_10; } //ObjectiveDefinition - public RuleCall getObjectiveDefinitionParserRuleCall_0_9() { return cObjectiveDefinitionParserRuleCall_0_9; } + public RuleCall getObjectiveDefinitionParserRuleCall_0_11() { return cObjectiveDefinitionParserRuleCall_0_11; } //FULL_STOP public RuleCall getFULL_STOPTerminalRuleCall_1() { return cFULL_STOPTerminalRuleCall_1; } @@ -113,11 +121,10 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { 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 Action cInterpretationBodyAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0); + private final Keyword cColonKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1); + private final Assignment cRangeAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); + private final RuleCall cRangeExpressionParserRuleCall_1_0_2_0 = (RuleCall)cRangeAssignment_1_0_2.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); @@ -130,38 +137,35 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { 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); + // Expression ({Interpretation.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) + //Expression ({Interpretation.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) + //({Interpretation.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)? + //{Interpretation.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; } + //{Interpretation.body=current} + public Action getInterpretationBodyAction_1_0_0() { return cInterpretationBodyAction_1_0_0; } //":" - public Keyword getColonKeyword_1_0_1_0() { return cColonKeyword_1_0_1_0; } + public Keyword getColonKeyword_1_0_1() { return cColonKeyword_1_0_1; } //range=Expression - public Assignment getRangeAssignment_1_0_1_1() { return cRangeAssignment_1_0_1_1; } + public Assignment getRangeAssignment_1_0_2() { return cRangeAssignment_1_0_2; } //Expression - public RuleCall getRangeExpressionParserRuleCall_1_0_1_1_0() { return cRangeExpressionParserRuleCall_1_0_1_1_0; } + public RuleCall getRangeExpressionParserRuleCall_1_0_2_0() { return cRangeExpressionParserRuleCall_1_0_2_0; } //{PredicateDefinition.head=current} ":-" body=Expression public Group getGroup_1_1() { return cGroup_1_1; } @@ -338,58 +342,39 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //Expression public RuleCall getRangeExpressionParserRuleCall_3_0() { return cRangeExpressionParserRuleCall_3_0; } } - 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); - - //ExternPredicateDefinition: - // "extern" head=Call; - @Override public ParserRule getRule() { return rule; } - - //"extern" head=Call - public Group getGroup() { return cGroup; } - - //"extern" - public Keyword getExternKeyword_0() { return cExternKeyword_0; } - - //head=Call - public Assignment getHeadAssignment_1() { return cHeadAssignment_1; } - - //Call - public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; } - } 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 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 cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cHeadExpressionParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0); + private final RuleCall cHeadCallParserRuleCall_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; + // type=[NamedElement|QualifiedName] head=Call "=" body=Expression; @Override public ParserRule getRule() { return rule; } - //type=MetricType head=Expression "=" body=Expression + //type=[NamedElement|QualifiedName] head=Call "=" body=Expression public Group getGroup() { return cGroup; } - //type=MetricType + //type=[NamedElement|QualifiedName] public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } - //MetricType - public RuleCall getTypeMetricTypeEnumRuleCall_0_0() { return cTypeMetricTypeEnumRuleCall_0_0; } + //[NamedElement|QualifiedName] + public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; } + + //QualifiedName + public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; } - //head=Expression + //head=Call public Assignment getHeadAssignment_1() { return cHeadAssignment_1; } - //Expression - public RuleCall getHeadExpressionParserRuleCall_1_0() { return cHeadExpressionParserRuleCall_1_0; } + //Call + public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; } //"=" public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; } @@ -400,55 +385,261 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //Expression public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } } + 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 cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_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); + + //ExternPredicateDefinition: + // "extern" name=QualifiedName argumentList=ArgumentList; + @Override public ParserRule getRule() { return rule; } + + //"extern" name=QualifiedName argumentList=ArgumentList + public Group getGroup() { return cGroup; } + + //"extern" + public Keyword getExternKeyword_0() { return cExternKeyword_0; } + + //name=QualifiedName + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //QualifiedName + public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; } + + //argumentList=ArgumentList + public Assignment getArgumentListAssignment_2() { return cArgumentListAssignment_2; } + + //ArgumentList + public RuleCall getArgumentListArgumentListParserRuleCall_2_0() { return cArgumentListArgumentListParserRuleCall_2_0; } + } 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); + 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 cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); + private final Assignment cArgumentListAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cArgumentListArgumentListParserRuleCall_3_0 = (RuleCall)cArgumentListAssignment_3.eContents().get(0); //ExternMetricDefinition: - // "extern" type=MetricType head=Call; + // "extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList; @Override public ParserRule getRule() { return rule; } - //"extern" type=MetricType head=Call + //"extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList public Group getGroup() { return cGroup; } //"extern" public Keyword getExternKeyword_0() { return cExternKeyword_0; } - //type=MetricType + //type=[NamedElement|QualifiedName] public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } - //MetricType - public RuleCall getTypeMetricTypeEnumRuleCall_1_0() { return cTypeMetricTypeEnumRuleCall_1_0; } + //[NamedElement|QualifiedName] + public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; } - //head=Call - public Assignment getHeadAssignment_2() { return cHeadAssignment_2; } + //QualifiedName + public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; } - //Call - public RuleCall getHeadCallParserRuleCall_2_0() { return cHeadCallParserRuleCall_2_0; } + //name=QualifiedName + public Assignment getNameAssignment_2() { return cNameAssignment_2; } + + //QualifiedName + public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; } + + //argumentList=ArgumentList + public Assignment getArgumentListAssignment_3() { return cArgumentListAssignment_3; } + + //ArgumentList + public RuleCall getArgumentListArgumentListParserRuleCall_3_0() { return cArgumentListArgumentListParserRuleCall_3_0; } + } + public class ExternAggregatorDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternAggregatorDefinition"); + 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 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 cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cInputTypeAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final CrossReference cInputTypeNamedElementCrossReference_4_0 = (CrossReference)cInputTypeAssignment_4.eContents().get(0); + private final RuleCall cInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1 = (RuleCall)cInputTypeNamedElementCrossReference_4_0.eContents().get(1); + private final Keyword cFullStopFullStopFullStopKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); + + //ExternAggregatorDefinition: + // "extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}"; + @Override public ParserRule getRule() { return rule; } + + //"extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}" + public Group getGroup() { return cGroup; } + + //"extern" + public Keyword getExternKeyword_0() { return cExternKeyword_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; } + + //name=QualifiedName + public Assignment getNameAssignment_2() { return cNameAssignment_2; } + + //QualifiedName + public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } + + //inputType=[NamedElement|QualifiedName] + public Assignment getInputTypeAssignment_4() { return cInputTypeAssignment_4; } + + //[NamedElement|QualifiedName] + public CrossReference getInputTypeNamedElementCrossReference_4_0() { return cInputTypeNamedElementCrossReference_4_0; } + + //QualifiedName + public RuleCall getInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1() { return cInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1; } + + //"..." + public Keyword getFullStopFullStopFullStopKeyword_5() { return cFullStopFullStopFullStopKeyword_5; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + } + public class ExternDatatypeDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternDatatypeDefinition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cDatatypeKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cNameQualifiedNameParserRuleCall_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 cSupertypesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final CrossReference cSupertypesNamedElementCrossReference_3_1_0 = (CrossReference)cSupertypesAssignment_3_1.eContents().get(0); + private final RuleCall cSupertypesNamedElementQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSupertypesNamedElementCrossReference_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 cSupertypesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1); + private final CrossReference cSupertypesNamedElementCrossReference_3_2_1_0 = (CrossReference)cSupertypesAssignment_3_2_1.eContents().get(0); + private final RuleCall cSupertypesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSupertypesNamedElementCrossReference_3_2_1_0.eContents().get(1); + + //ExternDatatypeDefinition: + // "extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] ("," + // supertypes+=[NamedElement|QualifiedName])*); + @Override public ParserRule getRule() { return rule; } + + //"extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] ("," + //supertypes+=[NamedElement|QualifiedName])*) + public Group getGroup() { return cGroup; } + + //"extern" + public Keyword getExternKeyword_0() { return cExternKeyword_0; } + + //"datatype" + public Keyword getDatatypeKeyword_1() { return cDatatypeKeyword_1; } + + //name=QualifiedName + public Assignment getNameAssignment_2() { return cNameAssignment_2; } + + //QualifiedName + public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; } + + //("extends" supertypes+=[NamedElement|QualifiedName] ("," supertypes+=[NamedElement|QualifiedName])*) + public Group getGroup_3() { return cGroup_3; } + + //"extends" + public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; } + + //supertypes+=[NamedElement|QualifiedName] + public Assignment getSupertypesAssignment_3_1() { return cSupertypesAssignment_3_1; } + + //[NamedElement|QualifiedName] + public CrossReference getSupertypesNamedElementCrossReference_3_1_0() { return cSupertypesNamedElementCrossReference_3_1_0; } + + //QualifiedName + public RuleCall getSupertypesNamedElementQualifiedNameParserRuleCall_3_1_0_1() { return cSupertypesNamedElementQualifiedNameParserRuleCall_3_1_0_1; } + + //("," supertypes+=[NamedElement|QualifiedName])* + public Group getGroup_3_2() { return cGroup_3_2; } + + //"," + public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; } + + //supertypes+=[NamedElement|QualifiedName] + public Assignment getSupertypesAssignment_3_2_1() { return cSupertypesAssignment_3_2_1; } + + //[NamedElement|QualifiedName] + public CrossReference getSupertypesNamedElementCrossReference_3_2_1_0() { return cSupertypesNamedElementCrossReference_3_2_1_0; } + + //QualifiedName + public RuleCall getSupertypesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1() { return cSupertypesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1; } + } + public class VariableElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); + 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 Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); + + //Variable: + // type=[NamedElement|QualifiedName]? name=ID; + @Override public ParserRule getRule() { return rule; } + + //type=[NamedElement|QualifiedName]? name=ID + public Group getGroup() { return cGroup; } + + //type=[NamedElement|QualifiedName]? + public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } + + //[NamedElement|QualifiedName] + public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; } + + //QualifiedName + public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; } + + //name=ID + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //ID + public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_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 RuleCall cIfElseParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cDisjunctiveExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cLetParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cImplicationExpressionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); //Expression: - // IfElse | DisjunctiveExpression; + // IfElse | Let | ImplicationExpression; @Override public ParserRule getRule() { return rule; } - //IfElse | DisjunctiveExpression + //IfElse | Let | ImplicationExpression public Alternatives getAlternatives() { return cAlternatives; } //IfElse public RuleCall getIfElseParserRuleCall_0() { return cIfElseParserRuleCall_0; } - //DisjunctiveExpression - public RuleCall getDisjunctiveExpressionParserRuleCall_1() { return cDisjunctiveExpressionParserRuleCall_1; } + //Let + public RuleCall getLetParserRuleCall_1() { return cLetParserRuleCall_1; } + + //ImplicationExpression + public RuleCall getImplicationExpressionParserRuleCall_2() { return cImplicationExpressionParserRuleCall_2; } } public class IfElseElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IfElse"); @@ -497,6 +688,127 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //Expression public RuleCall getElseExpressionParserRuleCall_5_0() { return cElseExpressionParserRuleCall_5_0; } } + public class LetElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Let"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cLetKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cBindingsAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cBindingsLetBindingParserRuleCall_1_0 = (RuleCall)cBindingsAssignment_1.eContents().get(0); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cBindingsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final RuleCall cBindingsLetBindingParserRuleCall_2_1_0 = (RuleCall)cBindingsAssignment_2_1.eContents().get(0); + private final Keyword cInKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cBodyAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cBodyExpressionParserRuleCall_4_0 = (RuleCall)cBodyAssignment_4.eContents().get(0); + + //Let: + // "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression; + @Override public ParserRule getRule() { return rule; } + + //"let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression + public Group getGroup() { return cGroup; } + + //"let" + public Keyword getLetKeyword_0() { return cLetKeyword_0; } + + //bindings+=LetBinding + public Assignment getBindingsAssignment_1() { return cBindingsAssignment_1; } + + //LetBinding + public RuleCall getBindingsLetBindingParserRuleCall_1_0() { return cBindingsLetBindingParserRuleCall_1_0; } + + //("," bindings+=LetBinding)* + public Group getGroup_2() { return cGroup_2; } + + //"," + public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; } + + //bindings+=LetBinding + public Assignment getBindingsAssignment_2_1() { return cBindingsAssignment_2_1; } + + //LetBinding + public RuleCall getBindingsLetBindingParserRuleCall_2_1_0() { return cBindingsLetBindingParserRuleCall_2_1_0; } + + //"in" + public Keyword getInKeyword_3() { return cInKeyword_3; } + + //body=Expression + public Assignment getBodyAssignment_4() { return cBodyAssignment_4; } + + //Expression + public RuleCall getBodyExpressionParserRuleCall_4_0() { return cBodyExpressionParserRuleCall_4_0; } + } + public class LetBindingElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding"); + 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 Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cValueAdditiveExpressionParserRuleCall_2_0 = (RuleCall)cValueAssignment_2.eContents().get(0); + + //LetBinding: + // variable=Variable "=" value=AdditiveExpression; + @Override public ParserRule getRule() { return rule; } + + //variable=Variable "=" value=AdditiveExpression + public Group getGroup() { return cGroup; } + + //variable=Variable + public Assignment getVariableAssignment_0() { return cVariableAssignment_0; } + + //Variable + public RuleCall getVariableVariableParserRuleCall_0_0() { return cVariableVariableParserRuleCall_0_0; } + + //"=" + public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; } + + //value=AdditiveExpression + public Assignment getValueAssignment_2() { return cValueAssignment_2; } + + //AdditiveExpression + public RuleCall getValueAdditiveExpressionParserRuleCall_2_0() { return cValueAdditiveExpressionParserRuleCall_2_0; } + } + public class ImplicationExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationExpression"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cDisjunctiveExpressionParserRuleCall_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 cOpImplicationOperatorEnumRuleCall_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 cRightImplicationExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //ImplicationExpression Expression: + // DisjunctiveExpression ({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)?; + @Override public ParserRule getRule() { return rule; } + + //DisjunctiveExpression ({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)? + public Group getGroup() { return cGroup; } + + //DisjunctiveExpression + public RuleCall getDisjunctiveExpressionParserRuleCall_0() { return cDisjunctiveExpressionParserRuleCall_0; } + + //({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)? + public Group getGroup_1() { return cGroup_1; } + + //{BinaryExpression.left=current} + public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; } + + //op=ImplicationOperator + public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } + + //ImplicationOperator + public RuleCall getOpImplicationOperatorEnumRuleCall_1_1_0() { return cOpImplicationOperatorEnumRuleCall_1_1_0; } + + //right=ImplicationExpression + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //ImplicationExpression + public RuleCall getRightImplicationExpressionParserRuleCall_1_2_0() { return cRightImplicationExpressionParserRuleCall_1_2_0; } + } 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); @@ -773,25 +1085,25 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { 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 RuleCall cCastExpressionParserRuleCall_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); + private final RuleCall cRightCastExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); //ExponentialExpression Expression: - // UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?; + // CastExpression ({BinaryExpression.left=current} op=ExponentialOp right=CastExpression)?; @Override public ParserRule getRule() { return rule; } - //UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)? + //CastExpression ({BinaryExpression.left=current} op=ExponentialOp right=CastExpression)? public Group getGroup() { return cGroup; } - //UnaryExpression - public RuleCall getUnaryExpressionParserRuleCall_0() { return cUnaryExpressionParserRuleCall_0; } + //CastExpression + public RuleCall getCastExpressionParserRuleCall_0() { return cCastExpressionParserRuleCall_0; } - //({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)? + //({BinaryExpression.left=current} op=ExponentialOp right=CastExpression)? public Group getGroup_1() { return cGroup_1; } //{BinaryExpression.left=current} @@ -803,11 +1115,50 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //ExponentialOp public RuleCall getOpExponentialOpEnumRuleCall_1_1_0() { return cOpExponentialOpEnumRuleCall_1_1_0; } - //right=ExponentialExpression + //right=CastExpression public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } - //ExponentialExpression - public RuleCall getRightExponentialExpressionParserRuleCall_1_2_0() { return cRightExponentialExpressionParserRuleCall_1_2_0; } + //CastExpression + public RuleCall getRightCastExpressionParserRuleCall_1_2_0() { return cRightCastExpressionParserRuleCall_1_2_0; } + } + public class CastExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.CastExpression"); + 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 cCastExpressionBodyAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cAsKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cTypeAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final CrossReference cTypeNamedElementCrossReference_1_2_0 = (CrossReference)cTypeAssignment_1_2.eContents().get(0); + private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_2_0.eContents().get(1); + + //CastExpression Expression: + // UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?; + @Override public ParserRule getRule() { return rule; } + + //UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])? + public Group getGroup() { return cGroup; } + + //UnaryExpression + public RuleCall getUnaryExpressionParserRuleCall_0() { return cUnaryExpressionParserRuleCall_0; } + + //({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])? + public Group getGroup_1() { return cGroup_1; } + + //{CastExpression.body=current} + public Action getCastExpressionBodyAction_1_0() { return cCastExpressionBodyAction_1_0; } + + //"as" + public Keyword getAsKeyword_1_1() { return cAsKeyword_1_1; } + + //type=[NamedElement|QualifiedName] + public Assignment getTypeAssignment_1_2() { return cTypeAssignment_1_2; } + + //[NamedElement|QualifiedName] + public CrossReference getTypeNamedElementCrossReference_1_2_0() { return cTypeNamedElementCrossReference_1_2_0; } + + //QualifiedName + public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1; } } public class UnaryExpressionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryExpression"); @@ -852,99 +1203,178 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { 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 cAtomicExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cCountParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cQuantifiedExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cAggregationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); //AggregationExpression Expression: - // AtomicExpression | Count | Aggregation; + // AtomicExpression | QuantifiedExpression | Aggregation; @Override public ParserRule getRule() { return rule; } - //AtomicExpression | Count | Aggregation + //AtomicExpression | QuantifiedExpression | Aggregation public Alternatives getAlternatives() { return cAlternatives; } //AtomicExpression public RuleCall getAtomicExpressionParserRuleCall_0() { return cAtomicExpressionParserRuleCall_0; } - //Count - public RuleCall getCountParserRuleCall_1() { return cCountParserRuleCall_1; } + //QuantifiedExpression + public RuleCall getQuantifiedExpressionParserRuleCall_1() { return cQuantifiedExpressionParserRuleCall_1; } //Aggregation public RuleCall getAggregationParserRuleCall_2() { return cAggregationParserRuleCall_2; } } - public class CountElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Count"); + public class LocalVariablesElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables"); private final Group cGroup = (Group)rule.eContents().get(1); - 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); + private final Action cLocalVariablesAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cLeftSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Assignment cVariablesAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); + private final RuleCall cVariablesVariableParserRuleCall_2_0_0 = (RuleCall)cVariablesAssignment_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 cVariablesAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1); + private final RuleCall cVariablesVariableParserRuleCall_2_1_1_0 = (RuleCall)cVariablesAssignment_2_1_1.eContents().get(0); + private final Keyword cRightSquareBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); - //Count: - // "count" "{" body=Expression "}"; + //LocalVariables: + // {LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]"; @Override public ParserRule getRule() { return rule; } - //"count" "{" body=Expression "}" + //{LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]" public Group getGroup() { return cGroup; } - //"count" - public Keyword getCountKeyword_0() { return cCountKeyword_0; } + //{LocalVariables} + public Action getLocalVariablesAction_0() { return cLocalVariablesAction_0; } + + //"[" + public Keyword getLeftSquareBracketKeyword_1() { return cLeftSquareBracketKeyword_1; } + + //(variables+=Variable ("," variables+=Variable)*)? + public Group getGroup_2() { return cGroup_2; } + + //variables+=Variable + public Assignment getVariablesAssignment_2_0() { return cVariablesAssignment_2_0; } + + //Variable + public RuleCall getVariablesVariableParserRuleCall_2_0_0() { return cVariablesVariableParserRuleCall_2_0_0; } + + //("," variables+=Variable)* + public Group getGroup_2_1() { return cGroup_2_1; } + + //"," + public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; } + + //variables+=Variable + public Assignment getVariablesAssignment_2_1_1() { return cVariablesAssignment_2_1_1; } + + //Variable + public RuleCall getVariablesVariableParserRuleCall_2_1_1_0() { return cVariablesVariableParserRuleCall_2_1_1_0; } + + //"]" + public Keyword getRightSquareBracketKeyword_3() { return cRightSquareBracketKeyword_3; } + } + public class QuantifiedExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QuantifiedExpression"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cQuantifierAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cQuantifierQuantifierEnumRuleCall_0_0 = (RuleCall)cQuantifierAssignment_0.eContents().get(0); + private final Assignment cLocalVariablesAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cLocalVariablesLocalVariablesParserRuleCall_1_0 = (RuleCall)cLocalVariablesAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_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); + private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //QuantifiedExpression: + // quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}"; + @Override public ParserRule getRule() { return rule; } + + //quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}" + public Group getGroup() { return cGroup; } + + //quantifier=Quantifier + public Assignment getQuantifierAssignment_0() { return cQuantifierAssignment_0; } + + //Quantifier + public RuleCall getQuantifierQuantifierEnumRuleCall_0_0() { return cQuantifierQuantifierEnumRuleCall_0_0; } + + //localVariables=LocalVariables? + public Assignment getLocalVariablesAssignment_1() { return cLocalVariablesAssignment_1; } + + //LocalVariables + public RuleCall getLocalVariablesLocalVariablesParserRuleCall_1_0() { return cLocalVariablesLocalVariablesParserRuleCall_1_0; } //"{" - public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } //body=Expression - public Assignment getBodyAssignment_2() { return cBodyAssignment_2; } + public Assignment getBodyAssignment_3() { return cBodyAssignment_3; } //Expression - public RuleCall getBodyExpressionParserRuleCall_2_0() { return cBodyExpressionParserRuleCall_2_0; } + public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } //"}" - public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; } + public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } } 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 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 CrossReference cOpNamedElementCrossReference_0_0 = (CrossReference)cOpAssignment_0.eContents().get(0); + private final RuleCall cOpNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cOpNamedElementCrossReference_0_0.eContents().get(1); + private final Assignment cLocalVariablesAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cLocalVariablesLocalVariablesParserRuleCall_1_0 = (RuleCall)cLocalVariablesAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_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); + private final Group cGroup_4 = (Group)cGroup.eContents().get(4); + private final Keyword cVerticalLineKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final Assignment cConditionAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); + private final RuleCall cConditionExpressionParserRuleCall_4_1_0 = (RuleCall)cConditionAssignment_4_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); //Aggregation: - // op=AggregationOp "{" body=Expression "|" condition=Expression "}"; + // op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}"; @Override public ParserRule getRule() { return rule; } - //op=AggregationOp "{" body=Expression "|" condition=Expression "}" + //op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}" public Group getGroup() { return cGroup; } - //op=AggregationOp + //op=[NamedElement|QualifiedName] public Assignment getOpAssignment_0() { return cOpAssignment_0; } - //AggregationOp - public RuleCall getOpAggregationOpEnumRuleCall_0_0() { return cOpAggregationOpEnumRuleCall_0_0; } + //[NamedElement|QualifiedName] + public CrossReference getOpNamedElementCrossReference_0_0() { return cOpNamedElementCrossReference_0_0; } + + //QualifiedName + public RuleCall getOpNamedElementQualifiedNameParserRuleCall_0_0_1() { return cOpNamedElementQualifiedNameParserRuleCall_0_0_1; } + + //localVariables=LocalVariables? + public Assignment getLocalVariablesAssignment_1() { return cLocalVariablesAssignment_1; } + + //LocalVariables + public RuleCall getLocalVariablesLocalVariablesParserRuleCall_1_0() { return cLocalVariablesLocalVariablesParserRuleCall_1_0; } //"{" - public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } //body=Expression - public Assignment getBodyAssignment_2() { return cBodyAssignment_2; } + public Assignment getBodyAssignment_3() { return cBodyAssignment_3; } //Expression - public RuleCall getBodyExpressionParserRuleCall_2_0() { return cBodyExpressionParserRuleCall_2_0; } + public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } + + //("|" condition=Expression)? + public Group getGroup_4() { return cGroup_4; } //"|" - public Keyword getVerticalLineKeyword_3() { return cVerticalLineKeyword_3; } + public Keyword getVerticalLineKeyword_4_0() { return cVerticalLineKeyword_4_0; } //condition=Expression - public Assignment getConditionAssignment_4() { return cConditionAssignment_4; } + public Assignment getConditionAssignment_4_1() { return cConditionAssignment_4_1; } //Expression - public RuleCall getConditionExpressionParserRuleCall_4_0() { return cConditionExpressionParserRuleCall_4_0; } + public RuleCall getConditionExpressionParserRuleCall_4_1_0() { return cConditionExpressionParserRuleCall_4_1_0; } //"}" public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } @@ -2018,155 +2448,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //QUOTED_ID public RuleCall getQUOTED_IDTerminalRuleCall_1() { return cQUOTED_IDTerminalRuleCall_1; } } - 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); - - //NamedElement: - // name=QualifiedName; - @Override public ParserRule getRule() { return rule; } - - //name=QualifiedName - public Assignment getNameAssignment() { return cNameAssignment; } - - //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); + public class ImplicationOperatorElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationOperator"); + private final EnumLiteralDeclaration cIMPLIESEnumLiteralDeclaration = (EnumLiteralDeclaration)rule.eContents().get(1); + private final Keyword cIMPLIESEqualsSignGreaterThanSignKeyword_0 = (Keyword)cIMPLIESEnumLiteralDeclaration.eContents().get(0); - //enum MetricType: - // INT="int" | REAL="real"; + //enum ImplicationOperator returns BinaryOperator: + // IMPLIES="=>"; public EnumRule getRule() { return rule; } - //INT="int" | REAL="real" - public Alternatives getAlternatives() { return cAlternatives; } - - //INT="int" - public EnumLiteralDeclaration getINTEnumLiteralDeclaration_0() { return cINTEnumLiteralDeclaration_0; } - - //"int" - public Keyword getINTIntKeyword_0_0() { return cINTIntKeyword_0_0; } + //IMPLIES="=>" + public EnumLiteralDeclaration getIMPLIESEnumLiteralDeclaration() { return cIMPLIESEnumLiteralDeclaration; } - //REAL="real" - public EnumLiteralDeclaration getREALEnumLiteralDeclaration_1() { return cREALEnumLiteralDeclaration_1; } - - //"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; } - - //EQ - public EnumLiteralDeclaration getEQEnumLiteralDeclaration_0() { return cEQEnumLiteralDeclaration_0; } - - //"EQ" - public Keyword getEQEQKeyword_0_0() { return cEQEQKeyword_0_0; } - - //NOT_EQ - public EnumLiteralDeclaration getNOT_EQEnumLiteralDeclaration_1() { return cNOT_EQEnumLiteralDeclaration_1; } - - //"NOT_EQ" - public Keyword getNOT_EQNOT_EQKeyword_1_0() { return cNOT_EQNOT_EQKeyword_1_0; } - - //LESS - public EnumLiteralDeclaration getLESSEnumLiteralDeclaration_2() { return cLESSEnumLiteralDeclaration_2; } - - //"LESS" - public Keyword getLESSLESSKeyword_2_0() { return cLESSLESSKeyword_2_0; } - - //LESS_EQ - public EnumLiteralDeclaration getLESS_EQEnumLiteralDeclaration_3() { return cLESS_EQEnumLiteralDeclaration_3; } - - //"LESS_EQ" - public Keyword getLESS_EQLESS_EQKeyword_3_0() { return cLESS_EQLESS_EQKeyword_3_0; } - - //GREATER - public EnumLiteralDeclaration getGREATEREnumLiteralDeclaration_4() { return cGREATEREnumLiteralDeclaration_4; } - - //"GREATER" - public Keyword getGREATERGREATERKeyword_4_0() { return cGREATERGREATERKeyword_4_0; } - - //GREATER_EQ - public EnumLiteralDeclaration getGREATER_EQEnumLiteralDeclaration_5() { return cGREATER_EQEnumLiteralDeclaration_5; } - - //"GREATER_EQ" - public Keyword getGREATER_EQGREATER_EQKeyword_5_0() { return cGREATER_EQGREATER_EQKeyword_5_0; } - - //IN - public EnumLiteralDeclaration getINEnumLiteralDeclaration_6() { return cINEnumLiteralDeclaration_6; } - - //"IN" - public Keyword getININKeyword_6_0() { return cININKeyword_6_0; } - - //ADD - public EnumLiteralDeclaration getADDEnumLiteralDeclaration_7() { return cADDEnumLiteralDeclaration_7; } - - //"ADD" - public Keyword getADDADDKeyword_7_0() { return cADDADDKeyword_7_0; } - - //SUB - public EnumLiteralDeclaration getSUBEnumLiteralDeclaration_8() { return cSUBEnumLiteralDeclaration_8; } - - //"SUB" - public Keyword getSUBSUBKeyword_8_0() { return cSUBSUBKeyword_8_0; } - - //MUL - public EnumLiteralDeclaration getMULEnumLiteralDeclaration_9() { return cMULEnumLiteralDeclaration_9; } - - //"MUL" - public Keyword getMULMULKeyword_9_0() { return cMULMULKeyword_9_0; } - - //DIV - public EnumLiteralDeclaration getDIVEnumLiteralDeclaration_10() { return cDIVEnumLiteralDeclaration_10; } - - //"DIV" - public Keyword getDIVDIVKeyword_10_0() { return cDIVDIVKeyword_10_0; } - - //POW - public EnumLiteralDeclaration getPOWEnumLiteralDeclaration_11() { return cPOWEnumLiteralDeclaration_11; } - - //"POW" - public Keyword getPOWPOWKeyword_11_0() { return cPOWPOWKeyword_11_0; } + //"=>" + public Keyword getIMPLIESEqualsSignGreaterThanSignKeyword_0() { return cIMPLIESEqualsSignGreaterThanSignKeyword_0; } } public class ComparisonOperatorElements extends AbstractEnumRuleElementFinder { private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator"); @@ -2363,64 +2659,40 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //"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"); + public class QuantifierElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Quantifier"); 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"; + private final EnumLiteralDeclaration cEXISTSEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cEXISTSExistsKeyword_0_0 = (Keyword)cEXISTSEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cFORALLEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cFORALLForallKeyword_1_0 = (Keyword)cFORALLEnumLiteralDeclaration_1.eContents().get(0); + private final EnumLiteralDeclaration cCOUNTEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); + private final Keyword cCOUNTCountKeyword_2_0 = (Keyword)cCOUNTEnumLiteralDeclaration_2.eContents().get(0); + + //enum Quantifier: + // EXISTS="exists" | FORALL="forall" | COUNT="count"; public EnumRule getRule() { return rule; } - //ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max" + //EXISTS="exists" | FORALL="forall" | COUNT="count" public Alternatives getAlternatives() { return cAlternatives; } - //ONLY="only" - public EnumLiteralDeclaration getONLYEnumLiteralDeclaration_0() { return cONLYEnumLiteralDeclaration_0; } - - //"only" - public Keyword getONLYOnlyKeyword_0_0() { return cONLYOnlyKeyword_0_0; } + //EXISTS="exists" + public EnumLiteralDeclaration getEXISTSEnumLiteralDeclaration_0() { return cEXISTSEnumLiteralDeclaration_0; } - //SUM="sum" - public EnumLiteralDeclaration getSUMEnumLiteralDeclaration_1() { return cSUMEnumLiteralDeclaration_1; } + //"exists" + public Keyword getEXISTSExistsKeyword_0_0() { return cEXISTSExistsKeyword_0_0; } - //"sum" - public Keyword getSUMSumKeyword_1_0() { return cSUMSumKeyword_1_0; } + //FORALL="forall" + public EnumLiteralDeclaration getFORALLEnumLiteralDeclaration_1() { return cFORALLEnumLiteralDeclaration_1; } - //PROD="prod" - public EnumLiteralDeclaration getPRODEnumLiteralDeclaration_2() { return cPRODEnumLiteralDeclaration_2; } + //"forall" + public Keyword getFORALLForallKeyword_1_0() { return cFORALLForallKeyword_1_0; } - //"prod" - public Keyword getPRODProdKeyword_2_0() { return cPRODProdKeyword_2_0; } + //COUNT="count" + public EnumLiteralDeclaration getCOUNTEnumLiteralDeclaration_2() { return cCOUNTEnumLiteralDeclaration_2; } - //AVG="avg" - public EnumLiteralDeclaration getAVGEnumLiteralDeclaration_3() { return cAVGEnumLiteralDeclaration_3; } - - //"avg" - public Keyword getAVGAvgKeyword_3_0() { return cAVGAvgKeyword_3_0; } - - //MIN="min" - public EnumLiteralDeclaration getMINEnumLiteralDeclaration_4() { return cMINEnumLiteralDeclaration_4; } - - //"min" - public Keyword getMINMinKeyword_4_0() { return cMINMinKeyword_4_0; } - - //MAX="max" - public EnumLiteralDeclaration getMAXEnumLiteralDeclaration_5() { return cMAXEnumLiteralDeclaration_5; } - - //"max" - public Keyword getMAXMaxKeyword_5_0() { return cMAXMaxKeyword_5_0; } + //"count" + public Keyword getCOUNTCountKeyword_2_0() { return cCOUNTCountKeyword_2_0; } } public class LogicValueElements extends AbstractEnumRuleElementFinder { private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue"); @@ -2499,16 +2771,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { 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 ExternPredicateDefinitionElements pExternPredicateDefinition; private final ExternMetricDefinitionElements pExternMetricDefinition; + private final ExternAggregatorDefinitionElements pExternAggregatorDefinition; + private final ExternDatatypeDefinitionElements pExternDatatypeDefinition; + private final VariableElements pVariable; private final ExpressionElements pExpression; private final IfElseElements pIfElse; + private final LetElements pLet; + private final LetBindingElements pLetBinding; + private final ImplicationOperatorElements eImplicationOperator; + private final ImplicationExpressionElements pImplicationExpression; 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; @@ -2517,11 +2794,13 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final MultiplicativeExpressionElements pMultiplicativeExpression; private final ExponentialOpElements eExponentialOp; private final ExponentialExpressionElements pExponentialExpression; + private final CastExpressionElements pCastExpression; private final UnaryOpElements eUnaryOp; private final UnaryExpressionElements pUnaryExpression; private final AggregationExpressionElements pAggregationExpression; - private final CountElements pCount; - private final AggregationOpElements eAggregationOp; + private final LocalVariablesElements pLocalVariables; + private final QuantifierElements eQuantifier; + private final QuantifiedExpressionElements pQuantifiedExpression; private final AggregationElements pAggregation; private final AtomicExpressionElements pAtomicExpression; private final CallElements pCall; @@ -2561,7 +2840,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final TerminalRule tTRANSITIVE_CLOSURE; private final TerminalRule tREFLEXIVE_TRANSITIVE_CLOSURE; private final TerminalRule tFULL_STOP; - private final NamedElementElements pNamedElement; private final Grammar grammar; @@ -2578,16 +2856,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { 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.pExternPredicateDefinition = new ExternPredicateDefinitionElements(); this.pExternMetricDefinition = new ExternMetricDefinitionElements(); + this.pExternAggregatorDefinition = new ExternAggregatorDefinitionElements(); + this.pExternDatatypeDefinition = new ExternDatatypeDefinitionElements(); + this.pVariable = new VariableElements(); this.pExpression = new ExpressionElements(); this.pIfElse = new IfElseElements(); + this.pLet = new LetElements(); + this.pLetBinding = new LetBindingElements(); + this.eImplicationOperator = new ImplicationOperatorElements(); + this.pImplicationExpression = new ImplicationExpressionElements(); 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(); @@ -2596,11 +2879,13 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { this.pMultiplicativeExpression = new MultiplicativeExpressionElements(); this.eExponentialOp = new ExponentialOpElements(); this.pExponentialExpression = new ExponentialExpressionElements(); + this.pCastExpression = new CastExpressionElements(); this.eUnaryOp = new UnaryOpElements(); this.pUnaryExpression = new UnaryExpressionElements(); this.pAggregationExpression = new AggregationExpressionElements(); - this.pCount = new CountElements(); - this.eAggregationOp = new AggregationOpElements(); + this.pLocalVariables = new LocalVariablesElements(); + this.eQuantifier = new QuantifierElements(); + this.pQuantifiedExpression = new QuantifiedExpressionElements(); this.pAggregation = new AggregationElements(); this.pAtomicExpression = new AtomicExpressionElements(); this.pCall = new CallElements(); @@ -2640,7 +2925,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { this.tTRANSITIVE_CLOSURE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE"); this.tREFLEXIVE_TRANSITIVE_CLOSURE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE"); this.tFULL_STOP = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.FULL_STOP"); - this.pNamedElement = new NamedElementElements(); } protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { @@ -2681,9 +2965,9 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //Statement: - // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | - // ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | - // ObjectiveDefinition) FULL_STOP; + // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition + // | ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition | + // ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP; public StatementElements getStatementAccess() { return pStatement; } @@ -2693,8 +2977,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //AssertionOrDefinition Statement: - // Expression ({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" - // body=Expression | {MetricDefinition.head=current} "=" body=Expression); + // Expression ({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-" + // body=Expression | {MetricDefinition.head=current} "=" body=Expression)?; public AssertionOrDefinitionElements getAssertionOrDefinitionAccess() { return pAssertionOrDefinition; } @@ -2733,8 +3017,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getDefaultDefinitionAccess().getRule(); } + //MetricDefinition: + // type=[NamedElement|QualifiedName] head=Call "=" body=Expression; + public MetricDefinitionElements getMetricDefinitionAccess() { + return pMetricDefinition; + } + + public ParserRule getMetricDefinitionRule() { + return getMetricDefinitionAccess().getRule(); + } + //ExternPredicateDefinition: - // "extern" head=Call; + // "extern" name=QualifiedName argumentList=ArgumentList; public ExternPredicateDefinitionElements getExternPredicateDefinitionAccess() { return pExternPredicateDefinition; } @@ -2743,38 +3037,49 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getExternPredicateDefinitionAccess().getRule(); } - //enum MetricType: - // INT="int" | REAL="real"; - public MetricTypeElements getMetricTypeAccess() { - return eMetricType; + //ExternMetricDefinition: + // "extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList; + public ExternMetricDefinitionElements getExternMetricDefinitionAccess() { + return pExternMetricDefinition; } - public EnumRule getMetricTypeRule() { - return getMetricTypeAccess().getRule(); + public ParserRule getExternMetricDefinitionRule() { + return getExternMetricDefinitionAccess().getRule(); } - //MetricDefinition: - // type=MetricType head=Expression "=" body=Expression; - public MetricDefinitionElements getMetricDefinitionAccess() { - return pMetricDefinition; + //ExternAggregatorDefinition: + // "extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}"; + public ExternAggregatorDefinitionElements getExternAggregatorDefinitionAccess() { + return pExternAggregatorDefinition; } - public ParserRule getMetricDefinitionRule() { - return getMetricDefinitionAccess().getRule(); + public ParserRule getExternAggregatorDefinitionRule() { + return getExternAggregatorDefinitionAccess().getRule(); } - //ExternMetricDefinition: - // "extern" type=MetricType head=Call; - public ExternMetricDefinitionElements getExternMetricDefinitionAccess() { - return pExternMetricDefinition; + //ExternDatatypeDefinition: + // "extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] ("," + // supertypes+=[NamedElement|QualifiedName])*); + public ExternDatatypeDefinitionElements getExternDatatypeDefinitionAccess() { + return pExternDatatypeDefinition; } - public ParserRule getExternMetricDefinitionRule() { - return getExternMetricDefinitionAccess().getRule(); + public ParserRule getExternDatatypeDefinitionRule() { + return getExternDatatypeDefinitionAccess().getRule(); + } + + //Variable: + // type=[NamedElement|QualifiedName]? name=ID; + public VariableElements getVariableAccess() { + return pVariable; + } + + public ParserRule getVariableRule() { + return getVariableAccess().getRule(); } //Expression: - // IfElse | DisjunctiveExpression; + // IfElse | Let | ImplicationExpression; public ExpressionElements getExpressionAccess() { return pExpression; } @@ -2793,6 +3098,46 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getIfElseAccess().getRule(); } + //Let: + // "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression; + public LetElements getLetAccess() { + return pLet; + } + + public ParserRule getLetRule() { + return getLetAccess().getRule(); + } + + //LetBinding: + // variable=Variable "=" value=AdditiveExpression; + public LetBindingElements getLetBindingAccess() { + return pLetBinding; + } + + public ParserRule getLetBindingRule() { + return getLetBindingAccess().getRule(); + } + + //enum ImplicationOperator returns BinaryOperator: + // IMPLIES="=>"; + public ImplicationOperatorElements getImplicationOperatorAccess() { + return eImplicationOperator; + } + + public EnumRule getImplicationOperatorRule() { + return getImplicationOperatorAccess().getRule(); + } + + //ImplicationExpression Expression: + // DisjunctiveExpression ({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)?; + public ImplicationExpressionElements getImplicationExpressionAccess() { + return pImplicationExpression; + } + + public ParserRule getImplicationExpressionRule() { + return getImplicationExpressionAccess().getRule(); + } + //DisjunctiveExpression Expression: // ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ | // {Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?; @@ -2824,16 +3169,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getConjunctiveExpressionAccess().getRule(); } - //enum BinaryOperator: - // EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW; - public BinaryOperatorElements getBinaryOperatorAccess() { - return eBinaryOperator; - } - - public EnumRule getBinaryOperatorRule() { - return getBinaryOperatorAccess().getRule(); - } - //enum ComparisonOperator returns BinaryOperator: // EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in"; public ComparisonOperatorElements getComparisonOperatorAccess() { @@ -2905,7 +3240,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //ExponentialExpression Expression: - // UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?; + // CastExpression ({BinaryExpression.left=current} op=ExponentialOp right=CastExpression)?; public ExponentialExpressionElements getExponentialExpressionAccess() { return pExponentialExpression; } @@ -2914,6 +3249,16 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getExponentialExpressionAccess().getRule(); } + //CastExpression Expression: + // UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?; + public CastExpressionElements getCastExpressionAccess() { + return pCastExpression; + } + + public ParserRule getCastExpressionRule() { + return getCastExpressionAccess().getRule(); + } + //enum UnaryOp: // NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current"; public UnaryOpElements getUnaryOpAccess() { @@ -2935,7 +3280,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //AggregationExpression Expression: - // AtomicExpression | Count | Aggregation; + // AtomicExpression | QuantifiedExpression | Aggregation; public AggregationExpressionElements getAggregationExpressionAccess() { return pAggregationExpression; } @@ -2944,28 +3289,38 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getAggregationExpressionAccess().getRule(); } - //Count: - // "count" "{" body=Expression "}"; - public CountElements getCountAccess() { - return pCount; + //LocalVariables: + // {LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]"; + public LocalVariablesElements getLocalVariablesAccess() { + return pLocalVariables; + } + + public ParserRule getLocalVariablesRule() { + return getLocalVariablesAccess().getRule(); + } + + //enum Quantifier: + // EXISTS="exists" | FORALL="forall" | COUNT="count"; + public QuantifierElements getQuantifierAccess() { + return eQuantifier; } - public ParserRule getCountRule() { - return getCountAccess().getRule(); + public EnumRule getQuantifierRule() { + return getQuantifierAccess().getRule(); } - //enum AggregationOp: - // ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max"; - public AggregationOpElements getAggregationOpAccess() { - return eAggregationOp; + //QuantifiedExpression: + // quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}"; + public QuantifiedExpressionElements getQuantifiedExpressionAccess() { + return pQuantifiedExpression; } - public EnumRule getAggregationOpRule() { - return getAggregationOpAccess().getRule(); + public ParserRule getQuantifiedExpressionRule() { + return getQuantifiedExpressionAccess().getRule(); } //Aggregation: - // op=AggregationOp "{" body=Expression "|" condition=Expression "}"; + // op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}"; public AggregationElements getAggregationAccess() { return pAggregation; } @@ -3338,16 +3693,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return tFULL_STOP; } - //NamedElement: - // name=QualifiedName; - public NamedElementElements getNamedElementAccess() { - return pNamedElement; - } - - public ParserRule getNamedElementRule() { - return getNamedElementAccess().getRule(); - } - //terminal ID: // '^'? ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*; public TerminalRule getIDRule() { diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java deleted file mode 100644 index 8641f197..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java +++ /dev/null @@ -1,96 +0,0 @@ -/** - * 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 deleted file mode 100644 index 1a0664ed..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOp.java +++ /dev/null @@ -1,317 +0,0 @@ -/** - * 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/Argument.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java deleted file mode 100644 index 73c79940..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * 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 deleted file mode 100644 index 4a932fea..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * 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 deleted file mode 100644 index b67d81ca..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java +++ /dev/null @@ -1,70 +0,0 @@ -/** - * 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/BinaryExpression.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java deleted file mode 100644 index 8a81e68b..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java +++ /dev/null @@ -1,96 +0,0 @@ -/** - * 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 deleted file mode 100644 index 9e8e073a..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java +++ /dev/null @@ -1,455 +0,0 @@ -/** - * 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/BoundedMultiplicity.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java deleted file mode 100644 index 8e81e1a2..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java +++ /dev/null @@ -1,70 +0,0 @@ -/** - * 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 deleted file mode 100644 index 1e76e86a..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java +++ /dev/null @@ -1,70 +0,0 @@ -/** - * 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/Call.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java deleted file mode 100644 index 70f7d15e..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java +++ /dev/null @@ -1,116 +0,0 @@ -/** - * 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#isTransitiveClosure Transitive Closure}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure Reflexive Transitive Closure}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList Argument List}
  • - *
- * - * @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 '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); - - /** - * 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); - -} // Call diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java deleted file mode 100644 index 970d1de2..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java +++ /dev/null @@ -1,70 +0,0 @@ -/** - * 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/ClassDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java deleted file mode 100644 index 9db15bfe..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java +++ /dev/null @@ -1,97 +0,0 @@ -/** - * 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 'Class Definition'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract Abstract}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName Name}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses Superclasses}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers Members}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition() - * @model - * @generated - */ -public interface ClassDefinition extends Statement -{ - /** - * 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#getClassDefinition_Abstract() - * @model - * @generated - */ - boolean isAbstract(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#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#getClassDefinition_Name() - * @model - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#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#getClassDefinition_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#getClassDefinition_Members() - * @model containment="true" - * @generated - */ - EList getMembers(); - -} // ClassDefinition diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java deleted file mode 100644 index 43e9341a..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java +++ /dev/null @@ -1,96 +0,0 @@ -/** - * 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/Conjunction.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java deleted file mode 100644 index 9f1967c0..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * 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/Count.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java deleted file mode 100644 index f4b95a1e..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * 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/DefaultDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java deleted file mode 100644 index c088f8d7..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java +++ /dev/null @@ -1,70 +0,0 @@ -/** - * 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/Disjunction.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java deleted file mode 100644 index 724fc04a..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * 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 deleted file mode 100644 index 03f09681..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java +++ /dev/null @@ -1,19 +0,0 @@ -/** - * 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/ExactMultiplicity.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java deleted file mode 100644 index 33e88fc4..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * 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 deleted file mode 100644 index 50eb6a00..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * 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/Expression.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java deleted file mode 100644 index 1ecd89a5..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java +++ /dev/null @@ -1,19 +0,0 @@ -/** - * 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 deleted file mode 100644 index 518693a1..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * 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 deleted file mode 100644 index 086c4b27..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java +++ /dev/null @@ -1,73 +0,0 @@ -/** - * 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 deleted file mode 100644 index 56e6b645..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * 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/IfElse.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java deleted file mode 100644 index f08a8420..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java +++ /dev/null @@ -1,93 +0,0 @@ -/** - * 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 deleted file mode 100644 index 24e9633b..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java +++ /dev/null @@ -1,19 +0,0 @@ -/** - * 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/Interval.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java deleted file mode 100644 index 3431ef8b..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java +++ /dev/null @@ -1,70 +0,0 @@ -/** - * 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/Literal.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java deleted file mode 100644 index 67d4e64f..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java +++ /dev/null @@ -1,19 +0,0 @@ -/** - * generated by Xtext 2.21.0 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - - -/** - * - * A representation of the model object 'Literal'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLiteral() - * @model - * @generated - */ -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 deleted file mode 100644 index b3eb1523..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 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 deleted file mode 100644 index 61be81f7..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java +++ /dev/null @@ -1,271 +0,0 @@ -/** - * 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 deleted file mode 100644 index 57edcfda..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * 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 deleted file mode 100644 index 4a667d4a..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java +++ /dev/null @@ -1,19 +0,0 @@ -/** - * 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 deleted file mode 100644 index 3b413c11..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java +++ /dev/null @@ -1,140 +0,0 @@ -/** - * 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 deleted file mode 100644 index a35ab60c..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java +++ /dev/null @@ -1,96 +0,0 @@ -/** - * 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 deleted file mode 100644 index 0aa6a805..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricType.java +++ /dev/null @@ -1,225 +0,0 @@ -/** - * 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/Multiplicity.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java deleted file mode 100644 index 1cbfadd6..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * 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/NamedElement.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java deleted file mode 100644 index 0372da14..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java +++ /dev/null @@ -1,48 +0,0 @@ -/** - * 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/NumericLiteral.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java deleted file mode 100644 index 9e30d508..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java +++ /dev/null @@ -1,48 +0,0 @@ -/** - * 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/ObjectiveDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java deleted file mode 100644 index 417a389c..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java +++ /dev/null @@ -1,73 +0,0 @@ -/** - * 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 deleted file mode 100644 index d3a4f626..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java +++ /dev/null @@ -1,225 +0,0 @@ -/** - * 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/PredicateDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java deleted file mode 100644 index 256cb5ac..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java +++ /dev/null @@ -1,116 +0,0 @@ -/** - * 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 deleted file mode 100644 index 2383bf18..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * 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 'Problem'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements Statements}
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem() - * @model - * @generated - */ -public interface Problem extends EObject -{ - /** - * Returns the value of the 'Statements' containment reference list. - * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Statement}. - * - * - * @return the value of the 'Statements' containment reference list. - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem_Statements() - * @model containment="true" - * @generated - */ - EList getStatements(); - -} // Problem diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java deleted file mode 100644 index 6adb6a9d..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * 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/ScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java deleted file mode 100644 index 42fb6513..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * 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 deleted file mode 100644 index f6e293b9..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java +++ /dev/null @@ -1,458 +0,0 @@ -/** - * generated by Xtext 2.21.0 - */ -package org.eclipse.viatra.solver.language.solverLanguage; - -import org.eclipse.emf.ecore.EFactory; - -/** - * - * The Factory for the model. - * It provides a create method for each non-abstract class of the model. - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage - * @generated - */ -public interface SolverLanguageFactory extends EFactory -{ - /** - * The singleton instance of the factory. - * - * - * @generated - */ - SolverLanguageFactory eINSTANCE = org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguageFactoryImpl.init(); - - /** - * Returns a new object of class 'Problem'. - * - * - * @return a new object of class 'Problem'. - * @generated - */ - Problem createProblem(); - - /** - * Returns a new object of class 'Statement'. - * - * - * @return a new object of class 'Statement'. - * @generated - */ - Statement createStatement(); - - /** - * Returns a new object of class 'Predicate Definition'. - * - * - * @return a new object of class 'Predicate Definition'. - * @generated - */ - PredicateDefinition createPredicateDefinition(); - - /** - * Returns a new object of class 'Unnamed Error Prediate Definition'. - * - * - * @return a new object of class 'Unnamed Error Prediate Definition'. - * @generated - */ - UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition(); - - /** - * Returns a new object of class 'Default Definition'. - * - * - * @return a new object of class 'Default Definition'. - * @generated - */ - DefaultDefinition createDefaultDefinition(); - - /** - * Returns a new object of class 'Extern Predicate Definition'. - * - * - * @return a new object of class 'Extern Predicate Definition'. - * @generated - */ - ExternPredicateDefinition createExternPredicateDefinition(); - - /** - * Returns a new object of class 'Metric Definition'. - * - * - * @return a new object of class 'Metric Definition'. - * @generated - */ - MetricDefinition createMetricDefinition(); - - /** - * Returns a new object of class 'Extern Metric Definition'. - * - * - * @return a new object of class 'Extern Metric Definition'. - * @generated - */ - ExternMetricDefinition createExternMetricDefinition(); - - /** - * Returns a new object of class 'Expression'. - * - * - * @return a new object of class 'Expression'. - * @generated - */ - Expression createExpression(); - - /** - * Returns a new object of class 'If Else'. - * - * - * @return a new object of class 'If Else'. - * @generated - */ - IfElse createIfElse(); - - /** - * Returns a new object of class 'Case'. - * - * - * @return a new object of class 'Case'. - * @generated - */ - Case createCase(); - - /** - * Returns a new object of class 'Count'. - * - * - * @return a new object of class 'Count'. - * @generated - */ - Count createCount(); - - /** - * Returns a new object of class 'Aggregation'. - * - * - * @return a new object of class 'Aggregation'. - * @generated - */ - Aggregation createAggregation(); - - /** - * Returns a new object of class 'Call'. - * - * - * @return a new object of class 'Call'. - * @generated - */ - Call createCall(); - - /** - * Returns a new object of class 'Argument List'. - * - * - * @return a new object of class 'Argument List'. - * @generated - */ - ArgumentList createArgumentList(); - - /** - * Returns a new object of class 'Argument'. - * - * - * @return a new object of class 'Argument'. - * @generated - */ - Argument createArgument(); - - /** - * Returns a new object of class 'Expression Argument'. - * - * - * @return a new object of class 'Expression Argument'. - * @generated - */ - ExpressionArgument createExpressionArgument(); - - /** - * Returns a new object of class 'Star Argument'. - * - * - * @return a new object of class 'Star Argument'. - * @generated - */ - StarArgument createStarArgument(); - - /** - * Returns a new object of class 'Typed Argument'. - * - * - * @return a new object of class 'Typed Argument'. - * @generated - */ - TypedArgument createTypedArgument(); - - /** - * Returns a new object of class 'Typed Star Argument'. - * - * - * @return a new object of class 'Typed Star Argument'. - * @generated - */ - TypedStarArgument createTypedStarArgument(); - - /** - * Returns a new object of class 'Reference'. - * - * - * @return a new object of class 'Reference'. - * @generated - */ - Reference createReference(); - - /** - * Returns a new object of class 'Interval'. - * - * - * @return a new object of class 'Interval'. - * @generated - */ - Interval createInterval(); - - /** - * Returns a new object of class 'Literal'. - * - * - * @return a new object of class 'Literal'. - * @generated - */ - Literal createLiteral(); - - /** - * Returns a new object of class 'Logic Literal'. - * - * - * @return a new object of class 'Logic Literal'. - * @generated - */ - LogicLiteral createLogicLiteral(); - - /** - * Returns a new object of class 'Numeric Literal'. - * - * - * @return a new object of class 'Numeric Literal'. - * @generated - */ - NumericLiteral createNumericLiteral(); - - /** - * Returns a new object of class 'Infinity Literal'. - * - * - * @return a new object of class 'Infinity Literal'. - * @generated - */ - InfinityLiteral createInfinityLiteral(); - - /** - * Returns a new object of class 'Empty Interval Literal'. - * - * - * @return a new object of class 'Empty Interval Literal'. - * @generated - */ - EmptyIntervalLiteral createEmptyIntervalLiteral(); - - /** - * Returns a new object of class 'String Literal'. - * - * - * @return a new object of class 'String Literal'. - * @generated - */ - StringLiteral createStringLiteral(); - - /** - * Returns a new object of class 'Class Definition'. - * - * - * @return a new object of class 'Class Definition'. - * @generated - */ - ClassDefinition createClassDefinition(); - - /** - * Returns a new object of class 'Member Definition'. - * - * - * @return a new object of class 'Member Definition'. - * @generated - */ - MemberDefinition createMemberDefinition(); - - /** - * Returns a new object of class 'Multiplicity'. - * - * - * @return a new object of class 'Multiplicity'. - * @generated - */ - Multiplicity createMultiplicity(); - - /** - * Returns a new object of class 'Many Multiplicity'. - * - * - * @return a new object of class 'Many Multiplicity'. - * @generated - */ - ManyMultiplicity createManyMultiplicity(); - - /** - * Returns a new object of class 'Exact Multiplicity'. - * - * - * @return a new object of class 'Exact Multiplicity'. - * @generated - */ - ExactMultiplicity createExactMultiplicity(); - - /** - * Returns a new object of class 'Bounded Multiplicity'. - * - * - * @return a new object of class 'Bounded Multiplicity'. - * @generated - */ - BoundedMultiplicity createBoundedMultiplicity(); - - /** - * Returns a new object of class 'Scope Definition'. - * - * - * @return a new object of class 'Scope Definition'. - * @generated - */ - ScopeDefinition createScopeDefinition(); - - /** - * Returns a new object of class 'Exact Scope Definition'. - * - * - * @return a new object of class 'Exact Scope Definition'. - * @generated - */ - ExactScopeDefinition createExactScopeDefinition(); - - /** - * Returns a new object of class 'Bounded Scope Definition'. - * - * - * @return a new object of class 'Bounded Scope Definition'. - * @generated - */ - BoundedScopeDefinition createBoundedScopeDefinition(); - - /** - * Returns a new object of class 'Lower Bounded Scope Definition'. - * - * - * @return a new object of class 'Lower Bounded Scope Definition'. - * @generated - */ - LowerBoundedScopeDefinition createLowerBoundedScopeDefinition(); - - /** - * Returns a new object of class 'Objective Definition'. - * - * - * @return a new object of class 'Objective Definition'. - * @generated - */ - ObjectiveDefinition createObjectiveDefinition(); - - /** - * Returns a new object of class 'Named Element'. - * - * - * @return a new object of class 'Named Element'. - * @generated - */ - NamedElement createNamedElement(); - - /** - * Returns a new object of class 'Assertion'. - * - * - * @return a new object of class 'Assertion'. - * @generated - */ - Assertion createAssertion(); - - /** - * Returns a new object of class 'Disjunction'. - * - * - * @return a new object of class 'Disjunction'. - * @generated - */ - Disjunction createDisjunction(); - - /** - * Returns a new object of class 'Switch'. - * - * - * @return a new object of class 'Switch'. - * @generated - */ - Switch createSwitch(); - - /** - * Returns a new object of class 'Conjunction'. - * - * - * @return a new object of class 'Conjunction'. - * @generated - */ - Conjunction createConjunction(); - - /** - * Returns a new object of class 'Comparison'. - * - * - * @return a new object of class 'Comparison'. - * @generated - */ - Comparison createComparison(); - - /** - * Returns a new object of class 'Binary Expression'. - * - * - * @return a new object of class 'Binary Expression'. - * @generated - */ - BinaryExpression createBinaryExpression(); - - /** - * Returns a new object of class 'Unary Expression'. - * - * - * @return a new object of class 'Unary Expression'. - * @generated - */ - UnaryExpression createUnaryExpression(); - - /** - * Returns the package supported by this factory. - * - * - * @return the package supported by this factory. - * @generated - */ - SolverLanguagePackage getSolverLanguagePackage(); - -} //SolverLanguageFactory diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java deleted file mode 100644 index ac9279c3..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java +++ /dev/null @@ -1,4143 +0,0 @@ -/** - * 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; - -/** - * - * The Package for the model. - * It contains accessors for the meta objects to represent - *
    - *
  • each class,
  • - *
  • each feature of each class,
  • - *
  • each enum,
  • - *
  • and each data type
  • - *
- * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory - * @model kind="package" - * @generated - */ -public interface SolverLanguagePackage extends EPackage -{ - /** - * The package name. - * - * - * @generated - */ - String eNAME = "solverLanguage"; - - /** - * The package namespace URI. - * - * - * @generated - */ - String eNS_URI = "http://www.eclipse.org/viatra/solver/language/SolverLanguage"; - - /** - * The package namespace name. - * - * - * @generated - */ - String eNS_PREFIX = "solverLanguage"; - - /** - * The singleton instance of the package. - * - * - * @generated - */ - SolverLanguagePackage eINSTANCE = org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl.init(); - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl Problem}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getProblem() - * @generated - */ - int PROBLEM = 0; - - /** - * The feature id for the 'Statements' containment reference list. - * - * - * @generated - * @ordered - */ - int PROBLEM__STATEMENTS = 0; - - /** - * The number of structural features of the 'Problem' class. - * - * - * @generated - * @ordered - */ - int PROBLEM_FEATURE_COUNT = 1; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl Statement}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStatement() - * @generated - */ - int STATEMENT = 1; - - /** - * The number of structural features of the 'Statement' class. - * - * - * @generated - * @ordered - */ - int STATEMENT_FEATURE_COUNT = 0; - - /** - * 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.PredicateDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition() - * @generated - */ - int PREDICATE_DEFINITION = 2; - - /** - * The feature id for the 'Head' containment reference. - * - * - * @generated - * @ordered - */ - int PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Body' containment reference. - * - * - * @generated - * @ordered - */ - int PREDICATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; - - /** - * The feature id for the 'Functional' attribute. - * - * - * @generated - * @ordered - */ - int PREDICATE_DEFINITION__FUNCTIONAL = STATEMENT_FEATURE_COUNT + 2; - - /** - * The feature id for the 'Error' attribute. - * - * - * @generated - * @ordered - */ - int PREDICATE_DEFINITION__ERROR = STATEMENT_FEATURE_COUNT + 3; - - /** - * The number of structural features of the 'Predicate Definition' class. - * - * - * @generated - * @ordered - */ - int PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4; - - /** - * 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 - */ - int UNNAMED_ERROR_PREDIATE_DEFINITION = 3; - - /** - * The feature id for the 'Argument List' containment reference. - * - * - * @generated - * @ordered - */ - int UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Body' containment reference. - * - * - * @generated - * @ordered - */ - int UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Unnamed Error Prediate Definition' class. - * - * - * @generated - * @ordered - */ - 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.DefaultDefinitionImpl Default Definition}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition() - * @generated - */ - int DEFAULT_DEFINITION = 4; - - /** - * The feature id for the 'Head' containment reference. - * - * - * @generated - * @ordered - */ - int DEFAULT_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Range' containment reference. - * - * - * @generated - * @ordered - */ - int DEFAULT_DEFINITION__RANGE = STATEMENT_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Default Definition' class. - * - * - * @generated - * @ordered - */ - int DEFAULT_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; - - /** - * 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.ExternPredicateDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition() - * @generated - */ - int EXTERN_PREDICATE_DEFINITION = 5; - - /** - * The feature id for the 'Head' containment reference. - * - * - * @generated - * @ordered - */ - int EXTERN_PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Extern Predicate Definition' class. - * - * - * @generated - * @ordered - */ - int EXTERN_PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; - - /** - * 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 - */ - int METRIC_DEFINITION = 6; - - /** - * The feature id for the 'Head' containment reference. - * - * - * @generated - * @ordered - */ - int METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Body' containment reference. - * - * - * @generated - * @ordered - */ - int METRIC_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; - - /** - * The feature id for the 'Type' attribute. - * - * - * @generated - * @ordered - */ - int METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 2; - - /** - * The number of structural features of the 'Metric Definition' class. - * - * - * @generated - * @ordered - */ - int METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3; - - /** - * 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 - */ - int EXTERN_METRIC_DEFINITION = 7; - - /** - * The feature id for the 'Type' attribute. - * - * - * @generated - * @ordered - */ - int EXTERN_METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Head' containment reference. - * - * - * @generated - * @ordered - */ - int EXTERN_METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Extern Metric Definition' class. - * - * - * @generated - * @ordered - */ - int EXTERN_METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; - - /** - * 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 - */ - int EXPRESSION = 8; - - /** - * The number of structural features of the 'Expression' class. - * - * - * @generated - * @ordered - */ - int EXPRESSION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0; - - /** - * 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 - */ - int IF_ELSE = 9; - - /** - * The feature id for the 'Condition' containment reference. - * - * - * @generated - * @ordered - */ - int IF_ELSE__CONDITION = EXPRESSION_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Then' containment reference. - * - * - * @generated - * @ordered - */ - int IF_ELSE__THEN = EXPRESSION_FEATURE_COUNT + 1; - - /** - * The feature id for the 'Else' containment reference. - * - * - * @generated - * @ordered - */ - int IF_ELSE__ELSE = EXPRESSION_FEATURE_COUNT + 2; - - /** - * The number of structural features of the 'If Else' class. - * - * - * @generated - * @ordered - */ - int IF_ELSE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; - - /** - * 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.CaseImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase() - * @generated - */ - int CASE = 10; - - /** - * The feature id for the 'Condition' containment reference. - * - * - * @generated - * @ordered - */ - int CASE__CONDITION = EXPRESSION_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Body' containment reference. - * - * - * @generated - * @ordered - */ - int CASE__BODY = EXPRESSION_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Case' class. - * - * - * @generated - * @ordered - */ - int CASE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; - - /** - * 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.CountImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCount() - * @generated - */ - int COUNT = 11; - - /** - * The feature id for the 'Body' containment reference. - * - * - * @generated - * @ordered - */ - int COUNT__BODY = EXPRESSION_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Count' class. - * - * - * @generated - * @ordered - */ - int COUNT_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; - - /** - * 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.AggregationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation() - * @generated - */ - int AGGREGATION = 12; - - /** - * The feature id for the 'Op' attribute. - * - * - * @generated - * @ordered - */ - int AGGREGATION__OP = EXPRESSION_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Body' containment reference. - * - * - * @generated - * @ordered - */ - int AGGREGATION__BODY = EXPRESSION_FEATURE_COUNT + 1; - - /** - * The feature id for the 'Condition' containment reference. - * - * - * @generated - * @ordered - */ - int AGGREGATION__CONDITION = EXPRESSION_FEATURE_COUNT + 2; - - /** - * The number of structural features of the 'Aggregation' class. - * - * - * @generated - * @ordered - */ - int AGGREGATION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; - - /** - * 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 - */ - int CALL = 13; - - /** - * The feature id for the 'Functor' containment reference. - * - * - * @generated - * @ordered - */ - int CALL__FUNCTOR = EXPRESSION_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Transitive Closure' attribute. - * - * - * @generated - * @ordered - */ - int CALL__TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 1; - - /** - * The feature id for the 'Reflexive Transitive Closure' attribute. - * - * - * @generated - * @ordered - */ - int CALL__REFLEXIVE_TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 2; - - /** - * The feature id for the 'Argument List' containment reference. - * - * - * @generated - * @ordered - */ - int CALL__ARGUMENT_LIST = EXPRESSION_FEATURE_COUNT + 3; - - /** - * The number of structural features of the 'Call' class. - * - * - * @generated - * @ordered - */ - int CALL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4; - - /** - * 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 - */ - int ARGUMENT_LIST = 14; - - /** - * The feature id for the 'Arguments' containment reference list. - * - * - * @generated - * @ordered - */ - int ARGUMENT_LIST__ARGUMENTS = 0; - - /** - * The number of structural features of the 'Argument List' class. - * - * - * @generated - * @ordered - */ - int ARGUMENT_LIST_FEATURE_COUNT = 1; - - /** - * 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 - */ - int ARGUMENT = 15; - - /** - * The number of structural features of the 'Argument' class. - * - * - * @generated - * @ordered - */ - 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 'Body' containment reference. - * - * - * @generated - * @ordered - */ - int EXPRESSION_ARGUMENT__BODY = ARGUMENT_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Expression Argument' class. - * - * - * @generated - * @ordered - */ - int EXPRESSION_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1; - - /** - * 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.StarArgumentImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument() - * @generated - */ - int STAR_ARGUMENT = 17; - - /** - * The number of structural features of the 'Star Argument' class. - * - * - * @generated - * @ordered - */ - int STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 0; - - /** - * 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 - */ - int TYPED_ARGUMENT = 18; - - /** - * The feature id for the 'Type' reference. - * - * - * @generated - * @ordered - */ - int TYPED_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Variable' reference. - * - * - * @generated - * @ordered - */ - int TYPED_ARGUMENT__VARIABLE = ARGUMENT_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Typed Argument' class. - * - * - * @generated - * @ordered - */ - 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 'Type' reference. - * - * - * @generated - * @ordered - */ - int TYPED_STAR_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Typed Star Argument' class. - * - * - * @generated - * @ordered - */ - int TYPED_STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1; - - /** - * 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.ReferenceImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference() - * @generated - */ - int REFERENCE = 20; - - /** - * The feature id for the 'Referred' reference. - * - * - * @generated - * @ordered - */ - int REFERENCE__REFERRED = EXPRESSION_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Reference' class. - * - * - * @generated - * @ordered - */ - int REFERENCE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; - - /** - * 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.IntervalImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval() - * @generated - */ - int INTERVAL = 21; - - /** - * The feature id for the 'Lower Bound' containment reference. - * - * - * @generated - * @ordered - */ - int INTERVAL__LOWER_BOUND = EXPRESSION_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Upper Bound' containment reference. - * - * - * @generated - * @ordered - */ - int INTERVAL__UPPER_BOUND = EXPRESSION_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Interval' class. - * - * - * @generated - * @ordered - */ - int INTERVAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; - - /** - * 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.LiteralImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral() - * @generated - */ - int LITERAL = 22; - - /** - * The number of structural features of the 'Literal' class. - * - * - * @generated - * @ordered - */ - int LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0; - - /** - * 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.LogicLiteralImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral() - * @generated - */ - int LOGIC_LITERAL = 23; - - /** - * The feature id for the 'Value' attribute. - * - * - * @generated - * @ordered - */ - int LOGIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Logic Literal' class. - * - * - * @generated - * @ordered - */ - int LOGIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; - - /** - * The meta object id 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 - */ - int NUMERIC_LITERAL = 24; - - /** - * The feature id for the 'Value' attribute. - * - * - * @generated - * @ordered - */ - int NUMERIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Numeric Literal' class. - * - * - * @generated - * @ordered - */ - int NUMERIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; - - /** - * The meta object id 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 - */ - int INFINITY_LITERAL = 25; - - /** - * The number of structural features of the 'Infinity Literal' class. - * - * - * @generated - * @ordered - */ - int INFINITY_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0; - - /** - * The meta object id 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 - */ - int EMPTY_INTERVAL_LITERAL = 26; - - /** - * The number of structural features of the 'Empty Interval Literal' class. - * - * - * @generated - * @ordered - */ - int EMPTY_INTERVAL_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0; - - /** - * The meta object id 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 - */ - int STRING_LITERAL = 27; - - /** - * The feature id for the 'Value' attribute. - * - * - * @generated - * @ordered - */ - int STRING_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'String Literal' class. - * - * - * @generated - * @ordered - */ - int STRING_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl Class Definition}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDefinition() - * @generated - */ - int CLASS_DEFINITION = 28; - - /** - * The feature id for the 'Abstract' attribute. - * - * - * @generated - * @ordered - */ - int CLASS_DEFINITION__ABSTRACT = STATEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int CLASS_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 1; - - /** - * The feature id for the 'Superclasses' reference list. - * - * - * @generated - * @ordered - */ - int CLASS_DEFINITION__SUPERCLASSES = STATEMENT_FEATURE_COUNT + 2; - - /** - * The feature id for the 'Members' containment reference list. - * - * - * @generated - * @ordered - */ - int CLASS_DEFINITION__MEMBERS = STATEMENT_FEATURE_COUNT + 3; - - /** - * The number of structural features of the 'Class Definition' class. - * - * - * @generated - * @ordered - */ - int CLASS_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4; - - /** - * The meta object id 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 - */ - int MEMBER_DEFINITION = 29; - - /** - * The feature id for the 'Containment' attribute. - * - * - * @generated - * @ordered - */ - int MEMBER_DEFINITION__CONTAINMENT = 0; - - /** - * The feature id for the 'Type' reference. - * - * - * @generated - * @ordered - */ - int MEMBER_DEFINITION__TYPE = 1; - - /** - * The feature id for the 'Multiplicity' containment reference. - * - * - * @generated - * @ordered - */ - int MEMBER_DEFINITION__MULTIPLICITY = 2; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int MEMBER_DEFINITION__NAME = 3; - - /** - * The feature id for the 'Opposite' reference. - * - * - * @generated - * @ordered - */ - int MEMBER_DEFINITION__OPPOSITE = 4; - - /** - * The number of structural features of the 'Member Definition' class. - * - * - * @generated - * @ordered - */ - int MEMBER_DEFINITION_FEATURE_COUNT = 5; - - /** - * The meta object id 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 - */ - int MULTIPLICITY = 30; - - /** - * The number of structural features of the 'Multiplicity' class. - * - * - * @generated - * @ordered - */ - int MULTIPLICITY_FEATURE_COUNT = 0; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl Many Multiplicity}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity() - * @generated - */ - int MANY_MULTIPLICITY = 31; - - /** - * The number of structural features of the 'Many Multiplicity' class. - * - * - * @generated - * @ordered - */ - int MANY_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 0; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl Exact Multiplicity}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity() - * @generated - */ - int EXACT_MULTIPLICITY = 32; - - /** - * The feature id for the 'Multiplicity' attribute. - * - * - * @generated - * @ordered - */ - int EXACT_MULTIPLICITY__MULTIPLICITY = MULTIPLICITY_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Exact Multiplicity' class. - * - * - * @generated - * @ordered - */ - int EXACT_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 1; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl Bounded Multiplicity}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity() - * @generated - */ - int BOUNDED_MULTIPLICITY = 33; - - /** - * The feature id for the 'Lower Bound' attribute. - * - * - * @generated - * @ordered - */ - int BOUNDED_MULTIPLICITY__LOWER_BOUND = MULTIPLICITY_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Upper Bound' attribute. - * - * - * @generated - * @ordered - */ - int BOUNDED_MULTIPLICITY__UPPER_BOUND = MULTIPLICITY_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Bounded Multiplicity' class. - * - * - * @generated - * @ordered - */ - int BOUNDED_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 2; - - /** - * The meta object id 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 - */ - int SCOPE_DEFINITION = 34; - - /** - * The feature id for the 'Type' reference. - * - * - * @generated - * @ordered - */ - int SCOPE_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Scope Definition' class. - * - * - * @generated - * @ordered - */ - int SCOPE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; - - /** - * The meta object id 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 - */ - int EXACT_SCOPE_DEFINITION = 35; - - /** - * The feature id for the 'Type' reference. - * - * - * @generated - * @ordered - */ - int EXACT_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; - - /** - * The feature id for the 'Exact Scope' attribute. - * - * - * @generated - * @ordered - */ - int EXACT_SCOPE_DEFINITION__EXACT_SCOPE = SCOPE_DEFINITION_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Exact Scope Definition' class. - * - * - * @generated - * @ordered - */ - int EXACT_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1; - - /** - * The meta object id 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 - */ - int BOUNDED_SCOPE_DEFINITION = 36; - - /** - * The feature id for the 'Type' reference. - * - * - * @generated - * @ordered - */ - int BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; - - /** - * The feature id for the 'Lower Bound' attribute. - * - * - * @generated - * @ordered - */ - int BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Upper Bound' attribute. - * - * - * @generated - * @ordered - */ - int BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Bounded Scope Definition' class. - * - * - * @generated - * @ordered - */ - int BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 2; - - /** - * The meta object id 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 - */ - int LOWER_BOUNDED_SCOPE_DEFINITION = 37; - - /** - * The feature id for the 'Type' reference. - * - * - * @generated - * @ordered - */ - int LOWER_BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; - - /** - * The feature id for the 'Lower Bound' attribute. - * - * - * @generated - * @ordered - */ - int LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Lower Bounded Scope Definition' class. - * - * - * @generated - * @ordered - */ - int LOWER_BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1; - - /** - * The meta object id 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 - */ - int OBJECTIVE_DEFINITION = 38; - - /** - * The feature id for the 'Kind' attribute. - * - * - * @generated - * @ordered - */ - int OBJECTIVE_DEFINITION__KIND = STATEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Objective' containment reference. - * - * - * @generated - * @ordered - */ - int OBJECTIVE_DEFINITION__OBJECTIVE = STATEMENT_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Objective Definition' class. - * - * - * @generated - * @ordered - */ - int OBJECTIVE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; - - /** - * The meta object id 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 - */ - int NAMED_ELEMENT = 39; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int NAMED_ELEMENT__NAME = 0; - - /** - * The number of structural features of the 'Named Element' class. - * - * - * @generated - * @ordered - */ - int NAMED_ELEMENT_FEATURE_COUNT = 1; - - /** - * The meta object id 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 - */ - int ASSERTION = 40; - - /** - * The feature id for the 'Body' containment reference. - * - * - * @generated - * @ordered - */ - int ASSERTION__BODY = STATEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Range' containment reference. - * - * - * @generated - * @ordered - */ - int ASSERTION__RANGE = STATEMENT_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Assertion' class. - * - * - * @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 = 41; - - /** - * 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 = 42; - - /** - * 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 = 43; - - /** - * 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 = 44; - - /** - * 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 = 45; - - /** - * 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 = 46; - - /** - * 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 = 47; - - /** - * 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 = 48; - - /** - * 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 = 49; - - /** - * 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 = 50; - - /** - * 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 = 51; - - /** - * 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 = 52; - - - /** - * 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 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 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 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 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.ClassDefinition Class Definition}'. - * - * - * @return the meta object for class 'Class Definition'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition - * @generated - */ - EClass getClassDefinition(); - - /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract Abstract}'. - * - * - * @return the meta object for the attribute 'Abstract'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract() - * @see #getClassDefinition() - * @generated - */ - EAttribute getClassDefinition_Abstract(); - - /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName() - * @see #getClassDefinition() - * @generated - */ - EAttribute getClassDefinition_Name(); - - /** - * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses Superclasses}'. - * - * - * @return the meta object for the reference list 'Superclasses'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses() - * @see #getClassDefinition() - * @generated - */ - EReference getClassDefinition_Superclasses(); - - /** - * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers Members}'. - * - * - * @return the meta object for the containment reference list 'Members'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers() - * @see #getClassDefinition() - * @generated - */ - EReference getClassDefinition_Members(); - - /** - * 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,
  • - *
  • each enum,
  • - *
  • and each data type
  • - *
- * - * @generated - */ - interface Literals - { - /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl Problem}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getProblem() - * @generated - */ - EClass PROBLEM = eINSTANCE.getProblem(); - - /** - * The meta object literal for the 'Statements' containment reference list feature. - * - * - * @generated - */ - EReference PROBLEM__STATEMENTS = eINSTANCE.getProblem_Statements(); - - /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl Statement}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStatement() - * @generated - */ - EClass STATEMENT = eINSTANCE.getStatement(); - - /** - * 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 - */ - EClass PREDICATE_DEFINITION = eINSTANCE.getPredicateDefinition(); - - /** - * The meta object literal for the 'Head' containment reference feature. - * - * - * @generated - */ - EReference PREDICATE_DEFINITION__HEAD = eINSTANCE.getPredicateDefinition_Head(); - - /** - * The meta object literal for the 'Body' containment reference feature. - * - * - * @generated - */ - EReference PREDICATE_DEFINITION__BODY = eINSTANCE.getPredicateDefinition_Body(); - - /** - * The meta object literal for the 'Functional' attribute feature. - * - * - * @generated - */ - EAttribute PREDICATE_DEFINITION__FUNCTIONAL = eINSTANCE.getPredicateDefinition_Functional(); - - /** - * The meta object literal for the 'Error' attribute feature. - * - * - * @generated - */ - EAttribute PREDICATE_DEFINITION__ERROR = eINSTANCE.getPredicateDefinition_Error(); - - /** - * 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 - */ - EClass UNNAMED_ERROR_PREDIATE_DEFINITION = eINSTANCE.getUnnamedErrorPrediateDefinition(); - - /** - * The meta object literal for the 'Argument List' containment reference feature. - * - * - * @generated - */ - EReference UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = eINSTANCE.getUnnamedErrorPrediateDefinition_ArgumentList(); - - /** - * The meta object literal for the 'Body' containment reference feature. - * - * - * @generated - */ - EReference UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = eINSTANCE.getUnnamedErrorPrediateDefinition_Body(); - - /** - * 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.DefaultDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition() - * @generated - */ - EClass DEFAULT_DEFINITION = eINSTANCE.getDefaultDefinition(); - - /** - * The meta object literal for the 'Head' containment reference feature. - * - * - * @generated - */ - EReference DEFAULT_DEFINITION__HEAD = eINSTANCE.getDefaultDefinition_Head(); - - /** - * The meta object literal for the 'Range' containment reference feature. - * - * - * @generated - */ - EReference DEFAULT_DEFINITION__RANGE = eINSTANCE.getDefaultDefinition_Range(); - - /** - * 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.ExternPredicateDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition() - * @generated - */ - EClass EXTERN_PREDICATE_DEFINITION = eINSTANCE.getExternPredicateDefinition(); - - /** - * The meta object literal for the 'Head' containment reference feature. - * - * - * @generated - */ - EReference EXTERN_PREDICATE_DEFINITION__HEAD = eINSTANCE.getExternPredicateDefinition_Head(); - - /** - * 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.MetricDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition() - * @generated - */ - EClass METRIC_DEFINITION = eINSTANCE.getMetricDefinition(); - - /** - * The meta object literal for the 'Head' containment reference feature. - * - * - * @generated - */ - EReference METRIC_DEFINITION__HEAD = eINSTANCE.getMetricDefinition_Head(); - - /** - * The meta object literal for the 'Body' containment reference feature. - * - * - * @generated - */ - EReference METRIC_DEFINITION__BODY = eINSTANCE.getMetricDefinition_Body(); - - /** - * The meta object literal for the 'Type' attribute feature. - * - * - * @generated - */ - EAttribute METRIC_DEFINITION__TYPE = eINSTANCE.getMetricDefinition_Type(); - - /** - * 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 - */ - EClass EXTERN_METRIC_DEFINITION = eINSTANCE.getExternMetricDefinition(); - - /** - * The meta object literal for the 'Type' attribute feature. - * - * - * @generated - */ - EAttribute EXTERN_METRIC_DEFINITION__TYPE = eINSTANCE.getExternMetricDefinition_Type(); - - /** - * The meta object literal for the 'Head' containment reference feature. - * - * - * @generated - */ - EReference EXTERN_METRIC_DEFINITION__HEAD = eINSTANCE.getExternMetricDefinition_Head(); - - /** - * 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.ExpressionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression() - * @generated - */ - EClass EXPRESSION = eINSTANCE.getExpression(); - - /** - * 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.IfElseImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse() - * @generated - */ - EClass IF_ELSE = eINSTANCE.getIfElse(); - - /** - * The meta object literal for the 'Condition' containment reference feature. - * - * - * @generated - */ - EReference IF_ELSE__CONDITION = eINSTANCE.getIfElse_Condition(); - - /** - * The meta object literal for the 'Then' containment reference feature. - * - * - * @generated - */ - EReference IF_ELSE__THEN = eINSTANCE.getIfElse_Then(); - - /** - * The meta object literal for the 'Else' containment reference feature. - * - * - * @generated - */ - EReference IF_ELSE__ELSE = eINSTANCE.getIfElse_Else(); - - /** - * 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.CaseImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase() - * @generated - */ - EClass CASE = eINSTANCE.getCase(); - - /** - * The meta object literal for the 'Condition' containment reference feature. - * - * - * @generated - */ - EReference CASE__CONDITION = eINSTANCE.getCase_Condition(); - - /** - * The meta object literal for the 'Body' containment reference feature. - * - * - * @generated - */ - EReference CASE__BODY = eINSTANCE.getCase_Body(); - - /** - * 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 'Transitive Closure' attribute feature. - * - * - * @generated - */ - EAttribute CALL__TRANSITIVE_CLOSURE = eINSTANCE.getCall_TransitiveClosure(); - - /** - * The meta object literal for the 'Reflexive Transitive Closure' attribute feature. - * - * - * @generated - */ - EAttribute CALL__REFLEXIVE_TRANSITIVE_CLOSURE = eINSTANCE.getCall_ReflexiveTransitiveClosure(); - - /** - * 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 '{@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 - */ - EClass ARGUMENT_LIST = eINSTANCE.getArgumentList(); - - /** - * The meta object literal for the 'Arguments' containment reference list feature. - * - * - * @generated - */ - EReference ARGUMENT_LIST__ARGUMENTS = eINSTANCE.getArgumentList_Arguments(); - - /** - * 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 - */ - EClass ARGUMENT = eINSTANCE.getArgument(); - - /** - * 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 - */ - EClass EXPRESSION_ARGUMENT = eINSTANCE.getExpressionArgument(); - - /** - * The meta object literal for the 'Body' containment reference feature. - * - * - * @generated - */ - EReference EXPRESSION_ARGUMENT__BODY = eINSTANCE.getExpressionArgument_Body(); - - /** - * 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 - */ - EClass STAR_ARGUMENT = eINSTANCE.getStarArgument(); - - /** - * 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 - */ - EClass TYPED_ARGUMENT = eINSTANCE.getTypedArgument(); - - /** - * The meta object literal for the 'Type' reference feature. - * - * - * @generated - */ - EReference TYPED_ARGUMENT__TYPE = eINSTANCE.getTypedArgument_Type(); - - /** - * The meta object literal for the 'Variable' reference feature. - * - * - * @generated - */ - EReference TYPED_ARGUMENT__VARIABLE = eINSTANCE.getTypedArgument_Variable(); - - /** - * 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.TypedStarArgumentImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument() - * @generated - */ - EClass TYPED_STAR_ARGUMENT = eINSTANCE.getTypedStarArgument(); - - /** - * The meta object literal for the 'Type' reference feature. - * - * - * @generated - */ - EReference TYPED_STAR_ARGUMENT__TYPE = eINSTANCE.getTypedStarArgument_Type(); - - /** - * 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 - */ - EClass REFERENCE = eINSTANCE.getReference(); - - /** - * The meta object literal for the 'Referred' reference feature. - * - * - * @generated - */ - EReference REFERENCE__REFERRED = eINSTANCE.getReference_Referred(); - - /** - * 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 - */ - EClass INTERVAL = eINSTANCE.getInterval(); - - /** - * The meta object literal for the 'Lower Bound' containment reference feature. - * - * - * @generated - */ - EReference INTERVAL__LOWER_BOUND = eINSTANCE.getInterval_LowerBound(); - - /** - * The meta object literal for the 'Upper Bound' containment reference feature. - * - * - * @generated - */ - EReference INTERVAL__UPPER_BOUND = eINSTANCE.getInterval_UpperBound(); - - /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl Literal}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral() - * @generated - */ - EClass LITERAL = eINSTANCE.getLiteral(); - - /** - * 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.ClassDefinitionImpl Class Definition}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDefinition() - * @generated - */ - EClass CLASS_DEFINITION = eINSTANCE.getClassDefinition(); - - /** - * The meta object literal for the 'Abstract' attribute feature. - * - * - * @generated - */ - EAttribute CLASS_DEFINITION__ABSTRACT = eINSTANCE.getClassDefinition_Abstract(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - EAttribute CLASS_DEFINITION__NAME = eINSTANCE.getClassDefinition_Name(); - - /** - * The meta object literal for the 'Superclasses' reference list feature. - * - * - * @generated - */ - EReference CLASS_DEFINITION__SUPERCLASSES = eINSTANCE.getClassDefinition_Superclasses(); - - /** - * The meta object literal for the 'Members' containment reference list feature. - * - * - * @generated - */ - EReference CLASS_DEFINITION__MEMBERS = eINSTANCE.getClassDefinition_Members(); - - /** - * 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. - * - * - * @generated - */ - EReference MEMBER_DEFINITION__MULTIPLICITY = eINSTANCE.getMemberDefinition_Multiplicity(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - EAttribute MEMBER_DEFINITION__NAME = eINSTANCE.getMemberDefinition_Name(); - - /** - * The meta object literal for the 'Opposite' reference feature. - * - * - * @generated - */ - EReference MEMBER_DEFINITION__OPPOSITE = eINSTANCE.getMemberDefinition_Opposite(); - - /** - * 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 - */ - EClass MULTIPLICITY = eINSTANCE.getMultiplicity(); - - /** - * 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.ManyMultiplicityImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity() - * @generated - */ - EClass MANY_MULTIPLICITY = eINSTANCE.getManyMultiplicity(); - - /** - * 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.ExactMultiplicityImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity() - * @generated - */ - EClass EXACT_MULTIPLICITY = eINSTANCE.getExactMultiplicity(); - - /** - * The meta object literal for the 'Multiplicity' attribute feature. - * - * - * @generated - */ - EAttribute EXACT_MULTIPLICITY__MULTIPLICITY = eINSTANCE.getExactMultiplicity_Multiplicity(); - - /** - * 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.BoundedMultiplicityImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity() - * @generated - */ - EClass BOUNDED_MULTIPLICITY = eINSTANCE.getBoundedMultiplicity(); - - /** - * The meta object literal for the 'Lower Bound' attribute feature. - * - * - * @generated - */ - EAttribute BOUNDED_MULTIPLICITY__LOWER_BOUND = eINSTANCE.getBoundedMultiplicity_LowerBound(); - - /** - * The meta object literal for the 'Upper Bound' attribute feature. - * - * - * @generated - */ - EAttribute BOUNDED_MULTIPLICITY__UPPER_BOUND = eINSTANCE.getBoundedMultiplicity_UpperBound(); - - /** - * 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 - */ - EClass SCOPE_DEFINITION = eINSTANCE.getScopeDefinition(); - - /** - * The meta object literal for the 'Type' reference feature. - * - * - * @generated - */ - EReference SCOPE_DEFINITION__TYPE = eINSTANCE.getScopeDefinition_Type(); - - /** - * 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 - */ - EClass EXACT_SCOPE_DEFINITION = eINSTANCE.getExactScopeDefinition(); - - /** - * The meta object literal for the 'Exact Scope' attribute feature. - * - * - * @generated - */ - EAttribute EXACT_SCOPE_DEFINITION__EXACT_SCOPE = eINSTANCE.getExactScopeDefinition_ExactScope(); - - /** - * 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 - */ - EClass BOUNDED_SCOPE_DEFINITION = eINSTANCE.getBoundedScopeDefinition(); - - /** - * The meta object literal for the 'Lower Bound' attribute feature. - * - * - * @generated - */ - EAttribute BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getBoundedScopeDefinition_LowerBound(); - - /** - * The meta object literal for the 'Upper Bound' attribute feature. - * - * - * @generated - */ - EAttribute BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = eINSTANCE.getBoundedScopeDefinition_UpperBound(); - - /** - * 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 - */ - EClass LOWER_BOUNDED_SCOPE_DEFINITION = eINSTANCE.getLowerBoundedScopeDefinition(); - - /** - * The meta object literal for the 'Lower Bound' attribute feature. - * - * - * @generated - */ - EAttribute LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getLowerBoundedScopeDefinition_LowerBound(); - - /** - * 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 - */ - EClass OBJECTIVE_DEFINITION = eINSTANCE.getObjectiveDefinition(); - - /** - * The meta object literal for the 'Kind' attribute feature. - * - * - * @generated - */ - EAttribute OBJECTIVE_DEFINITION__KIND = eINSTANCE.getObjectiveDefinition_Kind(); - - /** - * The meta object literal for the 'Objective' containment reference feature. - * - * - * @generated - */ - EReference OBJECTIVE_DEFINITION__OBJECTIVE = eINSTANCE.getObjectiveDefinition_Objective(); - - /** - * 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 - */ - EReference SWITCH__CASES = eINSTANCE.getSwitch_Cases(); - - /** - * 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 - */ - EClass CONJUNCTION = eINSTANCE.getConjunction(); - - /** - * The meta object literal for the 'Children' containment reference list feature. - * - * - * @generated - */ - EReference CONJUNCTION__CHILDREN = eINSTANCE.getConjunction_Children(); - - /** - * 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 - */ - EClass COMPARISON = eINSTANCE.getComparison(); - - /** - * The meta object literal for the 'Left' containment reference feature. - * - * - * @generated - */ - EReference COMPARISON__LEFT = eINSTANCE.getComparison_Left(); - - /** - * The meta object literal for the 'Op' attribute feature. - * - * - * @generated - */ - EAttribute COMPARISON__OP = eINSTANCE.getComparison_Op(); - - /** - * The meta object literal for the 'Right' containment reference feature. - * - * - * @generated - */ - EReference COMPARISON__RIGHT = eINSTANCE.getComparison_Right(); - - /** - * 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 - */ - EClass BINARY_EXPRESSION = eINSTANCE.getBinaryExpression(); - - /** - * The meta object literal for the 'Left' containment reference feature. - * - * - * @generated - */ - EReference BINARY_EXPRESSION__LEFT = eINSTANCE.getBinaryExpression_Left(); - - /** - * The meta object literal for the 'Op' attribute feature. - * - * - * @generated - */ - EAttribute BINARY_EXPRESSION__OP = eINSTANCE.getBinaryExpression_Op(); - - /** - * The meta object literal for the 'Right' containment reference feature. - * - * - * @generated - */ - EReference BINARY_EXPRESSION__RIGHT = eINSTANCE.getBinaryExpression_Right(); - - /** - * 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.UnaryExpressionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression() - * @generated - */ - EClass UNARY_EXPRESSION = eINSTANCE.getUnaryExpression(); - - /** - * The meta object literal for the 'Op' attribute feature. - * - * - * @generated - */ - EAttribute UNARY_EXPRESSION__OP = eINSTANCE.getUnaryExpression_Op(); - - /** - * The meta object literal for the 'Body' containment reference feature. - * - * - * @generated - */ - EReference UNARY_EXPRESSION__BODY = eINSTANCE.getUnaryExpression_Body(); - - /** - * The meta object literal 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 - */ - EEnum METRIC_TYPE = eINSTANCE.getMetricType(); - - /** - * The meta object literal 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 - */ - EEnum BINARY_OPERATOR = eINSTANCE.getBinaryOperator(); - - /** - * The meta object literal 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 - */ - EEnum UNARY_OP = eINSTANCE.getUnaryOp(); - - /** - * The meta object literal 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 - */ - EEnum AGGREGATION_OP = eINSTANCE.getAggregationOp(); - - /** - * The meta object literal 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 - */ - EEnum LOGIC_VALUE = eINSTANCE.getLogicValue(); - - /** - * The meta object literal 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 - */ - EEnum OBJECTIVE_KIND = eINSTANCE.getObjectiveKind(); - - } - -} //SolverLanguagePackage diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java deleted file mode 100644 index 4e4bed1b..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java +++ /dev/null @@ -1,19 +0,0 @@ -/** - * 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 deleted file mode 100644 index 7c8d208f..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * 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 'Statement'. - * - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement() - * @model - * @generated - */ -public interface Statement extends EObject -{ -} // 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 deleted file mode 100644 index dc4d6487..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * 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/Switch.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java deleted file mode 100644 index 92504b5d..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * 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/TypedArgument.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java deleted file mode 100644 index f903338a..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java +++ /dev/null @@ -1,70 +0,0 @@ -/** - * 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 deleted file mode 100644 index 2b8bc002..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * 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 deleted file mode 100644 index 5c2356cd..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java +++ /dev/null @@ -1,73 +0,0 @@ -/** - * 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 deleted file mode 100644 index e426f4f1..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java +++ /dev/null @@ -1,317 +0,0 @@ -/** - * 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/UnnamedErrorPrediateDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java deleted file mode 100644 index 54621550..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java +++ /dev/null @@ -1,70 +0,0 @@ -/** - * 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/impl/AggregationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java deleted file mode 100644 index 542f3c40..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java +++ /dev/null @@ -1,343 +0,0 @@ -/** - * 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/ArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java deleted file mode 100644 index d8bf8d91..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * 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 deleted file mode 100644 index 8c16fb4f..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java +++ /dev/null @@ -1,169 +0,0 @@ -/** - * 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 deleted file mode 100644 index 8165b62e..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java +++ /dev/null @@ -1,269 +0,0 @@ -/** - * 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/BinaryExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java deleted file mode 100644 index adc94c4a..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java +++ /dev/null @@ -1,343 +0,0 @@ -/** - * 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/BoundedMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java deleted file mode 100644 index 45a105e0..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java +++ /dev/null @@ -1,237 +0,0 @@ -/** - * 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 deleted file mode 100644 index 36bf4f96..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java +++ /dev/null @@ -1,237 +0,0 @@ -/** - * 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/CallImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java deleted file mode 100644 index 01712ad3..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java +++ /dev/null @@ -1,401 +0,0 @@ -/** - * 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#isTransitiveClosure Transitive Closure}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isReflexiveTransitiveClosure Reflexive Transitive Closure}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getArgumentList Argument List}
  • - *
- * - * @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 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; - - /** - * The cached value of the '{@link #getArgumentList() Argument List}' containment reference. - * - * - * @see #getArgumentList() - * @generated - * @ordered - */ - protected ArgumentList argumentList; - - /** - * - * - * @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 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 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 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__TRANSITIVE_CLOSURE: - return isTransitiveClosure(); - case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: - return isReflexiveTransitiveClosure(); - case SolverLanguagePackage.CALL__ARGUMENT_LIST: - return getArgumentList(); - } - 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__TRANSITIVE_CLOSURE: - setTransitiveClosure((Boolean)newValue); - return; - case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: - setReflexiveTransitiveClosure((Boolean)newValue); - return; - case SolverLanguagePackage.CALL__ARGUMENT_LIST: - setArgumentList((ArgumentList)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__TRANSITIVE_CLOSURE: - setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT); - return; - case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: - setReflexiveTransitiveClosure(REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT); - return; - case SolverLanguagePackage.CALL__ARGUMENT_LIST: - setArgumentList((ArgumentList)null); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.CALL__FUNCTOR: - return functor != null; - case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: - return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT; - case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: - return reflexiveTransitiveClosure != REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT; - case SolverLanguagePackage.CALL__ARGUMENT_LIST: - return argumentList != null; - } - 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 deleted file mode 100644 index 47245831..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java +++ /dev/null @@ -1,269 +0,0 @@ -/** - * 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/ClassDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java deleted file mode 100644 index f0a81764..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java +++ /dev/null @@ -1,340 +0,0 @@ -/** - * 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.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.EObjectResolvingEList; -import org.eclipse.emf.ecore.util.InternalEList; - -import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition; -import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition; -import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Class Definition'. - * - *

- * The following features are implemented: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#isAbstract Abstract}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getName Name}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getSuperclasses Superclasses}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getMembers Members}
  • - *
- * - * @generated - */ -public class ClassDefinitionImpl extends StatementImpl implements ClassDefinition -{ - /** - * 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; - - /** - * - * - * @generated - */ - protected ClassDefinitionImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.CLASS_DEFINITION; - } - - /** - * - * - * @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_DEFINITION__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.CLASS_DEFINITION__NAME, oldName, name)); - } - - /** - * - * - * @generated - */ - @Override - public EList getSuperclasses() - { - if (superclasses == null) - { - superclasses = new EObjectResolvingEList(NamedElement.class, this, SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES); - } - return superclasses; - } - - /** - * - * - * @generated - */ - @Override - public EList getMembers() - { - if (members == null) - { - members = new EObjectContainmentEList(MemberDefinition.class, this, SolverLanguagePackage.CLASS_DEFINITION__MEMBERS); - } - return members; - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case SolverLanguagePackage.CLASS_DEFINITION__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.CLASS_DEFINITION__ABSTRACT: - return isAbstract(); - case SolverLanguagePackage.CLASS_DEFINITION__NAME: - return getName(); - case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES: - return getSuperclasses(); - case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS: - return getMembers(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT: - setAbstract((Boolean)newValue); - return; - case SolverLanguagePackage.CLASS_DEFINITION__NAME: - setName((String)newValue); - return; - case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES: - getSuperclasses().clear(); - getSuperclasses().addAll((Collection)newValue); - return; - case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS: - getMembers().clear(); - getMembers().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT: - setAbstract(ABSTRACT_EDEFAULT); - return; - case SolverLanguagePackage.CLASS_DEFINITION__NAME: - setName(NAME_EDEFAULT); - return; - case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES: - getSuperclasses().clear(); - return; - case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS: - getMembers().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT: - return abstract_ != ABSTRACT_EDEFAULT; - case SolverLanguagePackage.CLASS_DEFINITION__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES: - return superclasses != null && !superclasses.isEmpty(); - case SolverLanguagePackage.CLASS_DEFINITION__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(); - } - -} //ClassDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java deleted file mode 100644 index 9e62d7ef..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java +++ /dev/null @@ -1,343 +0,0 @@ -/** - * 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/ConjunctionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java deleted file mode 100644 index 6a1e995a..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java +++ /dev/null @@ -1,167 +0,0 @@ -/** - * 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/CountImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java deleted file mode 100644 index 1609245f..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java +++ /dev/null @@ -1,196 +0,0 @@ -/** - * 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/DefaultDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java deleted file mode 100644 index c1eaa71a..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java +++ /dev/null @@ -1,270 +0,0 @@ -/** - * 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/DisjunctionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java deleted file mode 100644 index ecdb14d8..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java +++ /dev/null @@ -1,167 +0,0 @@ -/** - * 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 deleted file mode 100644 index 1ebf38ad..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * 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/ExactMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java deleted file mode 100644 index 3751de39..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java +++ /dev/null @@ -1,179 +0,0 @@ -/** - * 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 deleted file mode 100644 index faf51904..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java +++ /dev/null @@ -1,179 +0,0 @@ -/** - * 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/ExpressionArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java deleted file mode 100644 index f83c1cb3..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java +++ /dev/null @@ -1,196 +0,0 @@ -/** - * 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 deleted file mode 100644 index 585e3c41..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * 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 deleted file mode 100644 index e324c38a..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java +++ /dev/null @@ -1,270 +0,0 @@ -/** - * 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 deleted file mode 100644 index 0605cb0f..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java +++ /dev/null @@ -1,196 +0,0 @@ -/** - * 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/IfElseImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java deleted file mode 100644 index 1b873568..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java +++ /dev/null @@ -1,342 +0,0 @@ -/** - * 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 deleted file mode 100644 index e796f5a0..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * 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/IntervalImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java deleted file mode 100644 index e6107ef8..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java +++ /dev/null @@ -1,269 +0,0 @@ -/** - * 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/LiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java deleted file mode 100644 index 2983566c..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * 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.Literal; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; - -/** - * - * An implementation of the model object 'Literal'. - * - * - * @generated - */ -public class LiteralImpl extends ExpressionImpl implements Literal -{ - /** - * - * - * @generated - */ - protected LiteralImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.LITERAL; - } - -} //LiteralImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java deleted file mode 100644 index 2bc27a20..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java +++ /dev/null @@ -1,180 +0,0 @@ -/** - * 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 deleted file mode 100644 index 5eb671f3..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java +++ /dev/null @@ -1,179 +0,0 @@ -/** - * 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 deleted file mode 100644 index c248b4ea..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * 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 deleted file mode 100644 index 69021347..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java +++ /dev/null @@ -1,463 +0,0 @@ -/** - * 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 deleted file mode 100644 index 8f84d2f1..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java +++ /dev/null @@ -1,343 +0,0 @@ -/** - * 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/MultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java deleted file mode 100644 index 935cf5be..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * 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 deleted file mode 100644 index a94f9894..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java +++ /dev/null @@ -1,180 +0,0 @@ -/** - * 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/NumericLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java deleted file mode 100644 index 04622dfb..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java +++ /dev/null @@ -1,181 +0,0 @@ -/** - * 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/ObjectiveDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java deleted file mode 100644 index 43b16e31..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java +++ /dev/null @@ -1,270 +0,0 @@ -/** - * 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/PredicateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java deleted file mode 100644 index 50130f01..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java +++ /dev/null @@ -1,400 +0,0 @@ -/** - * 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/ProblemImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java deleted file mode 100644 index 744e604d..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java +++ /dev/null @@ -1,169 +0,0 @@ -/** - * 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.Problem; -import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.Statement; - -/** - * - * An implementation of the model object 'Problem'. - * - *

- * The following features are implemented: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl#getStatements Statements}
  • - *
- * - * @generated - */ -public class ProblemImpl extends MinimalEObjectImpl.Container implements Problem -{ - /** - * The cached value of the '{@link #getStatements() Statements}' containment reference list. - * - * - * @see #getStatements() - * @generated - * @ordered - */ - protected EList statements; - - /** - * - * - * @generated - */ - protected ProblemImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.PROBLEM; - } - - /** - * - * - * @generated - */ - @Override - public EList getStatements() - { - if (statements == null) - { - statements = new EObjectContainmentEList(Statement.class, this, SolverLanguagePackage.PROBLEM__STATEMENTS); - } - return statements; - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case SolverLanguagePackage.PROBLEM__STATEMENTS: - return ((InternalEList)getStatements()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.PROBLEM__STATEMENTS: - return getStatements(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.PROBLEM__STATEMENTS: - getStatements().clear(); - getStatements().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.PROBLEM__STATEMENTS: - getStatements().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.PROBLEM__STATEMENTS: - return statements != null && !statements.isEmpty(); - } - return super.eIsSet(featureID); - } - -} //ProblemImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java deleted file mode 100644 index be44c0e9..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java +++ /dev/null @@ -1,175 +0,0 @@ -/** - * 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/ScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java deleted file mode 100644 index be109307..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java +++ /dev/null @@ -1,175 +0,0 @@ -/** - * 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 deleted file mode 100644 index 509d7568..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java +++ /dev/null @@ -1,894 +0,0 @@ -/** - * 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; - -import org.eclipse.emf.ecore.impl.EFactoryImpl; - -import org.eclipse.emf.ecore.plugin.EcorePlugin; - -import org.eclipse.viatra.solver.language.solverLanguage.*; - -/** - * - * An implementation of the model Factory. - * - * @generated - */ -public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLanguageFactory -{ - /** - * Creates the default factory implementation. - * - * - * @generated - */ - public static SolverLanguageFactory init() - { - try - { - SolverLanguageFactory theSolverLanguageFactory = (SolverLanguageFactory)EPackage.Registry.INSTANCE.getEFactory(SolverLanguagePackage.eNS_URI); - if (theSolverLanguageFactory != null) - { - return theSolverLanguageFactory; - } - } - catch (Exception exception) - { - EcorePlugin.INSTANCE.log(exception); - } - return new SolverLanguageFactoryImpl(); - } - - /** - * Creates an instance of the factory. - * - * - * @generated - */ - public SolverLanguageFactoryImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - public EObject create(EClass eClass) - { - switch (eClass.getClassifierID()) - { - case SolverLanguagePackage.PROBLEM: return createProblem(); - case SolverLanguagePackage.STATEMENT: return createStatement(); - 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.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.CLASS_DEFINITION: return createClassDefinition(); - 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"); - } - } - - /** - * - * - * @generated - */ - @Override - public Problem createProblem() - { - ProblemImpl problem = new ProblemImpl(); - return problem; - } - - /** - * - * - * @generated - */ - @Override - public Statement createStatement() - { - StatementImpl statement = new StatementImpl(); - return statement; - } - - /** - * - * - * @generated - */ - @Override - public PredicateDefinition createPredicateDefinition() - { - PredicateDefinitionImpl predicateDefinition = new PredicateDefinitionImpl(); - return predicateDefinition; - } - - /** - * - * - * @generated - */ - @Override - public UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition() - { - UnnamedErrorPrediateDefinitionImpl unnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionImpl(); - return unnamedErrorPrediateDefinition; - } - - /** - * - * - * @generated - */ - @Override - public DefaultDefinition createDefaultDefinition() - { - DefaultDefinitionImpl defaultDefinition = new DefaultDefinitionImpl(); - return defaultDefinition; - } - - /** - * - * - * @generated - */ - @Override - public ExternPredicateDefinition createExternPredicateDefinition() - { - ExternPredicateDefinitionImpl externPredicateDefinition = new ExternPredicateDefinitionImpl(); - return externPredicateDefinition; - } - - /** - * - * - * @generated - */ - @Override - public MetricDefinition createMetricDefinition() - { - MetricDefinitionImpl metricDefinition = new MetricDefinitionImpl(); - return metricDefinition; - } - - /** - * - * - * @generated - */ - @Override - public ExternMetricDefinition createExternMetricDefinition() - { - ExternMetricDefinitionImpl externMetricDefinition = new ExternMetricDefinitionImpl(); - return externMetricDefinition; - } - - /** - * - * - * @generated - */ - @Override - public Expression createExpression() - { - ExpressionImpl expression = new ExpressionImpl(); - return expression; - } - - /** - * - * - * @generated - */ - @Override - public IfElse createIfElse() - { - IfElseImpl ifElse = new IfElseImpl(); - return ifElse; - } - - /** - * - * - * @generated - */ - @Override - public Case createCase() - { - CaseImpl case_ = new CaseImpl(); - return case_; - } - - /** - * - * - * @generated - */ - @Override - public Count createCount() - { - CountImpl count = new CountImpl(); - return count; - } - - /** - * - * - * @generated - */ - @Override - public Aggregation createAggregation() - { - AggregationImpl aggregation = new AggregationImpl(); - return aggregation; - } - - /** - * - * - * @generated - */ - @Override - public Call createCall() - { - CallImpl call = new CallImpl(); - return call; - } - - /** - * - * - * @generated - */ - @Override - public ArgumentList createArgumentList() - { - ArgumentListImpl argumentList = new ArgumentListImpl(); - return argumentList; - } - - /** - * - * - * @generated - */ - @Override - public Argument createArgument() - { - ArgumentImpl argument = new ArgumentImpl(); - return argument; - } - - /** - * - * - * @generated - */ - @Override - public ExpressionArgument createExpressionArgument() - { - ExpressionArgumentImpl expressionArgument = new ExpressionArgumentImpl(); - return expressionArgument; - } - - /** - * - * - * @generated - */ - @Override - public StarArgument createStarArgument() - { - StarArgumentImpl starArgument = new StarArgumentImpl(); - return starArgument; - } - - /** - * - * - * @generated - */ - @Override - public TypedArgument createTypedArgument() - { - TypedArgumentImpl typedArgument = new TypedArgumentImpl(); - return typedArgument; - } - - /** - * - * - * @generated - */ - @Override - public TypedStarArgument createTypedStarArgument() - { - TypedStarArgumentImpl typedStarArgument = new TypedStarArgumentImpl(); - return typedStarArgument; - } - - /** - * - * - * @generated - */ - @Override - public Reference createReference() - { - ReferenceImpl reference = new ReferenceImpl(); - return reference; - } - - /** - * - * - * @generated - */ - @Override - public Interval createInterval() - { - IntervalImpl interval = new IntervalImpl(); - return interval; - } - - /** - * - * - * @generated - */ - @Override - public Literal createLiteral() - { - LiteralImpl literal = new LiteralImpl(); - return literal; - } - - /** - * - * - * @generated - */ - @Override - public LogicLiteral createLogicLiteral() - { - LogicLiteralImpl logicLiteral = new LogicLiteralImpl(); - return logicLiteral; - } - - /** - * - * - * @generated - */ - @Override - public NumericLiteral createNumericLiteral() - { - NumericLiteralImpl numericLiteral = new NumericLiteralImpl(); - return numericLiteral; - } - - /** - * - * - * @generated - */ - @Override - public InfinityLiteral createInfinityLiteral() - { - InfinityLiteralImpl infinityLiteral = new InfinityLiteralImpl(); - return infinityLiteral; - } - - /** - * - * - * @generated - */ - @Override - public EmptyIntervalLiteral createEmptyIntervalLiteral() - { - EmptyIntervalLiteralImpl emptyIntervalLiteral = new EmptyIntervalLiteralImpl(); - return emptyIntervalLiteral; - } - - /** - * - * - * @generated - */ - @Override - public StringLiteral createStringLiteral() - { - StringLiteralImpl stringLiteral = new StringLiteralImpl(); - return stringLiteral; - } - - /** - * - * - * @generated - */ - @Override - public ClassDefinition createClassDefinition() - { - ClassDefinitionImpl classDefinition = new ClassDefinitionImpl(); - return classDefinition; - } - - /** - * - * - * @generated - */ - @Override - public MemberDefinition createMemberDefinition() - { - MemberDefinitionImpl memberDefinition = new MemberDefinitionImpl(); - return memberDefinition; - } - - /** - * - * - * @generated - */ - @Override - public Multiplicity createMultiplicity() - { - MultiplicityImpl multiplicity = new MultiplicityImpl(); - return multiplicity; - } - - /** - * - * - * @generated - */ - @Override - public ManyMultiplicity createManyMultiplicity() - { - ManyMultiplicityImpl manyMultiplicity = new ManyMultiplicityImpl(); - return manyMultiplicity; - } - - /** - * - * - * @generated - */ - @Override - public ExactMultiplicity createExactMultiplicity() - { - ExactMultiplicityImpl exactMultiplicity = new ExactMultiplicityImpl(); - return exactMultiplicity; - } - - /** - * - * - * @generated - */ - @Override - public BoundedMultiplicity createBoundedMultiplicity() - { - BoundedMultiplicityImpl boundedMultiplicity = new BoundedMultiplicityImpl(); - return boundedMultiplicity; - } - - /** - * - * - * @generated - */ - @Override - public ScopeDefinition createScopeDefinition() - { - ScopeDefinitionImpl scopeDefinition = new ScopeDefinitionImpl(); - return scopeDefinition; - } - - /** - * - * - * @generated - */ - @Override - public ExactScopeDefinition createExactScopeDefinition() - { - ExactScopeDefinitionImpl exactScopeDefinition = new ExactScopeDefinitionImpl(); - return exactScopeDefinition; - } - - /** - * - * - * @generated - */ - @Override - public BoundedScopeDefinition createBoundedScopeDefinition() - { - BoundedScopeDefinitionImpl boundedScopeDefinition = new BoundedScopeDefinitionImpl(); - return boundedScopeDefinition; - } - - /** - * - * - * @generated - */ - @Override - public LowerBoundedScopeDefinition createLowerBoundedScopeDefinition() - { - LowerBoundedScopeDefinitionImpl lowerBoundedScopeDefinition = new LowerBoundedScopeDefinitionImpl(); - return lowerBoundedScopeDefinition; - } - - /** - * - * - * @generated - */ - @Override - public ObjectiveDefinition createObjectiveDefinition() - { - ObjectiveDefinitionImpl objectiveDefinition = new ObjectiveDefinitionImpl(); - return objectiveDefinition; - } - - /** - * - * - * @generated - */ - @Override - public NamedElement createNamedElement() - { - NamedElementImpl namedElement = new NamedElementImpl(); - return namedElement; - } - - /** - * - * - * @generated - */ - @Override - public Assertion createAssertion() - { - AssertionImpl assertion = new AssertionImpl(); - return assertion; - } - - /** - * - * - * @generated - */ - @Override - public Disjunction createDisjunction() - { - DisjunctionImpl disjunction = new DisjunctionImpl(); - return disjunction; - } - - /** - * - * - * @generated - */ - @Override - public Switch createSwitch() - { - SwitchImpl switch_ = new SwitchImpl(); - return switch_; - } - - /** - * - * - * @generated - */ - @Override - public Conjunction createConjunction() - { - ConjunctionImpl conjunction = new ConjunctionImpl(); - return conjunction; - } - - /** - * - * - * @generated - */ - @Override - public Comparison createComparison() - { - ComparisonImpl comparison = new ComparisonImpl(); - return comparison; - } - - /** - * - * - * @generated - */ - @Override - public BinaryExpression createBinaryExpression() - { - BinaryExpressionImpl binaryExpression = new BinaryExpressionImpl(); - return binaryExpression; - } - - /** - * - * - * @generated - */ - @Override - public UnaryExpression createUnaryExpression() - { - UnaryExpressionImpl unaryExpression = new UnaryExpressionImpl(); - return unaryExpression; - } - - /** - * - * - * @generated - */ - public MetricType createMetricTypeFromString(EDataType eDataType, String initialValue) - { - MetricType result = MetricType.get(initialValue); - if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); - return result; - } - - /** - * - * - * @generated - */ - public String convertMetricTypeToString(EDataType eDataType, Object instanceValue) - { - return instanceValue == null ? null : instanceValue.toString(); - } - - /** - * - * - * @generated - */ - public BinaryOperator createBinaryOperatorFromString(EDataType eDataType, String initialValue) - { - BinaryOperator result = BinaryOperator.get(initialValue); - if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); - return result; - } - - /** - * - * - * @generated - */ - public String convertBinaryOperatorToString(EDataType eDataType, Object instanceValue) - { - return instanceValue == null ? null : instanceValue.toString(); - } - - /** - * - * - * @generated - */ - public UnaryOp createUnaryOpFromString(EDataType eDataType, String initialValue) - { - UnaryOp result = UnaryOp.get(initialValue); - if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); - return result; - } - - /** - * - * - * @generated - */ - 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) - { - return instanceValue == null ? null : instanceValue.toString(); - } - - /** - * - * - * @generated - */ - @Override - public SolverLanguagePackage getSolverLanguagePackage() - { - return (SolverLanguagePackage)getEPackage(); - } - - /** - * - * - * @deprecated - * @generated - */ - @Deprecated - public static SolverLanguagePackage getPackage() - { - return SolverLanguagePackage.eINSTANCE; - } - -} //SolverLanguageFactoryImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java deleted file mode 100644 index 39f811b9..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java +++ /dev/null @@ -1,2379 +0,0 @@ -/** - * 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.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.ClassDefinition; -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.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.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.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; - -/** - * - * An implementation of the model Package. - * - * @generated - */ -public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLanguagePackage -{ - /** - * - * - * @generated - */ - private EClass problemEClass = null; - - /** - * - * - * @generated - */ - private EClass statementEClass = null; - - /** - * - * - * @generated - */ - private EClass predicateDefinitionEClass = null; - - /** - * - * - * @generated - */ - private EClass unnamedErrorPrediateDefinitionEClass = null; - - /** - * - * - * @generated - */ - private EClass defaultDefinitionEClass = null; - - /** - * - * - * @generated - */ - private EClass externPredicateDefinitionEClass = null; - - /** - * - * - * @generated - */ - private EClass metricDefinitionEClass = null; - - /** - * - * - * @generated - */ - private EClass externMetricDefinitionEClass = null; - - /** - * - * - * @generated - */ - private EClass expressionEClass = null; - - /** - * - * - * @generated - */ - private EClass ifElseEClass = null; - - /** - * - * - * @generated - */ - private EClass caseEClass = null; - - /** - * - * - * @generated - */ - private EClass countEClass = null; - - /** - * - * - * @generated - */ - private EClass aggregationEClass = null; - - /** - * - * - * @generated - */ - private EClass callEClass = null; - - /** - * - * - * @generated - */ - private EClass argumentListEClass = null; - - /** - * - * - * @generated - */ - private EClass argumentEClass = null; - - /** - * - * - * @generated - */ - private EClass expressionArgumentEClass = null; - - /** - * - * - * @generated - */ - private EClass starArgumentEClass = null; - - /** - * - * - * @generated - */ - private EClass typedArgumentEClass = null; - - /** - * - * - * @generated - */ - private EClass typedStarArgumentEClass = null; - - /** - * - * - * @generated - */ - private EClass referenceEClass = null; - - /** - * - * - * @generated - */ - private EClass intervalEClass = null; - - /** - * - * - * @generated - */ - private EClass literalEClass = null; - - /** - * - * - * @generated - */ - private EClass logicLiteralEClass = null; - - /** - * - * - * @generated - */ - private EClass numericLiteralEClass = null; - - /** - * - * - * @generated - */ - private EClass infinityLiteralEClass = null; - - /** - * - * - * @generated - */ - private EClass emptyIntervalLiteralEClass = null; - - /** - * - * - * @generated - */ - private EClass stringLiteralEClass = null; - - /** - * - * - * @generated - */ - private EClass classDefinitionEClass = null; - - /** - * - * - * @generated - */ - private EClass memberDefinitionEClass = null; - - /** - * - * - * @generated - */ - private EClass multiplicityEClass = null; - - /** - * - * - * @generated - */ - private EClass manyMultiplicityEClass = null; - - /** - * - * - * @generated - */ - private EClass exactMultiplicityEClass = null; - - /** - * - * - * @generated - */ - private EClass boundedMultiplicityEClass = null; - - /** - * - * - * @generated - */ - private EClass scopeDefinitionEClass = null; - - /** - * - * - * @generated - */ - private EClass exactScopeDefinitionEClass = null; - - /** - * - * - * @generated - */ - private EClass boundedScopeDefinitionEClass = null; - - /** - * - * - * @generated - */ - private EClass lowerBoundedScopeDefinitionEClass = null; - - /** - * - * - * @generated - */ - private EClass objectiveDefinitionEClass = null; - - /** - * - * - * @generated - */ - private EClass namedElementEClass = null; - - /** - * - * - * @generated - */ - private EClass assertionEClass = null; - - /** - * - * - * @generated - */ - private EClass disjunctionEClass = null; - - /** - * - * - * @generated - */ - private EClass switchEClass = null; - - /** - * - * - * @generated - */ - private EClass conjunctionEClass = null; - - /** - * - * - * @generated - */ - private EClass comparisonEClass = null; - - /** - * - * - * @generated - */ - private EClass binaryExpressionEClass = null; - - /** - * - * - * @generated - */ - private EClass unaryExpressionEClass = null; - - /** - * - * - * @generated - */ - private EEnum metricTypeEEnum = null; - - /** - * - * - * @generated - */ - private EEnum binaryOperatorEEnum = null; - - /** - * - * - * @generated - */ - private EEnum unaryOpEEnum = null; - - /** - * - * - * @generated - */ - private EEnum aggregationOpEEnum = null; - - /** - * - * - * @generated - */ - private EEnum logicValueEEnum = null; - - /** - * - * - * @generated - */ - private EEnum objectiveKindEEnum = null; - - /** - * Creates an instance of the model Package, registered with - * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package - * package URI value. - *

Note: the correct way to create the package is via the static - * factory method {@link #init init()}, which also performs - * initialization of the package, or returns the registered package, - * if one already exists. - * - * - * @see org.eclipse.emf.ecore.EPackage.Registry - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#eNS_URI - * @see #init() - * @generated - */ - private SolverLanguagePackageImpl() - { - super(eNS_URI, SolverLanguageFactory.eINSTANCE); - } - - /** - * - * - * @generated - */ - private static boolean isInited = false; - - /** - * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. - * - *

This method is used to initialize {@link SolverLanguagePackage#eINSTANCE} when that field is accessed. - * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. - * - * - * @see #eNS_URI - * @see #createPackageContents() - * @see #initializePackageContents() - * @generated - */ - public static SolverLanguagePackage init() - { - if (isInited) return (SolverLanguagePackage)EPackage.Registry.INSTANCE.getEPackage(SolverLanguagePackage.eNS_URI); - - // Obtain or create and register package - Object registeredSolverLanguagePackage = EPackage.Registry.INSTANCE.get(eNS_URI); - SolverLanguagePackageImpl theSolverLanguagePackage = registeredSolverLanguagePackage instanceof SolverLanguagePackageImpl ? (SolverLanguagePackageImpl)registeredSolverLanguagePackage : new SolverLanguagePackageImpl(); - - isInited = true; - - // Create package meta-data objects - theSolverLanguagePackage.createPackageContents(); - - // Initialize created meta-data - theSolverLanguagePackage.initializePackageContents(); - - // Mark meta-data to indicate it can't be changed - theSolverLanguagePackage.freeze(); - - // Update the registry and return the package - EPackage.Registry.INSTANCE.put(SolverLanguagePackage.eNS_URI, theSolverLanguagePackage); - return theSolverLanguagePackage; - } - - /** - * - * - * @generated - */ - @Override - public EClass getProblem() - { - return problemEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getProblem_Statements() - { - return (EReference)problemEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EClass getStatement() - { - return statementEClass; - } - - /** - * - * - * @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 unnamedErrorPrediateDefinitionEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getUnnamedErrorPrediateDefinition_ArgumentList() - { - return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EReference getUnnamedErrorPrediateDefinition_Body() - { - return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EClass getDefaultDefinition() - { - return defaultDefinitionEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getDefaultDefinition_Head() - { - return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EReference getDefaultDefinition_Range() - { - return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EClass getExternPredicateDefinition() - { - return externPredicateDefinitionEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getExternPredicateDefinition_Head() - { - return (EReference)externPredicateDefinitionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EClass getMetricDefinition() - { - return metricDefinitionEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getMetricDefinition_Head() - { - return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EReference getMetricDefinition_Body() - { - return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getMetricDefinition_Type() - { - return (EAttribute)metricDefinitionEClass.getEStructuralFeatures().get(2); - } - - /** - * - * - * @generated - */ - @Override - public EClass getExternMetricDefinition() - { - return externMetricDefinitionEClass; - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getExternMetricDefinition_Type() - { - return (EAttribute)externMetricDefinitionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EReference getExternMetricDefinition_Head() - { - return (EReference)externMetricDefinitionEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EClass getExpression() - { - return expressionEClass; - } - - /** - * - * - * @generated - */ - @Override - public EClass getIfElse() - { - return ifElseEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getIfElse_Condition() - { - return (EReference)ifElseEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EReference getIfElse_Then() - { - return (EReference)ifElseEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EReference getIfElse_Else() - { - return (EReference)ifElseEClass.getEStructuralFeatures().get(2); - } - - /** - * - * - * @generated - */ - @Override - public EClass getCase() - { - return caseEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getCase_Condition() - { - return (EReference)caseEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EReference getCase_Body() - { - return (EReference)caseEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EClass getCount() - { - return countEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getCount_Body() - { - return (EReference)countEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EClass getAggregation() - { - return aggregationEClass; - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getAggregation_Op() - { - return (EAttribute)aggregationEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EReference getAggregation_Body() - { - return (EReference)aggregationEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EReference getAggregation_Condition() - { - return (EReference)aggregationEClass.getEStructuralFeatures().get(2); - } - - /** - * - * - * @generated - */ - @Override - public EClass getCall() - { - return callEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getCall_Functor() - { - return (EReference)callEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getCall_TransitiveClosure() - { - return (EAttribute)callEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getCall_ReflexiveTransitiveClosure() - { - return (EAttribute)callEClass.getEStructuralFeatures().get(2); - } - - /** - * - * - * @generated - */ - @Override - public EReference getCall_ArgumentList() - { - return (EReference)callEClass.getEStructuralFeatures().get(3); - } - - /** - * - * - * @generated - */ - @Override - public EClass getArgumentList() - { - return argumentListEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getArgumentList_Arguments() - { - return (EReference)argumentListEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EClass getArgument() - { - return argumentEClass; - } - - /** - * - * - * @generated - */ - @Override - public EClass getExpressionArgument() - { - return expressionArgumentEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getExpressionArgument_Body() - { - return (EReference)expressionArgumentEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EClass getStarArgument() - { - return starArgumentEClass; - } - - /** - * - * - * @generated - */ - @Override - public EClass getTypedArgument() - { - return typedArgumentEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getTypedArgument_Type() - { - return (EReference)typedArgumentEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EReference getTypedArgument_Variable() - { - return (EReference)typedArgumentEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EClass getTypedStarArgument() - { - return typedStarArgumentEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getTypedStarArgument_Type() - { - return (EReference)typedStarArgumentEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EClass getReference() - { - return referenceEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getReference_Referred() - { - return (EReference)referenceEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EClass getInterval() - { - return intervalEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getInterval_LowerBound() - { - return (EReference)intervalEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EReference getInterval_UpperBound() - { - return (EReference)intervalEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EClass getLiteral() - { - return literalEClass; - } - - /** - * - * - * @generated - */ - @Override - 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 getClassDefinition() - { - return classDefinitionEClass; - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getClassDefinition_Abstract() - { - return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getClassDefinition_Name() - { - return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EReference getClassDefinition_Superclasses() - { - return (EReference)classDefinitionEClass.getEStructuralFeatures().get(2); - } - - /** - * - * - * @generated - */ - @Override - public EReference getClassDefinition_Members() - { - return (EReference)classDefinitionEClass.getEStructuralFeatures().get(3); - } - - /** - * - * - * @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 boundedMultiplicityEClass; - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getBoundedMultiplicity_LowerBound() - { - return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getBoundedMultiplicity_UpperBound() - { - return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EClass getScopeDefinition() - { - return scopeDefinitionEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getScopeDefinition_Type() - { - return (EReference)scopeDefinitionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EClass getExactScopeDefinition() - { - return exactScopeDefinitionEClass; - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getExactScopeDefinition_ExactScope() - { - return (EAttribute)exactScopeDefinitionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EClass getBoundedScopeDefinition() - { - return boundedScopeDefinitionEClass; - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getBoundedScopeDefinition_LowerBound() - { - return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getBoundedScopeDefinition_UpperBound() - { - return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EClass getLowerBoundedScopeDefinition() - { - return lowerBoundedScopeDefinitionEClass; - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getLowerBoundedScopeDefinition_LowerBound() - { - return (EAttribute)lowerBoundedScopeDefinitionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EClass getObjectiveDefinition() - { - return objectiveDefinitionEClass; - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getObjectiveDefinition_Kind() - { - return (EAttribute)objectiveDefinitionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EReference getObjectiveDefinition_Objective() - { - return (EReference)objectiveDefinitionEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EClass getNamedElement() - { - return namedElementEClass; - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getNamedElement_Name() - { - return (EAttribute)namedElementEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EClass getAssertion() - { - return assertionEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getAssertion_Body() - { - return (EReference)assertionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EReference getAssertion_Range() - { - return (EReference)assertionEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EClass getDisjunction() - { - return disjunctionEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getDisjunction_Children() - { - return (EReference)disjunctionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EClass getSwitch() - { - return switchEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getSwitch_Cases() - { - return (EReference)switchEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EClass getConjunction() - { - return conjunctionEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getConjunction_Children() - { - return (EReference)conjunctionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EClass getComparison() - { - return comparisonEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getComparison_Left() - { - return (EReference)comparisonEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getComparison_Op() - { - return (EAttribute)comparisonEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EReference getComparison_Right() - { - return (EReference)comparisonEClass.getEStructuralFeatures().get(2); - } - - /** - * - * - * @generated - */ - @Override - public EClass getBinaryExpression() - { - return binaryExpressionEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getBinaryExpression_Left() - { - return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getBinaryExpression_Op() - { - return (EAttribute)binaryExpressionEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EReference getBinaryExpression_Right() - { - return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(2); - } - - /** - * - * - * @generated - */ - @Override - public EClass getUnaryExpression() - { - return unaryExpressionEClass; - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getUnaryExpression_Op() - { - return (EAttribute)unaryExpressionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EReference getUnaryExpression_Body() - { - return (EReference)unaryExpressionEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EEnum getMetricType() - { - return metricTypeEEnum; - } - - /** - * - * - * @generated - */ - @Override - public EEnum getBinaryOperator() - { - return binaryOperatorEEnum; - } - - /** - * - * - * @generated - */ - @Override - public EEnum getUnaryOp() - { - return unaryOpEEnum; - } - - /** - * - * - * @generated - */ - @Override - public EEnum getAggregationOp() - { - return aggregationOpEEnum; - } - - /** - * - * - * @generated - */ - @Override - public EEnum getLogicValue() - { - return logicValueEEnum; - } - - /** - * - * - * @generated - */ - @Override - public EEnum getObjectiveKind() - { - return objectiveKindEEnum; - } - - /** - * - * - * @generated - */ - @Override - public SolverLanguageFactory getSolverLanguageFactory() - { - return (SolverLanguageFactory)getEFactoryInstance(); - } - - /** - * - * - * @generated - */ - private boolean isCreated = false; - - /** - * Creates the meta-model objects for the package. This method is - * guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void createPackageContents() - { - if (isCreated) return; - isCreated = true; - - // Create classes and their features - problemEClass = createEClass(PROBLEM); - createEReference(problemEClass, PROBLEM__STATEMENTS); - - statementEClass = createEClass(STATEMENT); - - predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION); - createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__HEAD); - createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__BODY); - createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__FUNCTIONAL); - createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__ERROR); - - unnamedErrorPrediateDefinitionEClass = createEClass(UNNAMED_ERROR_PREDIATE_DEFINITION); - createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST); - createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__BODY); - - defaultDefinitionEClass = createEClass(DEFAULT_DEFINITION); - createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__HEAD); - createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__RANGE); - - externPredicateDefinitionEClass = createEClass(EXTERN_PREDICATE_DEFINITION); - createEReference(externPredicateDefinitionEClass, EXTERN_PREDICATE_DEFINITION__HEAD); - - metricDefinitionEClass = createEClass(METRIC_DEFINITION); - createEReference(metricDefinitionEClass, METRIC_DEFINITION__HEAD); - createEReference(metricDefinitionEClass, METRIC_DEFINITION__BODY); - createEAttribute(metricDefinitionEClass, METRIC_DEFINITION__TYPE); - - externMetricDefinitionEClass = createEClass(EXTERN_METRIC_DEFINITION); - createEAttribute(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__TYPE); - createEReference(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__HEAD); - - expressionEClass = createEClass(EXPRESSION); - - ifElseEClass = createEClass(IF_ELSE); - createEReference(ifElseEClass, IF_ELSE__CONDITION); - createEReference(ifElseEClass, IF_ELSE__THEN); - createEReference(ifElseEClass, IF_ELSE__ELSE); - - caseEClass = createEClass(CASE); - createEReference(caseEClass, CASE__CONDITION); - createEReference(caseEClass, CASE__BODY); - - countEClass = createEClass(COUNT); - createEReference(countEClass, COUNT__BODY); - - aggregationEClass = createEClass(AGGREGATION); - createEAttribute(aggregationEClass, AGGREGATION__OP); - createEReference(aggregationEClass, AGGREGATION__BODY); - createEReference(aggregationEClass, AGGREGATION__CONDITION); - - callEClass = createEClass(CALL); - createEReference(callEClass, CALL__FUNCTOR); - createEAttribute(callEClass, CALL__TRANSITIVE_CLOSURE); - createEAttribute(callEClass, CALL__REFLEXIVE_TRANSITIVE_CLOSURE); - createEReference(callEClass, CALL__ARGUMENT_LIST); - - argumentListEClass = createEClass(ARGUMENT_LIST); - createEReference(argumentListEClass, ARGUMENT_LIST__ARGUMENTS); - - argumentEClass = createEClass(ARGUMENT); - - expressionArgumentEClass = createEClass(EXPRESSION_ARGUMENT); - createEReference(expressionArgumentEClass, EXPRESSION_ARGUMENT__BODY); - - starArgumentEClass = createEClass(STAR_ARGUMENT); - - typedArgumentEClass = createEClass(TYPED_ARGUMENT); - createEReference(typedArgumentEClass, TYPED_ARGUMENT__TYPE); - createEReference(typedArgumentEClass, TYPED_ARGUMENT__VARIABLE); - - typedStarArgumentEClass = createEClass(TYPED_STAR_ARGUMENT); - createEReference(typedStarArgumentEClass, TYPED_STAR_ARGUMENT__TYPE); - - referenceEClass = createEClass(REFERENCE); - createEReference(referenceEClass, REFERENCE__REFERRED); - - intervalEClass = createEClass(INTERVAL); - createEReference(intervalEClass, INTERVAL__LOWER_BOUND); - createEReference(intervalEClass, INTERVAL__UPPER_BOUND); - - literalEClass = createEClass(LITERAL); - - logicLiteralEClass = createEClass(LOGIC_LITERAL); - createEAttribute(logicLiteralEClass, LOGIC_LITERAL__VALUE); - - numericLiteralEClass = createEClass(NUMERIC_LITERAL); - createEAttribute(numericLiteralEClass, NUMERIC_LITERAL__VALUE); - - infinityLiteralEClass = createEClass(INFINITY_LITERAL); - - emptyIntervalLiteralEClass = createEClass(EMPTY_INTERVAL_LITERAL); - - stringLiteralEClass = createEClass(STRING_LITERAL); - createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE); - - classDefinitionEClass = createEClass(CLASS_DEFINITION); - createEAttribute(classDefinitionEClass, CLASS_DEFINITION__ABSTRACT); - createEAttribute(classDefinitionEClass, CLASS_DEFINITION__NAME); - createEReference(classDefinitionEClass, CLASS_DEFINITION__SUPERCLASSES); - createEReference(classDefinitionEClass, CLASS_DEFINITION__MEMBERS); - - 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); - - multiplicityEClass = createEClass(MULTIPLICITY); - - manyMultiplicityEClass = createEClass(MANY_MULTIPLICITY); - - exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY); - createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__MULTIPLICITY); - - boundedMultiplicityEClass = createEClass(BOUNDED_MULTIPLICITY); - createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__LOWER_BOUND); - createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__UPPER_BOUND); - - scopeDefinitionEClass = createEClass(SCOPE_DEFINITION); - createEReference(scopeDefinitionEClass, SCOPE_DEFINITION__TYPE); - - exactScopeDefinitionEClass = createEClass(EXACT_SCOPE_DEFINITION); - createEAttribute(exactScopeDefinitionEClass, EXACT_SCOPE_DEFINITION__EXACT_SCOPE); - - boundedScopeDefinitionEClass = createEClass(BOUNDED_SCOPE_DEFINITION); - createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__LOWER_BOUND); - createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__UPPER_BOUND); - - lowerBoundedScopeDefinitionEClass = createEClass(LOWER_BOUNDED_SCOPE_DEFINITION); - createEAttribute(lowerBoundedScopeDefinitionEClass, LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND); - - objectiveDefinitionEClass = createEClass(OBJECTIVE_DEFINITION); - createEAttribute(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__KIND); - createEReference(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__OBJECTIVE); - - namedElementEClass = createEClass(NAMED_ELEMENT); - createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME); - - assertionEClass = createEClass(ASSERTION); - createEReference(assertionEClass, ASSERTION__BODY); - createEReference(assertionEClass, ASSERTION__RANGE); - - disjunctionEClass = createEClass(DISJUNCTION); - createEReference(disjunctionEClass, DISJUNCTION__CHILDREN); - - switchEClass = createEClass(SWITCH); - createEReference(switchEClass, SWITCH__CASES); - - conjunctionEClass = createEClass(CONJUNCTION); - createEReference(conjunctionEClass, CONJUNCTION__CHILDREN); - - comparisonEClass = createEClass(COMPARISON); - createEReference(comparisonEClass, COMPARISON__LEFT); - createEAttribute(comparisonEClass, COMPARISON__OP); - createEReference(comparisonEClass, COMPARISON__RIGHT); - - binaryExpressionEClass = createEClass(BINARY_EXPRESSION); - createEReference(binaryExpressionEClass, BINARY_EXPRESSION__LEFT); - createEAttribute(binaryExpressionEClass, BINARY_EXPRESSION__OP); - createEReference(binaryExpressionEClass, BINARY_EXPRESSION__RIGHT); - - unaryExpressionEClass = createEClass(UNARY_EXPRESSION); - createEAttribute(unaryExpressionEClass, UNARY_EXPRESSION__OP); - createEReference(unaryExpressionEClass, UNARY_EXPRESSION__BODY); - - // 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); - } - - /** - * - * - * @generated - */ - private boolean isInitialized = false; - - /** - * Complete the initialization of the package and its meta-model. This - * method is guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void initializePackageContents() - { - if (isInitialized) return; - isInitialized = true; - - // Initialize package - setName(eNAME); - setNsPrefix(eNS_PREFIX); - setNsURI(eNS_URI); - - // Create type parameters - - // Set bounds for type parameters - - // Add supertypes to classes - 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()); - classDefinitionEClass.getESuperTypes().add(this.getStatement()); - 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); - - 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(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(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(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(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(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(expressionEClass, Expression.class, "Expression", !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(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(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(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(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); - 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); - 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); - - 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(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - 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(starArgumentEClass, StarArgument.class, "StarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - 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(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(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(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(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(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(infinityLiteralEClass, InfinityLiteral.class, "InfinityLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - initEClass(emptyIntervalLiteralEClass, EmptyIntervalLiteral.class, "EmptyIntervalLiteral", !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(classDefinitionEClass, ClassDefinition.class, "ClassDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getClassDefinition_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getClassDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getClassDefinition_Superclasses(), this.getNamedElement(), null, "superclasses", null, 0, -1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getClassDefinition_Members(), this.getMemberDefinition(), null, "members", null, 0, -1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - 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); - } - -} //SolverLanguagePackageImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java deleted file mode 100644 index b0cecaab..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * 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 deleted file mode 100644 index d349d1a4..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * 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.SolverLanguagePackage; -import org.eclipse.viatra.solver.language.solverLanguage.Statement; - -/** - * - * An implementation of the model object 'Statement'. - * - * - * @generated - */ -public class StatementImpl extends MinimalEObjectImpl.Container implements Statement -{ - /** - * - * - * @generated - */ - protected StatementImpl() - { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() - { - return SolverLanguagePackage.Literals.STATEMENT; - } - -} //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 deleted file mode 100644 index 2b0b2720..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java +++ /dev/null @@ -1,179 +0,0 @@ -/** - * 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/SwitchImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java deleted file mode 100644 index fefd5be6..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java +++ /dev/null @@ -1,167 +0,0 @@ -/** - * 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/TypedArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java deleted file mode 100644 index 2d93f402..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java +++ /dev/null @@ -1,242 +0,0 @@ -/** - * 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 deleted file mode 100644 index dd2b46bc..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java +++ /dev/null @@ -1,175 +0,0 @@ -/** - * 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 deleted file mode 100644 index ee5ebfbb..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java +++ /dev/null @@ -1,270 +0,0 @@ -/** - * 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/UnnamedErrorPrediateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java deleted file mode 100644 index cd6a3271..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java +++ /dev/null @@ -1,270 +0,0 @@ -/** - * 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/util/SolverLanguageAdapterFactory.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java deleted file mode 100644 index 37b20718..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java +++ /dev/null @@ -1,1053 +0,0 @@ -/** - * generated by Xtext 2.21.0 - */ -package org.eclipse.viatra.solver.language.solverLanguage.util; - -import org.eclipse.emf.common.notify.Adapter; -import org.eclipse.emf.common.notify.Notifier; - -import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; - -import org.eclipse.emf.ecore.EObject; - -import org.eclipse.viatra.solver.language.solverLanguage.*; - -/** - * - * The Adapter Factory for the model. - * It provides an adapter createXXX method for each class of the model. - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage - * @generated - */ -public class SolverLanguageAdapterFactory extends AdapterFactoryImpl -{ - /** - * The cached model package. - * - * - * @generated - */ - protected static SolverLanguagePackage modelPackage; - - /** - * Creates an instance of the adapter factory. - * - * - * @generated - */ - public SolverLanguageAdapterFactory() - { - if (modelPackage == null) - { - modelPackage = SolverLanguagePackage.eINSTANCE; - } - } - - /** - * Returns whether this factory is applicable for the type of the object. - * - * This implementation returns true if the object is either the model's package or is an instance object of the model. - * - * @return whether this factory is applicable for the type of the object. - * @generated - */ - @Override - public boolean isFactoryForType(Object object) - { - if (object == modelPackage) - { - return true; - } - if (object instanceof EObject) - { - return ((EObject)object).eClass().getEPackage() == modelPackage; - } - return false; - } - - /** - * The switch that delegates to the createXXX methods. - * - * - * @generated - */ - protected SolverLanguageSwitch modelSwitch = - new SolverLanguageSwitch() - { - @Override - public Adapter caseProblem(Problem object) - { - return createProblemAdapter(); - } - @Override - public Adapter caseStatement(Statement object) - { - return createStatementAdapter(); - } - @Override - public Adapter casePredicateDefinition(PredicateDefinition object) - { - return createPredicateDefinitionAdapter(); - } - @Override - public Adapter caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object) - { - return createUnnamedErrorPrediateDefinitionAdapter(); - } - @Override - public Adapter caseDefaultDefinition(DefaultDefinition object) - { - return createDefaultDefinitionAdapter(); - } - @Override - public Adapter caseExternPredicateDefinition(ExternPredicateDefinition object) - { - return createExternPredicateDefinitionAdapter(); - } - @Override - public Adapter caseMetricDefinition(MetricDefinition object) - { - return createMetricDefinitionAdapter(); - } - @Override - public Adapter caseExternMetricDefinition(ExternMetricDefinition object) - { - return createExternMetricDefinitionAdapter(); - } - @Override - public Adapter caseExpression(Expression object) - { - return createExpressionAdapter(); - } - @Override - public Adapter caseIfElse(IfElse object) - { - return createIfElseAdapter(); - } - @Override - public Adapter caseCase(Case object) - { - return createCaseAdapter(); - } - @Override - public Adapter caseCount(Count object) - { - return createCountAdapter(); - } - @Override - public Adapter caseAggregation(Aggregation object) - { - return createAggregationAdapter(); - } - @Override - public Adapter caseCall(Call object) - { - return createCallAdapter(); - } - @Override - public Adapter caseArgumentList(ArgumentList object) - { - return createArgumentListAdapter(); - } - @Override - public Adapter caseArgument(Argument object) - { - return createArgumentAdapter(); - } - @Override - public Adapter caseExpressionArgument(ExpressionArgument object) - { - return createExpressionArgumentAdapter(); - } - @Override - public Adapter caseStarArgument(StarArgument object) - { - return createStarArgumentAdapter(); - } - @Override - public Adapter caseTypedArgument(TypedArgument object) - { - return createTypedArgumentAdapter(); - } - @Override - public Adapter caseTypedStarArgument(TypedStarArgument object) - { - return createTypedStarArgumentAdapter(); - } - @Override - public Adapter caseReference(Reference object) - { - return createReferenceAdapter(); - } - @Override - public Adapter caseInterval(Interval object) - { - return createIntervalAdapter(); - } - @Override - public Adapter caseLiteral(Literal object) - { - return createLiteralAdapter(); - } - @Override - public Adapter caseLogicLiteral(LogicLiteral object) - { - return createLogicLiteralAdapter(); - } - @Override - public Adapter caseNumericLiteral(NumericLiteral object) - { - return createNumericLiteralAdapter(); - } - @Override - public Adapter caseInfinityLiteral(InfinityLiteral object) - { - return createInfinityLiteralAdapter(); - } - @Override - public Adapter caseEmptyIntervalLiteral(EmptyIntervalLiteral object) - { - return createEmptyIntervalLiteralAdapter(); - } - @Override - public Adapter caseStringLiteral(StringLiteral object) - { - return createStringLiteralAdapter(); - } - @Override - public Adapter caseClassDefinition(ClassDefinition object) - { - return createClassDefinitionAdapter(); - } - @Override - public Adapter caseMemberDefinition(MemberDefinition object) - { - return createMemberDefinitionAdapter(); - } - @Override - public Adapter caseMultiplicity(Multiplicity object) - { - return createMultiplicityAdapter(); - } - @Override - public Adapter caseManyMultiplicity(ManyMultiplicity object) - { - return createManyMultiplicityAdapter(); - } - @Override - public Adapter caseExactMultiplicity(ExactMultiplicity object) - { - return createExactMultiplicityAdapter(); - } - @Override - public Adapter caseBoundedMultiplicity(BoundedMultiplicity object) - { - return createBoundedMultiplicityAdapter(); - } - @Override - public Adapter caseScopeDefinition(ScopeDefinition object) - { - return createScopeDefinitionAdapter(); - } - @Override - public Adapter caseExactScopeDefinition(ExactScopeDefinition object) - { - return createExactScopeDefinitionAdapter(); - } - @Override - public Adapter caseBoundedScopeDefinition(BoundedScopeDefinition object) - { - return createBoundedScopeDefinitionAdapter(); - } - @Override - public Adapter caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object) - { - return createLowerBoundedScopeDefinitionAdapter(); - } - @Override - public Adapter caseObjectiveDefinition(ObjectiveDefinition object) - { - return createObjectiveDefinitionAdapter(); - } - @Override - public Adapter caseNamedElement(NamedElement object) - { - return createNamedElementAdapter(); - } - @Override - public Adapter caseAssertion(Assertion object) - { - return createAssertionAdapter(); - } - @Override - public Adapter caseDisjunction(Disjunction object) - { - return createDisjunctionAdapter(); - } - @Override - public Adapter caseSwitch(Switch object) - { - return createSwitchAdapter(); - } - @Override - public Adapter caseConjunction(Conjunction object) - { - return createConjunctionAdapter(); - } - @Override - public Adapter caseComparison(Comparison object) - { - return createComparisonAdapter(); - } - @Override - public Adapter caseBinaryExpression(BinaryExpression object) - { - return createBinaryExpressionAdapter(); - } - @Override - public Adapter caseUnaryExpression(UnaryExpression object) - { - return createUnaryExpressionAdapter(); - } - @Override - public Adapter defaultCase(EObject object) - { - return createEObjectAdapter(); - } - }; - - /** - * Creates an adapter for the target. - * - * - * @param target the object to adapt. - * @return the adapter for the target. - * @generated - */ - @Override - public Adapter createAdapter(Notifier target) - { - return modelSwitch.doSwitch((EObject)target); - } - - - /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem Problem}'. - * - * 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.Problem - * @generated - */ - public Adapter createProblemAdapter() - { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement Statement}'. - * - * 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.Statement - * @generated - */ - public Adapter createStatementAdapter() - { - return null; - } - - /** - * 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.PredicateDefinition - * @generated - */ - public Adapter createPredicateDefinitionAdapter() - { - return null; - } - - /** - * 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.UnnamedErrorPrediateDefinition - * @generated - */ - public Adapter createUnnamedErrorPrediateDefinitionAdapter() - { - return null; - } - - /** - * 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.DefaultDefinition - * @generated - */ - public Adapter createDefaultDefinitionAdapter() - { - return null; - } - - /** - * 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.ExternPredicateDefinition - * @generated - */ - public Adapter createExternPredicateDefinitionAdapter() - { - return null; - } - - /** - * 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.MetricDefinition - * @generated - */ - public Adapter createMetricDefinitionAdapter() - { - return null; - } - - /** - * 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.ExternMetricDefinition - * @generated - */ - public Adapter createExternMetricDefinitionAdapter() - { - return null; - } - - /** - * 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.Expression - * @generated - */ - public Adapter createExpressionAdapter() - { - return null; - } - - /** - * 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.IfElse - * @generated - */ - public Adapter createIfElseAdapter() - { - return null; - } - - /** - * 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.Case - * @generated - */ - public Adapter createCaseAdapter() - { - return null; - } - - /** - * 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.Count - * @generated - */ - public Adapter createCountAdapter() - { - return null; - } - - /** - * 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.Aggregation - * @generated - */ - public Adapter createAggregationAdapter() - { - return null; - } - - /** - * 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.Call - * @generated - */ - public Adapter createCallAdapter() - { - return null; - } - - /** - * 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.ArgumentList - * @generated - */ - public Adapter createArgumentListAdapter() - { - return null; - } - - /** - * 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.Argument - * @generated - */ - public Adapter createArgumentAdapter() - { - return null; - } - - /** - * 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.ExpressionArgument - * @generated - */ - public Adapter createExpressionArgumentAdapter() - { - return null; - } - - /** - * 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.StarArgument - * @generated - */ - public Adapter createStarArgumentAdapter() - { - return null; - } - - /** - * 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.TypedArgument - * @generated - */ - public Adapter createTypedArgumentAdapter() - { - return null; - } - - /** - * 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.TypedStarArgument - * @generated - */ - public Adapter createTypedStarArgumentAdapter() - { - return null; - } - - /** - * 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.Reference - * @generated - */ - public Adapter createReferenceAdapter() - { - return null; - } - - /** - * 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.Interval - * @generated - */ - public Adapter createIntervalAdapter() - { - return null; - } - - /** - * 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.Literal - * @generated - */ - public Adapter createLiteralAdapter() - { - return null; - } - - /** - * 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.LogicLiteral - * @generated - */ - public Adapter createLogicLiteralAdapter() - { - return null; - } - - /** - * 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.NumericLiteral - * @generated - */ - public Adapter createNumericLiteralAdapter() - { - return null; - } - - /** - * 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.InfinityLiteral - * @generated - */ - public Adapter createInfinityLiteralAdapter() - { - return null; - } - - /** - * 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.EmptyIntervalLiteral - * @generated - */ - public Adapter createEmptyIntervalLiteralAdapter() - { - return null; - } - - /** - * 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.StringLiteral - * @generated - */ - public Adapter createStringLiteralAdapter() - { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition Class 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.ClassDefinition - * @generated - */ - public Adapter createClassDefinitionAdapter() - { - return null; - } - - /** - * 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.MemberDefinition - * @generated - */ - public Adapter createMemberDefinitionAdapter() - { - return null; - } - - /** - * 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.Multiplicity - * @generated - */ - public Adapter createMultiplicityAdapter() - { - return null; - } - - /** - * 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.ManyMultiplicity - * @generated - */ - public Adapter createManyMultiplicityAdapter() - { - return null; - } - - /** - * 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.ExactMultiplicity - * @generated - */ - public Adapter createExactMultiplicityAdapter() - { - return null; - } - - /** - * 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.BoundedMultiplicity - * @generated - */ - public Adapter createBoundedMultiplicityAdapter() - { - return null; - } - - /** - * 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.ScopeDefinition - * @generated - */ - public Adapter createScopeDefinitionAdapter() - { - return null; - } - - /** - * 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.ExactScopeDefinition - * @generated - */ - public Adapter createExactScopeDefinitionAdapter() - { - return null; - } - - /** - * 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.BoundedScopeDefinition - * @generated - */ - public Adapter createBoundedScopeDefinitionAdapter() - { - return null; - } - - /** - * 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.LowerBoundedScopeDefinition - * @generated - */ - public Adapter createLowerBoundedScopeDefinitionAdapter() - { - return null; - } - - /** - * 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.ObjectiveDefinition - * @generated - */ - public Adapter createObjectiveDefinitionAdapter() - { - return null; - } - - /** - * 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.NamedElement - * @generated - */ - public Adapter createNamedElementAdapter() - { - return null; - } - - /** - * 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.Assertion - * @generated - */ - public Adapter createAssertionAdapter() - { - return null; - } - - /** - * 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.Disjunction - * @generated - */ - public Adapter createDisjunctionAdapter() - { - return null; - } - - /** - * 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.Switch - * @generated - */ - public Adapter createSwitchAdapter() - { - return null; - } - - /** - * 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.Conjunction - * @generated - */ - public Adapter createConjunctionAdapter() - { - return null; - } - - /** - * 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.Comparison - * @generated - */ - public Adapter createComparisonAdapter() - { - return null; - } - - /** - * 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.BinaryExpression - * @generated - */ - public Adapter createBinaryExpressionAdapter() - { - return null; - } - - /** - * 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.UnaryExpression - * @generated - */ - public Adapter createUnaryExpressionAdapter() - { - return null; - } - - /** - * Creates a new adapter for the default case. - * - * This default implementation returns null. - * - * @return the new adapter. - * @generated - */ - public Adapter createEObjectAdapter() - { - return null; - } - -} //SolverLanguageAdapterFactory diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java deleted file mode 100644 index 79a98ff7..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java +++ /dev/null @@ -1,1245 +0,0 @@ -/** - * generated by Xtext 2.21.0 - */ -package org.eclipse.viatra.solver.language.solverLanguage.util; - -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EPackage; - -import org.eclipse.emf.ecore.util.Switch; - -import org.eclipse.viatra.solver.language.solverLanguage.*; - -/** - * - * The Switch for the model's inheritance hierarchy. - * It supports the call {@link #doSwitch(EObject) doSwitch(object)} - * to invoke the caseXXX method for each class of the model, - * starting with the actual class of the object - * and proceeding up the inheritance hierarchy - * until a non-null result is returned, - * which is the result of the switch. - * - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage - * @generated - */ -public class SolverLanguageSwitch extends Switch -{ - /** - * The cached model package - * - * - * @generated - */ - protected static SolverLanguagePackage modelPackage; - - /** - * Creates an instance of the switch. - * - * - * @generated - */ - public SolverLanguageSwitch() - { - if (modelPackage == null) - { - modelPackage = SolverLanguagePackage.eINSTANCE; - } - } - - /** - * Checks whether this is a switch for the given package. - * - * - * @param ePackage the package in question. - * @return whether this is a switch for the given package. - * @generated - */ - @Override - protected boolean isSwitchFor(EPackage ePackage) - { - return ePackage == modelPackage; - } - - /** - * Calls caseXXX for each class of the model until one returns a non null result; it yields that result. - * - * - * @return the first non-null result returned by a caseXXX call. - * @generated - */ - @Override - protected T doSwitch(int classifierID, EObject theEObject) - { - switch (classifierID) - { - case SolverLanguagePackage.PROBLEM: - { - Problem problem = (Problem)theEObject; - T result = caseProblem(problem); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.STATEMENT: - { - Statement statement = (Statement)theEObject; - T result = caseStatement(statement); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.PREDICATE_DEFINITION: - { - PredicateDefinition predicateDefinition = (PredicateDefinition)theEObject; - T result = casePredicateDefinition(predicateDefinition); - if (result == null) result = caseStatement(predicateDefinition); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: - { - UnnamedErrorPrediateDefinition unnamedErrorPrediateDefinition = (UnnamedErrorPrediateDefinition)theEObject; - T result = caseUnnamedErrorPrediateDefinition(unnamedErrorPrediateDefinition); - if (result == null) result = caseStatement(unnamedErrorPrediateDefinition); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.DEFAULT_DEFINITION: - { - DefaultDefinition defaultDefinition = (DefaultDefinition)theEObject; - T result = caseDefaultDefinition(defaultDefinition); - if (result == null) result = caseStatement(defaultDefinition); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION: - { - ExternPredicateDefinition externPredicateDefinition = (ExternPredicateDefinition)theEObject; - T result = caseExternPredicateDefinition(externPredicateDefinition); - if (result == null) result = caseStatement(externPredicateDefinition); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.METRIC_DEFINITION: - { - MetricDefinition metricDefinition = (MetricDefinition)theEObject; - T result = caseMetricDefinition(metricDefinition); - if (result == null) result = caseStatement(metricDefinition); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: - { - ExternMetricDefinition externMetricDefinition = (ExternMetricDefinition)theEObject; - T result = caseExternMetricDefinition(externMetricDefinition); - if (result == null) result = caseStatement(externMetricDefinition); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.EXPRESSION: - { - Expression expression = (Expression)theEObject; - T result = caseExpression(expression); - if (result == null) result = caseStatement(expression); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.IF_ELSE: - { - 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.CASE: - { - 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.COUNT: - { - 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.AGGREGATION: - { - 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.CALL: - { - 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.ARGUMENT_LIST: - { - ArgumentList argumentList = (ArgumentList)theEObject; - T result = caseArgumentList(argumentList); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.ARGUMENT: - { - Argument argument = (Argument)theEObject; - T result = caseArgument(argument); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.EXPRESSION_ARGUMENT: - { - ExpressionArgument expressionArgument = (ExpressionArgument)theEObject; - T result = caseExpressionArgument(expressionArgument); - if (result == null) result = caseArgument(expressionArgument); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.STAR_ARGUMENT: - { - StarArgument starArgument = (StarArgument)theEObject; - T result = caseStarArgument(starArgument); - if (result == null) result = caseArgument(starArgument); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.TYPED_ARGUMENT: - { - TypedArgument typedArgument = (TypedArgument)theEObject; - T result = caseTypedArgument(typedArgument); - if (result == null) result = caseArgument(typedArgument); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.TYPED_STAR_ARGUMENT: - { - TypedStarArgument typedStarArgument = (TypedStarArgument)theEObject; - T result = caseTypedStarArgument(typedStarArgument); - if (result == null) result = caseArgument(typedStarArgument); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.REFERENCE: - { - 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.INTERVAL: - { - 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.LITERAL: - { - 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.LOGIC_LITERAL: - { - 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.NUMERIC_LITERAL: - { - 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.INFINITY_LITERAL: - { - 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.EMPTY_INTERVAL_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.STRING_LITERAL: - { - 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.CLASS_DEFINITION: - { - ClassDefinition classDefinition = (ClassDefinition)theEObject; - T result = caseClassDefinition(classDefinition); - if (result == null) result = caseStatement(classDefinition); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.MEMBER_DEFINITION: - { - MemberDefinition memberDefinition = (MemberDefinition)theEObject; - T result = caseMemberDefinition(memberDefinition); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.MULTIPLICITY: - { - Multiplicity multiplicity = (Multiplicity)theEObject; - T result = caseMultiplicity(multiplicity); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.MANY_MULTIPLICITY: - { - ManyMultiplicity manyMultiplicity = (ManyMultiplicity)theEObject; - T result = caseManyMultiplicity(manyMultiplicity); - if (result == null) result = caseMultiplicity(manyMultiplicity); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.EXACT_MULTIPLICITY: - { - ExactMultiplicity exactMultiplicity = (ExactMultiplicity)theEObject; - T result = caseExactMultiplicity(exactMultiplicity); - if (result == null) result = caseMultiplicity(exactMultiplicity); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.BOUNDED_MULTIPLICITY: - { - BoundedMultiplicity boundedMultiplicity = (BoundedMultiplicity)theEObject; - T result = caseBoundedMultiplicity(boundedMultiplicity); - if (result == null) result = caseMultiplicity(boundedMultiplicity); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.SCOPE_DEFINITION: - { - ScopeDefinition scopeDefinition = (ScopeDefinition)theEObject; - T result = caseScopeDefinition(scopeDefinition); - if (result == null) result = caseStatement(scopeDefinition); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.EXACT_SCOPE_DEFINITION: - { - 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.BOUNDED_SCOPE_DEFINITION: - { - 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.LOWER_BOUNDED_SCOPE_DEFINITION: - { - 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.OBJECTIVE_DEFINITION: - { - ObjectiveDefinition objectiveDefinition = (ObjectiveDefinition)theEObject; - T result = caseObjectiveDefinition(objectiveDefinition); - if (result == null) result = caseStatement(objectiveDefinition); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.NAMED_ELEMENT: - { - NamedElement namedElement = (NamedElement)theEObject; - T result = caseNamedElement(namedElement); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.ASSERTION: - { - Assertion assertion = (Assertion)theEObject; - T result = caseAssertion(assertion); - if (result == null) result = caseStatement(assertion); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.DISJUNCTION: - { - 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.SWITCH: - { - 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.CONJUNCTION: - { - 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.COMPARISON: - { - 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.BINARY_EXPRESSION: - { - 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.UNARY_EXPRESSION: - { - 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; - } - default: return defaultCase(theEObject); - } - } - - /** - * Returns the result of interpreting the object as an instance of 'Problem'. - * - * 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 'Problem'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseProblem(Problem object) - { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of 'Statement'. - * - * 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 'Statement'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseStatement(Statement object) - { - return null; - } - - /** - * 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 'Predicate Definition'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T casePredicateDefinition(PredicateDefinition object) - { - return null; - } - - /** - * 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 'Unnamed Error Prediate Definition'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object) - { - return null; - } - - /** - * 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 'Default Definition'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseDefaultDefinition(DefaultDefinition object) - { - return null; - } - - /** - * 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 'Extern Predicate Definition'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseExternPredicateDefinition(ExternPredicateDefinition object) - { - return null; - } - - /** - * 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 'Metric Definition'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseMetricDefinition(MetricDefinition object) - { - return null; - } - - /** - * 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 'Extern Metric Definition'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseExternMetricDefinition(ExternMetricDefinition object) - { - return null; - } - - /** - * 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 'Expression'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseExpression(Expression object) - { - return null; - } - - /** - * 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 'If Else'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseIfElse(IfElse object) - { - return null; - } - - /** - * 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 'Case'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseCase(Case object) - { - return null; - } - - /** - * 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 'Count'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseCount(Count object) - { - return null; - } - - /** - * 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 'Aggregation'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseAggregation(Aggregation object) - { - return null; - } - - /** - * 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 'Call'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseCall(Call object) - { - return null; - } - - /** - * 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 'Argument List'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseArgumentList(ArgumentList object) - { - return null; - } - - /** - * 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 'Argument'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseArgument(Argument object) - { - return null; - } - - /** - * 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 'Expression Argument'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseExpressionArgument(ExpressionArgument object) - { - return null; - } - - /** - * 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 'Star Argument'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseStarArgument(StarArgument object) - { - return null; - } - - /** - * 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 'Typed Argument'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseTypedArgument(TypedArgument object) - { - return null; - } - - /** - * 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 'Typed Star Argument'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseTypedStarArgument(TypedStarArgument object) - { - return null; - } - - /** - * 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 'Reference'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseReference(Reference object) - { - return null; - } - - /** - * 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 'Interval'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseInterval(Interval object) - { - return null; - } - - /** - * 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 'Literal'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseLiteral(Literal object) - { - return null; - } - - /** - * 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 'Logic Literal'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseLogicLiteral(LogicLiteral object) - { - return null; - } - - /** - * 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 'Numeric Literal'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseNumericLiteral(NumericLiteral object) - { - return null; - } - - /** - * 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 'Infinity Literal'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseInfinityLiteral(InfinityLiteral object) - { - return null; - } - - /** - * 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 'Empty Interval Literal'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseEmptyIntervalLiteral(EmptyIntervalLiteral object) - { - return null; - } - - /** - * 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 'String Literal'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseStringLiteral(StringLiteral object) - { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of 'Class 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 'Class Definition'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseClassDefinition(ClassDefinition object) - { - return null; - } - - /** - * 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 'Member Definition'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseMemberDefinition(MemberDefinition object) - { - return null; - } - - /** - * 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 'Multiplicity'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseMultiplicity(Multiplicity object) - { - return null; - } - - /** - * 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 'Many Multiplicity'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseManyMultiplicity(ManyMultiplicity object) - { - return null; - } - - /** - * 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 'Exact Multiplicity'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseExactMultiplicity(ExactMultiplicity object) - { - return null; - } - - /** - * 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 'Bounded Multiplicity'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseBoundedMultiplicity(BoundedMultiplicity object) - { - return null; - } - - /** - * 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 'Scope Definition'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseScopeDefinition(ScopeDefinition object) - { - return null; - } - - /** - * 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 'Exact Scope Definition'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseExactScopeDefinition(ExactScopeDefinition object) - { - return null; - } - - /** - * 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 'Bounded Scope Definition'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseBoundedScopeDefinition(BoundedScopeDefinition object) - { - return null; - } - - /** - * 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 'Lower Bounded Scope Definition'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object) - { - return null; - } - - /** - * 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 'Objective Definition'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseObjectiveDefinition(ObjectiveDefinition object) - { - return null; - } - - /** - * 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 'Named Element'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseNamedElement(NamedElement object) - { - return null; - } - - /** - * 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 'Assertion'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseAssertion(Assertion object) - { - return null; - } - - /** - * 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 'Disjunction'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseDisjunction(Disjunction object) - { - return null; - } - - /** - * 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 'Switch'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseSwitch(org.eclipse.viatra.solver.language.solverLanguage.Switch object) - { - return null; - } - - /** - * 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 'Conjunction'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseConjunction(Conjunction object) - { - return null; - } - - /** - * 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 'Comparison'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseComparison(Comparison object) - { - return null; - } - - /** - * 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 'Binary Expression'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseBinaryExpression(BinaryExpression object) - { - return null; - } - - /** - * 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 'Unary Expression'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseUnaryExpression(UnaryExpression object) - { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of 'EObject'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch, but this is the last case anyway. - * - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'EObject'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) - * @generated - */ - @Override - public T defaultCase(EObject object) - { - return null; - } - -} //SolverLanguageSwitch diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java index 55314a22..1bcc7538 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java @@ -13,7 +13,7 @@ public abstract class AbstractSolverLanguageValidator extends AbstractDeclarativ @Override protected List getEPackages() { List result = new ArrayList(); - result.add(org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage.eINSTANCE); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/viatra/solver/language/SolverLanguage")); return result; } } diff --git a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/GenerateSolverLanguage.mwe2 b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/GenerateSolverLanguage.mwe2 index 7f95e737..50072f0d 100644 --- a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/GenerateSolverLanguage.mwe2 +++ b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/GenerateSolverLanguage.mwe2 @@ -32,6 +32,7 @@ Workflow { language = StandardLanguage { name = "org.eclipse.viatra.solver.language.SolverLanguage" fileExtensions = "vsc" + referencedResource = "platform:/resource/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel" serializer = { generateStub = false diff --git a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext index 1306b626..d0578d78 100644 --- a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext +++ b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext @@ -1,22 +1,23 @@ grammar org.eclipse.viatra.solver.language.SolverLanguage with org.eclipse.xtext.common.Terminals import "http://www.eclipse.org/emf/2002/Ecore" as ecore -generate solverLanguage "http://www.eclipse.org/viatra/solver/language/SolverLanguage" +import "http://www.eclipse.org/viatra/solver/language/SolverLanguage" Problem: (statements+=Statement)*; Statement: ( - AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | ExternPredicateDefinition | - MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | ObjectiveDefinition + AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition | + ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition | + ClassDefinition | ScopeDefinition | ObjectiveDefinition ) FULL_STOP; AssertionOrDefinition returns Statement: Expression ( - {Assertion.body=current} (":" range=Expression)? | + {Interpretation.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; @@ -27,24 +28,42 @@ UnnamedErrorPrediateDefinition: DefaultDefinition: "default" head=Call ":" range=Expression; +MetricDefinition: + type=[NamedElement|QualifiedName] head=Call "=" body=Expression; + ExternPredicateDefinition: - "extern" head=Call; + "extern" name=QualifiedName argumentList=ArgumentList; -enum MetricType: - INT="int" | REAL="real"; +ExternMetricDefinition: + "extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList; -MetricDefinition: - type=MetricType head=Expression "=" body=Expression; +ExternAggregatorDefinition: + "extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}"; -ExternMetricDefinition: - "extern" type=MetricType head=Call; +ExternDatatypeDefinition: + "extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] ("," supertypes+=[NamedElement|QualifiedName])*); + +Variable: + type=[NamedElement|QualifiedName]? name=ID; Expression: - IfElse | DisjunctiveExpression; + IfElse | Let | ImplicationExpression; IfElse: "if" condition=Expression "then" then=Expression "else" else=Expression; +Let: + "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression; + +LetBinding: + variable=Variable "=" value=AdditiveExpression; + +enum ImplicationOperator returns BinaryOperator: + IMPLIES = "=>"; + +ImplicationExpression returns Expression: + DisjunctiveExpression ({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)?; + DisjunctiveExpression returns Expression: ConjunctiveExpression ( {Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ | @@ -57,9 +76,6 @@ Case: 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"; @@ -82,7 +98,10 @@ enum ExponentialOp returns BinaryOperator: POW="^"; ExponentialExpression returns Expression: - UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?; + CastExpression ({BinaryExpression.left=current} op=ExponentialOp right=CastExpression)?; + +CastExpression returns Expression: + UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?; enum UnaryOp: NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current"; @@ -91,16 +110,19 @@ UnaryExpression returns Expression: AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression; AggregationExpression returns Expression: - AtomicExpression | Count | Aggregation; + AtomicExpression | QuantifiedExpression | Aggregation; -Count: - "count" "{" body=Expression "}"; +LocalVariables: + {LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]"; -enum AggregationOp: - ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max"; +enum Quantifier: + EXISTS="exists" | FORALL="forall" | COUNT="count"; + +QuantifiedExpression: + quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}"; Aggregation: - op=AggregationOp "{" body=Expression "|" condition=Expression "}"; + op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}"; AtomicExpression returns Expression: Reference | Call | Interval | Literal | "(" Expression ")"; @@ -224,7 +246,4 @@ terminal REFLEXIVE_TRANSITIVE_CLOSURE: terminal FULL_STOP: "synthetic:FULL_STOP"; - -NamedElement: - name=QualifiedName; diff --git a/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/parser/antlr/.SolverLanguageTokenDefInjectingParser.xtendbin b/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/parser/antlr/.SolverLanguageTokenDefInjectingParser.xtendbin index d833165e..c8d4144d 100644 Binary files a/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/parser/antlr/.SolverLanguageTokenDefInjectingParser.xtendbin and b/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/parser/antlr/.SolverLanguageTokenDefInjectingParser.xtendbin differ diff --git a/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/serializer/.SolverLanguageSyntheticTokenSyntacticSequencer.xtendbin b/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/serializer/.SolverLanguageSyntheticTokenSyntacticSequencer.xtendbin index ff3dff94..b16c52f7 100644 Binary files a/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/serializer/.SolverLanguageSyntheticTokenSyntacticSequencer.xtendbin and b/Application/org.eclipse.viatra.solver.language/xtend-gen/org/eclipse/viatra/solver/language/serializer/.SolverLanguageSyntheticTokenSyntacticSequencer.xtendbin differ -- cgit v1.2.3-54-g00ecf